@acorex/components 21.0.2-next.5 → 21.0.2-next.51

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 (225) hide show
  1. package/conversation2/README.md +5 -8
  2. package/fesm2022/acorex-components-accordion.mjs +29 -29
  3. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +30 -30
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +16 -16
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-aspect-ratio.mjs +5 -5
  9. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +11 -11
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-autocomplete.mjs +14 -14
  13. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  14. package/fesm2022/acorex-components-avatar.mjs +17 -16
  15. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  16. package/fesm2022/acorex-components-badge.mjs +9 -9
  17. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  18. package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
  19. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  20. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
  21. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/acorex-components-button-group.mjs +40 -20
  23. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  24. package/fesm2022/acorex-components-button.mjs +35 -36
  25. package/fesm2022/acorex-components-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-calendar.mjs +256 -54
  27. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-check-box.mjs +10 -10
  29. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  30. package/fesm2022/acorex-components-chips.mjs +9 -9
  31. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  32. package/fesm2022/acorex-components-circular-progress.mjs +13 -13
  33. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  34. package/fesm2022/acorex-components-code-editor.mjs +27 -27
  35. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  36. package/fesm2022/acorex-components-color-box.mjs +14 -14
  37. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-color-palette.mjs +84 -43
  39. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  40. package/fesm2022/acorex-components-command.mjs +19 -19
  41. package/fesm2022/acorex-components-command.mjs.map +1 -1
  42. package/fesm2022/acorex-components-comment.mjs +35 -35
  43. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  44. package/fesm2022/acorex-components-conversation.mjs +105 -105
  45. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  46. package/fesm2022/acorex-components-conversation2.mjs +11165 -8111
  47. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  48. package/fesm2022/acorex-components-cron-job.mjs +51 -51
  49. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-list.mjs +31 -31
  51. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-pager.mjs +93 -104
  53. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +69 -57
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-box.mjs +174 -39
  57. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  58. package/fesm2022/acorex-components-datetime-input.mjs +30 -38
  59. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-picker.mjs +62 -55
  61. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  62. package/fesm2022/acorex-components-decorators.mjs +39 -39
  63. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dialog.mjs +19 -26
  65. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  66. package/fesm2022/acorex-components-drawer.mjs +23 -23
  67. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  69. package/fesm2022/acorex-components-dropdown.mjs +19 -19
  70. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/acorex-components-editor.mjs +12 -12
  72. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  73. package/fesm2022/acorex-components-fab.mjs +15 -15
  74. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  75. package/fesm2022/acorex-components-flow-chart.mjs +74 -58
  76. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +30 -30
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-grid-layout-builder.mjs +15 -15
  80. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image-editor.mjs +87 -87
  82. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-image.mjs +11 -11
  84. package/fesm2022/acorex-components-image.mjs.map +1 -1
  85. package/fesm2022/acorex-components-json-viewer.mjs +12 -12
  86. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kanban.mjs +23 -23
  88. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  89. package/fesm2022/acorex-components-kbd.mjs +15 -15
  90. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  91. package/fesm2022/acorex-components-label.mjs +9 -9
  92. package/fesm2022/acorex-components-list.mjs +15 -15
  93. package/fesm2022/acorex-components-list.mjs.map +1 -1
  94. package/fesm2022/acorex-components-loading-dialog.mjs +19 -19
  95. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  96. package/fesm2022/acorex-components-loading.mjs +21 -21
  97. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  98. package/fesm2022/acorex-components-map.mjs +46 -46
  99. package/fesm2022/acorex-components-map.mjs.map +1 -1
  100. package/fesm2022/acorex-components-media-viewer.mjs +82 -82
  101. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  102. package/fesm2022/acorex-components-menu.mjs +366 -197
  103. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  104. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs} +28 -28
  105. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs.map → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs.map} +1 -1
  106. package/fesm2022/{acorex-components-modal-modal-content.component-DTZu2zbU.mjs → acorex-components-modal-modal-content.component-DKweXQfl.mjs} +39 -39
  107. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs.map +1 -0
  108. package/fesm2022/acorex-components-modal.mjs +1 -1
  109. package/fesm2022/acorex-components-navbar.mjs +8 -8
  110. package/fesm2022/acorex-components-notification.mjs +28 -28
  111. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  112. package/fesm2022/acorex-components-number-box.mjs +61 -23
  113. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  114. package/fesm2022/acorex-components-otp.mjs +45 -21
  115. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  116. package/fesm2022/acorex-components-page.mjs +10 -10
  117. package/fesm2022/acorex-components-paint.mjs +53 -53
  118. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  119. package/fesm2022/acorex-components-password-box.mjs +28 -28
  120. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  121. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  122. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  123. package/fesm2022/acorex-components-phone-box.mjs +19 -19
  124. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  125. package/fesm2022/acorex-components-picker.mjs +31 -31
  126. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  127. package/fesm2022/acorex-components-popover.mjs +11 -11
  128. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  129. package/fesm2022/acorex-components-popup.mjs +48 -24
  130. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  131. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  132. package/fesm2022/acorex-components-qrcode.mjs +37 -20
  133. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  134. package/fesm2022/acorex-components-query-builder.mjs +15 -14
  135. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  136. package/fesm2022/acorex-components-radio.mjs +9 -9
  137. package/fesm2022/acorex-components-rail-navigation.mjs +28 -28
  138. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  139. package/fesm2022/acorex-components-range-slider.mjs +34 -34
  140. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  141. package/fesm2022/acorex-components-rate-picker.mjs +17 -17
  142. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  143. package/fesm2022/acorex-components-rest-api-generator.mjs +33 -33
  144. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  145. package/fesm2022/acorex-components-result.mjs +8 -8
  146. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  147. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rrule.mjs +36 -36
  149. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  150. package/fesm2022/acorex-components-scheduler-picker.mjs +118 -118
  151. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  152. package/fesm2022/acorex-components-scheduler.mjs +398 -326
  153. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  154. package/fesm2022/acorex-components-search-box.mjs +9 -9
  155. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-select-box.mjs +22 -22
  157. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  158. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  159. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  160. package/fesm2022/acorex-components-selection-list.mjs +11 -11
  161. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  162. package/fesm2022/acorex-components-side-menu.mjs +455 -97
  163. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  164. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  165. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/acorex-components-slider.mjs +7 -7
  167. package/fesm2022/acorex-components-sliding-item.mjs +25 -25
  168. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  169. package/fesm2022/acorex-components-step-wizard.mjs +40 -39
  170. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  171. package/fesm2022/acorex-components-switch.mjs +12 -12
  172. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  173. package/fesm2022/acorex-components-tabs.mjs +20 -20
  174. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  175. package/fesm2022/acorex-components-tag-box.mjs +19 -19
  176. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  177. package/fesm2022/acorex-components-tag.mjs +8 -8
  178. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  179. package/fesm2022/acorex-components-text-area.mjs +9 -9
  180. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  181. package/fesm2022/acorex-components-text-box.mjs +12 -12
  182. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  183. package/fesm2022/acorex-components-time-duration.mjs +34 -32
  184. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  185. package/fesm2022/acorex-components-time-line.mjs +19 -19
  186. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  187. package/fesm2022/acorex-components-toast.mjs +26 -26
  188. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  189. package/fesm2022/acorex-components-toolbar.mjs +13 -13
  190. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  191. package/fesm2022/acorex-components-tooltip.mjs +27 -18
  192. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  193. package/fesm2022/acorex-components-tree-view.mjs +326 -67
  194. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  195. package/fesm2022/acorex-components-uploader.mjs +17 -17
  196. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  197. package/fesm2022/acorex-components-video-player.mjs +8 -8
  198. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  199. package/fesm2022/acorex-components-wysiwyg.mjs +60 -53
  200. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  201. package/package.json +5 -4
  202. package/types/acorex-components-button-group.d.ts +9 -3
  203. package/types/acorex-components-button.d.ts +2 -8
  204. package/types/acorex-components-calendar.d.ts +138 -27
  205. package/types/acorex-components-color-palette.d.ts +2 -0
  206. package/types/acorex-components-conversation2.d.ts +1296 -1256
  207. package/types/acorex-components-data-pager.d.ts +6 -25
  208. package/types/acorex-components-data-table.d.ts +12 -2
  209. package/types/acorex-components-datetime-box.d.ts +79 -8
  210. package/types/acorex-components-datetime-input.d.ts +2 -2
  211. package/types/acorex-components-datetime-picker.d.ts +15 -5
  212. package/types/acorex-components-flow-chart.d.ts +4 -0
  213. package/types/acorex-components-menu.d.ts +105 -36
  214. package/types/acorex-components-number-box.d.ts +9 -0
  215. package/types/acorex-components-otp.d.ts +18 -1
  216. package/types/acorex-components-popup.d.ts +11 -1
  217. package/types/acorex-components-qrcode.d.ts +1 -0
  218. package/types/acorex-components-query-builder.d.ts +1 -1
  219. package/types/acorex-components-scheduler.d.ts +23 -2
  220. package/types/acorex-components-side-menu.d.ts +96 -34
  221. package/types/acorex-components-step-wizard.d.ts +2 -1
  222. package/types/acorex-components-time-duration.d.ts +1 -0
  223. package/types/acorex-components-tree-view.d.ts +43 -2
  224. package/types/acorex-components-wysiwyg.d.ts +6 -1
  225. package/fesm2022/acorex-components-modal-modal-content.component-DTZu2zbU.mjs.map +0 -1
