@ng-atomic/components 18.2.0 → 18.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +3 -3
- package/components.module.d.ts +6 -1
- package/esm2022/atoms/icon/icon.atom.mjs +2 -2
- package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +77 -114
- package/esm2022/components.module.mjs +7 -3
- package/esm2022/extras/editor/editor.component.mjs +78 -46
- package/esm2022/frames/app/app.frame.mjs +130 -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 +3 -3
- 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 +4 -1
- 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 +49 -19
- package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
- package/esm2022/organisms/organisms.module.mjs +5 -5
- 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 +169 -62
- package/esm2022/pages/columns/columns.page.mjs +10 -9
- package/esm2022/pages/form/form.page.mjs +27 -12
- 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 +12 -11
- 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/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 +76 -113
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.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 +129 -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 +2 -2
- 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 +3 -0
- 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 +48 -18
- 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 +4 -4
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +168 -62
- 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 +26 -11
- 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-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 +11 -10
- 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.mjs +7 -3
- package/fesm2022/ng-atomic-components.mjs.map +1 -1
- package/frames/app/app.frame.d.ts +13 -1
- package/frames/auto-layout/auto-layout.frame.d.ts +7 -1
- 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 +3 -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 -6
- package/organisms/organisms.module.d.ts +1 -1
- 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 +37 -25
- 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 +11 -2
- 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/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
|
@@ -9,12 +9,12 @@ export declare class StopPipe implements PipeTransform {
|
|
|
9
9
|
export declare class SmartMenuButtonAtomStore extends InjectableComponent {
|
|
10
10
|
readonly actions: import("@angular/core").InputSignal<Action<any>[]>;
|
|
11
11
|
readonly type: import("@angular/core").InputSignal<"button" | "icon-button">;
|
|
12
|
-
readonly action: import("@angular/core").
|
|
12
|
+
readonly action: import("@angular/core").InputSignal<Action<any>>;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SmartMenuButtonAtomStore, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SmartMenuButtonAtomStore, "atoms-smart-menu-button", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SmartMenuButtonAtomStore, "atoms-smart-menu-button, atoms-menu-button", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15
15
|
}
|
|
16
16
|
export declare class SmartMenuButtonAtom extends NgAtomicComponent {
|
|
17
17
|
protected store: SmartMenuButtonAtomStore;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<SmartMenuButtonAtom, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SmartMenuButtonAtom, "atoms-smart-menu-button", never, {}, {}, never, never, true, [{ directive: typeof SmartMenuButtonAtomStore; inputs: { "actions": "actions"; "type": "type"; }; outputs: {}; }]>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SmartMenuButtonAtom, "atoms-smart-menu-button, atoms-menu-button", never, {}, {}, never, never, true, [{ directive: typeof SmartMenuButtonAtomStore; inputs: { "actions": "actions"; "action": "action"; "type": "type"; }; outputs: {}; }]>;
|
|
20
20
|
}
|
package/components.module.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import { EnvironmentProviders } from "@angular/core";
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
import * as i1 from "@angular/material/dialog";
|
|
3
4
|
import * as i2 from "@angular/material/snack-bar";
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated use `provideNgAtomicComponents()` instead
|
|
7
|
+
*/
|
|
4
8
|
export declare class NgAtomicComponentsModule {
|
|
5
9
|
static forRoot(): {
|
|
6
10
|
ngModule: typeof NgAtomicComponentsModule;
|
|
7
|
-
providers: (import("@angular/core").Provider |
|
|
11
|
+
providers: (import("@angular/core").Provider | EnvironmentProviders)[];
|
|
8
12
|
};
|
|
9
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgAtomicComponentsModule, never>;
|
|
10
14
|
static ɵmod: i0.ɵɵNgModuleDeclaration<NgAtomicComponentsModule, never, [typeof i1.MatDialogModule, typeof i2.MatSnackBarModule], never>;
|
|
11
15
|
static ɵinj: i0.ɵɵInjectorDeclaration<NgAtomicComponentsModule>;
|
|
12
16
|
}
|
|
17
|
+
export declare function provideNgAtomicComponents(): EnvironmentProviders;
|
|
@@ -20,7 +20,7 @@ export class IconAtom extends NgAtomicComponent {
|
|
|
20
20
|
} @else {
|
|
21
21
|
<mat-icon>{{ name() }}</mat-icon>
|
|
22
22
|
}
|
|
23
|
-
`, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-
|
|
23
|
+
`, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-Gm1K: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-Gm1K: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-Gm1K: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-Gm1K: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-Gm1K: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-Gm1K: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-Gm1K: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-Gm1K)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-Gm1K)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IconAtom, decorators: [{
|
|
26
26
|
type: Component,
|
|
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
32
32
|
} @else {
|
|
33
33
|
<mat-icon>{{ name() }}</mat-icon>
|
|
34
34
|
}
|
|
35
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-
|
|
35
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-Gm1K: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-Gm1K: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-Gm1K: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-Gm1K: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-Gm1K: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-Gm1K: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-Gm1K: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-Gm1K)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-Gm1K)}\n"] }]
|
|
36
36
|
}], propDecorators: { color: [{
|
|
37
37
|
type: HostBinding,
|
|
38
38
|
args: ['style.--color']
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Directive, Pipe,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Directive, Pipe, inject, input } from '@angular/core';
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
5
5
|
import { MatMenuModule } from '@angular/material/menu';
|
|
6
|
-
import { InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';
|
|
6
|
+
import { _computed, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/material/button";
|
|
9
9
|
import * as i2 from "@angular/material/icon";
|
|
@@ -26,10 +26,22 @@ let SmartMenuButtonAtomStore = class SmartMenuButtonAtomStore extends Injectable
|
|
|
26
26
|
super(...arguments);
|
|
27
27
|
this.actions = input([]);
|
|
28
28
|
this.type = input('icon-button');
|
|
29
|
-
this.action =
|
|
29
|
+
this.action = input(_computed(() => {
|
|
30
|
+
if (this.actions().length === 1) {
|
|
31
|
+
return this.actions()[0];
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return {
|
|
35
|
+
id: 'menu',
|
|
36
|
+
name: 'メニューを開く',
|
|
37
|
+
icon: 'more_vert',
|
|
38
|
+
children: this.actions(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
30
42
|
}
|
|
31
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtomStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SmartMenuButtonAtomStore, isStandalone: true, selector: "atoms-smart-menu-button", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SmartMenuButtonAtomStore, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
33
45
|
};
|
|
34
46
|
SmartMenuButtonAtomStore = __decorate([
|
|
35
47
|
TokenizedType()
|
|
@@ -37,7 +49,7 @@ SmartMenuButtonAtomStore = __decorate([
|
|
|
37
49
|
export { SmartMenuButtonAtomStore };
|
|
38
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtomStore, decorators: [{
|
|
39
51
|
type: Directive,
|
|
40
|
-
args: [{ standalone: true, selector: 'atoms-smart-menu-button' }]
|
|
52
|
+
args: [{ standalone: true, selector: 'atoms-smart-menu-button, atoms-menu-button' }]
|
|
41
53
|
}] });
|
|
42
54
|
export class SmartMenuButtonAtom extends NgAtomicComponent {
|
|
43
55
|
constructor() {
|
|
@@ -45,128 +57,79 @@ export class SmartMenuButtonAtom extends NgAtomicComponent {
|
|
|
45
57
|
this.store = inject(SmartMenuButtonAtomStore);
|
|
46
58
|
}
|
|
47
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtom, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SmartMenuButtonAtom, isStandalone: true, selector: "atoms-smart-menu-button", usesInheritance: true, hostDirectives: [{ directive: SmartMenuButtonAtomStore, inputs: ["actions", "actions", "type", "type"] }], ngImport: i0, template: `
|
|
49
|
-
@
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
[color]="store.action()?.color"
|
|
67
|
-
[disabled]="store.action().disabled"
|
|
68
|
-
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
69
|
-
>
|
|
70
|
-
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
71
|
-
</button>
|
|
72
|
-
}
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SmartMenuButtonAtom, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", usesInheritance: true, hostDirectives: [{ directive: SmartMenuButtonAtomStore, inputs: ["actions", "actions", "action", "action", "type", "type"] }], ngImport: i0, template: `
|
|
61
|
+
@if (store.action()?.children?.length) {
|
|
62
|
+
<button
|
|
63
|
+
mat-icon-button
|
|
64
|
+
[color]="store.action()?.color"
|
|
65
|
+
[disabled]="store.action().disabled"
|
|
66
|
+
[matMenuTriggerFor]="menu"
|
|
67
|
+
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
68
|
+
>
|
|
69
|
+
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
70
|
+
</button>
|
|
71
|
+
<mat-menu #menu="matMenu">
|
|
72
|
+
@for (action of store.action().children; track $index) {
|
|
73
|
+
<button
|
|
74
|
+
mat-menu-item
|
|
75
|
+
[disabled]="action.disabled"
|
|
76
|
+
(click)="dispatch(action)"
|
|
77
|
+
>{{ action.name }}</button>
|
|
73
78
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
<button mat-icon-button [matMenuTriggerFor]="menu">
|
|
85
|
-
<mat-icon>more_vert</mat-icon>
|
|
86
|
-
</button>
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
79
|
+
</mat-menu>
|
|
80
|
+
} @else {
|
|
81
|
+
<button
|
|
82
|
+
mat-icon-button
|
|
83
|
+
[color]="store.action()?.color"
|
|
84
|
+
[disabled]="store.action().disabled"
|
|
85
|
+
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
86
|
+
>
|
|
87
|
+
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
88
|
+
</button>
|
|
91
89
|
}
|
|
92
|
-
|
|
93
|
-
<mat-menu #menu="matMenu">
|
|
94
|
-
@for (action of store.actions(); track action.id) {
|
|
95
|
-
<button
|
|
96
|
-
mat-menu-item
|
|
97
|
-
[disabled]="action.disabled"
|
|
98
|
-
(click)="dispatch(action)"
|
|
99
|
-
>{{ action.name }}</button>
|
|
100
|
-
}
|
|
101
|
-
</mat-menu>
|
|
102
|
-
`, isInline: true, styles: [":host{display:block;width:48px;height:48px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
90
|
+
`, isInline: true, styles: [":host{display:block;width:48px;height:48px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
103
91
|
}
|
|
104
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtom, decorators: [{
|
|
105
93
|
type: Component,
|
|
106
|
-
args: [{ selector: 'atoms-smart-menu-button', standalone: true, imports: [
|
|
94
|
+
args: [{ selector: 'atoms-smart-menu-button, atoms-menu-button', standalone: true, imports: [
|
|
107
95
|
MatButtonModule,
|
|
108
96
|
MatIconModule,
|
|
109
|
-
MatMenuModule
|
|
110
|
-
StopPipe
|
|
97
|
+
MatMenuModule
|
|
111
98
|
], template: `
|
|
112
|
-
@
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
[color]="store.action()?.color"
|
|
130
|
-
[disabled]="store.action().disabled"
|
|
131
|
-
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
132
|
-
>
|
|
133
|
-
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
134
|
-
</button>
|
|
135
|
-
}
|
|
99
|
+
@if (store.action()?.children?.length) {
|
|
100
|
+
<button
|
|
101
|
+
mat-icon-button
|
|
102
|
+
[color]="store.action()?.color"
|
|
103
|
+
[disabled]="store.action().disabled"
|
|
104
|
+
[matMenuTriggerFor]="menu"
|
|
105
|
+
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
106
|
+
>
|
|
107
|
+
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
108
|
+
</button>
|
|
109
|
+
<mat-menu #menu="matMenu">
|
|
110
|
+
@for (action of store.action().children; track $index) {
|
|
111
|
+
<button
|
|
112
|
+
mat-menu-item
|
|
113
|
+
[disabled]="action.disabled"
|
|
114
|
+
(click)="dispatch(action)"
|
|
115
|
+
>{{ action.name }}</button>
|
|
136
116
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
<button mat-icon-button [matMenuTriggerFor]="menu">
|
|
148
|
-
<mat-icon>more_vert</mat-icon>
|
|
149
|
-
</button>
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
117
|
+
</mat-menu>
|
|
118
|
+
} @else {
|
|
119
|
+
<button
|
|
120
|
+
mat-icon-button
|
|
121
|
+
[color]="store.action()?.color"
|
|
122
|
+
[disabled]="store.action().disabled"
|
|
123
|
+
(click)="dispatch(store.action()); $event.stopPropagation();"
|
|
124
|
+
>
|
|
125
|
+
<mat-icon>{{ store.action()?.icon }}</mat-icon>
|
|
126
|
+
</button>
|
|
154
127
|
}
|
|
155
|
-
|
|
156
|
-
<mat-menu #menu="matMenu">
|
|
157
|
-
@for (action of store.actions(); track action.id) {
|
|
158
|
-
<button
|
|
159
|
-
mat-menu-item
|
|
160
|
-
[disabled]="action.disabled"
|
|
161
|
-
(click)="dispatch(action)"
|
|
162
|
-
>{{ action.name }}</button>
|
|
163
|
-
}
|
|
164
|
-
</mat-menu>
|
|
165
128
|
`, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [
|
|
166
129
|
{
|
|
167
130
|
directive: SmartMenuButtonAtomStore,
|
|
168
|
-
inputs: ['actions', 'type'],
|
|
131
|
+
inputs: ['actions', 'action', 'type'],
|
|
169
132
|
}
|
|
170
133
|
], styles: [":host{display:block;width:48px;height:48px}\n"] }]
|
|
171
134
|
}] });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWVudS1idXR0b24uYXRvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2F0b21zL3NtYXJ0LW1lbnUtYnV0dG9uL3NtYXJ0LW1lbnUtYnV0dG9uLmF0b20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxNQUFNLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFVLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUczRyxNQUFNLE9BQU8sUUFBUTtJQUNuQixTQUFTLENBQUMsTUFBYTtRQUNyQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBTFUsUUFBUTs0R0FBUixRQUFROzsyRkFBUixRQUFRO2tCQURwQixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFOztBQVdsQyxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLG1CQUFtQjtJQUExRDs7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxLQUFLLENBQTJCLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELFdBQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLEVBQUUsRUFBRSxNQUFNO29CQUNWLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxXQUFXO29CQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtpQkFDekIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ0w7OEdBZlksd0JBQXdCO2tHQUF4Qix3QkFBd0I7O0FBQXhCLHdCQUF3QjtJQUZwQyxhQUFhLEVBQUU7R0FFSCx3QkFBd0IsQ0FlcEM7OzJGQWZZLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLDRDQUE0QyxFQUFFOztBQWtFdkYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQWhEMUQ7O1FBaURZLFVBQUssR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUNwRDs4R0FGWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixtSUFqRW5CLHdCQUF3QixpR0F5QnpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsc0hBbENDLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixhQUFhOzsyRkEwQ0osbUJBQW1CO2tCQWhEL0IsU0FBUzsrQkFDRSw0Q0FBNEMsY0FDMUMsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxtQkFFZ0IsdUJBQXVCLENBQUMsT0FBTyxrQkFDaEM7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLHdCQUF3Qjs0QkFDbkMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7eUJBQ3RDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBQaXBlLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgUGlwZVRyYW5zZm9ybSwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgX2NvbXB1dGVkLCBBY3Rpb24sIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcblxuQFBpcGUoeyBzdGFuZGFsb25lOiB0cnVlLCBuYW1lOiAnc3RvcGUnIH0pXG5leHBvcnQgY2xhc3MgU3RvcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKCRldmVudDogRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuICRldmVudDtcbiAgfVxufVxuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdhdG9tcy1zbWFydC1tZW51LWJ1dHRvbiwgYXRvbXMtbWVudS1idXR0b24nIH0pXG5leHBvcnQgY2xhc3MgU21hcnRNZW51QnV0dG9uQXRvbVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dDxBY3Rpb25bXT4oW10pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J2J1dHRvbicgfCAnaWNvbi1idXR0b24nPignaWNvbi1idXR0b24nKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5hY3Rpb25zKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKClbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiAnbWVudScsXG4gICAgICAgIG5hbWU6ICfjg6Hjg4vjg6Xjg7zjgpLplovjgY8nLFxuICAgICAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuYWN0aW9ucygpLFxuICAgICAgfVxuICAgIH1cbiAgfSkpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdG9tcy1zbWFydC1tZW51LWJ1dHRvbiwgYXRvbXMtbWVudS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICBAaWYgKHN0b3JlLmFjdGlvbigpPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbY29sb3JdPVwic3RvcmUuYWN0aW9uKCk/LmNvbG9yXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdG9yZS5hY3Rpb24oKS5kaXNhYmxlZFwiXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAoY2xpY2spPVwiZGlzcGF0Y2goc3RvcmUuYWN0aW9uKCkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+e3sgc3RvcmUuYWN0aW9uKCk/Lmljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIEBmb3IgKGFjdGlvbiBvZiBzdG9yZS5hY3Rpb24oKS5jaGlsZHJlbjsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRpc3BhdGNoKGFjdGlvbilcIlxuICAgICAgICA+e3sgYWN0aW9uLm5hbWUgfX08L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L21hdC1tZW51PlxuICB9IEBlbHNlIHtcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJzdG9yZS5hY3Rpb24oKT8uY29sb3JcIlxuICAgICAgW2Rpc2FibGVkXT1cInN0b3JlLmFjdGlvbigpLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJkaXNwYXRjaChzdG9yZS5hY3Rpb24oKSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj57eyBzdG9yZS5hY3Rpb24oKT8uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbWVudS1idXR0b24uYXRvbS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFNtYXJ0TWVudUJ1dHRvbkF0b21TdG9yZSxcbiAgICAgIGlucHV0czogWydhY3Rpb25zJywgJ2FjdGlvbicsICd0eXBlJ10sXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0TWVudUJ1dHRvbkF0b20gZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChTbWFydE1lbnVCdXR0b25BdG9tU3RvcmUpO1xufVxuIl19
|
|
@@ -5,11 +5,13 @@ import { NgAtomicOrganismsModule } from "@ng-atomic/components/organisms";
|
|
|
5
5
|
import { NgAtomicTemplatesModule } from "@ng-atomic/components/templates";
|
|
6
6
|
import { NgAtomicFramesModule } from "@ng-atomic/components/frames";
|
|
7
7
|
import { NgAtomicPagesModule } from "@ng-atomic/components/pages";
|
|
8
|
-
import { NgAtomicSheetsModule } from '@ng-atomic/components/sheets';
|
|
9
8
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
10
9
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
11
10
|
import { provideRootProperty, RootPropertyService } from '@ng-atomic/common/services/root-property';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated use `provideNgAtomicComponents()` instead
|
|
14
|
+
*/
|
|
13
15
|
export class NgAtomicComponentsModule {
|
|
14
16
|
static forRoot() {
|
|
15
17
|
return {
|
|
@@ -23,7 +25,6 @@ export class NgAtomicComponentsModule {
|
|
|
23
25
|
importProvidersFrom(NgAtomicTemplatesModule.forRoot()),
|
|
24
26
|
importProvidersFrom(NgAtomicPagesModule.forRoot()),
|
|
25
27
|
importProvidersFrom(NgAtomicFramesModule.forRoot()),
|
|
26
|
-
importProvidersFrom(NgAtomicSheetsModule.forRoot()),
|
|
27
28
|
],
|
|
28
29
|
};
|
|
29
30
|
}
|
|
@@ -42,4 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
42
43
|
]
|
|
43
44
|
}]
|
|
44
45
|
}] });
|
|
45
|
-
|
|
46
|
+
export function provideNgAtomicComponents() {
|
|
47
|
+
return importProvidersFrom(NgAtomicComponentsModule.forRoot());
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3BHOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxtQkFBbUIsRUFBRTtnQkFDckIsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xELG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0RCxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RELG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRCxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNwRDtTQUNGLENBQUE7SUFDSCxDQUFDOzhHQWZVLHdCQUF3QjsrR0FBeEIsd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7K0dBR1Isd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7OzJGQUdSLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGOztBQW1CRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIE5nTW9kdWxlLCBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nQXRvbWljQXRvbXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zXCI7XG5pbXBvcnQgeyBOZ0F0b21pY01vbGVjdWxlc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvbW9sZWN1bGVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY09yZ2FuaXNtc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zXCI7XG5pbXBvcnQgeyBOZ0F0b21pY1RlbXBsYXRlc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0ZyYW1lc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY1BhZ2VzTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IHByb3ZpZGVSb290UHJvcGVydHksIFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcblxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgcHJvdmlkZU5nQXRvbWljQ29tcG9uZW50cygpYCBpbnN0ZWFkXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNDb21wb25lbnRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUm9vdFByb3BlcnR5U2VydmljZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBwcm92aWRlUm9vdFByb3BlcnR5KCksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNBdG9tc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljTW9sZWN1bGVzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNPcmdhbmlzbXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY1RlbXBsYXRlc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljUGFnZXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0ZyYW1lc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOZ0F0b21pY0NvbXBvbmVudHMoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUuZm9yUm9vdCgpKTtcbn1cbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhcy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQXlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl4RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBc0MzRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBdENELFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxNQUFN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QXJGZixvQkFBb0Isa0tBMEVyQixFQUFFOzsyRkFXRCxlQUFlO2tCQWQzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFlBQ04sRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQzs0QkFDL0MsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO3lCQUMzQjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBlZmZlY3QsIEVsZW1lbnRSZWYsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgb3V0cHV0LCBzaWduYWwsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsga2V5bWFwLCBWaWV3VXBkYXRlIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIlxuaW1wb3J0IHsgaW5kZW50V2l0aFRhYiB9IGZyb20gXCJAY29kZW1pcnJvci9jb21tYW5kc1wiXG5pbXBvcnQgeyBzeW50YXhIaWdobGlnaHRpbmcgfSBmcm9tICdAY29kZW1pcnJvci9sYW5ndWFnZSc7XG5pbXBvcnQgeyBvbmVEYXJrSGlnaGxpZ2h0U3R5bGUsIG9uZURhcmsgfSBmcm9tICdAY29kZW1pcnJvci90aGVtZS1vbmUtZGFyayc7XG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgRXh0ZW5zaW9uIH0gZnJvbSAnQGNvZGVtaXJyb3Ivc3RhdGUnO1xuaW1wb3J0IHsgYmFzaWNTZXR1cCwgRWRpdG9yVmlldyB9IGZyb20gXCJjb2RlbWlycm9yXCJcbmltcG9ydCB7IEFjdGlvbiwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsganNvbiB9IGZyb20gXCJAY29kZW1pcnJvci9sYW5nLWpzb25cIjtcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudFN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY29udGVudENoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGtleUFjdGlvbnMgPSBpbnB1dDx7a2V5OiBzdHJpbmcsIGFjdGlvbklkOiBzdHJpbmd9W10+KFtdKTtcbiAgcmVhZG9ubHkgZXh0ZW5zaW9ucyA9IGlucHV0PEV4dGVuc2lvbltdPihbXG4gICAganNvbigpLFxuICBdKTtcbiAgLy8gcmVhZG9ubHkgdXBkYXRlID0gc2lnbmFsPFZpZXdVcGRhdGU+KG51bGwpO1xuICAvLyByZWFkb25seSB1cGRhdGUkID0gdG9PYnNlcnZhYmxlKHRoaXMudXBkYXRlKTtcbiAgcmVhZG9ubHkgdXBkYXRlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFZpZXdVcGRhdGU+KDApO1xuICByZWFkb25seSBkZWZhdWx0RXh0ZW5zaW9ucyA9IGNvbXB1dGVkKCgpID0+IFtcbiAgICBiYXNpY1NldHVwLFxuICAgIG9uZURhcmssXG4gICAgc3ludGF4SGlnaGxpZ2h0aW5nKG9uZURhcmtIaWdobGlnaHRTdHlsZSksXG4gICAgRWRpdG9yVmlldy51cGRhdGVMaXN0ZW5lci5vZigodXBkYXRlKSA9PiB0aGlzLnVwZGF0ZSQubmV4dCh1cGRhdGUpKSxcbiAgICBrZXltYXAub2YoW1xuICAgICAgLi4uKHRoaXMua2V5QWN0aW9ucygpKS5tYXAoKHtrZXksIGFjdGlvbklkfSkgPT4gKHtcbiAgICAgICAga2V5LFxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGlvbi5lbWl0KHtpZDogYWN0aW9uSWR9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pKSxcbiAgICAgIGluZGVudFdpdGhUYWIsXG4gICAgXSksXG4gIF0pO1xuXG4gIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAuLi50aGlzLmVkaXRvclZpZXcoKS5zdGF0ZSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAuLi50aGlzLmRlZmF1bHRFeHRlbnNpb25zKCksXG4gICAgICAuLi50aGlzLmV4dGVuc2lvbnMoKSxcbiAgICBdLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgZWRpdG9yVmlldyA9IHNpZ25hbDxFZGl0b3JWaWV3PihudWxsKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gb3V0cHV0PEFjdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy51cGRhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHVwZGF0ZSkgPT4gdXBkYXRlPy5kb2NDaGFuZ2VkKSxcbiAgICAgIG1hcCgodXBkYXRlKSA9PiAodXBkYXRlLnN0YXRlLmRvYy50b1N0cmluZygpKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICkuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChjb250ZW50KTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZW50KCkgPT09IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy50b1N0cmluZygpKSByZXR1cm47XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmVkaXRvclZpZXcoKS5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3KCkuc3RhdGUudXBkYXRlKHtcbiAgICAgICAgICBjaGFuZ2VzOiB7XG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IHRoaXMuZWRpdG9yVmlldygpLnN0YXRlLmRvYy5sZW5ndGgsXG4gICAgICAgICAgICBpbnNlcnQ6IHRoaXMuY29udGVudCgpID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgICAgICAgc2Nyb2xsSW50b1ZpZXc6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmVkaXRvclZpZXcoKS5zZXRTdGF0ZSh0aGlzLnN0YXRlKCkpO1xuICAgIH0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dHJhcy1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWycuL2VkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEVkaXRvckNvbXBvbmVudFN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAna2V5QWN0aW9ucycsICdleHRlbnNpb25zJ10sXG4gICAgICBvdXRwdXRzOiBbJ2NvbnRlbnRDaGFuZ2UnXSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoRWRpdG9yQ29tcG9uZW50U3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5hY3Rpb24uc3Vic2NyaWJlKChhY3Rpb24pID0+IHRoaXMuZGlzcGF0Y2goYWN0aW9uKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdG9yZS5lZGl0b3JWaWV3KCk/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnN0b3JlLmVkaXRvclZpZXcuc2V0KG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgIHN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICBkb2M6IGBgLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgLi4udGhpcy5zdG9yZS5kZWZhdWx0RXh0ZW5zaW9ucygpLFxuICAgICAgICAgIC4uLnRoaXMuc3RvcmUuZXh0ZW5zaW9ucygpLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYXJlbnQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|