@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,5 +1,6 @@
1
1
  import { IndexTemplateFormBuilder } from '@ng-atomic/common/services/form/_index';
2
2
  export * from '@ng-atomic/common/services/form/_index';
3
+ import { MatTreeFlattener, MatTreeFlatDataSource } from '@angular/material/tree';
3
4
  import { __decorate, __metadata } from 'tslib';
4
5
  import * as i0 from '@angular/core';
5
6
  import { input, inject, computed, Directive, Component, ChangeDetectionStrategy } from '@angular/core';
@@ -19,21 +20,18 @@ import { TreeColumnMolecule } from '@ng-atomic/components/molecules/tree-column'
19
20
  import { computedRawValue } from '@ng-atomic/common/utils';
20
21
  import { NgClass } from '@angular/common';
21
22
  import { ColumnsPipe } from '@ng-atomic/common/pipes/columns';
22
- import { ResolveColumnsPipe } from '@ng-atomic/common/pipes/resolve-columns';
23
- import { MapPipe } from '@ng-atomic/common/pipes/map';
24
- import { AutoColumnsPipe } from '@ng-atomic/common/pipes/auto-columns';
25
- import { SortPipe } from '@ng-atomic/common/pipes/sort';
26
23
  import { FlatTreeControl } from '@angular/cdk/tree';
