@ng-atomic/components 18.2.1 → 18.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/atoms.module.d.ts +6 -2
- package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +9 -8
- package/components.module.d.ts +2 -12
- package/esm2022/atoms/atoms.module.mjs +7 -2
- package/esm2022/atoms/icon/icon.atom.mjs +2 -2
- package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +92 -124
- package/esm2022/components.module.mjs +20 -41
- package/esm2022/extras/editor/editor.component.mjs +78 -46
- package/esm2022/frames/app/app.frame.mjs +132 -70
- package/esm2022/frames/auto-layout/auto-layout.frame.mjs +29 -7
- package/esm2022/frames/columns/columns.frame.mjs +2 -2
- package/esm2022/frames/divider/divider.frame.mjs +2 -2
- package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
- package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
- package/esm2022/frames/fab/fab.frame.mjs +2 -2
- package/esm2022/frames/frames.module.mjs +19 -14
- package/esm2022/frames/line-up/line-up.animations.mjs +3 -7
- package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
- package/esm2022/frames/loading/loading.frame.mjs +2 -2
- package/esm2022/frames/progress-bar/index.mjs +2 -0
- package/esm2022/frames/progress-bar/ng-atomic-components-frames-progress-bar.mjs +5 -0
- package/esm2022/frames/progress-bar/progress-bar.frame.mjs +53 -0
- package/esm2022/frames/router-outlet/router-outlet.frame.mjs +96 -41
- package/esm2022/frames/scroll/scroll.frame.mjs +32 -14
- package/esm2022/frames/scroll-v2/index.mjs +2 -2
- package/esm2022/frames/side-app/index.mjs +2 -0
- package/esm2022/frames/side-app/ng-atomic-components-frames-side-app.mjs +5 -0
- package/esm2022/frames/side-app/side-app.frame.mjs +74 -0
- package/esm2022/frames/side-nav/side-nav.frame.mjs +27 -21
- package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
- package/esm2022/frames/tabs/tabs.frame.mjs +13 -7
- package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +11 -18
- package/esm2022/molecules/action-input-field/action-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/actions-column/actions-column.molecule.mjs +13 -7
- package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -21
- package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/file-input-field/file-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
- package/esm2022/molecules/list-item/index.mjs +2 -0
- package/esm2022/molecules/list-item/list-item.molecule.mjs +198 -0
- package/esm2022/molecules/list-item/ng-atomic-components-molecules-list-item.mjs +5 -0
- package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
- package/esm2022/molecules/molecules.module.mjs +19 -14
- package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
- package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +9 -5
- package/esm2022/molecules/smart-column/smart-column.molecule.mjs +129 -43
- package/esm2022/molecules/tree-column/tree-column.molecule.mjs +37 -25
- package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
- package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
- package/esm2022/organisms/agreement-input-section/agreement-input-section.organism.mjs +3 -3
- package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
- package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
- package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +4 -4
- package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +4 -4
- package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
- package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
- package/esm2022/organisms/filters-section/filters-section.organism.mjs +5 -5
- package/esm2022/organisms/graphql-editor/graphql-editor.organism.mjs +1 -1
- package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
- package/esm2022/organisms/heading/heading.organism.mjs +2 -2
- package/esm2022/{sheets/actions → organisms/list}/index.mjs +2 -2
- package/esm2022/organisms/list/list.organism.mjs +161 -0
- package/esm2022/{sheets/actions/ng-atomic-components-sheets-actions.mjs → organisms/list/ng-atomic-components-organisms-list.mjs} +1 -1
- package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
- package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
- package/esm2022/organisms/mermaid-section/mermaid-section.organism.mjs +39 -33
- package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
- package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
- package/esm2022/organisms/navigator/navigator.organism.mjs +48 -29
- package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
- package/esm2022/organisms/organisms.module.mjs +67 -62
- package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
- package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
- package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +4 -4
- package/esm2022/organisms/selection-list/selection-list.organism.mjs +1 -1
- package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
- package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
- package/esm2022/organisms/table/index.mjs +2 -1
- package/esm2022/organisms/table/table.helpers.mjs +4 -4
- package/esm2022/organisms/table/table.organism.mjs +152 -141
- package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +4 -4
- package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
- package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
- package/esm2022/organisms/tree-list/index.mjs +2 -0
- package/esm2022/organisms/tree-list/ng-atomic-components-organisms-tree-list.mjs +5 -0
- package/esm2022/organisms/tree-list/tree-list.organism.mjs +125 -0
- package/esm2022/pages/_index/index.page.mjs +172 -70
- package/esm2022/pages/columns/columns.page.mjs +10 -9
- package/esm2022/pages/form/form.page.mjs +32 -15
- package/esm2022/pages/pages.module.mjs +10 -7
- package/esm2022/pages/terms/terms.page.mjs +2 -2
- package/esm2022/templates/_index/index.template.mjs +276 -155
- package/esm2022/templates/background/background.template.mjs +2 -2
- package/esm2022/templates/code-editor/code-editor.template.mjs +52 -15
- package/esm2022/templates/columns/columns.template.mjs +6 -4
- package/esm2022/templates/entrance/entrance.template.mjs +28 -25
- package/esm2022/templates/form/form.builder.mjs +93 -71
- package/esm2022/templates/form/form.template.mjs +47 -28
- package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +69 -16
- package/esm2022/templates/menu/menu.template.mjs +2 -2
- package/esm2022/templates/messages/messages.template.mjs +71 -65
- package/esm2022/templates/selection/selection.template.mjs +2 -2
- package/esm2022/templates/settings/settings.template.mjs +2 -2
- package/esm2022/templates/templates.module.mjs +17 -25
- package/extras/editor/editor.component.d.ts +19 -10
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +90 -123
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms.mjs +7 -2
- package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras-editor.mjs +79 -47
- package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +131 -69
- package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +29 -7
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +4 -8
- package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +60 -0
- package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +96 -41
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +1 -48
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +31 -13
- package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-side-app.mjs +81 -0
- package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +26 -20
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-tabs.mjs +12 -6
- package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +10 -17
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames.mjs +19 -14
- package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +1 -1
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +12 -6
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -21
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +1 -1
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-list-item.mjs +203 -0
- package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +8 -4
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +128 -43
- package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +36 -24
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules.mjs +19 -14
- package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
- 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 +1 -1
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-list.mjs +166 -0
- package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +38 -32
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +47 -28
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +1 -1
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-table.mjs +156 -145
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +132 -0
- package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms.mjs +67 -62
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +171 -70
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +9 -8
- package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-form.mjs +31 -14
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-terms.mjs +1 -1
- package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages.mjs +10 -7
- package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-_index.mjs +276 -155
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +51 -14
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-columns.mjs +5 -3
- package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +27 -24
- package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-form.mjs +139 -99
- package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +68 -15
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-messages.mjs +71 -65
- package/fesm2022/ng-atomic-components-templates-messages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates.mjs +17 -25
- package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
- package/fesm2022/ng-atomic-components.mjs +20 -41
- package/fesm2022/ng-atomic-components.mjs.map +1 -1
- package/frames/app/app.frame.d.ts +14 -1
- package/frames/auto-layout/auto-layout.frame.d.ts +7 -1
- package/frames/frames.module.d.ts +3 -20
- package/frames/progress-bar/index.d.ts +1 -0
- package/frames/progress-bar/progress-bar.frame.d.ts +14 -0
- package/frames/router-outlet/router-outlet.frame.d.ts +20 -9
- package/frames/scroll/scroll.frame.d.ts +5 -1
- package/frames/scroll-v2/index.d.ts +1 -1
- package/frames/side-app/index.d.ts +1 -0
- package/frames/side-app/side-app.frame.d.ts +20 -0
- package/frames/side-nav/side-nav.frame.d.ts +6 -2
- package/frames/tabs/tabs.frame.d.ts +2 -1
- package/frames/vertical-hide/vertical-hide.frame.d.ts +2 -2
- package/molecules/actions-column/actions-column.molecule.d.ts +3 -2
- package/molecules/checkbox-column/checkbox-column.molecule.d.ts +12 -4
- package/molecules/list-item/index.d.ts +1 -0
- package/molecules/list-item/list-item.molecule.d.ts +50 -0
- package/molecules/molecules.module.d.ts +25 -0
- package/molecules/smart-column/smart-column.molecule.d.ts +34 -9
- package/molecules/tree-column/tree-column.molecule.d.ts +6 -2
- package/organisms/list/index.d.ts +1 -0
- package/organisms/{smart-list/smart-list.organism.d.ts → list/list.organism.d.ts} +11 -11
- package/organisms/mermaid-section/mermaid-section.organism.d.ts +10 -10
- package/organisms/navigator/navigator.organism.d.ts +8 -5
- package/organisms/organisms.module.d.ts +57 -2
- package/organisms/table/index.d.ts +1 -0
- package/organisms/table/table.helpers.d.ts +1 -1
- package/organisms/table/table.organism.d.ts +32 -1
- package/organisms/tree-list/index.d.ts +1 -0
- package/organisms/tree-list/tree-list.organism.d.ts +33 -0
- package/package.json +67 -55
- package/pages/_index/index.page.d.ts +72 -43
- package/pages/columns/columns.page.d.ts +5 -2
- package/pages/form/form.page.d.ts +20 -11
- package/pages/pages.module.d.ts +1 -0
- package/templates/_index/index.template.d.ts +40 -11
- package/templates/code-editor/code-editor.template.d.ts +6 -3
- package/templates/entrance/entrance.template.d.ts +1 -1
- package/templates/form/form.builder.d.ts +10 -3
- package/templates/form/form.template.d.ts +2 -1
- package/templates/icon-button-menu/icon-button-menu.template.d.ts +3 -2
- package/templates/messages/messages.template.d.ts +21 -17
- package/templates/templates.module.d.ts +24 -1
- package/esm2022/frames/scroll-v2/scroll.frame.mjs +0 -46
- package/esm2022/organisms/smart-list/index.mjs +0 -2
- package/esm2022/organisms/smart-list/ng-atomic-components-organisms-smart-list.mjs +0 -5
- package/esm2022/organisms/smart-list/smart-list.organism.mjs +0 -218
- package/esm2022/sheets/actions/actions.sheet.mjs +0 -45
- package/esm2022/sheets/index.mjs +0 -3
- package/esm2022/sheets/ng-atomic-components-sheets.mjs +0 -5
- package/esm2022/sheets/sheets.module.mjs +0 -25
- package/esm2022/sheets/sheets.service.mjs +0 -20
- package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +0 -223
- package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-sheets-actions.mjs +0 -52
- package/fesm2022/ng-atomic-components-sheets-actions.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-sheets.mjs +0 -48
- package/fesm2022/ng-atomic-components-sheets.mjs.map +0 -1
- package/frames/scroll-v2/scroll.frame.d.ts +0 -9
- package/organisms/smart-list/index.d.ts +0 -1
- package/sheets/actions/actions.sheet.d.ts +0 -9
- package/sheets/actions/index.d.ts +0 -1
- package/sheets/index.d.ts +0 -2
- package/sheets/sheets.module.d.ts +0 -11
- package/sheets/sheets.service.d.ts +0 -10
|
@@ -1,80 +1,112 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, input, effect, ElementRef,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { bracketMatching, syntaxHighlighting } from '@codemirror/language';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input, effect, ElementRef, output, signal, Directive } from '@angular/core';
|
|
2
|
+
import { keymap } from "@codemirror/view";
|
|
3
|
+
import { indentWithTab } from "@codemirror/commands";
|
|
4
|
+
import { syntaxHighlighting } from '@codemirror/language';
|
|
6
5
|
import { oneDarkHighlightStyle, oneDark } from '@codemirror/theme-one-dark';
|
|
7
6
|
import { EditorState } from '@codemirror/state';
|
|
8
|
-
import { lineNumbers } from '@codemirror/view';
|
|
9
7
|
import { basicSetup, EditorView } from "codemirror";
|
|
10
|
-
import { NgAtomicComponent } from '@ng-atomic/core';
|
|
11
|
-
import { distinctUntilChanged } from 'rxjs';
|
|
8
|
+
import { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
|
|
12
9
|
import { json } from "@codemirror/lang-json";
|
|
10
|
+
import { distinctUntilChanged, filter, map, ReplaySubject } from 'rxjs';
|
|
13
11
|
import * as i0 from "@angular/core";
|
|
14
|
-
export class
|
|
12
|
+
export class EditorComponentStore extends InjectableComponent {
|
|
15
13
|
constructor() {
|
|
16
14
|
super();
|
|
17
15
|
this.content = input('');
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.keyActions = input();
|
|
16
|
+
this.contentChange = output();
|
|
17
|
+
this.keyActions = input([]);
|
|
21
18
|
this.extensions = input([
|
|
22
19
|
json(),
|
|
23
20
|
]);
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
// readonly update = signal<ViewUpdate>(null);
|
|
22
|
+
// readonly update$ = toObservable(this.update);
|
|
23
|
+
this.update$ = new ReplaySubject(0);
|
|
24
|
+
this.defaultExtensions = computed(() => [
|
|
25
|
+
basicSetup,
|
|
26
|
+
oneDark,
|
|
27
|
+
syntaxHighlighting(oneDarkHighlightStyle),
|
|
28
|
+
EditorView.updateListener.of((update) => this.update$.next(update)),
|
|
29
|
+
keymap.of([
|
|
30
|
+
...(this.keyActions()).map(({ key, actionId }) => ({
|
|
31
|
+
key,
|
|
32
|
+
run: () => {
|
|
33
|
+
this.action.emit({ id: actionId });
|
|
34
|
+
return true;
|
|
35
|
+
},
|
|
36
|
+
})),
|
|
37
|
+
indentWithTab,
|
|
38
|
+
]),
|
|
39
|
+
]);
|
|
40
|
+
this.state = computed(() => EditorState.create({
|
|
41
|
+
...this.editorView().state,
|
|
42
|
+
extensions: [
|
|
43
|
+
...this.defaultExtensions(),
|
|
44
|
+
...this.extensions(),
|
|
45
|
+
],
|
|
46
|
+
}));
|
|
47
|
+
this.editorView = signal(null);
|
|
48
|
+
this.action = output();
|
|
49
|
+
this.update$.pipe(filter((update) => update?.docChanged), map((update) => (update.state.doc.toString())), distinctUntilChanged()).subscribe((content) => {
|
|
50
|
+
this.contentChange.emit(content);
|
|
51
|
+
});
|
|
26
52
|
effect(() => {
|
|
27
|
-
|
|
28
|
-
|
|
53
|
+
if (this.content() === this.editorView().state.doc.toString())
|
|
54
|
+
return;
|
|
55
|
+
const selection = this.editorView().state.selection;
|
|
56
|
+
this.editorView().dispatch(this.editorView().state.update({
|
|
29
57
|
changes: {
|
|
30
58
|
from: 0,
|
|
31
|
-
to: this.editorView.state.doc.length,
|
|
59
|
+
to: this.editorView().state.doc.length,
|
|
32
60
|
insert: this.content() ?? '',
|
|
33
61
|
},
|
|
34
62
|
selection: selection,
|
|
35
63
|
scrollIntoView: true,
|
|
36
64
|
}));
|
|
37
65
|
});
|
|
66
|
+
effect(() => {
|
|
67
|
+
this.editorView().setState(this.state());
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponentStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: EditorComponentStore, isStandalone: true, inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, keyActions: { classPropertyName: "keyActions", publicName: "keyActions", isSignal: true, isRequired: false, transformFunction: null }, extensions: { classPropertyName: "extensions", publicName: "extensions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentChange: "contentChange", action: "action" }, usesInheritance: true, ngImport: i0 }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponentStore, decorators: [{
|
|
74
|
+
type: Directive,
|
|
75
|
+
args: [{ standalone: true }]
|
|
76
|
+
}], ctorParameters: () => [] });
|
|
77
|
+
export class EditorComponent extends NgAtomicComponent {
|
|
78
|
+
constructor() {
|
|
79
|
+
super(...arguments);
|
|
80
|
+
this.store = inject(EditorComponentStore);
|
|
81
|
+
this.el = inject(ElementRef);
|
|
38
82
|
}
|
|
39
83
|
ngOnInit() {
|
|
40
|
-
this.
|
|
41
|
-
this.contentChange.emit(content);
|
|
42
|
-
});
|
|
84
|
+
this.store.action.subscribe((action) => this.dispatch(action));
|
|
43
85
|
}
|
|
44
86
|
ngAfterViewInit() {
|
|
45
|
-
this.editorView?.destroy();
|
|
46
|
-
this.editorView
|
|
87
|
+
this.store.editorView()?.destroy();
|
|
88
|
+
this.store.editorView.set(new EditorView({
|
|
47
89
|
state: EditorState.create({
|
|
48
90
|
doc: ``,
|
|
49
91
|
extensions: [
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
closeBrackets(),
|
|
53
|
-
history(),
|
|
54
|
-
autocompletion(),
|
|
55
|
-
lineNumbers(),
|
|
56
|
-
oneDark,
|
|
57
|
-
syntaxHighlighting(oneDarkHighlightStyle),
|
|
58
|
-
EditorView.updateListener.of((update) => {
|
|
59
|
-
if (!update.docChanged)
|
|
60
|
-
return;
|
|
61
|
-
this._contentChange$.emit(update.state.doc.toString());
|
|
62
|
-
}),
|
|
63
|
-
...this.extensions(),
|
|
92
|
+
...this.store.defaultExtensions(),
|
|
93
|
+
...this.store.extensions(),
|
|
64
94
|
],
|
|
65
95
|
}),
|
|
66
96
|
parent: this.el.nativeElement,
|
|
67
|
-
});
|
|
97
|
+
}));
|
|
68
98
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, deps:
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: EditorComponent, isStandalone: true, selector: "extras-editor", usesInheritance: true, hostDirectives: [{ directive: EditorComponentStore, inputs: ["content", "content", "keyActions", "keyActions", "extensions", "extensions"], outputs: ["contentChange", "contentChange"] }], ngImport: i0, template: ``, isInline: true, styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
101
|
}
|
|
72
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorComponent, decorators: [{
|
|
73
103
|
type: Component,
|
|
74
|
-
args: [{ selector: 'extras-editor', standalone: true,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
104
|
+
args: [{ selector: 'extras-editor', standalone: true, template: ``, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
105
|
+
{
|
|
106
|
+
directive: EditorComponentStore,
|
|
107
|
+
inputs: ['content', 'keyActions', 'extensions'],
|
|
108
|
+
outputs: ['contentChange'],
|
|
109
|
+
}
|
|
110
|
+
], styles: [":host{display:block}:host{width:100%;height:100%}:host ::ng-deep>.cm-editor{width:100%;height:100%}\n"] }]
|
|
111
|
+
}] });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhcy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQXlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl4RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBc0MzRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBdENELFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUNqQyxlQUFVLEdBQUcsS0FBSyxDQUFvQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQUcsS0FBSyxDQUFjO1lBQ3ZDLElBQUksRUFBRTtTQUNQLENBQUMsQ0FBQztRQUNILDhDQUE4QztRQUM5QyxnREFBZ0Q7UUFDdkMsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxVQUFVO1lBQ1YsT0FBTztZQUNQLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNSLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDL0MsR0FBRztvQkFDSCxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFBRSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7d0JBQ2pDLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILGFBQWE7YUFDZCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRU0sVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ2pELEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUs7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMzQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDckI7U0FDRixDQUFDLENBQUMsQ0FBQztRQUVLLGVBQVUsR0FBRyxNQUFNLENBQWEsSUFBSSxDQUFDLENBQUM7UUFDdEMsV0FBTSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBS2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUN0QyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUM5QyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFBRSxPQUFPO1lBQ3RFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ3BELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUM3QixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLENBQUM7b0JBQ1AsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07b0JBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtpQkFDN0I7Z0JBQ0QsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGNBQWMsRUFBRSxJQUFJO2FBQ3JCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEVVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs7QUFzRi9CLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQWR0RDs7UUFlcUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JDLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FtQjVDO0lBakJDLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUN4QixHQUFHLEVBQUUsRUFBRTtnQkFDUCxVQUFVLEVBQUU7b0JBQ1YsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFO29CQUNqQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO2lCQUMzQjthQUNGLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhO1NBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs4R0FwQlUsZUFBZTtrR0FBZixlQUFlLHNHQXJGZixvQkFBb0Isa0tBMEVyQixFQUFFOzsyRkFXRCxlQUFlO2tCQWQzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFlBQ04sRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQzs0QkFDL0MsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO3lCQUMzQjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBlZmZlY3QsIEVsZW1lbnRSZWYsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgb3V0cHV0LCBzaWduYWwsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsga2V5bWFwLCBWaWV3VXBkYXRlIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIlxuaW1wb3J0IHsgaW5kZW50V2l0aFRhYiB9IGZyb20gXCJAY29kZW1pcnJvci9jb21tYW5kc1wiXG5pbXBvcnQgeyBzeW50YXhIaWdobGlnaHRpbmcgfSBmcm9tICdAY29kZW1pcnJvci9sYW5ndWFnZSc7XG5pbXBvcnQgeyBvbmVEYXJrSGlnaGxpZ2h0U3R5bGUsIG9uZURhcmsgfSBmcm9tICdAY29kZW1pcnJvci90aGVtZS1vbmUtZGFyayc7XG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgRXh0ZW5zaW9uIH0gZnJvbSAnQGNvZGVtaXJyb3Ivc3RhdGUnO1xuaW1wb3J0IHsgYmFzaWNTZXR1cCwgRWRpdG9yVmlldyB9IGZyb20gXCJjb2RlbWlycm9yXCJcbmltcG9ydCB7IEFjdGlvbiwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsganNvbiB9IGZyb20gXCJAY29kZW1pcnJvci9sYW5nLWpzb25cIjtcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudFN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY29udGVudENoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGtleUFjdGlvbnMgPSBpbnB1dDx7a2V5OiBzdHJpbmcsIGFjdGlvbklkOiBzdHJpbmd9W10+KFtdKTtcbiAgcmVhZG9ubHkgZXh0ZW5zaW9ucyA9IGlucHV0PEV4dGVuc2lvbltdPihbXG4gICAganNvbigpLFxuICBdKTtcbiAgLy8gcmVhZG9ubHkgdXBkYXRlID0gc2lnbmFsPFZpZXdVcGRhdGU+KG51bGwpO1xuICAvLyByZWFkb25seSB1cGRhdGUkID0gdG9PYnNlcnZhYmxlKHRoaXMudXBkYXRlKTtcbiAgcmVhZG9ubHkgdXBkYXRlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFZpZXdVcGRhdGU+KDApO1xuICByZWFkb25seSBkZWZhdWx0RXh0ZW5zaW9ucyA9IGNvbXB1dGVkKCgpID0+IFtcbiAgICBiYXNpY1NldHVwLFxuICAgIG9uZURhcmssXG4gICAgc3ludGF4SGlnaGxpZ2h0aW5nKG9uZURhcmtIaWdobGlnaHRTdHlsZSksXG4gICAgRWRpdG9yVmlldy51cGRhdGVMaXN0ZW5lci5vZigodXBkYXRlKSA9PiB0aGlzLnVwZGF0ZSQubmV4dCh1cGRhdGUpKSxcbiAgICBrZXltYXAub2YoW1xuICAgICAgLi4uKHRoaXMua2V5QWN0aW9ucygpKS5tYXAoKHtrZXksIGFjdGlvbklkfSkgPT4gKHtcbiAgICAgICAga2V5LFxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGlvbi5lbWl0KHtpZDogYWN0aW9uSWR9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pKSxcbiAgICAgIGluZGVudFdpdGhUYWIsXG4gICAgXSksXG4gIF0pO1xuXG4gIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAuLi50aGlzLmVkaXRvclZpZXcoKS5zdGF0ZSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAuLi50aGlzLmRlZmF1bHRFeHRlbnNpb25zKCksXG4gICAgICAuLi50aGlzLmV4dGVuc2lvbnMoKSxcbiAgICBdLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgZWRpdG9yVmlldyA9IHNpZ25hbDxFZGl0b3JWaWV3PihudWxsKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gb3V0cHV0PEFjdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy51cGRhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHVwZGF0ZSkgPT4gdXBkYXRlPy5kb2NDaGFuZ2VkKSxcbiAgICAgIG1hcCgodXBkYXRlKSA9PiAodXBkYXRlLnN0YXRlLmRvYy50b1N0cmluZygpKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChjb250ZW50KTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZW50KCkgPT09IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy50b1N0cmluZygpKSByZXR1cm47XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmVkaXRvclZpZXcoKS5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3KCkuc3RhdGUudXBkYXRlKHtcbiAgICAgICAgICBjaGFuZ2VzOiB7XG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy5sZW5ndGgsXG4gICAgICAgICAgICBpbnNlcnQ6IHRoaXMuY29udGVudCgpID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgICAgICAgc2Nyb2xsSW50b1ZpZXc6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5zZXRTdGF0ZSh0aGlzLnN0YXRlKCkpO1xuICAgIH0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dHJhcy1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWycuL2VkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEVkaXRvckNvbXBvbmVudFN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAna2V5QWN0aW9ucycsICdleHRlbnNpb25zJ10sXG4gICAgICBvdXRwdXRzOiBbJ2NvbnRlbnRDaGFuZ2UnXSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoRWRpdG9yQ29tcG9uZW50U3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5hY3Rpb24uc3Vic2NyaWJlKChhY3Rpb24pID0+IHRoaXMuZGlzcGF0Y2goYWN0aW9uKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdG9yZS5lZGl0b3JWaWV3KCk/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnN0b3JlLmVkaXRvclZpZXcuc2V0KG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgIHN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICBkb2M6IGBgLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgLi4udGhpcy5zdG9yZS5kZWZhdWx0RXh0ZW5zaW9ucygpLFxuICAgICAgICAgIC4uLnRoaXMuc3RvcmUuZXh0ZW5zaW9ucygpLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYXJlbnQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|