@@ -4,9 +4,9 @@ import { AXButtonModule } from '@acorex/components/button';
4
4
  import * as i1 from '@acorex/components/text-box';
5
5
  import { AXTextBoxModule } from '@acorex/components/text-box';
6
6
  import * as i3 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
7
+ import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
- import { inject, NgZone, signal, effect, Injectable, ViewEncapsulation, ChangeDetectionStrategy, Component, viewChild, output, afterNextRender, input, computed, HostListener, NgModule } from '@angular/core';
9
+ import { inject, NgZone, PLATFORM_ID, signal, effect, Injectable, ViewEncapsulation, ChangeDetectionStrategy, Component, viewChild, output, afterNextRender, input, computed, HostListener, NgModule } from '@angular/core';
10
10
  import * as i4 from '@angular/forms';
11
11
  import { FormsModule } from '@angular/forms';
12
12
  import { Subject } from 'rxjs';
@@ -14,12 +14,14 @@ import { Subject } from 'rxjs';
14
14
  class AXFlowChartService {
15
15
  constructor() {
16
16
  this.zone = inject(NgZone);
17
- this.initialFlowChartEdge = signal([], ...(ngDevMode ? [{ debugName: "initialFlowChartEdge" }] : []));
18
- this.initialFlowChartNode = signal([], ...(ngDevMode ? [{ debugName: "initialFlowChartNode" }] : []));
19
- this.selectedNode = signal(null, ...(ngDevMode ? [{ debugName: "selectedNode" }] : []));
20
- this.selectedEdge = signal(null, ...(ngDevMode ? [{ debugName: "selectedEdge" }] : []));
21
- this.svgService = signal(null, ...(ngDevMode ? [{ debugName: "svgService" }] : []));
22
- this.canvasService = signal(null, ...(ngDevMode ? [{ debugName: "canvasService" }] : []));
17
+ this.platformId = inject(PLATFORM_ID);
18
+ this.document = inject(DOCUMENT);
19
+ this.initialFlowChartEdge = signal([], ...(ngDevMode ? [{ debugName: "initialFlowChartEdge" }] : /* istanbul ignore next */ []));
20
+ this.initialFlowChartNode = signal([], ...(ngDevMode ? [{ debugName: "initialFlowChartNode" }] : /* istanbul ignore next */ []));
21
+ this.selectedNode = signal(null, ...(ngDevMode ? [{ debugName: "selectedNode" }] : /* istanbul ignore next */ []));
22
+ this.selectedEdge = signal(null, ...(ngDevMode ? [{ debugName: "selectedEdge" }] : /* istanbul ignore next */ []));
23
+ this.svgService = signal(null, ...(ngDevMode ? [{ debugName: "svgService" }] : /* istanbul ignore next */ []));
24
+ this.canvasService = signal(null, ...(ngDevMode ? [{ debugName: "canvasService" }] : /* istanbul ignore next */ []));
23
25
  this.lineClick = new Subject();
24
26
  this.lineDbClick = new Subject();
25
27
  this.nodeClick = new Subject();
@@ -33,17 +35,19 @@ class AXFlowChartService {
33
35
  this.draggingConnection = false;
34
36
  this.tempLine = null;
35
37
  this.#eff2 = effect(() => {
36
- if (this.initialFlowChartEdge()) {
37
- setTimeout(() => {
38
- this.drawEdges(this.initialFlowChartEdge());
39
- });
38
+ if (!isPlatformBrowser(this.platformId) || !this.initialFlowChartEdge()) {
39
+ return;
40
40
  }
41
- }, ...(ngDevMode ? [{ debugName: "#eff2" }] : []));
41
+ setTimeout(() => {
42
+ this.drawEdges(this.initialFlowChartEdge());
43
+ });
44
+ }, ...(ngDevMode ? [{ debugName: "#eff2" }] : /* istanbul ignore next */ []));
42
45
  this.#eff3 = effect(() => {
