@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
@@ -1,16 +1,13 @@
1
- import { ChangeDetectionStrategy, Component, Directive, inject, input, viewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Directive, EventEmitter, inject, InjectionToken, input, Output, runInInjectionContext, signal, viewChild } from '@angular/core';
2
2
  import { NgTemplateOutlet } from '@angular/common';
3
3
  import { OverlayFrame } from '@ng-atomic/components/frames/overlay';
4
4
  import { LineUpFrame } from '@ng-atomic/components/frames/line-up';
5
5
  import { PRIMARY_OUTLET, RouterOutlet } from '@angular/router';
6
6
  import { makeConfig } from '@ng-atomic/common/services/ui';
7
7
  import { InjectableComponent, NgAtomicComponent, _computed } from '@ng-atomic/core';
8
- import { combineLatest, map, of, startWith } from 'rxjs';
9
- import { computedAsync } from 'ngxtension/computed-async';
8
+ import { combineLatest, delay, distinctUntilChanged, map, of, startWith, switchMap } from 'rxjs';
9
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
10
10
  import * as i0 from "@angular/core";
11
- function isBlankRoute(outlet) {
12
- return !!(outlet?.activatedRouteData) && !(outlet.activatedRouteData?.['isBlank']);
13
- }
14
11
  export class RouterOutletFrameStore extends InjectableComponent {
15
12
  constructor() {
16
13
  super(...arguments);
@@ -18,6 +15,7 @@ export class RouterOutletFrameStore extends InjectableComponent {
18
15
  this.frame = input(_computed(() => this.config().frame));
19
16
  this.name = input(_computed(() => this.config().name, { equal: (a, b) => a === b }));
20
17
  this.isActivated = input(_computed(() => this.config().isActivated));
18
+ this.skip = input(false);
21
19
  }
22
20
  static { this.Config = makeConfig(() => {
23
21
  const getFrame = (breakpoint) => {
@@ -30,24 +28,24 @@ export class RouterOutletFrameStore extends InjectableComponent {
30
28
  return ({
31
29
  frame: getFrame(context.breakpoint),
32
30
  name: PRIMARY_OUTLET,
33
- isActivated: (outlet) => isBlankRoute(outlet),
31
+ isActivated: (outlet) => !!outlet.isActivated,
34
32
  });
35
33
  };
36
34
  }, ['components', 'frames', 'router-outlet']); }
37
- static provideExperimental() {
38
- return RouterOutletFrameStore.Config.provide(() => {
39
- return (config) => ({ ...config, isActivated: (outlet) => !!outlet.isActivated });
40
- });
41
- }
42
- static { this.provideSideAppConfig = () => {
35
+ static { this.provideSideAppConfig = (name = PRIMARY_OUTLET) => {
43
36
  return RouterOutletFrameStore.Config.provide(() => (config) => ({
44
37
  ...config,
45
- name: 'side-app',
38
+ name,
46
39
  frame: 'overlay',
47
40
  }));
48
41
  }; }
42
+ static provideDefault() {
43
+ return [
44
+ RouterOutletFrameStore.Config.provide(),
45
+ ];
46
+ }
49
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrameStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
50
- 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 }); }
48
+ 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 }); }
51
49
  }
52
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrameStore, decorators: [{
53
51
  type: Directive,
@@ -55,38 +53,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
55
53
  }] });
56
54
  export class RouterOutletFrame extends NgAtomicComponent {
57
55
  constructor() {
58
- super(...arguments);
56
+ super();
59
57
  this.store = inject(RouterOutletFrameStore);
58
+ this.events = new EventEmitter();
60
59
  this.outlet = viewChild(RouterOutlet);
61
- this.isActivated = computedAsync(() => {
62
- const outlet = this.outlet();
63
- if (!outlet)
64
- return of(false);
65
- return combineLatest([
66
- outlet.activateEvents.pipe(startWith(null)),
67
- outlet.deactivateEvents.pipe(startWith(null)),
68
- ]).pipe(map(() => this.store.isActivated()(outlet)));
60
+ this.outlet$ = toObservable(this.outlet);
61
+ this.activatedEvents$ = this.outlet$.pipe(switchMap((outlet) => outlet.activateEvents));
62
+ this.hasNext$ = this.outlet$.pipe(switchMap((outlet) => combineLatest([
63
+ this.activatedEvents$.pipe(startWith(null)),
64
+ outlet.deactivateEvents.pipe(startWith(null)),
65
+ ]).pipe(map(() => this.store.isActivated()(outlet)), distinctUntilChanged())));
66
+ this.hasNext = toSignal(this.hasNext$);
67
+ this.parent = inject(RouterOutletFrame, { optional: true, skipSelf: true });
68
+ this.events.subscribe((event) => {
69
+ if (this.store.skip()) {
70
+ this.parent.events.emit(event);
71
+ }
69
72
  });
70
73
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
- 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: `
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ 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: `
73
76
  @switch (store.frame()) {
74
77
  @case ('lineup') {
75
- <frames-line-up [hasNext]="isActivated()" [scope]="store.name()">
76
- <ng-container *ngTemplateOutlet="main" main/>
78
+ <frames-line-up [hasNext]="hasNext()" [scope]="store.name()">
79
+ @if (!store.skip()) {
80
+ <ng-container *ngTemplateOutlet="main" main/>
81
+ }
77
82
  <ng-container *ngTemplateOutlet="next" next/>
78
83
  </frames-line-up>
79
84
  }
80
85
  @default {
81
- <frames-overlay [hasNext]="isActivated()">
82
- <ng-container *ngTemplateOutlet="main" main/>
86
+ <frames-overlay [hasNext]="hasNext()">
87
+ @if (!store.skip()) {
88
+ <ng-container *ngTemplateOutlet="main" main/>
89
+ }
83
90
  <ng-container *ngTemplateOutlet="next" next/>
84
91
  </frames-overlay>
85
92
  }
86
93
  }
87
- <ng-template #main><ng-content main /></ng-template>
94
+ <ng-template #main><ng-content main/></ng-template>
88
95
  <ng-template #next><router-outlet [name]="store.name()"/></ng-template>
89
- `, 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 }); }
96
+ `, 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 }); }
90
97
  }
