@pepperi-addons/ngx-lib 0.4.0-angular14.4 → 0.4.0-angular14.42

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 (220) hide show
  1. package/chip/chip.component.d.ts +18 -0
  2. package/chip/chip.module.d.ts +19 -0
  3. package/chip/index.d.ts +5 -0
  4. package/chip/public-api.d.ts +2 -0
  5. package/color/color-picker.component.d.ts +1 -1
  6. package/core/common/services/addon.service.d.ts +6 -9
  7. package/core/common/services/utilities.service.d.ts +5 -4
  8. package/core/customization/customization.model.d.ts +2 -0
  9. package/esm2020/address/address.component.mjs +1 -1
  10. package/esm2020/attachment/attachment.component.mjs +1 -1
  11. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  12. package/esm2020/chip/chip.component.mjs +36 -0
  13. package/esm2020/chip/chip.module.mjs +60 -0
  14. package/esm2020/chip/pepperi-addons-ngx-lib-chip.mjs +5 -0
  15. package/esm2020/chip/public-api.mjs +6 -0
  16. package/esm2020/color/color-picker.component.mjs +4 -4
  17. package/esm2020/color/color.component.mjs +1 -1
  18. package/esm2020/core/common/services/addon.service.mjs +44 -39
  19. package/esm2020/core/common/services/utilities.service.mjs +54 -11
  20. package/esm2020/core/customization/customization.model.mjs +2 -1
  21. package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
  22. package/esm2020/core/http/services/loader.service.mjs +4 -4
  23. package/esm2020/date/date.component.mjs +3 -3
  24. package/esm2020/field-title/field-title.component.mjs +6 -3
  25. package/esm2020/form/field-generator.component.mjs +7 -7
  26. package/esm2020/form/form.component.mjs +9 -2
  27. package/esm2020/form/form.module.mjs +8 -3
  28. package/esm2020/form/internal-button.component.mjs +1 -1
  29. package/esm2020/form/internal-carusel.component.mjs +11 -13
  30. package/esm2020/form/internal-field-generator.component.mjs +1 -1
  31. package/esm2020/form/internal-page.component.mjs +15 -18
  32. package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
  33. package/esm2020/icon/icon-generated-all.model.mjs +7 -1
  34. package/esm2020/icon/icon-generated.model.mjs +25 -1
  35. package/esm2020/image/image.component.mjs +1 -1
  36. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
  37. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
  38. package/esm2020/link/link.component.mjs +10 -11
  39. package/esm2020/list/list-pager.component.mjs +1 -1
  40. package/esm2020/menu/menu.component.mjs +11 -3
  41. package/esm2020/ngx-lib.module.mjs +4 -2
  42. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  43. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +5 -0
  44. package/esm2020/plugin/plugin-proxy.component.mjs +98 -0
  45. package/esm2020/plugin/plugin.model.mjs +2 -0
  46. package/esm2020/plugin/public-api.mjs +6 -0
  47. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  48. package/esm2020/quantity-selector/quantity-selector.component.mjs +2 -2
  49. package/esm2020/query-builder/common/services/query-structure.service.mjs +12 -10
  50. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  51. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  52. package/esm2020/query-builder/query-builder.module.mjs +8 -3
  53. package/esm2020/remote-loader/addon-block-loader.service.mjs +6 -7
  54. package/esm2020/remote-loader/remote-loader.component.mjs +26 -37
  55. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  56. package/esm2020/remote-loader/remote-loader.service.mjs +22 -21
  57. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  58. package/esm2020/select/select.component.mjs +33 -7
  59. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  60. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  61. package/esm2020/signature/signature.component.mjs +1 -1
  62. package/esm2020/slider/slider.component.mjs +1 -1
  63. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  64. package/esm2020/smart-filters/common/model/base-filter-component.mjs +1 -1
  65. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  66. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  67. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  68. package/esm2020/smart-filters/smart-filters.module.mjs +8 -3
  69. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  70. package/esm2020/textarea/textarea.component.mjs +1 -1
  71. package/esm2020/textbox/textbox.component.mjs +18 -13
  72. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  73. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  74. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  75. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  76. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  77. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  78. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  79. package/fesm2015/pepperi-addons-ngx-lib-chip.mjs +104 -0
  80. package/fesm2015/pepperi-addons-ngx-lib-chip.mjs.map +1 -0
  81. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  82. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  84. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  85. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  86. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +42 -36
  88. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  90. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +31 -1
  92. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  93. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  94. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  96. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +8 -9
  98. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +1 -1
  100. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  102. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  104. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +115 -0
  106. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  107. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  108. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +1 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  112. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +52 -64
  114. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  116. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  118. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  119. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  120. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  122. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  123. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  126. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  127. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  128. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  129. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  130. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +19 -14
  132. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib.mjs +108 -55
  134. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  135. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  136. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  137. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  138. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  139. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  140. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  141. package/fesm2020/pepperi-addons-ngx-lib-chip.mjs +104 -0
  142. package/fesm2020/pepperi-addons-ngx-lib-chip.mjs.map +1 -0
  143. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  144. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  145. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  146. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  147. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  148. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +45 -36
  150. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  152. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  153. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +31 -1
  154. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  155. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  156. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  157. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  158. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  159. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +8 -9
  160. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  161. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +1 -1
  162. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  163. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  164. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  166. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +109 -0
  168. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  169. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  170. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  171. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +1 -1
  172. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  173. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  174. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  175. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +50 -62
  176. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  177. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  178. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  180. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  181. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  182. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  183. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  184. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  185. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  186. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  188. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  189. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  190. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  191. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  192. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +19 -14
  194. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib.mjs +107 -56
  196. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  197. package/field-title/field-title.component.d.ts +2 -1
  198. package/form/field-generator.component.d.ts +1 -1
  199. package/form/internal-carusel.component.d.ts +1 -3
  200. package/form/internal-page.component.d.ts +2 -4
  201. package/group-buttons/group-buttons.component.d.ts +2 -1
  202. package/icon/icon-generated-all.model.d.ts +6 -0
  203. package/icon/icon-generated.model.d.ts +25 -1
  204. package/link/link.component.d.ts +2 -3
  205. package/menu/menu.component.d.ts +2 -0
  206. package/package.json +17 -1
  207. package/page-layout/page-layout.component.d.ts +1 -1
  208. package/plugin/index.d.ts +5 -0
  209. package/plugin/plugin-proxy.component.d.ts +25 -0
  210. package/plugin/plugin.model.d.ts +6 -0
  211. package/plugin/public-api.d.ts +2 -0
  212. package/query-builder/common/services/query-structure.service.d.ts +3 -4
  213. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  214. package/remote-loader/remote-loader.component.d.ts +5 -2
  215. package/remote-loader/remote-loader.model.d.ts +5 -4
  216. package/remote-loader/remote-loader.service.d.ts +3 -3
  217. package/select/select.component.d.ts +10 -4
  218. package/side-bar/side-bar.component.d.ts +3 -3
  219. package/src/core/style/components/checkbox.scss +20 -1
  220. package/textbox/textbox.component.d.ts +5 -4
