@ng-atomic/components 19.0.0-preview.9 → 19.2.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 (500) hide show
  1. package/atoms/badge/index.d.ts +9 -1
  2. package/atoms/chips-input/index.d.ts +23 -1
  3. package/atoms/icon/index.d.ts +15 -1
  4. package/atoms/index.d.ts +28 -1
  5. package/atoms/logo/index.d.ts +17 -0
  6. package/atoms/menu-button/index.d.ts +24 -1
  7. package/atoms/value-cell/index.d.ts +51 -0
  8. package/extras/editor/index.d.ts +38 -1
  9. package/extras/index.d.ts +13 -1
  10. package/fesm2022/ng-atomic-components-atoms-badge.mjs +4 -6
  11. package/fesm2022/ng-atomic-components-atoms-badge.mjs.map +1 -1
  12. package/fesm2022/ng-atomic-components-atoms-chips-input.mjs +4 -4
  13. package/fesm2022/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
  14. package/fesm2022/ng-atomic-components-atoms-icon.mjs +5 -5
  15. package/fesm2022/ng-atomic-components-atoms-icon.mjs.map +1 -1
  16. package/fesm2022/ng-atomic-components-atoms-logo.mjs +48 -0
  17. package/fesm2022/ng-atomic-components-atoms-logo.mjs.map +1 -0
  18. package/fesm2022/ng-atomic-components-atoms-menu-button.mjs +10 -10
  19. package/fesm2022/ng-atomic-components-atoms-menu-button.mjs.map +1 -1
  20. package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +345 -0
  21. package/fesm2022/ng-atomic-components-atoms-value-cell.mjs.map +1 -0
  22. package/fesm2022/ng-atomic-components-atoms.mjs +6 -4
  23. package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
  24. package/fesm2022/ng-atomic-components-extras-editor.mjs +22 -9
  25. package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
  26. package/fesm2022/ng-atomic-components-extras.mjs +4 -4
  27. package/fesm2022/ng-atomic-components-extras.mjs.map +1 -1
  28. package/fesm2022/ng-atomic-components-frames-app.mjs +76 -34
  29. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  30. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +7 -7
  31. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +109 -0
  33. package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs.map +1 -0
  34. package/fesm2022/ng-atomic-components-frames-card.mjs +4 -4
  35. package/fesm2022/ng-atomic-components-frames-card.mjs.map +1 -1
  36. package/fesm2022/ng-atomic-components-frames-columns.mjs +21 -21
  37. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  38. package/fesm2022/ng-atomic-components-frames-divider.mjs +8 -6
  39. package/fesm2022/ng-atomic-components-frames-divider.mjs.map +1 -1
  40. package/fesm2022/ng-atomic-components-frames-drawer.mjs +94 -16
  41. package/fesm2022/ng-atomic-components-frames-drawer.mjs.map +1 -1
  42. package/fesm2022/ng-atomic-components-frames-entrance.mjs +8 -8
  43. package/fesm2022/ng-atomic-components-frames-entrance.mjs.map +1 -1
  44. package/fesm2022/ng-atomic-components-frames-fab.mjs +53 -18
  45. package/fesm2022/ng-atomic-components-frames-fab.mjs.map +1 -1
  46. package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +101 -0
  47. package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs.map +1 -0
  48. package/fesm2022/ng-atomic-components-frames-line-up.mjs +11 -11
  49. package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
  50. package/fesm2022/ng-atomic-components-frames-loading.mjs +8 -8
  51. package/fesm2022/ng-atomic-components-frames-loading.mjs.map +1 -1
  52. package/fesm2022/ng-atomic-components-frames-overlay.mjs +6 -6
  53. package/fesm2022/ng-atomic-components-frames-overlay.mjs.map +1 -1
  54. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +6 -6
  55. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -1
  56. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +17 -15
  57. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  58. package/fesm2022/ng-atomic-components-frames-scroll.mjs +14 -18
  59. package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
  60. package/fesm2022/ng-atomic-components-frames-side-app.mjs +6 -6
  61. package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -1
  62. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +13 -8
  63. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  64. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +4 -4
  65. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs.map +1 -1
  66. package/fesm2022/ng-atomic-components-frames-tabs.mjs +24 -29
  67. package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-components-frames-toggle.mjs +3 -3
  69. package/fesm2022/ng-atomic-components-frames-toggle.mjs.map +1 -1
  70. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +5 -5
  71. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
  72. package/fesm2022/ng-atomic-components-frames.mjs +8 -4
  73. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  74. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +7 -8
  75. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
  76. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +6 -6
  77. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
  78. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +6 -6
  79. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  80. package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs +7 -8
  81. package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs.map +1 -1
  82. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +22 -18
  83. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs.map +1 -1
  84. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +14 -18
  85. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs.map +1 -1
  86. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +25 -26
  87. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
  88. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +5 -5
  89. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs.map +1 -1
  90. package/fesm2022/ng-atomic-components-molecules-header.mjs +6 -6
  91. package/fesm2022/ng-atomic-components-molecules-header.mjs.map +1 -1
  92. package/fesm2022/ng-atomic-components-molecules-list-item.mjs +10 -10
  93. package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -1
  94. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +8 -8
  95. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs.map +1 -1
  96. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +8 -8
  97. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
  98. package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs +7 -4
  99. package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs.map +1 -1
  100. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +9 -11
  101. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-components-molecules-text-column.mjs +56 -113
  103. package/fesm2022/ng-atomic-components-molecules-text-column.mjs.map +1 -1
  104. package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs +8 -10
  105. package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs +7 -8
  107. package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs.map +1 -1
  108. package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +134 -0
  109. package/fesm2022/ng-atomic-components-molecules-thread-message.mjs.map +1 -0
  110. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +100 -46
  111. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-molecules.mjs +10 -557
  113. package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +8 -8
  115. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +8 -8
  117. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +6 -6
  119. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +201 -0
  121. package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs.map +1 -0
  122. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +4 -4
  123. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs +6 -6
  125. package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +4 -4
  127. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +8 -8
  129. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +11 -11
  131. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +9 -14
  133. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +8 -8
  135. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +4 -4
  137. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
  138. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +3 -3
  139. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +5 -5
  141. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs.map +1 -1
  142. package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs +7 -7
  143. package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs.map +1 -1
  144. package/fesm2022/ng-atomic-components-organisms-heading.mjs +5 -5
  145. package/fesm2022/ng-atomic-components-organisms-heading.mjs.map +1 -1
  146. package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs +3 -3
  147. package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs.map +1 -1
  148. package/fesm2022/ng-atomic-components-organisms-list.mjs +11 -10
  149. package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -1
  150. package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs +6 -6
  151. package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs.map +1 -1
  152. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +8 -8
  153. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs.map +1 -1
  154. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +8 -8
  155. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
  156. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +15 -7
  157. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
  158. package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs +3 -3
  159. package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs.map +1 -1
  160. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +5 -5
  161. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs.map +1 -1
  162. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +8 -8
  163. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  164. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +8 -8
  165. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  166. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +8 -8
  167. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
  168. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +8 -8
  169. package/fesm2022/ng-atomic-components-organisms-paginator.mjs.map +1 -1
  170. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +8 -8
  171. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
  172. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +8 -8
  173. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
  174. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +3 -3
  175. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
  176. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +8 -8
  177. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  178. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +4 -4
  179. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs.map +1 -1
  180. package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs +9 -9
  181. package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs.map +1 -1
  182. package/fesm2022/ng-atomic-components-organisms-table.mjs +95 -22
  183. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  184. package/fesm2022/ng-atomic-components-organisms-terminal.mjs +4 -4
  185. package/fesm2022/ng-atomic-components-organisms-terminal.mjs.map +1 -1
  186. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +8 -8
  187. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
  188. package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs +7 -10
  189. package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs.map +1 -1
  190. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +15 -12
  191. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
  192. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +39 -74
  193. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs.map +1 -1
  194. package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs +3 -3
  195. package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs.map +1 -1
  196. package/fesm2022/ng-atomic-components-organisms-toolbar.mjs +4 -4
  197. package/fesm2022/ng-atomic-components-organisms-toolbar.mjs.map +1 -1
  198. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +7 -7
  199. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -1
  200. package/fesm2022/ng-atomic-components-organisms-tree-section.mjs +3 -3
  201. package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
  202. package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs +3 -3
  203. package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs.map +1 -1
  204. package/fesm2022/ng-atomic-components-organisms-video-section.mjs +15 -15
  205. package/fesm2022/ng-atomic-components-organisms-video-section.mjs.map +1 -1
  206. package/fesm2022/ng-atomic-components-organisms.mjs +12 -29
  207. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  208. package/fesm2022/ng-atomic-components-pages-_index.mjs +58 -30
  209. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  210. package/fesm2022/ng-atomic-components-pages-blank.mjs +3 -3
  211. package/fesm2022/ng-atomic-components-pages-blank.mjs.map +1 -1
  212. package/fesm2022/ng-atomic-components-pages-columns.mjs +10 -11
  213. package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
  214. package/fesm2022/ng-atomic-components-pages-form.mjs +20 -18
  215. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  216. package/fesm2022/ng-atomic-components-pages-terms.mjs +6 -6
  217. package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
  218. package/fesm2022/ng-atomic-components-pages.mjs +7 -5
  219. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  220. package/fesm2022/ng-atomic-components-services-global-iframe.mjs +241 -0
  221. package/fesm2022/ng-atomic-components-services-global-iframe.mjs.map +1 -0
  222. package/fesm2022/ng-atomic-components-templates-_index.mjs +196 -103
  223. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  224. package/fesm2022/ng-atomic-components-templates-background.mjs +7 -7
  225. package/fesm2022/ng-atomic-components-templates-background.mjs.map +1 -1
  226. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +8 -8
  227. package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
  228. package/fesm2022/ng-atomic-components-templates-columns.mjs +9 -9
  229. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
  230. package/fesm2022/ng-atomic-components-templates-entrance.mjs +8 -8
  231. package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
  232. package/fesm2022/ng-atomic-components-templates-file-tree.mjs +4 -4
  233. package/fesm2022/ng-atomic-components-templates-file-tree.mjs.map +1 -1
  234. package/fesm2022/ng-atomic-components-templates-form.mjs +34 -21
  235. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  236. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +12 -10
  237. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
  238. package/fesm2022/ng-atomic-components-templates-loading.mjs +3 -3
  239. package/fesm2022/ng-atomic-components-templates-loading.mjs.map +1 -1
  240. package/fesm2022/ng-atomic-components-templates-menu.mjs +8 -8
  241. package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
  242. package/fesm2022/ng-atomic-components-templates-selection.mjs +9 -9
  243. package/fesm2022/ng-atomic-components-templates-selection.mjs.map +1 -1
  244. package/fesm2022/ng-atomic-components-templates-settings.mjs +5 -5
  245. package/fesm2022/ng-atomic-components-templates-settings.mjs.map +1 -1
  246. package/fesm2022/ng-atomic-components-templates-tab-editor.mjs +4 -4
  247. package/fesm2022/ng-atomic-components-templates-tab-editor.mjs.map +1 -1
  248. package/fesm2022/ng-atomic-components-templates-term.mjs +6 -6
  249. package/fesm2022/ng-atomic-components-templates-term.mjs.map +1 -1
  250. package/fesm2022/{ng-atomic-components-templates-messages.mjs → ng-atomic-components-templates-thread.mjs} +39 -26
  251. package/fesm2022/ng-atomic-components-templates-thread.mjs.map +1 -0
  252. package/fesm2022/ng-atomic-components-templates.mjs +6 -4
  253. package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
  254. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  255. package/frames/app/index.d.ts +253 -1
  256. package/frames/auto-layout/index.d.ts +14 -1
  257. package/frames/breadcrumb-navbar/index.d.ts +48 -0
  258. package/frames/card/index.d.ts +8 -1
  259. package/frames/columns/index.d.ts +58 -1
  260. package/frames/divider/index.d.ts +28 -1
  261. package/frames/drawer/index.d.ts +31 -1
  262. package/frames/entrance/index.d.ts +22 -1
  263. package/frames/fab/index.d.ts +44 -2
  264. package/frames/horizontal-divider/index.d.ts +28 -0
  265. package/frames/index.d.ts +15 -1
  266. package/frames/line-up/index.d.ts +51 -2
  267. package/frames/loading/index.d.ts +15 -1
  268. package/frames/overlay/index.d.ts +16 -1
  269. package/frames/progress-bar/index.d.ts +17 -1
  270. package/frames/router-outlet/index.d.ts +61 -2
  271. package/frames/scroll/index.d.ts +12 -1
  272. package/frames/side-app/index.d.ts +23 -1
  273. package/frames/side-nav/index.d.ts +58 -1
  274. package/frames/smart-menu/index.d.ts +16 -1
  275. package/frames/tabs/index.d.ts +12 -1
  276. package/frames/toggle/index.d.ts +12 -1
  277. package/frames/vertical-hide/index.d.ts +9 -1
  278. package/index.d.ts +5 -1
  279. package/molecules/action-input-field/index.d.ts +26 -1
  280. package/molecules/actions-column/index.d.ts +57 -1
  281. package/molecules/checkbox-column/index.d.ts +42 -1
  282. package/molecules/chips-input-field/index.d.ts +73 -1
  283. package/molecules/date-input-field/index.d.ts +22 -1
  284. package/molecules/date-range-input-field/index.d.ts +20 -1
  285. package/molecules/file-input-field/index.d.ts +43 -1
  286. package/molecules/grid-item/index.d.ts +15 -1
  287. package/molecules/header/index.d.ts +16 -1
  288. package/molecules/index.d.ts +5 -1
  289. package/molecules/list-item/index.d.ts +55 -1
  290. package/molecules/loading-box/index.d.ts +27 -1
  291. package/molecules/navigation-list-item/index.d.ts +17 -1
  292. package/molecules/nested-menu/index.d.ts +13 -1
  293. package/molecules/select-input-field/index.d.ts +26 -1
  294. package/molecules/text-column/index.d.ts +55 -1
  295. package/molecules/text-input-field/index.d.ts +24 -1
  296. package/molecules/textarea-field/index.d.ts +26 -1
  297. package/molecules/thread-message/index.d.ts +75 -0
  298. package/molecules/tree-column/index.d.ts +58 -1
  299. package/organisms/action-buttons-section/index.d.ts +16 -1
  300. package/organisms/action-input-section/index.d.ts +20 -1
  301. package/organisms/agreement-input-section/index.d.ts +20 -1
  302. package/organisms/breadcrumb-navbar/index.d.ts +66 -0
  303. package/organisms/card-input-section/index.d.ts +12 -1
  304. package/organisms/chips-input-section/index.d.ts +20 -1
  305. package/organisms/cvc-and-exp-input-section/index.d.ts +13 -1
  306. package/organisms/date-input-section/index.d.ts +21 -1
  307. package/organisms/date-range-input-section/index.d.ts +24 -1
  308. package/organisms/definition-list/index.d.ts +15 -1
  309. package/organisms/file-input-section/index.d.ts +28 -1
  310. package/organisms/filters-section/index.d.ts +23 -1
  311. package/organisms/graphql-editor/index.d.ts +31 -1
  312. package/organisms/grid-cards-section/index.d.ts +17 -1
  313. package/organisms/grid-toolbar/index.d.ts +22 -1
  314. package/organisms/heading/index.d.ts +9 -1
  315. package/organisms/image-preview-section/index.d.ts +10 -1
  316. package/organisms/index.d.ts +5 -1
  317. package/organisms/list/index.d.ts +55 -1
  318. package/organisms/markdown-preview-section/index.d.ts +14 -1
  319. package/organisms/menu-footer/index.d.ts +21 -1
  320. package/organisms/menu-header/index.d.ts +27 -1
  321. package/organisms/mermaid-section/index.d.ts +17 -1
  322. package/organisms/message-input-section/index.d.ts +17 -1
  323. package/organisms/messages-section/index.d.ts +14 -1
  324. package/organisms/navigation-list/index.d.ts +16 -1
  325. package/organisms/navigator/index.d.ts +38 -1
  326. package/organisms/number-input-section/index.d.ts +22 -1
  327. package/organisms/paginator/index.d.ts +27 -1
  328. package/organisms/password-input-section/index.d.ts +22 -1
  329. package/organisms/select-input-section/index.d.ts +25 -1
  330. package/organisms/selection-list/index.d.ts +20 -1
  331. package/organisms/slider-input-section/index.d.ts +32 -1
  332. package/organisms/social-login-section/index.d.ts +10 -1
  333. package/organisms/stripe-input-section/index.d.ts +180 -1
  334. package/organisms/table/index.d.ts +167 -3
  335. package/organisms/terminal/index.d.ts +13 -1
  336. package/organisms/text-input-section/index.d.ts +22 -1
  337. package/organisms/text-preview-section/index.d.ts +18 -1
  338. package/organisms/textarea-section/index.d.ts +28 -1
  339. package/organisms/thread-messages-section/index.d.ts +24 -1
  340. package/organisms/time-range-input-section/index.d.ts +13 -1
  341. package/organisms/toolbar/index.d.ts +16 -1
  342. package/organisms/tree-list/index.d.ts +39 -1
  343. package/organisms/tree-section/index.d.ts +52 -1
  344. package/organisms/vertical-divider/index.d.ts +8 -1
  345. package/organisms/video-section/index.d.ts +45 -1
  346. package/package.json +43 -19
  347. package/pages/_index/index.d.ts +344 -1
  348. package/pages/blank/index.d.ts +13 -3
  349. package/pages/columns/index.d.ts +66 -1
  350. package/pages/form/index.d.ts +253 -1
  351. package/pages/index.d.ts +21 -1
  352. package/pages/terms/index.d.ts +63 -1
  353. package/services/global-iframe/index.d.ts +69 -0
  354. package/styles/styles.scss +2 -1
  355. package/templates/_index/index.d.ts +316 -1
  356. package/templates/background/index.d.ts +14 -1
  357. package/templates/code-editor/index.d.ts +26 -1
  358. package/templates/columns/index.d.ts +69 -1
  359. package/templates/entrance/index.d.ts +35 -1
  360. package/templates/file-tree/index.d.ts +27 -1
  361. package/templates/form/index.d.ts +114 -2
  362. package/templates/icon-button-menu/index.d.ts +17 -1
  363. package/templates/index.d.ts +64 -1
  364. package/templates/loading/index.d.ts +8 -1
  365. package/templates/menu/index.d.ts +16 -1
  366. package/templates/selection/index.d.ts +29 -1
  367. package/templates/settings/index.d.ts +18 -1
  368. package/templates/tab-editor/index.d.ts +11 -1
  369. package/templates/term/index.d.ts +27 -1
  370. package/templates/thread/index.d.ts +36 -0
  371. package/atoms/atoms.module.d.ts +0 -17
  372. package/atoms/badge/badge.atom.d.ts +0 -6
  373. package/atoms/chips-input/chips-input.atom.d.ts +0 -20
  374. package/atoms/icon/icon.atom.d.ts +0 -12
  375. package/atoms/menu-button/menu-button.atom.d.ts +0 -22
  376. package/components.module.d.ts +0 -2
  377. package/extras/editor/editor.component.d.ts +0 -32
  378. package/extras/extras.module.d.ts +0 -10
  379. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +0 -6
  380. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +0 -1
  381. package/fesm2022/ng-atomic-components-templates-messages.mjs.map +0 -1
  382. package/frames/app/app.frame.d.ts +0 -150
  383. package/frames/auto-layout/auto-layout.frame.d.ts +0 -11
  384. package/frames/card/card.frame.d.ts +0 -5
  385. package/frames/columns/columns.frame.d.ts +0 -54
  386. package/frames/divider/divider.frame.d.ts +0 -26
  387. package/frames/drawer/drawer.frame.d.ts +0 -15
  388. package/frames/entrance/entrance.frame.d.ts +0 -19
  389. package/frames/fab/fab.frame.d.ts +0 -30
  390. package/frames/fab/fab.service.d.ts +0 -12
  391. package/frames/frames.module.d.ts +0 -12
  392. package/frames/line-up/line-up.animations.d.ts +0 -1
  393. package/frames/line-up/line-up.frame.d.ts +0 -27
  394. package/frames/line-up/line-up.service.d.ts +0 -22
  395. package/frames/line-up/resize-observer.d.ts +0 -3
  396. package/frames/loading/loading.frame.d.ts +0 -12
  397. package/frames/overlay/overlay.frame.d.ts +0 -13
  398. package/frames/progress-bar/progress-bar.frame.d.ts +0 -14
  399. package/frames/router-outlet/router-outlet.frame.d.ts +0 -50
  400. package/frames/router-outlet/router-outlet.helper.d.ts +0 -6
  401. package/frames/scroll/scroll.frame.d.ts +0 -9
  402. package/frames/scroll-v2/index.d.ts +0 -1
  403. package/frames/side-app/side-app.frame.d.ts +0 -20
  404. package/frames/side-nav/side-nav.frame.d.ts +0 -51
  405. package/frames/smart-menu/smart-menu.frame.d.ts +0 -13
  406. package/frames/tabs/tabs.frame.d.ts +0 -10
  407. package/frames/toggle/toggle.frame.d.ts +0 -9
  408. package/frames/vertical-hide/vertical-hide.frame.d.ts +0 -6
  409. package/molecules/action-input-field/action-input-field.molecule.d.ts +0 -24
  410. package/molecules/actions-column/actions-column.molecule.d.ts +0 -53
  411. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +0 -40
  412. package/molecules/chips-input-field/chips-input-field.molecule.d.ts +0 -68
  413. package/molecules/date-input-field/date-input-field.molecule.d.ts +0 -19
  414. package/molecules/date-range-input-field/date-range-input-field.molecule.d.ts +0 -19
  415. package/molecules/file-input-field/file-input-field.molecule.d.ts +0 -43
  416. package/molecules/grid-item/grid-item.molecule.d.ts +0 -13
  417. package/molecules/header/header.molecule.d.ts +0 -13
  418. package/molecules/list-item/list-item.molecule.d.ts +0 -51
  419. package/molecules/loading-box/loading-box.molecule.d.ts +0 -23
  420. package/molecules/molecules.module.d.ts +0 -54
  421. package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +0 -15
  422. package/molecules/nested-menu/nested-menu.molecule.d.ts +0 -10
  423. package/molecules/select-input-field/select-input-field.molecule.d.ts +0 -22
  424. package/molecules/text-column/text-column.molecule.d.ts +0 -59
  425. package/molecules/text-input-field/text-input-field.molecule.d.ts +0 -21
  426. package/molecules/textarea-field/textarea-field.molecule.d.ts +0 -23
  427. package/molecules/tree-column/tree-column.molecule.d.ts +0 -42
  428. package/organisms/action-buttons-section/action-buttons-section.organism.d.ts +0 -13
  429. package/organisms/action-input-section/action-input-section.organism.d.ts +0 -18
  430. package/organisms/agreement-input-section/agreement-input-section.organism.d.ts +0 -17
  431. package/organisms/card-input-section/card-input-section.organism.d.ts +0 -9
  432. package/organisms/chips-input-section/chips-input-section.organism.d.ts +0 -17
  433. package/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.d.ts +0 -10
  434. package/organisms/date-input-section/date-input-section.organism.d.ts +0 -18
  435. package/organisms/date-range-input-section/date-range-input-section.organism.d.ts +0 -21
  436. package/organisms/definition-list/definition-list.organism.d.ts +0 -12
  437. package/organisms/file-input-section/file-input-section.organism.d.ts +0 -26
  438. package/organisms/filters-section/filters-section.organism.d.ts +0 -20
  439. package/organisms/graphql-editor/graphql-editor.organism.d.ts +0 -29
  440. package/organisms/grid-cards-section/grid-cards-section.organism.d.ts +0 -15
  441. package/organisms/grid-toolbar/grid-toolbar.organism.d.ts +0 -19
  442. package/organisms/heading/heading.organism.d.ts +0 -6
  443. package/organisms/image-preview-section/image-preview-section.organism.d.ts +0 -7
  444. package/organisms/list/list.organism.d.ts +0 -50
  445. package/organisms/markdown-preview-section/markdown-preview-section.organism.d.ts +0 -11
  446. package/organisms/menu-footer/menu-footer.organism.d.ts +0 -18
  447. package/organisms/menu-header/menu-header.organism.d.ts +0 -23
  448. package/organisms/mermaid-section/mermaid-section.organism.d.ts +0 -14
  449. package/organisms/message-input-section/message-input-section.organism.d.ts +0 -14
  450. package/organisms/messages-section/messages-section.organism.d.ts +0 -11
  451. package/organisms/navigation-list/navigation-list.organism.d.ts +0 -14
  452. package/organisms/navigator/navigator.organism.d.ts +0 -35
  453. package/organisms/number-input-section/number-input-section.organism.d.ts +0 -19
  454. package/organisms/organisms.module.d.ts +0 -120
  455. package/organisms/paginator/paginator.organism.d.ts +0 -24
  456. package/organisms/password-input-section/password-input-section.organism.d.ts +0 -19
  457. package/organisms/select-input-section/select-input-section.organism.d.ts +0 -22
  458. package/organisms/selection-list/selection-list.organism.d.ts +0 -19
  459. package/organisms/slider-input-section/slider-input-section.organism.d.ts +0 -28
  460. package/organisms/social-login-section/social-login-section.organism.d.ts +0 -7
  461. package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +0 -172
  462. package/organisms/table/table.helpers.d.ts +0 -44
  463. package/organisms/table/table.organism.d.ts +0 -105
  464. package/organisms/terminal/terminal.organism.d.ts +0 -10
  465. package/organisms/text-input-section/text-input-section.organism.d.ts +0 -19
  466. package/organisms/text-preview-section/text-preview-section.organism.d.ts +0 -15
  467. package/organisms/textarea-section/textarea-section.organism.d.ts +0 -20
  468. package/organisms/thread-messages-section/thread-messages-section.organism.d.ts +0 -14
  469. package/organisms/time-range-input-section/time-range-input-section.organism.d.ts +0 -9
  470. package/organisms/toolbar/toolbar.organism.d.ts +0 -15
  471. package/organisms/tree-list/tree-list.organism.d.ts +0 -33
  472. package/organisms/tree-section/tree-section.organism.d.ts +0 -49
  473. package/organisms/vertical-divider/vertical-divider.organism.d.ts +0 -5
  474. package/organisms/video-section/video-section.organism.d.ts +0 -41
  475. package/pages/_index/index.page.d.ts +0 -219
  476. package/pages/blank/blank.page.d.ts +0 -5
  477. package/pages/blank/blank.route.d.ts +0 -2
  478. package/pages/blank/blank.routes.d.ts +0 -2
  479. package/pages/columns/columns.page.d.ts +0 -63
  480. package/pages/form/form.page.d.ts +0 -162
  481. package/pages/pages.module.d.ts +0 -11
  482. package/pages/terms/terms.page.d.ts +0 -60
  483. package/templates/_index/index.template.d.ts +0 -296
  484. package/templates/background/background.template.d.ts +0 -11
  485. package/templates/code-editor/code-editor.template.d.ts +0 -24
  486. package/templates/columns/columns.template.d.ts +0 -64
  487. package/templates/entrance/entrance.template.d.ts +0 -33
  488. package/templates/file-tree/file-tree.template.d.ts +0 -24
  489. package/templates/form/form.builder.d.ts +0 -40
  490. package/templates/form/form.template.d.ts +0 -74
  491. package/templates/icon-button-menu/icon-button-menu.template.d.ts +0 -14
  492. package/templates/loading/loading.template.d.ts +0 -5
  493. package/templates/menu/menu.template.d.ts +0 -15
  494. package/templates/messages/index.d.ts +0 -1
  495. package/templates/messages/messages.template.d.ts +0 -33
  496. package/templates/selection/selection.template.d.ts +0 -28
  497. package/templates/settings/settings.template.d.ts +0 -16
  498. package/templates/tab-editor/tab-editor.template.d.ts +0 -8
  499. package/templates/templates.module.d.ts +0 -54
  500. package/templates/term/term.template.d.ts +0 -25
