@acorex/components 18.5.16 → 18.5.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. package/action-sheet/lib/action-sheet.component.d.ts +26 -0
  2. package/alert/lib/alert.component.d.ts +50 -2
  3. package/audio-wave/lib/audio-wave.component.d.ts +48 -0
  4. package/avatar/lib/avatar.component.d.ts +20 -1
  5. package/badge/lib/badge.component.d.ts +8 -0
  6. package/bottom-navigation/lib/bottom-navigation.component.d.ts +16 -0
  7. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +11 -0
  8. package/breadcrumbs/lib/breadcrumbs.component.d.ts +11 -0
  9. package/button/lib/button-item-list.component.d.ts +34 -0
  10. package/button/lib/button-item.component.d.ts +47 -0
  11. package/button/lib/button.component.d.ts +36 -0
  12. package/button-group/lib/button-group.component.d.ts +53 -0
  13. package/calendar/lib/calendar-range.component.d.ts +48 -0
  14. package/calendar/lib/calendar.component.d.ts +114 -0
  15. package/check-box/lib/check-box.component.d.ts +36 -0
  16. package/chips/lib/chips.component.d.ts +13 -0
  17. package/circular-progress/lib/circular-progress.component.d.ts +67 -1
  18. package/collapse/lib/collapse-group.component.d.ts +38 -0
  19. package/collapse/lib/collapse.component.d.ts +55 -0
  20. package/color-box/lib/color-box.component.d.ts +28 -1
  21. package/color-palette/lib/color-palette-input.component.d.ts +35 -0
  22. package/color-palette/lib/color-palette-picker.component.d.ts +53 -0
  23. package/color-palette/lib/color-palette-preview.component.d.ts +17 -0
  24. package/color-palette/lib/color-palette-swatches.component.d.ts +30 -0
  25. package/color-palette/lib/color-palette.component.d.ts +8 -0
  26. package/comment/lib/comment-container/comment-container.component.d.ts +5 -0
  27. package/comment/lib/comment-item/comment-item.component.d.ts +16 -2
  28. package/comment/lib/comment-like/comment-like.component.d.ts +8 -0
  29. package/comment/lib/comment-reply/comment-reply.component.d.ts +4 -0
  30. package/comment/lib/comment-view/comment-view.component.d.ts +4 -0
  31. package/common/lib/components/base-component.class.d.ts +8 -0
  32. package/common/lib/components/button-base-component.class.d.ts +21 -0
  33. package/common/lib/components/interactive-component.class.d.ts +15 -0
  34. package/conversation/lib/conversation-container/conversation-container.component.d.ts +4 -0
  35. package/conversation/lib/conversation-input/conversation-input.component.d.ts +79 -2
  36. package/conversation/lib/conversation-message/conversation-message.component.d.ts +41 -0
  37. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +62 -0
  38. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +34 -0
  39. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +21 -0
  40. package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +11 -0
  41. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +29 -0
  42. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +11 -0
  43. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +72 -0
  44. package/conversation/lib/conversation-view/conversation-view.component.d.ts +22 -0
  45. package/data-pager/lib/data-pager-base.component.d.ts +9 -0
  46. package/data-pager/lib/data-pager-info.component.d.ts +14 -0
  47. package/data-pager/lib/data-pager-input-selector.component.d.ts +17 -0
  48. package/data-pager/lib/data-pager-next-buttons.components.d.ts +20 -0
  49. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +14 -0
  50. package/esm2022/action-sheet/lib/action-sheet.component.mjs +21 -1
  51. package/esm2022/alert/lib/alert.component.mjs +48 -3
  52. package/esm2022/audio-wave/lib/audio-wave.component.mjs +43 -1
  53. package/esm2022/avatar/lib/avatar.component.mjs +21 -2
  54. package/esm2022/badge/lib/badge.component.mjs +9 -1
  55. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +14 -1
  56. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +9 -1
  57. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +6 -1
  58. package/esm2022/button/lib/button-item-list.component.mjs +35 -1
  59. package/esm2022/button/lib/button-item.component.mjs +36 -1
  60. package/esm2022/button/lib/button.component.mjs +37 -1
  61. package/esm2022/button-group/lib/button-group.component.mjs +48 -1
  62. package/esm2022/calendar/lib/calendar-range.component.mjs +46 -1
  63. package/esm2022/calendar/lib/calendar.component.mjs +112 -1
  64. package/esm2022/check-box/lib/check-box.component.mjs +34 -1
  65. package/esm2022/chips/lib/chips.component.mjs +14 -1
  66. package/esm2022/circular-progress/lib/circular-progress.component.mjs +69 -1
  67. package/esm2022/collapse/lib/collapse-group.component.mjs +39 -1
  68. package/esm2022/collapse/lib/collapse.component.mjs +53 -1
  69. package/esm2022/color-box/lib/color-box.component.mjs +23 -2
  70. package/esm2022/color-palette/lib/color-palette-input.component.mjs +36 -1
  71. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +54 -1
  72. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +18 -1
  73. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +28 -1
  74. package/esm2022/color-palette/lib/color-palette.component.mjs +9 -1
  75. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +6 -1
  76. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +15 -1
  77. package/esm2022/comment/lib/comment-like/comment-like.component.mjs +9 -1
  78. package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +5 -1
  79. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +5 -1
  80. package/esm2022/common/lib/components/base-component.class.mjs +9 -1
  81. package/esm2022/common/lib/components/button-base-component.class.mjs +22 -1
  82. package/esm2022/common/lib/components/interactive-component.class.mjs +16 -1
  83. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +5 -1
  84. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +75 -1
  85. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +39 -1
  86. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +63 -1
  87. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +35 -1
  88. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +22 -1
  89. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +9 -1
  90. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +30 -1
  91. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +12 -1
  92. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +70 -1
  93. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +23 -1
  94. package/esm2022/data-pager/lib/data-pager-base.component.mjs +7 -1
  95. package/esm2022/data-pager/lib/data-pager-info.component.mjs +9 -1
  96. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +18 -1
  97. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +18 -1
  98. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -1
  99. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +20 -1
  100. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +5 -1
  101. package/esm2022/scheduler/lib/scheduler.component.mjs +10 -1
  102. package/esm2022/search-box/lib/search-box.component.mjs +19 -2
  103. package/esm2022/select-box/lib/select-box.component.mjs +50 -2
  104. package/esm2022/selection-list/lib/selection-list.component.mjs +51 -1
  105. package/esm2022/side-menu/lib/side-menu.component.mjs +5 -1
  106. package/esm2022/skeleton/lib/skeleton.component.mjs +11 -1
  107. package/esm2022/slider/lib/slider.component.mjs +52 -2
  108. package/esm2022/step-wizard/lib/step-wizard.component.mjs +23 -1
  109. package/esm2022/switch/lib/switch-content.component.mjs +5 -1
  110. package/esm2022/switch/lib/switch.component.mjs +11 -1
  111. package/esm2022/tabs/lib/tab-item.component.mjs +24 -1
  112. package/esm2022/tabs/lib/tabs.component.mjs +36 -1
  113. package/esm2022/tag/lib/tag.component.mjs +2 -1
  114. package/esm2022/text-area/lib/text-area.component.mjs +8 -1
  115. package/esm2022/text-box/lib/text-box.component.mjs +13 -1
  116. package/esm2022/toast/lib/toast.component.mjs +6 -1
  117. package/esm2022/tooltip/lib/tooltip.component.mjs +5 -1
  118. package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +16 -1
  119. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +5 -1
  120. package/esm2022/uploader/lib/uploader-list.component.mjs +8 -3
  121. package/esm2022/uploader/lib/uploader.models.mjs +14 -1
  122. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +18 -1
  123. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +106 -36
  124. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -1
  125. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -1
  126. package/fesm2022/acorex-components-action-sheet.mjs +20 -0
  127. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  128. package/fesm2022/acorex-components-alert.mjs +47 -2
  129. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  130. package/fesm2022/acorex-components-audio-wave.mjs +42 -0
  131. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  132. package/fesm2022/acorex-components-avatar.mjs +20 -1
  133. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  134. package/fesm2022/acorex-components-badge.mjs +8 -0
  135. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  136. package/fesm2022/acorex-components-bottom-navigation.mjs +13 -0
  137. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  138. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -0
  139. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  140. package/fesm2022/acorex-components-button-group.mjs +47 -0
  141. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  142. package/fesm2022/acorex-components-button.mjs +105 -0
  143. package/fesm2022/acorex-components-button.mjs.map +1 -1
  144. package/fesm2022/acorex-components-calendar.mjs +156 -0
  145. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-check-box.mjs +33 -0
  147. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  148. package/fesm2022/acorex-components-chips.mjs +13 -0
  149. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  150. package/fesm2022/acorex-components-circular-progress.mjs +68 -0
  151. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  152. package/fesm2022/acorex-components-collapse.mjs +90 -0
  153. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  154. package/fesm2022/acorex-components-color-box.mjs +22 -1
  155. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-color-palette.mjs +140 -0
  157. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  158. package/fesm2022/acorex-components-comment.mjs +35 -0
  159. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  160. package/fesm2022/acorex-components-common.mjs +44 -0
  161. package/fesm2022/acorex-components-common.mjs.map +1 -1
  162. package/fesm2022/acorex-components-conversation.mjs +372 -0
  163. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  164. package/fesm2022/acorex-components-data-pager.mjs +62 -0
  165. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler.mjs +32 -0
  167. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  168. package/fesm2022/acorex-components-search-box.mjs +18 -1
  169. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  170. package/fesm2022/acorex-components-select-box.mjs +49 -1
  171. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  172. package/fesm2022/acorex-components-selection-list.mjs +50 -0
  173. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  174. package/fesm2022/acorex-components-side-menu.mjs +4 -0
  175. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  176. package/fesm2022/acorex-components-skeleton.mjs +10 -0
  177. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  178. package/fesm2022/acorex-components-slider.mjs +51 -1
  179. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  180. package/fesm2022/acorex-components-step-wizard.mjs +22 -0
  181. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  182. package/fesm2022/acorex-components-switch.mjs +14 -0
  183. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  184. package/fesm2022/acorex-components-tabs.mjs +58 -0
  185. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  186. package/fesm2022/acorex-components-tag.mjs +1 -0
  187. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  188. package/fesm2022/acorex-components-text-area.mjs +7 -0
  189. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  190. package/fesm2022/acorex-components-text-box.mjs +12 -0
  191. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  192. package/fesm2022/acorex-components-toast.mjs +5 -0
  193. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tooltip.mjs +4 -0
  195. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  196. package/fesm2022/acorex-components-uploader.mjs +39 -2
  197. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  198. package/fesm2022/acorex-components-wysiwyg.mjs +134 -35
  199. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  200. package/package.json +31 -31
  201. package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
  202. package/scheduler/lib/scheduler-week-view.component.d.ts +4 -0
  203. package/scheduler/lib/scheduler.component.d.ts +10 -0
  204. package/search-box/lib/search-box.component.d.ts +19 -1
  205. package/select-box/lib/select-box.component.d.ts +78 -1
  206. package/selection-list/lib/selection-list.component.d.ts +55 -0
  207. package/side-menu/lib/side-menu.component.d.ts +4 -0
  208. package/skeleton/lib/skeleton.component.d.ts +10 -0
  209. package/slider/lib/slider.component.d.ts +51 -1
  210. package/step-wizard/lib/step-wizard.component.d.ts +23 -0
  211. package/switch/lib/switch-content.component.d.ts +4 -0
  212. package/switch/lib/switch.component.d.ts +14 -0
  213. package/tabs/lib/tab-item.component.d.ts +32 -0
  214. package/tabs/lib/tabs.component.d.ts +42 -0
  215. package/tag/lib/tag.component.d.ts +4 -0
  216. package/text-area/lib/text-area.component.d.ts +13 -0
  217. package/text-box/lib/text-box.component.d.ts +27 -0
  218. package/toast/lib/toast.component.d.ts +6 -0
  219. package/tooltip/lib/tooltip.component.d.ts +13 -0
  220. package/uploader/lib/uploader-dialog-container.component.d.ts +15 -0
  221. package/uploader/lib/uploader-drop-zone.component.d.ts +4 -0
  222. package/uploader/lib/uploader-list.component.d.ts +5 -0
  223. package/uploader/lib/uploader.models.d.ts +4 -0
  224. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +19 -3
  225. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +61 -20
  226. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +4 -0
  227. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +3 -0
