@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 +1 @@
1
- {"version":3,"file":"ng-atomic-components-templates-form.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/form/form.builder.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/form/form.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/form/ng-atomic-components-templates-form.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TextareaSectionOrganismStore } from '@ng-atomic/components/organisms/textarea-section';\nimport { TextInputSectionOrganismStore } from '@ng-atomic/components/organisms/text-input-section';\nimport { DateInputSectionOrganism } from '@ng-atomic/components/organisms/date-input-section';\nimport { SelectInputSectionOrganismStore } from '@ng-atomic/components/organisms/select-input-section';\nimport { FormField, FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { AbstractControl } from '@angular/forms';\nimport { _computed, Action } from '@ng-atomic/core';\nimport { ActionInputSectionOrganismStore } from '@ng-atomic/components/organisms/action-input-section';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { FileInputSectionOrganism, FileInputSectionOrganismStore } from '@ng-atomic/components/organisms/file-input-section';\nimport { AgreementInputSectionOrganism } from '@ng-atomic/components/organisms/agreement-input-section';\nimport { VideoSectionOrganism } from '@ng-atomic/components/organisms/video-section';\nimport { NumberInputSectionOrganismStore } from '@ng-atomic/components/organisms/number-input-section';\nimport { ImagePreviewSectionOrganism } from '@ng-atomic/components/organisms/image-preview-section';\nimport { PasswordInputSectionOrganismStore } from '@ng-atomic/components/organisms/password-input-section';\nimport { DateRangeInputSectionOrganism } from '@ng-atomic/components/organisms/date-range-input-section';\nimport { SliderInputSectionOrganismStore } from '@ng-atomic/components/organisms/slider-input-section';\nimport { get } from 'lodash-es';\nimport { ActionButtonsSectionOrganismStore } from '@ng-atomic/components/organisms/action-buttons-section';\n\nfunction walkControls(controls: any, cb: (name: string, control: any) => void, excludes: string[] = [], name = '') {\n Object.entries(controls).forEach(([key, control]: any) => {\n const path = name === '' ? key : `${name}.${key}`;\n if (excludes.includes(path)) {\n cb(path, control);\n } else if (control.controls) {\n walkControls(control.controls, cb, excludes, path);\n } else {\n cb(path, control);\n }\n });\n}\n\nfunction flatControls(form: FormGroup, excludes: string[]): [string, AbstractControl][] {\n const controlMap = new Map<string, AbstractControl>();\n walkControls(form?.controls, (name, control: AbstractControl) => controlMap.set(name, control), [\n ...excludes,\n ]);\n return [...controlMap.entries()];\n}\n\n\nenum ActionId {\n FILE_SELECTED = '[@ng-atomic/components:templates/form/ng-atomic-form-section-switcher] File selected',\n CANCEL = '[@ng-atomic/components:templates/form/ng-atomic-form-section-switcher] Cancel',\n}\n\n@Component({\n selector: 'ng-atomic-form-section-switcher',\n standalone: true,\n imports: [\n DomainPipe,\n ActionButtonsSectionOrganismStore,\n AgreementInputSectionOrganism,\n ActionInputSectionOrganismStore,\n FileInputSectionOrganismStore,\n DateInputSectionOrganism,\n DateRangeInputSectionOrganism,\n TextInputSectionOrganismStore,\n NumberInputSectionOrganismStore,\n TextareaSectionOrganismStore,\n SelectInputSectionOrganismStore,\n SliderInputSectionOrganismStore,\n VideoSectionOrganism,\n ImagePreviewSectionOrganism,\n PasswordInputSectionOrganismStore,\n ],\n template: `\n @if (field(); as field) {\n @switch (field.type) {\n @case ('select') {\n @defer {\n <organisms-select-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [hint]=\"field.hint\"\n [options]=\"field.options\"\n [placeholder]=\"field.placeholder\"\n [actions]=\"field.actions\"\n [multiple]=\"field?.multiple\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('date') {\n <organisms-date-input-section\n [label]=\"name() | domain\"\n [hint]=\"field.hint\"\n [control]=\"control()\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('date-range') {\n <organisms-date-range-input-section\n [label]=\"name() | domain\"\n [hint]=\"field.hint\"\n [control]=\"control()\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('text') {\n @defer {\n <organisms-text-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [actions]=\"field.actions\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n [autoComplete]=\"field.autoComplete\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('number') {\n @defer {\n <organisms-number-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [actions]=\"field.actions\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('textarea') {\n @defer {\n <organisms-textarea-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [hint]=\"field.hint\"\n [rows]=\"field.rows\"\n [placeholder]=\"field.placeholder\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('password') {\n @defer {\n <organisms-password-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('action') {\n @defer {\n <organisms-action-buttons-section\n [actions]=\"field?.actions\"\n [type]=\"field?.buttonType\"\n (action)=\"dispatch($event)\"\n injectable\n />\n }\n }\n @case ('file') {\n @defer {\n <organisms-file-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [hint]=\"field.hint\"\n [progress]=\"field?.progress\"\n (action)=\"dispatchFileInputAction($event, name())\"\n />\n }\n }\n @case ('slider') {\n @defer {\n <organisms-slider-input-section injectable\n [label]=\"name() | domain\"\n [control]=\"control()\"\n [max]=\"field?.slider?.max\"\n [min]=\"field?.slider?.min\"\n [step]=\"field?.slider?.step\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('agreement') {\n @defer {\n <organisms-agreement-input-section injectable\n [control]=\"control()\"\n [labelTemp]=\"field?.labelTemp\"\n />\n }\n }\n @case ('preview') {\n @defer {\n <organisms-video-section injectable\n [src]=\"control().value\"\n [autoplay]=\"false\"\n />\n }\n }\n @case ('preview:image') {\n @defer {\n <organisms-image-preview-section\n [src]=\"control().value\"\n />\n }\n }\n @case ('hidden') { }\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [`:host { display: contents; }`]\n})\nexport class NgAtomicFormSectionSwitcher extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n readonly name = input.required<string>();\n readonly control = input.required<AbstractControl>();\n readonly field = input.required<FormFieldMap | FormField>();\n\n protected dispatchFileInputAction(action: Action, name: string) {\n switch (action.id) {\n case FileInputSectionOrganism.ActionId.FILE_SELECTED: {\n return this.dispatch({id: ActionId.FILE_SELECTED, payload: {scope: name, files: action.payload}});\n }\n case FileInputSectionOrganism.ActionId.CANCEL: {\n return this.dispatch({id: ActionId.CANCEL, payload: {scope: name}});\n }\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'ng-atomic-form-section-builder',\n imports: [\n NgAtomicFormSectionSwitcher,\n ],\n template: `\n @for (entry of controlEntries(); track entry.name;) {\n <ng-atomic-form-section-switcher\n [name]=\"entry.name\"\n [control]=\"entry.control\"\n [field]=\"entry.field\"\n (action)=\"dispatch($event)\"\n />\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `:host { display: contents; }`,\n})\nexport class NgAtomicFormSectionBuilder extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n\n readonly form = input.required<FormGroup>();\n readonly formFlatExcludes = input<string[]>([]);\n readonly fieldMap = input.required<FormFieldMap>();\n\n readonly controlEntries = computed(() => {\n function _get(fieldMap: FormFieldMap, name: string) {\n if (get(fieldMap, name)) return get(fieldMap, name);\n for (const key of Object.keys(fieldMap ?? {})) {\n const regex = new RegExp(`^${key.replace(/\\./g, '\\\\.')}(\\\\..+)?$`);\n if (regex.test(name)) return get(fieldMap, key);\n }\n return undefined;\n }\n\n return flatControls(this.form(), this.formFlatExcludes()).map(([name, control]) => ({\n name,\n control,\n field: _get(this.fieldMap(), name) ?? {type: 'text'},\n }));\n });\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, inject, input, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ScrollFrame } from '@ng-atomic/components/frames/scroll-v2';\nimport { AutoLayoutFrame } from '@ng-atomic/components/frames/auto-layout';\nimport { HeaderMoleculeStore } from '@ng-atomic/components/molecules/header';\nimport { ActionButtonsSectionOrganismStore } from '@ng-atomic/components/organisms/action-buttons-section';\nimport { NavigatorOrganismStore } from '@ng-atomic/components/organisms/navigator';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { Action, Effect, InjectableComponent, _computed, provideComponent } from '@ng-atomic/core';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { NavActionId, injectIsRootPage, injectNavStartActions, makeConfig } from '@ng-atomic/common/services/ui';\nimport { NgAtomicFormSectionBuilder } from './form.builder';\n\nenum ActionId {\n BACK = '[@ng-atomic/components/templates/form] Back',\n CREATE = '[@ng-atomic/components/templates/form] Create',\n UPDATE = '[@ng-atomic/components/templates/form] Update',\n DELETE = '[@ng-atomic/components/templates/form] Delete',\n FILE_SELECTED = '[@ng-atomic/components/templates/form] File selected',\n CANCEL = '[@ng-atomic/components/templates/form] Cancel',\n}\n\n@Directive({ standalone: true })\nexport class FormTemplateStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n const isRootPage = injectIsRootPage();\n const navStartActions = injectNavStartActions(isRootPage);\n return () => ({\n navStartActions: navStartActions(),\n navEndActions: <Action[]>[{id: ActionId.DELETE, name: '削除', icon: 'delete'}],\n title: '',\n form: inject(FormBuilder).group({id: ['']}),\n formFlatExcludes: <string[]>[],\n actions: <Action[]>[{id: ActionId.CREATE, name: '作成'}],\n fieldMap: <FormFieldMap>{\n createdAt: { type: 'date' },\n updatedAt: { type: 'date' },\n deletedAt: { type: 'date' },\n },\n });\n }, ['components', 'templates', 'form']);\n static provideDefault() {\n return [\n FormTemplateStore.Config.provide(),\n ];\n }\n\n readonly config = FormTemplateStore.Config.inject();\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly formFlatExcludes = input(_computed(() => this.config().formFlatExcludes));\n readonly actions = input(_computed(() => this.config().actions));\n readonly fieldMap = input(_computed(() => this.config().fieldMap));\n}\n\n@Component({\n standalone: true,\n imports: [\n NgAtomicFormSectionBuilder,\n HeaderMoleculeStore,\n ScrollFrame,\n NavigatorOrganismStore,\n AutoLayoutFrame,\n ActionButtonsSectionOrganismStore,\n ],\n selector: 'templates-form',\n template: `\n <frames-scroll>\n <organisms-navigator injectable\n [startActions]=\"store.navStartActions()\"\n [endActions]=\"store.navEndActions()\"\n (action)=\"dispatch($event)\"\n top\n >\n <molecules-header injectable [title]=\"store.title()\" [description]=\"''\"/>\n </organisms-navigator>\n <frames-auto-layout vertical>\n <ng-atomic-form-section-builder\n [form]=\"store.form()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [fieldMap]=\"store.fieldMap()\"\n (action)=\"dispatch($event)\"\n />\n <organisms-action-buttons-section injectable\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-auto-layout>\n </frames-scroll>\n `,\n styleUrls: ['./form.template.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: FormTemplateStore,\n inputs: [\n 'navStartActions',\n 'navEndActions',\n 'title',\n 'form',\n 'formFlatExcludes',\n 'actions',\n 'fieldMap',\n ],\n },\n ],\n host: {class: 'template'}\n})\nexport class FormTemplate extends NgAtomicComponent implements OnInit {\n static ActionId = ActionId;\n protected readonly store = inject(FormTemplateStore);\n protected readonly cd = inject(ChangeDetectorRef);\n\n ngOnInit(): void {\n this.store.form().statusChanges.subscribe(() => this.cd.markForCheck());\n }\n\n @Effect(NavActionId.BACK)\n protected back() {\n this.dispatch({id: ActionId.BACK});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ActionId"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-components-templates-form.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/form/form.builder.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/form/form.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/form/ng-atomic-components-templates-form.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, Directive, effect, inject, input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TextareaSectionOrganismStore } from '@ng-atomic/components/organisms/textarea-section';\nimport { TextInputSectionOrganismStore } from '@ng-atomic/components/organisms/text-input-section';\nimport { DateInputSectionOrganism } from '@ng-atomic/components/organisms/date-input-section';\nimport { SelectInputSectionOrganismStore } from '@ng-atomic/components/organisms/select-input-section';\nimport { FormField, FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { AbstractControl } from '@angular/forms';\nimport { _computed, Action, InjectableComponent } from '@ng-atomic/core';\nimport { ActionInputSectionOrganismStore } from '@ng-atomic/components/organisms/action-input-section';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { FileInputSectionOrganism, FileInputSectionOrganismStore } from '@ng-atomic/components/organisms/file-input-section';\nimport { AgreementInputSectionOrganism } from '@ng-atomic/components/organisms/agreement-input-section';\nimport { VideoSectionOrganism } from '@ng-atomic/components/organisms/video-section';\nimport { NumberInputSectionOrganismStore } from '@ng-atomic/components/organisms/number-input-section';\nimport { ImagePreviewSectionOrganism } from '@ng-atomic/components/organisms/image-preview-section';\nimport { PasswordInputSectionOrganismStore } from '@ng-atomic/components/organisms/password-input-section';\nimport { DateRangeInputSectionOrganism } from '@ng-atomic/components/organisms/date-range-input-section';\nimport { SliderInputSectionOrganismStore } from '@ng-atomic/components/organisms/slider-input-section';\nimport { get } from 'lodash-es';\nimport { ActionButtonsSectionOrganismStore } from '@ng-atomic/components/organisms/action-buttons-section';\n\nfunction walkControls(controls: any, cb: (name: string, control: any) => void, excludes: string[] = [], name = '') {\n Object.entries(controls).forEach(([key, control]: any) => {\n const path = name === '' ? key : `${name}.${key}`;\n if (excludes.includes(path)) {\n cb(path, control);\n } else if (control.controls) {\n walkControls(control.controls, cb, excludes, path);\n } else {\n cb(path, control);\n }\n });\n}\n\nfunction flatControls(form: FormGroup, excludes: string[]): [string, AbstractControl][] {\n const controlMap = new Map<string, AbstractControl>();\n walkControls(form?.controls, (name, control: AbstractControl) => controlMap.set(name, control), [\n ...excludes,\n ]);\n return [...controlMap.entries()];\n}\n\n\nenum ActionId {\n FILE_SELECTED = '[@ng-atomic/components:templates/form/ng-atomic-form-section-switcher] File selected',\n CANCEL = '[@ng-atomic/components:templates/form/ng-atomic-form-section-switcher] Cancel',\n}\n\n@Directive({\n selector: 'ng-atomic-form-section-switcher',\n standalone: true,\n})\nexport class NgAtomicFormSectionSwitcherStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n readonly name = input.required<string>();\n readonly control = input.required<AbstractControl>();\n readonly field = input.required<FormFieldMap | FormField>();\n}\n\n@Component({\n selector: 'ng-atomic-form-section-switcher',\n standalone: true,\n imports: [\n DomainPipe,\n ActionButtonsSectionOrganismStore,\n AgreementInputSectionOrganism,\n FileInputSectionOrganismStore,\n DateInputSectionOrganism,\n DateRangeInputSectionOrganism,\n TextInputSectionOrganismStore,\n NumberInputSectionOrganismStore,\n TextareaSectionOrganismStore,\n SelectInputSectionOrganismStore,\n SliderInputSectionOrganismStore,\n VideoSectionOrganism,\n ImagePreviewSectionOrganism,\n PasswordInputSectionOrganismStore,\n ],\n template: `\n @if (store.field(); as field) {\n @switch (field.type) {\n @case ('select') {\n @defer {\n <organisms-select-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [hint]=\"field.hint\"\n [options]=\"field.options\"\n [placeholder]=\"field.placeholder\"\n [actions]=\"field.actions\"\n [multiple]=\"field?.multiple\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('date') {\n <organisms-date-input-section\n [label]=\"store.name() | domain\"\n [hint]=\"field.hint\"\n [control]=\"store.control()\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('date-range') {\n <organisms-date-range-input-section\n [label]=\"store.name() | domain\"\n [hint]=\"field.hint\"\n [control]=\"store.control()\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('text') {\n @defer {\n <organisms-text-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [actions]=\"field.actions\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n [autoComplete]=\"field.autoComplete\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('number') {\n @defer {\n <organisms-number-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [actions]=\"field.actions\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('textarea') {\n @defer {\n <organisms-textarea-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [hint]=\"field.hint\"\n [rows]=\"field.rows\"\n [placeholder]=\"field.placeholder\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('password') {\n @defer {\n <organisms-password-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [hint]=\"field.hint\"\n [placeholder]=\"field.placeholder\"\n [actions]=\"field.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('action') {\n @defer {\n <organisms-action-buttons-section\n [actions]=\"field?.actions\"\n [type]=\"field?.buttonType\"\n (action)=\"dispatch($event)\"\n injectable\n />\n }\n }\n @case ('file') {\n @defer {\n <organisms-file-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [hint]=\"field.hint\"\n [progress]=\"field?.progress\"\n (action)=\"dispatchFileInputAction($event, store.name())\"\n />\n }\n }\n @case ('slider') {\n @defer {\n <organisms-slider-input-section injectable\n [label]=\"store.name() | domain\"\n [control]=\"store.control()\"\n [max]=\"field?.slider?.max\"\n [min]=\"field?.slider?.min\"\n [step]=\"field?.slider?.step\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n @case ('agreement') {\n @defer {\n <organisms-agreement-input-section injectable\n [control]=\"store.control()\"\n [labelTemp]=\"field?.labelTemp\"\n />\n }\n }\n @case ('preview') {\n @defer {\n <organisms-video-section injectable\n [src]=\"store.control().value\"\n [autoplay]=\"false\"\n />\n }\n }\n @case ('preview:image') {\n @defer {\n <organisms-image-preview-section\n [src]=\"store.control().value\"\n />\n }\n }\n @case ('hidden') { }\n }\n }\n `,\n hostDirectives:[\n {\n directive: NgAtomicFormSectionSwitcherStore,\n inputs: ['name', 'control', 'field'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `:host { display: contents; }`,\n})\nexport class NgAtomicFormSectionSwitcher extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n protected readonly store = inject(NgAtomicFormSectionSwitcherStore);\n\n protected dispatchFileInputAction(action: Action, name: string) {\n switch (action.id) {\n case FileInputSectionOrganism.ActionId.FILE_SELECTED: {\n return this.dispatch({id: ActionId.FILE_SELECTED, payload: {scope: name, files: action.payload}});\n }\n case FileInputSectionOrganism.ActionId.CANCEL: {\n return this.dispatch({id: ActionId.CANCEL, payload: {scope: name}});\n }\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'ng-atomic-form-section-builder',\n imports: [\n NgAtomicFormSectionSwitcher,\n ],\n template: `\n @for (entry of controlEntries(); track entry.name;) {\n <ng-atomic-form-section-switcher\n [name]=\"entry.name\"\n [control]=\"entry.control\"\n [field]=\"entry.field\"\n (action)=\"dispatch($event)\"\n />\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './form.builder.scss'\n})\nexport class NgAtomicFormSectionBuilder extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n\n readonly form = input.required<FormGroup>();\n readonly formFlatExcludes = input<string[]>([]);\n readonly fieldMap = input.required<FormFieldMap>();\n\n readonly controlEntries = computed(() => {\n function _get(fieldMap: FormFieldMap, name: string) {\n if (get(fieldMap, name)) return get(fieldMap, name);\n for (const key of Object.keys(fieldMap ?? {})) {\n if (new RegExp(key).test(name)) return get(fieldMap, key);\n }\n return undefined;\n }\n\n return flatControls(this.form(), this.formFlatExcludes()).map(([name, control]) => ({\n name,\n control,\n field: _get(this.fieldMap(), name) ?? {type: 'text'},\n }));\n });\n\n constructor() {\n super();\n effect(() => {\n console.debug('[NgAtomicFormSectionBuilder] controlEntries:', this.controlEntries());\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, inject, input, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ScrollFrame } from '@ng-atomic/components/frames/scroll-v2';\nimport { AutoLayoutFrame } from '@ng-atomic/components/frames/auto-layout';\nimport { HeaderMoleculeStore } from '@ng-atomic/components/molecules/header';\nimport { ActionButtonsSectionOrganismStore } from '@ng-atomic/components/organisms/action-buttons-section';\nimport { NavigatorOrganismStore } from '@ng-atomic/components/organisms/navigator';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { Action, Effect, InjectableComponent, _computed } from '@ng-atomic/core';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { NavActionId, injectIsRootPage, injectNavStartActions, makeConfig } from '@ng-atomic/common/services/ui';\nimport { NgAtomicFormSectionBuilder } from './form.builder';\nimport { DividerFrame } from '@ng-atomic/components/frames/divider';\n\nenum ActionId {\n BACK = '[@ng-atomic/components/templates/form] Back',\n CREATE = '[@ng-atomic/components/templates/form] Create',\n UPDATE = '[@ng-atomic/components/templates/form] Update',\n DELETE = '[@ng-atomic/components/templates/form] Delete',\n FILE_SELECTED = '[@ng-atomic/components/templates/form] File selected',\n CANCEL = '[@ng-atomic/components/templates/form] Cancel',\n}\n\n@Directive({ standalone: true })\nexport class FormTemplateStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n const isRootPage = injectIsRootPage();\n const navStartActions = injectNavStartActions(isRootPage);\n return () => ({\n navStartActions: navStartActions(),\n navEndActions: <Action[]>[{id: ActionId.DELETE, name: '削除', icon: 'delete'}],\n title: '',\n form: inject(FormBuilder).group({id: ['']}),\n formFlatExcludes: <string[]>[],\n actions: <Action[]>[{id: ActionId.CREATE, name: '作成'}],\n fieldMap: <FormFieldMap>{\n createdAt: { type: 'date' },\n updatedAt: { type: 'date' },\n deletedAt: { type: 'date' },\n },\n });\n }, ['components', 'templates', 'form']);\n static provideDefault() {\n return [\n FormTemplateStore.Config.provide(),\n ];\n }\n\n readonly config = FormTemplateStore.Config.inject();\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly formFlatExcludes = input(_computed(() => this.config().formFlatExcludes));\n readonly actions = input(_computed(() => this.config().actions));\n readonly fieldMap = input(_computed(() => this.config().fieldMap));\n}\n\n@Component({\n standalone: true,\n imports: [\n NgAtomicFormSectionBuilder,\n HeaderMoleculeStore,\n ScrollFrame,\n NavigatorOrganismStore,\n AutoLayoutFrame,\n ActionButtonsSectionOrganismStore,\n DividerFrame,\n ],\n selector: 'templates-form',\n template: `\n <frames-scroll>\n <organisms-navigator injectable\n [startActions]=\"store.navStartActions()\"\n [endActions]=\"store.navEndActions()\"\n (action)=\"dispatch($event)\"\n top\n >\n <molecules-header injectable [title]=\"store.title()\" [description]=\"''\"/>\n </organisms-navigator>\n\n <frames-divider>\n <ng-content select=\"[dashboard]\" first/>\n <frames-auto-layout [type]=\"'vertical'\" second>\n <ng-atomic-form-section-builder\n [form]=\"store.form()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [fieldMap]=\"store.fieldMap()\"\n (action)=\"dispatch($event)\"\n />\n <organisms-action-buttons-section injectable\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-auto-layout>\n </frames-divider>\n </frames-scroll>\n `,\n styleUrls: ['./form.template.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: FormTemplateStore,\n inputs: [\n 'navStartActions',\n 'navEndActions',\n 'title',\n 'form',\n 'formFlatExcludes',\n 'actions',\n 'fieldMap',\n ],\n },\n ],\n host: {class: 'template'}\n})\nexport class FormTemplate extends NgAtomicComponent implements OnInit {\n static ActionId = ActionId;\n protected readonly store = inject(FormTemplateStore);\n protected readonly cd = inject(ChangeDetectorRef);\n\n ngOnInit(): void {\n this.store.form().statusChanges.subscribe(() => this.cd.markForCheck());\n }\n\n @Effect(NavActionId.BACK)\n protected back() {\n this.dispatch({id: ActionId.BACK});\n }\n\n @Effect(NgAtomicFormSectionBuilder.ActionId.FILE_SELECTED)\n protected fileSelected(payload: any) {\n this.dispatch({id: ActionId.FILE_SELECTED, payload});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ActionId"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,SAAS,YAAY,CAAC,QAAa,EAAE,EAAwC,EAAE,QAAA,GAAqB,EAAE,EAAE,IAAI,GAAG,EAAE,EAAA;AAC/G,IAAA,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAM,KAAI;AACvD,QAAA,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG,GAAG,GAAG,CAAA,EAAG,IAAI,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;AAClD,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,YAAA,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACnB;AAAM,aAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACpD;aAAM;AACL,YAAA,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACnB;AACH,KAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAe,EAAE,QAAkB,EAAA;AACvD,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtD,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAwB,KAAK,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAC9F,QAAA,GAAG,QAAQ;AACZ,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AACnC,CAAC;AAGD,IAAKA,UAGJ,CAAA;AAHD,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,sFAAsG,CAAA;AACtG,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,+EAAwF,CAAA;AAC1F,CAAC,EAHIA,UAAQ,KAARA,UAAQ,GAGZ,EAAA,CAAA,CAAA,CAAA;AAMK,MAAO,gCAAiC,SAAQ,mBAAmB,CAAA;AAJzE,IAAA,WAAA,GAAA;;AAMW,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AAChC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAmB,CAAC;AAC5C,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAA4B,CAAC;AAC7D,KAAA;aAJiB,IAAQ,CAAA,QAAA,GAAGA,UAAH,CAAY,EAAA;8GADzB,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;AAoLK,MAAO,2BAA4B,SAAQ,iBAAiB,CAAA;AA5KlE,IAAA,WAAA,GAAA;;AA8KqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAYrE,KAAA;aAbiB,IAAQ,CAAA,QAAA,GAAGA,UAAH,CAAY,EAAA;IAG1B,uBAAuB,CAAC,MAAc,EAAE,IAAY,EAAA;AAC5D,QAAA,QAAQ,MAAM,CAAC,EAAE;AACf,YAAA,KAAK,wBAAwB,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAEA,UAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAC,EAAC,CAAC,CAAC;aACnG;AACD,YAAA,KAAK,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAEA,UAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAC,CAAC,CAAC;aACrE;SACF;KACF;8GAbU,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAnL3B,gCAAgC,EA0BjC,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EA9JC,UAAU,EAIV,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,yIAL7B,UAAU,EAAA,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,CAAA,EAAA,MAAA,CAAV,UAAU,EAAA,OAAA,oDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,MAAA,CAAV,UAAU,EAAV,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,CAAA,EAAA,MAAA,CAAA,UAAU,EAAV,OAAA,kDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,EAAA,MAAA,CAAA,UAAU,oPAAV,UAAU;AAGV,gBAAA,6BAA6B,UAH7B,UAAU,EAAA,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,CAAA,EAAA,MAAA,CAAA,OAAA,yDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,MAAA,CAAA,OAAA,+CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,EAAA,MAAA,CAAA,OAAA,uDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;gGAwKD,2BAA2B,EAAA,mBAAA,EAAA,MAAA,CAAA,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,OAAA,oDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,6BAAA,CAAA,EAAA,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,OAAA,kDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,4BAAA,CAAA,EAAA,OAAA,wDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iCAAA,CAAA,EAAA,OAAA,wDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iCAAA,CAAA,EAAA,OAAA,sDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,OAAA,yDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,6BAAA,CAAA,EAAA,OAAA,+CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,OAAA,uDAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,+BAAA,EAAA,6BAAA,EAAA,+BAAA,EAAA,4BAAA,EAAA,iCAAA,EAAA,iCAAA,EAAA,+BAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,2BAAA,MAAA,EAAA,UAAA,EAAA,CAAA;sBA5KvC,SAAS;mCACE,iCAAiC,EAAA,UAAA,EAC/B,IAAI,EACP,OAAA,EAAA;4BACP,UAAU;4BACV,iCAAiC;4BACjC,6BAA6B;4BAC7B,6BAA6B;4BAC7B,wBAAwB;4BACxB,6BAA6B;4BAC7B,6BAA6B;4BAC7B,+BAA+B;4BAC/B,4BAA4B;4BAC5B,+BAA+B;4BAC/B,+BAA+B;4BAC/B,oBAAoB;4BACpB,2BAA2B;4BAC3B,iCAAiC;yBAClC,EACS,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+IT,EACc,cAAA,EAAA;AACb,4BAAA;AACE,gCAAA,SAAS,EAAE,gCAAgC;AAC3C,gCAAA,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AACrC,6BAAA;yBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,CAAA;;AAsC3C,MAAO,0BAA2B,SAAQ,iBAAiB,CAAA;aAC/C,IAAQ,CAAA,QAAA,GAAGA,UAAH,CAAY,EAAA;AAsBpC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AArBD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAa,CAAC;AACnC,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAW,EAAE,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAgB,CAAC;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AACtC,YAAA,SAAS,IAAI,CAAC,QAAsB,EAAE,IAAY,EAAA;AAChD,gBAAA,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;AAAE,oBAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpD,gBAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;oBAC7C,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAAE,wBAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBAC3D;AACD,gBAAA,OAAO,SAAS,CAAC;aAClB;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM;gBAClF,IAAI;gBACJ,OAAO;AACP,gBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC;AACrD,aAAA,CAAC,CAAC,CAAC;AACN,SAAC,CAAC,CAAC;QAID,MAAM,CAAC,MAAK;YACV,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AACvF,SAAC,CAAC,CAAC;KACJ;8GA5BU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAb3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,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,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA/BU,2BAA2B,EAAA,QAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAmC3B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,gCAAgC,EACjC,OAAA,EAAA;wBACP,2BAA2B;qBAC5B,EACS,QAAA,EAAA,CAAA;;;;;;;;;GAST,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA,CAAA;;;AC3PjD,IAAK,QAOJ,CAAA;AAPD,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,6CAAoD,CAAA;AACpD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,+CAAwD,CAAA;AACxD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,+CAAwD,CAAA;AACxD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,+CAAwD,CAAA;AACxD,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,sDAAsE,CAAA;AACtE,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,+CAAwD,CAAA;AAC1D,CAAC,EAPI,QAAQ,KAAR,QAAQ,GAOZ,EAAA,CAAA,CAAA,CAAA;AAGK,MAAO,iBAAkB,SAAQ,mBAAmB,CAAA;AAD1D,IAAA,WAAA,GAAA;;AA0BW,QAAA,IAAA,CAAA,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AACxE,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACxD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpE,KAAA;aAhCiB,IAAQ,CAAA,QAAA,GAAG,QAAH,CAAY,EAAA;AACpB,IAAA,SAAA,IAAA,CAAA,MAAM,GAAG,UAAU,CAAC,MAAK;AACvC,QAAA,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AACtC,QAAA,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,eAAe,EAAE,eAAe,EAAE;AAClC,YAAA,aAAa,EAAY,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;AAC5E,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;AAC3C,YAAA,gBAAgB,EAAY,EAAE;AAC9B,YAAA,OAAO,EAAY,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;AACtD,YAAA,QAAQ,EAAgB;AACtB,gBAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,gBAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,gBAAA,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;AAC5B,aAAA;AACF,SAAA,CAAC,CAAC;KACJ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAhBhB,CAgBkB,EAAA;AACxC,IAAA,OAAO,cAAc,GAAA;QACnB,OAAO;AACL,YAAA,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;SACnC,CAAC;KACH;8GAvBU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,SAAS;mBAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;;AA8FzB,MAAO,YAAa,SAAQ,iBAAiB,CAAA;AA1DnD,IAAA,WAAA,GAAA;;AA4DqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAenD,KAAA;aAjBQ,IAAQ,CAAA,QAAA,GAAG,QAAH,CAAY,EAAA;IAI3B,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;KACzE;IAGS,IAAI,GAAA;QACZ,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAC,CAAC,CAAC;KACpC;AAGS,IAAA,YAAY,CAAC,OAAY,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAC,CAAC,CAAC;KACtD;8GAjBU,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA7FZ,iBAAiB,EA+ClB,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8pFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EApCC,0BAA0B,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,mBAAmB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,WAAW,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,sBAAsB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,eAAe,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,iCAAiC,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjC,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA2DJ,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;;;;AAGxB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA;AAGS,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,0BAA0B,CAAC,QAAQ,CAAC,aAAa,CAAC;;;;AAGzD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA,CAAA;2FAjBU,YAAY,EAAA,UAAA,EAAA,CAAA;kBA1DxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACP,0BAA0B;wBAC1B,mBAAmB;wBACnB,WAAW;wBACX,sBAAsB;wBACtB,eAAe;wBACf,iCAAiC;wBACjC,YAAY;AACb,qBAAA,EAAA,QAAA,EACS,gBAAgB,EAChB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,iBAAiB;AAC5B,4BAAA,MAAM,EAAE;gCACN,iBAAiB;gCACjB,eAAe;gCACf,OAAO;gCACP,MAAM;gCACN,kBAAkB;gCAClB,SAAS;gCACT,UAAU;AACX,6BAAA;AACF,yBAAA;AACF,qBAAA,EAAA,IAAA,EACK,EAAC,KAAK,EAAE,UAAU,EAAC,EAAA,MAAA,EAAA,CAAA,8pFAAA,CAAA,EAAA,CAAA;AAYf,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAI,MAKJ,YAAY,EAAA,EAAA,EAAA,EAAA,CAAA;;ACpIxB;;AAEG;;;;"}
@@ -6,14 +6,17 @@ import * as i1 from '@angular/material/button';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
7
  import * as i2 from '@angular/material/icon';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
+ import * as i3 from '@angular/material/tooltip';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
9
11
 
10
12
  let IconButtonMenuTemplateStore = class IconButtonMenuTemplateStore extends InjectableComponent {
11
13
  constructor() {
12
14
  super(...arguments);
13
15
  this.actions = input([]);
16
+ this.bottomActions = input([]);
14
17
  }
15
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IconButtonMenuTemplateStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: IconButtonMenuTemplateStore, isStandalone: true, selector: "templates-icon-button-menu", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: IconButtonMenuTemplateStore, isStandalone: true, selector: "templates-icon-button-menu", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, bottomActions: { classPropertyName: "bottomActions", publicName: "bottomActions", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
17
20
  };
18
21
  IconButtonMenuTemplateStore = __decorate([
19
22
  TokenizedType()
@@ -28,31 +31,81 @@ class IconButtonMenuTemplate extends NgAtomicComponent {
28
31
  this.store = inject(IconButtonMenuTemplateStore);
29
32
  }
30
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IconButtonMenuTemplate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: IconButtonMenuTemplate, isStandalone: true, selector: "templates-icon-button-menu", usesInheritance: true, hostDirectives: [{ directive: IconButtonMenuTemplateStore, inputs: ["actions", "actions"] }], ngImport: i0, template: `
32
- @for (action of store.actions(); track action.id) {
33
- <button mat-icon-button color="basic" (click)="dispatch(action)">
34
- <mat-icon>{{ action.icon }}</mat-icon>
35
- </button>
36
- }
37
- `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-blRD: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-blRD: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-blRD: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-blRD: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-blRD: var(--on-background-color);--mdc-icon-button-icon-color: #FEFEFE;--mdc-icon-button-icon-color-SCOPED-IN-icon-button-menu-blRD: var(--mdc-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-blRD);color:var(--on-background-color-SCOPED-IN-icon-button-menu-blRD)}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-blRD)}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: IconButtonMenuTemplate, isStandalone: true, selector: "templates-icon-button-menu", usesInheritance: true, hostDirectives: [{ directive: IconButtonMenuTemplateStore, inputs: ["actions", "actions", "bottomActions", "bottomActions"] }], ngImport: i0, template: `
35
+ <div class="top">
36
+ @for (action of store.actions(); track $index) {
37
+ <button
38
+ mat-icon-button
39
+ [color]="action?.color"
40
+ (click)="dispatch(action)"
41
+ #tooltip="matTooltip"
42
+ [matTooltip]="action.name"
43
+ matTooltipPosition="right"
44
+ >
45
+ <mat-icon>{{ action.icon }}</mat-icon>
46
+ </button>
47
+ }
48
+ </div>
49
+ <div class="bottom">
50
+ @for (action of store.bottomActions(); track $index) {
51
+ <button
52
+ mat-icon-button
53
+ [color]="action?.color"
54
+ (click)="dispatch(action)"
55
+ #tooltip="matTooltip"
56
+ [matTooltip]="action.name"
57
+ matTooltipPosition="right"
58
+ >
59
+ <mat-icon>{{ action.icon }}</mat-icon>
60
+ </button>
61
+ }
62
+ </div>
63
+ `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-HsJG: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-HsJG: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-HsJG: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-HsJG: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-HsJG: var(--on-background-color);--mdc-icon-button-icon-color: #FEFEFE;--mdc-icon-button-icon-color-SCOPED-IN-icon-button-menu-HsJG: var(--mdc-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-HsJG);color:var(--on-background-color-SCOPED-IN-icon-button-menu-HsJG)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-HsJG);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
64
  }
39
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IconButtonMenuTemplate, decorators: [{
40
66
  type: Component,
41
67
  args: [{ selector: 'templates-icon-button-menu', standalone: true, imports: [
42
68
  MatButtonModule,
43
69
  MatIconModule,
70
+ MatTooltipModule,
44
71
  ], template: `
45
- @for (action of store.actions(); track action.id) {
46
- <button mat-icon-button color="basic" (click)="dispatch(action)">
47
- <mat-icon>{{ action.icon }}</mat-icon>
48
- </button>
49
- }
72
+ <div class="top">
73
+ @for (action of store.actions(); track $index) {
74
+ <button
75
+ mat-icon-button
76
+ [color]="action?.color"
77
+ (click)="dispatch(action)"
78
+ #tooltip="matTooltip"
79
+ [matTooltip]="action.name"
80
+ matTooltipPosition="right"
81
+ >
82
+ <mat-icon>{{ action.icon }}</mat-icon>
83
+ </button>
84
+ }
85
+ </div>
86
+ <div class="bottom">
87
+ @for (action of store.bottomActions(); track $index) {
88
+ <button
89
+ mat-icon-button
90
+ [color]="action?.color"
91
+ (click)="dispatch(action)"
92
+ #tooltip="matTooltip"
93
+ [matTooltip]="action.name"
94
+ matTooltipPosition="right"
95
+ >
96
+ <mat-icon>{{ action.icon }}</mat-icon>
97
+ </button>
98
+ }
99
+ </div>
50
100
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
51
101
  {
52
102
  directive: IconButtonMenuTemplateStore,
53
- inputs: ['actions'],
103
+ inputs: [
104
+ 'actions',
105
+ 'bottomActions',
106
+ ],
54
107
  },
55
- ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-blRD: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-blRD: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-blRD: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-blRD: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-blRD: var(--on-background-color);--mdc-icon-button-icon-color: #FEFEFE;--mdc-icon-button-icon-color-SCOPED-IN-icon-button-menu-blRD: var(--mdc-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-blRD);color:var(--on-background-color-SCOPED-IN-icon-button-menu-blRD)}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-blRD)}\n"] }]
108
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-HsJG: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-HsJG: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-HsJG: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-HsJG: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-HsJG: var(--on-background-color);--mdc-icon-button-icon-color: #FEFEFE;--mdc-icon-button-icon-color-SCOPED-IN-icon-button-menu-HsJG: var(--mdc-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-HsJG);color:var(--on-background-color-SCOPED-IN-icon-button-menu-HsJG)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-HsJG);cursor:pointer}\n"] }]
56
109
  }] });
57
110
 
58
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-templates-icon-button-menu.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/icon-button-menu/icon-button-menu.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/icon-button-menu/ng-atomic-components-templates-icon-button-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';\nimport { Action, TokenizedType } from '@ng-atomic/core';\nimport { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'templates-icon-button-menu' })\nexport class IconButtonMenuTemplateStore extends InjectableComponent {\n readonly actions = input<Action[]>([]);\n}\n\n@Component({\n selector: 'templates-icon-button-menu',\n standalone: true,\n imports: [\n MatButtonModule,\n MatIconModule,\n ],\n template: `\n @for (action of store.actions(); track action.id) {\n <button mat-icon-button color=\"basic\" (click)=\"dispatch(action)\">\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n `,\n styleUrls: ['./icon-button-menu.template.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: IconButtonMenuTemplateStore,\n inputs: ['actions'],\n },\n ]\n})\nexport class IconButtonMenuTemplate extends NgAtomicComponent {\n protected store = inject(IconButtonMenuTemplateStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAQO,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,mBAAmB,CAAA;AAA7D,IAAA,WAAA,GAAA;;AACI,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAW,EAAE,CAAC,CAAC;AACxC,KAAA;8GAFY,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAA3B,2BAA2B,GAAA,UAAA,CAAA;AAFvC,IAAA,aAAa,EAAE;AAEH,CAAA,EAAA,2BAA2B,CAEvC,CAAA;2FAFY,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAA;;AA4BjE,MAAO,sBAAuB,SAAQ,iBAAiB,CAAA;AAvB7D,IAAA,WAAA,GAAA;;AAwBY,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AACvD,KAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA3BtB,2BAA2B,EAW5B,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;GAMT,EATC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yhCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2IACf,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAkBJ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;+BACE,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,aAAa;qBACd,EACS,QAAA,EAAA,CAAA;;;;;;GAMT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,2BAA2B;4BACtC,MAAM,EAAE,CAAC,SAAS,CAAC;AACpB,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,yhCAAA,CAAA,EAAA,CAAA;;;ACjCH;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-components-templates-icon-button-menu.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/icon-button-menu/icon-button-menu.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/icon-button-menu/ng-atomic-components-templates-icon-button-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';\nimport { Action, TokenizedType } from '@ng-atomic/core';\nimport { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'templates-icon-button-menu' })\nexport class IconButtonMenuTemplateStore extends InjectableComponent {\n readonly actions = input<Action[]>([]);\n readonly bottomActions = input<Action[]>([]);\n}\n\n@Component({\n selector: 'templates-icon-button-menu',\n standalone: true,\n imports: [\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n ],\n template: `\n <div class=\"top\">\n @for (action of store.actions(); track $index) {\n <button\n mat-icon-button\n [color]=\"action?.color\"\n (click)=\"dispatch(action)\"\n #tooltip=\"matTooltip\"\n [matTooltip]=\"action.name\"\n matTooltipPosition=\"right\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </div>\n <div class=\"bottom\">\n @for (action of store.bottomActions(); track $index) {\n <button\n mat-icon-button\n [color]=\"action?.color\"\n (click)=\"dispatch(action)\"\n #tooltip=\"matTooltip\"\n [matTooltip]=\"action.name\"\n matTooltipPosition=\"right\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </div>\n `,\n styleUrls: ['./icon-button-menu.template.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: IconButtonMenuTemplateStore,\n inputs: [\n 'actions',\n 'bottomActions',\n ],\n },\n ]\n})\nexport class IconButtonMenuTemplate extends NgAtomicComponent {\n protected store = inject(IconButtonMenuTemplateStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ class MenuTemplate extends NgAtomicComponent {
37
37
  />
38
38
  </div>
39
39
  <organisms-menu-footer injectable/>
40
- `, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-pfTd: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-pfTd: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-pfTd: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-pfTd: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-pfTd: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-pfTd: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-pfTd: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-pfTd: var(--width);--height: 100%;--height-SCOPED-IN-menu-pfTd: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-pfTd);height:var(--height-SCOPED-IN-menu-pfTd);color:var(--on-background-color-SCOPED-IN-menu-pfTd);background-color:var(--background-color-SCOPED-IN-menu-pfTd);transition:background-color .5s ease-in-out,width .5s}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-pfTd);--background-color: var(--background-color-SCOPED-IN-menu-pfTd);--surface-color: var(--surface-color-SCOPED-IN-menu-pfTd);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-pfTd);--on-background-color: var(--on-background-color-SCOPED-IN-menu-pfTd);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-pfTd)}\n"], dependencies: [{ kind: "directive", type: MenuHeaderOrganismStore, selector: "organisms-menu-header", inputs: ["title"] }, { kind: "directive", type: NavigationListOrganismStore, selector: "organisms-navigation-list", inputs: ["actions", "type"] }, { kind: "directive", type: MenuFooterOrganismStore, selector: "organisms-menu-footer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ `, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-Emnl: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-Emnl: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-Emnl: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-Emnl: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-Emnl: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-Emnl: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-Emnl: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-Emnl: var(--width);--height: 100%;--height-SCOPED-IN-menu-Emnl: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-Emnl);height:var(--height-SCOPED-IN-menu-Emnl);color:var(--on-background-color-SCOPED-IN-menu-Emnl);background-color:var(--background-color-SCOPED-IN-menu-Emnl);transition:background-color .5s ease-in-out,width .5s}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-Emnl);--background-color: var(--background-color-SCOPED-IN-menu-Emnl);--surface-color: var(--surface-color-SCOPED-IN-menu-Emnl);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-Emnl);--on-background-color: var(--on-background-color-SCOPED-IN-menu-Emnl);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-Emnl)}\n"], dependencies: [{ kind: "directive", type: MenuHeaderOrganismStore, selector: "organisms-menu-header", inputs: ["title"] }, { kind: "directive", type: NavigationListOrganismStore, selector: "organisms-navigation-list", inputs: ["actions", "type"] }, { kind: "directive", type: MenuFooterOrganismStore, selector: "organisms-menu-footer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenuTemplate, decorators: [{
43
43
  type: Component,
@@ -59,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
59
59
  directive: MenuTemplateStore,
60
60
  inputs: ['actions', 'title'],
61
61
  },
62
- ], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-pfTd: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-pfTd: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-pfTd: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-pfTd: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-pfTd: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-pfTd: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-pfTd: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-pfTd: var(--width);--height: 100%;--height-SCOPED-IN-menu-pfTd: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-pfTd);height:var(--height-SCOPED-IN-menu-pfTd);color:var(--on-background-color-SCOPED-IN-menu-pfTd);background-color:var(--background-color-SCOPED-IN-menu-pfTd);transition:background-color .5s ease-in-out,width .5s}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-pfTd);--background-color: var(--background-color-SCOPED-IN-menu-pfTd);--surface-color: var(--surface-color-SCOPED-IN-menu-pfTd);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-pfTd);--on-background-color: var(--on-background-color-SCOPED-IN-menu-pfTd);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-pfTd)}\n"] }]
62
+ ], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-Emnl: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-Emnl: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-Emnl: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-Emnl: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-Emnl: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-Emnl: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-Emnl: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-Emnl: var(--width);--height: 100%;--height-SCOPED-IN-menu-Emnl: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-Emnl);height:var(--height-SCOPED-IN-menu-Emnl);color:var(--on-background-color-SCOPED-IN-menu-Emnl);background-color:var(--background-color-SCOPED-IN-menu-Emnl);transition:background-color .5s ease-in-out,width .5s}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-Emnl);--background-color: var(--background-color-SCOPED-IN-menu-Emnl);--surface-color: var(--surface-color-SCOPED-IN-menu-Emnl);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-Emnl);--on-background-color: var(--on-background-color-SCOPED-IN-menu-Emnl);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-Emnl)}\n"] }]
63
63
  }] });