43
- if (this.initialFlowChartNode()) {
44
- this.createNode(this.initialFlowChartNode());
46
+ if (!isPlatformBrowser(this.platformId) || !this.initialFlowChartNode()) {
47
+ return;
45
48
  }
46
- }, ...(ngDevMode ? [{ debugName: "#eff3" }] : []));
49
+ this.createNode(this.initialFlowChartNode());
50
+ }, ...(ngDevMode ? [{ debugName: "#eff3" }] : /* istanbul ignore next */ []));
47
51
  }
48
52
  #eff2;
49
53
  #eff3;
@@ -121,7 +125,6 @@ class AXFlowChartService {
121
125
  nodeId: dot.dataset['nodeId'],
122
126
  anchor: dot.dataset['anchor'],
123
127
  };
124
- console.log(clicked);
125
128
  if (!this.anchorClickBuffer) {
126
129
  this.anchorClickBuffer = clicked;
127
130
  }
@@ -143,7 +146,7 @@ class AXFlowChartService {
143
146
  }
144
147
  addAnchors(el, type) {
145
148
  ['top', 'bottom', 'left', 'right'].forEach((anchor) => {
146
- const dot = document.createElement('div');
149
+ const dot = this.document.createElement('div');
147
150
  dot.className = 'ax-flow-chart-anchor';
148
151
  dot.dataset['anchor'] = anchor;
149
152
  dot.dataset['nodeId'] = el.dataset['id'];
@@ -205,8 +208,8 @@ class AXFlowChartService {
205
208
  };
206
209
  // Add global event listeners
207
210
  this.zone.runOutsideAngular(() => {
208
- document.addEventListener('mousemove', mousemoveHandler);
209
- document.addEventListener('mouseup', mouseupHandler);
211
+ this.document.addEventListener('mousemove', mousemoveHandler);
212
+ this.document.addEventListener('mouseup', mouseupHandler);
210
213
  });
211
214
  // Store global listeners
212
215
  const globalListeners = this.eventListeners.get('global');
@@ -278,7 +281,7 @@ class AXFlowChartService {
278
281
  const svgElement = this.svgService()?.nativeElement;
279
282
  if (!svgElement)
280
283
  return;
281
- this.tempLine = document.createElementNS('http://www.w3.org/2000/svg', 'line');
284
+ this.tempLine = this.document.createElementNS('http://www.w3.org/2000/svg', 'line');
282
285
  this.tempLine.setAttribute('x1', x.toString());
283
286
  this.tempLine.setAttribute('y1', y.toString());
284
287
  this.tempLine.setAttribute('x2', x.toString());
@@ -305,6 +308,9 @@ class AXFlowChartService {
305
308
  this.drawEdges();
306
309
  }
307
310
  drawEdges(edges) {
311
+ if (!isPlatformBrowser(this.platformId)) {
312
+ return;
313
+ }
308
314
  const svg = this.svgService()?.nativeElement;
309
315
  if (!svg)
310
316
  return;
@@ -337,7 +343,7 @@ class AXFlowChartService {
337
343
  this.selectedEdge.set(edge);
338
344
  this.selectedNode.set(null);
339
345
  // Remove selection from all other lines
340
- document.querySelectorAll('.ax-flow-chart-line').forEach((l) => {
346
+ this.document.querySelectorAll('.ax-flow-chart-line').forEach((l) => {
341
347
  if (l !== line)
342
348
  l.classList.remove('selected');
343
349
  });
@@ -351,7 +357,7 @@ class AXFlowChartService {
351
357
  });
352
358
  }
353
359
  createLine(from, to, edge) {
354
- const line = document.createElementNS('http://www.w3.org/2000/svg', 'line');
360
+ const line = this.document.createElementNS('http://www.w3.org/2000/svg', 'line');
355
361
  line.setAttribute('x1', from.x.toString());
356
362
  line.setAttribute('y1', from.y.toString());
357
363
  line.setAttribute('x2', to.x.toString());
@@ -391,10 +397,17 @@ class AXFlowChartService {
391
397
  }
392
398
  }
393
399
  createNode(nodes) {
394
- document.querySelectorAll('.ax-flow-chart-node')?.forEach((node) => node.remove());
400
+ if (!isPlatformBrowser(this.platformId)) {
401
+ return;
402
+ }
403
+ const canvas = this.canvasService()?.nativeElement;
404
+ if (!canvas) {
405
+ return;
406
+ }
407
+ this.document.querySelectorAll('.ax-flow-chart-node')?.forEach((node) => node.remove());
395
408
  nodes.forEach((node) => {
396
- const el = document.createElement('div');
397
- const p = document.createElement('p');
409
+ const el = this.document.createElement('div');
410
+ const p = this.document.createElement('p');
398
411
  p.innerText = node.label;
399
412
  el.appendChild(p);
400
413
  el.className = 'ax-flow-chart-node';
@@ -405,7 +418,7 @@ class AXFlowChartService {
405
418
  this.addAnchors(el, node.type);
406
419
  this.makeDraggable(el);
407
420
  this.setupNodeEventListeners(el, node);
408
- this.canvasService().nativeElement.appendChild(el);
421
+ canvas.appendChild(el);
409
422
  this.nodesMap.set(node.id, el);
410
423
  });
411
424
  }
@@ -416,7 +429,7 @@ class AXFlowChartService {
416
429
  this.removeEdge(edge);
417
430
  }
418
431
  });
419
- document.querySelector(`[data-id="${nodeId}"]`)?.remove();
432
+ this.document.querySelector(`[data-id="${nodeId}"]`)?.remove();
420
433
  this.anchorClickBuffer = null;
421
434
  }
422
435
  cleanup() {
@@ -424,10 +437,10 @@ class AXFlowChartService {
424
437
  this.nodesMap.clear();
425
438
  this.eventListeners.clear();
426
439
  }
427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
428
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartService }); }
440
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
441
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartService }); }
429
442
  }