@@ -5,6 +5,11 @@ import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { RouterModule } from '@angular/router';
7
7
 
8
+ /**
9
+ * The Breadcrumbs component displays a navigation trail of links, helping users to track their location within an application's hierarchy.
10
+ *
11
+ * @category Components
12
+ */
8
13
  class AXBreadCrumbsComponent extends MXBaseComponent {
9
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXBreadCrumbsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
15
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXBreadCrumbsComponent, selector: "ax-breadcrumbs", queries: [{ propertyName: "_divider", first: true, predicate: ["divider"], descendants: true }], viewQueries: [{ propertyName: "dividerTemplate", first: true, predicate: ["dividerTpl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>", styles: ["ax-breadcrumbs{display:inline-flex;width:100%;align-items:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;font-size:initial}ax-breadcrumbs ax-breadcrumbs-item{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:.875rem;line-height:1.25rem;font-weight:500;text-decoration-line:none}ax-breadcrumbs ax-breadcrumbs-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-breadcrumbs ax-breadcrumbs-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-breadcrumbs ax-breadcrumbs-item ax-prefix{padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item>.ax-breadcrumb-divider{padding-left:.25rem;padding-right:.25rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item:last-child .ax-breadcrumb-divider{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -20,6 +25,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
20
25
  args: ['dividerTpl']
21
26
  }] } });