27
24
  import { CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
28
25
  import { makeConfig } from '@ng-atomic/common/services/ui';
29
- import { MatTreeFlattener, MatTreeFlatDataSource } from '@angular/material/tree';
26
+ import { injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';
27
+ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
30
28
 
31
- function buildTreeFlatDataSource(treeControl, data, key = 'children') {
29
+ function buildTreeFlatDataSource(treeControl, data, getChildren = (node) => node?.['children']) {
32
30
  const treeFlattener = new MatTreeFlattener((node, level) => {
33
31
  node.level = level;
34
- node.isExpandable = (node[key] ?? []).length > 0;
32
+ node.isExpandable = (getChildren(node) ?? []).length > 0;
35
33
  return node;
36
- }, (node) => node.level, (node) => node.isExpandable, (node) => node[key]);
34
+ }, (node) => node.level, (node) => node.isExpandable, (node) => getChildren(node));
37
35
  return new MatTreeFlatDataSource(treeControl, treeFlattener, data);
38
36
  }
39
37
 
@@ -51,6 +49,10 @@ let TableOrganismStore = class TableOrganismStore extends InjectableComponent {
51
49
  this.config = TableOrganismStore_1.Config.inject();
52
50
  this.draggable = input(_computed(() => this.config().draggable));
53
51
  this.domainPipe = inject(DomainPipe);
52
+ this.dataAccessor = injectDataAccessor();
53
+ this.getChildren = computed(() => {
54
+ return (node) => this.dataAccessor(node, this.childrenKey() ?? 'children');
55
+ });
54
56
  this.form = input(inject(IndexTemplateFormBuilder).build());
55
57
  this.itemActions = input([]);
56
58
  this.selection = input(new SelectionModel(true, []));
@@ -59,19 +61,15 @@ let TableOrganismStore = class TableOrganismStore extends InjectableComponent {
59
61
  this.items = input([]);
60
62
  this.treeControl = input(new FlatTreeControl(n => n.level, n => n.isExpandable));
61
63
  this.dataSource = computed(() => {
64
+ // if (this._dataSource) {
65
+ // this._dataSource.data = this.items();
66
+ // }
62
67
  if (this.childrenKey()) {
63
- return buildTreeFlatDataSource(this.treeControl(), this.items(), this.childrenKey());
68
+ return buildTreeFlatDataSource(this.treeControl(), this.items(), this.getChildren());
64
69
  }
65
70
  return new MatTableDataSource(this.items());
66
71
  });
67
72
  this.isHidden = input(_computed(() => this.config().isHidden));
68
- // () => {
69
- // if (this.childrenKey()) {
70
- // return (item: T) => this.treeControl().getLevel(item) === 0;
71
- // } else {
72
- // return (item: T) => false;
73
- // }
74
- // }
75
73
  this.formValue = computedRawValue(() => this.form());
76
74
  this.sort = computed(() => this.formValue()?.sort ?? { key: '', order: 'asc' }, {
77
75
  equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),
@@ -79,8 +77,7 @@ let TableOrganismStore = class TableOrganismStore extends InjectableComponent {
79
77
  this.columns = computed(() => {
80
78
  const data = this.formValue()?.columns;
81
79
  const _columns = data?.ids.map(id => ({ ...data?.map[id], name: id }));
82
- console.debug('columns:', _columns);
83
- const columns = new ColumnsPipe().transform((_columns ?? [])).map(column => {
80
+ const columns = new ColumnsPipe().transform(_columns ?? []).map(column => {
84
81
  if (column.name.startsWith('__tree_')) {
85
82
  return {
86
83
  ...column,
@@ -143,6 +140,7 @@ class TableOrganism extends NgAtomicComponent {
143
140
  constructor() {
144
141
  super(...arguments);
145
142
  this.store = inject(TableOrganismStore);
143
+ this.trackByFunc = (index, item) => JSON.stringify(item);
146
144
  }
147
145
  static { this.ActionId = ActionId; }
148
146
  onCheckboxClick(item) {
@@ -173,69 +171,78 @@ class TableOrganism extends NgAtomicComponent {
173
171
  }
174
172
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TableOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
175
173
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: TableOrganism, isStandalone: true, selector: "organisms-table", host: { classAttribute: "organism" }, usesInheritance: true, hostDirectives: [{ directive: TableOrganismStore, inputs: ["draggable", "draggable", "form", "form", "itemActions", "itemActions", "selection", "selection", "items", "items", "childrenKey", "childrenKey", "highlight", "highlight", "treeControl", "treeControl", "isHidden", "isHidden"] }], ngImport: i0, template: `
176
- <table
177
- mat-table
178
- recycleRows
179
- matSort
180
- matSortDisableClear
181
- matSortDirection="desc"
182
- [dataSource]="store.dataSource()"
183
- cdkDropList
184
- (cdkDropListDropped)="onDrop($event)"
185
- [cdkDropListDisabled]="!store.draggable()"
186
- >
187
- <tbody
174
+ <!-- <cdk-virtual-scroll-viewport itemSize="50" (scrolledIndexChange)="onScroll()"> -->
175
+ <table
176
+ mat-table
177
+ recycleRows
178
+ matSort
179
+ matSortDisableClear
180
+ matSortDirection="desc"
181
+ [dataSource]="store.dataSource()"
182
+ cdkDropList
183
+ (cdkDropListDropped)="onDrop($event)"
184
+ [cdkDropListDisabled]="!store.draggable()"
185
+ [trackBy]="trackByFunc"
188
186
  >
189
- @for (column of store.columns(); track column.name; let i = $index) {
190
- @switch (column.type) {
191
- @case ('checkbox') {
192
- <molecules-checkbox-column
193
- [name]="column.name"
194
- [selection]="store.selection()"
195
- [isHidden]="store.isHidden()"
196
- (action)="dispatch($event)"
197
- />
198
- }
199
- @case ('actions') {
200
- <molecules-actions-column
201
- [name]="column.name"
202
- [itemActions]="column.actions"
203
- (action)="dispatch($event)"
204
- />
205
- }
206
- @case('tree') {
207
- <molecules-tree-column
208
- [name]="column.name"
209
- [headerText]="column.headerText"
210
- [treeControl]="store.treeControl()"
211
- [sort]="column.sort"
212
- [width]="column.width"
213
- (headerClick)="onHeaderClick(column.name)"
214
- />
215
- }
216
- @default {
217
- <molecules-smart-column
218
- [name]="column.name"
219
- [headerText]="column.headerText"
220
- [sort]="column.sort"
221
- [width]="column.width"
222
- (headerClick)="onHeaderClick(column.name)"
223
- />
187
+ <tbody>
188
+ @for (column of store.columns(); track column.name; let i = $index) {
189
+ @switch (column.type) {
190
+ @case ('checkbox') {
191
+ <molecules-checkbox-column
192
+ [name]="column.name"
193
+ [selection]="store.selection()"
194
+ [sticky]="column.sticky"
195
+ [isHidden]="store.isHidden()"
196
+ [width]="column.width"
197
+ (action)="dispatch($event)"
198
+ />
199
+ }
200
+ @case ('actions') {
201
+ <molecules-actions-column
202
+ [name]="column.name"
203
+ [sticky]="column.sticky"
204
+ [itemActions]="column.actions"
205
+ (action)="dispatch($event)"
206
+ />
207
+ }
208
+ @case('tree') {
209
+ <molecules-tree-column
210
+ [name]="column.name"
211
+ [headerText]="column.headerText"
212
+ [treeControl]="store.treeControl()"
213
+ [sticky]="column.sticky"
214
+ [sort]="column.sort"
215
+ [width]="column.width"
216
+ (headerClick)="onHeaderClick(column.name)"
217
+ />
218
+ }
219
+ @default {
220
+ <molecules-smart-column
221
+ [index]="i"
222
+ [name]="column.name"
223
+ [headerText]="column.headerText"
224
+ [sort]="column.sort"
225
+ [sticky]="column.sticky"
226
+ [width]="column.width"
227
+ (headerClick)="onHeaderClick(column.name)"
228
+ (action)="dispatch($event)"
229
+ />
230
+ }
224
231
  }
225
232
  }
226
- }
227
- <tr mat-header-row *matHeaderRowDef="store.columnNames(); sticky: true"></tr>
228
- <tr
229
- mat-row
230
- *matRowDef="let item; columns: store.columnNames();"
231
- [ngClass]="{ highlight: store.highlight().isSelected(item.id) }"
232
- [cdkDrag]
233
- [cdkDragDisabled]="!store.draggable()"
234
- ></tr>
235
- <div class="mat-row" *matNoDataRow>No Data</div>
236
- </tbody>
237
- </table>
238
- `, isInline: true, styles: [":host{--width: 100%;--width-SCOPED-IN-smart-table-Sk5k: var(--width);--column-vertical-padding: 4px;--column-vertical-padding-SCOPED-IN-smart-table-Sk5k: var(--column-vertical-padding);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-smart-table-Sk5k: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-smart-table-Sk5k: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-smart-table-Sk5k: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-smart-table-Sk5k: var(--on-background-color);--vertical-padding: 16px;--vertical-padding-SCOPED-IN-smart-table-Sk5k: var(--vertical-padding)}.cdk-drag-preview{display:table;background-color:#fff}.cdk-drag-placeholder{opacity:0}:host{position:relative;display:block;width:100%;height:100%;overflow:scroll}:host::-webkit-scrollbar{display:none}:host table{width:100%;max-height:100%;background-color:var(--background-color-SCOPED-IN-smart-table-Sk5k);color:var(--on-background-color-SCOPED-IN-smart-table-Sk5k)}:host table .nowrap{width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table ::ng-deep th,:host table ::ng-deep td{padding:0 var(--column-vertical-padding-SCOPED-IN-smart-table-Sk5k);box-sizing:border-box}:host table ::ng-deep th:first-child,:host table ::ng-deep td:first-child{padding-left:var(--vertical-padding-SCOPED-IN-smart-table-Sk5k)}:host table ::ng-deep th:last-child,:host table ::ng-deep td:last-child{padding-right:var(--vertical-padding-SCOPED-IN-smart-table-Sk5k)}:host table ::ng-deep tr.highlight{background-color:#f0f0f0;transition:background-color .5s}:host .no-data-message{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);height:3em;padding:0 16px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatRecycleRows, selector: "mat-table[recycleRows], table[mat-table][recycleRows]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i1.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ActionsColumnMolecule, selector: "molecules-actions-column" }, { kind: "component", type: CheckboxColumnMolecule, selector: "molecules-checkbox-column", inputs: ["name", "selection", "isHidden"] }, { kind: "component", type: SmartColumnMolecule, selector: "molecules-smart-column", inputs: ["headerText", "name"], outputs: ["headerClick"] }, { kind: "component", type: TreeColumnMolecule, selector: "molecules-tree-column", outputs: ["headerClick"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
233
+ <tr mat-header-row *matHeaderRowDef="store.columnNames(); sticky: true"></tr>
234
+ <tr
235
+ mat-row
236
+ *matRowDef="let item; columns: store.columnNames();"
237
+ [ngClass]="{ highlight: store.highlight().isSelected(item.id) }"
238
+ [cdkDrag]
239
+ [cdkDragDisabled]="!store.draggable()"
240
+ ></tr>
241
+ <div class="mat-row" *matNoDataRow>No Data</div>
242
+ </tbody>
243
+ </table>
244
+ <!-- </cdk-virtual-scroll-viewport> -->
245
+ `, isInline: true, styles: [":host{--width: 100%;--width-SCOPED-IN-smart-table-L5R3: var(--width);--column-vertical-padding: 4px;--column-vertical-padding-SCOPED-IN-smart-table-L5R3: var(--column-vertical-padding);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-smart-table-L5R3: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-smart-table-L5R3: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-smart-table-L5R3: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-smart-table-L5R3: var(--on-background-color);--vertical-padding: 16px;--vertical-padding-SCOPED-IN-smart-table-L5R3: var(--vertical-padding)}.cdk-drag-preview{display:table;background-color:#fff}.cdk-drag-placeholder{opacity:0}:host{position:relative;display:block;width:100%;height:100%;overflow:scroll}:host::-webkit-scrollbar{display:none}:host table{width:100%;max-height:100%;background-color:var(--background-color-SCOPED-IN-smart-table-L5R3);color:var(--on-background-color-SCOPED-IN-smart-table-L5R3)}:host table .nowrap{width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table ::ng-deep th,:host table ::ng-deep td{padding:0 var(--column-vertical-padding-SCOPED-IN-smart-table-L5R3);box-sizing:border-box}:host table ::ng-deep th:first-child,:host table ::ng-deep td:first-child{padding-left:var(--vertical-padding-SCOPED-IN-smart-table-L5R3)}:host table ::ng-deep th:last-child,:host table ::ng-deep td:last-child{padding-right:var(--vertical-padding-SCOPED-IN-smart-table-L5R3)}:host table ::ng-deep tr.highlight{background-color:#f0f0f0;transition:background-color .5s}:host .no-data-message{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);height:3em;padding:0 16px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatRecycleRows, selector: "mat-table[recycleRows], table[mat-table][recycleRows]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i1.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ActionsColumnMolecule, selector: "molecules-actions-column" }, { kind: "component", type: CheckboxColumnMolecule, selector: "molecules-checkbox-column" }, { kind: "component", type: SmartColumnMolecule, selector: "molecules-smart-column", outputs: ["headerClick"] }, { kind: "component", type: TreeColumnMolecule, selector: "molecules-tree-column", outputs: ["headerClick"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
239
246
  }
240
247
  __decorate([
241
248
  Effect(CheckboxColumnMolecule.ActionId.CHECKBOX_CLICK),
@@ -253,7 +260,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
253
260
  type: Component,
254
261
  args: [{ selector: 'organisms-table', standalone: true, imports: [
255
262
  NgClass,
256
- DomainPipe,
257
263
  MatTableModule,
258
264
  MatCheckboxModule,
259
265
  MatMenuModule,
@@ -263,76 +269,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
263
269
  CheckboxColumnMolecule,
264
270
  SmartColumnMolecule,
265
271
  TreeColumnMolecule,
266
- ResolveColumnsPipe,
267
- MapPipe,
268
- AutoColumnsPipe,
269
- SortPipe,
270
- ColumnsPipe,
271
272
  CdkDropList,
272
273
  CdkDrag,
274
+ CdkVirtualScrollViewport,
273
275
  ], template: `
274
- <table
275
- mat-table
276
- recycleRows
277
- matSort
278
- matSortDisableClear
279
- matSortDirection="desc"
280
- [dataSource]="store.dataSource()"
281
- cdkDropList
282
- (cdkDropListDropped)="onDrop($event)"
283
- [cdkDropListDisabled]="!store.draggable()"
284
- >
285
- <tbody
276
+ <!-- <cdk-virtual-scroll-viewport itemSize="50" (scrolledIndexChange)="onScroll()"> -->
277
+ <table
278
+ mat-table
279
+ recycleRows
280
+ matSort
281
+ matSortDisableClear
282
+ matSortDirection="desc"
283
+ [dataSource]="store.dataSource()"
284
+ cdkDropList
285
+ (cdkDropListDropped)="onDrop($event)"
286
+ [cdkDropListDisabled]="!store.draggable()"
287
+ [trackBy]="trackByFunc"
286
288
  >
287
- @for (column of store.columns(); track column.name; let i = $index) {
288
- @switch (column.type) {
289
- @case ('checkbox') {
290
- <molecules-checkbox-column
291
- [name]="column.name"
292
- [selection]="store.selection()"
293
- [isHidden]="store.isHidden()"
294
- (action)="dispatch($event)"
295
- />
296
- }
297
- @case ('actions') {
298
- <molecules-actions-column
299
- [name]="column.name"
300
- [itemActions]="column.actions"
301
- (action)="dispatch($event)"
302
- />
303
- }
304
- @case('tree') {
305
- <molecules-tree-column
306
- [name]="column.name"
307
- [headerText]="column.headerText"
308
- [treeControl]="store.treeControl()"
309
- [sort]="column.sort"
310
- [width]="column.width"
311
- (headerClick)="onHeaderClick(column.name)"
312
- />
313
- }
314
- @default {
315
- <molecules-smart-column
316
- [name]="column.name"
317
- [headerText]="column.headerText"
318
- [sort]="column.sort"
319
- [width]="column.width"
320
- (headerClick)="onHeaderClick(column.name)"
321
- />
289
+ <tbody>
290
+ @for (column of store.columns(); track column.name; let i = $index) {
291
+ @switch (column.type) {
292
+ @case ('checkbox') {
293
+ <molecules-checkbox-column
294
+ [name]="column.name"
295
+ [selection]="store.selection()"
296
+ [sticky]="column.sticky"
297
+ [isHidden]="store.isHidden()"
298
+ [width]="column.width"
299
+ (action)="dispatch($event)"
300
+ />
301
+ }
302
+ @case ('actions') {
303
+ <molecules-actions-column
304
+ [name]="column.name"
305
+ [sticky]="column.sticky"
306
+ [itemActions]="column.actions"
307
+ (action)="dispatch($event)"
308
+ />
309
+ }
310
+ @case('tree') {
311
+ <molecules-tree-column
312
+ [name]="column.name"
313
+ [headerText]="column.headerText"
314
+ [treeControl]="store.treeControl()"
315
+ [sticky]="column.sticky"
316
+ [sort]="column.sort"
317
+ [width]="column.width"
318
+ (headerClick)="onHeaderClick(column.name)"
319
+ />
320
+ }
321
+ @default {
322
+ <molecules-smart-column
323
+ [index]="i"
324
+ [name]="column.name"
325
+ [headerText]="column.headerText"
326
+ [sort]="column.sort"
327
+ [sticky]="column.sticky"
328
+ [width]="column.width"
329
+ (headerClick)="onHeaderClick(column.name)"
330
+ (action)="dispatch($event)"
331
+ />
332
+ }
322
333
  }
323
334
  }
324
- }
325
- <tr mat-header-row *matHeaderRowDef="store.columnNames(); sticky: true"></tr>
326
- <tr
327
- mat-row
328
- *matRowDef="let item; columns: store.columnNames();"
329
- [ngClass]="{ highlight: store.highlight().isSelected(item.id) }"
330
- [cdkDrag]
331
- [cdkDragDisabled]="!store.draggable()"
332
- ></tr>
333
- <div class="mat-row" *matNoDataRow>No Data</div>
334
- </tbody>
335
- </table>
335
+ <tr mat-header-row *matHeaderRowDef="store.columnNames(); sticky: true"></tr>
336
+ <tr
337
+ mat-row
338
+ *matRowDef="let item; columns: store.columnNames();"
339
+ [ngClass]="{ highlight: store.highlight().isSelected(item.id) }"
340
+ [cdkDrag]
341
+ [cdkDragDisabled]="!store.draggable()"
342
+ ></tr>
343
+ <div class="mat-row" *matNoDataRow>No Data</div>
344
+ </tbody>
345
+ </table>
346
+ <!-- </cdk-virtual-scroll-viewport> -->
336
347
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
337
348
  {
338
349
  directive: TableOrganismStore,
@@ -348,7 +359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
348
359
  'isHidden',
349
360
  ],
350
361
  },
351
- ], host: { class: 'organism' }, styles: [":host{--width: 100%;--width-SCOPED-IN-smart-table-Sk5k: var(--width);--column-vertical-padding: 4px;--column-vertical-padding-SCOPED-IN-smart-table-Sk5k: var(--column-vertical-padding);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-smart-table-Sk5k: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-smart-table-Sk5k: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-smart-table-Sk5k: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-smart-table-Sk5k: var(--on-background-color);--vertical-padding: 16px;--vertical-padding-SCOPED-IN-smart-table-Sk5k: var(--vertical-padding)}.cdk-drag-preview{display:table;background-color:#fff}.cdk-drag-placeholder{opacity:0}:host{position:relative;display:block;width:100%;height:100%;overflow:scroll}:host::-webkit-scrollbar{display:none}:host table{width:100%;max-height:100%;background-color:var(--background-color-SCOPED-IN-smart-table-Sk5k);color:var(--on-background-color-SCOPED-IN-smart-table-Sk5k)}:host table .nowrap{width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table ::ng-deep th,:host table ::ng-deep td{padding:0 var(--column-vertical-padding-SCOPED-IN-smart-table-Sk5k);box-sizing:border-box}:host table ::ng-deep th:first-child,:host table ::ng-deep td:first-child{padding-left:var(--vertical-padding-SCOPED-IN-smart-table-Sk5k)}:host table ::ng-deep th:last-child,:host table ::ng-deep td:last-child{padding-right:var(--vertical-padding-SCOPED-IN-smart-table-Sk5k)}:host table ::ng-deep tr.highlight{background-color:#f0f0f0;transition:background-color .5s}:host .no-data-message{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);height:3em;padding:0 16px}\n"] }]
362
+ ], host: { class: 'organism' }, styles: [":host{--width: 100%;--width-SCOPED-IN-smart-table-L5R3: var(--width);--column-vertical-padding: 4px;--column-vertical-padding-SCOPED-IN-smart-table-L5R3: var(--column-vertical-padding);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-smart-table-L5R3: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-smart-table-L5R3: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-smart-table-L5R3: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-smart-table-L5R3: var(--on-background-color);--vertical-padding: 16px;--vertical-padding-SCOPED-IN-smart-table-L5R3: var(--vertical-padding)}.cdk-drag-preview{display:table;background-color:#fff}.cdk-drag-placeholder{opacity:0}:host{position:relative;display:block;width:100%;height:100%;overflow:scroll}:host::-webkit-scrollbar{display:none}:host table{width:100%;max-height:100%;background-color:var(--background-color-SCOPED-IN-smart-table-L5R3);color:var(--on-background-color-SCOPED-IN-smart-table-L5R3)}:host table .nowrap{width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table ::ng-deep th,:host table ::ng-deep td{padding:0 var(--column-vertical-padding-SCOPED-IN-smart-table-L5R3);box-sizing:border-box}:host table ::ng-deep th:first-child,:host table ::ng-deep td:first-child{padding-left:var(--vertical-padding-SCOPED-IN-smart-table-L5R3)}:host table ::ng-deep th:last-child,:host table ::ng-deep td:last-child{padding-right:var(--vertical-padding-SCOPED-IN-smart-table-L5R3)}:host table ::ng-deep tr.highlight{background-color:#f0f0f0;transition:background-color .5s}:host .no-data-message{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);height:3em;padding:0 16px}\n"] }]
352
363
  }], propDecorators: { onCheckboxClick: [], onHeaderCheckboxClick: [] } });
353
364
  function getDisplayedNodes(nodes, control) {
354
365
  const result = [];
@@ -377,5 +388,5 @@ function flatItems(items, key = 'children') {
377
388
  * Generated bundle index. Do not edit.
378
389
  */
379
390
 
380
- export { TableOrganism, TableOrganismStore, flatItems };
391
+ export { TableOrganism, TableOrganismStore, buildTreeFlatDataSource, flatItems };
381
392
  //# sourceMappingURL=ng-atomic-components-organisms-table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-organisms-table.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.helpers.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/index.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/ng-atomic-components-organisms-table.ts"],"sourcesContent":["import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { FlatTreeControl } from '@angular/cdk/tree';\n\nexport function buildTreeFlatDataSource<T = any>(treeControl: FlatTreeControl<T>, data: T[], key = 'children') {\n const treeFlattener = new MatTreeFlattener(\n (node: any, level: number) => {\n node.level = level;\n node.isExpandable = (node[key] ?? []).length > 0;\n return node;\n },\n (node) => node.level,\n (node) => node.isExpandable,\n (node) => node[key]\n );\n \n return new MatTreeFlatDataSource(treeControl, treeFlattener, data);\n}","import { ChangeDetectionStrategy, Component, Directive, computed, inject, input } from '@angular/core';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { ActionsColumnMolecule } from '@ng-atomic/components/molecules/actions-column';\nimport { CheckboxColumnMolecule } from '@ng-atomic/components/molecules/checkbox-column';\nimport { SmartColumnMolecule } from '@ng-atomic/components/molecules/smart-column';\nimport { _computed, Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { TreeColumnMolecule } from '@ng-atomic/components/molecules/tree-column';\nimport { Column } from '@ng-atomic/common/models';\nimport { computedRawValue } from '@ng-atomic/common/utils';\nimport { NgClass } from '@angular/common';\nimport { ColumnsPipe } from '@ng-atomic/common/pipes/columns';\nimport { ResolveColumnsPipe } from '@ng-atomic/common/pipes/resolve-columns';\nimport { MapPipe } from '@ng-atomic/common/pipes/map';\nimport { AutoColumnsPipe } from '@ng-atomic/common/pipes/auto-columns';\nimport { SortPipe } from '@ng-atomic/common/pipes/sort';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { CdkDragDrop, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { IndexTemplateFormBuilder } from '@ng-atomic/common/services/form/_index';\nimport { buildTreeFlatDataSource } from './table.helpers';\n\nenum ActionId {\n CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Checkbox Click',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Header Checkbox Click',\n HEADER_CLICK = '[@ng-atomic/components/organisms/table] Header Click',\n ROW_DROP = '[@ng-atomic/components/organisms/table] Row Drop',\n}\n\n@TokenizedType()\n@Directive({\n standalone: true,\n selector: 'organisms-table',\n providers: [DomainPipe],\n})\nexport class TableOrganismStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n return () => ({\n draggable: true,\n isHidden:(item: any) => false,\n });\n }, ['components', 'organisms', 'table']);\n\n readonly config = TableOrganismStore.Config.inject();\n readonly draggable = input(_computed(() => this.config().draggable));\n\n readonly domainPipe = inject(DomainPipe);\n readonly form = input(inject(IndexTemplateFormBuilder).build());\n readonly itemActions = input<Actions>([]);\n readonly selection = input(new SelectionModel<string>(true, []));\n readonly highlight = input(new SelectionModel<string>(true, [])); \n readonly childrenKey = input<string>(null);\n readonly items = input<T[]>([]);\n readonly treeControl = input(new FlatTreeControl<any>(n => n.level, n => n.isExpandable));\n readonly dataSource = computed(() => {\n if (this.childrenKey()) {\n return buildTreeFlatDataSource(this.treeControl(), this.items(), this.childrenKey());\n }\n return new MatTableDataSource<T>(this.items());\n });\n readonly isHidden = input(_computed(() => this.config().isHidden));\n\n // () => {\n // if (this.childrenKey()) {\n // return (item: T) => this.treeControl().getLevel(item) === 0;\n // } else {\n // return (item: T) => false;\n // }\n // }\n readonly formValue = computedRawValue(() => this.form());\n readonly sort = computed(() => this.formValue()?.sort ?? {key: '', order: 'asc'}, {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n readonly columns = computed(() => {\n const data = this.formValue()?.columns;\n const _columns = data?.ids.map(id => ({...data?.map[id], name: id})) as Column[];\n console.debug('columns:', _columns);\n const columns = new ColumnsPipe().transform((_columns ?? []) ).map(column => {\n if (column.name.startsWith('__tree_')) {\n return {\n ...column,\n type: 'tree',\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n };\n } else if (column.name.startsWith('checkbox')) {\n return {\n ...column,\n type: 'checkbox',\n headerText: 'check',\n };\n } else if (column.type === 'actions') {\n return {\n ...column,\n actions: column.actions ?? this.itemActions(),\n type: 'actions',\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n }\n } else {\n return {\n ...column,\n headerText: this.domainPipe.transform(column?.headerText ?? column?.name),\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n };\n }\n });\n return columns;\n }, { equal: (a, b) => JSON.stringify(a) === JSON.stringify(b) });\n readonly columnNames = computed(() => this.columns().map(column => column.name), {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n}\n\n@Component({\n selector: 'organisms-table',\n standalone: true,\n imports: [\n NgClass,\n DomainPipe,\n MatTableModule,\n MatCheckboxModule,\n MatMenuModule,\n MatButtonModule,\n MatIconModule,\n ActionsColumnMolecule,\n CheckboxColumnMolecule,\n SmartColumnMolecule,\n TreeColumnMolecule,\n ResolveColumnsPipe,\n MapPipe,\n AutoColumnsPipe,\n SortPipe,\n ColumnsPipe,\n CdkDropList,\n CdkDrag,\n ],\n template: `\n <table\n mat-table\n recycleRows\n matSort\n matSortDisableClear\n matSortDirection=\"desc\"\n [dataSource]=\"store.dataSource()\"\n cdkDropList\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListDisabled]=\"!store.draggable()\"\n >\n <tbody\n >\n @for (column of store.columns(); track column.name; let i = $index) {\n @switch (column.type) {\n @case ('checkbox') {\n <molecules-checkbox-column\n [name]=\"column.name\"\n [selection]=\"store.selection()\"\n [isHidden]=\"store.isHidden()\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('actions') {\n <molecules-actions-column\n [name]=\"column.name\"\n [itemActions]=\"column.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case('tree') {\n <molecules-tree-column\n [name]=\"column.name\"\n [headerText]=\"column.headerText\"\n [treeControl]=\"store.treeControl()\"\n [sort]=\"column.sort\"\n [width]=\"column.width\"\n (headerClick)=\"onHeaderClick(column.name)\"\n />\n }\n @default {\n <molecules-smart-column\n [name]=\"column.name\"\n [headerText]=\"column.headerText\"\n [sort]=\"column.sort\"\n [width]=\"column.width\"\n (headerClick)=\"onHeaderClick(column.name)\"\n />\n }\n }\n }\n <tr mat-header-row *matHeaderRowDef=\"store.columnNames(); sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let item; columns: store.columnNames();\"\n [ngClass]=\"{ highlight: store.highlight().isSelected(item.id) }\"\n [cdkDrag]\n [cdkDragDisabled]=\"!store.draggable()\"\n ></tr>\n <div class=\"mat-row\" *matNoDataRow>No Data</div>\n </tbody>\n </table>\n `,\n styleUrls: ['./table.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TableOrganismStore,\n inputs: [\n 'draggable',\n 'form',\n 'itemActions',\n 'selection',\n 'items',\n 'childrenKey',\n 'highlight',\n 'treeControl',\n 'isHidden',\n ],\n },\n ],\n host: {class: 'organism'},\n})\nexport class TableOrganism<Item extends object> extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n protected store = inject(TableOrganismStore);\n\n @Effect(CheckboxColumnMolecule.ActionId.CHECKBOX_CLICK)\n protected onCheckboxClick(item: Item) {\n this.dispatch({id: ActionId.CHECKBOX_CLICK, payload: item});\n }\n\n @Effect(CheckboxColumnMolecule.ActionId.HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: Item) {\n this.dispatch({id: ActionId.HEADER_CHECKBOX_CLICK});\n }\n\n protected onHeaderClick(column: string) {\n this.dispatch({id: ActionId.HEADER_CLICK, payload: column});\n }\n\n protected onDrop(event: CdkDragDrop<any, any>) {\n const control = this.store.treeControl()\n const nodes = control.dataNodes.filter(node => node.level === 0);\n const nodes_ = getDisplayedNodes(nodes, control);\n const draggedNode = nodes_[event.previousIndex];\n const droppedNode = nodes_[event.currentIndex];\n const items = flatItems(this.store.items(), this.store.childrenKey());\n\n this.dispatch({\n id: ActionId.ROW_DROP,\n payload: {\n previousIndex: nodes_.findIndex(node => node === event.item.data),\n currentIndex: event.currentIndex,\n dragged: items.find(item => item.id === draggedNode.id),\n dropped: items.find(item => item.id === droppedNode.id),\n }\n });\n }\n}\n\ninterface TreeNode {\n id: string;\n isExpandable: boolean;\n children?: TreeNode[];\n}\n\nfunction getDisplayedNodes(nodes: TreeNode[], control: FlatTreeControl<any>): TreeNode[] {\n const result: TreeNode[] = [];\n for (const node of nodes) {\n result.push(node);\n if (control.isExpanded(node)) {\n result.push(...getDisplayedNodes(node.children, control));\n }\n }\n return result;\n}\n\nexport function flatItems<T>(items: T[], key = 'children'): T[] {\n const result: T[] = [];\n for (const item of items) {\n result.push(item);\n if (item[key]) {\n result.push(...flatItems<T>(item[key], key));\n }\n }\n return result;\n}\n","/** @deprecated use instead `'@ng-atomic/common/services/form/_index` */\nexport * from '@ng-atomic/common/services/form/_index';\nexport * from './table.organism';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-components-organisms-table.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.helpers.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/index.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/ng-atomic-components-organisms-table.ts"],"sourcesContent":["import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { FlatTreeControl } from '@angular/cdk/tree';\n\nexport function buildTreeFlatDataSource<T = any>(\n treeControl: FlatTreeControl<T>,\n data: T[],\n getChildren: (node: T) => T[] = (node: T) => node?.['children'],\n ) {\n const treeFlattener = new MatTreeFlattener(\n (node: any, level: number) => {\n node.level = level;\n node.isExpandable = (getChildren(node) ?? []).length > 0;\n return node;\n },\n (node) => node.level,\n (node) => node.isExpandable,\n (node) => getChildren(node),\n );\n \n return new MatTreeFlatDataSource(treeControl, treeFlattener, data);\n}","import { ChangeDetectionStrategy, Component, Directive, computed, inject, input, signal, viewChild } from '@angular/core';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { ActionsColumnMolecule } from '@ng-atomic/components/molecules/actions-column';\nimport { CheckboxColumnMolecule } from '@ng-atomic/components/molecules/checkbox-column';\nimport { SmartColumnMolecule } from '@ng-atomic/components/molecules/smart-column';\nimport { _computed, Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { DataSource, SelectionModel } from '@angular/cdk/collections';\nimport { TreeColumnMolecule } from '@ng-atomic/components/molecules/tree-column';\nimport { Column } from '@ng-atomic/common/models';\nimport { computedRawValue } from '@ng-atomic/common/utils';\nimport { NgClass } from '@angular/common';\nimport { ColumnsPipe } from '@ng-atomic/common/pipes/columns';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { CdkDragDrop, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { IndexTemplateFormBuilder } from '@ng-atomic/common/services/form/_index';\nimport { buildTreeFlatDataSource } from './table.helpers';\nimport { injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { MatTreeFlatDataSource } from '@angular/material/tree';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nenum ActionId {\n CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Checkbox Click',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Header Checkbox Click',\n HEADER_CLICK = '[@ng-atomic/components/organisms/table] Header Click',\n ROW_DROP = '[@ng-atomic/components/organisms/table] Row Drop',\n}\n\n@TokenizedType()\n@Directive({\n standalone: true,\n selector: 'organisms-table',\n providers: [DomainPipe],\n})\nexport class TableOrganismStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n return () => ({\n draggable: true,\n isHidden:(item: any) => false,\n });\n }, ['components', 'organisms', 'table']);\n\n readonly config = TableOrganismStore.Config.inject();\n readonly draggable = input(_computed(() => this.config().draggable));\n\n readonly domainPipe = inject(DomainPipe);\n readonly dataAccessor = injectDataAccessor();\n readonly getChildren = computed(() => {\n return (node: T) => this.dataAccessor(node, this.childrenKey() ?? 'children');\n });\n readonly form = input(inject(IndexTemplateFormBuilder).build());\n readonly itemActions = input<Actions>([]);\n readonly selection = input(new SelectionModel<string>(true, []));\n readonly highlight = input(new SelectionModel<string>(true, [])); \n readonly childrenKey = input<string>(null);\n readonly items = input<T[]>([]);\n readonly treeControl = input(new FlatTreeControl<any>(n => n.level, n => n.isExpandable));\n _dataSource: MatTableDataSource<T> | MatTreeFlatDataSource<T, any>;\n readonly dataSource = computed(() => {\n // if (this._dataSource) {\n // this._dataSource.data = this.items();\n // }\n\n if (this.childrenKey()) {\n return buildTreeFlatDataSource(this.treeControl(), this.items(), this.getChildren());\n }\n return new MatTableDataSource<T>(this.items());\n });\n readonly isHidden = input(_computed(() => this.config().isHidden));\n readonly formValue = computedRawValue(() => this.form());\n readonly sort = computed(() => this.formValue()?.sort ?? {key: '', order: 'asc'}, {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n readonly columns = computed(() => {\n const data = this.formValue()?.columns;\n const _columns = data?.ids.map(id => ({...data?.map[id], name: id})) as Column[];\n const columns = new ColumnsPipe().transform(_columns ?? []).map(column => {\n if (column.name.startsWith('__tree_')) {\n return {\n ...column,\n type: 'tree',\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n };\n } else if (column.name.startsWith('checkbox')) {\n return {\n ...column,\n type: 'checkbox',\n headerText: 'check',\n };\n } else if (column.type === 'actions') {\n return {\n ...column,\n actions: column.actions ?? this.itemActions(),\n type: 'actions',\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n }\n } else {\n return {\n ...column,\n headerText: this.domainPipe.transform(column?.headerText ?? column?.name),\n sort: this.sort().key === column.name ? this.sort().order : 'none',\n };\n }\n });\n return columns;\n }, { equal: (a, b) => JSON.stringify(a) === JSON.stringify(b) });\n readonly columnNames = computed(() => this.columns().map(column => column.name), {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n}\n\n@Component({\n selector: 'organisms-table',\n standalone: true,\n imports: [\n NgClass,\n MatTableModule,\n MatCheckboxModule,\n MatMenuModule,\n MatButtonModule,\n MatIconModule,\n ActionsColumnMolecule,\n CheckboxColumnMolecule,\n SmartColumnMolecule,\n TreeColumnMolecule,\n CdkDropList,\n CdkDrag,\n CdkVirtualScrollViewport,\n ],\n template: `\n <!-- <cdk-virtual-scroll-viewport itemSize=\"50\" (scrolledIndexChange)=\"onScroll()\"> -->\n <table\n mat-table\n recycleRows\n matSort\n matSortDisableClear\n matSortDirection=\"desc\"\n [dataSource]=\"store.dataSource()\"\n cdkDropList\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListDisabled]=\"!store.draggable()\"\n [trackBy]=\"trackByFunc\"\n >\n <tbody>\n @for (column of store.columns(); track column.name; let i = $index) {\n @switch (column.type) {\n @case ('checkbox') {\n <molecules-checkbox-column\n [name]=\"column.name\"\n [selection]=\"store.selection()\"\n [sticky]=\"column.sticky\"\n [isHidden]=\"store.isHidden()\"\n [width]=\"column.width\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('actions') {\n <molecules-actions-column\n [name]=\"column.name\"\n [sticky]=\"column.sticky\"\n [itemActions]=\"column.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case('tree') {\n <molecules-tree-column\n [name]=\"column.name\"\n [headerText]=\"column.headerText\"\n [treeControl]=\"store.treeControl()\"\n [sticky]=\"column.sticky\"\n [sort]=\"column.sort\"\n [width]=\"column.width\"\n (headerClick)=\"onHeaderClick(column.name)\"\n />\n }\n @default {\n <molecules-smart-column\n [index]=\"i\"\n [name]=\"column.name\"\n [headerText]=\"column.headerText\"\n [sort]=\"column.sort\"\n [sticky]=\"column.sticky\"\n [width]=\"column.width\"\n (headerClick)=\"onHeaderClick(column.name)\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n }\n <tr mat-header-row *matHeaderRowDef=\"store.columnNames(); sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let item; columns: store.columnNames();\"\n [ngClass]=\"{ highlight: store.highlight().isSelected(item.id) }\"\n [cdkDrag]\n [cdkDragDisabled]=\"!store.draggable()\"\n ></tr>\n <div class=\"mat-row\" *matNoDataRow>No Data</div>\n </tbody>\n </table>\n <!-- </cdk-virtual-scroll-viewport> -->\n `,\n styleUrls: ['./table.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TableOrganismStore,\n inputs: [\n 'draggable',\n 'form',\n 'itemActions',\n 'selection',\n 'items',\n 'childrenKey',\n 'highlight',\n 'treeControl',\n 'isHidden',\n ],\n },\n ],\n host: {class: 'organism'},\n})\nexport class TableOrganism<Item extends object> extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n protected store = inject(TableOrganismStore);\n\n trackByFunc = (index: number, item: Item) => JSON.stringify(item);\n\n @Effect(CheckboxColumnMolecule.ActionId.CHECKBOX_CLICK)\n protected onCheckboxClick(item: Item) {\n this.dispatch({id: ActionId.CHECKBOX_CLICK, payload: item});\n }\n\n @Effect(CheckboxColumnMolecule.ActionId.HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: Item) {\n this.dispatch({id: ActionId.HEADER_CHECKBOX_CLICK});\n }\n\n protected onHeaderClick(column: string) {\n this.dispatch({id: ActionId.HEADER_CLICK, payload: column});\n }\n\n protected onDrop(event: CdkDragDrop<any, any>) {\n const control = this.store.treeControl()\n const nodes = control.dataNodes.filter(node => node.level === 0);\n const nodes_ = getDisplayedNodes(nodes, control);\n const draggedNode = nodes_[event.previousIndex];\n const droppedNode = nodes_[event.currentIndex];\n const items = flatItems(this.store.items(), this.store.childrenKey());\n\n this.dispatch({\n id: ActionId.ROW_DROP,\n payload: {\n previousIndex: nodes_.findIndex(node => node === event.item.data),\n currentIndex: event.currentIndex,\n dragged: items.find(item => item.id === draggedNode.id),\n dropped: items.find(item => item.id === droppedNode.id),\n }\n });\n }\n}\n\ninterface TreeNode {\n id: string;\n isExpandable: boolean;\n children?: TreeNode[];\n}\n\nfunction getDisplayedNodes(nodes: TreeNode[], control: FlatTreeControl<any>): TreeNode[] {\n const result: TreeNode[] = [];\n for (const node of nodes) {\n result.push(node);\n if (control.isExpanded(node)) {\n result.push(...getDisplayedNodes(node.children, control));\n }\n }\n return result;\n}\n\nexport function flatItems<T>(items: T[], key = 'children'): T[] {\n const result: T[] = [];\n for (const item of items) {\n result.push(item);\n if (item[key]) {\n result.push(...flatItems<T>(item[key], key));\n }\n }\n return result;\n}\n","/** @deprecated use instead `'@ng-atomic/common/services/form/_index` */\nexport * from '@ng-atomic/common/services/form/_index';\nexport * from './table.helpers';\nexport * from './table.organism';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;SAGgB,uBAAuB,CACrC,WAA+B,EAC/B,IAAS,EACT,WAAA,GAAgC,CAAC,IAAO,KAAK,IAAI,GAAG,UAAU,CAAC,EAAA;IAE/D,MAAM,aAAa,GAAG,IAAI,gBAAgB,CACxC,CAAC,IAAS,EAAE,KAAa,KAAI;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,EACD,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EACpB,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,EAC3B,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAC5B,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AACrE;;;ACMA,IAAK,QAKJ,CAAA;AALD,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,kEAAmF,CAAA;AACnF,IAAA,QAAA,CAAA,uBAAA,CAAA,GAAA,yEAAiG,CAAA;AACjG,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,sDAAqE,CAAA;AACrE,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,kDAA6D,CAAA;AAC/D,CAAC,EALI,QAAQ,KAAR,QAAQ,GAKZ,EAAA,CAAA,CAAA,CAAA;AAQM,IAAM,kBAAkB,GAAxB,MAAM,kBAAsB,SAAQ,mBAAmB,CAAA;AAAvD,IAAA,WAAA,GAAA;;AASI,QAAA,IAAA,CAAA,MAAM,GAAG,oBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAE5D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,IAAY,CAAA,YAAA,GAAG,kBAAkB,EAAE,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,OAAO,CAAC,IAAO,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,CAAC;AAChF,SAAC,CAAC,CAAC;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAU,EAAE,CAAC,CAAC;QACjC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,IAAI,cAAc,CAAS,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,IAAI,cAAc,CAAS,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,IAAI,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAM,EAAE,CAAC,CAAC;QACvB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,IAAI,eAAe,CAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAEjF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;;;;AAKlC,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,gBAAA,OAAO,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACtF;YACD,OAAO,IAAI,kBAAkB,CAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAS,CAAA,SAAA,GAAG,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,IAAI,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAC,EAAE;YAChF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,SAAA,CAAC,CAAC;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC;AACvC,YAAA,MAAM,QAAQ,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAa,CAAC;AACjF,YAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAG;gBACvE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACrC,OAAO;AACL,wBAAA,GAAG,MAAM;AACT,wBAAA,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM;qBACnE,CAAC;iBACH;qBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;oBAC7C,OAAO;AACL,wBAAA,GAAG,MAAM;AACT,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,UAAU,EAAE,OAAO;qBACpB,CAAC;iBACH;AAAM,qBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;oBACpC,OAAO;AACL,wBAAA,GAAG,MAAM;wBACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;AAC7C,wBAAA,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM;qBACnE,CAAA;iBACF;qBAAM;oBACL,OAAO;AACL,wBAAA,GAAG,MAAM;AACT,wBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,IAAI,CAAC;wBACzE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM;qBACnE,CAAC;iBACH;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,OAAO,CAAC;SAChB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YAC/E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,SAAA,CAAC,CAAC;AACJ,KAAA;;aA3EiB,IAAQ,CAAA,QAAA,GAAG,QAAH,CAAY,EAAA;AACpB,IAAA,SAAA,IAAA,CAAA,MAAM,GAAG,UAAU,CAAC,MAAK;QACvC,OAAO,OAAO;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAC,CAAC,IAAS,KAAK,KAAK;AAC9B,SAAA,CAAC,CAAC;KACJ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CALjB,CAKmB,EAAA;8GAP9B,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAFlB,CAAC,UAAU,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAEZ,kBAAkB,GAAA,oBAAA,GAAA,UAAA,CAAA;AAN9B,IAAA,aAAa,EAAE;AAMH,CAAA,EAAA,kBAAkB,CA4E9B,CAAA;2FA5EY,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,SAAS,EAAE,CAAC,UAAU,CAAC;AACxB,iBAAA,CAAA;;AA8LK,MAAO,aAAmC,SAAQ,iBAAiB,CAAA;AA/GzE,IAAA,WAAA,GAAA;;AAiHY,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE7C,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAa,EAAE,IAAU,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAkCnE,KAAA;aArCiB,IAAQ,CAAA,QAAA,GAAG,QAAH,CAAY,EAAA;AAM1B,IAAA,eAAe,CAAC,IAAU,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;KAC7D;AAGS,IAAA,qBAAqB,CAAC,IAAU,EAAA;QACxC,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,qBAAqB,EAAC,CAAC,CAAC;KACrD;AAES,IAAA,aAAa,CAAC,MAAc,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;KAC7D;AAES,IAAA,MAAM,CAAC,KAA4B,EAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;AACxC,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC;YACZ,EAAE,EAAE,QAAQ,CAAC,QAAQ;AACrB,YAAA,OAAO,EAAE;AACP,gBAAA,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjE,YAAY,EAAE,KAAK,CAAC,YAAY;AAChC,gBAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;AACvD,gBAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;AACxD,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;8GArCU,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA7Lb,kBAAkB,EAgGnB,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwET,EAtFC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4uDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,mFACP,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,uDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,+BACb,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,sBAAsB,EACtB,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,6FACnB,kBAAkB,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,WAAW,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAuGC,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC;;;;AAGtD,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,CAAA,CAAA;AAGS,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;;;;AAG7D,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,IAAA,CAAA,CAAA;2FAdU,aAAa,EAAA,UAAA,EAAA,CAAA;kBA/GzB,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,cAAc;wBACd,iBAAiB;wBACjB,aAAa;wBACb,eAAe;wBACf,aAAa;wBACb,qBAAqB;wBACrB,sBAAsB;wBACtB,mBAAmB;wBACnB,kBAAkB;wBAClB,WAAW;wBACX,OAAO;wBACP,wBAAwB;qBACzB,EACS,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwET,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,kBAAkB;AAC7B,4BAAA,MAAM,EAAE;gCACN,WAAW;gCACX,MAAM;gCACN,aAAa;gCACb,WAAW;gCACX,OAAO;gCACP,aAAa;gCACb,WAAW;gCACX,aAAa;gCACb,UAAU;AACX,6BAAA;AACF,yBAAA;AACF,qBAAA,EAAA,IAAA,EACK,EAAC,KAAK,EAAE,UAAU,EAAC,EAAA,MAAA,EAAA,CAAA,4uDAAA,CAAA,EAAA,CAAA;AASf,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,eAAe,MAKf,qBAAqB,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAkCjC,SAAS,iBAAiB,CAAC,KAAiB,EAAE,OAA6B,EAAA;IACzE,MAAM,MAAM,GAAe,EAAE,CAAC;AAC9B,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;SAC3D;KACF;AACD,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;SAEe,SAAS,CAAI,KAAU,EAAE,GAAG,GAAG,UAAU,EAAA;IACvD,MAAM,MAAM,GAAQ,EAAE,CAAC;AACvB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;AACb,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9C;KACF;AACD,IAAA,OAAO,MAAM,CAAC;AAChB;;ACtSA;;ACAA;;AAEG;;;;"}
@@ -33,7 +33,7 @@ class TextInputSectionOrganism extends NgAtomicComponent {
33
33
  this.store = inject(TextInputSectionOrganismStore);
34
34
  }
35
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TextInputSectionOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: TextInputSectionOrganism, isStandalone: true, selector: "organisms-text-input-section", usesInheritance: true, hostDirectives: [{ directive: TextInputSectionOrganismStore, inputs: ["label", "label", "placeholder", "placeholder", "type", "type", "hint", "hint", "control", "control", "autoComplete", "autoComplete", "actions", "actions"] }], ngImport: i0, template: `
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: TextInputSectionOrganism, isStandalone: true, selector: "organisms-text-input-section", host: { classAttribute: "organism input section" }, usesInheritance: true, hostDirectives: [{ directive: TextInputSectionOrganismStore, inputs: ["label", "label", "placeholder", "placeholder", "type", "type", "hint", "hint", "control", "control", "autoComplete", "autoComplete", "actions", "actions"] }], ngImport: i0, template: `
37
37
  <molecules-text-input-field injectable
38
38
  [type]="store.type()"
39
39
  [control]="store.control()"
@@ -48,7 +48,7 @@ class TextInputSectionOrganism extends NgAtomicComponent {
48
48
  (action)="dispatch($event)"
49
49
  />
50
50
  }
51
- `, isInline: true, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-3ldd: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-3ldd) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-3ldd)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-smart-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"], dependencies: [{ kind: "directive", type: TextInputFieldMoleculeStore, selector: "molecules-text-input-field", inputs: ["appearance", "type", "name", "label", "control", "placeholder", "hint", "pattern", "autoComplete"] }, { kind: "directive", type: SmartMenuButtonAtomStore, selector: "atoms-smart-menu-button", inputs: ["actions", "type"] }] }); }
51
+ `, isInline: true, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-8KkB: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-8KkB) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-8KkB)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-smart-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"], dependencies: [{ kind: "directive", type: TextInputFieldMoleculeStore, selector: "molecules-text-input-field", inputs: ["appearance", "type", "name", "label", "control", "placeholder", "hint", "pattern", "autoComplete"] }, { kind: "directive", type: SmartMenuButtonAtomStore, selector: "atoms-smart-menu-button, atoms-menu-button", inputs: ["actions", "type", "action"] }] }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TextInputSectionOrganism, decorators: [{
54
54
  type: Component,
@@ -75,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
75
75
  directive: TextInputSectionOrganismStore,
76
76
  inputs: ['label', 'placeholder', 'type', 'hint', 'control', 'autoComplete', 'actions'],
77
77
  }
78
- ], styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-3ldd: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-3ldd) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-3ldd)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-smart-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"] }]
78
+ ], host: { 'class': 'organism input section' }, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-8KkB: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-8KkB) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-8KkB)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-smart-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"] }]
79
79
  }] });
