@acorex/components 19.8.0-next.8 → 19.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. package/action-sheet/lib/action-sheet.class.d.ts +2 -1
  2. package/badge/lib/badge.component.d.ts +2 -2
  3. package/button/lib/button.component.d.ts +6 -1
  4. package/button-group/lib/button-group-item.component.d.ts +1 -3
  5. package/button-group/lib/button-group.module.d.ts +1 -2
  6. package/chips/lib/chips.component.d.ts +7 -11
  7. package/color-box/lib/color-box.component.d.ts +1 -5
  8. package/color-palette/lib/color-palette-picker.component.d.ts +14 -19
  9. package/color-palette/lib/color-palette.module.d.ts +1 -2
  10. package/common/lib/classes/styles.class.d.ts +4 -6
  11. package/common/lib/components/button-base-component.class.d.ts +1 -0
  12. package/conversation/lib/conversation-container/conversation-container.component.d.ts +3 -2
  13. package/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -1
  14. package/datetime-picker/lib/datetime-picker.component.d.ts +10 -0
  15. package/datetime-picker/lib/datetime-picker.module.d.ts +1 -2
  16. package/decorators/index.d.ts +4 -5
  17. package/decorators/lib/decorators.module.d.ts +6 -7
  18. package/dialog/lib/dialog.component.d.ts +0 -2
  19. package/dropdown-button/lib/dropdown-button.component.d.ts +1 -1
  20. package/fesm2022/acorex-components-action-sheet.mjs +4 -4
  21. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  22. package/fesm2022/acorex-components-alert.mjs +4 -4
  23. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  24. package/fesm2022/acorex-components-audio-wave.mjs +5 -5
  25. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  26. package/fesm2022/acorex-components-avatar.mjs +4 -4
  27. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-badge.mjs +6 -6
  29. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  30. package/fesm2022/acorex-components-bottom-navigation.mjs +3 -3
  31. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  32. package/fesm2022/acorex-components-breadcrumbs.mjs +3 -3
  33. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  34. package/fesm2022/acorex-components-button-group.mjs +146 -147
  35. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  36. package/fesm2022/acorex-components-button.mjs +22 -19
  37. package/fesm2022/acorex-components-button.mjs.map +1 -1
  38. package/fesm2022/acorex-components-calendar.mjs +5 -5
  39. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  40. package/fesm2022/acorex-components-check-box.mjs +3 -3
  41. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  42. package/fesm2022/acorex-components-chips.mjs +10 -12
  43. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  44. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  45. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  46. package/fesm2022/acorex-components-collapse.mjs +4 -4
  47. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  48. package/fesm2022/acorex-components-color-box.mjs +4 -11
  49. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  50. package/fesm2022/acorex-components-color-palette.mjs +326 -342
  51. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  52. package/fesm2022/acorex-components-comment.mjs +9 -9
  53. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  54. package/fesm2022/acorex-components-common.mjs +7 -22
  55. package/fesm2022/acorex-components-common.mjs.map +1 -1
  56. package/fesm2022/acorex-components-conversation.mjs +50 -29
  57. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  58. package/fesm2022/acorex-components-cron-job.mjs +3 -3
  59. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  60. package/fesm2022/acorex-components-data-pager.mjs +7 -7
  61. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  62. package/fesm2022/acorex-components-data-table.mjs +5 -5
  63. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  64. package/fesm2022/acorex-components-datetime-box.mjs +4 -3
  65. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  66. package/fesm2022/acorex-components-datetime-input.mjs +3 -3
  67. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  68. package/fesm2022/acorex-components-datetime-picker.mjs +24 -18
  69. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  70. package/fesm2022/acorex-components-decorators.mjs +18 -30
  71. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  72. package/fesm2022/acorex-components-dialog.mjs +4 -11
  73. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  74. package/fesm2022/acorex-components-drawer.mjs +5 -5
  75. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  76. package/fesm2022/acorex-components-dropdown-button.mjs +13 -7
  77. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  78. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  79. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  80. package/fesm2022/acorex-components-file-explorer.mjs +231 -0
  81. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -0
  82. package/fesm2022/acorex-components-form.mjs +4 -11
  83. package/fesm2022/acorex-components-form.mjs.map +1 -1
  84. package/fesm2022/acorex-components-grid-layout-builder.mjs +200 -22
  85. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  86. package/fesm2022/acorex-components-image-editor.mjs +57 -42
  87. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  88. package/fesm2022/acorex-components-image.mjs +3 -3
  89. package/fesm2022/acorex-components-image.mjs.map +1 -1
  90. package/fesm2022/acorex-components-json-viewer.mjs +3 -3
  91. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  92. package/fesm2022/acorex-components-label.mjs +3 -3
  93. package/fesm2022/acorex-components-label.mjs.map +1 -1
  94. package/fesm2022/acorex-components-list.mjs +3 -3
  95. package/fesm2022/acorex-components-list.mjs.map +1 -1
  96. package/fesm2022/acorex-components-loading-dialog.mjs +3 -3
  97. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  98. package/fesm2022/acorex-components-loading.mjs +5 -5
  99. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  100. package/fesm2022/acorex-components-map.mjs +1 -1
  101. package/fesm2022/acorex-components-media-viewer.mjs +5 -5
  102. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  103. package/fesm2022/acorex-components-menu.mjs +9 -9
  104. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  105. package/fesm2022/acorex-components-navbar.mjs +4 -4
  106. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  107. package/fesm2022/acorex-components-notification.mjs +5 -5
  108. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  109. package/fesm2022/acorex-components-number-box.mjs +7 -3
  110. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  111. package/fesm2022/acorex-components-otp.mjs +3 -3
  112. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  113. package/fesm2022/acorex-components-page.mjs +1 -1
  114. package/fesm2022/acorex-components-paint.mjs +11 -11
  115. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  116. package/fesm2022/acorex-components-password-box.mjs +5 -5
  117. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  118. package/fesm2022/acorex-components-pdf-reader.mjs +1 -1
  119. package/fesm2022/acorex-components-phone-box.mjs +3 -3
  120. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  121. package/fesm2022/acorex-components-picker.mjs +233 -128
  122. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  123. package/fesm2022/acorex-components-popover.mjs +1 -1
  124. package/fesm2022/acorex-components-popup.mjs +3 -3
  125. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  126. package/fesm2022/acorex-components-progress-bar.mjs +23 -23
  127. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  128. package/fesm2022/acorex-components-qrcode.mjs +1 -1
  129. package/fesm2022/acorex-components-radio.mjs +1 -1
  130. package/fesm2022/acorex-components-rail-navigation.mjs +4 -4
  131. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  132. package/fesm2022/acorex-components-range-slider.mjs +4 -4
  133. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  134. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  135. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  136. package/fesm2022/acorex-components-result.mjs +3 -3
  137. package/fesm2022/acorex-components-result.mjs.map +1 -1
  138. package/fesm2022/acorex-components-routing-progress.mjs +3 -3
  139. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  140. package/fesm2022/acorex-components-scheduler.mjs +12 -12
  141. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  142. package/fesm2022/acorex-components-search-box.mjs +11 -20
  143. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  144. package/fesm2022/acorex-components-select-box.mjs +3 -4
  145. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  146. package/fesm2022/acorex-components-selection-list.mjs +142 -27
  147. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  148. package/fesm2022/acorex-components-side-menu.mjs +18 -9
  149. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  150. package/fesm2022/acorex-components-skeleton.mjs +3 -3
  151. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  152. package/fesm2022/acorex-components-slider.mjs +3 -3
  153. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  154. package/fesm2022/acorex-components-step-wizard.mjs +3 -3
  155. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  156. package/fesm2022/acorex-components-switch.mjs +4 -9
  157. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  158. package/fesm2022/acorex-components-tabs.mjs +6 -6
  159. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  160. package/fesm2022/acorex-components-tag.mjs +4 -4
  161. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  162. package/fesm2022/acorex-components-text-area.mjs +4 -7
  163. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  164. package/fesm2022/acorex-components-text-box.mjs +3 -3
  165. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  166. package/fesm2022/acorex-components-time-line.mjs +9 -9
  167. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  168. package/fesm2022/acorex-components-toast.mjs +5 -5
  169. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  170. package/fesm2022/acorex-components-toolbar.mjs +12 -3
  171. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  172. package/fesm2022/acorex-components-tooltip.mjs +3 -3
  173. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  174. package/fesm2022/acorex-components-tree-view.mjs +37 -68
  175. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  176. package/fesm2022/acorex-components-uploader.mjs +8 -8
  177. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  178. package/fesm2022/acorex-components-video-player.mjs +1 -1
  179. package/fesm2022/acorex-components-wysiwyg.mjs +26 -26
  180. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  181. package/file-explorer/README.md +3 -0
  182. package/file-explorer/index.d.ts +6 -0
  183. package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +10 -0
  184. package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +11 -0
  185. package/file-explorer/lib/file-explorer-types.d.ts +11 -0
  186. package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +27 -0
  187. package/file-explorer/lib/file-explorer.module.d.ts +16 -0
  188. package/file-explorer/lib/file-explorer.service.d.ts +6 -0
  189. package/form/lib/form.component.d.ts +2 -3
  190. package/grid-layout-builder/index.d.ts +1 -0
  191. package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +3 -2
  192. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +14 -10
  193. package/grid-layout-builder/lib/grid-layout-widget.directive.d.ts +106 -0
  194. package/grid-layout-builder/lib/types.d.ts +2 -1
  195. package/image-editor/index.d.ts +1 -0
  196. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +3 -22
  197. package/image-editor/lib/image-editor-toolbar/image-editor-toolbar.component.d.ts +27 -0
  198. package/image-editor/lib/image-editor.module.d.ts +17 -16
  199. package/loading/lib/loading-spinner.component.d.ts +1 -1
  200. package/menu/lib/menu-item.component.d.ts +1 -2
  201. package/notification/lib/notification.service.d.ts +1 -1
  202. package/package.json +5 -1
  203. package/paint/lib/paint/paint-view/paint-view.component.d.ts +1 -1
  204. package/picker/index.d.ts +2 -3
  205. package/picker/lib/picker-column.directive.d.ts +16 -0
  206. package/picker/lib/picker.component.d.ts +61 -0
  207. package/picker/lib/picker.module.d.ts +4 -6
  208. package/progress-bar/lib/progress-bar.component.d.ts +19 -19
  209. package/range-slider/lib/range-slider.component.d.ts +1 -1
  210. package/scheduler/lib/scheduler-month-view.component.d.ts +6 -6
  211. package/search-box/lib/search-box.component.d.ts +1 -5
  212. package/selection-list/README.md +2 -2
  213. package/selection-list/lib/selection-list.component.d.ts +70 -17
  214. package/selection-list/lib/selection-list.module.d.ts +7 -3
  215. package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +6 -3
  216. package/side-menu/lib/side-menu.component.d.ts +2 -1
  217. package/tabs/lib/tabs.class.d.ts +1 -1
  218. package/text-area/lib/text-area.component.d.ts +1 -5
  219. package/time-line/lib/time-line.component.d.ts +1 -1
  220. package/toast/lib/toast.service.d.ts +1 -1
  221. package/toolbar/lib/toolbar.component.d.ts +3 -1
  222. package/tree-view/lib/tree-view.class.d.ts +1 -0
  223. package/tree-view/lib/tree-view.component.d.ts +1 -7
  224. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +2 -2
  225. package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +0 -6
  226. package/picker/lib/picker-container/picker-container.component.d.ts +0 -7
  227. package/picker/lib/picker-items/picker-items.component.d.ts +0 -20
  228. package/picker/lib/picker-title/picker-title.component.d.ts +0 -5
  229. /package/decorators/lib/components/{clear-button/clear-button.component.d.ts → clear-button.component.d.ts} +0 -0
  230. /package/decorators/lib/components/{close-button/close-button.component.d.ts → close-button.component.d.ts} +0 -0
  231. /package/decorators/lib/components/{full-screen/full-screen-button.component.d.ts → full-screen-button.component.d.ts} +0 -0
  232. /package/decorators/lib/components/{icon/icon.component.d.ts → icon.component.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../libs/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\r\nimport {\r\n AXClearableComponent,\r\n AXComponent,\r\n AXFocusableComponent,\r\n AXValuableComponent,\r\n MXInputBaseValueComponent,\r\n MXLookComponent,\r\n} from '@acorex/components/common';\r\nimport { isBrowser } from '@acorex/core/platform';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n afterNextRender,\r\n effect,\r\n forwardRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { classes } from 'polytype';\r\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\r\nimport { AXWysiwygService } from '../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-container',\r\n templateUrl: './wysiwyg-container.component.html',\r\n styleUrl: './wysiwyg-container.component.scss',\r\n inputs: ['look'],\r\n outputs: ['onValueChanged'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n AXWysiwygService,\r\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXClearableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\r\n multi: true,\r\n },\r\n ],\r\n standalone: false,\r\n})\r\nexport class AXWysiwygContainerComponent\r\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\r\n implements OnDestroy\r\n{\r\n /** @ignore */\r\n protected service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n private zone = inject(NgZone);\r\n\r\n /** @ignore */\r\n protected quillChangeTriggered = signal(false);\r\n\r\n /** @ignore */\r\n protected ngModelChangeTriggered = signal(false);\r\n\r\n /**\r\n * Specifies the placeholder text.\r\n *\r\n */\r\n placeHolder = input<string>();\r\n\r\n protected isQuillLoaded = signal(false);\r\n\r\n #init = afterNextRender(() => {\r\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\r\n\r\n this.zone.runOutsideAngular(async () => {\r\n if (isBrowser()) {\r\n const newWysiwyg = new AXWysiwyg();\r\n\r\n await newWysiwyg.init(view, {\r\n readOnly: true,\r\n });\r\n\r\n this.service.wysiwyg.set(newWysiwyg);\r\n this.isQuillLoaded.set(true);\r\n }\r\n });\r\n });\r\n\r\n #effect1 = effect(() => {\r\n if (!this.isQuillLoaded()) return;\r\n\r\n if (this.placeHolder()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\r\n } else {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\r\n }\r\n });\r\n\r\n #effect2 = effect(() => {\r\n if (this.isQuillLoaded() && this.value) {\r\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\r\n }\r\n });\r\n\r\n #effect3 = effect(() => {\r\n if (this.isQuillLoaded()) {\r\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\r\n this.service.wysiwyg()?.quillObj().enable();\r\n }\r\n });\r\n\r\n /** @ignore */\r\n protected changeHandler() {\r\n if (this.ngModelChangeTriggered()) return;\r\n this.quillChangeTriggered.set(true);\r\n\r\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\r\n if (value === '<p><br></p>' || !value) {\r\n this.commitValue(null);\r\n this.quillChangeTriggered.set(false);\r\n if (this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(true);\r\n } else {\r\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\r\n const cfg = { inlineStyles: true };\r\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\r\n const html = converter.convert();\r\n this.commitValue(html, true);\r\n this.quillChangeTriggered.set(false);\r\n if (!this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(false);\r\n }\r\n }\r\n\r\n protected override internalValueChanged(value: any): void {\r\n if (!this.isQuillLoaded()) return;\r\n if (this.quillChangeTriggered()) return;\r\n\r\n this.ngModelChangeTriggered.set(true);\r\n this.service.wysiwyg().quillObj().root.innerHTML = value;\r\n this.ngModelChangeTriggered.set(false);\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\r\n }\r\n}\r\n","<div class=\"ax-editor-container ax-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n standalone: false,\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n });\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-container\">\n <ax-button\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n });\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\">\n <ax-button #colorBtn look=\"blank\">\n <ax-prefix>\n <ax-color-indicator [previewColor]=\"selectedColor()\"></ax-color-indicator>\n </ax-prefix>\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\">\n <ax-button #highlightBtn look=\"blank\">\n <ax-prefix>\n <ax-color-indicator [previewColor]=\"selectedHighlightColor()\"></ax-color-indicator>\n </ax-prefix>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\r\nimport { AXWysiwygService } from '../../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-font-style',\r\n templateUrl: './wysiwyg-font-style.component.html',\r\n styleUrl: './wysiwyg-font-style.component.scss',\r\n standalone: false,\r\n})\r\nexport class AXWysiwygFontStyleComponent {\r\n /** @ignore */\r\n parent = inject(AXWysiwygContainerComponent);\r\n\r\n /** @ignore */\r\n protected boldState = signal(false);\r\n\r\n /** @ignore */\r\n protected italicState = signal(false);\r\n\r\n /** @ignore */\r\n protected underLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected strikeLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected selectedFont = signal('medium');\r\n\r\n /** @ignore */\r\n service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n constructor() {\r\n effect(() => {\r\n if (!this.service.wysiwyg()) return;\r\n this.service.currentSelectedElemArray().forEach((item) => {\r\n switch (item) {\r\n case 'U':\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n break;\r\n case 'S':\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n break;\r\n case 'EM':\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n break;\r\n case 'STRONG':\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n break;\r\n\r\n default:\r\n if (this.boldState()) this.service.wysiwyg().bold(true);\r\n if (this.italicState()) this.service.wysiwyg().italic(true);\r\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\r\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected bold() {\r\n if (this.boldState()) {\r\n this.service.wysiwyg().bold(false);\r\n this.boldState.set(false);\r\n } else {\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected italic() {\r\n if (this.italicState()) {\r\n this.service.wysiwyg().italic(false);\r\n this.italicState.set(false);\r\n } else {\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected underLine() {\r\n if (this.underLineState()) {\r\n this.service.wysiwyg().underLine(false);\r\n this.underLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected strike() {\r\n if (this.strikeLineState()) {\r\n this.service.wysiwyg().strike(false);\r\n this.strikeLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\r\n const range = this.service.wysiwyg()?.quillObj().getSelection();\r\n if (!range?.length) return;\r\n\r\n if (e === 'medium') {\r\n this.service.wysiwyg().fontSize(false, range);\r\n this.selectedFont.set('medium');\r\n } else {\r\n this.service.wysiwyg().fontSize(e, range);\r\n this.selectedFont.set(e);\r\n }\r\n }\r\n}\r\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" color=\"secondary\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n });\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button (click)=\"orderList()\" look=\"blank\" [selected]=\"listState() === 'ordered' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"unOrderList()\" look=\"blank\" [selected]=\"listState() === 'bullet' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i5","i4"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../libs/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\r\nimport {\r\n AXClearableComponent,\r\n AXComponent,\r\n AXFocusableComponent,\r\n AXValuableComponent,\r\n MXInputBaseValueComponent,\r\n MXLookComponent,\r\n} from '@acorex/components/common';\r\nimport { isBrowser } from '@acorex/core/platform';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n afterNextRender,\r\n effect,\r\n forwardRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { classes } from 'polytype';\r\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\r\nimport { AXWysiwygService } from '../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\n selector: 'ax-wysiwyg-container',\n templateUrl: './wysiwyg-container.component.html',\n styleUrl: './wysiwyg-container.component.scss',\n inputs: ['look'],\n outputs: ['onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXWysiwygService,\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXClearableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\n multi: true,\n },\n ],\n standalone: false\n})\r\nexport class AXWysiwygContainerComponent\r\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\r\n implements OnDestroy\r\n{\r\n /** @ignore */\r\n protected service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n private zone = inject(NgZone);\r\n\r\n /** @ignore */\r\n protected quillChangeTriggred = signal(false);\r\n\r\n /** @ignore */\r\n protected ngModleChangeTriggred = signal(false);\r\n\r\n /**\r\n * Specifies the placeholder text.\r\n *\r\n */\r\n placeHolder = input<string>();\r\n\r\n protected isQuillLoaded = signal(false);\r\n\r\n #init = afterNextRender(() => {\r\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\r\n\r\n this.zone.runOutsideAngular(async () => {\r\n if (isBrowser()) {\r\n const newWysiwyg = new AXWysiwyg();\r\n\r\n await newWysiwyg.init(view, {\r\n readOnly: true,\r\n });\r\n\r\n this.service.wysiwyg.set(newWysiwyg);\r\n this.isQuillLoaded.set(true);\r\n }\r\n });\r\n });\r\n\r\n #effect1 = effect(() => {\r\n if (!this.isQuillLoaded()) return;\r\n\r\n if (this.placeHolder()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\r\n } else {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\r\n }\r\n });\r\n\r\n #effect2 = effect(() => {\r\n if (this.isQuillLoaded() && this.value) {\r\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\r\n }\r\n });\r\n\r\n #effect3 = effect(() => {\r\n if (this.isQuillLoaded()) {\r\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\r\n this.service.wysiwyg()?.quillObj().enable();\r\n }\r\n });\r\n\r\n /** @ignore */\r\n protected changeHandler() {\r\n if (this.ngModleChangeTriggred()) return;\r\n this.quillChangeTriggred.set(true);\r\n\r\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\r\n if (value === '<p><br></p>' || !value) {\r\n this.commitValue(null);\r\n this.quillChangeTriggred.set(false);\r\n if (this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(true);\r\n } else {\r\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\r\n const cfg = { inlineStyles: true };\r\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\r\n const html = converter.convert();\r\n this.commitValue(html, true);\r\n this.quillChangeTriggred.set(false);\r\n if (!this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(false);\r\n }\r\n }\r\n\r\n protected override internalValueChanged(value: any): void {\r\n if (!this.isQuillLoaded()) return;\r\n if (this.quillChangeTriggred()) return;\r\n\r\n this.ngModleChangeTriggred.set(true);\r\n this.service.wysiwyg().quillObj().root.innerHTML = value;\r\n this.ngModleChangeTriggred.set(false);\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\r\n }\r\n}\r\n","<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n standalone: false,\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n });\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button class=\"ax-sm\" look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-cotainer\">\n <ax-button\n class=\"ax-sm\"\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n class=\"ax-sm\"\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n class=\"ax-sm\"\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n });\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button class=\"ax-sm\" #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedHighlightColor() }\" class=\"ax-submit-color\"></div>\n <ax-button class=\"ax-sm\" #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\r\nimport { AXWysiwygService } from '../../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-font-style',\r\n templateUrl: './wysiwyg-font-style.component.html',\r\n styleUrl: './wysiwyg-font-style.component.scss',\r\n standalone: false,\r\n})\r\nexport class AXWysiwygFontStyleComponent {\r\n /** @ignore */\r\n parent = inject(AXWysiwygContainerComponent);\r\n\r\n /** @ignore */\r\n protected boldState = signal(false);\r\n\r\n /** @ignore */\r\n protected italicState = signal(false);\r\n\r\n /** @ignore */\r\n protected underLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected strikeLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected selectedFont = signal('medium');\r\n\r\n /** @ignore */\r\n service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n constructor() {\r\n effect(() => {\r\n if (!this.service.wysiwyg()) return;\r\n this.service.currentSelectedElemArray().forEach((item) => {\r\n switch (item) {\r\n case 'U':\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n break;\r\n case 'S':\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n break;\r\n case 'EM':\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n break;\r\n case 'STRONG':\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n break;\r\n\r\n default:\r\n if (this.boldState()) this.service.wysiwyg().bold(true);\r\n if (this.italicState()) this.service.wysiwyg().italic(true);\r\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\r\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected bold() {\r\n if (this.boldState()) {\r\n this.service.wysiwyg().bold(false);\r\n this.boldState.set(false);\r\n } else {\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected italic() {\r\n if (this.italicState()) {\r\n this.service.wysiwyg().italic(false);\r\n this.italicState.set(false);\r\n } else {\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected underLine() {\r\n if (this.underLineState()) {\r\n this.service.wysiwyg().underLine(false);\r\n this.underLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected strike() {\r\n if (this.strikeLineState()) {\r\n this.service.wysiwyg().strike(false);\r\n this.strikeLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\r\n const range = this.service.wysiwyg()?.quillObj().getSelection();\r\n if (!range?.length) return;\r\n\r\n if (e === 'medium') {\r\n this.service.wysiwyg().fontSize(false, range);\r\n this.selectedFont.set('medium');\r\n } else {\r\n this.service.wysiwyg().fontSize(e, range);\r\n this.selectedFont.set(e);\r\n }\r\n }\r\n}\r\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button class=\"ax-sm\" (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button class=\"ax-sm\" (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button class=\"ax-sm\" (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button class=\"ax-sm\" (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button class=\"ax-sm\" (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button class=\"ax-sm\" (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button class=\"ax-sm\" #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" class=\"ax-sm\" color=\"neutral\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n });\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button\n class=\"ax-sm\"\n (click)=\"orderList()\"\n look=\"blank\"\n [selected]=\"listState() === 'ordered' ? true : false\"\n>\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button\n class=\"ax-sm\"\n (click)=\"unOrderList()\"\n look=\"blank\"\n [selected]=\"listState() === 'bullet' ? true : false\"\n>\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import { Component, HostBinding, HostListener, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i5","i4"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ # @acorex/components/file-explorer
2
+
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/file-explorer`.
@@ -0,0 +1,6 @@
1
+ export * from './lib/file-explorer-container/file-explorer-container.component';
2
+ export * from './lib/file-explorer-item/file-explorer-item.component';
3
+ export * from './lib/file-explorer-types';
4
+ export * from './lib/file-explorer-view/file-explorer-view.component';
5
+ export * from './lib/file-explorer.module';
6
+ export * from './lib/file-explorer.service';
@@ -0,0 +1,10 @@
1
+ import { AXDrawerComponent } from '@acorex/components/drawer';
2
+ import { AXFileExplorerService } from '../file-explorer.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXFileExplorerContainerComponent {
5
+ #private;
6
+ protected service: AXFileExplorerService;
7
+ protected drawer: import("@angular/core").Signal<AXDrawerComponent>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXFileExplorerContainerComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXFileExplorerContainerComponent, "ax-file-explorer-container", never, {}, {}, never, ["ax-tree-view", "ax-file-explorer-view"], false, never>;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import { AXFileExplorerSchema, ViewModeType } from '../file-explorer-types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXFileExplorerItemComponent extends MXBaseComponent {
5
+ data: import("@angular/core").InputSignal<AXFileExplorerSchema>;
6
+ dbClick: import("@angular/core").OutputEmitterRef<void>;
7
+ viewMode: import("@angular/core").InputSignal<ViewModeType>;
8
+ protected dbClickHandler(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXFileExplorerItemComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXFileExplorerItemComponent, "ax-file-explorer-item", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, { "dbClick": "dbClick"; }, never, never, false, never>;
11
+ }
@@ -0,0 +1,11 @@
1
+ export type ViewModeType = 'ax-large-icon' | 'ax-small-icon' | 'ax-list-icon';
2
+ export interface AXFileExplorerSchema {
3
+ id: number | string;
4
+ parentId?: number | string;
5
+ text: string;
6
+ extension: string;
7
+ icon?: string;
8
+ description?: string;
9
+ lastModify?: string;
10
+ size?: string;
11
+ }
@@ -0,0 +1,27 @@
1
+ import { AXContextMenuComponent, AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent } from '@acorex/components/menu';
2
+ import { AXFileExplorerSchema, ViewModeType } from '../file-explorer-types';
3
+ import { AXFileExplorerService } from '../file-explorer.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXFileExplorerViewComponent {
6
+ #private;
7
+ dataCallBack: import("@angular/core").InputSignal<(selectedItemId?: string | number, sortBy?: "name" | "date" | "type") => any>;
8
+ protected allData: import("@angular/core").WritableSignal<AXFileExplorerSchema[]>;
9
+ protected showData: import("@angular/core").WritableSignal<AXFileExplorerSchema[]>;
10
+ protected activeFolderId: import("@angular/core").WritableSignal<string | number>;
11
+ protected clickedItems: Set<unknown>;
12
+ protected breadcrumbsData: import("@angular/core").WritableSignal<string[]>;
13
+ protected contextMenu: import("@angular/core").Signal<AXContextMenuComponent>;
14
+ protected viewMode: import("@angular/core").WritableSignal<ViewModeType>;
15
+ protected service: AXFileExplorerService;
16
+ protected setInitialAllData(): Promise<void>;
17
+ protected dbclickHandler(item?: AXFileExplorerSchema): Promise<void>;
18
+ private findItemInNestedArray;
19
+ protected backButtonHandler(): void;
20
+ protected handleContextMenuOpening(e: AXContextMenuOpeningEvent): void;
21
+ protected handleContextMenuItemClick(e: AXContextMenuItemsClickEvent): void;
22
+ protected changeViewHandler(v: ViewModeType): void;
23
+ protected sortItemHandler(sort: 'name' | 'date' | 'type'): Promise<void>;
24
+ protected menuToggleHandler(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXFileExplorerViewComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXFileExplorerViewComponent, "ax-file-explorer-view", never, { "dataCallBack": { "alias": "dataCallBack"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
27
+ }
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./file-explorer-container/file-explorer-container.component";
3
+ import * as i2 from "./file-explorer-view/file-explorer-view.component";
4
+ import * as i3 from "./file-explorer-item/file-explorer-item.component";
5
+ import * as i4 from "@acorex/components/decorators";
6
+ import * as i5 from "@acorex/components/button";
7
+ import * as i6 from "@acorex/components/breadcrumbs";
8
+ import * as i7 from "@angular/common";
9
+ import * as i8 from "@acorex/components/toolbar";
10
+ import * as i9 from "@acorex/components/menu";
11
+ import * as i10 from "@acorex/components/drawer";
12
+ export declare class AXFileExplorerModule {
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXFileExplorerModule, never>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXFileExplorerModule, [typeof i1.AXFileExplorerContainerComponent, typeof i2.AXFileExplorerViewComponent, typeof i3.AXFileExplorerItemComponent], [typeof i4.AXDecoratorModule, typeof i5.AXButtonModule, typeof i6.AXBreadcrumbsModule, typeof i7.CommonModule, typeof i8.AXToolBarModule, typeof i9.AXMenuModule, typeof i10.AXDrawerModule], [typeof i1.AXFileExplorerContainerComponent, typeof i2.AXFileExplorerViewComponent, typeof i3.AXFileExplorerItemComponent]>;
15
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXFileExplorerModule>;
16
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXFileExplorerService {
3
+ treeViewState: import("@angular/core").WritableSignal<boolean>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXFileExplorerService, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXFileExplorerService>;
6
+ }
@@ -1,6 +1,6 @@
1
1
  import { AXEvent, AXStyleLookType, MXBaseComponent } from '@acorex/components/common';
2
2
  import { AXValidationSummary } from '@acorex/core/validation';
3
- import { AfterContentInit, AfterViewInit, EventEmitter, InputSignal, OnDestroy } from '@angular/core';
3
+ import { AfterViewInit, EventEmitter, InputSignal, OnDestroy } from '@angular/core';
4
4
  import { AXFormFieldComponent } from './form-field.component';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -22,7 +22,7 @@ export type AXLabelMode = 'static' | 'floating' | 'over';
22
22
  *
23
23
  * @category Components
24
24
  */
25
- export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit, AfterContentInit {
25
+ export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit {
26
26
  #private;
27
27
  /**
28
28
  * Specifies the mode of the label in the form field.
@@ -31,7 +31,6 @@ export declare class AXFormComponent extends MXBaseComponent implements OnDestro
31
31
  labelMode: InputSignal<AXLabelMode>;
32
32
  look: InputSignal<AXStyleLookType>;
33
33
  content: import("@angular/core").Signal<readonly AXFormFieldComponent[]>;
34
- ngAfterContentInit(): void;
35
34
  /**
36
35
  * Determines the style of the message in the form field.
37
36
  * @defaultValue 'bottom'
@@ -1,4 +1,5 @@
1
1
  export * from './lib/grid-layout-builder.module';
2
2
  export * from './lib/grid-layout-container.component';
3
3
  export * from './lib/grid-layout-widget.component';
4
+ export * from './lib/grid-layout-widget.directive';
4
5
  export * from './lib/types';
@@ -1,9 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./grid-layout-container.component";
3
3
  import * as i2 from "./grid-layout-widget.component";
4
- import * as i3 from "@angular/common";
4
+ import * as i3 from "./grid-layout-widget.directive";
5
+ import * as i4 from "@angular/common";
5
6
  export declare class AXGridLayoutBuilderModule {
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AXGridLayoutBuilderModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXGridLayoutBuilderModule, [typeof i1.AXGridLayoutContainerComponent, typeof i2.AXGridLayoutWidgetComponent], [typeof i3.CommonModule], [typeof i1.AXGridLayoutContainerComponent, typeof i2.AXGridLayoutWidgetComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXGridLayoutBuilderModule, [typeof i1.AXGridLayoutContainerComponent, typeof i2.AXGridLayoutWidgetComponent, typeof i3.AXGridLayoutWidgetDirective], [typeof i4.CommonModule], [typeof i1.AXGridLayoutContainerComponent, typeof i2.AXGridLayoutWidgetComponent, typeof i3.AXGridLayoutWidgetDirective]>;
8
9
  static ɵinj: i0.ɵɵInjectorDeclaration<AXGridLayoutBuilderModule>;
9
10
  }
@@ -1,3 +1,5 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
1
3
  import { AXGridLayout, AXGridLayoutDroppedEvent, AXGridLayoutElementEvent, AXGridLayoutEventEvent, AXGridLayoutNode, AXGridLayoutNodesEvent, AXGridLayoutOptions, AXGridLayoutWidget, AXGridLayoutWidgetCompElement, AXGridLayoutWidgetElement, AXSaveCallback } from './types';
2
4
  import * as i0 from "@angular/core";
3
5
  /**
@@ -7,12 +9,13 @@ import * as i0 from "@angular/core";
7
9
  *
8
10
  * This component uses Angular's reactive signals, outputs, and lifecycle hooks to manage grid state and interactions.
9
11
  */
10
- export declare class AXGridLayoutContainerComponent {
12
+ export declare class AXGridLayoutContainerComponent implements OnInit, OnDestroy {
11
13
  private serializedData?;
12
14
  /**
13
15
  * Content children elements of type `AXGridLayoutWidgetComponent` that are dynamically managed within the grid.
14
16
  */
15
- private items;
17
+ private compItems;
18
+ private dirItems;
16
19
  /**
17
20
  * Input that holds options for configuring the GridStack grid layout.
18
21
  */
@@ -105,12 +108,12 @@ export declare class AXGridLayoutContainerComponent {
105
108
  * Angular lifecycle hook that initializes the grid once the component is created.
106
109
  * It sets up GridStack and loads any initial layout configuration.
107
110
  */
108
- protected ngOnInit(): Promise<void>;
111
+ ngOnInit(): Promise<void>;
109
112
  /**
110
113
  * Angular lifecycle hook that cleans up resources when the component is destroyed.
111
114
  * It removes event listeners and destroys the GridStack instance.
112
115
  */
113
- protected ngOnDestroy(): void;
116
+ ngOnDestroy(): void;
114
117
  /**
115
118
  * Effect that reacts to changes in the grid layout and updates the DOM accordingly.
116
119
  */
@@ -213,13 +216,14 @@ export declare class AXGridLayoutContainerComponent {
213
216
  * @param doAnimate - If `true`, the grid will animate.
214
217
  */
215
218
  setAnimation(doAnimate: boolean): void;
219
+ domSanitizer: DomSanitizer;
216
220
  /**
217
- * Saves the current state of the grid and its widgets.
221
+ * Saves the current grid layout configuration.
218
222
  *
219
- * @param saveContent If true, the content of the widgets will be saved.
220
- * @param saveGridOpt If true, the grid options will be saved.
221
- * @param saveCallback Optional callback to invoke after saving the grid state.
222
- * @returns The saved grid layout options.
223
+ * @param saveContent Whether to save the content of the grid items.
224
+ * @param saveGridOpt Whether to save the grid options.
225
+ * @param saveCallback Optional callback for custom save logic.
226
+ * @returns The serialized grid layout options.
223
227
  */
224
228
  save(saveContent?: boolean, saveGridOpt?: boolean, saveCallback?: AXSaveCallback): AXGridLayoutOptions;
225
229
  /**
@@ -257,5 +261,5 @@ export declare class AXGridLayoutContainerComponent {
257
261
  */
258
262
  getChildren(): AXGridLayoutNode[];
259
263
  static ɵfac: i0.ɵɵFactoryDeclaration<AXGridLayoutContainerComponent, never>;
260
- static ɵcmp: i0.ɵɵComponentDeclaration<AXGridLayoutContainerComponent, "ax-grid-layout-container", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "isEmpty": { "alias": "isEmpty"; "required": false; "isSignal": true; }; }, { "onAdded": "onAdded"; "onChange": "onChange"; "onDisable": "onDisable"; "onDrag": "onDrag"; "onDragStart": "onDragStart"; "onDragStop": "onDragStop"; "onDropped": "onDropped"; "onEnable": "onEnable"; "onRemoved": "onRemoved"; "onResize": "onResize"; "onResizeStart": "onResizeStart"; "onResizeStop": "onResizeStop"; "isRendered": "isRendered"; "isEmpty": "isEmptyChange"; }, ["items"], ["*"], false, never>;
264
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXGridLayoutContainerComponent, "ax-grid-layout-container", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "isEmpty": { "alias": "isEmpty"; "required": false; "isSignal": true; }; }, { "onAdded": "onAdded"; "onChange": "onChange"; "onDisable": "onDisable"; "onDrag": "onDrag"; "onDragStart": "onDragStart"; "onDragStop": "onDragStop"; "onDropped": "onDropped"; "onEnable": "onEnable"; "onRemoved": "onRemoved"; "onResize": "onResize"; "onResizeStart": "onResizeStart"; "onResizeStop": "onResizeStop"; "isRendered": "isRendered"; "isEmpty": "isEmptyChange"; }, ["compItems", "dirItems"], ["*"], false, never>;
261
265
  }
@@ -0,0 +1,106 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { AXGridLayoutNode, AXGridLayoutWidget, AXGridLayoutWidgetCompElement } from './types';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A directive that turns any element into a GridStack widget.
6
+ * It allows the element to be managed by the GridStack library,
7
+ * enabling features like resizing, dragging, and layout customization.
8
+ *
9
+ * This directive creates an inner element inside the host element
10
+ * and moves the widget content into it for better encapsulation and styling.
11
+ *
12
+ * @example
13
+ * <div axGridLayoutWidget [options]="widgetOptions">Widget Content</div>
14
+ */
15
+ export declare class AXGridLayoutWidgetDirective implements OnInit, OnDestroy {
16
+ /**
17
+ * Reference to the native element of the directive.
18
+ */
19
+ private readonly elementRef;
20
+ /**
21
+ * Renderer2 for safe DOM manipulation.
22
+ */
23
+ private readonly renderer;
24
+ /**
25
+ * The native element of the directive.
26
+ */
27
+ el: AXGridLayoutWidgetCompElement;
28
+ /**
29
+ * The current options of the widget. These options are used to define the layout,
30
+ * content, and behavior of the widget within the grid.
31
+ */
32
+ private _options?;
33
+ /**
34
+ * Reference to the newly created inner element.
35
+ */
36
+ private innerElement;
37
+ /**
38
+ * Input property that represents the widget's configuration options.
39
+ *
40
+ * The options include properties such as position, size, content, and other
41
+ * configuration values. These options are updated dynamically.
42
+ *
43
+ * @param {AXGridLayoutNode} val The configuration object for the widget.
44
+ * @returns {AXGridLayoutWidgetCompElement} The element associated with the widget.
45
+ */
46
+ options: import("@angular/core").InputSignalWithTransform<import("gridstack").GridStackNode, import("gridstack").GridStackNode>;
47
+ /**
48
+ * Initializes the directive and sets up the inner element.
49
+ * Create a new inner element
50
+ * Move the host element's content into the new inner element
51
+ * Append the inner element to the host element
52
+ * Set the reference to the grid widget directive
53
+ */
54
+ ngOnInit(): void;
55
+ /**
56
+ * Cleans up the directive when it is destroyed.
57
+ */
58
+ ngOnDestroy(): void;
59
+ /**
60
+ * Clears the widget's options.
61
+ *
62
+ * This method removes any existing options set for the widget and resets it
63
+ * to its default state.
64
+ */
65
+ clearOptions(): void;
66
+ /**
67
+ * Removes this widget from the grid.
68
+ *
69
+ * This method interacts with GridStack to remove the widget from the layout.
70
+ * Once removed, the widget will no longer be part of the grid.
71
+ */
72
+ removeWidget(): void;
73
+ /**
74
+ * Sets whether the widget can be locked (i.e., not resizable).
75
+ *
76
+ * @param {boolean} state Whether the widget should be locked or not.
77
+ * @remarks
78
+ * If the widget is locked, it cannot be resized.
79
+ */
80
+ setLockable(state: boolean): void;
81
+ /**
82
+ * Sets whether the widget can be resized.
83
+ *
84
+ * @param {boolean} state Whether the widget should be resizable or not.
85
+ * @remarks
86
+ * If the widget is resizable, the user can change its size by dragging.
87
+ */
88
+ setResizable(state: boolean): void;
89
+ /**
90
+ * Updates the options of the widget.
91
+ *
92
+ * @param {AXGridLayoutWidget} options The new options to apply to the widget.
93
+ */
94
+ setOptions(options: AXGridLayoutWidget): void;
95
+ /**
96
+ * Retrieves the current options of the widget.
97
+ *
98
+ * @returns {AXGridLayoutNode} The current configuration options of the widget.
99
+ * @remarks
100
+ * This method provides access to the widget's layout and configuration.
101
+ * If no specific options are set, it returns the default options.
102
+ */
103
+ getOptions(): AXGridLayoutNode;
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXGridLayoutWidgetDirective, never>;
105
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXGridLayoutWidgetDirective, "[axGridLayoutWidget]", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
106
+ }
@@ -1,5 +1,6 @@
1
1
  import { AXGridLayoutContainerComponent } from './grid-layout-container.component';
2
2
  import { AXGridLayoutWidgetComponent } from './grid-layout-widget.component';
3
+ import { AXGridLayoutWidgetDirective } from './grid-layout-widget.directive';
3
4
  export type AXGridLayoutNode = import('gridstack').GridStackNode;
4
5
  export type AXGridLayout = import('gridstack').GridStack;
5
6
  export type AXGridLayoutOptions = import('gridstack').GridStackOptions;
@@ -28,6 +29,6 @@ export interface AXGridLayoutContainerCompElement extends AXGridLayoutContainerE
28
29
  _gridComp?: AXGridLayoutContainerComponent;
29
30
  }
30
31
  export interface AXGridLayoutWidgetCompElement extends AXGridLayoutWidgetElement {
31
- _gridWidgetComp?: AXGridLayoutWidgetComponent;
32
+ _gridWidgetComp?: AXGridLayoutWidgetComponent | AXGridLayoutWidgetDirective;
32
33
  }
33
34
  export type AXSaveCallback = import('gridstack').SaveFcn;