@ng-atomic/components 18.2.1 → 18.5.0

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 (315) hide show
  1. package/atoms/atoms.module.d.ts +6 -2
  2. package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +9 -8
  3. package/components.module.d.ts +2 -12
  4. package/esm2022/atoms/atoms.module.mjs +7 -2
  5. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  6. package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +92 -124
  7. package/esm2022/components.module.mjs +20 -41
  8. package/esm2022/extras/editor/editor.component.mjs +78 -46
  9. package/esm2022/frames/app/app.frame.mjs +132 -70
  10. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +29 -7
  11. package/esm2022/frames/columns/columns.frame.mjs +2 -2
  12. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  13. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  14. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  15. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  16. package/esm2022/frames/frames.module.mjs +19 -14
  17. package/esm2022/frames/line-up/line-up.animations.mjs +3 -7
  18. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  19. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  20. package/esm2022/frames/progress-bar/index.mjs +2 -0
  21. package/esm2022/frames/progress-bar/ng-atomic-components-frames-progress-bar.mjs +5 -0
  22. package/esm2022/frames/progress-bar/progress-bar.frame.mjs +53 -0
  23. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +96 -41
  24. package/esm2022/frames/scroll/scroll.frame.mjs +32 -14
  25. package/esm2022/frames/scroll-v2/index.mjs +2 -2
  26. package/esm2022/frames/side-app/index.mjs +2 -0
  27. package/esm2022/frames/side-app/ng-atomic-components-frames-side-app.mjs +5 -0
  28. package/esm2022/frames/side-app/side-app.frame.mjs +74 -0
  29. package/esm2022/frames/side-nav/side-nav.frame.mjs +27 -21
  30. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  31. package/esm2022/frames/tabs/tabs.frame.mjs +13 -7
  32. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +11 -18
  33. package/esm2022/molecules/action-input-field/action-input-field.molecule.mjs +2 -2
  34. package/esm2022/molecules/actions-column/actions-column.molecule.mjs +13 -7
  35. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -21
  36. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  37. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  38. package/esm2022/molecules/file-input-field/file-input-field.molecule.mjs +2 -2
  39. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  40. package/esm2022/molecules/list-item/index.mjs +2 -0
  41. package/esm2022/molecules/list-item/list-item.molecule.mjs +198 -0
  42. package/esm2022/molecules/list-item/ng-atomic-components-molecules-list-item.mjs +5 -0
  43. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  44. package/esm2022/molecules/molecules.module.mjs +19 -14
  45. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
  46. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +9 -5
  47. package/esm2022/molecules/smart-column/smart-column.molecule.mjs +129 -43
  48. package/esm2022/molecules/tree-column/tree-column.molecule.mjs +37 -25
  49. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  50. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/agreement-input-section/agreement-input-section.organism.mjs +3 -3
  52. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  53. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  54. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +4 -4
  55. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +4 -4
  56. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  57. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  58. package/esm2022/organisms/filters-section/filters-section.organism.mjs +5 -5
  59. package/esm2022/organisms/graphql-editor/graphql-editor.organism.mjs +1 -1
  60. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  61. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  62. package/esm2022/{sheets/actions → organisms/list}/index.mjs +2 -2
  63. package/esm2022/organisms/list/list.organism.mjs +161 -0
  64. package/esm2022/{sheets/actions/ng-atomic-components-sheets-actions.mjs → organisms/list/ng-atomic-components-organisms-list.mjs} +1 -1
  65. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  66. package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
  67. package/esm2022/organisms/mermaid-section/mermaid-section.organism.mjs +39 -33
  68. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  69. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
  70. package/esm2022/organisms/navigator/navigator.organism.mjs +48 -29
  71. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  72. package/esm2022/organisms/organisms.module.mjs +67 -62
  73. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  74. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  75. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +4 -4
  76. package/esm2022/organisms/selection-list/selection-list.organism.mjs +1 -1
  77. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  78. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  79. package/esm2022/organisms/table/index.mjs +2 -1
  80. package/esm2022/organisms/table/table.helpers.mjs +4 -4
  81. package/esm2022/organisms/table/table.organism.mjs +152 -141
  82. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +4 -4
  83. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  84. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  85. package/esm2022/organisms/tree-list/index.mjs +2 -0
  86. package/esm2022/organisms/tree-list/ng-atomic-components-organisms-tree-list.mjs +5 -0
  87. package/esm2022/organisms/tree-list/tree-list.organism.mjs +125 -0
  88. package/esm2022/pages/_index/index.page.mjs +172 -70
  89. package/esm2022/pages/columns/columns.page.mjs +10 -9
  90. package/esm2022/pages/form/form.page.mjs +32 -15
  91. package/esm2022/pages/pages.module.mjs +10 -7
  92. package/esm2022/pages/terms/terms.page.mjs +2 -2
  93. package/esm2022/templates/_index/index.template.mjs +276 -155
  94. package/esm2022/templates/background/background.template.mjs +2 -2
  95. package/esm2022/templates/code-editor/code-editor.template.mjs +52 -15
  96. package/esm2022/templates/columns/columns.template.mjs +6 -4
  97. package/esm2022/templates/entrance/entrance.template.mjs +28 -25
  98. package/esm2022/templates/form/form.builder.mjs +93 -71
  99. package/esm2022/templates/form/form.template.mjs +47 -28
  100. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +69 -16
  101. package/esm2022/templates/menu/menu.template.mjs +2 -2
  102. package/esm2022/templates/messages/messages.template.mjs +71 -65
  103. package/esm2022/templates/selection/selection.template.mjs +2 -2
  104. package/esm2022/templates/settings/settings.template.mjs +2 -2
  105. package/esm2022/templates/templates.module.mjs +17 -25
  106. package/extras/editor/editor.component.d.ts +19 -10
  107. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  108. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +90 -123
  109. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-components-atoms.mjs +7 -2
  111. package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-extras-editor.mjs +79 -47
  113. package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-frames-app.mjs +131 -69
  115. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +29 -7
  117. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
  119. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  120. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  121. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  122. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-frames-line-up.mjs +4 -8
  124. package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
  125. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +60 -0
  127. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -0
  128. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +96 -41
  129. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +1 -48
  131. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-frames-scroll.mjs +31 -13
  133. package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-frames-side-app.mjs +81 -0
  135. package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -0
  136. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +26 -20
  137. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  138. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  139. package/fesm2022/ng-atomic-components-frames-tabs.mjs +12 -6
  140. package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
  141. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +10 -17
  142. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-frames.mjs +19 -14
  144. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  145. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +1 -1
  146. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
  147. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +12 -6
  148. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
  149. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -21
  150. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  151. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  152. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  153. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +1 -1
  154. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
  155. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  156. package/fesm2022/ng-atomic-components-molecules-list-item.mjs +203 -0
  157. package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -0
  158. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  159. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  160. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +8 -4
  161. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
  162. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +128 -43
  163. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
  164. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +36 -24
  165. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
  166. package/fesm2022/ng-atomic-components-molecules.mjs +19 -14
  167. package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
  168. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  169. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  170. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +2 -2
  171. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
  172. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  173. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  174. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +3 -3
  175. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
  176. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +3 -3
  177. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
  178. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  179. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  180. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +4 -4
  181. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
  182. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +1 -1
  183. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
  184. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  185. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  186. package/fesm2022/ng-atomic-components-organisms-list.mjs +166 -0
  187. package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -0
  188. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  189. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  190. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +38 -32
  191. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
  192. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  193. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
  194. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +47 -28
  195. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  196. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  197. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
  198. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  199. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  200. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
  201. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +3 -3
  202. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
  203. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +1 -1
  204. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
  205. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  206. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  207. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  208. package/fesm2022/ng-atomic-components-organisms-table.mjs +156 -145
  209. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  210. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +3 -3
  211. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
  212. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  213. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
  214. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  215. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +132 -0
  216. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -0
  217. package/fesm2022/ng-atomic-components-organisms.mjs +67 -62
  218. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  219. package/fesm2022/ng-atomic-components-pages-_index.mjs +171 -70
  220. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  221. package/fesm2022/ng-atomic-components-pages-columns.mjs +9 -8
  222. package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
  223. package/fesm2022/ng-atomic-components-pages-form.mjs +31 -14
  224. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  225. package/fesm2022/ng-atomic-components-pages-terms.mjs +1 -1
  226. package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
  227. package/fesm2022/ng-atomic-components-pages.mjs +10 -7
  228. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  229. package/fesm2022/ng-atomic-components-templates-_index.mjs +276 -155
  230. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  231. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  232. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +51 -14
  233. package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
  234. package/fesm2022/ng-atomic-components-templates-columns.mjs +5 -3
  235. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
  236. package/fesm2022/ng-atomic-components-templates-entrance.mjs +27 -24
  237. package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
  238. package/fesm2022/ng-atomic-components-templates-form.mjs +139 -99
  239. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  240. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +68 -15
  241. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
  242. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  243. package/fesm2022/ng-atomic-components-templates-messages.mjs +71 -65
  244. package/fesm2022/ng-atomic-components-templates-messages.mjs.map +1 -1
  245. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  246. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  247. package/fesm2022/ng-atomic-components-templates.mjs +17 -25
  248. package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
  249. package/fesm2022/ng-atomic-components.mjs +20 -41
  250. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  251. package/frames/app/app.frame.d.ts +14 -1
  252. package/frames/auto-layout/auto-layout.frame.d.ts +7 -1
  253. package/frames/frames.module.d.ts +3 -20
  254. package/frames/progress-bar/index.d.ts +1 -0
  255. package/frames/progress-bar/progress-bar.frame.d.ts +14 -0
  256. package/frames/router-outlet/router-outlet.frame.d.ts +20 -9
  257. package/frames/scroll/scroll.frame.d.ts +5 -1
  258. package/frames/scroll-v2/index.d.ts +1 -1
  259. package/frames/side-app/index.d.ts +1 -0
  260. package/frames/side-app/side-app.frame.d.ts +20 -0
  261. package/frames/side-nav/side-nav.frame.d.ts +6 -2
  262. package/frames/tabs/tabs.frame.d.ts +2 -1
  263. package/frames/vertical-hide/vertical-hide.frame.d.ts +2 -2
  264. package/molecules/actions-column/actions-column.molecule.d.ts +3 -2
  265. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +12 -4
  266. package/molecules/list-item/index.d.ts +1 -0
  267. package/molecules/list-item/list-item.molecule.d.ts +50 -0
  268. package/molecules/molecules.module.d.ts +25 -0
  269. package/molecules/smart-column/smart-column.molecule.d.ts +34 -9
  270. package/molecules/tree-column/tree-column.molecule.d.ts +6 -2
  271. package/organisms/list/index.d.ts +1 -0
  272. package/organisms/{smart-list/smart-list.organism.d.ts → list/list.organism.d.ts} +11 -11
  273. package/organisms/mermaid-section/mermaid-section.organism.d.ts +10 -10
  274. package/organisms/navigator/navigator.organism.d.ts +8 -5
  275. package/organisms/organisms.module.d.ts +57 -2
  276. package/organisms/table/index.d.ts +1 -0
  277. package/organisms/table/table.helpers.d.ts +1 -1
  278. package/organisms/table/table.organism.d.ts +32 -1
  279. package/organisms/tree-list/index.d.ts +1 -0
  280. package/organisms/tree-list/tree-list.organism.d.ts +33 -0
  281. package/package.json +67 -55
  282. package/pages/_index/index.page.d.ts +72 -43
  283. package/pages/columns/columns.page.d.ts +5 -2
  284. package/pages/form/form.page.d.ts +20 -11
  285. package/pages/pages.module.d.ts +1 -0
  286. package/templates/_index/index.template.d.ts +40 -11
  287. package/templates/code-editor/code-editor.template.d.ts +6 -3
  288. package/templates/entrance/entrance.template.d.ts +1 -1
  289. package/templates/form/form.builder.d.ts +10 -3
  290. package/templates/form/form.template.d.ts +2 -1
  291. package/templates/icon-button-menu/icon-button-menu.template.d.ts +3 -2
  292. package/templates/messages/messages.template.d.ts +21 -17
  293. package/templates/templates.module.d.ts +24 -1
  294. package/esm2022/frames/scroll-v2/scroll.frame.mjs +0 -46
  295. package/esm2022/organisms/smart-list/index.mjs +0 -2
  296. package/esm2022/organisms/smart-list/ng-atomic-components-organisms-smart-list.mjs +0 -5
  297. package/esm2022/organisms/smart-list/smart-list.organism.mjs +0 -218
  298. package/esm2022/sheets/actions/actions.sheet.mjs +0 -45
  299. package/esm2022/sheets/index.mjs +0 -3
  300. package/esm2022/sheets/ng-atomic-components-sheets.mjs +0 -5
  301. package/esm2022/sheets/sheets.module.mjs +0 -25
  302. package/esm2022/sheets/sheets.service.mjs +0 -20
  303. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +0 -223
  304. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +0 -1
  305. package/fesm2022/ng-atomic-components-sheets-actions.mjs +0 -52
  306. package/fesm2022/ng-atomic-components-sheets-actions.mjs.map +0 -1
  307. package/fesm2022/ng-atomic-components-sheets.mjs +0 -48
  308. package/fesm2022/ng-atomic-components-sheets.mjs.map +0 -1
  309. package/frames/scroll-v2/scroll.frame.d.ts +0 -9
  310. package/organisms/smart-list/index.d.ts +0 -1
  311. package/sheets/actions/actions.sheet.d.ts +0 -9
  312. package/sheets/actions/index.d.ts +0 -1
  313. package/sheets/index.d.ts +0 -2
  314. package/sheets/sheets.module.d.ts +0 -11
  315. package/sheets/sheets.service.d.ts +0 -10