22
27
 
28
+ /**
29
+ * Component representing an item in a breadcrumbs navigation.
30
+ *
31
+ * @category Components
32
+ */
23
33
  class AXBreadCrumbsItemComponent extends MXInteractiveComponent {
24
34
  /**
25
35
  * @ignore
@@ -28,6 +38,9 @@ class AXBreadCrumbsItemComponent extends MXInteractiveComponent {
28
38
  super();
29
39
  this._parent = _parent;
30
40
  }
41
+ /**
42
+ * @ignore
43
+ */
31
44
  get __hostClass() {
32
45
  return [`${this.active ? 'ax-state-active' : ''}`, `${this.disabled ? 'ax-state-disabled' : ''}`];
33
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-breadcrumbs.mjs","sources":["../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.component.ts","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.component.html","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs-item.component.ts","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs-item.component.html","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.module.ts","../../../../libs/components/breadcrumbs/src/acorex-components-breadcrumbs.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXBreadCrumbsComponent extends MXBaseComponent {\n @ContentChild('divider')\n protected _divider: TemplateRef<any>;\n\n @ViewChild('dividerTpl')\n dividerTemplate: TemplateRef<any>;\n}\n","<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>","import { MXInteractiveComponent } from '@acorex/components/common';\nimport { Component, HostBinding, Inject, Input } from '@angular/core';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n@Component({\n selector: 'ax-breadcrumbs-item',\n inputs: ['disabled'],\n templateUrl: './breadcrumbs-item.component.html',\n})\nexport class AXBreadCrumbsItemComponent extends MXInteractiveComponent {\n @Input() active: boolean;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXBreadCrumbsComponent)\n public _parent: AXBreadCrumbsComponent,\n ) {\n super();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`${this.active ? 'ax-state-active' : ''}`, `${this.disabled ? 'ax-state-disabled' : ''}`];\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n<div class=\"ax-breadcrumb-divider\">\n <ng-container *ngTemplateOutlet=\"_parent.dividerTemplate\"></ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXBreadCrumbsItemComponent } from './breadcrumbs-item.component';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n declarations: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n imports: [CommonModule, RouterModule],\n exports: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n providers: [],\n})\nexport class AXBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-breadcrumbs.mjs","sources":["../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.component.ts","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.component.html","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs-item.component.ts","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs-item.component.html","../../../../libs/components/breadcrumbs/src/lib/breadcrumbs.module.ts","../../../../libs/components/breadcrumbs/src/acorex-components-breadcrumbs.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * The Breadcrumbs component displays a navigation trail of links, helping users to track their location within an application's hierarchy.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXBreadCrumbsComponent extends MXBaseComponent {\n /**\n * @ignore\n */\n @ContentChild('divider')\n protected _divider: TemplateRef<any>;\n\n /**\n * @ignore\n */\n @ViewChild('dividerTpl')\n dividerTemplate: TemplateRef<any>;\n}\n","<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>","import { MXInteractiveComponent } from '@acorex/components/common';\nimport { Component, HostBinding, Inject, Input } from '@angular/core';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n/**\n * Component representing an item in a breadcrumbs navigation.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-breadcrumbs-item',\n inputs: ['disabled'],\n templateUrl: './breadcrumbs-item.component.html',\n})\nexport class AXBreadCrumbsItemComponent extends MXInteractiveComponent {\n /**\n * Indicates whether this breadcrumb item is the current active item.\n */\n @Input() active: boolean;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXBreadCrumbsComponent)\n public _parent: AXBreadCrumbsComponent,\n ) {\n super();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`${this.active ? 'ax-state-active' : ''}`, `${this.disabled ? 'ax-state-disabled' : ''}`];\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n<div class=\"ax-breadcrumb-divider\">\n <ng-container *ngTemplateOutlet=\"_parent.dividerTemplate\"></ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXBreadCrumbsItemComponent } from './breadcrumbs-item.component';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n declarations: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n imports: [CommonModule, RouterModule],\n exports: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n providers: [],\n})\nexport class AXBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,12 +5,32 @@ import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Co
5
5
  import { classes } from 'polytype';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
8
+ /**
9
+ * A component that groups multiple buttons together, allowing for consistent styling and behavior.
10
+ *
11
+ * @category Components
12
+ */
8
13
  class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {
9
14
  constructor() {
10
15
  super(...arguments);
16
+ /**
17
+ * Fires when any button in the group is clicked.
18
+ *
19
+ * @event
20
+ */
11
21
  this.onClick = new EventEmitter();
22
+ /**
23
+ * Emitted when the selection mode changes.
24
+ *
25
+ * @event
26
+ */
12
27
  this.selectionChange = new EventEmitter();
13
28
  }
29
+ /**
30
+ * Defines the selection mode for the component.
31
+ *
32
+ * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.
33
+ */
14
34
  get selection() {
15
35
  return this._selection;
16
36
  }
@@ -25,6 +45,9 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
25
45
  },
26
46
  });