64
64
 
65
65
  /**
@@ -1,70 +1,82 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { input, Directive, inject, viewChild, effect, Component, ChangeDetectionStrategy } from '@angular/core';
4
3
  import { MessagesSectionOrganism } from '@ng-atomic/components/organisms/messages-section';
5
4
  import { MessageInputSectionOrganism } from '@ng-atomic/components/organisms/message-input-section';
6
5
  import { TextareaSectionOrganism } from '@ng-atomic/components/organisms/textarea-section';
7
6
  import { ScrollFrame } from '@ng-atomic/components/frames/scroll-v2';
8
7
  import { NavigatorOrganism } from '@ng-atomic/components/organisms/navigator';
9
8
  import { FormGroup, FormControl } from '@angular/forms';
9
+ import { NgAtomicComponent } from '@ng-atomic/core';
10
10
 
11
- class MessagesTemplate {
11
+ class MessagesTemplateStore {
12
12
  constructor() {
13
- this.title = 'title';
14
- this.navStartActions = [];
15
- this.navEndActions = [];
16
- this.messages = [];
17
- this.actions = [];
18
- this.placeholder = 'メッセージを入力';
19
- this.isMessageCreating = false;
20
- this.form = new FormGroup({
13
+ this.title = input('title');
14
+ this.navStartActions = input([]);
15
+ this.navEndActions = input([]);
16
+ this.messages = input([]);
17
+ this.actions = input([]);
18
+ this.placeholder = input('メッセージを入力');
19
+ this.isMessageCreating = input(false);
20
+ this.form = input(new FormGroup({
21
21
  name: new FormControl(''),
22
22
  description: new FormControl(''),
23
23
  message: new FormControl(''),
24
+ }));
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MessagesTemplateStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: MessagesTemplateStore, isStandalone: true, inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isMessageCreating: { classPropertyName: "isMessageCreating", publicName: "isMessageCreating", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MessagesTemplateStore, decorators: [{
30
+ type: Directive,
31
+ args: [{ standalone: true }]
32
+ }] });
33
+ class MessagesTemplate extends NgAtomicComponent {
34
+ constructor() {
35
+ super();
36
+ this.store = inject(MessagesTemplateStore);
37
+ this.scroll = viewChild.required(ScrollFrame);
38
+ effect(() => {
39
+ if (this.store.messages() && this.scroll()?.isScrollBottom()) {
40
+ setTimeout(() => this.scroll()?.scrollToBottom());
41
+ }
24
42
  });
25
- this.action = new EventEmitter();
26
43
  }
27
44
  ngAfterViewInit() {
28
- this.scrollFrame.scrollToBottom();
29
- }
30
- ngOnChanges(changes) {
31
- if (changes.messages && this.scrollFrame.isScrollBottom()) {
32
- setTimeout(() => this.scrollFrame.scrollToBottom());
33
- }
45
+ this.scroll()?.scrollToBottom();
34
46
  }
35
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MessagesTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MessagesTemplate, isStandalone: true, selector: "templates-messages", inputs: { title: "title", navStartActions: "navStartActions", navEndActions: "navEndActions", messages: "messages", actions: "actions", placeholder: "placeholder", isMessageCreating: "isMessageCreating", form: "form" }, outputs: { action: "action" }, host: { classAttribute: "template" }, viewQueries: [{ propertyName: "scrollFrame", first: true, predicate: ScrollFrame, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.1.2", type: MessagesTemplate, isStandalone: true, selector: "templates-messages", host: { classAttribute: "template" }, viewQueries: [{ propertyName: "scroll", first: true, predicate: ScrollFrame, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: MessagesTemplateStore, inputs: ["title", "title", "navStartActions", "navStartActions", "navEndActions", "navEndActions", "messages", "messages", "actions", "actions", "placeholder", "placeholder", "isMessageCreating", "isMessageCreating", "form", "form"] }], ngImport: i0, template: `
37
49
  <frames-scroll>
38
50
  <organisms-navigator
39
- [startActions]="navStartActions"
40
- [endActions]="navEndActions"
41
- (action)="action.emit($event)"
51
+ [startActions]="store.navStartActions()"
52
+ [endActions]="store.navEndActions()"
53
+ (action)="dispatch($event)"
42
54
  top
43
55
  >
44
- <span> {{ title }} </span>
56
+ <span> {{ store.title() }} </span>
45
57
  </organisms-navigator>
46
58
  <organisms-messages-section
47
- [isMessageCreating]="isMessageCreating"
48
- [messages]="messages"
59
+ [isMessageCreating]="store.isMessageCreating()"
60
+ [messages]="store.messages()"
61
+ (action)="dispatch($event)"
49
62
  contents
50
63
  />
51
64
  <organisms-textarea-section
52
- [actions]="actions"
53
- [control]="form.get(['message'])"
65
+ [actions]="store.actions()"
66
+ [control]="store.form().get(['message'])"
54
67
  [rows]="3"
55
68
  [floatLabel]="'always'"
56
69
  [label]="'入力'"
57
- [placeholder]="placeholder"
58
- (action)="action.emit($event)"
70
+ [placeholder]="store.placeholder()"
71
+ (action)="dispatch($event)"
59
72
  bottom
60
73
  />
61
74
  </frames-scroll>
62
- `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block}:host .message{display:block;height:100%;position:relative}:host .message organisms-textarea-section{position:absolute;overflow:hidden;--vertical-padding: 0px;width:100%;height:80px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MessagesSectionOrganism, selector: "organisms-messages-section", inputs: ["messages", "isMessageCreating"] }, { kind: "component", type: TextareaSectionOrganism, selector: "organisms-textarea-section" }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "component", type: NavigatorOrganism, selector: "organisms-navigator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block}:host .message{display:block;height:100%;position:relative}:host .message organisms-textarea-section{position:absolute;overflow:hidden;--vertical-padding: 0px;width:100%;height:80px}\n"], dependencies: [{ kind: "component", type: MessagesSectionOrganism, selector: "organisms-messages-section", inputs: ["messages", "isMessageCreating"] }, { kind: "component", type: TextareaSectionOrganism, selector: "organisms-textarea-section" }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "component", type: NavigatorOrganism, selector: "organisms-navigator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
76
  }
64
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MessagesTemplate, decorators: [{
65
78
  type: Component,
66
79
  args: [{ selector: 'templates-messages', standalone: true, imports: [
67
- CommonModule,
68
80
  MessagesSectionOrganism,
69
81
  MessageInputSectionOrganism,
70
82
  TextareaSectionOrganism,
@@ -73,56 +85,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
73
85
  ], template: `
74
86
  <frames-scroll>
75
87
  <organisms-navigator
76
- [startActions]="navStartActions"
77
- [endActions]="navEndActions"
78
- (action)="action.emit($event)"
88
+ [startActions]="store.navStartActions()"
89
+ [endActions]="store.navEndActions()"
90
+ (action)="dispatch($event)"
79
91
  top
80
92
  >
81
- <span> {{ title }} </span>
93
+ <span> {{ store.title() }} </span>
82
94
  </organisms-navigator>
83
95
  <organisms-messages-section
84
- [isMessageCreating]="isMessageCreating"
85
- [messages]="messages"
96
+ [isMessageCreating]="store.isMessageCreating()"
97
+ [messages]="store.messages()"
98
+ (action)="dispatch($event)"
86
99
  contents
87
100
  />
88
101
  <organisms-textarea-section
89
- [actions]="actions"
90
- [control]="form.get(['message'])"
102
+ [actions]="store.actions()"
103
+ [control]="store.form().get(['message'])"
91
104
  [rows]="3"
92
105
  [floatLabel]="'always'"
93
106
  [label]="'入力'"
94
- [placeholder]="placeholder"
95
- (action)="action.emit($event)"
107
+ [placeholder]="store.placeholder()"
108
+ (action)="dispatch($event)"
96
109
  bottom
97
110
  />
98
111
  </frames-scroll>
99
- `, host: { class: 'template' }, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{width:100%;height:100%;background:#fff;display:block}:host .message{display:block;height:100%;position:relative}:host .message organisms-textarea-section{position:absolute;overflow:hidden;--vertical-padding: 0px;width:100%;height:80px}\n"] }]
100
- }], propDecorators: { title: [{
101
- type: Input
102
- }], navStartActions: [{
103
- type: Input
104
- }], navEndActions: [{
105
- type: Input
106
- }], messages: [{
107
- type: Input
108
- }], actions: [{
109
- type: Input
110
- }], placeholder: [{
111
- type: Input
112
- }], isMessageCreating: [{
113
- type: Input
114
- }], form: [{
115
- type: Input
116
- }], action: [{
117
- type: Output
118
- }], scrollFrame: [{
119
- type: ViewChild,
120
- args: [ScrollFrame, { static: true }]
121
- }] } });
112
+ `, host: { class: 'template' }, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
113
+ {
114
+ directive: MessagesTemplateStore,
115
+ inputs: [
116
+ 'title',
117
+ 'navStartActions',
118
+ 'navEndActions',
119
+ 'messages',
120
+ 'actions',
121
+ 'placeholder',
122
+ 'isMessageCreating',
123
+ 'form',
124
+ ],
125
+ },
126
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block}:host .message{display:block;height:100%;position:relative}:host .message organisms-textarea-section{position:absolute;overflow:hidden;--vertical-padding: 0px;width:100%;height:80px}\n"] }]
127
+ }], ctorParameters: () => [] });
122
128
 
123
129
  /**
124
130
  * Generated bundle index. Do not edit.
125
131
  */