91
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterOutletFrame, decorators: [{
92
99
  type: Component,
@@ -98,25 +105,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
98
105
  ], template: `
99
106
  @switch (store.frame()) {
100
107
  @case ('lineup') {
101
- <frames-line-up [hasNext]="isActivated()" [scope]="store.name()">
102
- <ng-container *ngTemplateOutlet="main" main/>
108
+ <frames-line-up [hasNext]="hasNext()" [scope]="store.name()">
109
+ @if (!store.skip()) {
110
+ <ng-container *ngTemplateOutlet="main" main/>
111
+ }
103
112
  <ng-container *ngTemplateOutlet="next" next/>
104
113
  </frames-line-up>
105
114
  }
106
115
  @default {
107
- <frames-overlay [hasNext]="isActivated()">
108
- <ng-container *ngTemplateOutlet="main" main/>
116
+ <frames-overlay [hasNext]="hasNext()">
117
+ @if (!store.skip()) {
118
+ <ng-container *ngTemplateOutlet="main" main/>
119
+ }
109
120
  <ng-container *ngTemplateOutlet="next" next/>
110
121
  </frames-overlay>
111
122
  }
112
123
  }
113
- <ng-template #main><ng-content main /></ng-template>
124
+ <ng-template #main><ng-content main/></ng-template>
114
125
  <ng-template #next><router-outlet [name]="store.name()"/></ng-template>
115
126
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
116
127
  {
117
128
  directive: RouterOutletFrameStore,
118
- inputs: ['frame', 'name'],
129
+ inputs: ['frame', 'name', 'skip'],
119
130
  },
120
- ], 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"] }]
121
- }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9yb3V0ZXItb3V0bGV0L3JvdXRlci1vdXRsZXQuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRTFELFNBQVMsWUFBWSxDQUFDLE1BQW9CO0lBQ3hDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFEL0Q7O1FBZ0NXLFdB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LENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDNUMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0tBQ0g7OEdBYlksaUJBQWlCO2tHQUFqQixpQkFBaUIsd0hBRUEsWUFBWSw2RkEzRTdCLHNCQUFzQix5RUE4Q3ZCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCx5dkJBdEJDLGdCQUFnQixvSkFDaEIsWUFBWSwyREFDWixXQUFXLDJEQUNYLFlBQVk7OzJGQTZCSCxpQkFBaUI7a0JBcEM3QixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLHNCQUFzQjs0QkFDakMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQzt5QkFDMUI7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPdmVybGF5RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL292ZXJsYXknO1xuaW1wb3J0IHsgTGluZVVwRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2xpbmUtdXAnO1xuaW1wb3J0IHsgUFJJTUFSWV9PVVRMRVQsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCcmVha3BvaW50IH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvYnJlYWtwb2ludCc7XG5pbXBvcnQgeyBtYWtlQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIF9jb21wdXRlZCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcblxuZnVuY3Rpb24gaXNCbGFua1JvdXRlKG91dGxldDogUm91dGVyT3V0bGV0KTogYm9vbGVhbiB7XG4gIHJldHVybiAhIShvdXRsZXQ/LmFjdGl2YXRlZFJvdXRlRGF0YSkgJiYgIShvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhPy5bJ2lzQmxhbmsnXSk7XG59XG5cbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnZnJhbWVzLXJvdXRlci1vdXRsZXQnfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICBjb25zdCBnZXRGcmFtZSA9IChicmVha3BvaW50OiBCcmVha3BvaW50KSA9PiB7XG4gICAgICBzd2l0Y2goYnJlYWtwb2ludCkge1xuICAgICAgICBjYXNlICd4U21hbGwnOiByZXR1cm4gJ292ZXJsYXknIGFzICdsaW5ldXAnIHwgJ292ZXJsYXknO1xuICAgICAgICBkZWZhdWx0OiByZXR1cm4gJ2xpbmV1cCcgYXMgJ2xpbmV1cCcgfCAnb3ZlcmxheSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAoY29udGV4dCkgPT4ge1xuICAgICAgcmV0dXJuICh7XG4gICAgICAgIGZyYW1lOiBnZXRGcmFtZShjb250ZXh0LmJyZWFrcG9pbnQpLFxuICAgICAgICBuYW1lOiBQUklNQVJZX09VVExFVCBhcyBzdHJpbmcsXG4gICAgICAgIGlzQWN0aXZhdGVkOiAob3V0bGV0OiBSb3V0ZXJPdXRsZXQpID0+IGlzQmxhbmtSb3V0ZShvdXRsZXQpLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbJ2NvbXBvbmVudHMnLCAnZnJhbWVzJywgJ3JvdXRlci1vdXRsZXQnXSk7XG5cbiAgc3RhdGljIHByb3ZpZGVFeHBlcmltZW50YWwoKSB7XG4gICAgcmV0dXJuIFJvdXRlck91dGxldEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgcmV0dXJuIChjb25maWcpID0+ICh7IC4uLmNvbmZpZywgaXNBY3RpdmF0ZWQ6IChvdXRsZXQpID0+ICEhb3V0bGV0LmlzQWN0aXZhdGVkIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVTaWRlQXBwQ29uZmlnID0gKCkgPT4ge1xuICAgIHJldHVybiBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IChjb25maWcpID0+ICh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBuYW1lOiAnc2lkZS1hcHAnLFxuICAgICAgZnJhbWU6ICdvdmVybGF5JyxcbiAgICB9KSk7XG4gIH1cblxuICByZWFkb25seSBjb25maWcgPSBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLkNvbmZpZy5pbmplY3QoKTtcbiAgcmVhZG9ubHkgZnJhbWUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mcmFtZSkpO1xuICByZWFkb25seSBuYW1lID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmFtZSwgeyBlcXVhbDogKGEsIGIpID0+IGEgPT09IGIgfSkpO1xuICByZWFkb25seSBpc0FjdGl2YXRlZCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzQWN0aXZhdGVkKSk7XG59IFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcmFtZXMtcm91dGVyLW91dGxldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE92ZXJsYXlGcmFtZSxcbiAgICBMaW5lVXBGcmFtZSxcbiAgICBSb3V0ZXJPdXRsZXQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQHN3aXRjaCAoc3RvcmUuZnJhbWUoKSkge1xuICAgICAgQGNhc2UgKCdsaW5ldXAnKSB7XG4gICAgICAgIDxmcmFtZXMtbGluZS11cCBbaGFzTmV4dF09XCJpc0FjdGl2YXRlZCgpXCIgW3Njb3BlXT1cInN0b3JlLm5hbWUoKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtYWluXCIgbWFpbi8+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRcIiBuZXh0Lz5cbiAgICAgICAgPC9mcmFtZXMtbGluZS11cD5cbiAgICAgIH1cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGZyYW1lcy1vdmVybGF5IFtoYXNOZXh0XT1cImlzQWN0aXZhdGVkKClcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWFpblwiIG1haW4vPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuZXh0XCIgbmV4dC8+XG4gICAgICAgIDwvZnJhbWVzLW92ZXJsYXk+XG4gICAgICB9XG4gICAgfVxuICAgIDxuZy10ZW1wbGF0ZSAjbWFpbj48bmctY29udGVudCBtYWluIC8+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25leHQ+PHJvdXRlci1vdXRsZXQgW25hbWVdPVwic3RvcmUubmFtZSgpXCIvPjwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3JvdXRlci1vdXRsZXQuZnJhbWUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFJvdXRlck91dGxldEZyYW1lU3RvcmUsXG4gICAgICBpbnB1dHM6IFsnZnJhbWUnLCAnbmFtZSddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoUm91dGVyT3V0bGV0RnJhbWVTdG9yZSk7XG4gIHJlYWRvbmx5IG91dGxldCA9IHZpZXdDaGlsZChSb3V0ZXJPdXRsZXQpO1xuICByZWFkb25seSBpc0FjdGl2YXRlZCA9IGNvbXB1dGVkQXN5bmMoKCkgPT4ge1xuICAgIGNvbnN0IG91dGxldCA9IHRoaXMub3V0bGV0KCk7XG4gICAgaWYgKCFvdXRsZXQpIHJldHVybiBvZihmYWxzZSk7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgb3V0bGV0LmFjdGl2YXRlRXZlbnRzLnBpcGUoc3RhcnRXaXRoKG51bGwpKSwgXG4gICAgICBvdXRsZXQuZGVhY3RpdmF0ZUV2ZW50cy5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnN0b3JlLmlzQWN0aXZhdGVkKCkob3V0bGV0KSksXG4gICAgKVxuICB9KVxufVxuIl19
131
+ ], 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"] }]
132
+ }], ctorParameters: () => [], propDecorators: { events: [{
133
+ type: Output
134
+ }] } });
135
+ function InjectableSignal(name, defaultValue = null) {
136
+ return new InjectionToken(name, {
137
+ providedIn: 'root',
138
+ factory: () => signal(defaultValue),
139
+ });
140
+ }
141
+ const CURRENT_ROUTER_OUTLET = InjectableSignal('CURRENT_ROUTER_OUTLET', null);
142
+ export const canDeactivateFn = (component) => {
143
+ const current = inject(CURRENT_ROUTER_OUTLET);
144
+ const frame = component?.__injector ? runInInjectionContext(component?.__injector, () => {
145
+ return inject(RouterOutletFrame, { optional: true });
146
+ }) : null;
147
+ if (frame) {
148
+ current.set(frame);
149
+ frame.events.emit('deactivated');
150
+ }
151
+ // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
152
+ return of(true).pipe(delay(0));
153
+ };
154
+ export const canActivateFn = () => {
155
+ const current = inject(CURRENT_ROUTER_OUTLET);
156
+ if (current()) {
157
+ current().events.emit('activated');
158
+ }
159
+ // MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
160
+ return of(true).pipe(delay(0));
161
+ };
162
+ export function ngAtomicRoutes(routes) {
163
+ return routes.map(route => {
164
+ return {
165
+ ...route,
166
+ canActivate: [canActivateFn, ...(route.canActivate || [])],
167
+ canDeactivate: [canDeactivateFn, ...(route.canDeactivate || [])],
168
+ data: { preload: true, ...route.data },
169
+ // loadChildren: route?.loadChildren ? async () => {
170
+ // const module = await route?.loadChildren();
171
+ // const routes: Routes = module['default'] || module['routes'] || [];
172
+ // return ngAtomicRoutes(routes);
173
+ // } : undefined,
174
+ };
175
+ });
176
+ }
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9yb3V0ZXItb3V0bGV0L3JvdXRlci1vdXRsZXQuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYyxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNqTixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0MsY0FBYyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFPLE1BQU0sTUFBTSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR3BFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFEL0Q7O1FBZ0NXLFdBQU0sR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEQsVUFBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEQsU0FBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsZ0JBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLFNBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDOUI7YUFuQ2lCLFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLENBQUMsVUFBc0IsRUFBRSxFQUFFO1lBQzFDLFFBQU8sVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxTQUFpQyxDQUFDO2dCQUN4RCxPQUFPLENBQUMsQ0FBQyxPQUFPLFFBQWdDLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUMsQ0FBQTtRQUNELE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUM7Z0JBQ04sS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsY0FBd0I7Z0JBQzlCLFdBQVcsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVzthQUM1RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7SUFDSCxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDLEFBZHZCLENBY3dCO2FBRXZDLHlCQUFvQixHQUFHLENBQUMsT0FBZSxjQUFjLEVBQUUsRUFBRTtRQUM5RCxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUQsR0FBRyxNQUFNO1lBQ1QsSUFBSTtZQUNKLEtBQUssRUFBRSxTQUFTO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxBQU4wQixDQU0xQjtJQUVELE1BQU0sQ0FBQyxjQUFjO1FBQ25CLE9BQU87WUFDTCxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1NBQ3hDLENBQUE7SUFDSCxDQUFDOzhHQTdCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFDOztBQStFL0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQW9CdEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXBCQSxVQUFLLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUMsV0FBTSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQzdDLENBQUM7UUFDTyxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ25DLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDM0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQyxDQUNILENBQUM7UUFDTyxZQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUk5RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdUpBR0EsWUFBWSw2RkFqRjdCLHNCQUFzQix5RkErQ3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQseXZCQTFCQyxnQkFBZ0Isb0pBQ2hCLFlBQVksMkRBQ1osV0FBVywyREFDWCxZQUFZOzsyRkFpQ0gsaUJBQWlCO2tCQXhDN0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7cUJBQ2IsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsc0JBQXNCOzRCQUNqQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQzt5QkFDbEM7cUJBQ0Y7d0RBSWtCLE1BQU07c0JBQXhCLE1BQU07O0FBNEJULFNBQVMsZ0JBQWdCLENBQUksSUFBWSxFQUFFLGVBQWtCLElBQUk7SUFDL0QsT0FBTyxJQUFJLGNBQWMsQ0FBWSxJQUFJLEVBQUU7UUFDekMsVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7S0FDcEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0scUJBQXFCLEdBQUcsZ0JBQWdCLENBQW9CLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBbUQsQ0FBQyxTQUFTLEVBQUUsRUFBRTtJQUM1RixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM5QyxNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRTtRQUNyRixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0Esd0VBQXdFO0lBQ3hFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCLEdBQUcsRUFBRTtJQUNoRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM5QyxJQUFJLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDQSx3RUFBd0U7SUFDekUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQy9CLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLFdBQVcsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMxRCxhQUFhLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7WUFDaEUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDdEMsb0RBQW9EO1lBQ3BELGdEQUFnRDtZQUNoRCx3RUFBd0U7WUFDeEUsbUNBQW1DO1lBQ25DLGlCQUFpQjtTQUNsQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGlucHV0LCBPdXRwdXQsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgU2lnbmFsLCBzaWduYWwsIHZpZXdDaGlsZCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheUZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9vdmVybGF5JztcbmltcG9ydCB7IExpbmVVcEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9saW5lLXVwJztcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIENhbkRlYWN0aXZhdGVGbiwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlck91dGxldCwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJyZWFrcG9pbnQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9icmVha3BvaW50JztcbmltcG9ydCB7IG1ha2VDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgX2NvbXB1dGVkIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7c3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdmcmFtZXMtcm91dGVyLW91dGxldCd9KVxuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZyA9IG1ha2VDb25maWcoKCkgPT4ge1xuICAgIGNvbnN0IGdldEZyYW1lID0gKGJyZWFrcG9pbnQ6IEJyZWFrcG9pbnQpID0+IHtcbiAgICAgIHN3aXRjaChicmVha3BvaW50KSB7XG4gICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiAnb3ZlcmxheScgYXMgJ2xpbmV1cCcgfCAnb3ZlcmxheSc7XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiAnbGluZXVwJyBhcyAnbGluZXVwJyB8ICdvdmVybGF5JztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIChjb250ZXh0KSA9PiB7XG4gICAgICByZXR1cm4gKHtcbiAgICAgICAgZnJhbWU6IGdldEZyYW1lKGNvbnRleHQuYnJlYWtwb2ludCksXG4gICAgICAgIG5hbWU6IFBSSU1BUllfT1VUTEVUIGFzIHN0cmluZyxcbiAgICAgICAgaXNBY3RpdmF0ZWQ6IChvdXRsZXQ6IFJvdXRlck91dGxldCkgPT4gISFvdXRsZXQuaXNBY3RpdmF0ZWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFsnY29tcG9uZW50cycsICdmcmFtZXMnLCAncm91dGVyLW91dGxldCddKTtcblxuICBzdGF0aWMgcHJvdmlkZVNpZGVBcHBDb25maWcgPSAobmFtZTogc3RyaW5nID0gUFJJTUFSWV9PVVRMRVQpID0+IHtcbiAgICByZXR1cm4gUm91dGVyT3V0bGV0RnJhbWVTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiAoY29uZmlnKSA9PiAoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgbmFtZSxcbiAgICAgIGZyYW1lOiAnb3ZlcmxheScsXG4gICAgfSkpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0KCkge1xuICAgIHJldHVybiBbXG4gICAgICBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgXVxuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gUm91dGVyT3V0bGV0RnJhbWVTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IGZyYW1lID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZnJhbWUpKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hbWUsIHsgZXF1YWw6IChhLCBiKSA9PiBhID09PSBiIH0pKTtcbiAgcmVhZG9ubHkgaXNBY3RpdmF0ZWQgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pc0FjdGl2YXRlZCkpO1xuICByZWFkb25seSBza2lwID0gaW5wdXQoZmFsc2UpO1xufSBcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLXJvdXRlci1vdXRsZXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBPdmVybGF5RnJhbWUsXG4gICAgTGluZVVwRnJhbWUsXG4gICAgUm91dGVyT3V0bGV0LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBzd2l0Y2ggKHN0b3JlLmZyYW1lKCkpIHtcbiAgICAgIEBjYXNlICgnbGluZXVwJykge1xuICAgICAgICA8ZnJhbWVzLWxpbmUtdXAgW2hhc05leHRdPVwiaGFzTmV4dCgpXCIgW3Njb3BlXT1cInN0b3JlLm5hbWUoKVwiPlxuICAgICAgICAgIEBpZiAoIXN0b3JlLnNraXAoKSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1haW5cIiBtYWluLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRcIiBuZXh0Lz5cbiAgICAgICAgPC9mcmFtZXMtbGluZS11cD5cbiAgICAgIH1cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGZyYW1lcy1vdmVybGF5IFtoYXNOZXh0XT1cImhhc05leHQoKVwiPlxuICAgICAgICAgIEBpZiAoIXN0b3JlLnNraXAoKSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1haW5cIiBtYWluLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRcIiBuZXh0Lz5cbiAgICAgICAgPC9mcmFtZXMtb3ZlcmxheT5cbiAgICAgIH1cbiAgICB9XG4gICAgPG5nLXRlbXBsYXRlICNtYWluPjxuZy1jb250ZW50IG1haW4vPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNuZXh0Pjxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cInN0b3JlLm5hbWUoKVwiLz48L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9yb3V0ZXItb3V0bGV0LmZyYW1lLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ2ZyYW1lJywgJ25hbWUnLCAnc2tpcCddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoUm91dGVyT3V0bGV0RnJhbWVTdG9yZSk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0bGV0ID0gdmlld0NoaWxkKFJvdXRlck91dGxldCk7XG4gIHJlYWRvbmx5IG91dGxldCQgPSB0b09ic2VydmFibGUodGhpcy5vdXRsZXQpO1xuICByZWFkb25seSBhY3RpdmF0ZWRFdmVudHMkID0gdGhpcy5vdXRsZXQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChvdXRsZXQpID0+IG91dGxldC5hY3RpdmF0ZUV2ZW50cyksXG4gICk7XG4gIHJlYWRvbmx5IGhhc05leHQkID0gdGhpcy5vdXRsZXQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChvdXRsZXQpID0+IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmF0ZWRFdmVudHMkLnBpcGUoc3RhcnRXaXRoKG51bGwpKSwgXG4gICAgICBvdXRsZXQuZGVhY3RpdmF0ZUV2ZW50cy5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnN0b3JlLmlzQWN0aXZhdGVkKCkob3V0bGV0KSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkpLFxuICApO1xuICByZWFkb25seSBoYXNOZXh0ID0gdG9TaWduYWwodGhpcy5oYXNOZXh0JCk7XG4gIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChSb3V0ZXJPdXRsZXRGcmFtZSwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5zdG9yZS5za2lwKCkpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQuZXZlbnRzLmVtaXQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIEluamVjdGFibGVTaWduYWw8VD4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQgPSBudWxsKTogSW5qZWN0aW9uVG9rZW48V3JpdGFibGVTaWduYWw8VD4+IHtcbiAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxTaWduYWw8VD4+KG5hbWUsIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gc2lnbmFsKGRlZmF1bHRWYWx1ZSksXG4gIH0pO1xufVxuXG5jb25zdCBDVVJSRU5UX1JPVVRFUl9PVVRMRVQgPSBJbmplY3RhYmxlU2lnbmFsPFJvdXRlck91dGxldEZyYW1lPignQ1VSUkVOVF9ST1VURVJfT1VUTEVUJywgbnVsbCk7XG5cbmV4cG9ydCBjb25zdCBjYW5EZWFjdGl2YXRlRm46IENhbkRlYWN0aXZhdGVGbjxOZ0F0b21pY0NvbXBvbmVudCB8IHVuZGVmaW5lZD4gPSAoY29tcG9uZW50KSA9PiB7XG5cdGNvbnN0IGN1cnJlbnQgPSBpbmplY3QoQ1VSUkVOVF9ST1VURVJfT1VUTEVUKTtcblx0Y29uc3QgZnJhbWUgPSBjb21wb25lbnQ/Ll9faW5qZWN0b3IgPyBydW5JbkluamVjdGlvbkNvbnRleHQoY29tcG9uZW50Py5fX2luamVjdG9yLCAoKSA9PiB7XG4gICAgcmV0dXJuIGluamVjdChSb3V0ZXJPdXRsZXRGcmFtZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgfSkgOiBudWxsO1xuXHRpZiAoZnJhbWUpIHtcblx0XHRjdXJyZW50LnNldChmcmFtZSk7XG5cdFx0ZnJhbWUuZXZlbnRzLmVtaXQoJ2RlYWN0aXZhdGVkJyk7XG5cdH1cbiAgLy8gTUVNTyhOb3pvbXVNaXlhbW90byk6IFJvdXRlck91dGxldEZyYW1l44Gu5bmF44KS5aSJ5pu044GZ44KL44Ki44OL44Oh44O844K344On44Oz44Gu5pyA6YGp5YyW44Gu44Gf44KB44Gr6YGF5bu244GV44Gb44Gm44GE44KL44CCXG4gIHJldHVybiBvZih0cnVlKS5waXBlKGRlbGF5KDApKTtcbn1cblxuZXhwb3J0IGNvbnN0IGNhbkFjdGl2YXRlRm46IENhbkFjdGl2YXRlRm4gPSAoKSA9PiB7XG5cdGNvbnN0IGN1cnJlbnQgPSBpbmplY3QoQ1VSUkVOVF9ST1VURVJfT1VUTEVUKTtcblx0aWYgKGN1cnJlbnQoKSkge1xuXHRcdGN1cnJlbnQoKS5ldmVudHMuZW1pdCgnYWN0aXZhdGVkJyk7XG5cdH1cbiAgLy8gTUVNTyhOb3pvbXVNaXlhbW90byk6IFJvdXRlck91dGxldEZyYW1l44Gu5bmF44KS5aSJ5pu044GZ44KL44Ki44OL44Oh44O844K344On44Oz44Gu5pyA6YGp5YyW44Gu44Gf44KB44Gr6YGF5bu244GV44Gb44Gm44GE44KL44CCXG5cdHJldHVybiBvZih0cnVlKS5waXBlKGRlbGF5KDApKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbmdBdG9taWNSb3V0ZXMocm91dGVzOiBSb3V0ZXMpOiBSb3V0ZXMge1xuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJvdXRlLFxuICAgICAgY2FuQWN0aXZhdGU6IFtjYW5BY3RpdmF0ZUZuLCAuLi4ocm91dGUuY2FuQWN0aXZhdGUgfHwgW10pXSxcbiAgICAgIGNhbkRlYWN0aXZhdGU6IFtjYW5EZWFjdGl2YXRlRm4sIC4uLihyb3V0ZS5jYW5EZWFjdGl2YXRlIHx8IFtdKV0sXG4gICAgICBkYXRhOiB7IHByZWxvYWQ6IHRydWUsIC4uLnJvdXRlLmRhdGEgfSxcbiAgICAgIC8vIGxvYWRDaGlsZHJlbjogcm91dGU/LmxvYWRDaGlsZHJlbiA/IGFzeW5jICgpID0+IHtcbiAgICAgIC8vICAgY29uc3QgbW9kdWxlID0gYXdhaXQgcm91dGU/LmxvYWRDaGlsZHJlbigpO1xuICAgICAgLy8gICBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IG1vZHVsZVsnZGVmYXVsdCddIHx8IG1vZHVsZVsncm91dGVzJ10gfHwgW107XG4gICAgICAvLyAgIHJldHVybiBuZ0F0b21pY1JvdXRlcyhyb3V0ZXMpO1xuICAgICAgLy8gfSA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH0pXG59Il19
@@ -1,28 +1,46 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ScrollFrame {
5
+ isScrollBottom() {
6
+ const contents = this.contents.nativeElement;
7
+ return contents.scrollHeight - contents.scrollTop === contents.clientHeight;
8
+ }
9
+ scrollToBottom() {
10
+ this.contents.nativeElement.scrollTop = this.contents.nativeElement.scrollHeight;
11
+ }
5
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ScrollFrame, isStandalone: true, selector: "frames-scroll", ngImport: i0, template: `
7
- <div class="navigator">
8
- <ng-content select=[navigator]></ng-content>
13
+ 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: `
14
+ <div class="top">
15
+ <ng-content select=[top]></ng-content>
9
16
  </div>
10
- <div class="contents">
11
- <ng-content select=[contents]></ng-content>
17
+ <div class="contents" #contents>
18
+ <ng-content></ng-content>
19
+ <!-- <ng-content select=[contents]></ng-content> -->
12
20
  </div>
13
- `, 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 }); }
21
+ <div class="bottom">
22
+ <ng-content select=[bottom]></ng-content>
23
+ </div>
24
+ `, 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 }); }
14
25
  }
15
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ScrollFrame, decorators: [{
16
27
  type: Component,
17
28
  args: [{ selector: 'frames-scroll', standalone: true, imports: [
18
29
  CommonModule,
19
30
  ], template: `
