@ng-atomic/components 18.2.0 → 18.4.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 (302) hide show
  1. package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +3 -3
  2. package/components.module.d.ts +6 -1
  3. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  4. package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +77 -114
  5. package/esm2022/components.module.mjs +7 -3
  6. package/esm2022/extras/editor/editor.component.mjs +78 -46
  7. package/esm2022/frames/app/app.frame.mjs +130 -70
  8. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +29 -7
  9. package/esm2022/frames/columns/columns.frame.mjs +2 -2
  10. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  11. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  12. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  13. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  14. package/esm2022/frames/frames.module.mjs +3 -3
  15. package/esm2022/frames/line-up/line-up.animations.mjs +3 -7
  16. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  17. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  18. package/esm2022/frames/progress-bar/index.mjs +2 -0
  19. package/esm2022/frames/progress-bar/ng-atomic-components-frames-progress-bar.mjs +5 -0
  20. package/esm2022/frames/progress-bar/progress-bar.frame.mjs +53 -0
  21. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +96 -41
  22. package/esm2022/frames/scroll/scroll.frame.mjs +32 -14
  23. package/esm2022/frames/scroll-v2/index.mjs +2 -2
  24. package/esm2022/frames/side-app/index.mjs +2 -0
  25. package/esm2022/frames/side-app/ng-atomic-components-frames-side-app.mjs +5 -0
  26. package/esm2022/frames/side-app/side-app.frame.mjs +74 -0
  27. package/esm2022/frames/side-nav/side-nav.frame.mjs +27 -21
  28. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  29. package/esm2022/frames/tabs/tabs.frame.mjs +13 -7
  30. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +11 -18
  31. package/esm2022/molecules/action-input-field/action-input-field.molecule.mjs +2 -2
  32. package/esm2022/molecules/actions-column/actions-column.molecule.mjs +13 -7
  33. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -21
  34. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  35. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  36. package/esm2022/molecules/file-input-field/file-input-field.molecule.mjs +2 -2
  37. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  38. package/esm2022/molecules/list-item/index.mjs +2 -0
  39. package/esm2022/molecules/list-item/list-item.molecule.mjs +198 -0
  40. package/esm2022/molecules/list-item/ng-atomic-components-molecules-list-item.mjs +5 -0
  41. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  42. package/esm2022/molecules/molecules.module.mjs +4 -1
  43. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
  44. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +9 -5
  45. package/esm2022/molecules/smart-column/smart-column.molecule.mjs +129 -43
  46. package/esm2022/molecules/tree-column/tree-column.molecule.mjs +37 -25
  47. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  48. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  49. package/esm2022/organisms/agreement-input-section/agreement-input-section.organism.mjs +3 -3
  50. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  52. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +4 -4
  53. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +4 -4
  54. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  55. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  56. package/esm2022/organisms/filters-section/filters-section.organism.mjs +5 -5
  57. package/esm2022/organisms/graphql-editor/graphql-editor.organism.mjs +1 -1
  58. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  59. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  60. package/esm2022/{sheets/actions → organisms/list}/index.mjs +2 -2
  61. package/esm2022/organisms/list/list.organism.mjs +161 -0
  62. package/esm2022/{sheets/actions/ng-atomic-components-sheets-actions.mjs → organisms/list/ng-atomic-components-organisms-list.mjs} +1 -1
  63. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  64. package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
  65. package/esm2022/organisms/mermaid-section/mermaid-section.organism.mjs +39 -33
  66. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  67. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
  68. package/esm2022/organisms/navigator/navigator.organism.mjs +49 -19
  69. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  70. package/esm2022/organisms/organisms.module.mjs +5 -5
  71. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  72. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  73. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +4 -4
  74. package/esm2022/organisms/selection-list/selection-list.organism.mjs +1 -1
  75. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  76. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  77. package/esm2022/organisms/table/index.mjs +2 -1
  78. package/esm2022/organisms/table/table.helpers.mjs +4 -4
  79. package/esm2022/organisms/table/table.organism.mjs +152 -141
  80. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +4 -4
  81. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  82. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  83. package/esm2022/organisms/tree-list/index.mjs +2 -0
  84. package/esm2022/organisms/tree-list/ng-atomic-components-organisms-tree-list.mjs +5 -0
  85. package/esm2022/organisms/tree-list/tree-list.organism.mjs +125 -0
  86. package/esm2022/pages/_index/index.page.mjs +169 -62
  87. package/esm2022/pages/columns/columns.page.mjs +10 -9
  88. package/esm2022/pages/form/form.page.mjs +27 -12
  89. package/esm2022/pages/terms/terms.page.mjs +2 -2
  90. package/esm2022/templates/_index/index.template.mjs +276 -155
  91. package/esm2022/templates/background/background.template.mjs +2 -2
  92. package/esm2022/templates/code-editor/code-editor.template.mjs +52 -15
  93. package/esm2022/templates/columns/columns.template.mjs +6 -4
  94. package/esm2022/templates/entrance/entrance.template.mjs +12 -11
  95. package/esm2022/templates/form/form.builder.mjs +93 -71
  96. package/esm2022/templates/form/form.template.mjs +47 -28
  97. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +69 -16
  98. package/esm2022/templates/menu/menu.template.mjs +2 -2
  99. package/esm2022/templates/messages/messages.template.mjs +71 -65
  100. package/esm2022/templates/selection/selection.template.mjs +2 -2
  101. package/esm2022/templates/settings/settings.template.mjs +2 -2
  102. package/extras/editor/editor.component.d.ts +19 -10
  103. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +76 -113
  105. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-components-extras-editor.mjs +79 -47
  107. package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
  108. package/fesm2022/ng-atomic-components-frames-app.mjs +129 -69
  109. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +29 -7
  111. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  114. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-frames-line-up.mjs +4 -8
  118. package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
  119. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  120. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +60 -0
  121. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -0
  122. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +96 -41
  123. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +1 -48
  125. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-components-frames-scroll.mjs +31 -13
  127. package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-components-frames-side-app.mjs +81 -0
  129. package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -0
  130. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +26 -20
  131. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  133. package/fesm2022/ng-atomic-components-frames-tabs.mjs +12 -6
  134. package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
  135. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +10 -17
  136. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
  137. package/fesm2022/ng-atomic-components-frames.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +1 -1
  140. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
  141. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +12 -6
  142. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -21
  144. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  145. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  146. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  147. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +1 -1
  148. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
  149. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  150. package/fesm2022/ng-atomic-components-molecules-list-item.mjs +203 -0
  151. package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -0
  152. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  153. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  154. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +8 -4
  155. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
  156. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +128 -43
  157. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
  158. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +36 -24
  159. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
  160. package/fesm2022/ng-atomic-components-molecules.mjs +3 -0
  161. package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
  162. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  163. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  164. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +2 -2
  165. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
  166. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  167. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  168. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +3 -3
  169. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
  170. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +3 -3
  171. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
  172. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  173. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  174. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +4 -4
  175. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
  176. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +1 -1
  177. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
  178. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  179. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  180. package/fesm2022/ng-atomic-components-organisms-list.mjs +166 -0
  181. package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -0
  182. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  183. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  184. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +38 -32
  185. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
  186. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  187. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
  188. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +48 -18
  189. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  190. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  191. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
  192. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  193. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  194. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
  195. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +3 -3
  196. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
  197. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +1 -1
  198. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
  199. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  200. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  201. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  202. package/fesm2022/ng-atomic-components-organisms-table.mjs +156 -145
  203. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  204. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +3 -3
  205. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
  206. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  207. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
  208. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  209. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +132 -0
  210. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -0
  211. package/fesm2022/ng-atomic-components-organisms.mjs +4 -4
  212. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  213. package/fesm2022/ng-atomic-components-pages-_index.mjs +168 -62
  214. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  215. package/fesm2022/ng-atomic-components-pages-columns.mjs +9 -8
  216. package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
  217. package/fesm2022/ng-atomic-components-pages-form.mjs +26 -11
  218. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  219. package/fesm2022/ng-atomic-components-pages-terms.mjs +1 -1
  220. package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
  221. package/fesm2022/ng-atomic-components-templates-_index.mjs +276 -155
  222. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  223. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  224. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +51 -14
  225. package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
  226. package/fesm2022/ng-atomic-components-templates-columns.mjs +5 -3
  227. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
  228. package/fesm2022/ng-atomic-components-templates-entrance.mjs +11 -10
  229. package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
  230. package/fesm2022/ng-atomic-components-templates-form.mjs +139 -99
  231. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  232. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +68 -15
  233. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
  234. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  235. package/fesm2022/ng-atomic-components-templates-messages.mjs +71 -65
  236. package/fesm2022/ng-atomic-components-templates-messages.mjs.map +1 -1
  237. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  238. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  239. package/fesm2022/ng-atomic-components.mjs +7 -3
  240. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  241. package/frames/app/app.frame.d.ts +13 -1
  242. package/frames/auto-layout/auto-layout.frame.d.ts +7 -1
  243. package/frames/progress-bar/index.d.ts +1 -0
  244. package/frames/progress-bar/progress-bar.frame.d.ts +14 -0
  245. package/frames/router-outlet/router-outlet.frame.d.ts +20 -9
  246. package/frames/scroll/scroll.frame.d.ts +5 -1
  247. package/frames/scroll-v2/index.d.ts +1 -1
  248. package/frames/side-app/index.d.ts +1 -0
  249. package/frames/side-app/side-app.frame.d.ts +20 -0
  250. package/frames/side-nav/side-nav.frame.d.ts +6 -2
  251. package/frames/tabs/tabs.frame.d.ts +2 -1
  252. package/frames/vertical-hide/vertical-hide.frame.d.ts +2 -2
  253. package/molecules/actions-column/actions-column.molecule.d.ts +3 -2
  254. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +12 -4
  255. package/molecules/list-item/index.d.ts +1 -0
  256. package/molecules/list-item/list-item.molecule.d.ts +50 -0
  257. package/molecules/molecules.module.d.ts +3 -0
  258. package/molecules/smart-column/smart-column.molecule.d.ts +34 -9
  259. package/molecules/tree-column/tree-column.molecule.d.ts +6 -2
  260. package/organisms/list/index.d.ts +1 -0
  261. package/organisms/{smart-list/smart-list.organism.d.ts → list/list.organism.d.ts} +11 -11
  262. package/organisms/mermaid-section/mermaid-section.organism.d.ts +10 -10
  263. package/organisms/navigator/navigator.organism.d.ts +8 -6
  264. package/organisms/organisms.module.d.ts +1 -1
  265. package/organisms/table/index.d.ts +1 -0
  266. package/organisms/table/table.helpers.d.ts +1 -1
  267. package/organisms/table/table.organism.d.ts +32 -1
  268. package/organisms/tree-list/index.d.ts +1 -0
  269. package/organisms/tree-list/tree-list.organism.d.ts +33 -0
  270. package/package.json +37 -25
  271. package/pages/_index/index.page.d.ts +72 -43
  272. package/pages/columns/columns.page.d.ts +5 -2
  273. package/pages/form/form.page.d.ts +11 -2
  274. package/templates/_index/index.template.d.ts +40 -11
  275. package/templates/code-editor/code-editor.template.d.ts +6 -3
  276. package/templates/entrance/entrance.template.d.ts +1 -1
  277. package/templates/form/form.builder.d.ts +10 -3
  278. package/templates/form/form.template.d.ts +2 -1
  279. package/templates/icon-button-menu/icon-button-menu.template.d.ts +3 -2
  280. package/templates/messages/messages.template.d.ts +21 -17
  281. package/esm2022/frames/scroll-v2/scroll.frame.mjs +0 -46
  282. package/esm2022/organisms/smart-list/index.mjs +0 -2
  283. package/esm2022/organisms/smart-list/ng-atomic-components-organisms-smart-list.mjs +0 -5
  284. package/esm2022/organisms/smart-list/smart-list.organism.mjs +0 -218
  285. package/esm2022/sheets/actions/actions.sheet.mjs +0 -45
  286. package/esm2022/sheets/index.mjs +0 -3
  287. package/esm2022/sheets/ng-atomic-components-sheets.mjs +0 -5
  288. package/esm2022/sheets/sheets.module.mjs +0 -25
  289. package/esm2022/sheets/sheets.service.mjs +0 -20
  290. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +0 -223
  291. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +0 -1
  292. package/fesm2022/ng-atomic-components-sheets-actions.mjs +0 -52
  293. package/fesm2022/ng-atomic-components-sheets-actions.mjs.map +0 -1
  294. package/fesm2022/ng-atomic-components-sheets.mjs +0 -48
  295. package/fesm2022/ng-atomic-components-sheets.mjs.map +0 -1
  296. package/frames/scroll-v2/scroll.frame.d.ts +0 -9
  297. package/organisms/smart-list/index.d.ts +0 -1
  298. package/sheets/actions/actions.sheet.d.ts +0 -9
  299. package/sheets/actions/index.d.ts +0 -1
  300. package/sheets/index.d.ts +0 -2
  301. package/sheets/sheets.module.d.ts +0 -11
  302. package/sheets/sheets.service.d.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-components-frames-progress-bar.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/progress-bar/progress-bar.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/progress-bar/ng-atomic-components-frames-progress-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';\nimport { MatProgressBarModule, ProgressBarMode } from '@angular/material/progress-bar';\nimport { NgAtomicComponent } from '@ng-atomic/core';\n\n@Directive({\n standalone: true,\n selector: 'frames-progress-bar',\n})\nexport class ProgressBarFrameStore {\n readonly mode = input<ProgressBarMode>('determinate');\n readonly isProgress = input<boolean>(false);\n}\n\n@Component({\n selector: 'frames-progress-bar',\n standalone: true,\n imports: [\n MatProgressBarModule,\n ],\n template: `\n @if (store.isProgress()) {\n <mat-progress-bar [mode]=\"store.mode()\" [color]=\"'accent'\"/>\n }\n <ng-content />\n `,\n styleUrl: './progress-bar.frame.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ProgressBarFrameStore,\n inputs: [\n 'mode',\n 'isProgress',\n ],\n }\n ]\n})\nexport class ProgressBarFrame extends NgAtomicComponent {\n protected readonly store = inject(ProgressBarFrameStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKW,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAkB,aAAa,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAC7C,KAAA;8GAHY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,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,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;;AA8BK,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAxBvD,IAAA,WAAA,GAAA;;AAyBqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC1D,KAAA;8GAFY,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA7BhB,qBAAqB,EAWtB,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAPC,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAoBX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxB5B,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,oBAAoB;qBACrB,EACS,QAAA,EAAA,CAAA;;;;;GAKT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,qBAAqB;AAChC,4BAAA,MAAM,EAAE;gCACN,MAAM;gCACN,YAAY;AACb,6BAAA;AACF,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,CAAA;;;ACnCH;;AAEG;;;;"}
@@ -1,17 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, Directive, inject, viewChild, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { input, Directive, inject, EventEmitter, viewChild, Component, ChangeDetectionStrategy, Output, InjectionToken, signal, runInInjectionContext } from '@angular/core';
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
4
  import { OverlayFrame } from '@ng-atomic/components/frames/overlay';
5
5
  import { LineUpFrame } from '@ng-atomic/components/frames/line-up';
6
6
  import { PRIMARY_OUTLET, RouterOutlet } from '@angular/router';
7
7
  import { makeConfig } from '@ng-atomic/common/services/ui';
8
8
  import { InjectableComponent, _computed, NgAtomicComponent } from '@ng-atomic/core';
9
- import { of, combineLatest, startWith, map } from 'rxjs';
10
- import { computedAsync } from 'ngxtension/computed-async';
9
+ import { switchMap, combineLatest, startWith, map, distinctUntilChanged, of, delay } from 'rxjs';
10
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
11
11
 
12
- function isBlankRoute(outlet) {
13
- return !!(outlet?.activatedRouteData) && !(outlet.activatedRouteData?.['isBlank']);
14
- }
15
12
  class RouterOutletFrameStore extends InjectableComponent {
16
13
  constructor() {
17
14
  super(...arguments);
@@ -19,6 +16,7 @@ class RouterOutletFrameStore extends InjectableComponent {
19
16
  this.frame = input(_computed(() => this.config().frame));
20
17
  this.name = input(_computed(() => this.config().name, { equal: (a, b) => a === b }));
21
18
  this.isActivated = input(_computed(() => this.config().isActivated));
19
+ this.skip = input(false);
22
20
  }
23
21
  static { this.Config = makeConfig(() => {
24
22
  const getFrame = (breakpoint) => {
@@ -31,24 +29,24 @@ class RouterOutletFrameStore extends InjectableComponent {
31
29
  return ({
32
30
  frame: getFrame(context.breakpoint),
33
31
  name: PRIMARY_OUTLET,
34
- isActivated: (outlet) => isBlankRoute(outlet),
32
+ isActivated: (outlet) => !!outlet.isActivated,
35
33
  });
36
34
  };
37
35
  }, ['components', 'frames', 'router-outlet']); }
38
- static provideExperimental() {
39
- return RouterOutletFrameStore.Config.provide(() => {
40
- return (config) => ({ ...config, isActivated: (outlet) => !!outlet.isActivated });
41
- });
42
- }
43
- static { this.provideSideAppConfig = () => {
36
+ static { this.provideSideAppConfig = (name = PRIMARY_OUTLET) => {
44
37
  return RouterOutletFrameStore.Config.provide(() => (config) => ({
45
38
  ...config,
46
- name: 'side-app',
39
+ name,
47
40
  frame: 'overlay',
48
41
  }));
49
42
  }; }
43
+ static provideDefault() {
44
+ return [
45
+ RouterOutletFrameStore.Config.provide(),
46
+ ];
47
+ }
50
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrameStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
51
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RouterOutletFrameStore, isStandalone: true, selector: "frames-router-outlet", inputs: { frame: { classPropertyName: "frame", publicName: "frame", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, isActivated: { classPropertyName: "isActivated", publicName: "isActivated", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RouterOutletFrameStore, isStandalone: true, selector: "frames-router-outlet", inputs: { frame: { classPropertyName: "frame", publicName: "frame", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, isActivated: { classPropertyName: "isActivated", publicName: "isActivated", isSignal: true, isRequired: false, transformFunction: null }, skip: { classPropertyName: "skip", publicName: "skip", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
52
50
  }
53
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrameStore, decorators: [{
54
52
  type: Directive,
@@ -56,38 +54,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
56
54
  }] });
57
55
  class RouterOutletFrame extends NgAtomicComponent {
58
56
  constructor() {
59
- super(...arguments);
57
+ super();
60
58
  this.store = inject(RouterOutletFrameStore);
59
+ this.events = new EventEmitter();
61
60
  this.outlet = viewChild(RouterOutlet);
62
- this.isActivated = computedAsync(() => {
63
- const outlet = this.outlet();
64
- if (!outlet)
65
- return of(false);
66
- return combineLatest([
67
- outlet.activateEvents.pipe(startWith(null)),
68
- outlet.deactivateEvents.pipe(startWith(null)),
69
- ]).pipe(map(() => this.store.isActivated()(outlet)));
61
+ this.outlet$ = toObservable(this.outlet);
62
+ this.activatedEvents$ = this.outlet$.pipe(switchMap((outlet) => outlet.activateEvents));
63
+ this.hasNext$ = this.outlet$.pipe(switchMap((outlet) => combineLatest([
64
+ this.activatedEvents$.pipe(startWith(null)),
65
+ outlet.deactivateEvents.pipe(startWith(null)),
66
+ ]).pipe(map(() => this.store.isActivated()(outlet)), distinctUntilChanged())));
67
+ this.hasNext = toSignal(this.hasNext$);
68
+ this.parent = inject(RouterOutletFrame, { optional: true, skipSelf: true });
69
+ this.events.subscribe((event) => {
70
+ if (this.store.skip()) {
71
+ this.parent.events.emit(event);
72
+ }
70
73
  });
71
74
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: RouterOutletFrame, isStandalone: true, selector: "frames-router-outlet", viewQueries: [{ propertyName: "outlet", first: true, predicate: RouterOutlet, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: RouterOutletFrameStore, inputs: ["frame", "frame", "name", "name"] }], ngImport: i0, template: `
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: RouterOutletFrame, isStandalone: true, selector: "frames-router-outlet", outputs: { events: "events" }, viewQueries: [{ propertyName: "outlet", first: true, predicate: RouterOutlet, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: RouterOutletFrameStore, inputs: ["frame", "frame", "name", "name", "skip", "skip"] }], ngImport: i0, template: `
74
77
  @switch (store.frame()) {
75
78
  @case ('lineup') {
76
- <frames-line-up [hasNext]="isActivated()" [scope]="store.name()">
77
- <ng-container *ngTemplateOutlet="main" main/>
79
+ <frames-line-up [hasNext]="hasNext()" [scope]="store.name()">
80
+ @if (!store.skip()) {
81
+ <ng-container *ngTemplateOutlet="main" main/>
82
+ }
78
83
  <ng-container *ngTemplateOutlet="next" next/>
79
84
  </frames-line-up>
80
85
  }
81
86
  @default {
82
- <frames-overlay [hasNext]="isActivated()">
83
- <ng-container *ngTemplateOutlet="main" main/>
87
+ <frames-overlay [hasNext]="hasNext()">
88
+ @if (!store.skip()) {
89
+ <ng-container *ngTemplateOutlet="main" main/>
90
+ }
84
91
  <ng-container *ngTemplateOutlet="next" next/>
85
92
  </frames-overlay>
86
93
  }
87
94
  }
88
- <ng-template #main><ng-content main /></ng-template>
95
+ <ng-template #main><ng-content main/></ng-template>
89
96
  <ng-template #next><router-outlet [name]="store.name()"/></ng-template>
90
- `, isInline: true, styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-UpHz: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-UpHz: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-UpHz: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-UpHz: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-UpHz);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-UpHz);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-UpHz);--background-color: var(--background-color-SCOPED-IN-router-outlet-UpHz)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OverlayFrame, selector: "frames-overlay" }, { kind: "component", type: LineUpFrame, selector: "frames-line-up" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ `, isInline: true, styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-4kuO: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-4kuO: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-4kuO: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-4kuO: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-4kuO);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-4kuO);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-4kuO);--background-color: var(--background-color-SCOPED-IN-router-outlet-4kuO)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OverlayFrame, selector: "frames-overlay" }, { kind: "component", type: LineUpFrame, selector: "frames-line-up" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
98
  }
92
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, decorators: [{
93
100
  type: Component,
@@ -99,31 +106,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
99
106
  ], template: `
100
107
  @switch (store.frame()) {
101
108
  @case ('lineup') {
102
- <frames-line-up [hasNext]="isActivated()" [scope]="store.name()">
103
- <ng-container *ngTemplateOutlet="main" main/>
109
+ <frames-line-up [hasNext]="hasNext()" [scope]="store.name()">
110
+ @if (!store.skip()) {
111
+ <ng-container *ngTemplateOutlet="main" main/>
112
+ }
104
113
  <ng-container *ngTemplateOutlet="next" next/>
105
114
  </frames-line-up>
106
115
  }
107
116
  @default {
108
- <frames-overlay [hasNext]="isActivated()">
109
- <ng-container *ngTemplateOutlet="main" main/>
117
+ <frames-overlay [hasNext]="hasNext()">
118
+ @if (!store.skip()) {
119
+ <ng-container *ngTemplateOutlet="main" main/>
120
+ }
110
121
  <ng-container *ngTemplateOutlet="next" next/>
111
122
  </frames-overlay>
112
123
  }
113
124
  }
114
- <ng-template #main><ng-content main /></ng-template>
125
+ <ng-template #main><ng-content main/></ng-template>
115
126
  <ng-template #next><router-outlet [name]="store.name()"/></ng-template>
116
127
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
117
128
  {
118
129
  directive: RouterOutletFrameStore,
119
- inputs: ['frame', 'name'],
130
+ inputs: ['frame', 'name', 'skip'],
120
131
  },
121
- ], styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-UpHz: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-UpHz: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-UpHz: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-UpHz: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-UpHz);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-UpHz);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-UpHz);--background-color: var(--background-color-SCOPED-IN-router-outlet-UpHz)}\n"] }]
122
- }] });
132
+ ], styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-4kuO: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-4kuO: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-4kuO: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-4kuO: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-4kuO);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-4kuO);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-4kuO);--background-color: var(--background-color-SCOPED-IN-router-outlet-4kuO)}\n"] }]
133
+ }], ctorParameters: () => [], propDecorators: { events: [{
134
+ type: Output
135
+ }] } });
136
+ function InjectableSignal(name, defaultValue = null) {
137
+ return new InjectionToken(name, {
138
+ providedIn: 'root',
139
+ factory: () => signal(defaultValue),
140
+ });
141
+ }
142
+ const CURRENT_ROUTER_OUTLET = InjectableSignal('CURRENT_ROUTER_OUTLET', null);
143
+ const canDeactivateFn = (component) => {
144
+ const current = inject(CURRENT_ROUTER_OUTLET);
145
+ const frame = component?.__injector ? runInInjectionContext(component?.__injector, () => {
146
+ return inject(RouterOutletFrame, { optional: true });
147
+ }) : null;
148
+ if (frame) {
149
+ current.set(frame);
150
+ frame.events.emit('deactivated');
151
+ }
152
+ // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
153
+ return of(true).pipe(delay(0));
154
+ };
155
+ const canActivateFn = () => {
156
+ const current = inject(CURRENT_ROUTER_OUTLET);
157
+ if (current()) {
158
+ current().events.emit('activated');
159
+ }
160
+ // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
161
+ return of(true).pipe(delay(0));
162
+ };
163
+ function ngAtomicRoutes(routes) {
164
+ return routes.map(route => {
165
+ return {
166
+ ...route,
167
+ canActivate: [canActivateFn, ...(route.canActivate || [])],
168
+ canDeactivate: [canDeactivateFn, ...(route.canDeactivate || [])],
169
+ data: { preload: true, ...route.data },
170
+ // loadChildren: route?.loadChildren ? async () => {
171
+ // const module = await route?.loadChildren();
172
+ // const routes: Routes = module['default'] || module['routes'] || [];
173
+ // return ngAtomicRoutes(routes);
174
+ // } : undefined,
175
+ };
176
+ });
177
+ }
123
178
 
124
179
  /**
125
180
  * Generated bundle index. Do not edit.
126
181
  */
127
182
 
128
- export { RouterOutletFrame, RouterOutletFrameStore };
183
+ export { RouterOutletFrame, RouterOutletFrameStore, canActivateFn, canDeactivateFn, ngAtomicRoutes };
129
184
  //# sourceMappingURL=ng-atomic-components-frames-router-outlet.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-frames-router-outlet.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/router-outlet/router-outlet.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/router-outlet/ng-atomic-components-frames-router-outlet.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, inject, input, viewChild } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OverlayFrame } from '@ng-atomic/components/frames/overlay';\nimport { LineUpFrame } from '@ng-atomic/components/frames/line-up';\nimport { PRIMARY_OUTLET, RouterOutlet } from '@angular/router';\nimport { Breakpoint } from '@ng-atomic/common/services/breakpoint';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { InjectableComponent, NgAtomicComponent, _computed } from '@ng-atomic/core';\nimport { combineLatest, map, of, startWith } from 'rxjs';\nimport { computedAsync } from 'ngxtension/computed-async';\n\nfunction isBlankRoute(outlet: RouterOutlet): boolean {\n return !!(outlet?.activatedRouteData) && !(outlet.activatedRouteData?.['isBlank']);\n}\n\n@Directive({standalone: true, selector: 'frames-router-outlet'})\nexport class RouterOutletFrameStore extends InjectableComponent {\n static readonly Config = makeConfig(() => {\n const getFrame = (breakpoint: Breakpoint) => {\n switch(breakpoint) {\n case 'xSmall': return 'overlay' as 'lineup' | 'overlay';\n default: return 'lineup' as 'lineup' | 'overlay';\n }\n }\n return (context) => {\n return ({\n frame: getFrame(context.breakpoint),\n name: PRIMARY_OUTLET as string,\n isActivated: (outlet: RouterOutlet) => isBlankRoute(outlet),\n });\n }\n }, ['components', 'frames', 'router-outlet']);\n\n static provideExperimental() {\n return RouterOutletFrameStore.Config.provide(() => {\n return (config) => ({ ...config, isActivated: (outlet) => !!outlet.isActivated });\n });\n }\n\n static provideSideAppConfig = () => {\n return RouterOutletFrameStore.Config.provide(() => (config) => ({\n ...config,\n name: 'side-app',\n frame: 'overlay',\n }));\n }\n\n readonly config = RouterOutletFrameStore.Config.inject();\n readonly frame = input(_computed(() => this.config().frame));\n readonly name = input(_computed(() => this.config().name, { equal: (a, b) => a === b }));\n readonly isActivated = input(_computed(() => this.config().isActivated));\n} \n\n@Component({\n selector: 'frames-router-outlet',\n standalone: true,\n imports: [\n NgTemplateOutlet,\n OverlayFrame,\n LineUpFrame,\n RouterOutlet,\n ],\n template: `\n @switch (store.frame()) {\n @case ('lineup') {\n <frames-line-up [hasNext]=\"isActivated()\" [scope]=\"store.name()\">\n <ng-container *ngTemplateOutlet=\"main\" main/>\n <ng-container *ngTemplateOutlet=\"next\" next/>\n </frames-line-up>\n }\n @default {\n <frames-overlay [hasNext]=\"isActivated()\">\n <ng-container *ngTemplateOutlet=\"main\" main/>\n <ng-container *ngTemplateOutlet=\"next\" next/>\n </frames-overlay>\n }\n }\n <ng-template #main><ng-content main /></ng-template>\n <ng-template #next><router-outlet [name]=\"store.name()\"/></ng-template>\n `,\n styleUrls: ['./router-outlet.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: RouterOutletFrameStore,\n inputs: ['frame', 'name'],\n },\n ],\n})\nexport class RouterOutletFrame extends NgAtomicComponent {\n protected store = inject(RouterOutletFrameStore);\n readonly outlet = viewChild(RouterOutlet);\n readonly isActivated = computedAsync(() => {\n const outlet = this.outlet();\n if (!outlet) return of(false);\n return combineLatest([\n outlet.activateEvents.pipe(startWith(null)), \n outlet.deactivateEvents.pipe(startWith(null)),\n ]).pipe(\n map(() => this.store.isActivated()(outlet)),\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-frames-router-outlet.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/router-outlet/router-outlet.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/router-outlet/ng-atomic-components-frames-router-outlet.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, EventEmitter, inject, Injectable, InjectionToken, input, Output, runInInjectionContext, Signal, signal, viewChild, WritableSignal } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OverlayFrame } from '@ng-atomic/components/frames/overlay';\nimport { LineUpFrame } from '@ng-atomic/components/frames/line-up';\nimport { CanActivateFn, CanDeactivateFn, PRIMARY_OUTLET, RouterOutlet, Routes } from '@angular/router';\nimport { Breakpoint } from '@ng-atomic/common/services/breakpoint';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { InjectableComponent, NgAtomicComponent, _computed } from '@ng-atomic/core';\nimport { combineLatest, delay, distinctUntilChanged, map, of, startWith, switchMap, tap } from 'rxjs';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\n\n@Directive({standalone: true, selector: 'frames-router-outlet'})\nexport class RouterOutletFrameStore extends InjectableComponent {\n static readonly Config = makeConfig(() => {\n const getFrame = (breakpoint: Breakpoint) => {\n switch(breakpoint) {\n case 'xSmall': return 'overlay' as 'lineup' | 'overlay';\n default: return 'lineup' as 'lineup' | 'overlay';\n }\n }\n return (context) => {\n return ({\n frame: getFrame(context.breakpoint),\n name: PRIMARY_OUTLET as string,\n isActivated: (outlet: RouterOutlet) => !!outlet.isActivated,\n });\n }\n }, ['components', 'frames', 'router-outlet']);\n\n static provideSideAppConfig = (name: string = PRIMARY_OUTLET) => {\n return RouterOutletFrameStore.Config.provide(() => (config) => ({\n ...config,\n name,\n frame: 'overlay',\n }));\n }\n\n static provideDefault() {\n return [\n RouterOutletFrameStore.Config.provide(),\n ]\n }\n\n readonly config = RouterOutletFrameStore.Config.inject();\n readonly frame = input(_computed(() => this.config().frame));\n readonly name = input(_computed(() => this.config().name, { equal: (a, b) => a === b }));\n readonly isActivated = input(_computed(() => this.config().isActivated));\n readonly skip = input(false);\n} \n\n@Component({\n selector: 'frames-router-outlet',\n standalone: true,\n imports: [\n NgTemplateOutlet,\n OverlayFrame,\n LineUpFrame,\n RouterOutlet,\n ],\n template: `\n @switch (store.frame()) {\n @case ('lineup') {\n <frames-line-up [hasNext]=\"hasNext()\" [scope]=\"store.name()\">\n @if (!store.skip()) {\n <ng-container *ngTemplateOutlet=\"main\" main/>\n }\n <ng-container *ngTemplateOutlet=\"next\" next/>\n </frames-line-up>\n }\n @default {\n <frames-overlay [hasNext]=\"hasNext()\">\n @if (!store.skip()) {\n <ng-container *ngTemplateOutlet=\"main\" main/>\n }\n <ng-container *ngTemplateOutlet=\"next\" next/>\n </frames-overlay>\n }\n }\n <ng-template #main><ng-content main/></ng-template>\n <ng-template #next><router-outlet [name]=\"store.name()\"/></ng-template>\n `,\n styleUrls: ['./router-outlet.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: RouterOutletFrameStore,\n inputs: ['frame', 'name', 'skip'],\n },\n ],\n})\nexport class RouterOutletFrame extends NgAtomicComponent {\n protected store = inject(RouterOutletFrameStore);\n @Output() readonly events = new EventEmitter<string>();\n readonly outlet = viewChild(RouterOutlet);\n readonly outlet$ = toObservable(this.outlet);\n readonly activatedEvents$ = this.outlet$.pipe(\n switchMap((outlet) => outlet.activateEvents),\n );\n readonly hasNext$ = this.outlet$.pipe(\n switchMap((outlet) => combineLatest([\n this.activatedEvents$.pipe(startWith(null)), \n outlet.deactivateEvents.pipe(startWith(null)),\n ]).pipe(\n map(() => this.store.isActivated()(outlet)),\n distinctUntilChanged(),\n )),\n );\n readonly hasNext = toSignal(this.hasNext$);\n readonly parent = inject(RouterOutletFrame, { optional: true, skipSelf: true });\n\n constructor() {\n super();\n this.events.subscribe((event) => {\n if (this.store.skip()) {\n this.parent.events.emit(event);\n }\n });\n }\n}\n\nfunction InjectableSignal<T>(name: string, defaultValue: T = null): InjectionToken<WritableSignal<T>> {\n return new InjectionToken<Signal<T>>(name, {\n providedIn: 'root',\n factory: () => signal(defaultValue),\n });\n}\n\nconst CURRENT_ROUTER_OUTLET = InjectableSignal<RouterOutletFrame>('CURRENT_ROUTER_OUTLET', null);\n\nexport const canDeactivateFn: CanDeactivateFn<NgAtomicComponent | undefined> = (component) => {\n\tconst current = inject(CURRENT_ROUTER_OUTLET);\n\tconst frame = component?.__injector ? runInInjectionContext(component?.__injector, () => {\n return inject(RouterOutletFrame, { optional: true });\n }) : null;\n\tif (frame) {\n\t\tcurrent.set(frame);\n\t\tframe.events.emit('deactivated');\n\t}\n // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。\n return of(true).pipe(delay(0));\n}\n\nexport const canActivateFn: CanActivateFn = () => {\n\tconst current = inject(CURRENT_ROUTER_OUTLET);\n\tif (current()) {\n\t\tcurrent().events.emit('activated');\n\t}\n // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。\n\treturn of(true).pipe(delay(0))\n}\n\nexport function ngAtomicRoutes(routes: Routes): Routes {\n return routes.map(route => {\n return {\n ...route,\n canActivate: [canActivateFn, ...(route.canActivate || [])],\n canDeactivate: [canDeactivateFn, ...(route.canDeactivate || [])],\n data: { preload: true, ...route.data },\n // loadChildren: route?.loadChildren ? async () => {\n // const module = await route?.loadChildren();\n // const routes: Routes = module['default'] || module['routes'] || [];\n // return ngAtomicRoutes(routes);\n // } : undefined,\n }\n })\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,53 +1,6 @@
1
- import { CommonModule } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
4
-
5
- class ScrollFrame {
6
- isScrollBottom() {
7
- const contents = this.contents.nativeElement;
8
- return contents.scrollHeight - contents.scrollTop === contents.clientHeight;
9
- }
10
- scrollToBottom() {
11
- this.contents.nativeElement.scrollTop = this.contents.nativeElement.scrollHeight;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ScrollFrame, isStandalone: true, selector: "frames-scroll", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true, static: true }], ngImport: i0, template: `
15
- <div class="top">
16
- <ng-content select=[top]></ng-content>
17
- </div>
18
- <div class="contents" #contents>
19
- <ng-content></ng-content>
20
- <!-- <ng-content select=[contents]></ng-content> -->
21
- </div>
22
- <div class="bottom">
23
- <ng-content select=[bottom]></ng-content>
24
- </div>
25
- `, isInline: true, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-8NwH: var(--height);--top-height: 56px;--top-height-SCOPED-IN-scroll-8NwH: var(--top-height);--bottom-height: 56px;--bottom-height-SCOPED-IN-scroll-8NwH: var(--bottom-height);--contents-gap: 16px;--contents-gap-SCOPED-IN-scroll-8NwH: var(--contents-gap)}:host{display:flex;width:100%;flex-direction:column;justify-content:space-between;height:var(--height-SCOPED-IN-scroll-8NwH);overflow:hidden}:host .top{height:fit-content;transition:.5s height;touch-action:none}:host .contents{display:flex;flex:auto;flex-direction:column;gap:var(--contents-gap-SCOPED-IN-scroll-8NwH);transition:.5s height;overflow:scroll;box-sizing:border-box;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}:host .bottom{height:fit-content}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'frames-scroll', standalone: true, imports: [
30
- CommonModule,
31
- ], template: `
32
- <div class="top">
33
- <ng-content select=[top]></ng-content>
34
- </div>
35
- <div class="contents" #contents>
36
- <ng-content></ng-content>
37
- <!-- <ng-content select=[contents]></ng-content> -->
38
- </div>
39
- <div class="bottom">
40
- <ng-content select=[bottom]></ng-content>
41
- </div>
42
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-8NwH: var(--height);--top-height: 56px;--top-height-SCOPED-IN-scroll-8NwH: var(--top-height);--bottom-height: 56px;--bottom-height-SCOPED-IN-scroll-8NwH: var(--bottom-height);--contents-gap: 16px;--contents-gap-SCOPED-IN-scroll-8NwH: var(--contents-gap)}:host{display:flex;width:100%;flex-direction:column;justify-content:space-between;height:var(--height-SCOPED-IN-scroll-8NwH);overflow:hidden}:host .top{height:fit-content;transition:.5s height;touch-action:none}:host .contents{display:flex;flex:auto;flex-direction:column;gap:var(--contents-gap-SCOPED-IN-scroll-8NwH);transition:.5s height;overflow:scroll;box-sizing:border-box;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}:host .bottom{height:fit-content}\n"] }]
43
- }], propDecorators: { contents: [{
44
- type: ViewChild,
45
- args: ['contents', { static: true }]
46
- }] } });
1
+ export * from '@ng-atomic/components/frames/scroll';
47
2
 
48
3
  /**
49
4
  * Generated bundle index. Do not edit.
50
5
  */
51
-
52
- export { ScrollFrame };
53
6
  //# sourceMappingURL=ng-atomic-components-frames-scroll-v2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-frames-scroll-v2.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/scroll-v2/scroll.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/scroll-v2/ng-atomic-components-frames-scroll-v2.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'frames-scroll',\n standalone: true,\n imports: [\n CommonModule,\n ],\n template: `\n <div class=\"top\">\n <ng-content select=[top]></ng-content>\n </div>\n <div class=\"contents\" #contents>\n <ng-content></ng-content>\n <!-- <ng-content select=[contents]></ng-content> -->\n </div>\n <div class=\"bottom\">\n <ng-content select=[bottom]></ng-content>\n </div>\n `,\n styleUrls: ['./scroll.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollFrame {\n\n @ViewChild('contents', {static: true})\n protected contents: ElementRef<HTMLDivElement>;\n\n isScrollBottom() {\n const contents = this.contents.nativeElement;\n return contents.scrollHeight - contents.scrollTop === contents.clientHeight;\n }\n\n scrollToBottom() {\n this.contents.nativeElement.scrollTop = this.contents.nativeElement.scrollHeight;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAwBa,WAAW,CAAA;IAKtB,cAAc,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,OAAO,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,YAAY,CAAC;KAC7E;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;KAClF;8GAZU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAfZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAbC,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAiBH,WAAW,EAAA,UAAA,EAAA,CAAA;kBArBvB,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;qBACb,EACS,QAAA,EAAA,CAAA;;;;;;;;;;;GAWT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,6xBAAA,CAAA,EAAA,CAAA;8BAKrC,QAAQ,EAAA,CAAA;sBADjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;;;AC1BvC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-components-frames-scroll-v2.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/scroll-v2/ng-atomic-components-frames-scroll-v2.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
@@ -1,31 +1,49 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
4
4
 
5
5
  class ScrollFrame {
6
+ isScrollBottom() {
7
+ const contents = this.contents.nativeElement;
8
+ return contents.scrollHeight - contents.scrollTop === contents.clientHeight;
9
+ }
10
+ scrollToBottom() {
11
+ this.contents.nativeElement.scrollTop = this.contents.nativeElement.scrollHeight;
12
+ }
6
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ScrollFrame, isStandalone: true, selector: "frames-scroll", ngImport: i0, template: `
8
- <div class="navigator">
9
- <ng-content select=[navigator]></ng-content>
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ScrollFrame, isStandalone: true, selector: "frames-scroll", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true, static: true }], ngImport: i0, template: `
15
+ <div class="top">
16
+ <ng-content select=[top]></ng-content>
10
17
  </div>
11
- <div class="contents">
12
- <ng-content select=[contents]></ng-content>
18
+ <div class="contents" #contents>
19
+ <ng-content></ng-content>
20
+ <!-- <ng-content select=[contents]></ng-content> -->
13
21
  </div>
14
- `, isInline: true, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-B8aq: var(--height);--navigator-height: 56px;--navigator-height-SCOPED-IN-scroll-B8aq: var(--navigator-height)}:host{height:var(--height-SCOPED-IN-scroll-B8aq);overflow:hidden}:host .navigator{height:var(--navigator-height-SCOPED-IN-scroll-B8aq);transition:.5s height;overflow:hidden;touch-action:none}:host .contents{height:calc(var(--height-SCOPED-IN-scroll-B8aq) - var(--navigator-height-SCOPED-IN-scroll-B8aq));transition:.5s height;overflow:auto;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ <div class="bottom">
23
+ <ng-content select=[bottom]></ng-content>
24
+ </div>
25
+ `, isInline: true, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-9d2A: var(--height);--top-height: 56px;--top-height-SCOPED-IN-scroll-9d2A: var(--top-height);--bottom-height: 56px;--bottom-height-SCOPED-IN-scroll-9d2A: var(--bottom-height);--contents-gap: 16px;--contents-gap-SCOPED-IN-scroll-9d2A: var(--contents-gap)}:host{display:flex;width:100%;flex-direction:column;justify-content:space-between;height:var(--height-SCOPED-IN-scroll-9d2A);overflow:hidden}:host .top{height:fit-content;transition:.5s height;touch-action:none}:host .contents{display:flex;flex:auto;flex-direction:column;gap:var(--contents-gap-SCOPED-IN-scroll-9d2A);transition:.5s height;overflow:scroll;box-sizing:border-box;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}:host .bottom{height:fit-content}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
26
  }
16
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, decorators: [{
17
28
  type: Component,
18
29
  args: [{ selector: 'frames-scroll', standalone: true, imports: [
19
30
  CommonModule,
20
31
  ], template: `
21
- <div class="navigator">
22
- <ng-content select=[navigator]></ng-content>
32
+ <div class="top">
33
+ <ng-content select=[top]></ng-content>
34
+ </div>
35
+ <div class="contents" #contents>
36
+ <ng-content></ng-content>
37
+ <!-- <ng-content select=[contents]></ng-content> -->
23
38
  </div>
24
- <div class="contents">
25
- <ng-content select=[contents]></ng-content>
39
+ <div class="bottom">
40
+ <ng-content select=[bottom]></ng-content>
26
41
  </div>
27
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-B8aq: var(--height);--navigator-height: 56px;--navigator-height-SCOPED-IN-scroll-B8aq: var(--navigator-height)}:host{height:var(--height-SCOPED-IN-scroll-B8aq);overflow:hidden}:host .navigator{height:var(--navigator-height-SCOPED-IN-scroll-B8aq);transition:.5s height;overflow:hidden;touch-action:none}:host .contents{height:calc(var(--height-SCOPED-IN-scroll-B8aq) - var(--navigator-height-SCOPED-IN-scroll-B8aq));transition:.5s height;overflow:auto;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}\n"] }]
28
- }] });
42
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--height: 100%;--height-SCOPED-IN-scroll-9d2A: var(--height);--top-height: 56px;--top-height-SCOPED-IN-scroll-9d2A: var(--top-height);--bottom-height: 56px;--bottom-height-SCOPED-IN-scroll-9d2A: var(--bottom-height);--contents-gap: 16px;--contents-gap-SCOPED-IN-scroll-9d2A: var(--contents-gap)}:host{display:flex;width:100%;flex-direction:column;justify-content:space-between;height:var(--height-SCOPED-IN-scroll-9d2A);overflow:hidden}:host .top{height:fit-content;transition:.5s height;touch-action:none}:host .contents{display:flex;flex:auto;flex-direction:column;gap:var(--contents-gap-SCOPED-IN-scroll-9d2A);transition:.5s height;overflow:scroll;box-sizing:border-box;-webkit-overflow-scrolling:touch}:host .contents::-webkit-scrollbar{display:none}:host .bottom{height:fit-content}\n"] }]
43
+ }], propDecorators: { contents: [{
44
+ type: ViewChild,
45
+ args: ['contents', { static: true }]
46
+ }] } });
29
47
 
30
48
  /**
31
49
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-frames-scroll.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/scroll/scroll.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/scroll/ng-atomic-components-frames-scroll.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'frames-scroll',\n standalone: true,\n imports: [\n CommonModule,\n ],\n template: `\n <div class=\"navigator\">\n <ng-content select=[navigator]></ng-content>\n </div>\n <div class=\"contents\">\n <ng-content select=[contents]></ng-content>\n </div>\n `,\n styleUrls: ['./scroll.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollFrame { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAoBa,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAXZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ukBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EATC,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAaH,WAAW,EAAA,UAAA,EAAA,CAAA;kBAjBvB,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;qBACb,EACS,QAAA,EAAA,CAAA;;;;;;;GAOT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,ukBAAA,CAAA,EAAA,CAAA;;;AClBjD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-components-frames-scroll.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/scroll/scroll.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/scroll/ng-atomic-components-frames-scroll.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'frames-scroll',\n standalone: true,\n imports: [\n CommonModule,\n ],\n template: `\n <div class=\"top\">\n <ng-content select=[top]></ng-content>\n </div>\n <div class=\"contents\" #contents>\n <ng-content></ng-content>\n <!-- <ng-content select=[contents]></ng-content> -->\n </div>\n <div class=\"bottom\">\n <ng-content select=[bottom]></ng-content>\n </div>\n `,\n styleUrls: ['./scroll.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollFrame {\n\n @ViewChild('contents', {static: true})\n protected contents: ElementRef<HTMLDivElement>;\n\n isScrollBottom() {\n const contents = this.contents.nativeElement;\n return contents.scrollHeight - contents.scrollTop === contents.clientHeight;\n }\n\n scrollToBottom() {\n this.contents.nativeElement.scrollTop = this.contents.nativeElement.scrollHeight;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAwBa,WAAW,CAAA;IAKtB,cAAc,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,OAAO,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,YAAY,CAAC;KAC7E;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;KAClF;8GAZU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAfZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAbC,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAiBH,WAAW,EAAA,UAAA,EAAA,CAAA;kBArBvB,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;qBACb,EACS,QAAA,EAAA,CAAA;;;;;;;;;;;GAWT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,6xBAAA,CAAA,EAAA,CAAA;8BAKrC,QAAQ,EAAA,CAAA;sBADjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;;;AC1BvC;;AAEG;;;;"}
@@ -0,0 +1,81 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, Directive, Component } from '@angular/core';
3
+ import { PRIMARY_OUTLET, RouterOutlet } from '@angular/router';
4
+ import { InjectableComponent, provideEffect, NgAtomicComponent } from '@ng-atomic/core';
5
+ import { RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';
6
+ import { ColumnsPageStore } from '@ng-atomic/components/pages/columns';
7
+ import { FormPageStore } from '@ng-atomic/components/pages/form';
8
+ import { IndexPageStore } from '@ng-atomic/components/pages/_index';
9
+ import { AppService } from '@ng-atomic/common/services/app';
10
+ import { merge } from 'lodash-es';
11
+
12
+ class SideAppFrameStore extends InjectableComponent {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = input();
16
+ }
17
+ static route(route) {
18
+ return merge({
19
+ outlet: 'side',
20
+ component: SideAppFrame,
21
+ path: '',
22
+ providers: [
23
+ SideAppFrameStore.provideDefault(),
24
+ ]
25
+ }, route);
26
+ }
27
+ static provideDefault() {
28
+ return [
29
+ RouterOutletFrameStore.provideSideAppConfig(PRIMARY_OUTLET),
30
+ provideEffect([
31
+ ColumnsPageStore.ActionId.CLOSE,
32
+ FormPageStore.ActionId.CLOSE,
33
+ IndexPageStore.ActionId.CLOSE,
34
+ ], () => {
35
+ const app = inject(AppService);
36
+ return () => {
37
+ app.sideApp.collapse();
38
+ };
39
+ }),
40
+ ];
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrameStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SideAppFrameStore, isStandalone: true, selector: "frames-side-app", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrameStore, decorators: [{
46
+ type: Directive,
47
+ args: [{ standalone: true, selector: 'frames-side-app' }]
48
+ }] });
49
+ class SideAppFrame extends NgAtomicComponent {
50
+ constructor() {
51
+ super(...arguments);
52
+ this.store = inject(SideAppFrameStore);
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SideAppFrame, isStandalone: true, selector: "frames-side-app", providers: [], usesInheritance: true, hostDirectives: [{ directive: SideAppFrameStore, inputs: ["name", "name"] }], ngImport: i0, template: `<router-outlet />`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrame, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ standalone: true,
61
+ imports: [
62
+ RouterOutlet,
63
+ ],
64
+ selector: 'frames-side-app',
65
+ template: `<router-outlet />`,
66
+ providers: [],
67
+ hostDirectives: [
68
+ {
69
+ directive: SideAppFrameStore,
70
+ inputs: ['name'],
71
+ }
72
+ ]
73
+ }]
74
+ }] });
75
+
76
+ /**
77
+ * Generated bundle index. Do not edit.
78
+ */
79
+
80
+ export { SideAppFrame, SideAppFrameStore };
81
+ //# sourceMappingURL=ng-atomic-components-frames-side-app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-components-frames-side-app.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/side-app/side-app.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/side-app/ng-atomic-components-frames-side-app.ts"],"sourcesContent":["import { Component, Directive, inject, input } from \"@angular/core\";\nimport { PRIMARY_OUTLET, Route, RouterOutlet } from \"@angular/router\";\nimport { InjectableComponent, NgAtomicComponent, provideEffect } from \"@ng-atomic/core\";\nimport { RouterOutletFrameStore } from \"@ng-atomic/components/frames/router-outlet\";\nimport { ColumnsPageStore } from \"@ng-atomic/components/pages/columns\";\nimport { FormPageStore } from \"@ng-atomic/components/pages/form\";\nimport { IndexPageStore } from \"@ng-atomic/components/pages/_index\";\nimport { AppService } from \"@ng-atomic/common/services/app\";\nimport { merge } from \"lodash-es\";\n\n@Directive({standalone: true, selector: 'frames-side-app'})\nexport class SideAppFrameStore extends InjectableComponent {\n static route(route: Route) {\n return merge({\n outlet: 'side',\n component: SideAppFrame,\n path: '',\n providers: [\n SideAppFrameStore.provideDefault(),\n ]\n }, route);\n }\n\n static provideDefault() {\n return [\n RouterOutletFrameStore.provideSideAppConfig(PRIMARY_OUTLET),\n provideEffect([\n ColumnsPageStore.ActionId.CLOSE,\n FormPageStore.ActionId.CLOSE,\n IndexPageStore.ActionId.CLOSE,\n ], () => {\n const app = inject(AppService);\n return () => {\n app.sideApp.collapse();\n };\n }),\n ]\n }\n\n readonly name = input<string>();\n}\n\n@Component({\n standalone: true,\n imports: [\n RouterOutlet,\n ],\n selector: 'frames-side-app',\n template: `<router-outlet />`,\n providers: [\n ],\n hostDirectives: [\n {\n directive: SideAppFrameStore,\n inputs: ['name'],\n }\n ]\n})\nexport class SideAppFrame extends NgAtomicComponent {\n protected store = inject(SideAppFrameStore);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}