@acorex/components 7.0.36 → 7.0.37

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 (238) hide show
  1. package/alert/src/alert.component.d.ts +2 -2
  2. package/badge/src/badge.component.d.ts +2 -2
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +6 -6
  4. package/button/src/button-group.component.d.ts +6 -6
  5. package/button/src/button-item.component.d.ts +6 -6
  6. package/button/src/button.component.d.ts +11 -10
  7. package/chips/src/chips.component.d.ts +6 -6
  8. package/color-picker/src/color-picker.component.d.ts +16 -16
  9. package/common/public-api.d.ts +1 -0
  10. package/common/src/components/base-component.class.d.ts +31 -0
  11. package/common/src/components/button-base-component.class.d.ts +36 -0
  12. package/common/src/components/color-component.class.d.ts +15 -0
  13. package/common/src/components/colorlook-component.class.d.ts +9 -0
  14. package/common/src/components/index.d.ts +6 -0
  15. package/common/src/components/interactive-component.class.d.ts +37 -0
  16. package/common/src/components/look-component.class.d.ts +15 -0
  17. package/date-picker/src/datepicker.component.d.ts +14 -14
  18. package/dialog/src/dialog.service.d.ts +8 -8
  19. package/esm2020/action-sheet/src/action-sheet.component.mjs +20 -7
  20. package/esm2020/alert/src/alert.component.mjs +2 -2
  21. package/esm2020/avatar/src/avatar.component.mjs +2 -2
  22. package/esm2020/badge/src/badge.component.mjs +2 -2
  23. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +2 -2
  24. package/esm2020/button/src/button.component.mjs +32 -23
  25. package/esm2020/calendar/src/calendar.component.mjs +2 -2
  26. package/esm2020/card/src/card.component.mjs +2 -2
  27. package/esm2020/chips/src/chips.component.mjs +2 -2
  28. package/esm2020/collapse/src/collapse.component.mjs +2 -2
  29. package/esm2020/color-palette/src/color-palette.component.mjs +2 -2
  30. package/esm2020/common/public-api.mjs +2 -1
  31. package/esm2020/common/src/components/base-component.class.mjs +57 -0
  32. package/esm2020/common/src/components/button-base-component.class.mjs +68 -0
  33. package/esm2020/common/src/components/color-component.class.mjs +27 -0
  34. package/esm2020/common/src/components/colorlook-component.class.mjs +11 -0
  35. package/esm2020/common/src/components/index.mjs +7 -0
  36. package/esm2020/common/src/components/interactive-component.class.mjs +62 -0
  37. package/esm2020/common/src/components/look-component.class.mjs +27 -0
  38. package/esm2020/context-menu/src/context-menu.component.mjs +2 -2
  39. package/esm2020/data-pager/src/data-pager.component.mjs +2 -2
  40. package/esm2020/data-table/src/data-table.component.mjs +2 -2
  41. package/esm2020/dialog/src/dialog.component.mjs +2 -2
  42. package/esm2020/dialog/src/dialog.service.mjs +16 -20
  43. package/esm2020/drawer/src/drawer.component.mjs +2 -2
  44. package/esm2020/dropdown/src/dropdown-panel.component.mjs +2 -2
  45. package/esm2020/form/src/form-field.component.mjs +2 -2
  46. package/esm2020/label/src/label.component.mjs +2 -2
  47. package/esm2020/loading/src/loading.component.mjs +2 -2
  48. package/esm2020/menu/src/menu.component.mjs +2 -2
  49. package/esm2020/notification/src/notification.component.mjs +2 -2
  50. package/esm2020/number-box/src/number-box.component.mjs +3 -3
  51. package/esm2020/picker/src/picker-column.component.mjs +2 -2
  52. package/esm2020/popup/src/popup.component.mjs +2 -2
  53. package/esm2020/progress-bar/src/progress-bar.component.mjs +2 -2
  54. package/esm2020/range-slider/src/range-slider.component.mjs +2 -2
  55. package/esm2020/result/src/result.component.mjs +2 -2
  56. package/esm2020/select-box/src/selectbox.component.mjs +2 -2
  57. package/esm2020/selection-list/src/selection-list.component.mjs +2 -2
  58. package/esm2020/switch/src/switch.component.mjs +2 -2
  59. package/esm2020/tabs/src/tabs.component.mjs +2 -2
  60. package/esm2020/tag/src/tag.component.mjs +2 -2
  61. package/esm2020/textarea/src/textarea.component.mjs +2 -2
  62. package/esm2020/toast/src/toast.component.mjs +2 -2
  63. package/esm2020/tooltip/src/tooltip.component.mjs +2 -2
  64. package/esm2020/tree-view/src/tree-view.component.mjs +2 -2
  65. package/esm2020/uploader/src/uploader.component.mjs +2 -2
  66. package/fesm2015/acorex-components-action-sheet.mjs +19 -6
  67. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
  68. package/fesm2015/acorex-components-alert.mjs +2 -3
  69. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  70. package/fesm2015/acorex-components-avatar.mjs +2 -2
  71. package/fesm2015/acorex-components-avatar.mjs.map +1 -1
  72. package/fesm2015/acorex-components-badge.mjs +2 -2
  73. package/fesm2015/acorex-components-badge.mjs.map +1 -1
  74. package/fesm2015/acorex-components-breadcrumbs.mjs +2 -2
  75. package/fesm2015/acorex-components-breadcrumbs.mjs.map +1 -1
  76. package/fesm2015/acorex-components-button.mjs +32 -22
  77. package/fesm2015/acorex-components-button.mjs.map +1 -1
  78. package/fesm2015/acorex-components-calendar.mjs +2 -2
  79. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  80. package/fesm2015/acorex-components-card.mjs +2 -2
  81. package/fesm2015/acorex-components-card.mjs.map +1 -1
  82. package/fesm2015/acorex-components-chips.mjs +2 -2
  83. package/fesm2015/acorex-components-chips.mjs.map +1 -1
  84. package/fesm2015/acorex-components-collapse.mjs +2 -2
  85. package/fesm2015/acorex-components-collapse.mjs.map +1 -1
  86. package/fesm2015/acorex-components-color-palette.mjs +2 -2
  87. package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
  88. package/fesm2015/acorex-components-common.mjs +241 -2
  89. package/fesm2015/acorex-components-common.mjs.map +1 -1
  90. package/fesm2015/acorex-components-context-menu.mjs +2 -2
  91. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  92. package/fesm2015/acorex-components-data-pager.mjs +2 -2
  93. package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
  94. package/fesm2015/acorex-components-data-table.mjs +2 -2
  95. package/fesm2015/acorex-components-data-table.mjs.map +1 -1
  96. package/fesm2015/acorex-components-dialog.mjs +17 -21
  97. package/fesm2015/acorex-components-dialog.mjs.map +1 -1
  98. package/fesm2015/acorex-components-drawer.mjs +2 -2
  99. package/fesm2015/acorex-components-drawer.mjs.map +1 -1
  100. package/fesm2015/acorex-components-dropdown.mjs +1 -1
  101. package/fesm2015/acorex-components-dropdown.mjs.map +1 -1
  102. package/fesm2015/acorex-components-form.mjs +2 -3
  103. package/fesm2015/acorex-components-form.mjs.map +1 -1
  104. package/fesm2015/acorex-components-label.mjs +2 -2
  105. package/fesm2015/acorex-components-label.mjs.map +1 -1
  106. package/fesm2015/acorex-components-loading.mjs +2 -2
  107. package/fesm2015/acorex-components-menu.mjs +2 -2
  108. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  109. package/fesm2015/acorex-components-notification.mjs +2 -2
  110. package/fesm2015/acorex-components-notification.mjs.map +1 -1
  111. package/fesm2015/acorex-components-number-box.mjs +2 -2
  112. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  113. package/fesm2015/acorex-components-picker.mjs +2 -2
  114. package/fesm2015/acorex-components-picker.mjs.map +1 -1
  115. package/fesm2015/acorex-components-popup.mjs +2 -2
  116. package/fesm2015/acorex-components-popup.mjs.map +1 -1
  117. package/fesm2015/acorex-components-progress-bar.mjs +2 -2
  118. package/fesm2015/acorex-components-progress-bar.mjs.map +1 -1
  119. package/fesm2015/acorex-components-range-slider.mjs +2 -2
  120. package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
  121. package/fesm2015/acorex-components-result.mjs +2 -2
  122. package/fesm2015/acorex-components-result.mjs.map +1 -1
  123. package/fesm2015/acorex-components-select-box.mjs +2 -2
  124. package/fesm2015/acorex-components-select-box.mjs.map +1 -1
  125. package/fesm2015/acorex-components-selection-list.mjs +2 -3
  126. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  127. package/fesm2015/acorex-components-switch.mjs +2 -3
  128. package/fesm2015/acorex-components-switch.mjs.map +1 -1
  129. package/fesm2015/acorex-components-tabs.mjs +2 -3
  130. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  131. package/fesm2015/acorex-components-tag.mjs +2 -3
  132. package/fesm2015/acorex-components-tag.mjs.map +1 -1
  133. package/fesm2015/acorex-components-textarea.mjs +2 -3
  134. package/fesm2015/acorex-components-textarea.mjs.map +1 -1
  135. package/fesm2015/acorex-components-time-box.mjs +0 -1
  136. package/fesm2015/acorex-components-toast.mjs +2 -2
  137. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  138. package/fesm2015/acorex-components-tooltip.mjs +2 -3
  139. package/fesm2015/acorex-components-tooltip.mjs.map +1 -1
  140. package/fesm2015/acorex-components-tree-view.mjs +2 -3
  141. package/fesm2015/acorex-components-tree-view.mjs.map +1 -1
  142. package/fesm2015/acorex-components-uploader.mjs +2 -3
  143. package/fesm2015/acorex-components-uploader.mjs.map +1 -1
  144. package/fesm2020/acorex-components-action-sheet.mjs +19 -6
  145. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
  146. package/fesm2020/acorex-components-alert.mjs +2 -3
  147. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  148. package/fesm2020/acorex-components-avatar.mjs +2 -2
  149. package/fesm2020/acorex-components-avatar.mjs.map +1 -1
  150. package/fesm2020/acorex-components-badge.mjs +2 -2
  151. package/fesm2020/acorex-components-badge.mjs.map +1 -1
  152. package/fesm2020/acorex-components-breadcrumbs.mjs +2 -2
  153. package/fesm2020/acorex-components-breadcrumbs.mjs.map +1 -1
  154. package/fesm2020/acorex-components-button.mjs +32 -22
  155. package/fesm2020/acorex-components-button.mjs.map +1 -1
  156. package/fesm2020/acorex-components-calendar.mjs +2 -2
  157. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  158. package/fesm2020/acorex-components-card.mjs +2 -2
  159. package/fesm2020/acorex-components-card.mjs.map +1 -1
  160. package/fesm2020/acorex-components-chips.mjs +2 -2
  161. package/fesm2020/acorex-components-chips.mjs.map +1 -1
  162. package/fesm2020/acorex-components-collapse.mjs +2 -2
  163. package/fesm2020/acorex-components-collapse.mjs.map +1 -1
  164. package/fesm2020/acorex-components-color-palette.mjs +2 -2
  165. package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
  166. package/fesm2020/acorex-components-common.mjs +241 -2
  167. package/fesm2020/acorex-components-common.mjs.map +1 -1
  168. package/fesm2020/acorex-components-context-menu.mjs +2 -2
  169. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  170. package/fesm2020/acorex-components-data-pager.mjs +2 -2
  171. package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
  172. package/fesm2020/acorex-components-data-table.mjs +2 -2
  173. package/fesm2020/acorex-components-data-table.mjs.map +1 -1
  174. package/fesm2020/acorex-components-dialog.mjs +17 -21
  175. package/fesm2020/acorex-components-dialog.mjs.map +1 -1
  176. package/fesm2020/acorex-components-drawer.mjs +2 -2
  177. package/fesm2020/acorex-components-drawer.mjs.map +1 -1
  178. package/fesm2020/acorex-components-dropdown.mjs +1 -1
  179. package/fesm2020/acorex-components-dropdown.mjs.map +1 -1
  180. package/fesm2020/acorex-components-form.mjs +2 -3
  181. package/fesm2020/acorex-components-form.mjs.map +1 -1
  182. package/fesm2020/acorex-components-label.mjs +2 -2
  183. package/fesm2020/acorex-components-label.mjs.map +1 -1
  184. package/fesm2020/acorex-components-loading.mjs +2 -2
  185. package/fesm2020/acorex-components-menu.mjs +2 -2
  186. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  187. package/fesm2020/acorex-components-notification.mjs +2 -2
  188. package/fesm2020/acorex-components-notification.mjs.map +1 -1
  189. package/fesm2020/acorex-components-number-box.mjs +2 -2
  190. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  191. package/fesm2020/acorex-components-picker.mjs +2 -2
  192. package/fesm2020/acorex-components-picker.mjs.map +1 -1
  193. package/fesm2020/acorex-components-popup.mjs +2 -2
  194. package/fesm2020/acorex-components-popup.mjs.map +1 -1
  195. package/fesm2020/acorex-components-progress-bar.mjs +2 -2
  196. package/fesm2020/acorex-components-progress-bar.mjs.map +1 -1
  197. package/fesm2020/acorex-components-range-slider.mjs +2 -2
  198. package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
  199. package/fesm2020/acorex-components-result.mjs +2 -2
  200. package/fesm2020/acorex-components-result.mjs.map +1 -1
  201. package/fesm2020/acorex-components-select-box.mjs +2 -2
  202. package/fesm2020/acorex-components-select-box.mjs.map +1 -1
  203. package/fesm2020/acorex-components-selection-list.mjs +2 -3
  204. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  205. package/fesm2020/acorex-components-switch.mjs +2 -3
  206. package/fesm2020/acorex-components-switch.mjs.map +1 -1
  207. package/fesm2020/acorex-components-tabs.mjs +2 -3
  208. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  209. package/fesm2020/acorex-components-tag.mjs +2 -3
  210. package/fesm2020/acorex-components-tag.mjs.map +1 -1
  211. package/fesm2020/acorex-components-textarea.mjs +2 -3
  212. package/fesm2020/acorex-components-textarea.mjs.map +1 -1
  213. package/fesm2020/acorex-components-time-box.mjs +0 -1
  214. package/fesm2020/acorex-components-toast.mjs +2 -2
  215. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  216. package/fesm2020/acorex-components-tooltip.mjs +2 -3
  217. package/fesm2020/acorex-components-tooltip.mjs.map +1 -1
  218. package/fesm2020/acorex-components-tree-view.mjs +2 -3
  219. package/fesm2020/acorex-components-tree-view.mjs.map +1 -1
  220. package/fesm2020/acorex-components-uploader.mjs +2 -3
  221. package/fesm2020/acorex-components-uploader.mjs.map +1 -1
  222. package/mixin/src/base-components.class.d.ts +2 -2
  223. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  224. package/mixin/src/button-mixin.class.d.ts +2 -2
  225. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  226. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  227. package/mixin/src/datalist-component.class.d.ts +10 -10
  228. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  229. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  230. package/mixin/src/loading-mixin.class.d.ts +2 -2
  231. package/mixin/src/mixin.class.d.ts +61 -61
  232. package/mixin/src/page-component.class.d.ts +2 -2
  233. package/mixin/src/selection-component.class.d.ts +2 -2
  234. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  235. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  236. package/mixin/src/value-mixin.class.d.ts +8 -8
  237. package/package.json +3 -2
  238. package/tabs/src/tab-item.component.d.ts +2 -2