@@ -0,0 +1,241 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+
5
+ /**
6
+ * グローバルレベルでiframeを管理するサービス
7
+ * router-outletの外側でiframeを保持し、状態を維持する
8
+ */
9
+ class GlobalIframeService {
10
+ constructor(rendererFactory, appRef) {
11
+ this.appRef = appRef;
12
+ this.iframes = new Map();
13
+ this.globalContainer = null;
14
+ this.activeIframe$ = new BehaviorSubject(null);
15
+ this.renderer = rendererFactory.createRenderer(null, null);
16
+ this.initializeGlobalContainer();
17
+ }
18
+ /**
19
+ * グローバルコンテナを初期化(document.bodyに直接追加)
20
+ */
21
+ initializeGlobalContainer() {
22
+ if (typeof document === 'undefined')
23
+ return;
24
+ // 即座にコンテナを作成
25
+ this.createGlobalContainer();
26
+ }
27
+ createGlobalContainer() {
28
+ // 既存のコンテナを探す
29
+ const existingContainer = document.querySelector('[data-global-iframe-container="true"]');
30
+ if (existingContainer) {
31
+ this.globalContainer = existingContainer;
32
+ console.debug('[GlobalIframeService] Reusing existing global container');
33
+ // 既存のiframeを復元
34
+ const existingIframes = existingContainer.querySelectorAll('[data-global-iframe-key]');
35
+ existingIframes.forEach((wrapper) => {
36
+ const key = wrapper.getAttribute('data-global-iframe-key');
37
+ const iframe = wrapper.querySelector('iframe');
38
+ if (key && iframe) {
39
+ const state = {
40
+ element: iframe,
41
+ wrapper: wrapper,
42
+ url: iframe.src,
43
+ key: key,
44
+ visible: wrapper.style.display !== 'none'
45
+ };
46
+ this.iframes.set(key, state);
47
+ console.debug(`[GlobalIframeService] Restored iframe for key: ${key}`);
48
+ }
49
+ });
50
+ return;
51
+ }
52
+ // 新しいコンテナを作成
53
+ this.globalContainer = this.renderer.createElement('div');
54
+ this.renderer.setAttribute(this.globalContainer, 'data-global-iframe-container', 'true');
55
+ this.renderer.setStyle(this.globalContainer, 'position', 'fixed');
56
+ this.renderer.setStyle(this.globalContainer, 'top', '0');
57
+ this.renderer.setStyle(this.globalContainer, 'left', '0');
58
+ this.renderer.setStyle(this.globalContainer, 'width', '100%');
59
+ this.renderer.setStyle(this.globalContainer, 'height', '100%');
60
+ this.renderer.setStyle(this.globalContainer, 'pointer-events', 'none');
61
+ this.renderer.setStyle(this.globalContainer, 'z-index', '999'); // router-outletより上に配置
62
+ this.renderer.appendChild(document.body, this.globalContainer);
63
+ console.debug('[GlobalIframeService] Global container created');
64
+ }
65
+ /**
66
+ * iframeを作成または取得
67
+ */
68
+ getOrCreateIframe(key, url) {
69
+ // キャッシュをチェック
70
+ const existing = this.iframes.get(key);
71
+ if (existing) {
72
+ console.debug(`[GlobalIframeService] Returning existing iframe for key: ${key}`);
73
+ // URLが変更されている場合のみ更新
74
+ if (existing.url !== url && url) {
75
+ console.debug(`[GlobalIframeService] URL changed from ${existing.url} to ${url}`);
76
+ existing.element.src = url;
77
+ existing.url = url;
78
+ }
79
+ return existing.element;
80
+ }
81
+ // コンテナが存在しない場合は作成
82
+ if (!this.globalContainer) {
83
+ this.createGlobalContainer();
84
+ }
85
+ // 新しいiframeを作成
86
+ console.debug(`[GlobalIframeService] Creating new iframe for key: ${key}`);
87
+ const wrapper = this.renderer.createElement('div');
88
+ this.renderer.setAttribute(wrapper, 'data-global-iframe-key', key);
89
+ this.renderer.setStyle(wrapper, 'position', 'absolute');
90
+ this.renderer.setStyle(wrapper, 'top', '0');
91
+ this.renderer.setStyle(wrapper, 'left', '0');
92
+ this.renderer.setStyle(wrapper, 'width', '100%');
93
+ this.renderer.setStyle(wrapper, 'height', '100%');
94
+ this.renderer.setStyle(wrapper, 'display', 'none'); // 初期状態は非表示
95
+ this.renderer.setStyle(wrapper, 'pointer-events', 'auto');
96
+ const iframe = this.renderer.createElement('iframe');
97
+ this.renderer.setAttribute(iframe, 'src', url);
98
+ this.renderer.setAttribute(iframe, 'width', '100%');
99
+ this.renderer.setAttribute(iframe, 'height', '100%');
100
+ this.renderer.setAttribute(iframe, 'frameborder', '0');
101
+ this.renderer.setAttribute(iframe, 'allow', 'accelerometer; autoplay; clipboard-write; clipboard-read; encrypted-media; gyroscope; picture-in-picture; fullscreen; camera; microphone; geolocation; midi; payment; usb; web-share; display-capture');
102
+ // Coderのような複雑なアプリケーションのために、sandbox属性を削除またはより緩い設定にする
103
+ this.renderer.setAttribute(iframe, 'sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-modals allow-storage-access-by-user-activation allow-downloads allow-pointer-lock allow-presentation allow-top-navigation allow-top-navigation-by-user-activation');
104
+ this.renderer.appendChild(wrapper, iframe);
105
+ if (this.globalContainer) {
106
+ this.renderer.appendChild(this.globalContainer, wrapper);
107
+ }
108
+ const state = {
109
+ element: iframe,
110
+ wrapper: wrapper,
111
+ url: url,
112
+ key: key,
113
+ visible: false
114
+ };
115
+ this.iframes.set(key, state);
116
+ return iframe;
117
+ }
118
+ /**
119
+ * 指定されたiframeを表示し、他のiframeを非表示にする
120
+ */
121
+ showIframe(key, targetRect) {
122
+ // 全てのiframeを非表示
123
+ this.iframes.forEach((state, iframeKey) => {
124
+ if (iframeKey === key) {
125
+ // 対象のiframeを表示
126
+ this.renderer.setStyle(state.wrapper, 'display', 'block');
127
+ // targetRectが指定されている場合は位置を調整
128
+ if (targetRect) {
129
+ this.renderer.setStyle(state.wrapper, 'position', 'fixed');
130
+ this.renderer.setStyle(state.wrapper, 'top', `${targetRect.top}px`);
131
+ this.renderer.setStyle(state.wrapper, 'left', `${targetRect.left}px`);
132
+ this.renderer.setStyle(state.wrapper, 'width', `${targetRect.width}px`);
133
+ this.renderer.setStyle(state.wrapper, 'height', `${targetRect.height}px`);
134
+ }
135
+ state.visible = true;
136
+ console.debug(`[GlobalIframeService] Showing iframe for key: ${key}`);
137
+ }
138
+ else {
139
+ // 他のiframeを非表示
140
+ this.renderer.setStyle(state.wrapper, 'display', 'none');
141
+ state.visible = false;
142
+ }
143
+ });
144
+ this.activeIframe$.next(key);
145
+ }
146
+ /**
147
+ * 指定されたiframeを非表示にする
148
+ */
149
+ hideIframe(key) {
150
+ const state = this.iframes.get(key);
151
+ if (state) {
152
+ this.renderer.setStyle(state.wrapper, 'display', 'none');
153
+ state.visible = false;
154
+ console.debug(`[GlobalIframeService] Hiding iframe for key: ${key}`);
155
+ if (this.activeIframe$.value === key) {
156
+ this.activeIframe$.next(null);
157
+ }
158
+ }
159
+ }
160
+ /**
161
+ * 全てのiframeを非表示にする
162
+ */
163
+ hideAll() {
164
+ this.iframes.forEach((state) => {
165
+ this.renderer.setStyle(state.wrapper, 'display', 'none');
166
+ state.visible = false;
167
+ });
168
+ this.activeIframe$.next(null);
169
+ console.debug('[GlobalIframeService] All iframes hidden');
170
+ }
171
+ /**
172
+ * 現在アクティブなiframeのキーを取得
173
+ */
174
+ getActiveIframe() {
175
+ return this.activeIframe$.asObservable();
176
+ }
177
+ /**
178
+ * 指定されたキーのiframeが存在するか確認
179
+ */
180
+ has(key) {
181
+ return this.iframes.has(key);
182
+ }
183
+ /**
184
+ * 指定されたキーのiframeを削除
185
+ */
186
+ remove(key) {
187
+ const state = this.iframes.get(key);
188
+ if (state && state.wrapper.parentNode) {
189
+ this.renderer.removeChild(state.wrapper.parentNode, state.wrapper);
190
+ }
191
+ this.iframes.delete(key);
192
+ console.debug(`[GlobalIframeService] Removed iframe with key: ${key}`);
193
+ }
194
+ /**
195
+ * 指定されたキーのiframeをリロード
196
+ */
197
+ reload(key) {
198
+ const state = this.iframes.get(key);
199
+ if (state) {
200
+ console.debug(`[GlobalIframeService] Reloading iframe for key: ${key}`);
201
+ // srcを一時的に空にしてから再設定することでリロードを強制
202
+ const currentSrc = state.element.src;
203
+ state.element.src = '';
204
+ setTimeout(() => {
205
+ state.element.src = currentSrc;
206
+ }, 0);
207
+ }
208
+ }
209
+ /**
210
+ * 古いiframeをクリーンアップ
211
+ */
212
+ cleanup(maxAge = 30 * 60 * 1000) {
213
+ // const now = Date.now();
214
+ // const keysToRemove: string[] = [];
215
+ // this.iframes.forEach((state, key) => {
216
+ // // 現在表示中のiframeは削除しない
217
+ // if (!state.visible) {
218
+ // keysToRemove.push(key);
219
+ // }
220
+ // });
221
+ // keysToRemove.forEach(key => this.remove(key));
222
+ // if (keysToRemove.length > 0) {
223
+ // console.debug(`[GlobalIframeService] Cleaned up ${keysToRemove.length} old iframes`);
224
+ // }
225
+ }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GlobalIframeService, deps: [{ token: i0.RendererFactory2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GlobalIframeService, providedIn: 'root' }); }
228
+ }
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GlobalIframeService, decorators: [{
230
+ type: Injectable,
231
+ args: [{
232
+ providedIn: 'root'
233
+ }]
234
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i0.ApplicationRef }] });
235
+
236
+ /**
237
+ * Generated bundle index. Do not edit.
238
+ */
239
+
240
+ export { GlobalIframeService };
241
+ //# sourceMappingURL=ng-atomic-components-services-global-iframe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-components-services-global-iframe.mjs","sources":["../tmp-esm2022/services/global-iframe/global-iframe.service.js","../tmp-esm2022/services/global-iframe/ng-atomic-components-services-global-iframe.js"],"sourcesContent":["import { Injectable, RendererFactory2, ApplicationRef } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * グローバルレベルでiframeを管理するサービス\n * router-outletの外側でiframeを保持し、状態を維持する\n */\nexport class GlobalIframeService {\n constructor(rendererFactory, appRef) {\n this.appRef = appRef;\n this.iframes = new Map();\n this.globalContainer = null;\n this.activeIframe$ = new BehaviorSubject(null);\n this.renderer = rendererFactory.createRenderer(null, null);\n this.initializeGlobalContainer();\n }\n /**\n * グローバルコンテナを初期化(document.bodyに直接追加)\n */\n initializeGlobalContainer() {\n if (typeof document === 'undefined')\n return;\n // 即座にコンテナを作成\n this.createGlobalContainer();\n }\n createGlobalContainer() {\n // 既存のコンテナを探す\n const existingContainer = document.querySelector('[data-global-iframe-container=\"true\"]');\n if (existingContainer) {\n this.globalContainer = existingContainer;\n console.debug('[GlobalIframeService] Reusing existing global container');\n // 既存のiframeを復元\n const existingIframes = existingContainer.querySelectorAll('[data-global-iframe-key]');\n existingIframes.forEach((wrapper) => {\n const key = wrapper.getAttribute('data-global-iframe-key');\n const iframe = wrapper.querySelector('iframe');\n if (key && iframe) {\n const state = {\n element: iframe,\n wrapper: wrapper,\n url: iframe.src,\n key: key,\n visible: wrapper.style.display !== 'none'\n };\n this.iframes.set(key, state);\n console.debug(`[GlobalIframeService] Restored iframe for key: ${key}`);\n }\n });\n return;\n }\n // 新しいコンテナを作成\n this.globalContainer = this.renderer.createElement('div');\n this.renderer.setAttribute(this.globalContainer, 'data-global-iframe-container', 'true');\n this.renderer.setStyle(this.globalContainer, 'position', 'fixed');\n this.renderer.setStyle(this.globalContainer, 'top', '0');\n this.renderer.setStyle(this.globalContainer, 'left', '0');\n this.renderer.setStyle(this.globalContainer, 'width', '100%');\n this.renderer.setStyle(this.globalContainer, 'height', '100%');\n this.renderer.setStyle(this.globalContainer, 'pointer-events', 'none');\n this.renderer.setStyle(this.globalContainer, 'z-index', '999'); // router-outletより上に配置\n this.renderer.appendChild(document.body, this.globalContainer);\n console.debug('[GlobalIframeService] Global container created');\n }\n /**\n * iframeを作成または取得\n */\n getOrCreateIframe(key, url) {\n // キャッシュをチェック\n const existing = this.iframes.get(key);\n if (existing) {\n console.debug(`[GlobalIframeService] Returning existing iframe for key: ${key}`);\n // URLが変更されている場合のみ更新\n if (existing.url !== url && url) {\n console.debug(`[GlobalIframeService] URL changed from ${existing.url} to ${url}`);\n existing.element.src = url;\n existing.url = url;\n }\n return existing.element;\n }\n // コンテナが存在しない場合は作成\n if (!this.globalContainer) {\n this.createGlobalContainer();\n }\n // 新しいiframeを作成\n console.debug(`[GlobalIframeService] Creating new iframe for key: ${key}`);\n const wrapper = this.renderer.createElement('div');\n this.renderer.setAttribute(wrapper, 'data-global-iframe-key', key);\n this.renderer.setStyle(wrapper, 'position', 'absolute');\n this.renderer.setStyle(wrapper, 'top', '0');\n this.renderer.setStyle(wrapper, 'left', '0');\n this.renderer.setStyle(wrapper, 'width', '100%');\n this.renderer.setStyle(wrapper, 'height', '100%');\n this.renderer.setStyle(wrapper, 'display', 'none'); // 初期状態は非表示\n this.renderer.setStyle(wrapper, 'pointer-events', 'auto');\n const iframe = this.renderer.createElement('iframe');\n this.renderer.setAttribute(iframe, 'src', url);\n this.renderer.setAttribute(iframe, 'width', '100%');\n this.renderer.setAttribute(iframe, 'height', '100%');\n this.renderer.setAttribute(iframe, 'frameborder', '0');\n this.renderer.setAttribute(iframe, 'allow', 'accelerometer; autoplay; clipboard-write; clipboard-read; encrypted-media; gyroscope; picture-in-picture; fullscreen; camera; microphone; geolocation; midi; payment; usb; web-share; display-capture');\n // Coderのような複雑なアプリケーションのために、sandbox属性を削除またはより緩い設定にする\n this.renderer.setAttribute(iframe, 'sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-modals allow-storage-access-by-user-activation allow-downloads allow-pointer-lock allow-presentation allow-top-navigation allow-top-navigation-by-user-activation');\n this.renderer.appendChild(wrapper, iframe);\n if (this.globalContainer) {\n this.renderer.appendChild(this.globalContainer, wrapper);\n }\n const state = {\n element: iframe,\n wrapper: wrapper,\n url: url,\n key: key,\n visible: false\n };\n this.iframes.set(key, state);\n return iframe;\n }\n /**\n * 指定されたiframeを表示し、他のiframeを非表示にする\n */\n showIframe(key, targetRect) {\n // 全てのiframeを非表示\n this.iframes.forEach((state, iframeKey) => {\n if (iframeKey === key) {\n // 対象のiframeを表示\n this.renderer.setStyle(state.wrapper, 'display', 'block');\n // targetRectが指定されている場合は位置を調整\n if (targetRect) {\n this.renderer.setStyle(state.wrapper, 'position', 'fixed');\n this.renderer.setStyle(state.wrapper, 'top', `${targetRect.top}px`);\n this.renderer.setStyle(state.wrapper, 'left', `${targetRect.left}px`);\n this.renderer.setStyle(state.wrapper, 'width', `${targetRect.width}px`);\n this.renderer.setStyle(state.wrapper, 'height', `${targetRect.height}px`);\n }\n state.visible = true;\n console.debug(`[GlobalIframeService] Showing iframe for key: ${key}`);\n }\n else {\n // 他のiframeを非表示\n this.renderer.setStyle(state.wrapper, 'display', 'none');\n state.visible = false;\n }\n });\n this.activeIframe$.next(key);\n }\n /**\n * 指定されたiframeを非表示にする\n */\n hideIframe(key) {\n const state = this.iframes.get(key);\n if (state) {\n this.renderer.setStyle(state.wrapper, 'display', 'none');\n state.visible = false;\n console.debug(`[GlobalIframeService] Hiding iframe for key: ${key}`);\n if (this.activeIframe$.value === key) {\n this.activeIframe$.next(null);\n }\n }\n }\n /**\n * 全てのiframeを非表示にする\n */\n hideAll() {\n this.iframes.forEach((state) => {\n this.renderer.setStyle(state.wrapper, 'display', 'none');\n state.visible = false;\n });\n this.activeIframe$.next(null);\n console.debug('[GlobalIframeService] All iframes hidden');\n }\n /**\n * 現在アクティブなiframeのキーを取得\n */\n getActiveIframe() {\n return this.activeIframe$.asObservable();\n }\n /**\n * 指定されたキーのiframeが存在するか確認\n */\n has(key) {\n return this.iframes.has(key);\n }\n /**\n * 指定されたキーのiframeを削除\n */\n remove(key) {\n const state = this.iframes.get(key);\n if (state && state.wrapper.parentNode) {\n this.renderer.removeChild(state.wrapper.parentNode, state.wrapper);\n }\n this.iframes.delete(key);\n console.debug(`[GlobalIframeService] Removed iframe with key: ${key}`);\n }\n /**\n * 指定されたキーのiframeをリロード\n */\n reload(key) {\n const state = this.iframes.get(key);\n if (state) {\n console.debug(`[GlobalIframeService] Reloading iframe for key: ${key}`);\n // srcを一時的に空にしてから再設定することでリロードを強制\n const currentSrc = state.element.src;\n state.element.src = '';\n setTimeout(() => {\n state.element.src = currentSrc;\n }, 0);\n }\n }\n /**\n * 古いiframeをクリーンアップ\n */\n cleanup(maxAge = 30 * 60 * 1000) {\n // const now = Date.now();\n // const keysToRemove: string[] = [];\n // this.iframes.forEach((state, key) => {\n // // 現在表示中のiframeは削除しない\n // if (!state.visible) {\n // keysToRemove.push(key);\n // }\n // });\n // keysToRemove.forEach(key => this.remove(key));\n // if (keysToRemove.length > 0) {\n // console.debug(`[GlobalIframeService] Cleaned up ${keysToRemove.length} old iframes`);\n // }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GlobalIframeService, deps: [{ token: i0.RendererFactory2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GlobalIframeService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GlobalIframeService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i0.ApplicationRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWlmcmFtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvZ2xvYmFsLWlmcmFtZS9nbG9iYWwtaWZyYW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxjQUFjLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVXZDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDRSxlQUFpQyxFQUN6QixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQU54QixZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7UUFDL0Msb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBTS9ELElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0sseUJBQXlCO1FBQy9CLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVztZQUFFLE9BQU87UUFFNUMsYUFBYTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsYUFBYTtRQUNiLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1Q0FBdUMsQ0FBbUIsQ0FBQztRQUM1RyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztZ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LENBQUMsbURBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDeEUsZ0NBQWdDO1lBQ2hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztZQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLFNBQWlCLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSTtRQUNyQywwQkFBMEI7UUFDMUIscUNBQXFDO1FBRXJDLHlDQUF5QztRQUN6QywwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QixNQUFNO1FBQ04sTUFBTTtRQUVOLGlEQUFpRDtRQUVqRCxpQ0FBaUM7UUFDakMsMEZBQTBGO1FBQzFGLElBQUk7SUFDTixDQUFDOzhHQXpQVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyLCBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxJZnJhbWVTdGF0ZSB7XG4gIGVsZW1lbnQ6IEhUTUxJRnJhbWVFbGVtZW50O1xuICB3cmFwcGVyOiBIVE1MRGl2RWxlbWVudDtcbiAgdXJsOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIOOCsOODreODvOODkOODq+ODrOODmeODq+OBp2lmcmFtZeOCkueuoeeQhuOBmeOCi+OCteODvOODk+OCuVxuICogcm91dGVyLW91dGxldOOBruWkluWBtOOBp2lmcmFtZeOCkuS/neaMgeOBl+OAgeeKtuaFi+OCkue2reaMgeOBmeOCi1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHbG9iYWxJZnJhbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIGlmcmFtZXMgPSBuZXcgTWFwPHN0cmluZywgR2xvYmFsSWZyYW1lU3RhdGU+KCk7XG4gIHByaXZhdGUgZ2xvYmFsQ29udGFpbmVyOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGFjdGl2ZUlmcmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUdsb2JhbENvbnRhaW5lcigpO1xuICB9XG4gIFxuICAvKipcbiAgICog44Kw44Ot44O844OQ44Or44Kz44Oz44OG44OK44KS5Yid5pyf5YyW77yIZG9jdW1lbnQuYm9keeOBq+ebtOaOpei/veWKoO+8iVxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplR2xvYmFsQ29udGFpbmVyKCkge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgXG4gICAgLy8g5Y2z5bqn44Gr44Kz44Oz44OG44OK44KS5L2c5oiQXG4gICAgdGhpcy5jcmVhdGVHbG9iYWxDb250YWluZXIoKTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBjcmVhdGVHbG9iYWxDb250YWluZXIoKSB7XG4gICAgLy8g5pei5a2Y44Gu44Kz44Oz44OG44OK44KS5o6i44GZXG4gICAgY29uc3QgZXhpc3RpbmdDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1nbG9iYWwtaWZyYW1lLWNvbnRhaW5lcj1cInRydWVcIl0nKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBpZiAoZXhpc3RpbmdDb250YWluZXIpIHtcbiAgICAgIHRoaXMuZ2xvYmFsQ29udGFpbmVyID0gZXhpc3RpbmdDb250YWluZXI7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbR2xvYmFsSWZyYW1lU2VydmljZV0gUmV1c2luZyBleGlzdGluZyBnbG9iYWwgY29udGFpbmVyJyk7XG4gICAgICBcbiAgICAgIC8vIOaXouWtmOOBrmlmcmFtZeOCkuW+qeWFg1xuICAgICAgY29uc3QgZXhpc3RpbmdJZnJhbWVzID0gZXhpc3RpbmdDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtZ2xvYmFsLWlmcmFtZS1rZXldJyk7XG4gICAgICBleGlzdGluZ0lmcmFtZXMuZm9yRWFjaCgod3JhcHBlcjogSFRNTERpdkVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gd3JhcHBlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ2xvYmFsLWlmcmFtZS1rZXknKTtcbiAgICAgICAgY29uc3QgaWZyYW1lID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKSBhcyBIVE1MSUZyYW1lRWxlbWVudDtcbiAgICAgICAgaWYgKGtleSAmJiBpZnJhbWUpIHtcbiAgICAgICAgICBjb25zdCBzdGF0ZTogR2xvYmFsSWZyYW1lU3RhdGUgPSB7XG4gICAgICAgICAgICBlbGVtZW50OiBpZnJhbWUsXG4gICAgICAgICAgICB3cmFwcGVyOiB3cmFwcGVyLFxuICAgICAgICAgICAgdXJsOiBpZnJhbWUuc3JjLFxuICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICB2aXNpYmxlOiB3cmFwcGVyLnN0eWxlLmRpc3BsYXkgIT09ICdub25lJ1xuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5pZnJhbWVzLnNldChrZXksIHN0YXRlKTtcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKGBbR2xvYmFsSWZyYW1lU2VydmljZV0gUmVzdG9yZWQgaWZyYW1lIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgLy8g5paw44GX44GE44Kz44Oz44OG44OK44KS5L2c5oiQXG4gICAgdGhpcy5nbG9iYWxDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZ2xvYmFsQ29udGFpbmVyLCAnZGF0YS1nbG9iYWwtaWZyYW1lLWNvbnRhaW5lcicsICd0cnVlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmdsb2JhbENvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmdsb2JhbENvbnRhaW5lciwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmdsb2JhbENvbnRhaW5lciwgJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5nbG9iYWxDb250YWluZXIsICd3aWR0aCcsICcxMDAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmdsb2JhbENvbnRhaW5lciwgJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmdsb2JhbENvbnRhaW5lciwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZ2xvYmFsQ29udGFpbmVyLCAnei1pbmRleCcsICc5OTknKTsgLy8gcm91dGVyLW91dGxldOOCiOOCiuS4iuOBq+mFjee9rlxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5nbG9iYWxDb250YWluZXIpO1xuICAgIGNvbnNvbGUuZGVidWcoJ1tHbG9iYWxJZnJhbWVTZXJ2aWNlXSBHbG9iYWwgY29udGFpbmVyIGNyZWF0ZWQnKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIGlmcmFtZeOCkuS9nOaIkOOBvuOBn+OBr+WPluW+l1xuICAgKi9cbiAgZ2V0T3JDcmVhdGVJZnJhbWUoa2V5OiBzdHJpbmcsIHVybDogc3RyaW5nKTogSFRNTElGcmFtZUVsZW1lbnQge1xuICAgIC8vIOOCreODo+ODg+OCt+ODpeOCkuODgeOCp+ODg+OCr1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5pZnJhbWVzLmdldChrZXkpO1xuICAgIGlmIChleGlzdGluZykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgW0dsb2JhbElmcmFtZVNlcnZpY2VdIFJldHVybmluZyBleGlzdGluZyBpZnJhbWUgZm9yIGtleTogJHtrZXl9YCk7XG4gICAgICBcbiAgICAgIC8vIFVSTOOBjOWkieabtOOBleOCjOOBpuOBhOOCi+WgtOWQiOOBruOBv+abtOaWsFxuICAgICAgaWYgKGV4aXN0aW5nLnVybCAhPT0gdXJsICYmIHVybCkge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBbR2xvYmFsSWZyYW1lU2VydmljZV0gVVJMIGNoYW5nZWQgZnJvbSAke2V4aXN0aW5nLnVybH0gdG8gJHt1cmx9YCk7XG4gICAgICAgIGV4aXN0aW5nLmVsZW1lbnQuc3JjID0gdXJsO1xuICAgICAgICBleGlzdGluZy51cmwgPSB1cmw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHJldHVybiBleGlzdGluZy5lbGVtZW50O1xuICAgIH1cbiAgICBcbiAgICAvLyDjgrPjg7Pjg4bjg4rjgYzlrZjlnKjjgZfjgarjgYTloLTlkIjjga/kvZzmiJBcbiAgICBpZiAoIXRoaXMuZ2xvYmFsQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLmNyZWF0ZUdsb2JhbENvbnRhaW5lcigpO1xuICAgIH1cbiAgICBcbiAgICAvLyDmlrDjgZfjgYRpZnJhbWXjgpLkvZzmiJBcbiAgICBjb25zb2xlLmRlYnVnKGBbR2xvYmFsSWZyYW1lU2VydmljZV0gQ3JlYXRpbmcgbmV3IGlmcmFtZSBmb3Iga2V5OiAke2tleX1gKTtcbiAgICBcbiAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh3cmFwcGVyLCAnZGF0YS1nbG9iYWwtaWZyYW1lLWtleScsIGtleSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICd0b3AnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ2Rpc3BsYXknLCAnbm9uZScpOyAvLyDliJ3mnJ/nirbmhYvjga/pnZ7ooajnpLpcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdwb2ludGVyLWV2ZW50cycsICdhdXRvJyk7XG4gICAgXG4gICAgY29uc3QgaWZyYW1lID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKSBhcyBIVE1MSUZyYW1lRWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpZnJhbWUsICdzcmMnLCB1cmwpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlmcmFtZSwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpZnJhbWUsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlmcmFtZSwgJ2ZyYW1lYm9yZGVyJywgJzAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpZnJhbWUsICdhbGxvdycsICdhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBjbGlwYm9hcmQtcmVhZDsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgZnVsbHNjcmVlbjsgY2FtZXJhOyBtaWNyb3Bob25lOyBnZW9sb2NhdGlvbjsgbWlkaTsgcGF5bWVudDsgdXNiOyB3ZWItc2hhcmU7IGRpc3BsYXktY2FwdHVyZScpO1xuICAgIC8vIENvZGVy44Gu44KI44GG44Gq6KSH6ZuR44Gq44Ki44OX44Oq44Kx44O844K344On44Oz44Gu44Gf44KB44Gr44CBc2FuZGJveOWxnuaAp+OCkuWJiumZpOOBvuOBn+OBr+OCiOOCiue3qeOBhOioreWumuOBq+OBmeOCi1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlmcmFtZSwgJ3NhbmRib3gnLCAnYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1mb3JtcyBhbGxvdy1wb3B1cHMgYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IGFsbG93LW1vZGFscyBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctZG93bmxvYWRzIGFsbG93LXBvaW50ZXItbG9jayBhbGxvdy1wcmVzZW50YXRpb24gYWxsb3ctdG9wLW5hdmlnYXRpb24gYWxsb3ctdG9wLW5hdmlnYXRpb24tYnktdXNlci1hY3RpdmF0aW9uJyk7XG4gICAgXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh3cmFwcGVyLCBpZnJhbWUpO1xuICAgIFxuICAgIGlmICh0aGlzLmdsb2JhbENvbnRhaW5lcikge1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmdsb2JhbENvbnRhaW5lciwgd3JhcHBlcik7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHN0YXRlOiBHbG9iYWxJZnJhbWVTdGF0ZSA9IHtcbiAgICAgIGVsZW1lbnQ6IGlmcmFtZSxcbiAgICAgIHdyYXBwZXI6IHdyYXBwZXIsXG4gICAgICB1cmw6IHVybCxcbiAgICAgIGtleToga2V5LFxuICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICB9O1xuICAgIFxuICAgIHRoaXMuaWZyYW1lcy5zZXQoa2V5LCBzdGF0ZSk7XG4gICAgcmV0dXJuIGlmcmFtZTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIOaMh+WumuOBleOCjOOBn2lmcmFtZeOCkuihqOekuuOBl+OAgeS7luOBrmlmcmFtZeOCkumdnuihqOekuuOBq+OBmeOCi1xuICAgKi9cbiAgc2hvd0lmcmFtZShrZXk6IHN0cmluZywgdGFyZ2V0UmVjdD86IERPTVJlY3QpOiB2b2lkIHtcbiAgICAvLyDlhajjgabjga5pZnJhbWXjgpLpnZ7ooajnpLpcbiAgICB0aGlzLmlmcmFtZXMuZm9yRWFjaCgoc3RhdGUsIGlmcmFtZUtleSkgPT4ge1xuICAgICAgaWYgKGlmcmFtZUtleSA9PT0ga2V5KSB7XG4gICAgICAgIC8vIOWvvuixoeOBrmlmcmFtZeOCkuihqOekulxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN0YXRlLndyYXBwZXIsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICAgIFxuICAgICAgICAvLyB0YXJnZXRSZWN044GM5oyH5a6a44GV44KM44Gm44GE44KL5aC05ZCI44Gv5L2N572u44KS6Kq/5pW0XG4gICAgICAgIGlmICh0YXJnZXRSZWN0KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdGF0ZS53cmFwcGVyLCAncG9zaXRpb24nLCAnZml4ZWQnKTtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN0YXRlLndyYXBwZXIsICd0b3AnLCBgJHt0YXJnZXRSZWN0LnRvcH1weGApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3RhdGUud3JhcHBlciwgJ2xlZnQnLCBgJHt0YXJnZXRSZWN0LmxlZnR9cHhgKTtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN0YXRlLndyYXBwZXIsICd3aWR0aCcsIGAke3RhcmdldFJlY3Qud2lkdGh9cHhgKTtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN0YXRlLndyYXBwZXIsICdoZWlnaHQnLCBgJHt0YXJnZXRSZWN0LmhlaWdodH1weGApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBzdGF0ZS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgW0dsb2JhbElmcmFtZVNlcnZpY2VdIFNob3dpbmcgaWZyYW1lIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5LuW44GuaWZyYW1l44KS6Z2e6KGo56S6XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3RhdGUud3JhcHBlciwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgICBzdGF0ZS52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgdGhpcy5hY3RpdmVJZnJhbWUkLm5leHQoa2V5KTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIOaMh+WumuOBleOCjOOBn2lmcmFtZeOCkumdnuihqOekuuOBq+OBmeOCi1xuICAgKi9cbiAgaGlkZUlmcmFtZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5pZnJhbWVzLmdldChrZXkpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdGF0ZS53cmFwcGVyLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICBzdGF0ZS52aXNpYmxlID0gZmFsc2U7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbR2xvYmFsSWZyYW1lU2VydmljZV0gSGlkaW5nIGlmcmFtZSBmb3Iga2V5OiAke2tleX1gKTtcbiAgICAgIFxuICAgICAgaWYgKHRoaXMuYWN0aXZlSWZyYW1lJC52YWx1ZSA9PT0ga2V5KSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSWZyYW1lJC5uZXh0KG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLyoqXG4gICAqIOWFqOOBpuOBrmlmcmFtZeOCkumdnuihqOekuuOBq+OBmeOCi1xuICAgKi9cbiAgaGlkZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmlmcmFtZXMuZm9yRWFjaCgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3RhdGUud3JhcHBlciwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgc3RhdGUudmlzaWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuYWN0aXZlSWZyYW1lJC5uZXh0KG51bGwpO1xuICAgIGNvbnNvbGUuZGVidWcoJ1tHbG9iYWxJZnJhbWVTZXJ2aWNlXSBBbGwgaWZyYW1lcyBoaWRkZW4nKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIOePvuWcqOOCouOCr+ODhuOCo+ODluOBqmlmcmFtZeOBruOCreODvOOCkuWPluW+l1xuICAgKi9cbiAgZ2V0QWN0aXZlSWZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUlmcmFtZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiDmjIflrprjgZXjgozjgZ/jgq3jg7zjga5pZnJhbWXjgYzlrZjlnKjjgZnjgovjgYvnorroqo1cbiAgICovXG4gIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlmcmFtZXMuaGFzKGtleSk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiDmjIflrprjgZXjgozjgZ/jgq3jg7zjga5pZnJhbWXjgpLliYrpmaRcbiAgICovXG4gIHJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5pZnJhbWVzLmdldChrZXkpO1xuICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS53cmFwcGVyLnBhcmVudE5vZGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoc3RhdGUud3JhcHBlci5wYXJlbnROb2RlLCBzdGF0ZS53cmFwcGVyKTtcbiAgICB9XG4gICAgdGhpcy5pZnJhbWVzLmRlbGV0ZShrZXkpO1xuICAgIGNvbnNvbGUuZGVidWcoYFtHbG9iYWxJZnJhbWVTZXJ2aWNlXSBSZW1vdmVkIGlmcmFtZSB3aXRoIGtleTogJHtrZXl9YCk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiDmjIflrprjgZXjgozjgZ/jgq3jg7zjga5pZnJhbWXjgpLjg6rjg63jg7zjg4lcbiAgICovXG4gIHJlbG9hZChrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5pZnJhbWVzLmdldChrZXkpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgW0dsb2JhbElmcmFtZVNlcnZpY2VdIFJlbG9hZGluZyBpZnJhbWUgZm9yIGtleTogJHtrZXl9YCk7XG4gICAgICAvLyBzcmPjgpLkuIDmmYLnmoTjgavnqbrjgavjgZfjgabjgYvjgonlho3oqK3lrprjgZnjgovjgZPjgajjgafjg6rjg63jg7zjg4njgpLlvLfliLZcbiAgICAgIGNvbnN0IGN1cnJlbnRTcmMgPSBzdGF0ZS5lbGVtZW50LnNyYztcbiAgICAgIHN0YXRlLmVsZW1lbnQuc3JjID0gJyc7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc3RhdGUuZWxlbWVudC5zcmMgPSBjdXJyZW50U3JjO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG4gIFxuICAvKipcbiAgICog5Y+k44GEaWZyYW1l44KS44Kv44Oq44O844Oz44Ki44OD44OXXG4gICAqL1xuICBjbGVhbnVwKG1heEFnZTogbnVtYmVyID0gMzAgKiA2MCAqIDEwMDApOiB2b2lkIHtcbiAgICAvLyBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIC8vIGNvbnN0IGtleXNUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICBcbiAgICAvLyB0aGlzLmlmcmFtZXMuZm9yRWFjaCgoc3RhdGUsIGtleSkgPT4ge1xuICAgIC8vICAgLy8g54++5Zyo6KGo56S65Lit44GuaWZyYW1l44Gv5YmK6Zmk44GX44Gq44GEXG4gICAgLy8gICBpZiAoIXN0YXRlLnZpc2libGUpIHtcbiAgICAvLyAgICAga2V5c1RvUmVtb3ZlLnB1c2goa2V5KTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgICBcbiAgICAvLyBrZXlzVG9SZW1vdmUuZm9yRWFjaChrZXkgPT4gdGhpcy5yZW1vdmUoa2V5KSk7XG4gICAgXG4gICAgLy8gaWYgKGtleXNUb1JlbW92ZS5sZW5ndGggPiAwKSB7XG4gICAgLy8gICBjb25zb2xlLmRlYnVnKGBbR2xvYmFsSWZyYW1lU2VydmljZV0gQ2xlYW5lZCB1cCAke2tleXNUb1JlbW92ZS5sZW5ndGh9IG9sZCBpZnJhbWVzYCk7XG4gICAgLy8gfVxuICB9XG59Il19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbXBvbmVudHMtc2VydmljZXMtZ2xvYmFsLWlmcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2dsb2JhbC1pZnJhbWUvbmctYXRvbWljLWNvbXBvbmVudHMtc2VydmljZXMtZ2xvYmFsLWlmcmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}