27
47
  }
48
+ /**
49
+ * @ignore
50
+ */
28
51
  ngAfterContentInit() {
29
52
  this._bindEvents();
30
53
  this._bindProps();
@@ -33,6 +56,9 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
33
56
  this._bindProps();
34
57
  });
35
58
  }
59
+ /**
60
+ * @ignore
61
+ */
36
62
  _bindEvents() {
37
63
  this._contentButtons?.forEach((b) => {
38
64
  if (!b.onClick.length)
@@ -41,6 +67,9 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
41
67
  });
42
68
  });
43
69
  }
70
+ /**
71
+ * @ignore
72
+ */
44
73
  _bindProps() {
45
74
  this._contentButtons?.forEach((b) => {
46
75
  if (b['originDisabled'] == null) {
@@ -54,9 +83,15 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
54
83
  b.toggleable = false;
55
84
  });
56
85
  }
86
+ /**
87
+ * Updates component properties based on internal option changes.
88
+ */
57
89
  internalOptionChanged() {
58
90
  this._bindProps();
59
91
  }
92
+ /**
93
+ * @ignore
94
+ */
60
95
  _handleClickEvent(e, button) {
61
96
  if (this.selection == 'multiple') {
62
97
  button.selected = !button.selected;
@@ -69,11 +104,17 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
69
104
  button.selected = false;
70
105
  }
71
106
  }
107
+ /**
108
+ * @ignore
109
+ */
72
110
  clearSelection() {
73
111
  this._contentButtons?.forEach((c) => {
74
112
  c.selected = false;
75
113
  });
76
114
  }
115
+ /**
116
+ * @ignore
117
+ */
77
118
  get __hostClass() {
78
119
  const cssClasses = {
79
120
  'ax-state-disabled': this.disabled,
@@ -82,9 +123,15 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
82
123
  cssClasses[`ax-look-${this.look || 'default'}`] = true;
83
124
  return cssClasses;
84
125
  }
126
+ /**
127
+ * @ignore
128
+ */
85
129
  get role() {
86
130
  return 'group';
87
131
  }
132
+ /**
133
+ * @ignore
134
+ */
88
135
  __hostClick(e) {
89
136
  if (!this.disabled) {
90
137
  this.onClick.emit({
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import { AXButtonItemComponent } from '@acorex/components/button';\nimport { AXClickEvent, AXSelectionMode, MXColorLookComponent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'color', 'look'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n})\nexport class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) implements AfterContentInit {\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @ContentChildren(AXButtonItemComponent)\n private _contentButtons: QueryList<AXButtonItemComponent>;\n\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n private _selection: AXSelectionMode;\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n ngAfterContentInit() {\n this._bindEvents();\n this._bindProps();\n this._contentButtons.changes.subscribe(() => {\n this._bindEvents();\n this._bindProps();\n });\n }\n\n private _bindEvents() {\n this._contentButtons?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n private _bindProps() {\n this._contentButtons?.forEach((b: any) => {\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (this.look) b.look = this.look;\n if (this.color) b.color = this.color;\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n override internalOptionChanged() {\n this._bindProps();\n }\n\n private _handleClickEvent(e: AXClickEvent, button: AXButtonItemComponent) {\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n private clearSelection() {\n this._contentButtons?.forEach((c: AXButtonItemComponent) => {\n c.selected = false;\n });\n }\n\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n };\n cssClasses[`ax-color-${this.color || 'primary'}`] = true;\n cssClasses[`ax-look-${this.look || 'default'}`] = true;\n return cssClasses;\n }\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-item\"></ng-content>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import { AXButtonItemComponent } from '@acorex/components/button';\nimport { AXClickEvent, AXSelectionMode, MXColorLookComponent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'color', 'look'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n})\nexport class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) implements AfterContentInit {\n /**\n * Fires when any button in the group is clicked.\n *\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @ContentChildren(AXButtonItemComponent)\n private _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * Emitted when the selection mode changes.\n *\n * @event\n */\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n /**\n * @ignore\n */\n private _selection: AXSelectionMode;\n\n /**\n * Defines the selection mode for the component.\n *\n * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n */\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n /**\n * @ignore\n */\n ngAfterContentInit() {\n this._bindEvents();\n this._bindProps();\n this._contentButtons.changes.subscribe(() => {\n this._bindEvents();\n this._bindProps();\n });\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b: any) => {\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (this.look) b.look = this.look;\n if (this.color) b.color = this.color;\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n /**\n * Updates component properties based on internal option changes.\n */\n override internalOptionChanged() {\n this._bindProps();\n }\n\n /**\n * @ignore\n */\n private _handleClickEvent(e: AXClickEvent, button: AXButtonItemComponent) {\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n /**\n * @ignore\n */\n private clearSelection() {\n this._contentButtons?.forEach((c: AXButtonItemComponent) => {\n c.selected = false;\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n };\n cssClasses[`ax-color-${this.color || 'primary'}`] = true;\n cssClasses[`ax-look-${this.look || 'default'}`] = true;\n return cssClasses;\n }\n /**\n * @ignore\n */\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-item\"></ng-content>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,13 +8,36 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
8
8
  import { AXLoadingModule } from '@acorex/components/loading';
9
9
  import { CommonModule } from '@angular/common';
10
10
 
11
+ /**
12
+ * Represents a button item with optional content like icons, text, and dropdowns.
13
+ *
14
+ * @category Components
15
+ */
11
16
  class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {
12
17
  constructor() {
13
18
  super(...arguments);
19
+ /**
20
+ * Whether the item is visually separated from other items.
21
+ * @defaultValue false
22
+ */
14
23
  this.divided = false;
24
+ /**
25
+ * Emitted when the button item is clicked.
26
+ * @event
27
+ * The emitted value is an `AXClickEvent` object containing event details.
28
+ */
15
29
  this.onClick = new EventEmitter();
30
+ /**
31
+ * @ignore
32
+ */
16
33
  this.tabindex = '0';
17
34
  }
35
+ /**
36
+ * Indicates whether the button item is selected.
37
+ *
38
+ * @param v - A boolean indicating the selected state.
39
+ * Updates the view when the value changes.
40
+ */
18
41
  get selected() {
19
42
  return this._selected;
20
43
  }
@@ -22,6 +45,9 @@ class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorCompo
22
45
  this._selected = v;
23
46
  this.cdr.markForCheck();
24
47
  }
48
+ /**
49
+ * @ignore
50
+ */
25
51
  __hostClick(e) {
26
52
  if (!this.disabled) {
27
53
  this.onClick.emit({
@@ -31,12 +57,21 @@ class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorCompo
31
57
  });
32
58
  }
33
59
  }
60
+ /**
61
+ * @ignore
62
+ */
34
63
  __hostFocus(e) {
35
64
  this.emitOnFocusEvent(e);
36
65
  }
66
+ /**
67
+ * @ignore
68
+ */
37
69
  __hostBlur(e) {
38
70
  this.emitOnBlurEvent(e);
39
71
  }
72
+ /**
73
+ * @ignore
74
+ */
40
75
  get __hostClass() {
41
76
  const cssClasses = {
42
77
  'ax-button-icon': !this.text,
@@ -110,11 +145,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
110
145
  args: ['attr.tabindex']
111
146
  }] } });
112
147
 
148
+ /**
149
+ * A component for rendering a list of button items with optional dividers between them.
150
+ *
151
+ * @category Components
152
+ */
113
153
  class AXButtonItemListComponent extends MXInteractiveComponent {
154
+ /**
155
+ * @ignore
156
+ */
114
157
  constructor(parent) {
115
158
  super();
116
159
  this.parent = parent;
160
+ /**
161
+ * The list of button items to display.
162
+ *
163
+ * @defaultValue []
164
+ */
117
165
  this.items = input([]);
166
+ /**
167
+ * Emits an event when an item is clicked.
168
+ * The event contains details about the clicked item.
169
+ *
170
+ * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.
171
+ */
118
172
  this.onItemClick = new EventEmitter();
119
173
  afterNextRender(() => {
120
174
  this._initContents();
@@ -123,11 +177,17 @@ class AXButtonItemListComponent extends MXInteractiveComponent {
123
177
  });
124
178
  });
125
179
  }
180
+ /**
181
+ * @ignore
182
+ */
126
183
  _initContents() {
127
184
  this._bindEvents();
128
185
  this._bindProps();
129
186
  this.cdr.markForCheck();
130
187
  }
188
+ /**
189
+ * @ignore
190
+ */
131
191
  _bindEvents() {
132
192
  this._contentButtons?.forEach((b) => {
133
193
  if (!b.onClick.length)
@@ -136,15 +196,24 @@ class AXButtonItemListComponent extends MXInteractiveComponent {
136
196
  });
137
197
  });
138
198
  }
199
+ /**
200
+ * @ignore
201
+ */
139
202
  _bindProps() {
140
203
  this._contentButtons?.forEach((b) => {
141
204
  b.disabled = b.disabled ?? this.disabled;
142
205
  });
143
206
  }
207
+ /**
208
+ * @ignore
209
+ */
144
210
  _handleOnItemClick(e) {
145
211
  this.parent?.close();
146
212
  this._emitOnItemClickEvent(e, e.component);
147
213
  }
214
+ /**
215
+ * @ignore
216
+ */
148
217
  _emitOnItemClickEvent(e, item) {
149
218
  this.onItemClick.emit({
150
219
  component: this,
@@ -226,16 +295,38 @@ class AXButtonComponent extends MXButtonBaseComponent {
226
295
  * @event
227
296
  */
228
297
  this.onClick = new EventEmitter();
298
+ /**
299
+ * Specifies the type of button to be used in the action sheet.
300
+ *
301
+ * @defaultValue 'button'
302
+ */
229
303
  this.type = input('button');
304
+ /**
305
+ * convert button to just icon in specific break points.
306
+ */
230
307
  this.responsiveOn = model();
308
+ /**
309
+ * Defines the text displayed while the action sheet is loading.
310
+ *
311
+ * @defaultValue null
312
+ */
231
313
  this.loadingText = model(null);
232
314
  }
315
+ /**
316
+ * @ignore
317
+ */
233
318
  ngAfterViewInit() {
234
319
  this.getHostElement().removeAttribute('tabindex');
235
320
  }
321
+ /**
322
+ * @ignore
323
+ */
236
324
  getButton() {
237
325
  return this.getHostElement().firstElementChild;
238
326
  }
327
+ /**
328
+ * @ignore
329
+ */
239
330
  _handleClick(e) {
240
331
  if (this.disabled) {
241
332
  e.preventDefault();
@@ -254,18 +345,32 @@ class AXButtonComponent extends MXButtonBaseComponent {
254
345
  this.blur();
255
346
  });
256
347
  }
348
+ /**
349
+ * Triggers a click event on the button element.
350
+ */
257
351
  click() {
258
352
  this.getButton()?.click();
259
353
  }
354
+ /**
355
+ * @ignore
356
+ */
260
357
  get __hostClass() {
261
358
  return Object.entries(this.cssClasses)
262
359
  .filter((c) => c[1])
263
360
  .map((c) => c[0]);
264
361
  }
362
+ /**
363
+ * Sets focus on the button element and adds a focus style class.
364
+ *
365
+ */
265
366
  focus() {
266
367
  this.getButton()?.focus();
267
368
  this.getButton().classList.add('ax-state-focus');
268
369
  }
370
+ /**
371
+ * Removes the focus style class from the button element
372
+ * when the button loses focus.
373
+ */
269
374
  blur() {
270
375
  this.getButton().classList.remove('ax-state-focus');
271
376
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button-item-list.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { AXClickEvent, AXStyleColorType, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <span class=\"ax-button-item-text\">{{ text }}</span>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n @Input()\n text: string;\n\n private _selected: boolean;\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n @Input()\n divided = false;\n\n @Input()\n data: unknown;\n\n @Input()\n name: string;\n\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXClickEvent, AXClosbaleComponent, AXItemClickEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n input,\n} from '@angular/core';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"item.disabled\"\n [color]=\"item.color\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n }\n <ng-content select=\"ax-button-item, ax-title, ax-divider, ng-container\"></ng-content>\n `,\n styleUrls: ['./button-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n items = input<AXButtonItemListItem[]>([]);\n\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<AXItemClickEvent<AXButtonItemComponent>>();\n\n constructor(\n @Optional()\n @Inject(AXClosbaleComponent)\n private parent?: AXClosbaleComponent,\n ) {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n });\n }\n\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n protected _handleOnItemClick(e: AXClickEvent) {\n this.parent?.close();\n this._emitOnItemClickEvent(e, e.component);\n }\n\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n}\n","import { AXClickEvent, AXComponent, AXFocusableComponent, MXButtonBaseComponent } from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXResponsiveOn } from './button.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange', 'lookChange', 'colorChange', 'disabledChange'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n type = input<AXButtonType>('button');\n\n responsiveOn = model<AXResponsiveOn>();\n\n loadingText = model<string | null>(null);\n\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n click() {\n this.getButton()?.click();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button [axRipple] [disabled]=\"disabled\" [class]=\"'ax-state-responsive-'+responsiveOn()\" [attr.tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\"\n [attr.type]=\"type()\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text && !loadingText()){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n @if(loadingText()){\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>","import { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule, AXLoadingModule, AXRippleDirective];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AXButtonItemComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button-item-list.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { AXClickEvent, AXStyleColorType, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <span class=\"ax-button-item-text\">{{ text }}</span>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n /**\n * Indicates whether the button item is selected.\n * \n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n /**\n * @ignore\n */\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXClickEvent, AXClosbaleComponent, AXItemClickEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n input,\n} from '@angular/core';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n/**\n * A component for rendering a list of button items with optional dividers between them.\n * \n * @category Components\n */\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"item.disabled\"\n [color]=\"item.color\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n }\n <ng-content select=\"ax-button-item, ax-title, ax-divider, ng-container\"></ng-content>\n `,\n styleUrls: ['./button-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * The list of button items to display.\n * \n * @defaultValue []\n */\n items = input<AXButtonItemListItem[]>([]);\n\n\n /**\n * Emits an event when an item is clicked.\n * The event contains details about the clicked item.\n * \n * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.\n */\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<AXItemClickEvent<AXButtonItemComponent>>();\n\n /**\n * @ignore\n */\n constructor(\n @Optional()\n @Inject(AXClosbaleComponent)\n private parent?: AXClosbaleComponent,\n ) {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n });\n }\n\n /**\n * @ignore\n */\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n /**\n * @ignore\n */\n protected _handleOnItemClick(e: AXClickEvent) {\n this.parent?.close();\n this._emitOnItemClickEvent(e, e.component);\n }\n\n /**\n * @ignore\n */\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n}\n","import { AXClickEvent, AXComponent, AXFocusableComponent, MXButtonBaseComponent } from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXResponsiveOn } from './button.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange', 'lookChange', 'colorChange', 'disabledChange'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * Specifies the type of button to be used in the action sheet.\n *\n * @defaultValue 'button'\n */\n type = input<AXButtonType>('button');\n\n /**\n * convert button to just icon in specific break points.\n */\n responsiveOn = model<AXResponsiveOn>();\n\n /**\n * Defines the text displayed while the action sheet is loading.\n *\n * @defaultValue null\n */\n loadingText = model<string | null>(null);\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Triggers a click event on the button element.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n /**\n * Sets focus on the button element and adds a focus style class.\n *\n */\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n /**\n * Removes the focus style class from the button element\n * when the button loses focus.\n */\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button [axRipple] [disabled]=\"disabled\" [class]=\"'ax-state-responsive-'+responsiveOn()\" [attr.tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\"\n [attr.type]=\"type()\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text && !loadingText()){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n @if(loadingText()){\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>","import { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule, AXLoadingModule, AXRippleDirective];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AXButtonItemComponent","i1"],"mappings":"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"}