@ng-atomic/components 16.2.0 → 17.0.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 +4 -1
- package/atoms/badge/badge.atom.d.ts +6 -0
- package/atoms/badge/index.d.ts +1 -0
- package/atoms/icon/icon.atom.d.ts +7 -8
- package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +17 -7
- package/components.module.d.ts +4 -2
- package/esm2022/atoms/atoms.module.mjs +11 -7
- package/esm2022/atoms/badge/badge.atom.mjs +16 -0
- package/esm2022/atoms/badge/index.mjs +2 -0
- package/esm2022/atoms/badge/ng-atomic-components-atoms-badge.mjs +5 -0
- package/esm2022/atoms/chips-input/chips-input.atom.mjs +6 -6
- package/esm2022/atoms/icon/icon.atom.mjs +28 -37
- package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +125 -58
- package/esm2022/components.module.mjs +17 -6
- package/esm2022/extras/editor/editor.component.mjs +67 -34
- package/esm2022/extras/extras.module.mjs +5 -5
- package/esm2022/frames/app/app.frame.mjs +176 -0
- package/esm2022/frames/app/index.mjs +2 -0
- package/esm2022/frames/app/ng-atomic-components-frames-app.mjs +5 -0
- package/esm2022/frames/auto-layout/auto-layout.frame.mjs +5 -5
- package/esm2022/frames/card/card.frame.mjs +5 -5
- package/esm2022/frames/columns/columns.frame.mjs +163 -0
- package/esm2022/frames/columns/index.mjs +2 -0
- package/esm2022/frames/columns/ng-atomic-components-frames-columns.mjs +5 -0
- package/esm2022/frames/divider/divider.frame.mjs +23 -20
- package/esm2022/frames/drawer/drawer.frame.mjs +45 -39
- package/esm2022/frames/entrance/entrance.frame.mjs +67 -0
- package/esm2022/frames/entrance/index.mjs +2 -0
- package/esm2022/frames/entrance/ng-atomic-components-frames-entrance.mjs +5 -0
- package/esm2022/frames/fab/fab.frame.mjs +45 -22
- package/esm2022/frames/fab/fab.service.mjs +4 -4
- package/esm2022/frames/frames.module.mjs +27 -7
- package/esm2022/frames/line-up/index.mjs +2 -1
- package/esm2022/frames/line-up/line-up.animations.mjs +5 -1
- package/esm2022/frames/line-up/line-up.frame.mjs +69 -93
- package/esm2022/frames/line-up/line-up.service.mjs +55 -0
- package/esm2022/frames/loading/loading.frame.mjs +37 -20
- package/esm2022/frames/overlay/overlay.animations.mjs +6 -6
- package/esm2022/frames/overlay/overlay.frame.mjs +33 -18
- package/esm2022/frames/router-outlet/router-outlet.frame.mjs +100 -62
- package/esm2022/frames/scroll/scroll.frame.mjs +6 -6
- package/esm2022/frames/scroll-v2/scroll.frame.mjs +24 -12
- package/esm2022/frames/side-nav/side-nav.frame.mjs +139 -85
- package/esm2022/frames/smart-menu/smart-menu.frame.mjs +5 -5
- package/esm2022/frames/tabs/index.mjs +2 -0
- package/esm2022/frames/tabs/ng-atomic-components-frames-tabs.mjs +5 -0
- package/esm2022/frames/tabs/tabs.frame.mjs +41 -0
- package/esm2022/frames/toggle/index.mjs +2 -0
- package/esm2022/frames/toggle/ng-atomic-components-frames-toggle.mjs +5 -0
- package/esm2022/frames/toggle/toggle.frame.mjs +48 -0
- package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +6 -6
- package/esm2022/molecules/action-input-field/action-input-field.molecule.mjs +5 -5
- package/esm2022/molecules/actions-column/actions-column.molecule.mjs +54 -64
- package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +45 -60
- package/esm2022/molecules/chips-input-field/chips-input-field.molecule.mjs +96 -80
- package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +57 -47
- package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +75 -0
- package/esm2022/molecules/date-range-input-field/index.mjs +2 -0
- package/esm2022/molecules/date-range-input-field/ng-atomic-components-molecules-date-range-input-field.mjs +5 -0
- package/esm2022/molecules/file-input-field/file-input-field.molecule.mjs +99 -80
- package/esm2022/molecules/grid-item/grid-item.molecule.mjs +68 -0
- package/esm2022/molecules/grid-item/index.mjs +2 -0
- package/esm2022/molecules/grid-item/ng-atomic-components-molecules-grid-item.mjs +5 -0
- package/esm2022/molecules/header/header.molecule.mjs +40 -16
- package/esm2022/{organisms/smart-table → molecules/loading-box}/index.mjs +2 -2
- package/esm2022/molecules/loading-box/loading-box.molecule.mjs +56 -0
- package/esm2022/{templates/smart-index/ng-atomic-components-templates-smart-index.mjs → molecules/loading-box/ng-atomic-components-molecules-loading-box.mjs} +1 -1
- package/esm2022/molecules/molecules.module.mjs +24 -6
- package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +45 -32
- package/esm2022/molecules/nested-menu/nested-menu.molecule.mjs +5 -5
- package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +55 -36
- package/esm2022/molecules/smart-column/smart-column.molecule.mjs +134 -24
- package/esm2022/molecules/text-input-field/text-input-field.molecule.mjs +77 -67
- package/esm2022/molecules/textarea-field/textarea-field.molecule.mjs +59 -45
- package/esm2022/molecules/tree-column/tree-column.molecule.mjs +52 -35
- package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +129 -19
- package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +46 -30
- package/esm2022/organisms/agreement-input-section/agreement-input-section.organism.mjs +66 -0
- package/esm2022/organisms/agreement-input-section/index.mjs +2 -0
- package/esm2022/organisms/agreement-input-section/ng-atomic-components-organisms-agreement-input-section.mjs +5 -0
- package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +5 -5
- package/esm2022/organisms/chips-input-section/chips-input-section.organism.mjs +52 -0
- package/esm2022/organisms/chips-input-section/index.mjs +2 -0
- package/esm2022/organisms/chips-input-section/ng-atomic-components-organisms-chips-input-section.mjs +5 -0
- package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +5 -5
- package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +62 -28
- package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +71 -0
- package/esm2022/organisms/date-range-input-section/index.mjs +2 -0
- package/esm2022/organisms/date-range-input-section/ng-atomic-components-organisms-date-range-input-section.mjs +5 -0
- package/esm2022/organisms/definition-list/definition-list.organism.mjs +57 -0
- package/esm2022/organisms/definition-list/index.mjs +2 -0
- package/esm2022/organisms/definition-list/ng-atomic-components-organisms-definition-list.mjs +5 -0
- package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +51 -36
- package/esm2022/organisms/filters-section/filters-section.organism.mjs +8 -6
- package/esm2022/organisms/graphql-editor/graphql-editor.organism.mjs +4 -4
- package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +40 -0
- package/esm2022/organisms/grid-cards-section/index.mjs +2 -0
- package/esm2022/organisms/grid-cards-section/ng-atomic-components-organisms-grid-cards-section.mjs +5 -0
- package/esm2022/organisms/grid-toolbar/grid-toolbar.organism.mjs +87 -81
- package/esm2022/organisms/heading/heading.organism.mjs +49 -5
- package/esm2022/organisms/image-preview-section/image-preview-section.organism.mjs +16 -0
- package/esm2022/organisms/image-preview-section/index.mjs +2 -0
- package/esm2022/organisms/image-preview-section/ng-atomic-components-organisms-image-preview-section.mjs +5 -0
- package/esm2022/organisms/markdown-preview-section/index.mjs +2 -0
- package/esm2022/organisms/markdown-preview-section/markdown-preview-section.organism.mjs +39 -0
- package/esm2022/organisms/markdown-preview-section/ng-atomic-components-organisms-markdown-preview-section.mjs +5 -0
- package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +31 -19
- package/esm2022/organisms/menu-header/menu-header.organism.mjs +86 -22
- package/esm2022/organisms/mermaid-section/mermaid-section.organism.mjs +5 -5
- package/esm2022/organisms/message-input-section/message-input-section.organism.mjs +4 -4
- package/esm2022/organisms/messages-section/messages-section.organism.mjs +56 -6
- package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +32 -36
- package/esm2022/organisms/navigator/navigator.organism.mjs +84 -40
- package/esm2022/organisms/number-input-section/index.mjs +2 -0
- package/esm2022/organisms/number-input-section/ng-atomic-components-organisms-number-input-section.mjs +5 -0
- package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +82 -0
- package/esm2022/organisms/organisms.module.mjs +82 -9
- package/esm2022/organisms/paginator/paginator.organism.mjs +50 -34
- package/esm2022/organisms/password-input-section/index.mjs +2 -0
- package/esm2022/organisms/password-input-section/ng-atomic-components-organisms-password-input-section.mjs +5 -0
- package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +80 -0
- package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +69 -19
- package/esm2022/organisms/selection-list/selection-list.organism.mjs +5 -5
- package/esm2022/organisms/smart-list/smart-list.organism.mjs +149 -104
- package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +5 -5
- package/esm2022/organisms/stripe-input-section/index.mjs +2 -0
- package/esm2022/organisms/stripe-input-section/ng-atomic-components-organisms-stripe-input-section.mjs +5 -0
- package/esm2022/organisms/stripe-input-section/stripe-input-section.organism.mjs +223 -0
- package/esm2022/organisms/table/index.helpers.mjs +110 -0
- package/esm2022/organisms/table/index.mjs +3 -0
- package/esm2022/organisms/table/ng-atomic-components-organisms-table.mjs +5 -0
- package/esm2022/organisms/table/table.organism.mjs +315 -0
- package/esm2022/organisms/terminal/terminal.organism.mjs +4 -4
- package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +72 -44
- package/esm2022/organisms/text-preview-section/index.mjs +2 -0
- package/esm2022/organisms/text-preview-section/ng-atomic-components-organisms-text-preview-section.mjs +5 -0
- package/esm2022/organisms/text-preview-section/text-preview-section.organism.mjs +79 -0
- package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +73 -38
- package/esm2022/organisms/thread-messages-section/index.mjs +2 -0
- package/esm2022/organisms/thread-messages-section/ng-atomic-components-organisms-thread-messages-section.mjs +5 -0
- package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +119 -0
- package/esm2022/organisms/time-range-input-section/index.mjs +2 -0
- package/esm2022/organisms/time-range-input-section/ng-atomic-components-organisms-time-range-input-section.mjs +5 -0
- package/esm2022/organisms/time-range-input-section/time-range-input-section.organism.mjs +43 -0
- package/esm2022/organisms/toolbar/toolbar.organism.mjs +6 -6
- package/esm2022/organisms/tree-section/tree-section.organism.mjs +5 -5
- package/esm2022/organisms/vertical-divider/vertical-divider.organism.mjs +4 -4
- package/esm2022/organisms/video-section/index.mjs +2 -0
- package/esm2022/organisms/video-section/ng-atomic-components-organisms-video-section.mjs +5 -0
- package/esm2022/organisms/video-section/video-section.organism.mjs +132 -0
- package/esm2022/pages/_index/index.mjs +1 -2
- package/esm2022/pages/_index/index.page.mjs +155 -8
- package/esm2022/pages/blank/blank.page.mjs +4 -4
- package/esm2022/pages/blank/blank.route.mjs +8 -2
- package/esm2022/pages/blank/blank.routes.mjs +5 -3
- package/esm2022/pages/blank/index.mjs +2 -1
- package/esm2022/pages/form/form.page.mjs +173 -0
- package/esm2022/pages/form/index.mjs +2 -0
- package/esm2022/pages/form/ng-atomic-components-pages-form.mjs +5 -0
- package/esm2022/pages/pages.module.mjs +13 -6
- package/esm2022/pages/terms/index.mjs +2 -0
- package/esm2022/pages/terms/terms.page.mjs +84 -0
- package/esm2022/sheets/actions/actions.sheet.mjs +4 -4
- package/esm2022/sheets/sheets.module.mjs +5 -5
- package/esm2022/sheets/sheets.service.mjs +5 -5
- package/esm2022/templates/_index/index.mjs +2 -0
- package/esm2022/templates/_index/index.template.mjs +381 -0
- package/esm2022/templates/_index/ng-atomic-components-templates-_index.mjs +5 -0
- package/esm2022/templates/background/background.template.mjs +30 -0
- package/esm2022/templates/{smart-crud → background}/index.mjs +2 -2
- package/esm2022/templates/{smart-crud/ng-atomic-components-templates-smart-crud.mjs → background/ng-atomic-components-templates-background.mjs} +1 -1
- package/esm2022/templates/code-editor/code-editor.template.mjs +37 -76
- package/esm2022/templates/entrance/entrance.template.mjs +99 -72
- package/esm2022/templates/file-tree/file-tree.template.mjs +6 -6
- package/esm2022/templates/form/form.template.mjs +466 -0
- package/esm2022/templates/form/index.mjs +2 -0
- package/esm2022/templates/form/ng-atomic-components-templates-form.mjs +5 -0
- package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +32 -38
- package/esm2022/templates/loading/loading.template.mjs +4 -4
- package/esm2022/templates/menu/menu.template.mjs +31 -32
- package/esm2022/templates/messages/messages.template.mjs +66 -35
- package/esm2022/templates/selection/selection.template.mjs +56 -65
- package/esm2022/templates/settings/index.mjs +2 -0
- package/esm2022/templates/settings/ng-atomic-components-templates-settings.mjs +5 -0
- package/esm2022/templates/settings/settings.template.mjs +118 -0
- package/esm2022/templates/tab-editor/tab-editor.template.mjs +6 -6
- package/esm2022/templates/templates.module.mjs +29 -7
- package/esm2022/templates/term/term.template.mjs +41 -30
- package/extras/editor/editor.component.d.ts +20 -9
- package/fesm2022/ng-atomic-components-atoms-badge.mjs +23 -0
- package/fesm2022/ng-atomic-components-atoms-badge.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-atoms-chips-input.mjs +5 -5
- package/fesm2022/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +28 -37
- package/fesm2022/ng-atomic-components-atoms-icon.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +124 -58
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms.mjs +9 -5
- package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras-editor.mjs +68 -35
- package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras.mjs +4 -4
- package/fesm2022/ng-atomic-components-extras.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +182 -0
- package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +4 -4
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-card.mjs +4 -4
- package/fesm2022/ng-atomic-components-frames-card.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-columns.mjs +169 -0
- package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-divider.mjs +22 -19
- package/fesm2022/ng-atomic-components-frames-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +44 -39
- package/fesm2022/ng-atomic-components-frames-drawer.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +74 -0
- package/fesm2022/ng-atomic-components-frames-entrance.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-fab.mjs +48 -26
- package/fesm2022/ng-atomic-components-frames-fab.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +133 -91
- package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-loading.mjs +37 -20
- package/fesm2022/ng-atomic-components-frames-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-overlay.mjs +38 -23
- package/fesm2022/ng-atomic-components-frames-overlay.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +100 -62
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +23 -11
- package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +5 -5
- package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +138 -85
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +4 -4
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-tabs.mjs +48 -0
- package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-toggle.mjs +55 -0
- package/fesm2022/ng-atomic-components-frames-toggle.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +5 -5
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames.mjs +25 -5
- package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +4 -4
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +54 -64
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +45 -60
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs +95 -80
- package/fesm2022/ng-atomic-components-molecules-chips-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +57 -47
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +82 -0
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +99 -80
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +75 -0
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-molecules-header.mjs +39 -16
- package/fesm2022/ng-atomic-components-molecules-header.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +62 -0
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +43 -31
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs +4 -4
- package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +55 -36
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +134 -24
- package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs +75 -66
- package/fesm2022/ng-atomic-components-molecules-text-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs +59 -45
- package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +52 -35
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules.mjs +23 -5
- package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +128 -19
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +45 -31
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +73 -0
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs +59 -0
- package/fesm2022/ng-atomic-components-organisms-chips-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +61 -28
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +78 -0
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +64 -0
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +50 -36
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +7 -5
- package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +47 -0
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs +86 -81
- package/fesm2022/ng-atomic-components-organisms-grid-toolbar.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +48 -4
- package/fesm2022/ng-atomic-components-organisms-heading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs +23 -0
- package/fesm2022/ng-atomic-components-organisms-image-preview-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs +46 -0
- package/fesm2022/ng-atomic-components-organisms-markdown-preview-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +30 -19
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +84 -21
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-message-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +55 -5
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +30 -35
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +83 -41
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +88 -0
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +49 -34
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +86 -0
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +68 -19
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +147 -103
- package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs +229 -0
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-table.mjs +425 -0
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +71 -44
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs +85 -0
- package/fesm2022/ng-atomic-components-organisms-text-preview-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +72 -38
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +126 -0
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs +50 -0
- package/fesm2022/ng-atomic-components-organisms-time-range-input-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms-toolbar.mjs +5 -5
- package/fesm2022/ng-atomic-components-organisms-toolbar.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs +3 -3
- package/fesm2022/ng-atomic-components-organisms-vertical-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-video-section.mjs +139 -0
- package/fesm2022/ng-atomic-components-organisms-video-section.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-organisms.mjs +81 -8
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +153 -34
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-blank.mjs +14 -5
- package/fesm2022/ng-atomic-components-pages-blank.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-form.mjs +180 -0
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-pages.mjs +94 -6
- package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-sheets-actions.mjs +3 -3
- package/fesm2022/ng-atomic-components-sheets-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-sheets.mjs +8 -8
- package/fesm2022/ng-atomic-components-sheets.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-_index.mjs +386 -0
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates-background.mjs +36 -0
- package/fesm2022/ng-atomic-components-templates-background.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +37 -73
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +98 -72
- package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-file-tree.mjs +5 -5
- package/fesm2022/ng-atomic-components-templates-file-tree.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-form.mjs +472 -0
- package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +30 -38
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-loading.mjs +3 -3
- package/fesm2022/ng-atomic-components-templates-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-menu.mjs +29 -32
- package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-messages.mjs +65 -34
- package/fesm2022/ng-atomic-components-templates-messages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-selection.mjs +56 -66
- package/fesm2022/ng-atomic-components-templates-selection.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-settings.mjs +125 -0
- package/fesm2022/ng-atomic-components-templates-settings.mjs.map +1 -0
- package/fesm2022/ng-atomic-components-templates-tab-editor.mjs +5 -5
- package/fesm2022/ng-atomic-components-templates-tab-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-term.mjs +40 -29
- package/fesm2022/ng-atomic-components-templates-term.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates.mjs +28 -6
- package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
- package/fesm2022/ng-atomic-components.mjs +16 -5
- package/fesm2022/ng-atomic-components.mjs.map +1 -1
- package/frames/app/app.frame.d.ts +107 -0
- package/frames/app/index.d.ts +1 -0
- package/frames/columns/columns.frame.d.ts +54 -0
- package/frames/columns/index.d.ts +1 -0
- package/frames/divider/divider.frame.d.ts +6 -6
- package/frames/drawer/drawer.frame.d.ts +12 -9
- package/frames/entrance/entrance.frame.d.ts +19 -0
- package/frames/entrance/index.d.ts +1 -0
- package/frames/fab/fab.frame.d.ts +22 -2
- package/frames/frames.module.d.ts +20 -1
- package/frames/line-up/index.d.ts +1 -0
- package/frames/line-up/line-up.frame.d.ts +15 -26
- package/frames/line-up/line-up.service.d.ts +22 -0
- package/frames/loading/loading.frame.d.ts +9 -3
- package/frames/overlay/overlay.frame.d.ts +7 -2
- package/frames/router-outlet/router-outlet.frame.d.ts +30 -9
- package/frames/scroll-v2/scroll.frame.d.ts +5 -1
- package/frames/side-nav/side-nav.frame.d.ts +33 -12
- package/frames/tabs/index.d.ts +1 -0
- package/frames/tabs/tabs.frame.d.ts +9 -0
- package/frames/toggle/index.d.ts +1 -0
- package/frames/toggle/toggle.frame.d.ts +9 -0
- package/molecules/actions-column/actions-column.molecule.d.ts +17 -17
- package/molecules/checkbox-column/checkbox-column.molecule.d.ts +17 -15
- package/molecules/chips-input-field/chips-input-field.molecule.d.ts +54 -12
- package/molecules/date-input-field/date-input-field.molecule.d.ts +13 -7
- package/molecules/date-range-input-field/date-range-input-field.molecule.d.ts +14 -0
- package/molecules/date-range-input-field/index.d.ts +1 -0
- package/molecules/file-input-field/file-input-field.molecule.d.ts +23 -15
- package/molecules/grid-item/grid-item.molecule.d.ts +13 -0
- package/molecules/grid-item/index.d.ts +1 -0
- package/molecules/header/header.molecule.d.ts +10 -4
- package/molecules/loading-box/index.d.ts +1 -0
- package/molecules/loading-box/loading-box.molecule.d.ts +23 -0
- package/molecules/molecules.module.d.ts +16 -3
- package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +5 -7
- package/molecules/select-input-field/select-input-field.molecule.d.ts +13 -6
- package/molecules/smart-column/smart-column.molecule.d.ts +21 -6
- package/molecules/text-input-field/text-input-field.molecule.d.ts +14 -13
- package/molecules/textarea-field/textarea-field.molecule.d.ts +16 -10
- package/molecules/tree-column/tree-column.molecule.d.ts +8 -3
- package/organisms/action-buttons-section/action-buttons-section.organism.d.ts +10 -7
- package/organisms/action-input-section/action-input-section.organism.d.ts +12 -6
- package/organisms/agreement-input-section/agreement-input-section.organism.d.ts +17 -0
- package/organisms/agreement-input-section/index.d.ts +1 -0
- package/organisms/chips-input-section/chips-input-section.organism.d.ts +13 -0
- package/organisms/chips-input-section/index.d.ts +1 -0
- package/organisms/date-input-section/date-input-section.organism.d.ts +13 -5
- package/organisms/date-range-input-section/date-range-input-section.organism.d.ts +21 -0
- package/organisms/date-range-input-section/index.d.ts +1 -0
- package/organisms/definition-list/definition-list.organism.d.ts +12 -0
- package/organisms/definition-list/index.d.ts +1 -0
- package/organisms/file-input-section/file-input-section.organism.d.ts +13 -7
- package/organisms/filters-section/filters-section.organism.d.ts +2 -1
- package/organisms/grid-cards-section/grid-cards-section.organism.d.ts +15 -0
- package/organisms/grid-cards-section/index.d.ts +1 -0
- package/organisms/grid-toolbar/grid-toolbar.organism.d.ts +10 -7
- package/organisms/image-preview-section/image-preview-section.organism.d.ts +7 -0
- package/organisms/image-preview-section/index.d.ts +1 -0
- package/organisms/markdown-preview-section/index.d.ts +1 -0
- package/organisms/markdown-preview-section/markdown-preview-section.organism.d.ts +11 -0
- package/organisms/menu-footer/menu-footer.organism.d.ts +7 -1
- package/organisms/menu-header/menu-header.organism.d.ts +9 -4
- package/organisms/messages-section/messages-section.organism.d.ts +3 -1
- package/organisms/navigation-list/navigation-list.organism.d.ts +2 -3
- package/organisms/navigator/navigator.organism.d.ts +27 -4
- package/organisms/number-input-section/index.d.ts +1 -0
- package/organisms/number-input-section/number-input-section.organism.d.ts +19 -0
- package/organisms/organisms.module.d.ts +52 -3
- package/organisms/paginator/paginator.organism.d.ts +17 -7
- package/organisms/password-input-section/index.d.ts +1 -0
- package/organisms/password-input-section/password-input-section.organism.d.ts +19 -0
- package/organisms/select-input-section/select-input-section.organism.d.ts +16 -6
- package/organisms/smart-list/smart-list.organism.d.ts +35 -11
- package/organisms/stripe-input-section/index.d.ts +1 -0
- package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +188 -0
- package/organisms/table/index.d.ts +2 -0
- package/organisms/table/index.helpers.d.ts +71 -0
- package/organisms/table/table.organism.d.ts +106 -0
- package/organisms/text-input-section/text-input-section.organism.d.ts +15 -8
- package/organisms/text-preview-section/index.d.ts +1 -0
- package/organisms/text-preview-section/text-preview-section.organism.d.ts +15 -0
- package/organisms/textarea-section/textarea-section.organism.d.ts +16 -10
- package/organisms/thread-messages-section/index.d.ts +1 -0
- package/organisms/thread-messages-section/thread-messages-section.organism.d.ts +14 -0
- package/organisms/time-range-input-section/index.d.ts +1 -0
- package/organisms/time-range-input-section/time-range-input-section.organism.d.ts +9 -0
- package/organisms/video-section/index.d.ts +1 -0
- package/organisms/video-section/video-section.organism.d.ts +41 -0
- package/package.json +184 -28
- package/pages/_index/index.d.ts +0 -1
- package/pages/_index/index.page.d.ts +46 -2
- package/pages/blank/index.d.ts +1 -0
- package/pages/form/form.page.d.ts +112 -0
- package/pages/form/index.d.ts +1 -0
- package/pages/pages.module.d.ts +1 -1
- package/pages/terms/index.d.ts +1 -0
- package/pages/terms/terms.page.d.ts +60 -0
- package/templates/_index/index.d.ts +1 -0
- package/templates/_index/index.template.d.ts +219 -0
- package/templates/background/background.template.d.ts +11 -0
- package/templates/background/index.d.ts +1 -0
- package/templates/code-editor/code-editor.template.d.ts +11 -14
- package/templates/entrance/entrance.template.d.ts +18 -11
- package/templates/form/form.template.d.ts +78 -0
- package/templates/form/index.d.ts +1 -0
- package/templates/icon-button-menu/icon-button-menu.template.d.ts +2 -4
- package/templates/menu/menu.template.d.ts +4 -5
- package/templates/messages/messages.template.d.ts +10 -2
- package/templates/selection/selection.template.d.ts +14 -9
- package/templates/settings/index.d.ts +1 -0
- package/templates/settings/settings.template.d.ts +16 -0
- package/templates/templates.module.d.ts +13 -1
- package/templates/term/term.template.d.ts +10 -9
- package/esm2022/organisms/smart-table/ng-atomic-components-organisms-smart-table.mjs +0 -5
- package/esm2022/organisms/smart-table/smart-table.organism.mjs +0 -210
- package/esm2022/pages/_index/index.module.mjs +0 -31
- package/esm2022/templates/smart-crud/smart-crud.template.mjs +0 -256
- package/esm2022/templates/smart-index/index.mjs +0 -2
- package/esm2022/templates/smart-index/smart-index.template.mjs +0 -358
- package/fesm2022/ng-atomic-components-organisms-smart-table.mjs +0 -217
- package/fesm2022/ng-atomic-components-organisms-smart-table.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-pages-blank-blank.routes-09f8841a.mjs +0 -7
- package/fesm2022/ng-atomic-components-pages-blank-blank.routes-09f8841a.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-templates-smart-crud.mjs +0 -262
- package/fesm2022/ng-atomic-components-templates-smart-crud.mjs.map +0 -1
- package/fesm2022/ng-atomic-components-templates-smart-index.mjs +0 -365
- package/fesm2022/ng-atomic-components-templates-smart-index.mjs.map +0 -1
- package/organisms/smart-table/index.d.ts +0 -1
- package/organisms/smart-table/smart-table.organism.d.ts +0 -44
- package/pages/_index/index.module.d.ts +0 -9
- package/templates/smart-crud/index.d.ts +0 -1
- package/templates/smart-crud/smart-crud.template.d.ts +0 -28
- package/templates/smart-index/index.d.ts +0 -1
- package/templates/smart-index/smart-index.template.d.ts +0 -101
|
@@ -1,44 +1,67 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';
|
|
3
2
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
3
|
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { _computed } from '@ng-atomic/core';
|
|
5
5
|
import { FabService } from './fab.service';
|
|
6
6
|
import { NgAtomicComponent } from '@ng-atomic/core';
|
|
7
|
+
import { makeConfig } from '@ng-atomic/common/services/ui';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/
|
|
9
|
-
import * as i2 from "@angular/material/
|
|
10
|
-
|
|
9
|
+
import * as i1 from "@angular/material/icon";
|
|
10
|
+
import * as i2 from "@angular/material/button";
|
|
11
|
+
export class FabFrameStore {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.config = FabFrameStore.Config.inject();
|
|
14
|
+
this.actions = input(_computed(() => this.config().actions));
|
|
15
|
+
this.hide = input(_computed(() => this.config().hide));
|
|
16
|
+
}
|
|
17
|
+
static { this.Config = makeConfig(() => {
|
|
18
|
+
return () => ({
|
|
19
|
+
actions: [],
|
|
20
|
+
hide: false,
|
|
21
|
+
});
|
|
22
|
+
}, ['components', 'frames', 'fab']); }
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabFrameStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: FabFrameStore, isStandalone: true, selector: "frames-fab", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabFrameStore, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{ standalone: true, selector: 'frames-fab' }]
|
|
29
|
+
}] });
|
|
11
30
|
export class FabFrame extends NgAtomicComponent {
|
|
12
31
|
constructor() {
|
|
13
32
|
super(...arguments);
|
|
14
33
|
this.fab = inject(FabService);
|
|
15
|
-
this.
|
|
34
|
+
this.store = inject(FabFrameStore);
|
|
16
35
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: FabFrame, isStandalone: true, selector: "frames-fab", host: { properties: { "attr.hide": "store.hide()" } }, usesInheritance: true, hostDirectives: [{ directive: FabFrameStore, inputs: ["actions", "actions", "hide", "hide"] }], ngImport: i0, template: `
|
|
19
38
|
<ng-content></ng-content>
|
|
20
|
-
|
|
21
|
-
<button mat-fab color="primary" (click)="dispatch(action)">
|
|
39
|
+
@for (action of store.actions(); track action.id) {
|
|
40
|
+
<button mat-fab [color]="action?.color ?? 'primary'" (click)="dispatch(action)">
|
|
22
41
|
<mat-icon>{{ action?.icon ?? 'add' }}</mat-icon>
|
|
23
42
|
</button>
|
|
24
|
-
|
|
25
|
-
`, isInline: true, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-
|
|
43
|
+
}
|
|
44
|
+
`, isInline: true, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-va1m: var(--primary-color);--container-color: var(--primary-color-SCOPED-IN-fab-va1m);--container-color-SCOPED-IN-fab-va1m: var(--container-color);--icon-color: #fff;--icon-color-SCOPED-IN-fab-va1m: var(--icon-color);--fab-button-bottom: 16px;--fab-button-bottom-SCOPED-IN-fab-va1m: var(--fab-button-bottom);--fab-button-right: 16px;--fab-button-right-SCOPED-IN-fab-va1m: var(--fab-button-right)}:host{display:block;width:100%;height:100%;position:relative}:host button{position:absolute;z-index:2000;bottom:var(--fab-button-bottom-SCOPED-IN-fab-va1m);right:var(--fab-button-right-SCOPED-IN-fab-va1m);transition:all .3s ease;--mdc-fab-container-color: var(--container-color);--mdc-fab-icon-color: var(--icon-color);--mat-mdc-fab-color: var(--icon-color)}:host[hide=true] button{bottom:-120px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
45
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabFrame, decorators: [{
|
|
28
47
|
type: Component,
|
|
29
48
|
args: [{ selector: 'frames-fab', standalone: true, imports: [
|
|
30
|
-
CommonModule,
|
|
31
49
|
MatIconModule,
|
|
32
50
|
MatButtonModule,
|
|
33
51
|
], template: `
|
|
34
52
|
<ng-content></ng-content>
|
|
35
|
-
|
|
36
|
-
<button mat-fab color="primary" (click)="dispatch(action)">
|
|
53
|
+
@for (action of store.actions(); track action.id) {
|
|
54
|
+
<button mat-fab [color]="action?.color ?? 'primary'" (click)="dispatch(action)">
|
|
37
55
|
<mat-icon>{{ action?.icon ?? 'add' }}</mat-icon>
|
|
38
56
|
</button>
|
|
39
|
-
|
|
40
|
-
`,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
57
|
+
}
|
|
58
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
59
|
+
{
|
|
60
|
+
directive: FabFrameStore,
|
|
61
|
+
inputs: ['actions', 'hide'],
|
|
62
|
+
},
|
|
63
|
+
], host: {
|
|
64
|
+
'[attr.hide]': 'store.hide()',
|
|
65
|
+
}, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-va1m: var(--primary-color);--container-color: var(--primary-color-SCOPED-IN-fab-va1m);--container-color-SCOPED-IN-fab-va1m: var(--container-color);--icon-color: #fff;--icon-color-SCOPED-IN-fab-va1m: var(--icon-color);--fab-button-bottom: 16px;--fab-button-bottom-SCOPED-IN-fab-va1m: var(--fab-button-bottom);--fab-button-right: 16px;--fab-button-right-SCOPED-IN-fab-va1m: var(--fab-button-right)}:host{display:block;width:100%;height:100%;position:relative}:host button{position:absolute;z-index:2000;bottom:var(--fab-button-bottom-SCOPED-IN-fab-va1m);right:var(--fab-button-right-SCOPED-IN-fab-va1m);transition:all .3s ease;--mdc-fab-container-color: var(--container-color);--mdc-fab-icon-color: var(--icon-color);--mat-mdc-fab-color: var(--icon-color)}:host[hide=true] button{bottom:-120px}\n"] }]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2ZhYi9mYWIuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQVNXLFdBQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hELFNBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQzVEO2FBVmlCLFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNaLE9BQU8sRUFBRSxFQUFjO1lBQ3ZCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxBQUxiLENBS2M7OEdBTnpCLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTs7QUF5Q3ZELE1BQU0sT0FBTyxRQUFTLFNBQVEsaUJBQWlCO0lBM0IvQzs7UUE0QlksUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixVQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ3pDOzhHQUhZLFFBQVE7a0dBQVIsUUFBUSwwSkF4Q1IsYUFBYSw2RUFvQmQ7Ozs7Ozs7R0FPVCxnNkJBVkMsYUFBYSxtTEFDYixlQUFlOzsyRkFzQk4sUUFBUTtrQkEzQnBCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCLFlBQ1M7Ozs7Ozs7R0FPVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGFBQWE7NEJBQ3hCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7eUJBQzVCO3FCQUNGLFFBQ0s7d0JBQ0osYUFBYSxFQUFFLGNBQWM7cUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQWN0aW9uLCBfY29tcHV0ZWQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgRmFiU2VydmljZSB9IGZyb20gJy4vZmFiLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgbWFrZUNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnZnJhbWVzLWZhYicgfSlcbmV4cG9ydCBjbGFzcyBGYWJGcmFtZVN0b3JlIHtcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZyA9IG1ha2VDb25maWcoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgYWN0aW9uczogW10gYXMgQWN0aW9uW10sXG4gICAgICBoaWRlOiBmYWxzZSxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ2ZyYW1lcycsICdmYWInXSk7XG4gIFxuICByZWFkb25seSBjb25maWcgPSBGYWJGcmFtZVN0b3JlLkNvbmZpZy5pbmplY3QoKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgaGlkZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmhpZGUpKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLWZhYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgQGZvciAoYWN0aW9uIG9mIHN0b3JlLmFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmlkKSB7XG4gICAgICA8YnV0dG9uIG1hdC1mYWIgW2NvbG9yXT1cImFjdGlvbj8uY29sb3IgPz8gJ3ByaW1hcnknXCIgKGNsaWNrKT1cImRpc3BhdGNoKGFjdGlvbilcIj5cbiAgICAgICAgPG1hdC1pY29uPnt7IGFjdGlvbj8uaWNvbiA/PyAnYWRkJyB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2ZhYi5mcmFtZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogRmFiRnJhbWVTdG9yZSxcbiAgICAgIGlucHV0czogWydhY3Rpb25zJywgJ2hpZGUnXSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmhpZGVdJzogJ3N0b3JlLmhpZGUoKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRmFiRnJhbWUgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBmYWIgPSBpbmplY3QoRmFiU2VydmljZSk7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChGYWJGcmFtZVN0b3JlKTtcbn1cbiJdfQ==
|
|
@@ -17,11 +17,11 @@ export class FabService {
|
|
|
17
17
|
pop() {
|
|
18
18
|
return this.contexts.pop();
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabService, providedIn: 'root' }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FabService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{ providedIn: 'root' }]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvZmFiL2ZhYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBRVUsY0FBUyxHQUFHLElBQUksR0FBcUIsQ0FBQztRQUN0QyxhQUFRLEdBQWEsRUFBRSxDQUFDO0tBZ0JqQztJQWZDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBakJVLFVBQVU7a0hBQVYsVUFBVSxjQURFLE1BQU07OzJGQUNsQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEZhYlNlcnZpY2Uge1xuICBwcml2YXRlIGFjdGlvbk1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBY3Rpb25bXT47XG4gIHByaXZhdGUgY29udGV4dHM6IHN0cmluZ1tdID0gW107XG4gIGdldCBhY3Rpb25zKCk6IEFjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25NYXAuZ2V0KHRoaXMuY29udGV4dHMuYXQoLTEpKSA/PyBbXTtcbiAgfVxuXG4gIHNldChuYW1lLCBhY3Rpb25zOiBBY3Rpb25bXSkge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbk1hcC5zZXQobmFtZSwgYWN0aW9ucyk7XG4gIH1cblxuICBwdXNoKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRzLnB1c2gobmFtZSk7XG4gIH1cblxuICBwb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dHMucG9wKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +1,38 @@
|
|
|
1
|
-
import { NgModule } from
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { provideComponent } from '@ng-atomic/core';
|
|
3
|
+
import { SideNavFrame, SideNavFrameStore } from '@ng-atomic/components/frames/side-nav';
|
|
4
|
+
import { RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';
|
|
5
|
+
import { ColumnsFrameStore } from '@ng-atomic/components/frames/columns';
|
|
6
|
+
import { AppFrameStore } from '@ng-atomic/components/frames/app';
|
|
7
|
+
import { DrawerFrameStore } from '@ng-atomic/components/frames/drawer';
|
|
8
|
+
import { FabFrameStore } from '@ng-atomic/components/frames/fab';
|
|
2
9
|
import * as i0 from "@angular/core";
|
|
3
10
|
export class NgAtomicFramesModule {
|
|
4
11
|
static forRoot() {
|
|
5
12
|
return {
|
|
6
13
|
ngModule: NgAtomicFramesModule,
|
|
7
|
-
providers: [
|
|
14
|
+
providers: [
|
|
15
|
+
AppFrameStore.Config.provide(),
|
|
16
|
+
provideComponent(AppFrameStore, () => import('@ng-atomic/components/frames/app').then(m => m.AppFrame)),
|
|
17
|
+
ColumnsFrameStore.Config.provide(),
|
|
18
|
+
provideComponent(ColumnsFrameStore, () => import('@ng-atomic/components/frames/columns').then(m => m.ColumnsFrame)),
|
|
19
|
+
FabFrameStore.Config.provide(),
|
|
20
|
+
provideComponent(FabFrameStore, () => import('@ng-atomic/components/frames/fab').then(m => m.FabFrame)),
|
|
21
|
+
// DrawerFrameStore.Config.provide(),
|
|
22
|
+
provideComponent(DrawerFrameStore, () => import('@ng-atomic/components/frames/drawer').then(m => m.DrawerFrame)),
|
|
23
|
+
SideNavFrameStore.Config.provide(),
|
|
24
|
+
provideComponent(SideNavFrame, () => import('@ng-atomic/components/frames/side-nav').then(m => m.SideNavFrame)),
|
|
25
|
+
RouterOutletFrameStore.Config.provide(),
|
|
26
|
+
provideComponent(RouterOutletFrameStore, () => import('@ng-atomic/components/frames/router-outlet').then(m => m.RouterOutletFrame)),
|
|
27
|
+
]
|
|
8
28
|
};
|
|
9
29
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
12
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicFramesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicFramesModule }); }
|
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicFramesModule }); }
|
|
13
33
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgAtomicFramesModule, decorators: [{
|
|
15
35
|
type: NgModule,
|
|
16
36
|
args: [{}]
|
|
17
37
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9mcmFtZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBR2pFLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkgsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZHLHFDQUFxQztnQkFDckMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoSCxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNsQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwSTtTQUNGLENBQUM7SUFDSixDQUFDOzhHQW5CVSxvQkFBb0I7K0dBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBTaWRlTmF2RnJhbWUsIFNpZGVOYXZGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9zaWRlLW5hdic7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IENvbHVtbnNGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9jb2x1bW5zJztcbmltcG9ydCB7IEFwcEZyYW1lU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2FwcCc7XG5pbXBvcnQgeyBEcmF3ZXJGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9kcmF3ZXInO1xuaW1wb3J0IHsgRmFiRnJhbWVTdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZmFiJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIE5nQXRvbWljRnJhbWVzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0F0b21pY0ZyYW1lc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBcHBGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgICAgIHByb3ZpZGVDb21wb25lbnQoQXBwRnJhbWVTdG9yZSwgKCkgPT4gaW1wb3J0KCdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2FwcCcpLnRoZW4obSA9PiBtLkFwcEZyYW1lKSksXG4gICAgICAgIENvbHVtbnNGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgICAgIHByb3ZpZGVDb21wb25lbnQoQ29sdW1uc0ZyYW1lU3RvcmUsICgpID0+IGltcG9ydCgnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9jb2x1bW5zJykudGhlbihtID0+IG0uQ29sdW1uc0ZyYW1lKSksXG4gICAgICAgIEZhYkZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgICAgcHJvdmlkZUNvbXBvbmVudChGYWJGcmFtZVN0b3JlLCAoKSA9PiBpbXBvcnQoJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZmFiJykudGhlbihtID0+IG0uRmFiRnJhbWUpKSxcbiAgICAgICAgLy8gRHJhd2VyRnJhbWVTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBwcm92aWRlQ29tcG9uZW50KERyYXdlckZyYW1lU3RvcmUsICgpID0+IGltcG9ydCgnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9kcmF3ZXInKS50aGVuKG0gPT4gbS5EcmF3ZXJGcmFtZSkpLFxuICAgICAgICBTaWRlTmF2RnJhbWVTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBwcm92aWRlQ29tcG9uZW50KFNpZGVOYXZGcmFtZSwgKCkgPT4gaW1wb3J0KCdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3NpZGUtbmF2JykudGhlbihtID0+IG0uU2lkZU5hdkZyYW1lKSksXG4gICAgICAgIFJvdXRlck91dGxldEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgICAgcHJvdmlkZUNvbXBvbmVudChSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLCAoKSA9PiBpbXBvcnQoJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvcm91dGVyLW91dGxldCcpLnRoZW4obSA9PiBtLlJvdXRlck91dGxldEZyYW1lKSksXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './line-up.frame';
|
|
2
|
-
|
|
2
|
+
export * from './line-up.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvbGluZS11cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpbmUtdXAuZnJhbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLXVwLnNlcnZpY2UnO1xuIl19
|
|
@@ -2,13 +2,17 @@ import { animate, query, style, transition, trigger } from '@angular/animations'
|
|
|
2
2
|
export const LINE_UP_ANIMATIONS = [
|
|
3
3
|
trigger('hasNext', [
|
|
4
4
|
transition(':enter', [
|
|
5
|
+
// style({ transform: 'translateX(-100%)', }),
|
|
6
|
+
// animate('300ms ease-out', style({ transform: 'translateX(0%)', })),
|
|
5
7
|
query(':enter', [style({ transform: 'translateX(-100%)', })], { optional: true }),
|
|
6
8
|
query(':enter', [animate('300ms ease-out', style({ transform: 'translateX(0%)', })),], { optional: true }),
|
|
7
9
|
]),
|
|
8
10
|
transition(':leave', [
|
|
11
|
+
// style({transform: 'translateX(0%)'}),
|
|
12
|
+
// animate('30000ms ease-in', style({transform: 'translateX(-100%)'})),
|
|
9
13
|
query(':leave', [style({ transform: 'translateX(0%)' })], { optional: true }),
|
|
10
14
|
query(':leave', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))], { optional: true }),
|
|
11
15
|
]),
|
|
12
16
|
])
|
|
13
17
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS11cC5hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2xpbmUtdXAvbGluZS11cC5hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFtQixLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBUyxNQUFNLHFCQUFxQixDQUFDO0FBRXpHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDakIsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUNuQiw4Q0FBOEM7WUFDOUMsc0VBQXNFO1lBQ3RFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDakYsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUMzRyxDQUFDO1FBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUNuQix3Q0FBd0M7WUFDeEMsdUVBQXVFO1lBQ3ZFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0UsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDekcsQ0FBQztLQUNILENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgcXVlcnksIHNlcXVlbmNlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIGdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1VQX0FOSU1BVElPTlMgPSBbXG4gIHRyaWdnZXIoJ2hhc05leHQnLCBbXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgLy8gc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsIH0pLFxuICAgICAgLy8gYW5pbWF0ZSgnMzAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgfSkpLFxuICAgICAgcXVlcnkoJzplbnRlcicsIFtzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJywgfSldLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgcXVlcnkoJzplbnRlcicsIFthbmltYXRlKCczMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB9KSksXSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAvLyBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknfSksXG4gICAgICAvLyBhbmltYXRlKCczMDAwMG1zIGVhc2UtaW4nLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSkpLFxuICAgICAgcXVlcnkoJzpsZWF2ZScsIFtzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknfSldLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgcXVlcnkoJzpsZWF2ZScsIFthbmltYXRlKCczMDBtcyBlYXNlLWluJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ30pKV0sIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgXSksXG4gIF0pXG5dO1xuIl19
|
|
@@ -1,112 +1,88 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
2
|
-
import {
|
|
3
|
-
import { takeUntilDestroyed,
|
|
4
|
-
import {
|
|
5
|
-
import { distinctUntilChanged, filter, map, scan, shareReplay, switchMap } from 'rxjs/operators';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Directive, ElementRef, PLATFORM_ID, inject, input, viewChild } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { distinctUntilChanged, filter, map, startWith, switchMap } from 'rxjs/operators';
|
|
6
5
|
import { LINE_UP_ANIMATIONS } from './line-up.animations';
|
|
6
|
+
import { LineUpFrameService } from './line-up.service';
|
|
7
|
+
import { fromResize } from './resize-observer';
|
|
8
|
+
import { combineLatest, fromEvent, of } from 'rxjs';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
|
-
|
|
9
|
-
export class LineUpFrameService {
|
|
10
|
+
export class LineUpFrameStore {
|
|
10
11
|
constructor() {
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.sizeMap$ = this.entries$.pipe(scan((acc, value) => {
|
|
14
|
-
if (value.type === 'remove') {
|
|
15
|
-
const map = acc.get(value.scope);
|
|
16
|
-
map?.delete(value.index);
|
|
17
|
-
if (map?.size === 0)
|
|
18
|
-
acc.delete(value.scope);
|
|
19
|
-
return acc;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const map = acc.get(value.scope) ?? new Map();
|
|
23
|
-
map.set(value.index, value.mainWidth);
|
|
24
|
-
acc.set(value.scope, map);
|
|
25
|
-
return acc;
|
|
26
|
-
}
|
|
27
|
-
}, new Map()), filter((map) => [...map.values()].map(map => [...map.keys()]).flat().length === this.frames.length), shareReplay(1));
|
|
28
|
-
this.sizeMap = toSignal(this.sizeMap$);
|
|
12
|
+
this.scope = input('default');
|
|
13
|
+
this.hasNext = input(false);
|
|
29
14
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const keys = [...map.keys()].filter(key => key >= index);
|
|
33
|
-
return keys.reduce((acc, key) => map.get(key) + acc, 0);
|
|
34
|
-
}), distinctUntilChanged(), shareReplay(1));
|
|
35
|
-
}
|
|
36
|
-
register(frame, mainWidth) {
|
|
37
|
-
this.frames.push(frame);
|
|
38
|
-
}
|
|
39
|
-
update(frame, mainWidth) {
|
|
40
|
-
this.entries$.next({ type: 'add', scope: frame.scope, index: frame.index, mainWidth });
|
|
41
|
-
}
|
|
42
|
-
unregister(frame) {
|
|
43
|
-
const index = this.findIndex(frame);
|
|
44
|
-
this.frames = this.frames.filter((value) => value !== frame);
|
|
45
|
-
this.entries$.next({ type: 'remove', scope: frame.scope, index });
|
|
46
|
-
}
|
|
47
|
-
findIndex(frame) {
|
|
48
|
-
return this.frames.findIndex((value) => value === frame);
|
|
49
|
-
}
|
|
50
|
-
isFirst(frame) {
|
|
51
|
-
const index = this.findIndex(frame);
|
|
52
|
-
const keys = [...(this.sizeMap().get(frame.scope) ?? new Map()).keys()];
|
|
53
|
-
return Math.min(...keys) === index;
|
|
54
|
-
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LineUpFrameService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
56
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LineUpFrameService, providedIn: 'root' }); }
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrameStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: LineUpFrameStore, isStandalone: true, selector: "frames-line-up", inputs: { scope: { classPropertyName: "scope", publicName: "scope", isSignal: true, isRequired: false, transformFunction: null }, hasNext: { classPropertyName: "hasNext", publicName: "hasNext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
57
17
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
-
type:
|
|
60
|
-
args: [{
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrameStore, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{ standalone: true, selector: 'frames-line-up' }]
|
|
61
21
|
}] });
|
|
62
22
|
export class LineUpFrame {
|
|
63
23
|
constructor() {
|
|
24
|
+
this.store = inject(LineUpFrameStore);
|
|
64
25
|
this.service = inject(LineUpFrameService);
|
|
65
26
|
this.el = inject(ElementRef);
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
27
|
+
this.platformId = inject(PLATFORM_ID);
|
|
28
|
+
this.resizeWindow$ = of(null).pipe(switchMap(() => {
|
|
29
|
+
return isPlatformBrowser(this.platformId)
|
|
30
|
+
? fromEvent(window, 'resize').pipe(startWith(null))
|
|
31
|
+
: of(null);
|
|
32
|
+
}));
|
|
33
|
+
this.elWidth$ = this.resizeWindow$.pipe(switchMap(() => fromResize(this.el).pipe(startWith(null))), map(() => this.el.nativeElement?.clientWidth ?? 0), takeUntilDestroyed());
|
|
34
|
+
this.main = viewChild('main', { read: ElementRef });
|
|
35
|
+
this.main$ = toObservable(this.main);
|
|
36
|
+
this.mainWidth$ = combineLatest({
|
|
37
|
+
main: this.main$,
|
|
38
|
+
resize: this.resizeWindow$
|
|
39
|
+
}).pipe(switchMap(({ main }) => fromResize(main).pipe(startWith(null))), map(() => this.main()), map((main) => main?.nativeElement?.clientWidth ?? 0), takeUntilDestroyed());
|
|
40
|
+
this.allWidth$ = combineLatest({
|
|
41
|
+
map: this.service.sizeMap$,
|
|
42
|
+
window: this.resizeWindow$
|
|
43
|
+
}).pipe(map(() => this.service.getFollowingWidth(this.store.scope(), this)), takeUntilDestroyed());
|
|
44
|
+
this.delta$ = combineLatest({
|
|
45
|
+
el: this.elWidth$,
|
|
46
|
+
all: this.allWidth$,
|
|
47
|
+
}).pipe(filter(() => this.service.isFirst(this, this.store.scope())), map(({ el, all }) => Math.min(el - all, 0)), distinctUntilChanged(), takeUntilDestroyed());
|
|
73
48
|
}
|
|
74
49
|
ngOnInit() {
|
|
75
|
-
this.service.register(this,
|
|
50
|
+
this.service.register(this, this.store.scope());
|
|
76
51
|
}
|
|
77
52
|
ngAfterViewInit() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
53
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
54
|
+
this.mainWidth$.subscribe((width) => this.service.update(this, width, this.store.scope()));
|
|
55
|
+
this.delta$.subscribe((delta) => this.setTranslateX(delta));
|
|
56
|
+
}
|
|
83
57
|
}
|
|
84
58
|
ngOnDestroy() {
|
|
85
|
-
this.service.unregister(this);
|
|
59
|
+
this.service.unregister(this, this.store.scope());
|
|
60
|
+
}
|
|
61
|
+
setTranslateX(value) {
|
|
62
|
+
this.el.nativeElement.style.setProperty('--translate-x', `${value}px`);
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LineUpFrame, isStandalone: true, selector: "frames-line-up", host: { attributes: { "attr.has-next": "store.hasNext()" } }, viewQueries: [{ propertyName: "main", first: true, predicate: ["main"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: LineUpFrameStore, inputs: ["scope", "scope", "hasNext", "hasNext"] }], ngImport: i0, template: `
|
|
66
|
+
<div class="main" #main><ng-content select=[main] /></div>
|
|
67
|
+
@if (store.hasNext()) {
|
|
68
|
+
<div class="next" @hasNext><ng-content select=[next] /></div>
|
|
86
69
|
}
|
|
87
|
-
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LineUpFrame, isStandalone: true, selector: "frames-line-up", inputs: { hasNext: "hasNext", scope: "scope" }, host: { properties: { "attr.has-next": "this.hasNext" } }, viewQueries: [{ propertyName: "mainEl", first: true, predicate: ["main"], descendants: true }], ngImport: i0, template: `
|
|
89
|
-
<div class="main content" #main><ng-content select=[main]></ng-content></div>
|
|
90
|
-
<div class="next content" *ngIf="hasNext" @hasNext><ng-content select=[next]></ng-content></div>
|
|
91
|
-
`, isInline: true, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-Dwbt: var(--gap);--background: #ccc;--background-SCOPED-IN-line-up-Dwbt: var(--background);--next-width: 100%;--next-width-SCOPED-IN-line-up-Dwbt: var(--next-width);--next-max-width: fit-content;--next-max-width-SCOPED-IN-line-up-Dwbt: var(--next-max-width);--translate-x: 0px;--translate-x-SCOPED-IN-line-up-Dwbt: var(--translate-x)}:host{position:relative;transform:translate(var(--translate-x-SCOPED-IN-line-up-Dwbt));transition:transform .3s ease-in-out;display:flex;justify-content:start;gap:var(--gap-SCOPED-IN-line-up-Dwbt);width:100%;height:100%;background:var(--background-SCOPED-IN-line-up-Dwbt)}:host .main{max-width:100%;height:100%;z-index:2}:host .next{width:100%;height:100%;z-index:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: LINE_UP_ANIMATIONS, changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
70
|
+
`, isInline: true, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-9NS9: var(--gap);--background-color: #ccc;--background-color-SCOPED-IN-line-up-9NS9: var(--background-color);--next-width: 100%;--next-width-SCOPED-IN-line-up-9NS9: var(--next-width);--next-max-width: fit-content;--next-max-width-SCOPED-IN-line-up-9NS9: var(--next-max-width);--translate-x: 0px;--translate-x-SCOPED-IN-line-up-9NS9: var(--translate-x)}:host{position:relative;transform:translate(var(--translate-x-SCOPED-IN-line-up-9NS9));transition:transform .3s ease-in-out;display:flex;justify-content:flex-start;gap:var(--gap-SCOPED-IN-line-up-9NS9);width:100%;height:100%}:host .main{max-width:100%;height:100%;z-index:2}:host .next{width:100%;height:100%;z-index:1}\n"], animations: LINE_UP_ANIMATIONS, changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
92
71
|
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrame, decorators: [{
|
|
94
73
|
type: Component,
|
|
95
|
-
args: [{ standalone: true, imports: [
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
`, changeDetection: ChangeDetectionStrategy.Default, animations: LINE_UP_ANIMATIONS,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
args: ['main', { static: false }]
|
|
111
|
-
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS11cC5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9saW5lLXVwL2xpbmUtdXAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hLLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBYSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVzFELE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFRSxXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUVsQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7UUFDM0MsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNwQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxNQUFNLENB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Q0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQTlDVSxXQUFXO21HQUFYLFdBQVcscVJBUlo7OztHQUdULGd6QkFOQyxZQUFZLHFIQVNGLGtCQUFrQjs7NEZBRW5CLFdBQVc7a0JBZHZCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7cUJBQ2IsWUFDUyxnQkFBZ0IsWUFDaEI7OztHQUdULG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLGtCQUFrQjs4QkFROUIsT0FBTztzQkFGTixXQUFXO3VCQUFDLGVBQWU7O3NCQUMzQixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJSSxNQUFNO3NCQURmLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5qZWN0YWJsZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzY2FuLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExJTkVfVVBfQU5JTUFUSU9OUyB9IGZyb20gJy4vbGluZS11cC5hbmltYXRpb25zJztcbmltcG9ydCB7IGZyb21SZXNpemUgfSBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZVVwRnJhbWVFbnRyeSB7XG4gIHR5cGU6ICdhZGQnIHwgJ3JlbW92ZSc7XG4gIHNjb3BlOiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIG1haW5XaWR0aD86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTGluZVVwRnJhbWVTZXJ2aWNlIHtcbiAgZnJhbWVzOiBMaW5lVXBGcmFtZVtdID0gW107XG5cbiAgcmVhZG9ubHkgZW50cmllcyQgPSBuZXcgU3ViamVjdDxMaW5lVXBGcmFtZUVudHJ5PigpO1xuICByZWFkb25seSBzaXplTWFwJCA9IHRoaXMuZW50cmllcyQucGlwZShcbiAgICBzY2FuKChhY2MsIHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUudHlwZSA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgY29uc3QgbWFwID0gYWNjLmdldCh2YWx1ZS5zY29wZSk7XG4gICAgICAgIG1hcD8uZGVsZXRlKHZhbHVlLmluZGV4KTtcbiAgICAgICAgaWYgKG1hcD8uc2l6ZSA9PT0gMCkgYWNjLmRlbGV0ZSh2YWx1ZS5zY29wZSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtYXAgPSBhY2MuZ2V0KHZhbHVlLnNjb3BlKSA/PyBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpO1xuICAgICAgICBtYXAuc2V0KHZhbHVlLmluZGV4LCB2YWx1ZS5tYWluV2lkdGgpO1xuICAgICAgICBhY2Muc2V0KHZhbHVlLnNjb3BlLCBtYXApO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgIH0sIG5ldyBNYXAoKSBhcyBNYXA8c3RyaW5nLCBNYXA8bnVtYmVyLCBudW1iZXI+PiksXG4gICAgZmlsdGVyKChtYXApID0+IFsuLi5tYXAudmFsdWVzKCldLm1hcChtYXAgPT4gWy4uLm1hcC5rZXlzKCldKS5mbGF0KCkubGVuZ3RoID09PSB0aGlzLmZyYW1lcy5sZW5ndGgpLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICApO1xuICByZWFkb25seSBzaXplTWFwID0gdG9TaWduYWwodGhpcy5zaXplTWFwJCk7XG5cbiAgbWFwVG9Db250ZW50V2lkdGgoc2NvcGU6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLnNpemVNYXAkLnBpcGUoXG4gICAgICBtYXAoKG1hcCkgPT4gbWFwLmdldChzY29wZSkgPz8gbmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKSksXG4gICAgICBtYXAoKG1hcCkgPT4ge1xuICAgICAgICBjb25zdCBrZXlzID0gWy4uLm1hcC5rZXlzKCldLmZpbHRlcihrZXkgPT4ga2V5ID49IGluZGV4KTtcbiAgICAgICAgcmV0dXJuIGtleXMucmVkdWNlKChhY2MsIGtleSkgPT4gbWFwLmdldChrZXkpICsgYWNjLCAwKTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG4gIH1cblxuICByZWdpc3RlcihmcmFtZTogTGluZVVwRnJhbWUsIG1haW5XaWR0aD86IG51bWJlcikge1xuICAgIHRoaXMuZnJhbWVzLnB1c2goZnJhbWUpO1xuICB9XG5cbiAgdXBkYXRlKGZyYW1lOiBMaW5lVXBGcmFtZSwgbWFpbldpZHRoOiBudW1iZXIpIHtcbiAgICB0aGlzLmVudHJpZXMkLm5leHQoe3R5cGU6ICdhZGQnLCBzY29wZTogZnJhbWUuc2NvcGUsIGluZGV4OiBmcmFtZS5pbmRleCwgbWFpbldpZHRofSk7XG4gIH1cblxuICB1bnJlZ2lzdGVyKGZyYW1lOiBMaW5lVXBGcmFtZSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSW5kZXgoZnJhbWUpO1xuICAgIHRoaXMuZnJhbWVzID0gdGhpcy5mcmFtZXMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IGZyYW1lKTtcbiAgICB0aGlzLmVudHJpZXMkLm5leHQoe3R5cGU6ICdyZW1vdmUnLCBzY29wZTogZnJhbWUuc2NvcGUsIGluZGV4fSk7XG4gIH1cblxuICBmaW5kSW5kZXgoZnJhbWU6IExpbmVVcEZyYW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mcmFtZXMuZmluZEluZGV4KCh2YWx1ZSkgPT4gdmFsdWUgPT09IGZyYW1lKTtcbiAgfVxuXG4gIGlzRmlyc3QoZnJhbWU6IExpbmVVcEZyYW1lKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJbmRleChmcmFtZSk7XG4gICAgY29uc3Qga2V5cyA9IFsuLi4odGhpcy5zaXplTWFwKCkuZ2V0KGZyYW1lLnNjb3BlKSA/PyBuZXcgTWFwKCkpLmtleXMoKV07XG4gICAgcmV0dXJuIE1hdGgubWluKC4uLmtleXMpID09PSBpbmRleDtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdmcmFtZXMtbGluZS11cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1haW4gY29udGVudFwiICNtYWluPjxuZy1jb250ZW50IHNlbGVjdD1bbWFpbl0+PC9uZy1jb250ZW50PjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuZXh0IGNvbnRlbnRcIiAqbmdJZj1cImhhc05leHRcIiBAaGFzTmV4dD48bmctY29udGVudCBzZWxlY3Q9W25leHRdPjwvbmctY29udGVudD48L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbGluZS11cC5mcmFtZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgYW5pbWF0aW9uczogTElORV9VUF9BTklNQVRJT05TLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5lVXBGcmFtZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KExpbmVVcEZyYW1lU2VydmljZSk7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhhcy1uZXh0JylcbiAgQElucHV0KClcbiAgaGFzTmV4dDogYm9vbGVhblxuXG4gIEBJbnB1dCgpXG4gIHNjb3BlID0gJ2RlZmF1bHQnO1xuXG4gIEBWaWV3Q2hpbGQoJ21haW4nLCB7c3RhdGljOiBmYWxzZX0pXG4gIHByb3RlY3RlZCBtYWluRWwhOiBFbGVtZW50UmVmO1xuXG4gIC8vIFRPRE8oQG5vbnRhbmdlbnQpOiBpbnRlcnZhbCBpcyBub3QgdGhlIGJlc3Qgd2F5IHRvIGRvIHRoaXNcbiAgcmVhZG9ubHkgbWFpbldpZHRoJCA9IGludGVydmFsKDUwMCkucGlwZShcbiAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLm1haW5FbCksXG4gICAgbWFwKCgpID0+IHRoaXMubWFpbkVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG5cbiAgcmVhZG9ubHkgd2lkdGgkID0gdGhpcy5zZXJ2aWNlLnNpemVNYXAkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VydmljZS5tYXBUb0NvbnRlbnRXaWR0aCh0aGlzLnNjb3BlLCB0aGlzLmluZGV4KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcblxuICBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmZpbmRJbmRleCh0aGlzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5yZWdpc3Rlcih0aGlzLCAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1haW5XaWR0aCQuc3Vic2NyaWJlKCh3aWR0aCkgPT4gdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLCB3aWR0aCkpO1xuICAgIHRoaXMud2lkdGgkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMuc2VydmljZS5pc0ZpcnN0KHRoaXMpKSkuc3Vic2NyaWJlKCh3aWR0aCkgPT4ge1xuICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSB3aWR0aDtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10cmFuc2xhdGUteCcsIGAke01hdGgubWluKGRlbHRhLCAwKX1weGApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XG4gIH1cbn1cbiJdfQ==
|
|
74
|
+
args: [{ standalone: true, imports: [], selector: 'frames-line-up', template: `
|
|
75
|
+
<div class="main" #main><ng-content select=[main] /></div>
|
|
76
|
+
@if (store.hasNext()) {
|
|
77
|
+
<div class="next" @hasNext><ng-content select=[next] /></div>
|
|
78
|
+
}
|
|
79
|
+
`, changeDetection: ChangeDetectionStrategy.Default, animations: LINE_UP_ANIMATIONS, hostDirectives: [
|
|
80
|
+
{
|
|
81
|
+
directive: LineUpFrameStore,
|
|
82
|
+
inputs: ['scope', 'hasNext'],
|
|
83
|
+
},
|
|
84
|
+
], host: {
|
|
85
|
+
'attr.has-next': 'store.hasNext()',
|
|
86
|
+
}, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-9NS9: var(--gap);--background-color: #ccc;--background-color-SCOPED-IN-line-up-9NS9: var(--background-color);--next-width: 100%;--next-width-SCOPED-IN-line-up-9NS9: var(--next-width);--next-max-width: fit-content;--next-max-width-SCOPED-IN-line-up-9NS9: var(--next-max-width);--translate-x: 0px;--translate-x-SCOPED-IN-line-up-9NS9: var(--translate-x)}:host{position:relative;transform:translate(var(--translate-x-SCOPED-IN-line-up-9NS9));transition:transform .3s ease-in-out;display:flex;justify-content:flex-start;gap:var(--gap-SCOPED-IN-line-up-9NS9);width:100%;height:100%}:host .main{max-width:100%;height:100%;z-index:2}:host .next{width:100%;height:100%;z-index:1}\n"] }]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS11cC5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9saW5lLXVwL2xpbmUtdXAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVcsVUFBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDOzhHQUhZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7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bUJBRWdCLHVCQUF1QixDQUFDLE9BQU8sY0FDcEMsa0JBQWtCLGtCQUNkO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7eUJBQzdCO3FCQUNGLFFBQ0s7d0JBQ0osZUFBZSxFQUFFLGlCQUFpQjtxQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBQTEFURk9STV9JRCwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMSU5FX1VQX0FOSU1BVElPTlMgfSBmcm9tICcuL2xpbmUtdXAuYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBMaW5lVXBGcmFtZVNlcnZpY2UgfSBmcm9tICcuL2xpbmUtdXAuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tUmVzaXplIH0gZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBvZiB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2ZyYW1lcy1saW5lLXVwJ30pXG5leHBvcnQgY2xhc3MgTGluZVVwRnJhbWVTdG9yZSB7XG4gIHJlYWRvbmx5IHNjb3BlID0gaW5wdXQoJ2RlZmF1bHQnKTtcbiAgcmVhZG9ubHkgaGFzTmV4dCA9IGlucHV0KGZhbHNlKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICBzZWxlY3RvcjogJ2ZyYW1lcy1saW5lLXVwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibWFpblwiICNtYWluPjxuZy1jb250ZW50IHNlbGVjdD1bbWFpbl0gLz48L2Rpdj5cbiAgICBAaWYgKHN0b3JlLmhhc05leHQoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cIm5leHRcIiBAaGFzTmV4dD48bmctY29udGVudCBzZWxlY3Q9W25leHRdIC8+PC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9saW5lLXVwLmZyYW1lLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICBhbmltYXRpb25zOiBMSU5FX1VQX0FOSU1BVElPTlMsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBMaW5lVXBGcmFtZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ3Njb3BlJywgJ2hhc05leHQnXSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgJ2F0dHIuaGFzLW5leHQnOiAnc3RvcmUuaGFzTmV4dCgpJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lVXBGcmFtZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KExpbmVVcEZyYW1lU3RvcmUpO1xuICBwcml2YXRlIHNlcnZpY2UgPSBpbmplY3QoTGluZVVwRnJhbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICByZWFkb25seSByZXNpemVXaW5kb3ckID0gb2YobnVsbCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgcmV0dXJuIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZClcbiAgICAgICAgPyBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShzdGFydFdpdGgobnVsbCkpXG4gICAgICAgIDogb2YobnVsbCk7XG4gICAgfSksXG4gIClcblxuICByZWFkb25seSBlbFdpZHRoJCA9IHRoaXMucmVzaXplV2luZG93JC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tUmVzaXplKHRoaXMuZWwpLnBpcGUoc3RhcnRXaXRoKG51bGwpKSksXG4gICAgbWFwKCgpID0+IHRoaXMuZWwubmF0aXZlRWxlbWVudD8uY2xpZW50V2lkdGggPz8gMCksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG4gIFxuICByZWFkb25seSBtYWluID0gdmlld0NoaWxkKCdtYWluJywge3JlYWQ6IEVsZW1lbnRSZWZ9KTtcbiAgcmVhZG9ubHkgbWFpbiQgPSB0b09ic2VydmFibGUodGhpcy5tYWluKTtcbiAgcmVhZG9ubHkgbWFpbldpZHRoJCA9IGNvbWJpbmVMYXRlc3Qoe1xuICAgIG1haW46IHRoaXMubWFpbiQsXG4gICAgcmVzaXplOiB0aGlzLnJlc2l6ZVdpbmRvdyRcbiAgfSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKHttYWlufSkgPT4gZnJvbVJlc2l6ZShtYWluKS5waXBlKHN0YXJ0V2l0aChudWxsKSkpLFxuICAgIG1hcCgoKSA9PiB0aGlzLm1haW4oKSksXG4gICAgbWFwKChtYWluKSA9PiBtYWluPy5uYXRpdmVFbGVtZW50Py5jbGllbnRXaWR0aCA/PyAwKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbiAgcmVhZG9ubHkgYWxsV2lkdGgkID0gY29tYmluZUxhdGVzdCh7XG4gICAgbWFwOiB0aGlzLnNlcnZpY2Uuc2l6ZU1hcCQsXG4gICAgd2luZG93OiB0aGlzLnJlc2l6ZVdpbmRvdyRcbiAgfSkgLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuc2VydmljZS5nZXRGb2xsb3dpbmdXaWR0aCh0aGlzLnN0b3JlLnNjb3BlKCksIHRoaXMpKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcblxuICByZWFkb25seSBkZWx0YSQgPSBjb21iaW5lTGF0ZXN0KHtcbiAgICBlbDogdGhpcy5lbFdpZHRoJCxcbiAgICBhbGw6IHRoaXMuYWxsV2lkdGgkLFxuICB9KS5waXBlKFxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnNlcnZpY2UuaXNGaXJzdCh0aGlzLCB0aGlzLnN0b3JlLnNjb3BlKCkpKSxcbiAgICBtYXAoKHtlbCwgYWxsfSkgPT4gTWF0aC5taW4oZWwgLSBhbGwsIDApKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5yZWdpc3Rlcih0aGlzLCB0aGlzLnN0b3JlLnNjb3BlKCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLm1haW5XaWR0aCQuc3Vic2NyaWJlKCh3aWR0aCkgPT4gdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLCB3aWR0aCwgdGhpcy5zdG9yZS5zY29wZSgpKSk7XG4gICAgICB0aGlzLmRlbHRhJC5zdWJzY3JpYmUoKGRlbHRhKSA9PiB0aGlzLnNldFRyYW5zbGF0ZVgoZGVsdGEpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLCB0aGlzLnN0b3JlLnNjb3BlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyYW5zbGF0ZVgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10cmFuc2xhdGUteCcsIGAke3ZhbHVlfXB4YCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Injectable, signal } from "@angular/core";
|
|
2
|
+
import { takeUntilDestroyed, toObservable } from "@angular/core/rxjs-interop";
|
|
3
|
+
import { distinctUntilChanged } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LineUpFrameService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.sizeMap = signal({});
|
|
8
|
+
this.sizeMap$ = toObservable(this.sizeMap).pipe(distinctUntilChanged(), takeUntilDestroyed());
|
|
9
|
+
}
|
|
10
|
+
register(frame, scope) {
|
|
11
|
+
this.sizeMap.update(record => {
|
|
12
|
+
record[scope] ??= { frames: [], sizeMap: {} };
|
|
13
|
+
record[scope].frames.push(frame);
|
|
14
|
+
return { ...record };
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
update(frame, mainWidth, scope) {
|
|
18
|
+
const index = this.findIndex(frame, scope);
|
|
19
|
+
this.sizeMap.update(record => {
|
|
20
|
+
record[scope] ??= { frames: [], sizeMap: {} };
|
|
21
|
+
record[scope].sizeMap[index] = mainWidth;
|
|
22
|
+
return { ...record };
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
unregister(frame, scope) {
|
|
26
|
+
const index = this.findIndex(frame, scope);
|
|
27
|
+
this.sizeMap.update(record => {
|
|
28
|
+
record[scope].frames = [...record[scope].frames.filter((value) => value !== frame)];
|
|
29
|
+
delete record[scope].sizeMap[index];
|
|
30
|
+
return { ...record };
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
findIndex(frame, scope) {
|
|
34
|
+
return this.sizeMap()[scope].frames.findIndex((value) => value === frame);
|
|
35
|
+
}
|
|
36
|
+
isFirst(frame, scope) {
|
|
37
|
+
const index = this.findIndex(frame, scope);
|
|
38
|
+
return Math.min(...Object.keys(this.getSizeMap(scope)).map(key => parseInt(key, 10))) === index;
|
|
39
|
+
}
|
|
40
|
+
getSizeMap(scope) {
|
|
41
|
+
return this.sizeMap()[scope].sizeMap ?? {};
|
|
42
|
+
}
|
|
43
|
+
getFollowingWidth(scope, frame) {
|
|
44
|
+
return Object.entries(this.getSizeMap(scope))
|
|
45
|
+
.filter(([key]) => parseInt(key, 10) >= this.findIndex(frame, scope))
|
|
46
|
+
.reduce((acc, [_, width]) => width + acc, 0);
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrameService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrameService, providedIn: 'root' }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LineUpFrameService, decorators: [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{ providedIn: 'root' }]
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS11cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2xpbmUtdXAvbGluZS11cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVzVDLE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFVyxZQUFPLEdBQUcsTUFBTSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDakQsb0JBQW9CLEVBQUUsRUFDdEIsa0JBQWtCLEVBQUUsQ0FDckIsQ0FBQztLQThDSDtJQTVDQyxRQUFRLENBQUMsS0FBa0IsRUFBRSxLQUFhO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFrQixFQUFFLFNBQWlCLEVBQUUsS0FBYTtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUN6QyxPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBa0IsRUFBRSxLQUFhO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwRixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsT0FBTyxFQUFDLEdBQUcsTUFBTSxFQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWtCLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFrQixFQUFFLEtBQWE7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsS0FBa0I7UUFDakQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNwRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FsRFUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FETixNQUFNOzsyRkFDbEIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMaW5lVXBGcmFtZSB9IGZyb20gXCIuL2xpbmUtdXAuZnJhbWVcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gXCJyeGpzXCI7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIFtzY29wZTogc3RyaW5nXToge1xuICAgIGZyYW1lczogTGluZVVwRnJhbWVbXTtcbiAgICBzaXplTWFwOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+O1xuICB9XG59XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTGluZVVwRnJhbWVTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgc2l6ZU1hcCA9IHNpZ25hbDxTdGF0ZT4oe30pO1xuICByZWFkb25seSBzaXplTWFwJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnNpemVNYXApLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcblxuICByZWdpc3RlcihmcmFtZTogTGluZVVwRnJhbWUsIHNjb3BlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNpemVNYXAudXBkYXRlKHJlY29yZCA9PiB7XG4gICAgICByZWNvcmRbc2NvcGVdID8/PSB7ZnJhbWVzOiBbXSwgc2l6ZU1hcDoge319O1xuICAgICAgcmVjb3JkW3Njb3BlXS5mcmFtZXMucHVzaChmcmFtZSk7XG4gICAgICByZXR1cm4gey4uLnJlY29yZH07XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGUoZnJhbWU6IExpbmVVcEZyYW1lLCBtYWluV2lkdGg6IG51bWJlciwgc2NvcGU6IHN0cmluZykge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSW5kZXgoZnJhbWUsIHNjb3BlKTtcbiAgICB0aGlzLnNpemVNYXAudXBkYXRlKHJlY29yZCA9PiB7XG4gICAgICByZWNvcmRbc2NvcGVdID8/PSB7ZnJhbWVzOiBbXSwgc2l6ZU1hcDoge319O1xuICAgICAgcmVjb3JkW3Njb3BlXS5zaXplTWFwW2luZGV4XSA9IG1haW5XaWR0aDtcbiAgICAgIHJldHVybiB7Li4ucmVjb3JkfTtcbiAgICB9KVxuICB9XG5cbiAgdW5yZWdpc3RlcihmcmFtZTogTGluZVVwRnJhbWUsIHNjb3BlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZEluZGV4KGZyYW1lLCBzY29wZSk7XG4gICAgdGhpcy5zaXplTWFwLnVwZGF0ZShyZWNvcmQgPT4ge1xuICAgICAgcmVjb3JkW3Njb3BlXS5mcmFtZXMgPSBbLi4ucmVjb3JkW3Njb3BlXS5mcmFtZXMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IGZyYW1lKV07XG4gICAgICBkZWxldGUgcmVjb3JkW3Njb3BlXS5zaXplTWFwW2luZGV4XTtcbiAgICAgIHJldHVybiB7Li4ucmVjb3JkfTtcbiAgICB9KVxuICB9XG5cbiAgZmluZEluZGV4KGZyYW1lOiBMaW5lVXBGcmFtZSwgc2NvcGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZU1hcCgpW3Njb3BlXS5mcmFtZXMuZmluZEluZGV4KCh2YWx1ZSkgPT4gdmFsdWUgPT09IGZyYW1lKTtcbiAgfVxuXG4gIGlzRmlyc3QoZnJhbWU6IExpbmVVcEZyYW1lLCBzY29wZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJbmRleChmcmFtZSwgc2NvcGUpO1xuICAgIHJldHVybiBNYXRoLm1pbiguLi5PYmplY3Qua2V5cyh0aGlzLmdldFNpemVNYXAoc2NvcGUpKS5tYXAoa2V5ID0+IHBhcnNlSW50KGtleSwgMTApKSkgPT09IGluZGV4O1xuICB9XG5cbiAgZ2V0U2l6ZU1hcChzY29wZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZU1hcCgpW3Njb3BlXS5zaXplTWFwID8/IHt9O1xuICB9XG5cbiAgZ2V0Rm9sbG93aW5nV2lkdGgoc2NvcGU6IHN0cmluZywgZnJhbWU6IExpbmVVcEZyYW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5nZXRTaXplTWFwKHNjb3BlKSlcbiAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiBwYXJzZUludChrZXksIDEwKSA+PSB0aGlzLmZpbmRJbmRleChmcmFtZSwgc2NvcGUpKVxuICAgICAgLnJlZHVjZSgoYWNjLCBbXywgd2lkdGhdKSA9PiB3aWR0aCArIGFjYywgMCk7XG4gIH1cbn1cbiJdfQ==
|