@ng-atomic/components 19.0.0-preview.9 → 19.1.1
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.
- package/atoms/badge/index.d.ts +9 -1
- package/atoms/chips-input/index.d.ts +23 -1
- package/atoms/icon/index.d.ts +15 -1
- package/atoms/index.d.ts +28 -1
- package/atoms/logo/index.d.ts +17 -0
- package/atoms/menu-button/index.d.ts +24 -1
- package/atoms/value-cell/index.d.ts +51 -0
- package/extras/editor/index.d.ts +38 -1
- package/extras/index.d.ts +13 -1
- package/fesm2022/ng-atomic-components-atoms-badge.mjs +4 -6
- package/fesm2022/ng-atomic-components-atoms-badge.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-chips-input.mjs +4 -4
- package/fesm2022/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +5 -5
- package/fesm2022/ng-atomic-components-atoms-icon.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-logo.mjs +48 -0
- package/fesm2022/ng-atomic-components-atoms-logo.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-atoms-menu-button.mjs +10 -10
- package/fesm2022/ng-atomic-components-atoms-menu-button.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +345 -0
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-atoms.mjs +6 -4
- package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras-editor.mjs +22 -9
- package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras.mjs +4 -4
- package/fesm2022/ng-atomic-components-extras.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +76 -34
- package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +7 -7
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +109 -0
- package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-card.mjs +4 -4
- package/fesm2022/ng-atomic-components-frames-card.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-columns.mjs +21 -21
- package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-divider.mjs +8 -6
- package/fesm2022/ng-atomic-components-frames-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +94 -16
- package/fesm2022/ng-atomic-components-frames-drawer.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +8 -8
- package/fesm2022/ng-atomic-components-frames-entrance.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-fab.mjs +53 -18
- package/fesm2022/ng-atomic-components-frames-fab.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +101 -0
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +11 -11
- package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-loading.mjs +8 -8
- package/fesm2022/ng-atomic-components-frames-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-overlay.mjs +6 -6
- package/fesm2022/ng-atomic-components-frames-overlay.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +6 -6
- package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +17 -15
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +14 -18
- package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-side-app.mjs +6 -6
- package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +13 -8
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +4 -4
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-tabs.mjs +24 -29
- package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-toggle.mjs +3 -3
- package/fesm2022/ng-atomic-components-frames-toggle.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +5 -5
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames.mjs +8 -4
- package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +7 -8
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +6 -6
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +6 -6
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs +7 -8
- package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +22 -18
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +14 -18
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +25 -26
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +5 -5
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-header.mjs +6 -6
- package/fesm2022/ng-atomic-components-molecules-header.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-list-item.mjs +10 -10
- package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +8 -8
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +8 -8
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs +7 -4
- package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +9 -11
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-text-column.mjs +56 -113
- package/fesm2022/ng-atomic-components-molecules-text-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs +8 -10
- package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs +7 -8
- package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +134 -0
- package/fesm2022/ng-atomic-components-molecules-thread-message.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +100 -46
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules.mjs +10 -557
- package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +6 -6
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +201 -0
- package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs +6 -6
- package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +11 -11
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +9 -14
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +5 -5
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs +7 -7
- package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +5 -5
- package/fesm2022/ng-atomic-components-organisms-heading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-list.mjs +11 -10
- package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs +6 -6
- package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +15 -7
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +5 -5
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs +9 -9
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-table.mjs +95 -22
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +8 -8
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs +7 -10
- package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +15 -12
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +39 -74
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-toolbar.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-toolbar.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +7 -7
- package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-video-section.mjs +15 -15
- package/fesm2022/ng-atomic-components-organisms-video-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms.mjs +12 -29
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +58 -30
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-blank.mjs +3 -3
- package/fesm2022/ng-atomic-components-pages-blank.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +10 -11
- package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-form.mjs +20 -18
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-terms.mjs +6 -6
- package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages.mjs +7 -5
- package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs +241 -0
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates-_index.mjs +196 -103
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-background.mjs +7 -7
- package/fesm2022/ng-atomic-components-templates-background.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +8 -8
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-columns.mjs +9 -9
- package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +8 -8
- package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-file-tree.mjs +4 -4
- package/fesm2022/ng-atomic-components-templates-file-tree.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-form.mjs +34 -21
- package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +12 -10
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-loading.mjs +3 -3
- package/fesm2022/ng-atomic-components-templates-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-menu.mjs +8 -8
- package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-selection.mjs +9 -9
- package/fesm2022/ng-atomic-components-templates-selection.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-settings.mjs +5 -5
- package/fesm2022/ng-atomic-components-templates-settings.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-tab-editor.mjs +4 -4
- package/fesm2022/ng-atomic-components-templates-tab-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-term.mjs +6 -6
- package/fesm2022/ng-atomic-components-templates-term.mjs.map +1 -1
- package/fesm2022/{ng-atomic-components-templates-messages.mjs → ng-atomic-components-templates-thread.mjs} +39 -26
- package/fesm2022/ng-atomic-components-templates-thread.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates.mjs +6 -4
- package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
- package/fesm2022/ng-atomic-components.mjs.map +1 -1
- package/frames/app/index.d.ts +253 -1
- package/frames/auto-layout/index.d.ts +14 -1
- package/frames/breadcrumb-navbar/index.d.ts +48 -0
- package/frames/card/index.d.ts +8 -1
- package/frames/columns/index.d.ts +58 -1
- package/frames/divider/index.d.ts +28 -1
- package/frames/drawer/index.d.ts +31 -1
- package/frames/entrance/index.d.ts +22 -1
- package/frames/fab/index.d.ts +44 -2
- package/frames/horizontal-divider/index.d.ts +28 -0
- package/frames/index.d.ts +15 -1
- package/frames/line-up/index.d.ts +51 -2
- package/frames/loading/index.d.ts +15 -1
- package/frames/overlay/index.d.ts +16 -1
- package/frames/progress-bar/index.d.ts +17 -1
- package/frames/router-outlet/index.d.ts +61 -2
- package/frames/scroll/index.d.ts +12 -1
- package/frames/side-app/index.d.ts +23 -1
- package/frames/side-nav/index.d.ts +58 -1
- package/frames/smart-menu/index.d.ts +16 -1
- package/frames/tabs/index.d.ts +12 -1
- package/frames/toggle/index.d.ts +12 -1
- package/frames/vertical-hide/index.d.ts +9 -1
- package/index.d.ts +5 -1
- package/molecules/action-input-field/index.d.ts +26 -1
- package/molecules/actions-column/index.d.ts +57 -1
- package/molecules/checkbox-column/index.d.ts +42 -1
- package/molecules/chips-input-field/index.d.ts +73 -1
- package/molecules/date-input-field/index.d.ts +22 -1
- package/molecules/date-range-input-field/index.d.ts +20 -1
- package/molecules/file-input-field/index.d.ts +43 -1
- package/molecules/grid-item/index.d.ts +15 -1
- package/molecules/header/index.d.ts +16 -1
- package/molecules/index.d.ts +5 -1
- package/molecules/list-item/index.d.ts +55 -1
- package/molecules/loading-box/index.d.ts +27 -1
- package/molecules/navigation-list-item/index.d.ts +17 -1
- package/molecules/nested-menu/index.d.ts +13 -1
- package/molecules/select-input-field/index.d.ts +26 -1
- package/molecules/text-column/index.d.ts +55 -1
- package/molecules/text-input-field/index.d.ts +24 -1
- package/molecules/textarea-field/index.d.ts +26 -1
- package/molecules/thread-message/index.d.ts +75 -0
- package/molecules/tree-column/index.d.ts +58 -1
- package/organisms/action-buttons-section/index.d.ts +16 -1
- package/organisms/action-input-section/index.d.ts +20 -1
- package/organisms/agreement-input-section/index.d.ts +20 -1
- package/organisms/breadcrumb-navbar/index.d.ts +66 -0
- package/organisms/card-input-section/index.d.ts +12 -1
- package/organisms/chips-input-section/index.d.ts +20 -1
- package/organisms/cvc-and-exp-input-section/index.d.ts +13 -1
- package/organisms/date-input-section/index.d.ts +21 -1
- package/organisms/date-range-input-section/index.d.ts +24 -1
- package/organisms/definition-list/index.d.ts +15 -1
- package/organisms/file-input-section/index.d.ts +28 -1
- package/organisms/filters-section/index.d.ts +23 -1
- package/organisms/graphql-editor/index.d.ts +31 -1
- package/organisms/grid-cards-section/index.d.ts +17 -1
- package/organisms/grid-toolbar/index.d.ts +22 -1
- package/organisms/heading/index.d.ts +9 -1
- package/organisms/image-preview-section/index.d.ts +10 -1
- package/organisms/index.d.ts +5 -1
- package/organisms/list/index.d.ts +55 -1
- package/organisms/markdown-preview-section/index.d.ts +14 -1
- package/organisms/menu-footer/index.d.ts +21 -1
- package/organisms/menu-header/index.d.ts +27 -1
- package/organisms/mermaid-section/index.d.ts +17 -1
- package/organisms/message-input-section/index.d.ts +17 -1
- package/organisms/messages-section/index.d.ts +14 -1
- package/organisms/navigation-list/index.d.ts +16 -1
- package/organisms/navigator/index.d.ts +38 -1
- package/organisms/number-input-section/index.d.ts +22 -1
- package/organisms/paginator/index.d.ts +27 -1
- package/organisms/password-input-section/index.d.ts +22 -1
- package/organisms/select-input-section/index.d.ts +25 -1
- package/organisms/selection-list/index.d.ts +20 -1
- package/organisms/slider-input-section/index.d.ts +32 -1
- package/organisms/social-login-section/index.d.ts +10 -1
- package/organisms/stripe-input-section/index.d.ts +180 -1
- package/organisms/table/index.d.ts +167 -3
- package/organisms/terminal/index.d.ts +13 -1
- package/organisms/text-input-section/index.d.ts +22 -1
- package/organisms/text-preview-section/index.d.ts +18 -1
- package/organisms/textarea-section/index.d.ts +28 -1
- package/organisms/thread-messages-section/index.d.ts +24 -1
- package/organisms/time-range-input-section/index.d.ts +13 -1
- package/organisms/toolbar/index.d.ts +16 -1
- package/organisms/tree-list/index.d.ts +39 -1
- package/organisms/tree-section/index.d.ts +52 -1
- package/organisms/vertical-divider/index.d.ts +8 -1
- package/organisms/video-section/index.d.ts +45 -1
- package/package.json +35 -11
- package/pages/_index/index.d.ts +344 -1
- package/pages/blank/index.d.ts +13 -3
- package/pages/columns/index.d.ts +66 -1
- package/pages/form/index.d.ts +253 -1
- package/pages/index.d.ts +21 -1
- package/pages/terms/index.d.ts +63 -1
- package/services/global-iframe/index.d.ts +69 -0
- package/styles/styles.scss +2 -1
- package/templates/_index/index.d.ts +316 -1
- package/templates/background/index.d.ts +14 -1
- package/templates/code-editor/index.d.ts +26 -1
- package/templates/columns/index.d.ts +69 -1
- package/templates/entrance/index.d.ts +35 -1
- package/templates/file-tree/index.d.ts +27 -1
- package/templates/form/index.d.ts +114 -2
- package/templates/icon-button-menu/index.d.ts +17 -1
- package/templates/index.d.ts +64 -1
- package/templates/loading/index.d.ts +8 -1
- package/templates/menu/index.d.ts +16 -1
- package/templates/selection/index.d.ts +29 -1
- package/templates/settings/index.d.ts +18 -1
- package/templates/tab-editor/index.d.ts +11 -1
- package/templates/term/index.d.ts +27 -1
- package/templates/thread/index.d.ts +36 -0
- package/atoms/atoms.module.d.ts +0 -17
- package/atoms/badge/badge.atom.d.ts +0 -6
- package/atoms/chips-input/chips-input.atom.d.ts +0 -20
- package/atoms/icon/icon.atom.d.ts +0 -12
- package/atoms/menu-button/menu-button.atom.d.ts +0 -22
- package/components.module.d.ts +0 -2
- package/extras/editor/editor.component.d.ts +0 -32
- package/extras/extras.module.d.ts +0 -10
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +0 -6
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-templates-messages.mjs.map +0 -1
- package/frames/app/app.frame.d.ts +0 -150
- package/frames/auto-layout/auto-layout.frame.d.ts +0 -11
- package/frames/card/card.frame.d.ts +0 -5
- package/frames/columns/columns.frame.d.ts +0 -54
- package/frames/divider/divider.frame.d.ts +0 -26
- package/frames/drawer/drawer.frame.d.ts +0 -15
- package/frames/entrance/entrance.frame.d.ts +0 -19
- package/frames/fab/fab.frame.d.ts +0 -30
- package/frames/fab/fab.service.d.ts +0 -12
- package/frames/frames.module.d.ts +0 -12
- package/frames/line-up/line-up.animations.d.ts +0 -1
- package/frames/line-up/line-up.frame.d.ts +0 -27
- package/frames/line-up/line-up.service.d.ts +0 -22
- package/frames/line-up/resize-observer.d.ts +0 -3
- package/frames/loading/loading.frame.d.ts +0 -12
- package/frames/overlay/overlay.frame.d.ts +0 -13
- package/frames/progress-bar/progress-bar.frame.d.ts +0 -14
- package/frames/router-outlet/router-outlet.frame.d.ts +0 -50
- package/frames/router-outlet/router-outlet.helper.d.ts +0 -6
- package/frames/scroll/scroll.frame.d.ts +0 -9
- package/frames/scroll-v2/index.d.ts +0 -1
- package/frames/side-app/side-app.frame.d.ts +0 -20
- package/frames/side-nav/side-nav.frame.d.ts +0 -51
- package/frames/smart-menu/smart-menu.frame.d.ts +0 -13
- package/frames/tabs/tabs.frame.d.ts +0 -10
- package/frames/toggle/toggle.frame.d.ts +0 -9
- package/frames/vertical-hide/vertical-hide.frame.d.ts +0 -6
- package/molecules/action-input-field/action-input-field.molecule.d.ts +0 -24
- package/molecules/actions-column/actions-column.molecule.d.ts +0 -53
- package/molecules/checkbox-column/checkbox-column.molecule.d.ts +0 -40
- package/molecules/chips-input-field/chips-input-field.molecule.d.ts +0 -68
- package/molecules/date-input-field/date-input-field.molecule.d.ts +0 -19
- package/molecules/date-range-input-field/date-range-input-field.molecule.d.ts +0 -19
- package/molecules/file-input-field/file-input-field.molecule.d.ts +0 -43
- package/molecules/grid-item/grid-item.molecule.d.ts +0 -13
- package/molecules/header/header.molecule.d.ts +0 -13
- package/molecules/list-item/list-item.molecule.d.ts +0 -51
- package/molecules/loading-box/loading-box.molecule.d.ts +0 -23
- package/molecules/molecules.module.d.ts +0 -54
- package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +0 -15
- package/molecules/nested-menu/nested-menu.molecule.d.ts +0 -10
- package/molecules/select-input-field/select-input-field.molecule.d.ts +0 -22
- package/molecules/text-column/text-column.molecule.d.ts +0 -59
- package/molecules/text-input-field/text-input-field.molecule.d.ts +0 -21
- package/molecules/textarea-field/textarea-field.molecule.d.ts +0 -23
- package/molecules/tree-column/tree-column.molecule.d.ts +0 -42
- package/organisms/action-buttons-section/action-buttons-section.organism.d.ts +0 -13
- package/organisms/action-input-section/action-input-section.organism.d.ts +0 -18
- package/organisms/agreement-input-section/agreement-input-section.organism.d.ts +0 -17
- package/organisms/card-input-section/card-input-section.organism.d.ts +0 -9
- package/organisms/chips-input-section/chips-input-section.organism.d.ts +0 -17
- package/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.d.ts +0 -10
- package/organisms/date-input-section/date-input-section.organism.d.ts +0 -18
- package/organisms/date-range-input-section/date-range-input-section.organism.d.ts +0 -21
- package/organisms/definition-list/definition-list.organism.d.ts +0 -12
- package/organisms/file-input-section/file-input-section.organism.d.ts +0 -26
- package/organisms/filters-section/filters-section.organism.d.ts +0 -20
- package/organisms/graphql-editor/graphql-editor.organism.d.ts +0 -29
- package/organisms/grid-cards-section/grid-cards-section.organism.d.ts +0 -15
- package/organisms/grid-toolbar/grid-toolbar.organism.d.ts +0 -19
- package/organisms/heading/heading.organism.d.ts +0 -6
- package/organisms/image-preview-section/image-preview-section.organism.d.ts +0 -7
- package/organisms/list/list.organism.d.ts +0 -50
- package/organisms/markdown-preview-section/markdown-preview-section.organism.d.ts +0 -11
- package/organisms/menu-footer/menu-footer.organism.d.ts +0 -18
- package/organisms/menu-header/menu-header.organism.d.ts +0 -23
- package/organisms/mermaid-section/mermaid-section.organism.d.ts +0 -14
- package/organisms/message-input-section/message-input-section.organism.d.ts +0 -14
- package/organisms/messages-section/messages-section.organism.d.ts +0 -11
- package/organisms/navigation-list/navigation-list.organism.d.ts +0 -14
- package/organisms/navigator/navigator.organism.d.ts +0 -35
- package/organisms/number-input-section/number-input-section.organism.d.ts +0 -19
- package/organisms/organisms.module.d.ts +0 -120
- package/organisms/paginator/paginator.organism.d.ts +0 -24
- package/organisms/password-input-section/password-input-section.organism.d.ts +0 -19
- package/organisms/select-input-section/select-input-section.organism.d.ts +0 -22
- package/organisms/selection-list/selection-list.organism.d.ts +0 -19
- package/organisms/slider-input-section/slider-input-section.organism.d.ts +0 -28
- package/organisms/social-login-section/social-login-section.organism.d.ts +0 -7
- package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +0 -172
- package/organisms/table/table.helpers.d.ts +0 -44
- package/organisms/table/table.organism.d.ts +0 -105
- package/organisms/terminal/terminal.organism.d.ts +0 -10
- package/organisms/text-input-section/text-input-section.organism.d.ts +0 -19
- package/organisms/text-preview-section/text-preview-section.organism.d.ts +0 -15
- package/organisms/textarea-section/textarea-section.organism.d.ts +0 -20
- package/organisms/thread-messages-section/thread-messages-section.organism.d.ts +0 -14
- package/organisms/time-range-input-section/time-range-input-section.organism.d.ts +0 -9
- package/organisms/toolbar/toolbar.organism.d.ts +0 -15
- package/organisms/tree-list/tree-list.organism.d.ts +0 -33
- package/organisms/tree-section/tree-section.organism.d.ts +0 -49
- package/organisms/vertical-divider/vertical-divider.organism.d.ts +0 -5
- package/organisms/video-section/video-section.organism.d.ts +0 -41
- package/pages/_index/index.page.d.ts +0 -219
- package/pages/blank/blank.page.d.ts +0 -5
- package/pages/blank/blank.route.d.ts +0 -2
- package/pages/blank/blank.routes.d.ts +0 -2
- package/pages/columns/columns.page.d.ts +0 -63
- package/pages/form/form.page.d.ts +0 -162
- package/pages/pages.module.d.ts +0 -11
- package/pages/terms/terms.page.d.ts +0 -60
- package/templates/_index/index.template.d.ts +0 -296
- package/templates/background/background.template.d.ts +0 -11
- package/templates/code-editor/code-editor.template.d.ts +0 -24
- package/templates/columns/columns.template.d.ts +0 -64
- package/templates/entrance/entrance.template.d.ts +0 -33
- package/templates/file-tree/file-tree.template.d.ts +0 -24
- package/templates/form/form.builder.d.ts +0 -40
- package/templates/form/form.template.d.ts +0 -74
- package/templates/icon-button-menu/icon-button-menu.template.d.ts +0 -14
- package/templates/loading/loading.template.d.ts +0 -5
- package/templates/menu/menu.template.d.ts +0 -15
- package/templates/messages/index.d.ts +0 -1
- package/templates/messages/messages.template.d.ts +0 -33
- package/templates/selection/selection.template.d.ts +0 -28
- package/templates/settings/settings.template.d.ts +0 -16
- package/templates/tab-editor/tab-editor.template.d.ts +0 -8
- package/templates/templates.module.d.ts +0 -54
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWlmcmFtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvZ2xvYmFsLWlmcmFtZS9nbG9iYWwtaWZyYW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxjQUFjLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVXZDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDRSxlQUFpQyxFQUN6QixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQU54QixZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7UUFDL0Msb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBTS9ELElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0sseUJBQXlCO1FBQy9CLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVztZQUFFLE9BQU87UUFFNUMsYUFBYTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsYUFBYTtRQUNiLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1Q0FBdUMsQ0FBbUIsQ0FBQztRQUM1RyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztZQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7WUFFekUsZUFBZTtZQUNmLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDdkYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRTtnQkFDbEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztnQkFDcEUsSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ2xCLE1BQU0sS0FBSyxHQUFzQjt3QkFDL0IsT0FBTyxFQUFFLE1BQU07d0JBQ2YsT0FBTyxFQUFFLE9BQU87d0JBQ2hCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRzt3QkFDZixHQUFHLEVBQUUsR0FBRzt3QkFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTTtxQkFDMUMsQ0FBQztvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0RBQWtELEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3pFLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBRUQsYUFBYTtRQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsc0JBQXNCO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN4QyxhQUFhO1FBQ2IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsNERBQTRELEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFakYsb0JBQW9CO1lBQ3BCLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDbEYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2dCQUMzQixRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNyQixDQUFDO1lBRUQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzFCLENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBRUQsZUFBZTtRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0RBQXNELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFM0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFtQixDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsdU1BQXVNLENBQUMsQ0FBQztRQUNyUCxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxpUUFBaVEsQ0FBQyxDQUFDO1FBRWpULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxNQUFNLEtBQUssR0FBc0I7WUFDL0IsT0FBTyxFQUFFLE1BQU07WUFDZixPQUFPLEVBQUUsT0FBTztZQUNoQixHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxHQUFXLEVBQUUsVUFBb0I7UUFDMUMsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3hDLElBQUksU0FBUyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixlQUFlO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUUxRCw2QkFBNkI7Z0JBQzdCLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7b0JBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ3hFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBQzVFLENBQUM7Z0JBRUQsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaURBQWlELEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDeEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGVBQWU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pELEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBRXJFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDekQsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0RBQWtELEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsbURBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDeEUsZ0NBQWdDO1lBQ2hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztZQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLFNBQWlCLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSTtRQUNyQywwQkFBMEI7UUFDMUIscUNBQXFDO1FBRXJDLHlDQUF5QztRQUN6QywwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QixNQUFNO1FBQ04sTUFBTTtRQUVOLGlEQUFpRDtRQUVqRCxpQ0FBaUM7UUFDakMsMEZBQTBGO1FBQzFGLElBQUk7SUFDTixDQUFDOzhHQXpQVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyLCBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxJZnJhbWVTdGF0ZSB7XG4gIGVsZW1lbnQ6IEhUTUxJRnJhbWVFbGVtZW50O1xuICB3cmFwcGVyOiBIVE1MRGl2RWxlbWVudDtcbiAgdXJsOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIOOCsOODreODvOODkOODq+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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"}
|