430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartService, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartService, decorators: [{
431
444
  type: Injectable
432
445
  }] });
433
446
 
@@ -435,7 +448,7 @@ class AXFlowChartCreatorComponent extends NXComponent {
435
448
  constructor() {
436
449
  super(...arguments);
437
450
  this.service = inject(AXFlowChartService);
438
- this.selectedShape = signal('rectangle', ...(ngDevMode ? [{ debugName: "selectedShape" }] : []));
451
+ this.selectedShape = signal('rectangle', ...(ngDevMode ? [{ debugName: "selectedShape" }] : /* istanbul ignore next */ []));
439
452
  this.label = 'Label';
440
453
  }
441
454
  selectShapeHandler(shape) {
@@ -499,10 +512,10 @@ class AXFlowChartCreatorComponent extends NXComponent {
499
512
  printWindow.document.write(printContent);
500
513
  printWindow.document.close();
501
514
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartCreatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
503
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXFlowChartCreatorComponent, isStandalone: true, selector: "ax-flow-chart-creator", providers: [{ provide: AXComponent, useExisting: AXFlowChartCreatorComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-shape-container\">\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'rectangle' }\"\n (click)=\"selectShapeHandler('rectangle')\"\n class=\"ax-rectangle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'circle' }\"\n (click)=\"selectShapeHandler('circle')\"\n class=\"ax-circle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'diamond' }\"\n (click)=\"selectShapeHandler('diamond')\"\n class=\"ax-diamond\"\n ></div>\n</div>\n<ax-text-box class=\"ax-sm\" [(ngModel)]=\"label\" placeholder=\"Label\"> </ax-text-box>\n\n<ax-button class=\"ax-sm\" (onClick)=\"createShapeHandler()\" color=\"primary\" text=\"Create\"></ax-button>\n<ax-button color=\"primary\" text=\"Print\" class=\"ax-sm\" (click)=\"printChart()\"></ax-button>\n", styles: ["ax-flow-chart-creator{align-items:center;gap:1rem;padding:1rem;display:flex}ax-flow-chart-creator .ax-shape-container{gap:1rem;display:flex}ax-flow-chart-creator .ax-shape-container .ax-shape-selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))!important}ax-flow-chart-creator .ax-shape-container .ax-rectangle,ax-flow-chart-creator .ax-shape-container .ax-circle,ax-flow-chart-creator .ax-shape-container .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;display:flex}ax-flow-chart-creator .ax-shape-container .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-creator .ax-shape-container .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}\n"], dependencies: [{ kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
515
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartCreatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
516
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXFlowChartCreatorComponent, isStandalone: true, selector: "ax-flow-chart-creator", providers: [{ provide: AXComponent, useExisting: AXFlowChartCreatorComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-shape-container\">\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'rectangle' }\"\n (click)=\"selectShapeHandler('rectangle')\"\n class=\"ax-rectangle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'circle' }\"\n (click)=\"selectShapeHandler('circle')\"\n class=\"ax-circle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'diamond' }\"\n (click)=\"selectShapeHandler('diamond')\"\n class=\"ax-diamond\"\n ></div>\n</div>\n<ax-text-box class=\"ax-sm\" [(ngModel)]=\"label\" placeholder=\"Label\"> </ax-text-box>\n\n<ax-button class=\"ax-sm\" (onClick)=\"createShapeHandler()\" color=\"primary\" text=\"Create\"></ax-button>\n<ax-button color=\"primary\" text=\"Print\" class=\"ax-sm\" (click)=\"printChart()\"></ax-button>\n", styles: ["ax-flow-chart-creator{align-items:center;gap:1rem;padding:1rem;display:flex}ax-flow-chart-creator .ax-shape-container{gap:1rem;display:flex}ax-flow-chart-creator .ax-shape-container .ax-shape-selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))!important}ax-flow-chart-creator .ax-shape-container .ax-rectangle,ax-flow-chart-creator .ax-shape-container .ax-circle,ax-flow-chart-creator .ax-shape-container .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;display:flex}ax-flow-chart-creator .ax-shape-container .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-creator .ax-shape-container .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}\n"], dependencies: [{ kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
504
517
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartCreatorComponent, decorators: [{
518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartCreatorComponent, decorators: [{
506
519
  type: Component,
507
520
  args: [{ selector: 'ax-flow-chart-creator', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXTextBoxModule, AXButtonModule, CommonModule, FormsModule], providers: [{ provide: AXComponent, useExisting: AXFlowChartCreatorComponent }], template: "<div class=\"ax-shape-container\">\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'rectangle' }\"\n (click)=\"selectShapeHandler('rectangle')\"\n class=\"ax-rectangle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'circle' }\"\n (click)=\"selectShapeHandler('circle')\"\n class=\"ax-circle\"\n ></div>\n <div\n [ngClass]=\"{ 'ax-shape-selected': selectedShape() === 'diamond' }\"\n (click)=\"selectShapeHandler('diamond')\"\n class=\"ax-diamond\"\n ></div>\n</div>\n<ax-text-box class=\"ax-sm\" [(ngModel)]=\"label\" placeholder=\"Label\"> </ax-text-box>\n\n<ax-button class=\"ax-sm\" (onClick)=\"createShapeHandler()\" color=\"primary\" text=\"Create\"></ax-button>\n<ax-button color=\"primary\" text=\"Print\" class=\"ax-sm\" (click)=\"printChart()\"></ax-button>\n", styles: ["ax-flow-chart-creator{align-items:center;gap:1rem;padding:1rem;display:flex}ax-flow-chart-creator .ax-shape-container{gap:1rem;display:flex}ax-flow-chart-creator .ax-shape-container .ax-shape-selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))!important}ax-flow-chart-creator .ax-shape-container .ax-rectangle,ax-flow-chart-creator .ax-shape-container .ax-circle,ax-flow-chart-creator .ax-shape-container .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;display:flex}ax-flow-chart-creator .ax-shape-container .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-creator .ax-shape-container .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}\n"] }]
508
521
  }] });
@@ -510,9 +523,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
510
523
  class AXFlowChartRendererComponent extends NXComponent {
511
524
  constructor() {
512
525
  super(...arguments);
513
- this.canvas = viewChild('canvas', ...(ngDevMode ? [{ debugName: "canvas" }] : []));
514
- this.svg = viewChild('connections', ...(ngDevMode ? [{ debugName: "svg" }] : []));
526
+ this.canvas = viewChild('canvas', ...(ngDevMode ? [{ debugName: "canvas" }] : /* istanbul ignore next */ []));
527
+ this.svg = viewChild('connections', ...(ngDevMode ? [{ debugName: "svg" }] : /* istanbul ignore next */ []));
515
528
  this.service = inject(AXFlowChartService);
529
+ this.document = inject(DOCUMENT);
530
+ this.platformId = inject(PLATFORM_ID);
516
531
  this.onLineClick = output();
517
532
  this.onLineDbClick = output();
518
533
  this.onNodeClick = output();
@@ -523,10 +538,11 @@ class AXFlowChartRendererComponent extends NXComponent {
523
538
  this.setupEventListeners();
524
539
  });
525
540
  this.#eff = effect(() => {
526
- if (this.canvas() && this.svg()) {
527
- this.initializeServices();
541
+ if (!isPlatformBrowser(this.platformId) || !this.canvas() || !this.svg()) {
542
+ return;
528
543
  }
529
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
544
+ this.initializeServices();
545
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
530
546
  }
531
547
  #init;
532
548
  #eff;
@@ -561,8 +577,8 @@ class AXFlowChartRendererComponent extends NXComponent {
561
577
  if (e.target === canvas) {
562
578
  this.service.selectedNode.set(null);
563
579
  this.service.selectedEdge.set(null);
564
- document.querySelectorAll('.ax-flow-chart-node').forEach((node) => node.classList.remove('selected'));
565
- document.querySelectorAll('.ax-flow-chart-line').forEach((line) => line.classList.remove('selected'));
580
+ this.document.querySelectorAll('.ax-flow-chart-node').forEach((node) => node.classList.remove('selected'));
581
+ this.document.querySelectorAll('.ax-flow-chart-line').forEach((line) => line.classList.remove('selected'));
566
582
  }
567
583
  });
568
584
  }
@@ -571,8 +587,8 @@ class AXFlowChartRendererComponent extends NXComponent {
571
587
  if (e.target === svg) {
572
588
  this.service.selectedNode.set(null);
573
589
  this.service.selectedEdge.set(null);
574
- document.querySelectorAll('.ax-flow-chart-node').forEach((node) => node.classList.remove('selected'));
575
- document.querySelectorAll('.ax-flow-chart-line').forEach((line) => line.classList.remove('selected'));
590
+ this.document.querySelectorAll('.ax-flow-chart-node').forEach((node) => node.classList.remove('selected'));
591
+ this.document.querySelectorAll('.ax-flow-chart-line').forEach((line) => line.classList.remove('selected'));
576
592
  }
577
593
  });
578
594
  }
@@ -588,10 +604,10 @@ class AXFlowChartRendererComponent extends NXComponent {
588
604
  this.service.nodeDbClick.unsubscribe();
589
605
  this.service.onEdgeUpdate.unsubscribe();
590
606
  }
591
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
592
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: AXFlowChartRendererComponent, isStandalone: true, selector: "ax-flow-chart-renderer", outputs: { onLineClick: "onLineClick", onLineDbClick: "onLineDbClick", onNodeClick: "onNodeClick", onNodeDbClick: "onNodeDbClick", onEdgeUpdate: "onEdgeUpdate", onNodeUpdate: "onNodeUpdate" }, providers: [{ provide: AXComponent, useExisting: AXFlowChartRendererComponent }], viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, isSignal: true }, { propertyName: "svg", first: true, predicate: ["connections"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"ax-flow-chart-renderer-canvas\" #canvas>\n <svg class=\"ax-flow-chart-renderer-svg\" id=\"ax-flow-chart-renderer-connections\" #connections></svg>\n</div>\n", styles: ["ax-flow-chart-renderer{width:var(--ax-comp-flow-chart-width,100%);height:var(--ax-comp-flow-chart-height,30rem);-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow:hidden}ax-flow-chart-renderer #ax-flow-chart-renderer-canvas{width:100%;height:100%;position:relative}ax-flow-chart-renderer .ax-flow-chart-node{background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface));border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:move;-webkit-user-select:none;user-select:none;padding:1rem;position:absolute}ax-flow-chart-renderer .ax-flow-chart-node.selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))}ax-flow-chart-renderer .ax-flow-chart-node .ax-flow-chart-anchor{opacity:0;transition:opacity .5s}ax-flow-chart-renderer .ax-flow-chart-node:hover .ax-flow-chart-anchor,ax-flow-chart-renderer .ax-flow-chart-node.selected .ax-flow-chart-anchor{opacity:1}ax-flow-chart-renderer .ax-flow-chart-anchor{background-color:rgba(var(--ax-sys-color-on-lightest-surface));cursor:crosshair;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}ax-flow-chart-renderer .ax-flow-chart-anchor.selected{background-color:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-flow-chart-anchor.hover{background-color:rgba(var(--ax-sys-color-danger-darkest-surface));transition:all .3s;scale:1.3}ax-flow-chart-renderer .ax-flow-chart-anchor:before{content:\"\";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}ax-flow-chart-renderer .ax-flow-chart-renderer-svg{position:absolute;top:0;left:0;overflow:visible}ax-flow-chart-renderer .ax-flow-chart-line:hover{stroke:rgba(var(--ax-sys-color-danger-darker-surface));cursor:pointer;transition:all .3s}ax-flow-chart-renderer .ax-flow-chart-line.selected{stroke:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-rectangle,ax-flow-chart-renderer .ax-circle,ax-flow-chart-renderer .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));justify-content:center;align-items:center;width:auto;height:auto;display:flex}ax-flow-chart-renderer .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-renderer .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}ax-flow-chart-renderer .ax-diamond p{transform:rotate(-45deg)scale(1.25)}ax-flow-chart-renderer .ax-diamond .ax-flow-chart-anchor{width:14px;height:14px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
608
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: AXFlowChartRendererComponent, isStandalone: true, selector: "ax-flow-chart-renderer", outputs: { onLineClick: "onLineClick", onLineDbClick: "onLineDbClick", onNodeClick: "onNodeClick", onNodeDbClick: "onNodeDbClick", onEdgeUpdate: "onEdgeUpdate", onNodeUpdate: "onNodeUpdate" }, providers: [{ provide: AXComponent, useExisting: AXFlowChartRendererComponent }], viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, isSignal: true }, { propertyName: "svg", first: true, predicate: ["connections"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"ax-flow-chart-renderer-canvas\" #canvas>\n <svg class=\"ax-flow-chart-renderer-svg\" id=\"ax-flow-chart-renderer-connections\" #connections></svg>\n</div>\n", styles: ["ax-flow-chart-renderer{width:var(--ax-comp-flow-chart-width,100%);height:var(--ax-comp-flow-chart-height,30rem);-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow:hidden}ax-flow-chart-renderer #ax-flow-chart-renderer-canvas{width:100%;height:100%;position:relative}ax-flow-chart-renderer .ax-flow-chart-node{background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface));border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:move;-webkit-user-select:none;user-select:none;padding:1rem;position:absolute}ax-flow-chart-renderer .ax-flow-chart-node.selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))}ax-flow-chart-renderer .ax-flow-chart-node .ax-flow-chart-anchor{opacity:0;transition:opacity .5s}ax-flow-chart-renderer .ax-flow-chart-node:hover .ax-flow-chart-anchor,ax-flow-chart-renderer .ax-flow-chart-node.selected .ax-flow-chart-anchor{opacity:1}ax-flow-chart-renderer .ax-flow-chart-anchor{background-color:rgba(var(--ax-sys-color-on-lightest-surface));cursor:crosshair;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}ax-flow-chart-renderer .ax-flow-chart-anchor.selected{background-color:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-flow-chart-anchor.hover{background-color:rgba(var(--ax-sys-color-danger-darkest-surface));transition:all .3s;scale:1.3}ax-flow-chart-renderer .ax-flow-chart-anchor:before{content:\"\";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}ax-flow-chart-renderer .ax-flow-chart-renderer-svg{position:absolute;top:0;left:0;overflow:visible}ax-flow-chart-renderer .ax-flow-chart-line:hover{stroke:rgba(var(--ax-sys-color-danger-darker-surface));cursor:pointer;transition:all .3s}ax-flow-chart-renderer .ax-flow-chart-line.selected{stroke:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-rectangle,ax-flow-chart-renderer .ax-circle,ax-flow-chart-renderer .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));justify-content:center;align-items:center;width:auto;height:auto;display:flex}ax-flow-chart-renderer .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-renderer .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}ax-flow-chart-renderer .ax-diamond p{transform:rotate(-45deg)scale(1.25)}ax-flow-chart-renderer .ax-diamond .ax-flow-chart-anchor{width:14px;height:14px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
593
609
  }
594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartRendererComponent, decorators: [{
610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartRendererComponent, decorators: [{
595
611
  type: Component,
596
612
  args: [{ selector: 'ax-flow-chart-renderer', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXFlowChartRendererComponent }], template: "<div id=\"ax-flow-chart-renderer-canvas\" #canvas>\n <svg class=\"ax-flow-chart-renderer-svg\" id=\"ax-flow-chart-renderer-connections\" #connections></svg>\n</div>\n", styles: ["ax-flow-chart-renderer{width:var(--ax-comp-flow-chart-width,100%);height:var(--ax-comp-flow-chart-height,30rem);-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow:hidden}ax-flow-chart-renderer #ax-flow-chart-renderer-canvas{width:100%;height:100%;position:relative}ax-flow-chart-renderer .ax-flow-chart-node{background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface));border:2px solid rgba(var(--ax-sys-color-border-surface));cursor:move;-webkit-user-select:none;user-select:none;padding:1rem;position:absolute}ax-flow-chart-renderer .ax-flow-chart-node.selected{border:2px solid rgba(var(--ax-sys-color-danger-darker-surface))}ax-flow-chart-renderer .ax-flow-chart-node .ax-flow-chart-anchor{opacity:0;transition:opacity .5s}ax-flow-chart-renderer .ax-flow-chart-node:hover .ax-flow-chart-anchor,ax-flow-chart-renderer .ax-flow-chart-node.selected .ax-flow-chart-anchor{opacity:1}ax-flow-chart-renderer .ax-flow-chart-anchor{background-color:rgba(var(--ax-sys-color-on-lightest-surface));cursor:crosshair;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}ax-flow-chart-renderer .ax-flow-chart-anchor.selected{background-color:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-flow-chart-anchor.hover{background-color:rgba(var(--ax-sys-color-danger-darkest-surface));transition:all .3s;scale:1.3}ax-flow-chart-renderer .ax-flow-chart-anchor:before{content:\"\";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}ax-flow-chart-renderer .ax-flow-chart-renderer-svg{position:absolute;top:0;left:0;overflow:visible}ax-flow-chart-renderer .ax-flow-chart-line:hover{stroke:rgba(var(--ax-sys-color-danger-darker-surface));cursor:pointer;transition:all .3s}ax-flow-chart-renderer .ax-flow-chart-line.selected{stroke:rgba(var(--ax-sys-color-primary-surface))}ax-flow-chart-renderer .ax-rectangle,ax-flow-chart-renderer .ax-circle,ax-flow-chart-renderer .ax-diamond{border:2px solid rgba(var(--ax-sys-color-border-surface));justify-content:center;align-items:center;width:auto;height:auto;display:flex}ax-flow-chart-renderer .ax-circle{aspect-ratio:1;border-radius:1000vmax}ax-flow-chart-renderer .ax-diamond{aspect-ratio:1;transform:rotate(45deg)scale(.75)}ax-flow-chart-renderer .ax-diamond p{transform:rotate(-45deg)scale(1.25)}ax-flow-chart-renderer .ax-diamond .ax-flow-chart-anchor{width:14px;height:14px}\n"] }]
597
613
  }], propDecorators: { canvas: [{ type: i0.ViewChild, args: ['canvas', { isSignal: true }] }], svg: [{ type: i0.ViewChild, args: ['connections', { isSignal: true }] }], onLineClick: [{ type: i0.Output, args: ["onLineClick"] }], onLineDbClick: [{ type: i0.Output, args: ["onLineDbClick"] }], onNodeClick: [{ type: i0.Output, args: ["onNodeClick"] }], onNodeDbClick: [{ type: i0.Output, args: ["onNodeDbClick"] }], onEdgeUpdate: [{ type: i0.Output, args: ["onEdgeUpdate"] }], onNodeUpdate: [{ type: i0.Output, args: ["onNodeUpdate"] }] } });
@@ -600,10 +616,10 @@ class AXFlowChartComponent extends NXComponent {
600
616
  constructor() {
601
617
  super(...arguments);
602
618
  this.flowChartService = inject(AXFlowChartService);
603
- this.initialFlowChartNode = input.required(...(ngDevMode ? [{ debugName: "initialFlowChartNode" }] : []));
604
- this.initialFlowChartEdge = input.required(...(ngDevMode ? [{ debugName: "initialFlowChartEdge" }] : []));
605
- this.selectedNode = computed(() => this.flowChartService.selectedNode(), ...(ngDevMode ? [{ debugName: "selectedNode" }] : []));
606
- this.selectedEdge = computed(() => this.flowChartService.selectedEdge(), ...(ngDevMode ? [{ debugName: "selectedEdge" }] : []));
619
+ this.initialFlowChartNode = input.required(...(ngDevMode ? [{ debugName: "initialFlowChartNode" }] : /* istanbul ignore next */ []));
620
+ this.initialFlowChartEdge = input.required(...(ngDevMode ? [{ debugName: "initialFlowChartEdge" }] : /* istanbul ignore next */ []));
621
+ this.selectedNode = computed(() => this.flowChartService.selectedNode(), ...(ngDevMode ? [{ debugName: "selectedNode" }] : /* istanbul ignore next */ []));
622
+ this.selectedEdge = computed(() => this.flowChartService.selectedEdge(), ...(ngDevMode ? [{ debugName: "selectedEdge" }] : /* istanbul ignore next */ []));
607
623
  this.#init = afterNextRender(() => {
608
624
  this.flowChartService.initialFlowChartNode.set(this.initialFlowChartNode());
609
625
  this.flowChartService.initialFlowChartEdge.set(this.initialFlowChartEdge());
@@ -658,15 +674,15 @@ class AXFlowChartComponent extends NXComponent {
658
674
  removeNode(nodeId) {
659
675
  this.flowChartService.removeNode(nodeId);
660
676
  }
661
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXFlowChartComponent, isStandalone: true, selector: "ax-flow-chart", inputs: { initialFlowChartNode: { classPropertyName: "initialFlowChartNode", publicName: "initialFlowChartNode", isSignal: true, isRequired: true, transformFunction: null }, initialFlowChartEdge: { classPropertyName: "initialFlowChartEdge", publicName: "initialFlowChartEdge", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, providers: [
677
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
678
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: AXFlowChartComponent, isStandalone: true, selector: "ax-flow-chart", inputs: { initialFlowChartNode: { classPropertyName: "initialFlowChartNode", publicName: "initialFlowChartNode", isSignal: true, isRequired: true, transformFunction: null }, initialFlowChartEdge: { classPropertyName: "initialFlowChartEdge", publicName: "initialFlowChartEdge", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, providers: [
663
679
  AXFlowChartService,
664
680
  { provide: AXComponent, useExisting: AXFlowChartComponent },
665
681
  { provide: AXValuableComponent, useExisting: AXFlowChartComponent },
666
682
  { provide: AXFocusableComponent, useExisting: AXFlowChartComponent },
667
683
  ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<ng-content select=\"ax-flow-chart-renderer\"></ng-content>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["ax-flow-chart{border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);flex-direction:column;width:100%;height:100%;display:flex}ax-flow-chart ax-header{border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-flow-chart ax-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
668
684
  }
669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartComponent, decorators: [{
685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartComponent, decorators: [{
670
686
  type: Component,
671
687
  args: [{ selector: 'ax-flow-chart', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
672
688
  AXFlowChartService,
@@ -682,11 +698,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
682
698
  const COMPONENT = [AXFlowChartRendererComponent, AXFlowChartCreatorComponent, AXFlowChartComponent];
683
699
  const MODULES = [CommonModule];
684
700
  class AXFlowChartModule {
685
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
686
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartModule, imports: [CommonModule, AXFlowChartRendererComponent, AXFlowChartCreatorComponent, AXFlowChartComponent], exports: [AXFlowChartRendererComponent, AXFlowChartCreatorComponent, AXFlowChartComponent] }); }
687
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartModule, imports: [MODULES, AXFlowChartCreatorComponent] }); }
701
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
702
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartModule, imports: [CommonModule, AXFlowChartRendererComponent, AXFlowChartCreatorComponent, AXFlowChartComponent], exports: [AXFlowChartRendererComponent, AXFlowChartCreatorComponent, AXFlowChartComponent] }); }
703
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartModule, imports: [MODULES, AXFlowChartCreatorComponent] }); }
688
704
  }
689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXFlowChartModule, decorators: [{
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXFlowChartModule, decorators: [{
690
706
  type: NgModule,
691
707
  args: [{
692
708
  imports: [...MODULES, ...COMPONENT],