20
- <div class="navigator">
21
- <ng-content select=[navigator]></ng-content>
31
+ <div class="top">
32
+ <ng-content select=[top]></ng-content>
33
+ </div>
34
+ <div class="contents" #contents>
35
+ <ng-content></ng-content>
36
+ <!-- <ng-content select=[contents]></ng-content> -->
22
37
  </div>
23
- <div class="contents">
24
- <ng-content select=[contents]></ng-content>
38
+ <div class="bottom">
39
+ <ng-content select=[bottom]></ng-content>
25
40
  </div>
26
- `, 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"] }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL3Njcm9sbC9zY3JvbGwuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBbUJuRSxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXO2tHQUFYLFdBQVcseUVBWFo7Ozs7Ozs7R0FPVCw4b0JBVEMsWUFBWTs7MkZBYUgsV0FBVztrQkFqQnZCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3FCQUNiLFlBQ1M7Ozs7Ozs7R0FPVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZyYW1lcy1zY3JvbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwibmF2aWdhdG9yXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVtuYXZpZ2F0b3JdPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50c1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1bY29udGVudHNdPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Njcm9sbC5mcmFtZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxGcmFtZSB7IH1cbiJdfQ==
41
+ `, 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"] }]
42
+ }], propDecorators: { contents: [{
43
+ type: ViewChild,
44
+ args: ['contents', { static: true }]
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL3Njcm9sbC9zY3JvbGwuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QjFGLE1BQU0sT0FBTyxXQUFXO0lBS3RCLGNBQWM7UUFDWixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM3QyxPQUFPLFFBQVEsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQzlFLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUNuRixDQUFDOzhHQVpVLFdBQVc7a0dBQVgsV0FBVyw2TEFmWjs7Ozs7Ozs7Ozs7R0FXVCxvMkJBYkMsWUFBWTs7MkZBaUJILFdBQVc7a0JBckJ2QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTtxQkFDYixZQUNTOzs7Ozs7Ozs7OztHQVdULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUtyQyxRQUFRO3NCQURqQixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZyYW1lcy1zY3JvbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwidG9wXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVt0b3BdPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50c1wiICNjb250ZW50cz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPCEtLSA8bmctY29udGVudCBzZWxlY3Q9W2NvbnRlbnRzXT48L25nLWNvbnRlbnQ+IC0tPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1bYm90dG9tXT48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGwuZnJhbWUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsRnJhbWUge1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRzJywge3N0YXRpYzogdHJ1ZX0pXG4gIHByb3RlY3RlZCBjb250ZW50czogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgaXNTY3JvbGxCb3R0b20oKSB7XG4gICAgY29uc3QgY29udGVudHMgPSB0aGlzLmNvbnRlbnRzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIGNvbnRlbnRzLnNjcm9sbEhlaWdodCAtIGNvbnRlbnRzLnNjcm9sbFRvcCA9PT0gY29udGVudHMuY2xpZW50SGVpZ2h0O1xuICB9XG5cbiAgc2Nyb2xsVG9Cb3R0b20oKSB7XG4gICAgdGhpcy5jb250ZW50cy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuY29udGVudHMubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './scroll.frame';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvc2Nyb2xsLXYyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Njcm9sbC5mcmFtZSc7XG4iXX0=
1
+ export * from '@ng-atomic/components/frames/scroll';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvc2Nyb2xsLXYyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3Njcm9sbCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './side-app.frame';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvc2lkZS1hcHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2lkZS1hcHAuZnJhbWUnO1xuXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbXBvbmVudHMtZnJhbWVzLXNpZGUtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL3NpZGUtYXBwL25nLWF0b21pYy1jb21wb25lbnRzLWZyYW1lcy1zaWRlLWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Component, Directive, inject, input } from "@angular/core";
2
+ import { PRIMARY_OUTLET, RouterOutlet } from "@angular/router";
3
+ import { InjectableComponent, NgAtomicComponent, provideEffect } from "@ng-atomic/core";
4
+ import { RouterOutletFrameStore } from "@ng-atomic/components/frames/router-outlet";
5
+ import { ColumnsPageStore } from "@ng-atomic/components/pages/columns";
6
+ import { FormPageStore } from "@ng-atomic/components/pages/form";
7
+ import { IndexPageStore } from "@ng-atomic/components/pages/_index";
8
+ import { AppService } from "@ng-atomic/common/services/app";
9
+ import { merge } from "lodash-es";
10
+ import * as i0 from "@angular/core";
11
+ export class SideAppFrameStore extends InjectableComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.name = input();
15
+ }
16
+ static route(route) {
17
+ return merge({
18
+ outlet: 'side',
19
+ component: SideAppFrame,
20
+ path: '',
21
+ providers: [
22
+ SideAppFrameStore.provideDefault(),
23
+ ]
24
+ }, route);
25
+ }
26
+ static provideDefault() {
27
+ return [
28
+ RouterOutletFrameStore.provideSideAppConfig(PRIMARY_OUTLET),
29
+ provideEffect([
30
+ ColumnsPageStore.ActionId.CLOSE,
31
+ FormPageStore.ActionId.CLOSE,
32
+ IndexPageStore.ActionId.CLOSE,
33
+ ], () => {
34
+ const app = inject(AppService);
35
+ return () => {
36
+ app.sideApp.collapse();
37
+ };
38
+ }),
39
+ ];
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrameStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
42
+ 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 }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrameStore, decorators: [{
45
+ type: Directive,
46
+ args: [{ standalone: true, selector: 'frames-side-app' }]
47
+ }] });
48
+ export class SideAppFrame extends NgAtomicComponent {
49
+ constructor() {
50
+ super(...arguments);
51
+ this.store = inject(SideAppFrameStore);
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
+ 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"] }] }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SideAppFrame, decorators: [{
57
+ type: Component,
58
+ args: [{
59
+ standalone: true,
60
+ imports: [
61
+ RouterOutlet,
62
+ ],
63
+ selector: 'frames-side-app',
64
+ template: `<router-outlet />`,
65
+ providers: [],
66
+ hostDirectives: [
67
+ {
68
+ directive: SideAppFrameStore,
69
+ inputs: ['name'],
70
+ }
71
+ ]
72
+ }]
73
+ }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1hcHAuZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvc2lkZS1hcHAvc2lkZS1hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFTLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUdsQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRDFEOztRQTZCVyxTQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7S0FDakM7SUE1QkMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFZO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO1lBQ1gsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsWUFBWTtZQUN2QixJQUFJLEVBQUUsRUFBRTtZQUNSLFNBQVMsRUFBRTtnQkFDVCxpQkFBaUIsQ0FBQyxjQUFjLEVBQUU7YUFDbkM7U0FDRixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjO1FBQ25CLE9BQU87WUFDTCxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUM7WUFDM0QsYUFBYSxDQUFDO2dCQUNaLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUMvQixhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQzVCLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSzthQUM5QixFQUFFLEdBQUcsRUFBRTtnQkFDTixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sR0FBRyxFQUFFO29CQUNWLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUE7SUFDSCxDQUFDOzhHQTFCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFDOztBQWdEMUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxpQkFBaUI7SUFoQm5EOztRQWlCWSxVQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDN0M7OEdBRlksWUFBWTtrR0FBWixZQUFZLDhEQVRaLEVBQ1YsdURBdkNVLGlCQUFpQix1REFxQ2xCLG1CQUFtQiw0REFIM0IsWUFBWTs7MkZBYUgsWUFBWTtrQkFoQnhCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxFQUNWO29CQUNELGNBQWMsRUFBRTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsaUJBQWlCOzRCQUM1QixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7eUJBQ2pCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUFJJTUFSWV9PVVRMRVQsIFJvdXRlLCBSb3V0ZXJPdXRsZXQgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgcHJvdmlkZUVmZmVjdCB9IGZyb20gXCJAbmctYXRvbWljL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lU3RvcmUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0XCI7XG5pbXBvcnQgeyBDb2x1bW5zUGFnZVN0b3JlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9jb2x1bW5zXCI7XG5pbXBvcnQgeyBGb3JtUGFnZVN0b3JlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXCI7XG5pbXBvcnQgeyBJbmRleFBhZ2VTdG9yZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvX2luZGV4XCI7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2FwcFwiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnZnJhbWVzLXNpZGUtYXBwJ30pXG5leHBvcnQgY2xhc3MgU2lkZUFwcEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJvdXRlKHJvdXRlOiBSb3V0ZSkge1xuICAgIHJldHVybiBtZXJnZSh7XG4gICAgICBvdXRsZXQ6ICdzaWRlJyxcbiAgICAgIGNvbXBvbmVudDogU2lkZUFwcEZyYW1lLFxuICAgICAgcGF0aDogJycsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU2lkZUFwcEZyYW1lU3RvcmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICAgIF1cbiAgICB9LCByb3V0ZSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFJvdXRlck91dGxldEZyYW1lU3RvcmUucHJvdmlkZVNpZGVBcHBDb25maWcoUFJJTUFSWV9PVVRMRVQpLFxuICAgICAgcHJvdmlkZUVmZmVjdChbXG4gICAgICAgIENvbHVtbnNQYWdlU3RvcmUuQWN0aW9uSWQuQ0xPU0UsXG4gICAgICAgIEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQ0xPU0UsXG4gICAgICAgIEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkNMT1NFLFxuICAgICAgXSwgKCkgPT4ge1xuICAgICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgIF1cbiAgfVxuXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0LFxuICBdLFxuICBzZWxlY3RvcjogJ2ZyYW1lcy1zaWRlLWFwcCcsXG4gIHRlbXBsYXRlOiBgPHJvdXRlci1vdXRsZXQgLz5gLFxuICBwcm92aWRlcnM6IFtcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFNpZGVBcHBGcmFtZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ25hbWUnXSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZUFwcEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoU2lkZUFwcEZyYW1lU3RvcmUpO1xufVxuIl19