@@ -264,9 +264,17 @@ class PepMenuComponent {
264
264
  this.stateChange.emit({ state: this.state });
265
265
  }
266
266
  }
267
+ onMenuOpened() {
268
+ this.state = 'visible';
269
+ this.stateChange.emit({ state: this.state });
270
+ }
271
+ onMenuClosed() {
272
+ this.state = 'hidden';
273
+ this.stateChange.emit({ state: this.state });
274
+ }
267
275
  }
268
276
  PepMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepMenuComponent, deps: [{ token: i1$1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
269
- PepMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuComponent, selector: "pep-menu", inputs: { text: "text", iconName: "iconName", type: "type", styleType: "styleType", sizeType: "sizeType", classNames: "classNames", xPosition: "xPosition", hideOnEmptyItems: "hideOnEmptyItems", items: "items", selectedItem: "selectedItem", disabled: "disabled" }, outputs: { stateChange: "stateChange", menuItemClick: "menuItemClick", menuClick: "menuClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1$1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }], animations: [
277
+ PepMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuComponent, selector: "pep-menu", inputs: { text: "text", iconName: "iconName", type: "type", styleType: "styleType", sizeType: "sizeType", classNames: "classNames", xPosition: "xPosition", hideOnEmptyItems: "hideOnEmptyItems", items: "items", selectedItem: "selectedItem", disabled: "disabled" }, outputs: { stateChange: "stateChange", menuItemClick: "menuItemClick", menuClick: "menuClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1$1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }], animations: [
270
278
  trigger('slideInOut', [
271
279
  state('hidden', style({
272
280
  width: '0px',
@@ -301,7 +309,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
301
309
  transition('close => open', animate('500ms ease-in')),
302
310
  transition('open => close', animate('500ms ease-out')),
303
311
  ]),
304
- ], template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"] }]
312
+ ], template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"] }]
305
313
  }], ctorParameters: function () { return [{ type: i1$1.PepLayoutService }]; }, propDecorators: { text: [{
306
314
  type: Input
307
315
  }], iconName: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-menu.mjs","sources":["../../../projects/ngx-lib/menu/menu.model.ts","../../../projects/ngx-lib/menu/menu-item.component.ts","../../../projects/ngx-lib/menu/menu-item.component.html","../../../projects/ngx-lib/menu/menu.component.ts","../../../projects/ngx-lib/menu/menu.component.html","../../../projects/ngx-lib/menu/menu.module.ts","../../../projects/ngx-lib/menu/public-api.ts","../../../projects/ngx-lib/menu/pepperi-addons-ngx-lib-menu.ts"],"sourcesContent":["export type PepMenuType = 'action' | 'action-select' | 'select';\n\nexport type PepMenuItemType = 'regular' | 'splitter';\n\nexport type PepMenuStateType = 'visible' | 'hidden';\n\nexport class PepMenuItemParent {\n key: string;\n parent?: PepMenuItemParent = null;\n\n constructor(data: PepMenuItem) {\n this.key = data.key;\n this.parent = data.parent;\n }\n}\nexport class PepMenuItem {\n key: string;\n text?: string;\n disabled?: boolean = false;\n hidden?: boolean = false;\n iconName?: string = null;\n type?: PepMenuItemType = 'regular';\n children?: Array<PepMenuItem> = null;\n parent?: PepMenuItemParent = null;\n\n constructor(data: Partial<PepMenuItem>) {\n Object.assign(this, data);\n }\n}\n\nexport interface IPepMenuItemClickEvent {\n source: PepMenuItem;\n}\n\nexport interface IPepMenuStateChangeEvent {\n state: PepMenuStateType;\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport { pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n PepMenuType,\n PepMenuItemParent,\n} from './menu.model';\n\nexport class PepInternalMenuItem extends PepMenuItem {\n selected?: boolean = false;\n}\n\n@Component({\n selector: 'pep-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n})\nexport class PepMenuItemComponent implements OnDestroy {\n @Input() type: PepMenuType = 'action';\n\n @Input() parent: PepMenuItemParent = null;\n @Input() items: Array<PepInternalMenuItem> = [];\n\n private _selectedItem: PepInternalMenuItem = null;\n @Input()\n set selectedItem(selectedItem: PepInternalMenuItem) {\n this.updateSelectedItem(selectedItem);\n }\n get selectedItem(): PepInternalMenuItem {\n return this._selectedItem;\n }\n\n @Input() xPosition: 'before' | 'after' = 'after';\n @Input() subMenuIconName: string = pepIconArrowRight.name;\n\n @ViewChild('childMenu', { static: true }) public childMenu: any;\n\n @Output()\n menuItemClick: EventEmitter<IPepMenuItemClickEvent> = new EventEmitter<IPepMenuItemClickEvent>();\n\n ngOnDestroy(): void {\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n private clearSelectedItem(selectedItem: PepInternalMenuItem): void {\n if (this.items) {\n this.items.forEach((item) => {\n item.selected = selectedItem?.key === item.key;\n\n if (item.children) {\n item.children.forEach((child) => {\n this.clearSelectedChildren(child, selectedItem);\n });\n }\n });\n }\n }\n\n private clearSelectedChildren(\n item: PepInternalMenuItem,\n selectedItem: PepInternalMenuItem\n ): void {\n item.selected = selectedItem?.key === item.key;\n\n if (item.children) {\n item.children.forEach((child) => {\n this.clearSelectedChildren(child, selectedItem);\n });\n }\n }\n\n private selectParentAndChildren(\n items: Array<PepInternalMenuItem>,\n parentsKeys: Array<string>\n ) {\n if (parentsKeys.length > 0) {\n const key = parentsKeys.pop();\n const selectedParent = items.find((item) => item.key === key);\n\n if (selectedParent) {\n selectedParent.selected = true;\n this.selectParentAndChildren(\n selectedParent.children,\n parentsKeys\n );\n }\n }\n }\n\n private updateSelectedParent(\n parentItem: PepMenuItemParent,\n parentsKeys: Array<string>\n ) {\n parentsKeys.push(parentItem.key);\n\n if (parentItem.parent) {\n this.updateSelectedParent(parentItem.parent, parentsKeys);\n } else {\n this.selectParentAndChildren(this.items, parentsKeys);\n }\n }\n\n private updateSelectedItem(selectedItem: PepInternalMenuItem) {\n this.clearSelectedItem(selectedItem);\n this._selectedItem = selectedItem;\n\n if (selectedItem && selectedItem.parent) {\n this.updateSelectedParent(selectedItem.parent, []);\n }\n }\n\n onChildClicked(click: IPepMenuItemClickEvent): void {\n // click.source.selected = true;\n this.menuItemClick.emit(click);\n }\n\n onMenuItemClicked(item: PepMenuItem): void {\n // item.selected = true;\n this.menuItemClick.emit({ source: item });\n }\n}\n","<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport {\n PepLayoutService,\n PepStyleType,\n PepSizeType,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { pepIconSystemMenu, PepIconType } from '@pepperi-addons/ngx-lib/icon';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n IPepMenuStateChangeEvent,\n PepMenuStateType,\n PepMenuType,\n PepMenuItemParent,\n} from './menu.model';\n\n@Component({\n selector: 'pep-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n animations: [\n trigger('slideInOut', [\n state(\n 'hidden',\n style({\n width: '0px',\n padding: '0',\n margin: '0',\n minWidth: '0px',\n opacity: 0,\n })\n ),\n state(\n 'visible',\n style({\n width: 'inherit',\n opacity: 1,\n })\n ),\n transition('close => open', animate('500ms ease-in')),\n transition('open => close', animate('500ms ease-out')),\n ]),\n ],\n})\nexport class PepMenuComponent implements OnChanges, OnDestroy {\n @Input() text = '';\n /**\n * The icon name to show on the menu. look in (@link icon -> All icons)\n *\n * @type {PepIconType} See {@link PepIconType}\n * @memberof PepMenuComponent\n */\n @Input() iconName: PepIconType = pepIconSystemMenu.name;\n @Input() type: PepMenuType = 'action';\n @Input() styleType: PepStyleType = 'weak';\n @Input() sizeType: PepSizeType = 'md';\n @Input() classNames = '';\n @Input() xPosition: 'before' | 'after' = 'after';\n @Input() hideOnEmptyItems = false;\n\n private _items: Array<PepMenuItem> = null;\n @Input()\n set items(items: Array<PepMenuItem>) {\n this.setItemsParent(items);\n this._items = items;\n }\n get items(): Array<PepMenuItem> {\n return this._items;\n }\n\n @Input() selectedItem: PepMenuItem = null;\n @Input() disabled = false;\n\n @Output()\n stateChange: EventEmitter<IPepMenuStateChangeEvent> = new EventEmitter<IPepMenuStateChangeEvent>();\n @Output()\n menuItemClick: EventEmitter<IPepMenuItemClickEvent> = new EventEmitter<IPepMenuItemClickEvent>();\n @Output() menuClick: EventEmitter<void> = new EventEmitter<void>();\n\n state: PepMenuStateType = 'hidden';\n\n PepScreenSizeType = PepScreenSizeType;\n screenSize: PepScreenSizeType;\n\n displayText: string = null;\n\n constructor(public layoutService: PepLayoutService) {\n this.layoutService.onResize$.subscribe((size) => {\n this.screenSize = size;\n });\n }\n\n private setChildrenParent(\n item: PepMenuItem,\n parent: PepMenuItemParent\n ): void {\n item.parent = parent;\n\n if (item.children && item.children.length > 0) {\n item.children.forEach((child) => {\n this.setChildrenParent(child, new PepMenuItemParent(item));\n });\n }\n }\n\n private setItemsParent(items: Array<PepMenuItem>): void {\n if (items) {\n items.forEach((item) => {\n item.parent = null;\n\n if (item.children && item.children.length > 0) {\n item.children.forEach((child) => {\n this.setChildrenParent(\n child,\n new PepMenuItemParent(item)\n );\n });\n }\n });\n }\n }\n\n private updateText(): void {\n if (this.type === 'select' || this.type === 'action-select') {\n this.displayText = this.selectedItem\n ? this.selectedItem.text\n : this.text;\n } else {\n this.displayText = this.text;\n }\n }\n\n ngOnChanges(changes): void {\n if (this.hideOnEmptyItems) {\n this.state =\n !this.disabled &&\n this.items &&\n this.items.filter((item) => !item.disabled).length > 0\n ? 'visible'\n : 'hidden';\n } else {\n this.state = 'visible';\n }\n\n if (this.type === 'select') {\n if (\n this.selectedItem === null &&\n this.items &&\n this.items.length > 0\n ) {\n this.selectedItem = this.items[0];\n }\n }\n\n this.updateText();\n }\n\n ngOnDestroy(): void {\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n onMenuClicked(event): void {\n this.menuClick.emit();\n }\n\n // private manipulateData(menuItem: PepMenuItem) {\n // menuItem.children = null;\n\n // if (menuItem.parent) {\n // menuItem.parent = new PepMenuItem(menuItem.parent);\n // this.manipulateData(menuItem.parent);\n // }\n // }\n\n onMenuItemClicked(click: IPepMenuItemClickEvent): void {\n this.selectedItem = click.source;\n this.updateText();\n\n // Manipulate click data because the data is dupplicate in parent.children\n // const tmp = new PepMenuItem(click.source);\n // this.manipulateData(tmp);\n // click.source = tmp;\n\n this.menuItemClick.emit(click);\n }\n\n animationDone(): void {\n if (this.state === 'hidden') {\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, 500);\n }\n }\n\n animationStart(): void {\n if (this.state === 'visible') {\n this.stateChange.emit({ state: this.state });\n }\n }\n}\n","<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemMenu,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepMenuComponent } from './menu.component';\nimport { PepMenuItemComponent } from './menu-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatMenuModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepMenuComponent],\n declarations: [PepMenuComponent, PepMenuItemComponent],\n})\nexport class PepMenuModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemMenu,\n pepIconArrowRight,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/menu\n */\nexport * from './menu.module';\nexport * from './menu.model';\nexport * from './menu.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5","i1","i2","i3","i6","i7.PepMenuItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-menu.mjs","sources":["../../../projects/ngx-lib/menu/menu.model.ts","../../../projects/ngx-lib/menu/menu-item.component.ts","../../../projects/ngx-lib/menu/menu-item.component.html","../../../projects/ngx-lib/menu/menu.component.ts","../../../projects/ngx-lib/menu/menu.component.html","../../../projects/ngx-lib/menu/menu.module.ts","../../../projects/ngx-lib/menu/public-api.ts","../../../projects/ngx-lib/menu/pepperi-addons-ngx-lib-menu.ts"],"sourcesContent":["export type PepMenuType = 'action' | 'action-select' | 'select';\n\nexport type PepMenuItemType = 'regular' | 'splitter';\n\nexport type PepMenuStateType = 'visible' | 'hidden';\n\nexport class PepMenuItemParent {\n key: string;\n parent?: PepMenuItemParent = null;\n\n constructor(data: PepMenuItem) {\n this.key = data.key;\n this.parent = data.parent;\n }\n}\nexport class PepMenuItem {\n key: string;\n text?: string;\n disabled?: boolean = false;\n hidden?: boolean = false;\n iconName?: string = null;\n type?: PepMenuItemType = 'regular';\n children?: Array<PepMenuItem> = null;\n parent?: PepMenuItemParent = null;\n\n constructor(data: Partial<PepMenuItem>) {\n Object.assign(this, data);\n }\n}\n\nexport interface IPepMenuItemClickEvent {\n source: PepMenuItem;\n}\n\nexport interface IPepMenuStateChangeEvent {\n state: PepMenuStateType;\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport { pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n PepMenuType,\n PepMenuItemParent,\n} from './menu.model';\n\nexport class PepInternalMenuItem extends PepMenuItem {\n selected?: boolean = false;\n}\n\n@Component({\n selector: 'pep-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n})\nexport class PepMenuItemComponent implements OnDestroy {\n @Input() type: PepMenuType = 'action';\n\n @Input() parent: PepMenuItemParent = null;\n @Input() items: Array<PepInternalMenuItem> = [];\n\n private _selectedItem: PepInternalMenuItem = null;\n @Input()\n set selectedItem(selectedItem: PepInternalMenuItem) {\n this.updateSelectedItem(selectedItem);\n }\n get selectedItem(): PepInternalMenuItem {\n return this._selectedItem;\n }\n\n @Input() xPosition: 'before' | 'after' = 'after';\n @Input() subMenuIconName: string = pepIconArrowRight.name;\n\n @ViewChild('childMenu', { static: true }) public childMenu: any;\n\n @Output()\n menuItemClick: EventEmitter<IPepMenuItemClickEvent> = new EventEmitter<IPepMenuItemClickEvent>();\n\n ngOnDestroy(): void {\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n private clearSelectedItem(selectedItem: PepInternalMenuItem): void {\n if (this.items) {\n this.items.forEach((item) => {\n item.selected = selectedItem?.key === item.key;\n\n if (item.children) {\n item.children.forEach((child) => {\n this.clearSelectedChildren(child, selectedItem);\n });\n }\n });\n }\n }\n\n private clearSelectedChildren(\n item: PepInternalMenuItem,\n selectedItem: PepInternalMenuItem\n ): void {\n item.selected = selectedItem?.key === item.key;\n\n if (item.children) {\n item.children.forEach((child) => {\n this.clearSelectedChildren(child, selectedItem);\n });\n }\n }\n\n private selectParentAndChildren(\n items: Array<PepInternalMenuItem>,\n parentsKeys: Array<string>\n ) {\n if (parentsKeys.length > 0) {\n const key = parentsKeys.pop();\n const selectedParent = items.find((item) => item.key === key);\n\n if (selectedParent) {\n selectedParent.selected = true;\n this.selectParentAndChildren(\n selectedParent.children,\n parentsKeys\n );\n }\n }\n }\n\n private updateSelectedParent(\n parentItem: PepMenuItemParent,\n parentsKeys: Array<string>\n ) {\n parentsKeys.push(parentItem.key);\n\n if (parentItem.parent) {\n this.updateSelectedParent(parentItem.parent, parentsKeys);\n } else {\n this.selectParentAndChildren(this.items, parentsKeys);\n }\n }\n\n private updateSelectedItem(selectedItem: PepInternalMenuItem) {\n this.clearSelectedItem(selectedItem);\n this._selectedItem = selectedItem;\n\n if (selectedItem && selectedItem.parent) {\n this.updateSelectedParent(selectedItem.parent, []);\n }\n }\n\n onChildClicked(click: IPepMenuItemClickEvent): void {\n // click.source.selected = true;\n this.menuItemClick.emit(click);\n }\n\n onMenuItemClicked(item: PepMenuItem): void {\n // item.selected = true;\n this.menuItemClick.emit({ source: item });\n }\n}\n","<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport {\n PepLayoutService,\n PepStyleType,\n PepSizeType,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { pepIconSystemMenu, PepIconType } from '@pepperi-addons/ngx-lib/icon';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n IPepMenuStateChangeEvent,\n PepMenuStateType,\n PepMenuType,\n PepMenuItemParent,\n} from './menu.model';\n\n@Component({\n selector: 'pep-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n animations: [\n trigger('slideInOut', [\n state(\n 'hidden',\n style({\n width: '0px',\n padding: '0',\n margin: '0',\n minWidth: '0px',\n opacity: 0,\n })\n ),\n state(\n 'visible',\n style({\n width: 'inherit',\n opacity: 1,\n })\n ),\n transition('close => open', animate('500ms ease-in')),\n transition('open => close', animate('500ms ease-out')),\n ]),\n ],\n})\nexport class PepMenuComponent implements OnChanges, OnDestroy {\n @Input() text = '';\n /**\n * The icon name to show on the menu. look in (@link icon -> All icons)\n *\n * @type {PepIconType} See {@link PepIconType}\n * @memberof PepMenuComponent\n */\n @Input() iconName: PepIconType = pepIconSystemMenu.name;\n @Input() type: PepMenuType = 'action';\n @Input() styleType: PepStyleType = 'weak';\n @Input() sizeType: PepSizeType = 'md';\n @Input() classNames = '';\n @Input() xPosition: 'before' | 'after' = 'after';\n @Input() hideOnEmptyItems = false;\n\n private _items: Array<PepMenuItem> = null;\n @Input()\n set items(items: Array<PepMenuItem>) {\n this.setItemsParent(items);\n this._items = items;\n }\n get items(): Array<PepMenuItem> {\n return this._items;\n }\n\n @Input() selectedItem: PepMenuItem = null;\n @Input() disabled = false;\n\n @Output()\n stateChange: EventEmitter<IPepMenuStateChangeEvent> = new EventEmitter<IPepMenuStateChangeEvent>();\n @Output()\n menuItemClick: EventEmitter<IPepMenuItemClickEvent> = new EventEmitter<IPepMenuItemClickEvent>();\n @Output() menuClick: EventEmitter<void> = new EventEmitter<void>();\n\n state: PepMenuStateType = 'hidden';\n\n PepScreenSizeType = PepScreenSizeType;\n screenSize: PepScreenSizeType;\n\n displayText: string = null;\n\n constructor(public layoutService: PepLayoutService) {\n this.layoutService.onResize$.subscribe((size) => {\n this.screenSize = size;\n });\n }\n\n private setChildrenParent(\n item: PepMenuItem,\n parent: PepMenuItemParent\n ): void {\n item.parent = parent;\n\n if (item.children && item.children.length > 0) {\n item.children.forEach((child) => {\n this.setChildrenParent(child, new PepMenuItemParent(item));\n });\n }\n }\n\n private setItemsParent(items: Array<PepMenuItem>): void {\n if (items) {\n items.forEach((item) => {\n item.parent = null;\n\n if (item.children && item.children.length > 0) {\n item.children.forEach((child) => {\n this.setChildrenParent(\n child,\n new PepMenuItemParent(item)\n );\n });\n }\n });\n }\n }\n\n private updateText(): void {\n if (this.type === 'select' || this.type === 'action-select') {\n this.displayText = this.selectedItem\n ? this.selectedItem.text\n : this.text;\n } else {\n this.displayText = this.text;\n }\n }\n\n ngOnChanges(changes): void {\n if (this.hideOnEmptyItems) {\n this.state =\n !this.disabled &&\n this.items &&\n this.items.filter((item) => !item.disabled).length > 0\n ? 'visible'\n : 'hidden';\n } else {\n this.state = 'visible';\n }\n\n if (this.type === 'select') {\n if (\n this.selectedItem === null &&\n this.items &&\n this.items.length > 0\n ) {\n this.selectedItem = this.items[0];\n }\n }\n\n this.updateText();\n }\n\n ngOnDestroy(): void {\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n onMenuClicked(event): void {\n this.menuClick.emit();\n }\n\n // private manipulateData(menuItem: PepMenuItem) {\n // menuItem.children = null;\n\n // if (menuItem.parent) {\n // menuItem.parent = new PepMenuItem(menuItem.parent);\n // this.manipulateData(menuItem.parent);\n // }\n // }\n\n onMenuItemClicked(click: IPepMenuItemClickEvent): void {\n this.selectedItem = click.source;\n this.updateText();\n\n // Manipulate click data because the data is dupplicate in parent.children\n // const tmp = new PepMenuItem(click.source);\n // this.manipulateData(tmp);\n // click.source = tmp;\n\n this.menuItemClick.emit(click);\n }\n\n animationDone(): void {\n if (this.state === 'hidden') {\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, 500);\n }\n }\n\n animationStart(): void {\n if (this.state === 'visible') {\n this.stateChange.emit({ state: this.state });\n }\n }\n\n onMenuOpened() {\n this.state = 'visible';\n this.stateChange.emit({ state: this.state });\n }\n\n onMenuClosed() {\n this.state = 'hidden';\n this.stateChange.emit({ state: this.state });\n }\n}\n","<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemMenu,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepMenuComponent } from './menu.component';\nimport { PepMenuItemComponent } from './menu-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatMenuModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepMenuComponent],\n declarations: [PepMenuComponent, PepMenuItemComponent],\n})\nexport class PepMenuModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemMenu,\n pepIconArrowRight,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/menu\n */\nexport * from './menu.module';\nexport * from './menu.model';\nexport * from './menu.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5","i1","i2","i3","i6","i7.PepMenuItemComponent"],"mappings":"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"}
@@ -27,10 +27,10 @@ class PepPageLayoutComponent {
27
27
  }
28
28
  }
29
29
  PepPageLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
30
- PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:\"header-layout header-layout\" \"side-layout main-layout\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
30
+ PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:\"header-layout header-layout\" \"side-layout main-layout\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
33
+ args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
34
34
  }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { addPadding: [{
35
35
  type: Input
36
36
  }], showShadow: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-page-layout.mjs","sources":["../../../projects/ngx-lib/page-layout/page-layout.component.ts","../../../projects/ngx-lib/page-layout/page-layout.component.html","../../../projects/ngx-lib/page-layout/page-layout.module.ts","../../../projects/ngx-lib/page-layout/public-api.ts","../../../projects/ngx-lib/page-layout/pepperi-addons-ngx-lib-page-layout.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ElementRef,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-page-layout',\n templateUrl: './page-layout.component.html',\n styleUrls: ['./page-layout.component.scss', './page-layout.component.theme.scss'],\n})\nexport class PepPageLayoutComponent implements AfterViewInit, AfterContentInit {\n @Input() addPadding = false;\n @Input() showShadow = false;\n\n screenSize: PepScreenSizeType;\n\n constructor(\n public customizationService: PepCustomizationService,\n public layoutService: PepLayoutService,\n private cdRef: ChangeDetectorRef,\n private hostElement: ElementRef,\n private renderer: Renderer2,\n ) {\n this.renderer.addClass(this.hostElement.nativeElement, 'pep-page-layout');\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n\n }\n\n ngAfterContentInit() {\n //\n }\n\n}\n","<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\n\nimport { PepPageLayoutComponent } from './page-layout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n // ngx-lib modules\n PepNgxLibModule,\n ],\n exports: [PepPageLayoutComponent],\n declarations: [PepPageLayoutComponent],\n})\nexport class PepPageLayoutModule { }\n","/*\n * Public API Surface of ngx-lib/page-layout\n */\nexport * from './page-layout.module';\nexport * from './page-layout.component';\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":"pepperi-addons-ngx-lib-page-layout.mjs","sources":["../../../projects/ngx-lib/page-layout/page-layout.component.ts","../../../projects/ngx-lib/page-layout/page-layout.component.html","../../../projects/ngx-lib/page-layout/page-layout.module.ts","../../../projects/ngx-lib/page-layout/public-api.ts","../../../projects/ngx-lib/page-layout/pepperi-addons-ngx-lib-page-layout.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ElementRef,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-page-layout',\n templateUrl: './page-layout.component.html',\n styleUrls: ['./page-layout.component.scss', './page-layout.component.theme.scss'],\n})\nexport class PepPageLayoutComponent implements AfterViewInit, AfterContentInit {\n @Input() addPadding = false;\n @Input() showShadow = false;\n \n screenSize: PepScreenSizeType;\n\n constructor(\n public customizationService: PepCustomizationService,\n public layoutService: PepLayoutService,\n private cdRef: ChangeDetectorRef,\n private hostElement: ElementRef,\n private renderer: Renderer2,\n ) {\n this.renderer.addClass(this.hostElement.nativeElement, 'pep-page-layout');\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n\n }\n\n ngAfterContentInit() {\n //\n }\n\n}\n","<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\n\nimport { PepPageLayoutComponent } from './page-layout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n // ngx-lib modules\n PepNgxLibModule,\n ],\n exports: [PepPageLayoutComponent],\n declarations: [PepPageLayoutComponent],\n})\nexport class PepPageLayoutModule { }\n","/*\n * Public API Surface of ngx-lib/page-layout\n */\nexport * from './page-layout.module';\nexport * from './page-layout.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MA0Ba,sBAAsB,CAAA;IAM/B,WACW,CAAA,oBAA6C,EAC7C,aAA+B,EAC9B,KAAwB,EACxB,WAAuB,EACvB,QAAmB,EAAA;QAJpB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAyB;QAC7C,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;QACxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAVtB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAWxB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;KAC7E;IAED,eAAe,GAAA;QACX,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAuB,KAAI;AAC/D,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC,CAAC;KAEN;IAED,kBAAkB,GAAA;;KAEjB;;mHAzBQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uHC1BnC,w1BAkBM,EAAA,MAAA,EAAA,CAAA,+hDAAA,EAAA,yNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDQO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,w1BAAA,EAAA,MAAA,EAAA,CAAA,+hDAAA,EAAA,yNAAA,CAAA,EAAA,CAAA;8NAKlB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MERG,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAFb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAPjC,YAAY;;QAEZ,eAAe;;AAEf,QAAA,eAAe,aAET,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGvB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YATxB,YAAY;;QAEZ,eAAe;;QAEf,eAAe,CAAA,EAAA,CAAA,CAAA;2FAKV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;;wBAEZ,eAAe;;wBAEf,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACzC,iBAAA,CAAA;;;ACnBD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -0,0 +1,109 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output } from '@angular/core';
3
+ import { loadRemoteModule } from '@angular-architects/module-federation';
4
+ import * as i1 from '@pepperi-addons/ngx-lib';
5
+
6
+ // declare let __webpack_public_path__;
7
+ class PepPluginProxyComponent {
8
+ constructor(pepAddonService) {
9
+ this.pepAddonService = pepAddonService;
10
+ this._options = null;
11
+ // This is the data passed by the API Design documentation.
12
+ this._hostObject = null;
13
+ this.hostEvents = new EventEmitter();
14
+ this.load = new EventEmitter();
15
+ }
16
+ set options(value) {
17
+ this._options = value;
18
+ if (value) {
19
+ this.loadModule();
20
+ }
21
+ }
22
+ get options() {
23
+ return this._options;
24
+ }
25
+ set hostObject(value) {
26
+ this._hostObject = value;
27
+ this.setHostComponentIntoComponentRef();
28
+ }
29
+ get hostObject() {
30
+ return this._hostObject;
31
+ }
32
+ setHostComponentIntoComponentRef() {
33
+ if (this.hostObject && this.compRef?.instance) {
34
+ this.compRef.instance['hostObject'] = this.hostObject;
35
+ // TODO: Check if this is needed?? if not remove this.
36
+ // if (this.compRef?.instance?.ngOnChanges) {
37
+ // this.compRef.instance.ngOnChanges(this.hostObject);
38
+ // }
39
+ }
40
+ }
41
+ async loadModule() {
42
+ this.viewContainer.clear();
43
+ debugger;
44
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
45
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
46
+ if (lastSlashIndex > 0) {
47
+ // const publicPathArr = this.options.remoteEntry?.split('/');
48
+ // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
49
+ // __webpack_public_path__ = publicPath;
50
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
51
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
52
+ }
53
+ }
54
+ const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
55
+ this.compRef = this.viewContainer.createComponent(componentType);
56
+ if (this.compRef) {
57
+ this.setHostComponentIntoComponentRef();
58
+ this.hostEvents$ = this.compRef.instance['hostEvents']?.subscribe((e) => {
59
+ this.hostEvents.emit(e);
60
+ });
61
+ }
62
+ this.load.emit();
63
+ }
64
+ ngOnChanges() {
65
+ }
66
+ ngOnDestroy() {
67
+ if (this.hostEvents$) {
68
+ this.hostEvents$.unsubscribe();
69
+ }
70
+ this.compRef?.destroy();
71
+ this.viewContainer?.clear();
72
+ }
73
+ }
74
+ PepPluginProxyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPluginProxyComponent, deps: [{ token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
75
+ PepPluginProxyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPluginProxyComponent, isStandalone: true, selector: "pep-plugin-proxy", inputs: { options: "options", hostObject: "hostObject" }, outputs: { hostEvents: "hostEvents", load: "load" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["placeHolder"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
76
+ <ng-container #placeHolder></ng-container>
77
+ `, isInline: true });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPluginProxyComponent, decorators: [{
79
+ type: Component,
80
+ args: [{
81
+ standalone: true,
82
+ selector: 'pep-plugin-proxy',
83
+ template: `
84
+ <ng-container #placeHolder></ng-container>
85
+ `
86
+ }]
87
+ }], ctorParameters: function () { return [{ type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
88
+ type: ViewChild,
89
+ args: ['placeHolder', { read: ViewContainerRef, static: true }]
90
+ }], options: [{
91
+ type: Input
92
+ }], hostObject: [{
93
+ type: Input
94
+ }], hostEvents: [{
95
+ type: Output
96
+ }], load: [{
97
+ type: Output
98
+ }] } });
99
+
100
+ /*
101
+ * Public API Surface of ngx-lib/plugin
102
+ */
103
+
104
+ /**
105
+ * Generated bundle index. Do not edit.
106
+ */
107
+
108
+ export { PepPluginProxyComponent };
109
+ //# sourceMappingURL=pepperi-addons-ngx-lib-plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-plugin.mjs","sources":["../../../projects/ngx-lib/plugin/plugin-proxy.component.ts","../../../projects/ngx-lib/plugin/public-api.ts","../../../projects/ngx-lib/plugin/pepperi-addons-ngx-lib-plugin.ts"],"sourcesContent":["import { Component, ComponentRef, EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepPluginOptions } from './plugin.model';\nimport { Subscription } from 'rxjs';\n// declare let __webpack_public_path__;\n\n@Component({\n standalone: true,\n selector: 'pep-plugin-proxy',\n template: `\n <ng-container #placeHolder></ng-container>\n `\n})\nexport class PepPluginProxyComponent implements OnChanges, OnDestroy {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true })\n viewContainer: ViewContainerRef;\n \n private _options: PepPluginOptions = null;\n @Input()\n set options(value: PepPluginOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepPluginOptions {\n return this._options;\n }\n\n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n private compRef: ComponentRef<any>;\n private hostEvents$: Subscription;\n\n constructor(\n private pepAddonService: PepAddonService,\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance['hostObject'] = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n private async loadModule() {\n this.viewContainer.clear();\n \n debugger;\n \n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n \n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n if (lastSlashIndex > 0) {\n // const publicPathArr = this.options.remoteEntry?.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n // __webpack_public_path__ = publicPath;\n \n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentType);\n \n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.hostEvents$ = this.compRef.instance['hostEvents']?.subscribe((e: any) => {\n this.hostEvents.emit(e)\n });\n }\n\n this.load.emit();\n }\n\n ngOnChanges() {\n }\n \n ngOnDestroy(): void {\n if (this.hostEvents$) {\n this.hostEvents$.unsubscribe();\n }\n\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","/*\r\n * Public API Surface of ngx-lib/plugin\r\n */\r\nexport * from './plugin-proxy.component';\r\nexport * from './plugin.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -182,7 +182,7 @@ class ProfileDataViewsListComponent {
182
182
  }
183
183
  }
184
184
  ProfileDataViewsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ProfileDataViewsListComponent, deps: [{ token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Component });
185
- ProfileDataViewsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ProfileDataViewsListComponent, selector: "pep-profile-data-views-list", inputs: { defaultProfileId: "defaultProfileId", availableProfiles: "availableProfiles", profileDataViewsList: "profileDataViewsList", configurationPerScreenSize: "configurationPerScreenSize" }, outputs: { saveNewProfileClick: "saveNewProfileClick", dataViewEditClick: "dataViewEditClick", dataViewDeleteClick: "dataViewDeleteClick" }, viewQueries: [{ propertyName: "selectProfileTemplate", first: true, predicate: ["selectProfileTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"profile-data-views-list-container\">\n <pep-profile-data-views-card *ngFor=\"let profileDataViews of profileDataViewsList\"\n [configurationPerScreenSize]=\"configurationPerScreenSize\" [title]=\"profileDataViews.title\"\n [profileId]=\"profileDataViews.profileId\" [dataViews]=\"profileDataViews.dataViews\"\n [isDefault]=\"profileDataViews.profileId === defaultProfileId\"\n (dataViewEditClick)=\"onDataViewEditClicked($event)\" (dataViewDeleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-views-card>\n\n <pep-button *ngIf=\"nonExistingProfiles?.length > 0\" [value]=\"'PROFILE_DATA_VIEWS_LIST.ADD_PROFILE' | translate\"\n iconName=\"number_plus\" sizeType=\"lg\" (buttonClick)=\"onAddProfileClicked($event)\"></pep-button>\n</div>\n\n<ng-template #selectProfileTemplate let-data>\n <pep-dialog [title]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE_DIALOG_TITLE' | translate\" (close)=\"closeDialog()\">\n <ng-container pep-dialog-content>\n <pep-select [label]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE' | translate\" [options]=\"data.options\"\n [emptyOption]=\"false\" (valueChange)=\"setSelectedNewProfileId($event)\">\n </pep-select>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" (click)=\"closeDialog()\">\n {{ 'Cancel' | translate}}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"saveNewProfile()\"\n [disabled]=\"selectedNewProfileId === ''\">\n {{ 'Save' | translate}}\n </button>\n </div>\n </ng-container>\n </pep-dialog>\n</ng-template>", styles: [".profile-data-views-list-container{display:flex;align-items:flex-start;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "emptyOption", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: ProfileDataViewsCardComponent, selector: "pep-profile-data-views-card", inputs: ["profileId", "title", "dataViews", "configurationPerScreenSize", "isDefault"], outputs: ["dataViewEditClick", "dataViewDeleteClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
185
+ ProfileDataViewsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ProfileDataViewsListComponent, selector: "pep-profile-data-views-list", inputs: { defaultProfileId: "defaultProfileId", availableProfiles: "availableProfiles", profileDataViewsList: "profileDataViewsList", configurationPerScreenSize: "configurationPerScreenSize" }, outputs: { saveNewProfileClick: "saveNewProfileClick", dataViewEditClick: "dataViewEditClick", dataViewDeleteClick: "dataViewDeleteClick" }, viewQueries: [{ propertyName: "selectProfileTemplate", first: true, predicate: ["selectProfileTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"profile-data-views-list-container\">\n <pep-profile-data-views-card *ngFor=\"let profileDataViews of profileDataViewsList\"\n [configurationPerScreenSize]=\"configurationPerScreenSize\" [title]=\"profileDataViews.title\"\n [profileId]=\"profileDataViews.profileId\" [dataViews]=\"profileDataViews.dataViews\"\n [isDefault]=\"profileDataViews.profileId === defaultProfileId\"\n (dataViewEditClick)=\"onDataViewEditClicked($event)\" (dataViewDeleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-views-card>\n\n <pep-button *ngIf=\"nonExistingProfiles?.length > 0\" [value]=\"'PROFILE_DATA_VIEWS_LIST.ADD_PROFILE' | translate\"\n iconName=\"number_plus\" sizeType=\"lg\" (buttonClick)=\"onAddProfileClicked($event)\"></pep-button>\n</div>\n\n<ng-template #selectProfileTemplate let-data>\n <pep-dialog [title]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE_DIALOG_TITLE' | translate\" (close)=\"closeDialog()\">\n <ng-container pep-dialog-content>\n <pep-select [label]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE' | translate\" [options]=\"data.options\"\n [emptyOption]=\"false\" (valueChange)=\"setSelectedNewProfileId($event)\">\n </pep-select>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" (click)=\"closeDialog()\">\n {{ 'Cancel' | translate}}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"saveNewProfile()\"\n [disabled]=\"selectedNewProfileId === ''\">\n {{ 'Save' | translate}}\n </button>\n </div>\n </ng-container>\n </pep-dialog>\n</ng-template>", styles: [".profile-data-views-list-container{display:flex;align-items:flex-start;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: ProfileDataViewsCardComponent, selector: "pep-profile-data-views-card", inputs: ["profileId", "title", "dataViews", "configurationPerScreenSize", "isDefault"], outputs: ["dataViewEditClick", "dataViewDeleteClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
186
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ProfileDataViewsListComponent, decorators: [{
187
187
  type: Component,
188
188
  args: [{ selector: 'pep-profile-data-views-list', template: "<div class=\"profile-data-views-list-container\">\n <pep-profile-data-views-card *ngFor=\"let profileDataViews of profileDataViewsList\"\n [configurationPerScreenSize]=\"configurationPerScreenSize\" [title]=\"profileDataViews.title\"\n [profileId]=\"profileDataViews.profileId\" [dataViews]=\"profileDataViews.dataViews\"\n [isDefault]=\"profileDataViews.profileId === defaultProfileId\"\n (dataViewEditClick)=\"onDataViewEditClicked($event)\" (dataViewDeleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-views-card>\n\n <pep-button *ngIf=\"nonExistingProfiles?.length > 0\" [value]=\"'PROFILE_DATA_VIEWS_LIST.ADD_PROFILE' | translate\"\n iconName=\"number_plus\" sizeType=\"lg\" (buttonClick)=\"onAddProfileClicked($event)\"></pep-button>\n</div>\n\n<ng-template #selectProfileTemplate let-data>\n <pep-dialog [title]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE_DIALOG_TITLE' | translate\" (close)=\"closeDialog()\">\n <ng-container pep-dialog-content>\n <pep-select [label]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE' | translate\" [options]=\"data.options\"\n [emptyOption]=\"false\" (valueChange)=\"setSelectedNewProfileId($event)\">\n </pep-select>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" (click)=\"closeDialog()\">\n {{ 'Cancel' | translate}}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"saveNewProfile()\"\n [disabled]=\"selectedNewProfileId === ''\">\n {{ 'Save' | translate}}\n </button>\n </div>\n </ng-container>\n </pep-dialog>\n</ng-template>", styles: [".profile-data-views-list-container{display:flex;align-items:flex-start;gap:1rem}\n"] }]