@@ -1,5 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Directive, Host, Self, Optional, Input, EventEmitter, Output, Inject, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, inject, ChangeDetectorRef, ElementRef, EventEmitter, Directive, Host, Self, Optional, Input, Output, Inject, TemplateRef, NgModule } from '@angular/core';
3
+ import { AXHtmlUtil } from '@acorex/core/utils';
4
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
5
+ import { classes } from 'polytype';
3
6
  import { skip, distinctUntilChanged, debounceTime, fromEvent, merge } from 'rxjs';
4
7
  import * as i1 from '@angular/forms';
5
8
  import * as i3 from '@angular/common';
@@ -233,6 +236,242 @@ const AXPositions = {
233
236
  },
234
237
  };
235
238
 
239
+ class MXBaseComponent {
240
+ constructor() {
241
+ this._cdr = inject(ChangeDetectorRef);
242
+ this._elementRef = inject(ElementRef);
243
+ }
244
+ // constructor() {
245
+ // this._cdr = );
246
+ // this._elementRef = inject(ElementRef);
247
+ // }
248
+ get cdr() {
249
+ return this._cdr;
250
+ }
251
+ getHostElement() {
252
+ return this._elementRef.nativeElement;
253
+ }
254
+ onOptionChanging(option) {
255
+ return option === null || option === void 0 ? void 0 : option.value;
256
+ }
257
+ onOptionChanged(option) {
258
+ }
259
+ setOption(option) {
260
+ const oldValue = this[option.name];
261
+ const newValue = this.onOptionChanging({
262
+ name: option.name,
263
+ value: option.value,
264
+ });
265
+ //TODO : check real changes
266
+ if (option.beforeCallback)
267
+ option.beforeCallback(oldValue, newValue);
268
+ if (oldValue != newValue) {
269
+ this[`_${option.name}`] = option.value;
270
+ this.onOptionChanged({ name: option.name, newValue, oldValue });
271
+ const emitter = this[`${option.name}Change`];
272
+ emitter === null || emitter === void 0 ? void 0 : emitter.emit(newValue);
273
+ }
274
+ if (option.afterCallback)
275
+ option.afterCallback(oldValue, newValue);
276
+ }
277
+ get rtl() {
278
+ if (this._rtl)
279
+ return this._rtl;
280
+ else
281
+ return this.getHostElement()
282
+ .classList
283
+ .contains('ax-rtl') ||
284
+ window
285
+ .getComputedStyle(this.getHostElement(), null)
286
+ .getPropertyValue('direction') === 'rtl';
287
+ }
288
+ set rtl(value) {
289
+ this.setOption({ name: "rtl", value });
290
+ }
291
+ }
292
+ const BASE_INPUTS = ['rtl'];
293
+ const BASE_OUTPUT = [];
294
+
295
+ class MXInteractiveComponent extends MXBaseComponent {
296
+ constructor() {
297
+ super();
298
+ this._tabIndex = 0;
299
+ /**
300
+ * Fires each time the component gets focused.
301
+ * @event
302
+ */
303
+ this.onFocus = new EventEmitter();
304
+ /**
305
+ * Fires each time the component gets blurred.
306
+ * @event
307
+ */
308
+ this.onBlur = new EventEmitter();
309
+ }
310
+ /**
311
+ * If set to true, it disables the component.
312
+ */
313
+ get disabled() {
314
+ return this._disabled;
315
+ }
316
+ set disabled(value) {
317
+ this.setOption({ name: "disabled", value });
318
+ }
319
+ /**
320
+ * Specifies the tabindex of the component.
321
+ */
322
+ get tabIndex() { return this.disabled ? -1 : this._tabIndex; }
323
+ set tabIndex(value) {
324
+ this.setOption({ name: "tabIndex", value: value != null ? coerceNumberProperty(value) : 0 });
325
+ }
326
+ emitOnFocusEvent(e) {
327
+ this.onFocus.emit({
328
+ component: this,
329
+ htmlElement: this.getHostElement(),
330
+ nativeEvent: e
331
+ });
332
+ }
333
+ emitOnBlurEvent(e) {
334
+ this.onBlur.emit({
335
+ component: this,
336
+ htmlElement: this.getHostElement(),
337
+ nativeEvent: e
338
+ });
339
+ }
340
+ focus() {
341
+ AXHtmlUtil.focusElement(this.getHostElement());
342
+ }
343
+ /**
344
+ * Check component is focused or has any focused element.
345
+ */
346
+ hasFocus() {
347
+ return AXHtmlUtil.hasFocus(this.getHostElement());
348
+ }
349
+ }
350
+ const INTERACTIVE_INPUTS = ['disabled', 'tabIndex', ...BASE_INPUTS];
351
+ const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', ...BASE_OUTPUT];
352
+
353
+ class MXColorComponent extends MXBaseComponent {
354
+ constructor() {
355
+ super();
356
+ this.colorChange = new EventEmitter();
357
+ this._color = 'primary';
358
+ }
359
+ /**
360
+ * Predefined color schemes
361
+ */
362
+ get color() {
363
+ return this._color;
364
+ }
365
+ set color(value) {
366
+ this.setOption({
367
+ name: 'color',
368
+ value,
369
+ afterCallback: () => {
370
+ this.cdr.markForCheck();
371
+ }
372
+ });
373
+ }
374
+ }
375
+ const COLOR_INPUTS = ['color', ...BASE_INPUTS];
376
+ const COLOR_OUTPUT = ['colorChange', ...BASE_OUTPUT];
377
+
378
+ class MXLookComponent extends MXBaseComponent {
379
+ constructor() {
380
+ super();
381
+ this.lookChange = new EventEmitter();
382
+ this._look = 'default';
383
+ }
384
+ /**
385
+ * Predefined look schemes
386
+ */
387
+ get look() {
388
+ return this._look;
389
+ }
390
+ set look(value) {
391
+ this.setOption({
392
+ name: 'look',
393
+ value,
394
+ afterCallback: () => {
395
+ this.cdr.markForCheck();
396
+ }
397
+ });
398
+ }
399
+ }
400
+ const LOOK_INPUTS = ['look', ...BASE_INPUTS];
401
+ const LOOK_OUTPUT = ['lookChange', ...BASE_OUTPUT];
402
+
403
+ class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {
404
+ constructor() {
405
+ super();
406
+ }
407
+ }
408
+ const COLOR_LOOK_INPUTS = [...COLOR_INPUTS, ...LOOK_INPUTS];
409
+ const COLOR_LOOK_OUTPUT = [...COLOR_OUTPUT, ...LOOK_OUTPUT];
410
+
411
+ class MXButtonBaseComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {
412
+ constructor() {
413
+ super();
414
+ this.textChange = new EventEmitter();
415
+ this.toggleableChange = new EventEmitter();
416
+ this._toggleable = false;
417
+ this.selectedChange = new EventEmitter();
418
+ this._selected = false;
419
+ }
420
+ /**
421
+ * Defines the primary text to show inside the button.
422
+ */
423
+ get text() {
424
+ return this._text;
425
+ }
426
+ set text(v) {
427
+ this.setOption({
428
+ name: 'text',
429
+ value: v,
430
+ afterCallback: () => {
431
+ this.cdr.markForCheck();
432
+ }
433
+ });
434
+ }
435
+ /**
436
+ * Provides visual styling that indicates if the Button is active
437
+ */
438
+ get toggleable() {
439
+ return this._toggleable;
440
+ }
441
+ set toggleable(value) {
442
+ this.setOption({
443
+ name: 'toggleable',
444
+ value
445
+ });
446
+ }
447
+ /**
448
+ * Indicates if the Button is selected or not
449
+ */
450
+ get selected() {
451
+ return this._selected;
452
+ }
453
+ set selected(value) {
454
+ this.setOption({
455
+ name: 'selected',
456
+ value,
457
+ afterCallback: () => {
458
+ this.cdr.markForCheck();
459
+ }
460
+ });
461
+ }
462
+ get cssClasses() {
463
+ const cssClasses = {
464
+ 'ax-button-icon': !this.text,
465
+ 'ax-state-disabled': this["disabled"],
466
+ 'ax-state-selected': this.selected
467
+ };
468
+ cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;
469
+ return cssClasses;
470
+ }
471
+ }
472
+ const BUTTON_INPUTS = ['text', 'toggleable', 'selected', ...INTERACTIVE_INPUTS, COLOR_LOOK_INPUTS];
473
+ const BUTTON_OUTPUT = ['textChange', 'toggleableChange', 'selectedChange', ...INTERACTIVE_OUTPUT, COLOR_LOOK_OUTPUT];
474
+
236
475
  class AXAutoFocusDirective {
237
476
  constructor(el, _host) {
238
477
  this.el = el;
@@ -720,6 +959,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
720
959
  * Generated bundle index. Do not edit.
721
960
  */
722
961
 
723
- export { AXAutoFocusDirective, AXButtonClickEvent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelChangeDebouncedDirective, AXOverlayService, AXPagedComponent, AXPositions, AXRangeChangedEvent, AXResponsiveDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_DIRECTIONS, AX_LOCATIONS, AX_STYLE_COLOR_TYPES, DynamicOverlay, DynamicOverlayContainer, TAB_META_KEY };
962
+ export { AXAutoFocusDirective, AXButtonClickEvent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelChangeDebouncedDirective, AXOverlayService, AXPagedComponent, AXPositions, AXRangeChangedEvent, AXResponsiveDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_DIRECTIONS, AX_LOCATIONS, AX_STYLE_COLOR_TYPES, BASE_INPUTS, BASE_OUTPUT, BUTTON_INPUTS, BUTTON_OUTPUT, COLOR_INPUTS, COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, COLOR_OUTPUT, DynamicOverlay, DynamicOverlayContainer, INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, LOOK_INPUTS, LOOK_OUTPUT, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInteractiveComponent, MXLookComponent, TAB_META_KEY };
724
963
  //# sourceMappingURL=acorex-components-common.mjs.map
725
964
  //# sourceMappingURL=acorex-components-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/classes/events.class.ts","../../../../projects/acorex/components/common/src/classes/components.class.ts","../../../../projects/acorex/components/common/src/classes/styles.class.ts","../../../../projects/acorex/components/common/src/constant/positions.ts","../../../../projects/acorex/components/common/src/directives/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/directives/debounce-time.directive.ts","../../../../projects/acorex/components/common/src/services/hotkey.service.ts","../../../../projects/acorex/components/common/src/directives/hotkey.directive.ts","../../../../projects/acorex/components/common/src/directives/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/directives/responsive.directive.ts","../../../../projects/acorex/components/common/src/services/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/services/overlay.service.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXEvent {\r\n /**\r\n * The sender component\r\n */\r\n component: any;\r\n /**\r\n * The root native element\r\n */\r\n htmlElement?: HTMLElement;\r\n\r\n isUserInteraction?: boolean = false;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\r\n nativeEvent?: E;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXValueChangedEvent<T = any> extends AXEvent {\r\n name?: string;\r\n value?: T;\r\n oldValue?: T;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\r\n /**\r\n * uses for extra data\r\n */\r\n data?: any;\r\n\r\n nativeEvent?: any;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXButtonClickEvent extends AXClickEvent {\r\n name: string;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\r\n item: T;\r\n}\r\n\r\n/**\r\n * Fires each time the component gets focused.\r\n * @category Events\r\n */\r\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> { }\r\n\r\n/**\r\n * Fires each time an item or multiple items selected by the user or value.\r\n * @category Events\r\n */\r\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<\r\n any | any[]\r\n> {\r\n value?: any;\r\n oldValue?: any;\r\n selectedKeys?: any[];\r\n selectedItems?: any[];\r\n}\r\n\r\n/**\r\n * Contains range start & end values\r\n * @category Events\r\n */\r\nexport class AXRangeChangedEvent<T> extends AXEvent {\r\n /**\r\n * The range start value\r\n */\r\n start?: T;\r\n /**\r\n * The range end value\r\n */\r\n end?: T;\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { AXEvent, AXValueChangedEvent } from './events.class';\r\n\r\nexport const TAB_META_KEY = '__meta__';\r\n\r\nexport class AXComponentCloseEvent extends AXEvent {\r\n data?: any;\r\n}\r\nexport class AXComponentClosing {\r\n cancel: boolean = false;\r\n data?: any;\r\n}\r\n\r\nexport class AXComponentResult {\r\n sender: any;\r\n data?: any;\r\n}\r\n\r\n/**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\r\n */\r\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\r\n private closeMethod: () => void;\r\n constructor(\r\n executor: (\r\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\r\n reject: (reason?: any) => void\r\n ) => void\r\n ) {\r\n super(executor);\r\n }\r\n\r\n public close() {\r\n if (this.closeMethod) {\r\n this.closeMethod();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n@Injectable()\r\nexport abstract class AXComponent {\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXClosbaleComponent extends AXComponent {\r\n abstract close(): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXSearchableComponent extends AXComponent {\r\n abstract search(value: string): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXValuableComponent extends AXComponent {\r\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\r\n abstract value: any;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXFocusableComponent extends AXComponent {\r\n abstract focus();\r\n}\r\n\r\nexport interface AXPagedComponentInterface {\r\n goToPage(page: number);\r\n get totalCount(): number;\r\n get pageSize(): number;\r\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXPagedComponent\r\n extends AXComponent\r\n implements AXPagedComponentInterface\r\n{\r\n abstract goToPage(page: number);\r\n abstract get totalCount(): number;\r\n abstract pageSize: number;\r\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n","export const AX_STYLE_COLOR_TYPES =\r\n [\r\n 'primary'\r\n , 'secondary'\r\n , 'info'\r\n , 'danger'\r\n , 'success'\r\n , 'warning'\r\n , 'light'\r\n , 'dark'\r\n ];\r\n\r\n/**\r\n * A token that specifies the color style of component.\r\n */\r\nexport type AXStyleColorType =\r\n | 'primary'\r\n | 'secondary'\r\n | 'danger'\r\n | 'success'\r\n | 'warning'\r\n | 'ghost'\r\n\r\nexport type AXStyleLookType =\r\n | 'default'\r\n | 'blank'\r\n | 'outline'\r\n\r\nexport const AX_LOCATIONS = [\r\n 'bottom-start',\r\n 'bottom-center',\r\n 'bottom-end',\r\n 'top-start',\r\n 'top-center',\r\n 'top-end',\r\n 'center-end',\r\n 'center-start'\r\n];\r\nexport type AXLocation =\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end'\r\n | 'center-end'\r\n | 'center-start';\r\n\r\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\r\n/**\r\n * A token that specifies the direction of component.\r\n */\r\nexport type AXDirection = 'vertical' | 'horizontal';\r\n\r\n/**\r\n * A token that specifies the selection mode of component.\r\n */\r\nexport type AXSelectionMode = 'single' | 'multiple';\r\n","export type AXPosition =\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end'\r\n | 'start-start'\r\n | 'start-center'\r\n | 'start-end'\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'end-start'\r\n | 'end-center'\r\n | 'end-end';\r\n\r\nexport const AXPositions = {\r\n topStart: {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n topCenter: {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n topEnd: {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n\r\n startStart: {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n startCenter: {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n startEnd: {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n\r\n bottomStart: {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n bottomCenter: {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n bottomEnd: {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n\r\n endStart: {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n endCenter: {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n endEnd: {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n};\r\n","import {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { AXFocusableComponent } from '../classes/components.class';\r\n\r\n@Directive({\r\n selector: '[axAutoFocus]',\r\n})\r\nexport class AXAutoFocusDirective implements AfterContentInit {\r\n\r\n @Input('axAutoFocus')\r\n public autoFocus?: boolean = true;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXFocusableComponent\r\n ) { }\r\n\r\n\r\n @Input('focus-time')\r\n time: number = 100;\r\n\r\n ngAfterContentInit(): void {\r\n if (this.autoFocus) {\r\n const list = [\r\n 'button',\r\n 'input',\r\n '[href]',\r\n 'select',\r\n 'textarea',\r\n '[tabindex]',\r\n ].map((c) => c + ':not([tabindex=\"-1\"])');\r\n\r\n const focusable =\r\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\r\n this.el.nativeElement;\r\n \r\n const attr = document.createAttribute('autofocus');\r\n focusable.setAttributeNode(attr);\r\n const hasTabindex = focusable.hasAttribute('tabindex');\r\n if (!hasTabindex) {\r\n focusable.setAttribute('tabIndex', '0');\r\n }\r\n setTimeout(() => {\r\n focusable.focus();\r\n }, 100);\r\n }\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from \"@angular/core\";\r\nimport { NgModel } from \"@angular/forms\";\r\nimport { debounceTime, distinctUntilChanged, skip, Subscription } from \"rxjs\";\r\n\r\n@Directive({\r\n selector: '[ngModelChangeDebounced]',\r\n})\r\nexport class AXNgModelChangeDebouncedDirective implements OnDestroy {\r\n\r\n @Output()\r\n ngModelChangeDebounced = new EventEmitter<any>();\r\n\r\n @Output()\r\n ngModelChangeDebounceTimeChange = new EventEmitter<number>()\r\n\r\n private _ngModelChangeDebounceTime: number = 0;\r\n @Input()\r\n public get ngModelChangeDebounceTime(): number {\r\n return this._ngModelChangeDebounceTime;\r\n }\r\n public set ngModelChangeDebounceTime(v: number) {\r\n if (v != this._ngModelChangeDebounceTime) {\r\n this._ngModelChangeDebounceTime = v;\r\n this.ngModelChangeDebounceTimeChange.emit(v);\r\n this.update()\r\n }\r\n }\r\n\r\n private subscription: Subscription;\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n constructor(private ngModel: NgModel) {\r\n this.ngModelChangeDebounceTime = 0;\r\n }\r\n\r\n private update() {\r\n this.subscription?.unsubscribe();\r\n //\r\n this.subscription = this.ngModel.control.valueChanges.pipe(\r\n skip(1), // skip initial value\r\n distinctUntilChanged(),\r\n debounceTime(this.ngModelChangeDebounceTime)\r\n ).subscribe((value) => this.ngModelChangeDebounced.emit(value));\r\n }\r\n}","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { EventManager } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\ntype Options = {\r\n element: any;\r\n keys: string;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHotkeysService {\r\n defaults: Partial<Options> = {\r\n element: this.document,\r\n };\r\n\r\n constructor(\r\n private eventManager: EventManager,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n addShortcut(options: Partial<Options>) {\r\n const merged = { ...this.defaults, ...options };\r\n const event = `keydown.${merged.keys}`;\r\n\r\n return new Observable((observer) => {\r\n const handler = (e: UIEvent) => {\r\n e.preventDefault();\r\n observer.next(e);\r\n };\r\n\r\n const dispose = this.eventManager.addEventListener(\r\n merged.element,\r\n event,\r\n handler\r\n );\r\n\r\n return () => {\r\n dispose();\r\n };\r\n });\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXComponent } from '../classes/components.class';\r\nimport { AXHotkeysService } from '../services/hotkey.service';\r\n\r\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\r\n\r\n@Directive({\r\n selector: '[hotkey]',\r\n})\r\nexport class AXHotkeyDirective implements AfterViewInit {\r\n @Input('hotkey')\r\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXComponent,\r\n private hs: AXHotkeysService\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.hotkey || !this._host) return;\r\n\r\n if (typeof this.hotkey == 'string') {\r\n this._addDefaultAction(this.hotkey);\r\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\r\n } else if (Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction(this.hotkey);\r\n }\r\n }\r\n\r\n private _addDefaultAction(hotkey: string) {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\r\n if (this._host[a]) {\r\n this._host[a]();\r\n return;\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\r\n hotkeys.forEach((k) => {\r\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\r\n const action = <unknown>Object.entries(k)[0][1];\r\n if (!action) this._addDefaultAction(hotkey);\r\n else {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n if (typeof action == 'string' && this._host[action]) {\r\n this._host[action]();\r\n return;\r\n }\r\n if (typeof action == 'function') {\r\n action();\r\n return;\r\n }\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.forEach((s) => {\r\n s.unsubscribe();\r\n });\r\n }\r\n}\r\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\r\n\r\n\r\nexport interface AXScrollPosition {\r\n scrollHeight: number;\r\n scrollTop: number;\r\n clientHeight: number;\r\n};\r\n\r\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\r\n scrollHeight: 0,\r\n scrollTop: 0,\r\n clientHeight: 0\r\n};\r\n\r\n@Directive({\r\n selector: '[axInfiniteScroller]'\r\n})\r\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\r\n\r\n private scrollEvent$: Observable<any>;\r\n\r\n private userScrolledDown$: Observable<any>;\r\n\r\n\r\n private requestOnScroll$: Observable<any>;\r\n\r\n @Input()\r\n scrollCallback: Function;\r\n\r\n @Input()\r\n immediateCallback;\r\n\r\n @Input()\r\n scrollPercent = 70;\r\n\r\n constructor(private elm: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.registerScrollEvent();\r\n\r\n this.streamScrollEvents();\r\n\r\n this.requestCallbackOnScroll();\r\n\r\n }\r\n\r\n private registerScrollEvent() {\r\n\r\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\r\n\r\n }\r\n\r\n private streamScrollEvents() {\r\n this.userScrolledDown$ = this.scrollEvent$\r\n .pipe(\r\n map((e: any): AXScrollPosition => ({\r\n scrollHeight: e.target.scrollHeight,\r\n scrollTop: e.target.scrollTop,\r\n clientHeight: e.target.clientHeight\r\n })),\r\n pairwise(),\r\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\r\n );\r\n }\r\n\r\n private requestCallbackOnScroll() {\r\n this.requestOnScroll$ = this.userScrolledDown$;\r\n\r\n if (this.immediateCallback) {\r\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\r\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\r\n );\r\n }\r\n\r\n this.requestOnScroll$.pipe(\r\n exhaustMap(() => {\r\n return this.scrollCallback();\r\n }))\r\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\r\n\r\n }\r\n\r\n private isUserScrollingDown = (positions) => {\r\n return positions[0].sT < positions[1].sT;\r\n }\r\n\r\n private isScrollExpectedPercent = (position) => {\r\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\r\n }\r\n\r\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Directive({ selector: '[ax-responsive]' })\r\nexport class AXResponsiveDirective implements OnDestroy {\r\n\r\n private _observer: ResizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n\r\n if (entry.target) {\r\n const e = entry.target;\r\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\r\n elements.map(c => ({\r\n element: c,\r\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\r\n })).forEach(c => {\r\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\r\n });\r\n }\r\n }\r\n });;\r\n\r\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\r\n this._observer.observe(_elementRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._observer.disconnect();\r\n this._observer.unobserve(this._elementRef.nativeElement);\r\n }\r\n\r\n}","import {\r\n Overlay,\r\n OverlayKeyboardDispatcher,\r\n OverlayPositionBuilder,\r\n ScrollStrategyOptions,\r\n OverlayContainer,\r\n OverlayRef,\r\n OverlayConfig,\r\n OverlayOutsideClickDispatcher,\r\n} from '@angular/cdk/overlay';\r\n\r\n// TODO: 'ComponentFactoryResolver' is deprecated.\r\nimport {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n RendererFactory2,\r\n Injectable,\r\n} from '@angular/core';\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlayContainer extends OverlayContainer {\r\n public setContainerElement(containerElement: HTMLElement): void {\r\n this._containerElement = containerElement;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlay extends Overlay {\r\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n scrollStrategies: ScrollStrategyOptions,\r\n _overlayContainer: DynamicOverlayContainer,\r\n _componentFactoryResolver: ComponentFactoryResolver,\r\n _positionBuilder: OverlayPositionBuilder,\r\n _keyboardDispatcher: OverlayKeyboardDispatcher,\r\n _injector: Injector,\r\n _ngZone: NgZone,\r\n @Inject(DOCUMENT) _document: any,\r\n _directionality: Directionality,\r\n rendererFactory: RendererFactory2,\r\n _location: Location,\r\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\r\n ) {\r\n super(\r\n scrollStrategies,\r\n _overlayContainer,\r\n _componentFactoryResolver,\r\n _positionBuilder,\r\n _keyboardDispatcher,\r\n _injector,\r\n _ngZone,\r\n _document,\r\n _directionality,\r\n _location,\r\n _outsideClickDispatcher\r\n );\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n this._dynamicOverlayContainer = _overlayContainer;\r\n }\r\n\r\n private setContainerElement(containerElement: HTMLElement): void {\r\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\r\n this._dynamicOverlayContainer.setContainerElement(containerElement);\r\n }\r\n\r\n public createOn(\r\n containerElement: HTMLElement,\r\n config?: OverlayConfig\r\n ): OverlayRef {\r\n this.setContainerElement(containerElement);\r\n return super.create(config);\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n ApplicationRef,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n ConnectedPosition,\r\n Overlay,\r\n OverlayPositionBuilder,\r\n PositionStrategy,\r\n ScrollStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\r\nimport { merge } from 'rxjs';\r\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\r\nimport { AXConnectedPosition } from '../classes/drawing.class';\r\nimport { NavigationStart, RouterEvent, Router } from '@angular/router';\r\n\r\nexport interface AXOverlayViewRef {\r\n instance: any;\r\n dispose: () => void;\r\n isOpen: () => boolean;\r\n}\r\n\r\nexport interface AXOverlayConfigs {\r\n position?: AXConnectedPosition | AXConnectedPosition[] | PositionStrategy;\r\n hasBackdrop?: boolean;\r\n transparentBackdrop?: boolean;\r\n closeOnClickOutside?: boolean;\r\n targetElement?: HTMLElement;\r\n containerElement?: HTMLElement;\r\n onBackdropClick?: () => void;\r\n panelClass?: string[] | string;\r\n backdropClass?: string[] | string;\r\n scroll?: 'auto' | 'block' | 'close';\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXOverlayService {\r\n portal: Portal<any>;\r\n constructor(\r\n private overlayService: DynamicOverlay,\r\n private overlayService2: Overlay,\r\n private appRef: ApplicationRef\r\n ) {}\r\n\r\n position(): OverlayPositionBuilder {\r\n return this.overlayService.position();\r\n }\r\n\r\n show(\r\n content: any,\r\n context?: any,\r\n configs?: AXOverlayConfigs\r\n ): AXOverlayViewRef {\r\n configs = Object.assign(\r\n {\r\n hasBackdrop: true,\r\n transparentBackdrop: true,\r\n closeOnClickOutside: true,\r\n },\r\n configs || {}\r\n );\r\n // get root viewref\r\n const viewRef: ViewContainerRef =\r\n this.appRef.components[0].instance.viewRef;\r\n\r\n // let portal: Portal<any>;\r\n // get component by route\r\n if (typeof content === 'string') {\r\n // TODO: ???\r\n }\r\n // create portal from component\r\n else if (content instanceof TemplateRef) {\r\n this.portal = new TemplatePortal(content, viewRef, context);\r\n } else if (typeof content === 'function') {\r\n this.portal = new ComponentPortal(content, viewRef);\r\n }\r\n let positionStrategy: PositionStrategy;\r\n if (configs.position && configs.targetElement) {\r\n const p: ConnectedPosition[] = Array.isArray(configs.position)\r\n ? (configs.position as ConnectedPosition[])\r\n : [configs.position as ConnectedPosition];\r\n positionStrategy = this.overlayService\r\n .position()\r\n .flexibleConnectedTo(configs.targetElement)\r\n .withPositions(p)\r\n .withPush(true);\r\n } else {\r\n positionStrategy = configs.position\r\n ? (configs.position as PositionStrategy)\r\n : this.overlayService\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n }\r\n let scrollStrategy: ScrollStrategy =\r\n this.overlayService.scrollStrategies.reposition({ autoClose: true });\r\n if (configs.scroll === 'block') {\r\n scrollStrategy = this.overlayService.scrollStrategies.block();\r\n }\r\n if (configs.scroll === 'close') {\r\n scrollStrategy = this.overlayService.scrollStrategies.close();\r\n }\r\n\r\n const config = {\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: configs.hasBackdrop,\r\n disposeOnNavigation: true,\r\n backdropClass: configs.backdropClass\r\n ? configs.backdropClass\r\n : configs.transparentBackdrop\r\n ? 'cdk-overlay-transparent-backdrop'\r\n : undefined,\r\n panelClass: configs.panelClass\r\n ? configs.panelClass\r\n : ['ax-animate-animated', 'ax-animate-zoomIn', 'ax-animate-faster'],\r\n };\r\n let overlayRef: any = configs.containerElement\r\n ? this.overlayService.createOn(configs.containerElement, config)\r\n : this.overlayService2.create(config);\r\n\r\n const host = overlayRef.attach(this.portal!);\r\n if (host.instance) {\r\n Object.assign(host.instance, context);\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n\r\n if (configs.closeOnClickOutside) {\r\n merge(overlayRef.backdropClick(), overlayRef.detachments()).subscribe(\r\n () => {\r\n overlayRef.dispose();\r\n overlayRef = undefined;\r\n if (configs!.onBackdropClick) {\r\n configs!.onBackdropClick();\r\n }\r\n }\r\n );\r\n }\r\n return {\r\n instance: host.instance,\r\n dispose: overlayRef.dispose.bind(overlayRef),\r\n isOpen: () => {\r\n return overlayRef.hasAttached();\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\r\nimport { AXNgModelChangeDebouncedDirective } from './directives/debounce-time.directive';\r\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\r\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\r\nimport { AXResponsiveDirective } from './directives/responsive.directive';\r\n@NgModule({\r\n imports: [],\r\n exports: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXNgModelChangeDebouncedDirective,\r\n AXHotkeyDirective,\r\n ],\r\n declarations: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXNgModelChangeDebouncedDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXCommonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/classes/events.class.ts","../../../../projects/acorex/components/common/src/classes/components.class.ts","../../../../projects/acorex/components/common/src/classes/styles.class.ts","../../../../projects/acorex/components/common/src/constant/positions.ts","../../../../projects/acorex/components/common/src/components/base-component.class.ts","../../../../projects/acorex/components/common/src/components/interactive-component.class.ts","../../../../projects/acorex/components/common/src/components/color-component.class.ts","../../../../projects/acorex/components/common/src/components/look-component.class.ts","../../../../projects/acorex/components/common/src/components/colorlook-component.class.ts","../../../../projects/acorex/components/common/src/components/button-base-component.class.ts","../../../../projects/acorex/components/common/src/directives/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/directives/debounce-time.directive.ts","../../../../projects/acorex/components/common/src/services/hotkey.service.ts","../../../../projects/acorex/components/common/src/directives/hotkey.directive.ts","../../../../projects/acorex/components/common/src/directives/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/directives/responsive.directive.ts","../../../../projects/acorex/components/common/src/services/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/services/overlay.service.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXEvent {\r\n /**\r\n * The sender component\r\n */\r\n component: any;\r\n /**\r\n * The root native element\r\n */\r\n htmlElement?: HTMLElement;\r\n\r\n isUserInteraction?: boolean = false;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\r\n nativeEvent?: E;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXValueChangedEvent<T = any> extends AXEvent {\r\n name?: string;\r\n value?: T;\r\n oldValue?: T;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\r\n /**\r\n * uses for extra data\r\n */\r\n data?: any;\r\n\r\n nativeEvent?: any;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXButtonClickEvent extends AXClickEvent {\r\n name: string;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\r\n item: T;\r\n}\r\n\r\n/**\r\n * Fires each time the component gets focused.\r\n * @category Events\r\n */\r\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> { }\r\n\r\n/**\r\n * Fires each time an item or multiple items selected by the user or value.\r\n * @category Events\r\n */\r\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<\r\n any | any[]\r\n> {\r\n value?: any;\r\n oldValue?: any;\r\n selectedKeys?: any[];\r\n selectedItems?: any[];\r\n}\r\n\r\n/**\r\n * Contains range start & end values\r\n * @category Events\r\n */\r\nexport class AXRangeChangedEvent<T> extends AXEvent {\r\n /**\r\n * The range start value\r\n */\r\n start?: T;\r\n /**\r\n * The range end value\r\n */\r\n end?: T;\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { AXEvent, AXValueChangedEvent } from './events.class';\r\n\r\nexport const TAB_META_KEY = '__meta__';\r\n\r\nexport class AXComponentCloseEvent extends AXEvent {\r\n data?: any;\r\n}\r\nexport class AXComponentClosing {\r\n cancel: boolean = false;\r\n data?: any;\r\n}\r\n\r\nexport class AXComponentResult {\r\n sender: any;\r\n data?: any;\r\n}\r\n\r\n/**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\r\n */\r\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\r\n private closeMethod: () => void;\r\n constructor(\r\n executor: (\r\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\r\n reject: (reason?: any) => void\r\n ) => void\r\n ) {\r\n super(executor);\r\n }\r\n\r\n public close() {\r\n if (this.closeMethod) {\r\n this.closeMethod();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n@Injectable()\r\nexport abstract class AXComponent {\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXClosbaleComponent extends AXComponent {\r\n abstract close(): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXSearchableComponent extends AXComponent {\r\n abstract search(value: string): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXValuableComponent extends AXComponent {\r\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\r\n abstract value: any;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXFocusableComponent extends AXComponent {\r\n abstract focus();\r\n}\r\n\r\nexport interface AXPagedComponentInterface {\r\n goToPage(page: number);\r\n get totalCount(): number;\r\n get pageSize(): number;\r\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXPagedComponent\r\n extends AXComponent\r\n implements AXPagedComponentInterface\r\n{\r\n abstract goToPage(page: number);\r\n abstract get totalCount(): number;\r\n abstract pageSize: number;\r\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n","export const AX_STYLE_COLOR_TYPES =\r\n [\r\n 'primary'\r\n , 'secondary'\r\n , 'info'\r\n , 'danger'\r\n , 'success'\r\n , 'warning'\r\n , 'light'\r\n , 'dark'\r\n ];\r\n\r\n/**\r\n * A token that specifies the color style of component.\r\n */\r\nexport type AXStyleColorType =\r\n | 'primary'\r\n | 'secondary'\r\n | 'danger'\r\n | 'success'\r\n | 'warning'\r\n | 'ghost'\r\n\r\nexport type AXStyleLookType =\r\n | 'default'\r\n | 'blank'\r\n | 'outline'\r\n\r\nexport const AX_LOCATIONS = [\r\n 'bottom-start',\r\n 'bottom-center',\r\n 'bottom-end',\r\n 'top-start',\r\n 'top-center',\r\n 'top-end',\r\n 'center-end',\r\n 'center-start'\r\n];\r\nexport type AXLocation =\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end'\r\n | 'center-end'\r\n | 'center-start';\r\n\r\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\r\n/**\r\n * A token that specifies the direction of component.\r\n */\r\nexport type AXDirection = 'vertical' | 'horizontal';\r\n\r\n/**\r\n * A token that specifies the selection mode of component.\r\n */\r\nexport type AXSelectionMode = 'single' | 'multiple';\r\n","export type AXPosition =\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end'\r\n | 'start-start'\r\n | 'start-center'\r\n | 'start-end'\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'end-start'\r\n | 'end-center'\r\n | 'end-end';\r\n\r\nexport const AXPositions = {\r\n topStart: {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n topCenter: {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n topEnd: {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n\r\n startStart: {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n startCenter: {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n startEnd: {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n\r\n bottomStart: {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n bottomCenter: {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n bottomEnd: {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n\r\n endStart: {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n endCenter: {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n endEnd: {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n};\r\n","import { ChangeDetectorRef, ElementRef, EventEmitter, inject } from \"@angular/core\";\r\n\r\nexport type MXComponentOptionChanging = { name: string; value?: any };\r\nexport type MXComponentOptionChanged = {\r\n name: string;\r\n newValue?: any;\r\n oldValue?: any;\r\n};\r\nexport type MXComponentSetOption = {\r\n name: string;\r\n value?: any;\r\n afterCallback?: (oldValue?: any, newValue?: any) => void;\r\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\r\n};\r\n\r\n\r\nexport class MXBaseComponent {\r\n\r\n id: string;\r\n\r\n private _cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n private _elementRef: ElementRef = inject(ElementRef);\r\n\r\n // constructor() {\r\n // this._cdr = );\r\n // this._elementRef = inject(ElementRef);\r\n // }\r\n\r\n protected get cdr(): ChangeDetectorRef {\r\n return this._cdr;\r\n }\r\n\r\n public getHostElement<T = HTMLElement>(): T {\r\n return this._elementRef.nativeElement as T;\r\n }\r\n\r\n protected onOptionChanging(option: MXComponentOptionChanging): any {\r\n return option?.value;\r\n }\r\n\r\n protected onOptionChanged(option: MXComponentOptionChanged): void {\r\n\r\n }\r\n\r\n protected setOption(option: MXComponentSetOption) {\r\n const oldValue = this[option.name];\r\n const newValue = this.onOptionChanging({\r\n name: option.name,\r\n value: option.value,\r\n });\r\n //TODO : check real changes\r\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\r\n if (oldValue != newValue) {\r\n this[`_${option.name}`] = option.value;\r\n this.onOptionChanged({ name: option.name, newValue, oldValue });\r\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\r\n emitter?.emit(newValue);\r\n }\r\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\r\n }\r\n\r\n\r\n private _rtl: boolean;\r\n\r\n public get rtl(): boolean {\r\n if (this._rtl)\r\n return this._rtl;\r\n else\r\n return this.getHostElement()\r\n .classList\r\n .contains('ax-rtl') ||\r\n window\r\n .getComputedStyle(this.getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n\r\n public set rtl(value: boolean) {\r\n this.setOption({ name: \"rtl\", value });\r\n }\r\n}\r\n\r\n\r\n\r\nexport const BASE_INPUTS = ['rtl'];\r\nexport const BASE_OUTPUT = [];\r\n\r\n\r\n\r\n\r\n\r\n","import { AXHtmlUtil } from \"@acorex/core/utils\";\r\nimport { coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXFocusEvent } from \"../classes/events.class\";\r\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\r\n\r\nexport class MXInteractiveComponent extends MXBaseComponent {\r\n\r\n private _disabled: boolean;\r\n /**\r\n * If set to true, it disables the component.\r\n */\r\n public get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this.setOption({ name: \"disabled\", value })\r\n }\r\n\r\n _tabIndex: number = 0;\r\n /**\r\n * Specifies the tabindex of the component.\r\n */\r\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\r\n set tabIndex(value: number) {\r\n this.setOption({ name: \"tabIndex\", value: value != null ? coerceNumberProperty(value) : 0 })\r\n }\r\n\r\n /**\r\n * Fires each time the component gets focused.\r\n * @event\r\n */\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n protected emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this.getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Fires each time the component gets blurred.\r\n * @event\r\n */\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n protected emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this.getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n focus() {\r\n AXHtmlUtil.focusElement(this.getHostElement());\r\n }\r\n\r\n /**\r\n * Check component is focused or has any focused element.\r\n */\r\n hasFocus(): boolean {\r\n return AXHtmlUtil.hasFocus(this.getHostElement());\r\n }\r\n}\r\n\r\n\r\n\r\nexport const INTERACTIVE_INPUTS = ['disabled', 'tabIndex', ...BASE_INPUTS];\r\nexport const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleColorType } from \"../classes/styles.class\";\r\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\r\n\r\nexport class MXColorComponent extends MXBaseComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\r\n private _color: AXStyleColorType = 'primary';\r\n /**\r\n * Predefined color schemes\r\n */\r\n get color(): AXStyleColorType {\r\n return this._color;\r\n }\r\n set color(value: AXStyleColorType) {\r\n this.setOption({\r\n name: 'color',\r\n value,\r\n afterCallback: () => {\r\n this.cdr.markForCheck();\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const COLOR_INPUTS = ['color', ...BASE_INPUTS];\r\nexport const COLOR_OUTPUT = ['colorChange', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleLookType } from \"../classes/styles.class\";\r\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\r\n\r\nexport class MXLookComponent extends MXBaseComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\r\n private _look?: AXStyleLookType = 'default';\r\n /**\r\n * Predefined look schemes\r\n */\r\n get look(): AXStyleLookType {\r\n return this._look!;\r\n }\r\n set look(value: AXStyleLookType) {\r\n this.setOption({\r\n name: 'look',\r\n value,\r\n afterCallback: () => {\r\n this.cdr.markForCheck();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const LOOK_INPUTS = ['look', ...BASE_INPUTS];\r\nexport const LOOK_OUTPUT = ['lookChange', ...BASE_OUTPUT];","import { classes } from \"polytype\";\r\nimport { COLOR_INPUTS, COLOR_OUTPUT, MXColorComponent } from \"./color-component.class\";\r\nimport { LOOK_INPUTS, LOOK_OUTPUT, MXLookComponent } from \"./look-component.class\";\r\n\r\n\r\nexport class MXColorLookComponent\r\n extends\r\n classes(MXColorComponent, MXLookComponent)\r\n{\r\n constructor() {\r\n super();\r\n }\r\n}\r\n\r\n\r\n\r\nexport const COLOR_LOOK_INPUTS = [...COLOR_INPUTS, ...LOOK_INPUTS];\r\nexport const COLOR_LOOK_OUTPUT = [...COLOR_OUTPUT, ...LOOK_OUTPUT];","import { EventEmitter } from \"@angular/core\";\r\nimport { classes } from \"polytype\";\r\nimport { COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, MXColorLookComponent } from \"./colorlook-component.class\";\r\nimport { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, MXInteractiveComponent } from \"./interactive-component.class\";\r\n\r\nexport class MXButtonBaseComponent\r\n extends\r\n classes(MXInteractiveComponent, MXColorLookComponent)\r\n{\r\n\r\n textChange: EventEmitter<string> = new EventEmitter();\r\n private _text: string;\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get text(): string {\r\n return this._text;\r\n }\r\n set text(v: string) {\r\n this.setOption({\r\n name: 'text',\r\n value: v,\r\n afterCallback: () => {\r\n this.cdr.markForCheck();\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\r\n private _toggleable?: boolean = false;\r\n /**\r\n * Provides visual styling that indicates if the Button is active\r\n */\r\n get toggleable(): boolean {\r\n return this._toggleable!;\r\n }\r\n set toggleable(value: boolean) {\r\n this.setOption({\r\n name: 'toggleable',\r\n value\r\n });\r\n }\r\n\r\n\r\n selectedChange: EventEmitter<boolean> = new EventEmitter();\r\n private _selected?: boolean = false;\r\n /**\r\n * Indicates if the Button is selected or not\r\n */\r\n get selected(): boolean {\r\n return this._selected!;\r\n }\r\n set selected(value: boolean) {\r\n this.setOption({\r\n name: 'selected',\r\n value,\r\n afterCallback: () => {\r\n this.cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected get cssClasses() {\r\n const cssClasses = {\r\n 'ax-button-icon': !this.text,\r\n 'ax-state-disabled': this[\"disabled\"],\r\n 'ax-state-selected': this.selected\r\n };\r\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\r\n return cssClasses;\r\n }\r\n}\r\n\r\n\r\nexport const BUTTON_INPUTS = ['text', 'toggleable', 'selected', ...INTERACTIVE_INPUTS, COLOR_LOOK_INPUTS];\r\nexport const BUTTON_OUTPUT = ['textChange', 'toggleableChange', 'selectedChange', ...INTERACTIVE_OUTPUT, COLOR_LOOK_OUTPUT];","import {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { AXFocusableComponent } from '../classes/components.class';\r\n\r\n@Directive({\r\n selector: '[axAutoFocus]',\r\n})\r\nexport class AXAutoFocusDirective implements AfterContentInit {\r\n\r\n @Input('axAutoFocus')\r\n public autoFocus?: boolean = true;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXFocusableComponent\r\n ) { }\r\n\r\n\r\n @Input('focus-time')\r\n time: number = 100;\r\n\r\n ngAfterContentInit(): void {\r\n if (this.autoFocus) {\r\n const list = [\r\n 'button',\r\n 'input',\r\n '[href]',\r\n 'select',\r\n 'textarea',\r\n '[tabindex]',\r\n ].map((c) => c + ':not([tabindex=\"-1\"])');\r\n\r\n const focusable =\r\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\r\n this.el.nativeElement;\r\n \r\n const attr = document.createAttribute('autofocus');\r\n focusable.setAttributeNode(attr);\r\n const hasTabindex = focusable.hasAttribute('tabindex');\r\n if (!hasTabindex) {\r\n focusable.setAttribute('tabIndex', '0');\r\n }\r\n setTimeout(() => {\r\n focusable.focus();\r\n }, 100);\r\n }\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from \"@angular/core\";\r\nimport { NgModel } from \"@angular/forms\";\r\nimport { debounceTime, distinctUntilChanged, skip, Subscription } from \"rxjs\";\r\n\r\n@Directive({\r\n selector: '[ngModelChangeDebounced]',\r\n})\r\nexport class AXNgModelChangeDebouncedDirective implements OnDestroy {\r\n\r\n @Output()\r\n ngModelChangeDebounced = new EventEmitter<any>();\r\n\r\n @Output()\r\n ngModelChangeDebounceTimeChange = new EventEmitter<number>()\r\n\r\n private _ngModelChangeDebounceTime: number = 0;\r\n @Input()\r\n public get ngModelChangeDebounceTime(): number {\r\n return this._ngModelChangeDebounceTime;\r\n }\r\n public set ngModelChangeDebounceTime(v: number) {\r\n if (v != this._ngModelChangeDebounceTime) {\r\n this._ngModelChangeDebounceTime = v;\r\n this.ngModelChangeDebounceTimeChange.emit(v);\r\n this.update()\r\n }\r\n }\r\n\r\n private subscription: Subscription;\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n constructor(private ngModel: NgModel) {\r\n this.ngModelChangeDebounceTime = 0;\r\n }\r\n\r\n private update() {\r\n this.subscription?.unsubscribe();\r\n //\r\n this.subscription = this.ngModel.control.valueChanges.pipe(\r\n skip(1), // skip initial value\r\n distinctUntilChanged(),\r\n debounceTime(this.ngModelChangeDebounceTime)\r\n ).subscribe((value) => this.ngModelChangeDebounced.emit(value));\r\n }\r\n}","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { EventManager } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\ntype Options = {\r\n element: any;\r\n keys: string;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHotkeysService {\r\n defaults: Partial<Options> = {\r\n element: this.document,\r\n };\r\n\r\n constructor(\r\n private eventManager: EventManager,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n addShortcut(options: Partial<Options>) {\r\n const merged = { ...this.defaults, ...options };\r\n const event = `keydown.${merged.keys}`;\r\n\r\n return new Observable((observer) => {\r\n const handler = (e: UIEvent) => {\r\n e.preventDefault();\r\n observer.next(e);\r\n };\r\n\r\n const dispose = this.eventManager.addEventListener(\r\n merged.element,\r\n event,\r\n handler\r\n );\r\n\r\n return () => {\r\n dispose();\r\n };\r\n });\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXComponent } from '../classes/components.class';\r\nimport { AXHotkeysService } from '../services/hotkey.service';\r\n\r\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\r\n\r\n@Directive({\r\n selector: '[hotkey]',\r\n})\r\nexport class AXHotkeyDirective implements AfterViewInit {\r\n @Input('hotkey')\r\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXComponent,\r\n private hs: AXHotkeysService\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.hotkey || !this._host) return;\r\n\r\n if (typeof this.hotkey == 'string') {\r\n this._addDefaultAction(this.hotkey);\r\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\r\n } else if (Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction(this.hotkey);\r\n }\r\n }\r\n\r\n private _addDefaultAction(hotkey: string) {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\r\n if (this._host[a]) {\r\n this._host[a]();\r\n return;\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\r\n hotkeys.forEach((k) => {\r\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\r\n const action = <unknown>Object.entries(k)[0][1];\r\n if (!action) this._addDefaultAction(hotkey);\r\n else {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n if (typeof action == 'string' && this._host[action]) {\r\n this._host[action]();\r\n return;\r\n }\r\n if (typeof action == 'function') {\r\n action();\r\n return;\r\n }\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.forEach((s) => {\r\n s.unsubscribe();\r\n });\r\n }\r\n}\r\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\r\n\r\n\r\nexport interface AXScrollPosition {\r\n scrollHeight: number;\r\n scrollTop: number;\r\n clientHeight: number;\r\n};\r\n\r\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\r\n scrollHeight: 0,\r\n scrollTop: 0,\r\n clientHeight: 0\r\n};\r\n\r\n@Directive({\r\n selector: '[axInfiniteScroller]'\r\n})\r\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\r\n\r\n private scrollEvent$: Observable<any>;\r\n\r\n private userScrolledDown$: Observable<any>;\r\n\r\n\r\n private requestOnScroll$: Observable<any>;\r\n\r\n @Input()\r\n scrollCallback: Function;\r\n\r\n @Input()\r\n immediateCallback;\r\n\r\n @Input()\r\n scrollPercent = 70;\r\n\r\n constructor(private elm: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.registerScrollEvent();\r\n\r\n this.streamScrollEvents();\r\n\r\n this.requestCallbackOnScroll();\r\n\r\n }\r\n\r\n private registerScrollEvent() {\r\n\r\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\r\n\r\n }\r\n\r\n private streamScrollEvents() {\r\n this.userScrolledDown$ = this.scrollEvent$\r\n .pipe(\r\n map((e: any): AXScrollPosition => ({\r\n scrollHeight: e.target.scrollHeight,\r\n scrollTop: e.target.scrollTop,\r\n clientHeight: e.target.clientHeight\r\n })),\r\n pairwise(),\r\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\r\n );\r\n }\r\n\r\n private requestCallbackOnScroll() {\r\n this.requestOnScroll$ = this.userScrolledDown$;\r\n\r\n if (this.immediateCallback) {\r\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\r\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\r\n );\r\n }\r\n\r\n this.requestOnScroll$.pipe(\r\n exhaustMap(() => {\r\n return this.scrollCallback();\r\n }))\r\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\r\n\r\n }\r\n\r\n private isUserScrollingDown = (positions) => {\r\n return positions[0].sT < positions[1].sT;\r\n }\r\n\r\n private isScrollExpectedPercent = (position) => {\r\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\r\n }\r\n\r\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Directive({ selector: '[ax-responsive]' })\r\nexport class AXResponsiveDirective implements OnDestroy {\r\n\r\n private _observer: ResizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n\r\n if (entry.target) {\r\n const e = entry.target;\r\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\r\n elements.map(c => ({\r\n element: c,\r\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\r\n })).forEach(c => {\r\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\r\n });\r\n }\r\n }\r\n });;\r\n\r\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\r\n this._observer.observe(_elementRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._observer.disconnect();\r\n this._observer.unobserve(this._elementRef.nativeElement);\r\n }\r\n\r\n}","import {\r\n Overlay,\r\n OverlayKeyboardDispatcher,\r\n OverlayPositionBuilder,\r\n ScrollStrategyOptions,\r\n OverlayContainer,\r\n OverlayRef,\r\n OverlayConfig,\r\n OverlayOutsideClickDispatcher,\r\n} from '@angular/cdk/overlay';\r\n\r\n// TODO: 'ComponentFactoryResolver' is deprecated.\r\nimport {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n RendererFactory2,\r\n Injectable,\r\n} from '@angular/core';\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlayContainer extends OverlayContainer {\r\n public setContainerElement(containerElement: HTMLElement): void {\r\n this._containerElement = containerElement;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlay extends Overlay {\r\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n scrollStrategies: ScrollStrategyOptions,\r\n _overlayContainer: DynamicOverlayContainer,\r\n _componentFactoryResolver: ComponentFactoryResolver,\r\n _positionBuilder: OverlayPositionBuilder,\r\n _keyboardDispatcher: OverlayKeyboardDispatcher,\r\n _injector: Injector,\r\n _ngZone: NgZone,\r\n @Inject(DOCUMENT) _document: any,\r\n _directionality: Directionality,\r\n rendererFactory: RendererFactory2,\r\n _location: Location,\r\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\r\n ) {\r\n super(\r\n scrollStrategies,\r\n _overlayContainer,\r\n _componentFactoryResolver,\r\n _positionBuilder,\r\n _keyboardDispatcher,\r\n _injector,\r\n _ngZone,\r\n _document,\r\n _directionality,\r\n _location,\r\n _outsideClickDispatcher\r\n );\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n this._dynamicOverlayContainer = _overlayContainer;\r\n }\r\n\r\n private setContainerElement(containerElement: HTMLElement): void {\r\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\r\n this._dynamicOverlayContainer.setContainerElement(containerElement);\r\n }\r\n\r\n public createOn(\r\n containerElement: HTMLElement,\r\n config?: OverlayConfig\r\n ): OverlayRef {\r\n this.setContainerElement(containerElement);\r\n return super.create(config);\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n ApplicationRef,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n ConnectedPosition,\r\n Overlay,\r\n OverlayPositionBuilder,\r\n PositionStrategy,\r\n ScrollStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\r\nimport { merge } from 'rxjs';\r\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\r\nimport { AXConnectedPosition } from '../classes/drawing.class';\r\nimport { NavigationStart, RouterEvent, Router } from '@angular/router';\r\n\r\nexport interface AXOverlayViewRef {\r\n instance: any;\r\n dispose: () => void;\r\n isOpen: () => boolean;\r\n}\r\n\r\nexport interface AXOverlayConfigs {\r\n position?: AXConnectedPosition | AXConnectedPosition[] | PositionStrategy;\r\n hasBackdrop?: boolean;\r\n transparentBackdrop?: boolean;\r\n closeOnClickOutside?: boolean;\r\n targetElement?: HTMLElement;\r\n containerElement?: HTMLElement;\r\n onBackdropClick?: () => void;\r\n panelClass?: string[] | string;\r\n backdropClass?: string[] | string;\r\n scroll?: 'auto' | 'block' | 'close';\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXOverlayService {\r\n portal: Portal<any>;\r\n constructor(\r\n private overlayService: DynamicOverlay,\r\n private overlayService2: Overlay,\r\n private appRef: ApplicationRef\r\n ) {}\r\n\r\n position(): OverlayPositionBuilder {\r\n return this.overlayService.position();\r\n }\r\n\r\n show(\r\n content: any,\r\n context?: any,\r\n configs?: AXOverlayConfigs\r\n ): AXOverlayViewRef {\r\n configs = Object.assign(\r\n {\r\n hasBackdrop: true,\r\n transparentBackdrop: true,\r\n closeOnClickOutside: true,\r\n },\r\n configs || {}\r\n );\r\n // get root viewref\r\n const viewRef: ViewContainerRef =\r\n this.appRef.components[0].instance.viewRef;\r\n\r\n // let portal: Portal<any>;\r\n // get component by route\r\n if (typeof content === 'string') {\r\n // TODO: ???\r\n }\r\n // create portal from component\r\n else if (content instanceof TemplateRef) {\r\n this.portal = new TemplatePortal(content, viewRef, context);\r\n } else if (typeof content === 'function') {\r\n this.portal = new ComponentPortal(content, viewRef);\r\n }\r\n let positionStrategy: PositionStrategy;\r\n if (configs.position && configs.targetElement) {\r\n const p: ConnectedPosition[] = Array.isArray(configs.position)\r\n ? (configs.position as ConnectedPosition[])\r\n : [configs.position as ConnectedPosition];\r\n positionStrategy = this.overlayService\r\n .position()\r\n .flexibleConnectedTo(configs.targetElement)\r\n .withPositions(p)\r\n .withPush(true);\r\n } else {\r\n positionStrategy = configs.position\r\n ? (configs.position as PositionStrategy)\r\n : this.overlayService\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n }\r\n let scrollStrategy: ScrollStrategy =\r\n this.overlayService.scrollStrategies.reposition({ autoClose: true });\r\n if (configs.scroll === 'block') {\r\n scrollStrategy = this.overlayService.scrollStrategies.block();\r\n }\r\n if (configs.scroll === 'close') {\r\n scrollStrategy = this.overlayService.scrollStrategies.close();\r\n }\r\n\r\n const config = {\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: configs.hasBackdrop,\r\n disposeOnNavigation: true,\r\n backdropClass: configs.backdropClass\r\n ? configs.backdropClass\r\n : configs.transparentBackdrop\r\n ? 'cdk-overlay-transparent-backdrop'\r\n : undefined,\r\n panelClass: configs.panelClass\r\n ? configs.panelClass\r\n : ['ax-animate-animated', 'ax-animate-zoomIn', 'ax-animate-faster'],\r\n };\r\n let overlayRef: any = configs.containerElement\r\n ? this.overlayService.createOn(configs.containerElement, config)\r\n : this.overlayService2.create(config);\r\n\r\n const host = overlayRef.attach(this.portal!);\r\n if (host.instance) {\r\n Object.assign(host.instance, context);\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n\r\n if (configs.closeOnClickOutside) {\r\n merge(overlayRef.backdropClick(), overlayRef.detachments()).subscribe(\r\n () => {\r\n overlayRef.dispose();\r\n overlayRef = undefined;\r\n if (configs!.onBackdropClick) {\r\n configs!.onBackdropClick();\r\n }\r\n }\r\n );\r\n }\r\n return {\r\n instance: host.instance,\r\n dispose: overlayRef.dispose.bind(overlayRef),\r\n isOpen: () => {\r\n return overlayRef.hasAttached();\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\r\nimport { AXNgModelChangeDebouncedDirective } from './directives/debounce-time.directive';\r\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\r\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\r\nimport { AXResponsiveDirective } from './directives/responsive.directive';\r\n@NgModule({\r\n imports: [],\r\n exports: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXNgModelChangeDebouncedDirective,\r\n AXHotkeyDirective,\r\n ],\r\n declarations: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXNgModelChangeDebouncedDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXCommonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":"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"}
@@ -236,7 +236,7 @@ class AXContextMenuComponent extends AXBaseMenuMixin {
236
236
  }
237
237
  }
238
238
  AXContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXContextMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
239
- AXContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: { disabled: "disabled", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", target: "target" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, viewQueries: [{ propertyName: "_contextTemplate", first: true, predicate: ["contextTemplate"], descendants: true }, { propertyName: "_menuTmp", first: true, predicate: ["menuTmp"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>", styles: [".ax-context-menu{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXMenuComponent, selector: "ax-menu", inputs: ["disabled", "tabIndex", "textField", "valueField", "items", "parentId", "iconField", "tooltip", "isOpen", "isActive", "visibleField", "disableField", "hasChildField", "dividerField", "openMode", "displayMode", "showModal"], outputs: ["onBlur", "onFocus", "onMenuItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
239
+ AXContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: { disabled: "disabled", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", target: "target" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, viewQueries: [{ propertyName: "_contextTemplate", first: true, predicate: ["contextTemplate"], descendants: true }, { propertyName: "_menuTmp", first: true, predicate: ["menuTmp"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>", styles: [".ax-context-menu{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXMenuComponent, selector: "ax-menu", inputs: ["disabled", "tabIndex", "textField", "valueField", "items", "parentId", "iconField", "tooltip", "isOpen", "isActive", "visibleField", "disableField", "hasChildField", "dividerField", "openMode", "displayMode", "showModal"], outputs: ["onBlur", "onFocus", "onMenuItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXContextMenuComponent, decorators: [{
241
241
  type: Component,
242
242
  args: [{ selector: 'ax-context-menu', inputs: [
@@ -254,7 +254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
254
254
  'dividerField',
255
255
  'openMode',
256
256
  'displayMode',
257
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>", styles: [".ax-context-menu{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"] }]
257
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>", styles: [".ax-context-menu{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"] }]
258
258
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.AXPlatform }]; }, propDecorators: { _contextTemplate: [{
259
259
  type: ViewChild,
260
260
  args: ['contextTemplate']