126
132
 
127
- export { MessagesTemplate };
133
+ export { MessagesTemplate, MessagesTemplateStore };
128
134
  //# sourceMappingURL=ng-atomic-components-templates-messages.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-templates-messages.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/messages/messages.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/messages/ng-atomic-components-templates-messages.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, SimpleChanges, ViewChild, AfterViewInit, OnChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MessagesSectionOrganism } from '@ng-atomic/components/organisms/messages-section';\nimport { MessageInputSectionOrganism } from '@ng-atomic/components/organisms/message-input-section';\nimport { TextareaSectionOrganism } from '@ng-atomic/components/organisms/textarea-section';\nimport { ScrollFrame } from '@ng-atomic/components/frames/scroll-v2';\nimport { NavigatorOrganism } from '@ng-atomic/components/organisms/navigator';\nimport { FormGroup } from '@angular/forms';\nimport { FormControl } from '@angular/forms';\nimport { Action } from '@ng-atomic/core';\n\n\n@Component({\n selector: 'templates-messages',\n standalone: true,\n imports: [\n CommonModule,\n MessagesSectionOrganism,\n MessageInputSectionOrganism,\n TextareaSectionOrganism,\n ScrollFrame,\n NavigatorOrganism,\n ],\n template: `\n <frames-scroll>\n <organisms-navigator\n [startActions]=\"navStartActions\"\n [endActions]=\"navEndActions\"\n (action)=\"action.emit($event)\"\n top\n >\n <span> {{ title }} </span>\n </organisms-navigator>\n <organisms-messages-section\n [isMessageCreating]=\"isMessageCreating\"\n [messages]=\"messages\"\n contents\n />\n <organisms-textarea-section\n [actions]=\"actions\"\n [control]=\"form.get(['message'])\"\n [rows]=\"3\"\n [floatLabel]=\"'always'\"\n [label]=\"'入力'\"\n [placeholder]=\"placeholder\"\n (action)=\"action.emit($event)\"\n bottom\n />\n </frames-scroll>\n `,\n styleUrls: ['./messages.template.scss'],\n host: { class: 'template' },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MessagesTemplate implements AfterViewInit, OnChanges {\n @Input() title = 'title';\n @Input() navStartActions: Action[] = [];\n @Input() navEndActions: Action[] = [];\n @Input() messages: {role: string, content: string}[] = [];\n @Input() actions: Action[] = [];\n @Input() placeholder = 'メッセージを入力';\n @Input() isMessageCreating: false | string = false;\n\n @Input()\n form = new FormGroup({\n name: new FormControl(''),\n description: new FormControl(''),\n message: new FormControl(''),\n });\n\n @Output() action = new EventEmitter<Action>();\n\n @ViewChild(ScrollFrame, {static: true})\n scrollFrame: ScrollFrame;\n\n ngAfterViewInit() {\n this.scrollFrame.scrollToBottom();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.messages && this.scrollFrame.isScrollBottom()) {\n setTimeout(() => this.scrollFrame.scrollToBottom());\n }\n }\n\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-templates-messages.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/templates/messages/messages.template.ts","../../../../../packages/@ng-atomic/components/src/lib/templates/messages/ng-atomic-components-templates-messages.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, AfterViewInit, OnChanges, Directive, input, inject, effect, viewChild } from '@angular/core';\nimport { MessagesSectionOrganism } from '@ng-atomic/components/organisms/messages-section';\nimport { MessageInputSectionOrganism } from '@ng-atomic/components/organisms/message-input-section';\nimport { TextareaSectionOrganism } from '@ng-atomic/components/organisms/textarea-section';\nimport { ScrollFrame } from '@ng-atomic/components/frames/scroll-v2';\nimport { NavigatorOrganism } from '@ng-atomic/components/organisms/navigator';\nimport { FormGroup } from '@angular/forms';\nimport { FormControl } from '@angular/forms';\nimport { Action, NgAtomicComponent } from '@ng-atomic/core';\n\n@Directive({ standalone: true })\nexport class MessagesTemplateStore {\n readonly title = input('title');\n readonly navStartActions = input<Action[]>([]);\n readonly navEndActions = input<Action[]>([]);\n readonly messages = input<{role: string, content: string}[]>([]);\n readonly actions = input<Action[]>([]);\n readonly placeholder = input('メッセージを入力');\n readonly isMessageCreating = input<false | string>(false);\n readonly form = input(new FormGroup({\n name: new FormControl(''),\n description: new FormControl(''),\n message: new FormControl(''),\n }));\n}\n\n@Component({\n selector: 'templates-messages',\n standalone: true,\n imports: [\n MessagesSectionOrganism,\n MessageInputSectionOrganism,\n TextareaSectionOrganism,\n ScrollFrame,\n NavigatorOrganism,\n ],\n template: `\n <frames-scroll>\n <organisms-navigator\n [startActions]=\"store.navStartActions()\"\n [endActions]=\"store.navEndActions()\"\n (action)=\"dispatch($event)\"\n top\n >\n <span> {{ store.title() }} </span>\n </organisms-navigator>\n <organisms-messages-section\n [isMessageCreating]=\"store.isMessageCreating()\"\n [messages]=\"store.messages()\"\n (action)=\"dispatch($event)\"\n contents\n />\n <organisms-textarea-section\n [actions]=\"store.actions()\"\n [control]=\"store.form().get(['message'])\"\n [rows]=\"3\"\n [floatLabel]=\"'always'\"\n [label]=\"'入力'\"\n [placeholder]=\"store.placeholder()\"\n (action)=\"dispatch($event)\"\n bottom\n />\n </frames-scroll>\n `,\n styleUrls: ['./messages.template.scss'],\n host: { class: 'template' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: MessagesTemplateStore,\n inputs: [\n 'title',\n 'navStartActions',\n 'navEndActions',\n 'messages',\n 'actions',\n 'placeholder',\n 'isMessageCreating',\n 'form',\n ],\n },\n ]\n})\nexport class MessagesTemplate extends NgAtomicComponent implements AfterViewInit, OnChanges {\n protected readonly store = inject(MessagesTemplateStore);\n readonly scroll = viewChild.required(ScrollFrame);\n\n constructor() {\n super();\n effect(() => {\n if (this.store.messages() && this.scroll()?.isScrollBottom()) {\n setTimeout(() => this.scroll()?.scrollToBottom());\n }\n });\n }\n\n ngAfterViewInit() {\n this.scroll()?.scrollToBottom();\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}