80
80
 
81
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-organisms-text-input-section.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/text-input-section/text-input-section.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/text-input-section/ng-atomic-components-organisms-text-input-section.ts"],"sourcesContent":["import { Component, Directive, inject, input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { SmartMenuButtonAtomStore } from '@ng-atomic/components/atoms/smart-menu-button';\nimport { TextInputFieldMoleculeStore } from '@ng-atomic/components/molecules/text-input-field';\nimport { Action, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'organisms-text-input-section' })\nexport class TextInputSectionOrganismStore extends InjectableComponent {\n readonly label = input('label');\n readonly placeholder = input('placeholder');\n readonly type = input<'text' | 'number' | 'password'>('text');\n readonly hint = input<string>();\n readonly control = input(new FormControl(''));\n readonly autoComplete = input<string[]>([]);\n readonly actions = input<Action[]>([]);\n}\n\n@Component({\n selector: 'organisms-text-input-section',\n standalone: true,\n imports: [\n TextInputFieldMoleculeStore,\n SmartMenuButtonAtomStore,\n ],\n template: `\n <molecules-text-input-field injectable\n [type]=\"store.type()\"\n [control]=\"store.control()\"\n [label]=\"store.label()\"\n [placeholder]=\"store.placeholder()\"\n [hint]=\"store.hint()\"\n [autoComplete]=\"store.autoComplete()\"\n />\n @if (store.actions()?.length) {\n <atoms-smart-menu-button injectable\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n }\n `,\n styleUrls: ['./text-input-section.organism.scss'],\n hostDirectives: [\n {\n directive: TextInputSectionOrganismStore,\n inputs: ['label', 'placeholder', 'type', 'hint', 'control', 'autoComplete', 'actions'],\n }\n ]\n})\nexport class TextInputSectionOrganism extends NgAtomicComponent {\n protected store = inject(TextInputSectionOrganismStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-components-organisms-text-input-section.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/text-input-section/text-input-section.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/text-input-section/ng-atomic-components-organisms-text-input-section.ts"],"sourcesContent":["import { Component, Directive, inject, input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { SmartMenuButtonAtomStore } from '@ng-atomic/components/atoms/smart-menu-button';\nimport { TextInputFieldMoleculeStore } from '@ng-atomic/components/molecules/text-input-field';\nimport { Action, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'organisms-text-input-section' })\nexport class TextInputSectionOrganismStore extends InjectableComponent {\n readonly label = input('label');\n readonly placeholder = input('placeholder');\n readonly type = input<'text' | 'number' | 'password'>('text');\n readonly hint = input<string>();\n readonly control = input(new FormControl(''));\n readonly autoComplete = input<string[]>([]);\n readonly actions = input<Action[]>([]);\n}\n\n@Component({\n selector: 'organisms-text-input-section',\n standalone: true,\n imports: [\n TextInputFieldMoleculeStore,\n SmartMenuButtonAtomStore,\n ],\n template: `\n <molecules-text-input-field injectable\n [type]=\"store.type()\"\n [control]=\"store.control()\"\n [label]=\"store.label()\"\n [placeholder]=\"store.placeholder()\"\n [hint]=\"store.hint()\"\n [autoComplete]=\"store.autoComplete()\"\n />\n @if (store.actions()?.length) {\n <atoms-smart-menu-button injectable\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n }\n `,\n styleUrls: ['./text-input-section.organism.scss'],\n hostDirectives: [\n {\n directive: TextInputSectionOrganismStore,\n inputs: ['label', 'placeholder', 'type', 'hint', 'control', 'autoComplete', 'actions'],\n }\n ],\n host: { 'class': 'organism input section' },\n})\nexport class TextInputSectionOrganism extends NgAtomicComponent {\n protected store = inject(TextInputSectionOrganismStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}