@@ -1,80 +1,112 @@
1
- import { ChangeDetectionStrategy, Component, inject, input, effect, ElementRef, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { history } from '@codemirror/commands';
4
- import { autocompletion, closeBrackets } from '@codemirror/autocomplete';
5
- import { bracketMatching, syntaxHighlighting } from '@codemirror/language';
1
+ import { ChangeDetectionStrategy, Component, computed, inject, input, effect, ElementRef, output, signal, Directive } from '@angular/core';
2
+ import { keymap } from "@codemirror/view";
3
+ import { indentWithTab } from "@codemirror/commands";
4
+ import { syntaxHighlighting } from '@codemirror/language';
6
5
  import { oneDarkHighlightStyle, oneDark } from '@codemirror/theme-one-dark';
7
6
  import { EditorState } from '@codemirror/state';
8
- import { lineNumbers } from '@codemirror/view';
9
7
  import { basicSetup, EditorView } from "codemirror";
10
- import { NgAtomicComponent } from '@ng-atomic/core';
11
- import { distinctUntilChanged } from 'rxjs';
8
+ import { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
12
9
  import { json } from "@codemirror/lang-json";
10
+ import { distinctUntilChanged, filter, map, ReplaySubject } from 'rxjs';
13
11
  import * as i0 from "@angular/core";
14
- export class EditorComponent extends NgAtomicComponent {
12
+ export class EditorComponentStore extends InjectableComponent {
15
13
  constructor() {
16
14
  super();
17
15
  this.content = input('');
18
- this._contentChange$ = new EventEmitter();
19
- this.contentChange = new EventEmitter();
20
- this.keyActions = input();
16
+ this.contentChange = output();
17
+ this.keyActions = input([]);
21
18
  this.extensions = input([
22
19
  json(),
23
20
  ]);
24
- this.el = inject(ElementRef);
25
- this.cd = inject(ChangeDetectorRef);
21
+ // readonly update = signal<ViewUpdate>(null);
22
+ // readonly update$ = toObservable(this.update);
23
+ this.update$ = new ReplaySubject(0);
24
+ this.defaultExtensions = computed(() => [
25
+ basicSetup,
26
+ oneDark,
27
+ syntaxHighlighting(oneDarkHighlightStyle),
28
+ EditorView.updateListener.of((update) => this.update$.next(update)),
29
+ keymap.of([
30
+ ...(this.keyActions()).map(({ key, actionId }) => ({
31
+ key,
32
+ run: () => {
33
+ this.action.emit({ id: actionId });
34
+ return true;
35
+ },
36
+ })),
37
+ indentWithTab,
38
+ ]),
39
+ ]);
40
+ this.state = computed(() => EditorState.create({
41
+ ...this.editorView().state,
42
+ extensions: [
43
+ ...this.defaultExtensions(),
44
+ ...this.extensions(),
45
+ ],
46
+ }));
47
+ this.editorView = signal(null);
48
+ this.action = output();
49
+ this.update$.pipe(filter((update) => update?.docChanged), map((update) => (update.state.doc.toString())), distinctUntilChanged()).subscribe((content) => {
50
+ this.contentChange.emit(content);
51
+ });
26
52
  effect(() => {
27
- const selection = this.editorView.state.selection;
28
- this.editorView.dispatch(this.editorView.state.update({
53
+ if (this.content() === this.editorView().state.doc.toString())
54
+ return;
55
+ const selection = this.editorView().state.selection;
56
+ this.editorView().dispatch(this.editorView().state.update({
29
57
  changes: {
30
58
  from: 0,
31
- to: this.editorView.state.doc.length,
59
+ to: this.editorView().state.doc.length,
32
60
  insert: this.content() ?? '',
33
61
  },
34
62
  selection: selection,
35
63
  scrollIntoView: true,
36
64
  }));
37
65
  });
66
+ effect(() => {
67
+ this.editorView().setState(this.state());
68
+ });
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponentStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: EditorComponentStore, isStandalone: true, inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, keyActions: { classPropertyName: "keyActions", publicName: "keyActions", isSignal: true, isRequired: false, transformFunction: null }, extensions: { classPropertyName: "extensions", publicName: "extensions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentChange: "contentChange", action: "action" }, usesInheritance: true, ngImport: i0 }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponentStore, decorators: [{
74
+ type: Directive,
75
+ args: [{ standalone: true }]
76
+ }], ctorParameters: () => [] });
77
+ export class EditorComponent extends NgAtomicComponent {
78
+ constructor() {
79
+ super(...arguments);
80
+ this.store = inject(EditorComponentStore);
81
+ this.el = inject(ElementRef);
38
82
  }
39
83
  ngOnInit() {
40
- this._contentChange$.pipe(distinctUntilChanged()).subscribe((content) => {
41
- this.contentChange.emit(content);
42
- });
84
+ this.store.action.subscribe((action) => this.dispatch(action));
43
85
  }
44
86
  ngAfterViewInit() {
45
- this.editorView?.destroy();
46
- this.editorView = new EditorView({
87
+ this.store.editorView()?.destroy();
88
+ this.store.editorView.set(new EditorView({
47
89
  state: EditorState.create({
48
90
  doc: ``,
49
91
  extensions: [
50
- basicSetup,
51
- bracketMatching(),
52
- closeBrackets(),
53
- history(),
54
- autocompletion(),
55
- lineNumbers(),
56
- oneDark,
57
- syntaxHighlighting(oneDarkHighlightStyle),
58
- EditorView.updateListener.of((update) => {
59
- if (!update.docChanged)
60
- return;
61
- this._contentChange$.emit(update.state.doc.toString());
62
- }),
63
- ...this.extensions(),
92
+ ...this.store.defaultExtensions(),
93
+ ...this.store.extensions(),
64
94
  ],
65
95
  }),
66
96
  parent: this.el.nativeElement,
67
- });
97
+ }));
68
98
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.2", type: EditorComponent, isStandalone: true, selector: "extras-editor", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, keyActions: { classPropertyName: "keyActions", publicName: "keyActions", isSignal: true, isRequired: false, transformFunction: null }, extensions: { classPropertyName: "extensions", publicName: "extensions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentChange: "contentChange" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: EditorComponent, isStandalone: true, selector: "extras-editor", usesInheritance: true, hostDirectives: [{ directive: EditorComponentStore, inputs: ["content", "content", "keyActions", "keyActions", "extensions", "extensions"], outputs: ["contentChange", "contentChange"] }], ngImport: i0, template: ``, isInline: true, styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
101
  }
72
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, decorators: [{
73
103
  type: Component,
74
- args: [{ selector: 'extras-editor', standalone: true, imports: [
75
- CommonModule
76
- ], template: ``, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"] }]
77
- }], ctorParameters: () => [], propDecorators: { contentChange: [{
78
- type: Output
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhcy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUE4QixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxFQUFFLFlBQVksRUFBVSxpQkFBaUIsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDck4sT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFtQixXQUFXLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFJbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFZN0MsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQWlCO0lBZ0NwRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBaENELFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRCxlQUFVLEdBQUcsS0FBSyxFQUFxQyxDQUFDO1FBQ3hELGVBQVUsR0FBRyxLQUFLLENBQWM7WUFDdkMsSUFBSSxFQUFFO1NBQ1AsQ0FBQyxDQUFDO1FBQ00sT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXNCeEIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBSXRDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDM0IsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxDQUFDO29CQUNQLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTTtvQkFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFO2lCQUM3QjtnQkFDRCxTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLG9CQUFvQixFQUFFLENBQ3ZCLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMvQixLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsVUFBVSxFQUFFO29CQUNWLFVBQVU7b0JBQ1YsZUFBZSxFQUFFO29CQUNqQixhQUFhLEVBQUU7b0JBQ2YsT0FBTyxFQUFFO29CQUNULGNBQWMsRUFBRTtvQkFDaEIsV0FBVyxFQUFFO29CQUNiLE9BQU87b0JBQ1Asa0JBQWtCLENBQUMscUJBQXFCLENBQUM7b0JBQ3pDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTs0QkFBRSxPQUFPO3dCQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUN6RCxDQUFDLENBQUM7b0JBQ0YsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2lCQUNyQjthQUNGLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhO1NBQzlCLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBakZVLGVBQWU7a0dBQWYsZUFBZSxxaUJBSmhCLEVBQUUsOEtBRlYsWUFBWTs7MkZBTUgsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7cUJBQ2IsWUFDUyxFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07d0RBSzVCLGFBQWE7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgbW9kZWwsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCwgZWZmZWN0LCBFbGVtZW50UmVmLCB2aWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiXG5pbXBvcnQgeyBpbmRlbnRXaXRoVGFiIH0gZnJvbSBcIkBjb2RlbWlycm9yL2NvbW1hbmRzXCJcbmltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICdAY29kZW1pcnJvci9jb21tYW5kcyc7XG5pbXBvcnQgeyBhdXRvY29tcGxldGlvbiwgY2xvc2VCcmFja2V0cyB9IGZyb20gJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBicmFja2V0TWF0Y2hpbmcsIHN5bnRheEhpZ2hsaWdodGluZyB9IGZyb20gJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJztcbmltcG9ydCB7IG9uZURhcmtIaWdobGlnaHRTdHlsZSwgb25lRGFyayB9IGZyb20gJ0Bjb2RlbWlycm9yL3RoZW1lLW9uZS1kYXJrJztcbmltcG9ydCB7IEVkaXRvclNlbGVjdGlvbiwgRWRpdG9yU3RhdGUsIEV4dGVuc2lvbiB9IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcbmltcG9ydCB7IGxpbmVOdW1iZXJzIH0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgeyBiYXNpY1NldHVwLCBFZGl0b3JWaWV3IH0gZnJvbSBcImNvZGVtaXJyb3JcIlxuaW1wb3J0IHsgaHRtbCB9IGZyb20gXCJAY29kZW1pcnJvci9sYW5nLWh0bWxcIjtcbmltcG9ydCBwcmV0dGllciBmcm9tIFwicHJldHRpZXIvc3RhbmRhbG9uZVwiO1xuaW1wb3J0IHBhcnNlckh0bWwgZnJvbSBcInByZXR0aWVyL3BhcnNlci1odG1sXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0NvbXBvbmVudCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBncmFwaHFsIH0gZnJvbSAnY202LWdyYXBocWwnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGpzb24gfSBmcm9tIFwiQGNvZGVtaXJyb3IvbGFuZy1qc29uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dHJhcy1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudCBleHRlbmRzIE5nQXRvbWljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcmVhZG9ubHkgY29udGVudCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBfY29udGVudENoYW5nZSQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkga2V5QWN0aW9ucyA9IGlucHV0PHtrZXk6IHN0cmluZywgYWN0aW9uSWQ6IHN0cmluZ31bXT4oKTtcbiAgcmVhZG9ubHkgZXh0ZW5zaW9ucyA9IGlucHV0PEV4dGVuc2lvbltdPihbXG4gICAganNvbigpLFxuICBdKTtcbiAgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgLy8gcmVhZG9ubHkgc3RhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gIC8vICAgcmV0dXJuIEVkaXRvclN0YXRlLmNyZWF0ZSh7XG4gIC8vICAgICBkb2M6IHRoaXMuY29udGVudCgpID8/ICcnLFxuICAvLyAgICAgZXh0ZW5zaW9uczogW1xuICAvLyAgICAgICBrZXltYXAub2YoW1xuICAvLyAgICAgICAgIC4uLih0aGlzLmtleUFjdGlvbnMoKSA/PyBbXSkubWFwKCh7a2V5LCBhY3Rpb25JZH0pID0+ICh7XG4gIC8vICAgICAgICAgICBrZXksXG4gIC8vICAgICAgICAgICBydW46ICgpID0+ICh0aGlzLmRpc3BhdGNoKHtpZDogYWN0aW9uSWR9KSwgdHJ1ZSksXG4gIC8vICAgICAgICAgfSkpLFxuICAvLyAgICAgICAgIGluZGVudFdpdGhUYWIsXG4gIC8vICAgICAgIF0pLFxuICAvLyAgICAgICBodG1sKCksXG4gIC8vICAgICAgIC4uLnRoaXMuZXh0ZW5zaW9ucygpLFxuICAvLyAgICAgICBncmFwaHFsKCksXG4gIC8vICAgICBdLFxuICAvLyAgIH0pO1xuICAvLyB9KTtcblxuICBlZGl0b3JWaWV3ITogRWRpdG9yVmlldztcblxuICByZWFkb25seSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5lZGl0b3JWaWV3LnN0YXRlLnNlbGVjdGlvbjtcbiAgICAgIHRoaXMuZWRpdG9yVmlldy5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3LnN0YXRlLnVwZGF0ZSh7XG4gICAgICAgICAgY2hhbmdlczoge1xuICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgIHRvOiB0aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLmxlbmd0aCxcbiAgICAgICAgICAgIGluc2VydDogdGhpcy5jb250ZW50KCkgPz8gJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZWxlY3Rpb246IHNlbGVjdGlvbixcbiAgICAgICAgICBzY3JvbGxJbnRvVmlldzogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudENoYW5nZSQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKS5zdWJzY3JpYmUoKGNvbnRlbnQpID0+IHtcbiAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KGNvbnRlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZWRpdG9yVmlldz8uZGVzdHJveSgpO1xuICAgIHRoaXMuZWRpdG9yVmlldyA9IG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgIHN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICBkb2M6IGBgLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgYmFzaWNTZXR1cCxcbiAgICAgICAgICBicmFja2V0TWF0Y2hpbmcoKSxcbiAgICAgICAgICBjbG9zZUJyYWNrZXRzKCksXG4gICAgICAgICAgaGlzdG9yeSgpLFxuICAgICAgICAgIGF1dG9jb21wbGV0aW9uKCksXG4gICAgICAgICAgbGluZU51bWJlcnMoKSxcbiAgICAgICAgICBvbmVEYXJrLFxuICAgICAgICAgIHN5bnRheEhpZ2hsaWdodGluZyhvbmVEYXJrSGlnaGxpZ2h0U3R5bGUpLFxuICAgICAgICAgIEVkaXRvclZpZXcudXBkYXRlTGlzdGVuZXIub2YoKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF1cGRhdGUuZG9jQ2hhbmdlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5fY29udGVudENoYW5nZSQuZW1pdCh1cGRhdGUuc3RhdGUuZG9jLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIC4uLnRoaXMuZXh0ZW5zaW9ucygpLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYXJlbnQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICB9KVxuICB9XG59XG4iXX0=
104
+ args: [{ selector: 'extras-editor', standalone: true, template: ``, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
105
+ {
106
+ directive: EditorComponentStore,
107
+ inputs: ['content', 'keyActions', 'extensions'],
108
+ outputs: ['contentChange'],
109
+ }
110
+ ], styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"] }]
111
+ }] });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhcy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQXlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl4RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBc0MzRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBdENELFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxNQUFN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QXJGZixvQkFBb0Isa0tBMEVyQixFQUFFOzsyRkFXRCxlQUFlO2tCQWQzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFlBQ04sRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQzs0QkFDL0MsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO3lCQUMzQjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBlZmZlY3QsIEVsZW1lbnRSZWYsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgb3V0cHV0LCBzaWduYWwsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsga2V5bWFwLCBWaWV3VXBkYXRlIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIlxuaW1wb3J0IHsgaW5kZW50V2l0aFRhYiB9IGZyb20gXCJAY29kZW1pcnJvci9jb21tYW5kc1wiXG5pbXBvcnQgeyBzeW50YXhIaWdobGlnaHRpbmcgfSBmcm9tICdAY29kZW1pcnJvci9sYW5ndWFnZSc7XG5pbXBvcnQgeyBvbmVEYXJrSGlnaGxpZ2h0U3R5bGUsIG9uZURhcmsgfSBmcm9tICdAY29kZW1pcnJvci90aGVtZS1vbmUtZGFyayc7XG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgRXh0ZW5zaW9uIH0gZnJvbSAnQGNvZGVtaXJyb3Ivc3RhdGUnO1xuaW1wb3J0IHsgYmFzaWNTZXR1cCwgRWRpdG9yVmlldyB9IGZyb20gXCJjb2RlbWlycm9yXCJcbmltcG9ydCB7IEFjdGlvbiwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsganNvbiB9IGZyb20gXCJAY29kZW1pcnJvci9sYW5nLWpzb25cIjtcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudFN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY29udGVudENoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGtleUFjdGlvbnMgPSBpbnB1dDx7a2V5OiBzdHJpbmcsIGFjdGlvbklkOiBzdHJpbmd9W10+KFtdKTtcbiAgcmVhZG9ubHkgZXh0ZW5zaW9ucyA9IGlucHV0PEV4dGVuc2lvbltdPihbXG4gICAganNvbigpLFxuICBdKTtcbiAgLy8gcmVhZG9ubHkgdXBkYXRlID0gc2lnbmFsPFZpZXdVcGRhdGU+KG51bGwpO1xuICAvLyByZWFkb25seSB1cGRhdGUkID0gdG9PYnNlcnZhYmxlKHRoaXMudXBkYXRlKTtcbiAgcmVhZG9ubHkgdXBkYXRlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFZpZXdVcGRhdGU+KDApO1xuICByZWFkb25seSBkZWZhdWx0RXh0ZW5zaW9ucyA9IGNvbXB1dGVkKCgpID0+IFtcbiAgICBiYXNpY1NldHVwLFxuICAgIG9uZURhcmssXG4gICAgc3ludGF4SGlnaGxpZ2h0aW5nKG9uZURhcmtIaWdobGlnaHRTdHlsZSksXG4gICAgRWRpdG9yVmlldy51cGRhdGVMaXN0ZW5lci5vZigodXBkYXRlKSA9PiB0aGlzLnVwZGF0ZSQubmV4dCh1cGRhdGUpKSxcbiAgICBrZXltYXAub2YoW1xuICAgICAgLi4uKHRoaXMua2V5QWN0aW9ucygpKS5tYXAoKHtrZXksIGFjdGlvbklkfSkgPT4gKHtcbiAgICAgICAga2V5LFxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGlvbi5lbWl0KHtpZDogYWN0aW9uSWR9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pKSxcbiAgICAgIGluZGVudFdpdGhUYWIsXG4gICAgXSksXG4gIF0pO1xuXG4gIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAuLi50aGlzLmVkaXRvclZpZXcoKS5zdGF0ZSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAuLi50aGlzLmRlZmF1bHRFeHRlbnNpb25zKCksXG4gICAgICAuLi50aGlzLmV4dGVuc2lvbnMoKSxcbiAgICBdLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgZWRpdG9yVmlldyA9IHNpZ25hbDxFZGl0b3JWaWV3PihudWxsKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gb3V0cHV0PEFjdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy51cGRhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHVwZGF0ZSkgPT4gdXBkYXRlPy5kb2NDaGFuZ2VkKSxcbiAgICAgIG1hcCgodXBkYXRlKSA9PiAodXBkYXRlLnN0YXRlLmRvYy50b1N0cmluZygpKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChjb250ZW50KTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZW50KCkgPT09IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy50b1N0cmluZygpKSByZXR1cm47XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmVkaXRvclZpZXcoKS5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3KCkuc3RhdGUudXBkYXRlKHtcbiAgICAgICAgICBjaGFuZ2VzOiB7XG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy5sZW5ndGgsXG4gICAgICAgICAgICBpbnNlcnQ6IHRoaXMuY29udGVudCgpID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgICAgICAgc2Nyb2xsSW50b1ZpZXc6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5zZXRTdGF0ZSh0aGlzLnN0YXRlKCkpO1xuICAgIH0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dHJhcy1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWycuL2VkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEVkaXRvckNvbXBvbmVudFN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAna2V5QWN0aW9ucycsICdleHRlbnNpb25zJ10sXG4gICAgICBvdXRwdXRzOiBbJ2NvbnRlbnRDaGFuZ2UnXSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoRWRpdG9yQ29tcG9uZW50U3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5hY3Rpb24uc3Vic2NyaWJlKChhY3Rpb24pID0+IHRoaXMuZGlzcGF0Y2goYWN0aW9uKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdG9yZS5lZGl0b3JWaWV3KCk/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnN0b3JlLmVkaXRvclZpZXcuc2V0KG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgIHN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICBkb2M6IGBgLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgLi4udGhpcy5zdG9yZS5kZWZhdWx0RXh0ZW5zaW9ucygpLFxuICAgICAgICAgIC4uLnRoaXMuc3RvcmUuZXh0ZW5zaW9ucygpLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYXJlbnQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==