@ng-atomic/components 19.35.0 → 19.36.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/fesm2022/ng-atomic-components-atoms-chips-input.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +4 -4
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras-editor.mjs +3 -2
- package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-card.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-divider.mjs +3 -3
- package/fesm2022/ng-atomic-components-frames-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +3 -3
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +3 -3
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-nested-menu.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-textarea-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +1 -1
- package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +3 -2
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-table.mjs +6 -5
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs +1 -2
- package/fesm2022/ng-atomic-components-organisms-terminal.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +6 -4
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-form.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs +2 -1
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-_index.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-form.mjs +5 -5
- package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
- package/package.json +3 -3
- package/types/ng-atomic-components-atoms-chips-input.d.ts +1 -1
- package/types/ng-atomic-components-atoms-icon.d.ts +1 -1
- package/types/ng-atomic-components-atoms-menu-button.d.ts +2 -2
- package/types/ng-atomic-components-atoms-value-cell.d.ts +5 -5
- package/types/ng-atomic-components-extras-editor.d.ts +1 -1
- package/types/ng-atomic-components-extras.d.ts +1 -1
- package/types/ng-atomic-components-frames-app.d.ts +20 -20
- package/types/ng-atomic-components-frames-breadcrumb-navbar.d.ts +1 -1
- package/types/ng-atomic-components-frames-columns.d.ts +4 -4
- package/types/ng-atomic-components-frames-entrance.d.ts +2 -2
- package/types/ng-atomic-components-frames-fab.d.ts +3 -3
- package/types/ng-atomic-components-frames-fab.d.ts.map +1 -1
- package/types/ng-atomic-components-frames-line-up.d.ts +3 -3
- package/types/ng-atomic-components-frames-router-outlet.d.ts +5 -5
- package/types/ng-atomic-components-frames-side-app.d.ts +1 -1
- package/types/ng-atomic-components-frames-side-nav.d.ts +9 -9
- package/types/ng-atomic-components-molecules-action-input-field.d.ts +1 -1
- package/types/ng-atomic-components-molecules-actions-column.d.ts +2 -2
- package/types/ng-atomic-components-molecules-checkbox-column.d.ts +2 -2
- package/types/ng-atomic-components-molecules-chips-input-field.d.ts +5 -5
- package/types/ng-atomic-components-molecules-date-input-field.d.ts +3 -3
- package/types/ng-atomic-components-molecules-date-range-input-field.d.ts +2 -2
- package/types/ng-atomic-components-molecules-file-input-field.d.ts +5 -5
- package/types/ng-atomic-components-molecules-grid-item.d.ts +1 -1
- package/types/ng-atomic-components-molecules-list-item.d.ts +3 -3
- package/types/ng-atomic-components-molecules-loading-box.d.ts +1 -1
- package/types/ng-atomic-components-molecules-nested-menu.d.ts +1 -1
- package/types/ng-atomic-components-molecules-nested-menu.d.ts.map +1 -1
- package/types/ng-atomic-components-molecules-select-input-field.d.ts +3 -3
- package/types/ng-atomic-components-molecules-text-column.d.ts +2 -2
- package/types/ng-atomic-components-molecules-text-input-field.d.ts +4 -4
- package/types/ng-atomic-components-molecules-textarea-field.d.ts +2 -2
- package/types/ng-atomic-components-molecules-textarea-field.d.ts.map +1 -1
- package/types/ng-atomic-components-molecules-thread-message.d.ts +3 -3
- package/types/ng-atomic-components-molecules-tree-column.d.ts +3 -3
- package/types/ng-atomic-components-organisms-action-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-agreement-input-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-breadcrumb-navbar.d.ts +1 -1
- package/types/ng-atomic-components-organisms-card-input-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-chips-input-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-date-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-date-range-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-file-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-filters-section.d.ts +3 -3
- package/types/ng-atomic-components-organisms-graphql-editor.d.ts +1 -1
- package/types/ng-atomic-components-organisms-grid-toolbar.d.ts +1 -1
- package/types/ng-atomic-components-organisms-image-preview-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-list.d.ts +3 -3
- package/types/ng-atomic-components-organisms-menu-header.d.ts +1 -1
- package/types/ng-atomic-components-organisms-mermaid-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-message-input-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-navigator.d.ts +2 -2
- package/types/ng-atomic-components-organisms-navigator.d.ts.map +1 -1
- package/types/ng-atomic-components-organisms-number-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-paginator.d.ts +4 -4
- package/types/ng-atomic-components-organisms-password-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-select-input-section.d.ts +4 -4
- package/types/ng-atomic-components-organisms-slider-input-section.d.ts +6 -6
- package/types/ng-atomic-components-organisms-stripe-input-section.d.ts +55 -55
- package/types/ng-atomic-components-organisms-table.d.ts +39 -19
- package/types/ng-atomic-components-organisms-table.d.ts.map +1 -1
- package/types/ng-atomic-components-organisms-text-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-textarea-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-time-range-input-section.d.ts +2 -2
- package/types/ng-atomic-components-organisms-toolbar.d.ts +1 -1
- package/types/ng-atomic-components-organisms-tree-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-video-section.d.ts +4 -4
- package/types/ng-atomic-components-pages-_index.d.ts +29 -29
- package/types/ng-atomic-components-pages-_index.d.ts.map +1 -1
- package/types/ng-atomic-components-pages-columns.d.ts +1 -1
- package/types/ng-atomic-components-pages-columns.d.ts.map +1 -1
- package/types/ng-atomic-components-pages-form.d.ts +13 -12
- package/types/ng-atomic-components-pages-form.d.ts.map +1 -1
- package/types/ng-atomic-components-pages-terms.d.ts +9 -9
- package/types/ng-atomic-components-services-global-iframe.d.ts +1 -1
- package/types/ng-atomic-components-services-global-iframe.d.ts.map +1 -1
- package/types/ng-atomic-components-templates-_index.d.ts +52 -50
- package/types/ng-atomic-components-templates-_index.d.ts.map +1 -1
- package/types/ng-atomic-components-templates-code-editor.d.ts +1 -1
- package/types/ng-atomic-components-templates-columns.d.ts +17 -17
- package/types/ng-atomic-components-templates-entrance.d.ts +2 -2
- package/types/ng-atomic-components-templates-form.d.ts +7 -7
- package/types/ng-atomic-components-templates-menu.d.ts +1 -1
- package/types/ng-atomic-components-templates-term.d.ts +1 -1
- package/types/ng-atomic-components-templates-thread.d.ts +3 -3
|
@@ -25,9 +25,9 @@ class ChipsInputAtom {
|
|
|
25
25
|
this.placeholder = '';
|
|
26
26
|
}
|
|
27
27
|
ngOnInit() {
|
|
28
|
-
this.chipsManager.setValue(this.control.value);
|
|
28
|
+
this.chipsManager.setValue(this.control.value ?? '');
|
|
29
29
|
this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
|
30
|
-
this.chipsManager.setValue(value);
|
|
30
|
+
this.chipsManager.setValue(value ?? '');
|
|
31
31
|
this.cd.markForCheck();
|
|
32
32
|
});
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-atoms-chips-input.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/atoms/chips-input/chips-input.atom.ts","../../../../../packages/@ng-atomic/components/src/lib/atoms/chips-input/ng-atomic-components-atoms-chips-input.ts"],"sourcesContent":["import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, ViewEncapsulation, OnDestroy } from '@angular/core';\nimport { MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ChipsManager } from '@ng-atomic/common/services/chips-manager';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInput, MatInputModule } from '@angular/material/input';\nimport { MatFormFieldControl } from '@angular/material/form-field';\n\n\n@Component({\n selector: 'atoms-chips-input',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatChipsModule,\n MatIconModule,\n MatInputModule,\n ],\n template: `\n <mat-chip-grid #chipGrid>\n <mat-chip-row *ngFor=\"let chip of chipsManager.chips\"\n (removed)=\"remove(chip)\"\n [editable]=\"false\"\n >\n {{ chip }}\n <button matChipRemove><mat-icon>cancel</mat-icon></button>\n </mat-chip-row>\n <input\n matInput\n type=\"search\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separators\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"onChiInputTokenEnd($event)\"\n >\n </mat-chip-grid>\n `,\n styleUrls: ['./chips-input.atom.scss'],\n // encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n ChipsManager,\n ],\n hostDirectives: [],\n})\nexport class ChipsInputAtom implements OnInit, OnDestroy {\n private readonly destroy$ = new ReplaySubject<void>(1);\n\n @Input()\n separators = [ENTER, COMMA, SPACE] as const;\n\n @Input()\n control = new FormControl<string>('');\n\n @Input()\n placeholder = '';\n\n constructor(\n private cd: ChangeDetectorRef,\n public chipsManager: ChipsManager,\n ) { }\n\n ngOnInit(): void {\n this.chipsManager.setValue(this.control.value);\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.chipsManager.setValue(value);\n this.cd.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n onChiInputTokenEnd(event: MatChipInputEvent): void {\n this.chipsManager.add(event.value);\n this.control.setValue(this.chipsManager.getValue());\n event.input.value = '';\n }\n\n remove(value: string): void {\n this.chipsManager.remove(value);\n this.control.setValue(this.chipsManager.getValue());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAmDa,cAAc,CAAA;IAYzB,WAAA,CACU,EAAqB,EACtB,YAA0B,EAAA;QADzB,IAAA,CAAA,EAAE,GAAF,EAAE;QACH,IAAA,CAAA,YAAY,GAAZ,YAAY;AAbJ,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC;QAGtD,IAAA,CAAA,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU;AAG3C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,WAAW,CAAS,EAAE,CAAC;QAGrC,IAAA,CAAA,WAAW,GAAG,EAAE;IAKZ;IAEJ,QAAQ,GAAA;
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-atoms-chips-input.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/atoms/chips-input/chips-input.atom.ts","../../../../../packages/@ng-atomic/components/src/lib/atoms/chips-input/ng-atomic-components-atoms-chips-input.ts"],"sourcesContent":["import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, ViewEncapsulation, OnDestroy } from '@angular/core';\nimport { MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ChipsManager } from '@ng-atomic/common/services/chips-manager';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInput, MatInputModule } from '@angular/material/input';\nimport { MatFormFieldControl } from '@angular/material/form-field';\n\n\n@Component({\n selector: 'atoms-chips-input',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatChipsModule,\n MatIconModule,\n MatInputModule,\n ],\n template: `\n <mat-chip-grid #chipGrid>\n <mat-chip-row *ngFor=\"let chip of chipsManager.chips\"\n (removed)=\"remove(chip)\"\n [editable]=\"false\"\n >\n {{ chip }}\n <button matChipRemove><mat-icon>cancel</mat-icon></button>\n </mat-chip-row>\n <input\n matInput\n type=\"search\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separators\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"onChiInputTokenEnd($event)\"\n >\n </mat-chip-grid>\n `,\n styleUrls: ['./chips-input.atom.scss'],\n // encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n ChipsManager,\n ],\n hostDirectives: [],\n})\nexport class ChipsInputAtom implements OnInit, OnDestroy {\n private readonly destroy$ = new ReplaySubject<void>(1);\n\n @Input()\n separators = [ENTER, COMMA, SPACE] as const;\n\n @Input()\n control = new FormControl<string>('');\n\n @Input()\n placeholder = '';\n\n constructor(\n private cd: ChangeDetectorRef,\n public chipsManager: ChipsManager,\n ) { }\n\n ngOnInit(): void {\n this.chipsManager.setValue(this.control.value ?? '');\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.chipsManager.setValue(value ?? '');\n this.cd.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n onChiInputTokenEnd(event: MatChipInputEvent): void {\n this.chipsManager.add(event.value);\n this.control.setValue(this.chipsManager.getValue());\n event.input.value = '';\n }\n\n remove(value: string): void {\n this.chipsManager.remove(value);\n this.control.setValue(this.chipsManager.getValue());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ class IconAtom extends NgAtomicComponent {
|
|
|
21
21
|
} @else {
|
|
22
22
|
<mat-icon>{{ name() }}</mat-icon>
|
|
23
23
|
}
|
|
24
|
-
`, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-
|
|
24
|
+
`, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-NZ1g: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-NZ1g: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-NZ1g: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-NZ1g: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-NZ1g: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-NZ1g: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-NZ1g: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-NZ1g)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-NZ1g)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: IconAtom, decorators: [{
|
|
27
27
|
type: Component,
|
|
@@ -33,7 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
33
33
|
} @else {
|
|
34
34
|
<mat-icon>{{ name() }}</mat-icon>
|
|
35
35
|
}
|
|
36
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-
|
|
36
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-NZ1g: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-NZ1g: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-NZ1g: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-NZ1g: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-NZ1g: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-NZ1g: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-NZ1g: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-NZ1g)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-NZ1g)}\n"] }]
|
|
37
37
|
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], color: [{
|
|
38
38
|
type: HostBinding,
|
|
39
39
|
args: ['style.--color']
|
|
@@ -186,7 +186,7 @@ class ValueCellAtom extends NgAtomicComponent {
|
|
|
186
186
|
@let component = '@ng-atomic/components/atoms/value-cell';
|
|
187
187
|
@let field = formField();
|
|
188
188
|
|
|
189
|
-
@switch (field
|
|
189
|
+
@switch (field?.type) {
|
|
190
190
|
@case ('select') {
|
|
191
191
|
<mat-select
|
|
192
192
|
[formControl]="control"
|
|
@@ -252,7 +252,7 @@ class ValueCellAtom extends NgAtomicComponent {
|
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
`, isInline: true, styles: [":host{--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-
|
|
255
|
+
`, isInline: true, styles: [":host{--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7: var(--mat-table-row-item-label-text-size)}:host .cell-input{position:absolute;inset:0;width:100%;height:100%;margin:0;border:none;box-sizing:border-box;padding-right:4px;font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7)}:host .cell-input[type=number]{text-align:right}:host .cell-input{background:transparent}:host .cell-input[type=number]::-webkit-outer-spin-button,:host .cell-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}:host .cell-input[type=number]{-moz-appearance:textfield}:host .cell-input:focus{outline:none}:host p{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host mat-select{width:100%;font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7)}:host mat-select .mat-mdc-select-value{font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7);line-height:1.2}:host mat-select .mat-mdc-select-trigger{min-height:auto;padding:0}:host mat-select .mat-mdc-select-arrow-wrapper{transform:none}:host mat-select .mat-mdc-select-arrow-wrapper .mat-mdc-select-arrow{transform:scale(.8)}:host mat-select.mat-mdc-select{padding:0;margin:0}:host .autocomplete-field{width:100%}:host .autocomplete-field .mat-mdc-form-field-flex{align-items:center;min-height:auto}:host .autocomplete-field .mat-mdc-form-field-infix{padding:0;border:none;min-height:auto}:host .autocomplete-field .mat-mdc-form-field-subscript-wrapper{display:none}:host .autocomplete-field input{font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7);border:none;outline:none;background:transparent;padding:0;margin:0}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;line-height:1.3!important;min-height:32px!important;padding:4px 16px!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important;line-height:1.3!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option span{font-size:12px!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option *{font-size:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option{font-size:12px!important;line-height:1.3!important;min-height:32px!important;padding:4px 16px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important;line-height:1.3!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option span{font-size:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option *{font-size:12px!important}\n"], dependencies: [{ kind: "directive", type: SpreadSheetCellInput, selector: "[ssCellInput]", inputs: ["ssCellInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "pipe", type: StylePipe, name: "style" }, { kind: "pipe", type: ExpressionPipe, name: "expression" }] }); }
|
|
256
256
|
}
|
|
257
257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValueCellAtom, decorators: [{
|
|
258
258
|
type: Component,
|
|
@@ -268,7 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
268
268
|
@let component = '@ng-atomic/components/atoms/value-cell';
|
|
269
269
|
@let field = formField();
|
|
270
270
|
|
|
271
|
-
@switch (field
|
|
271
|
+
@switch (field?.type) {
|
|
272
272
|
@case ('select') {
|
|
273
273
|
<mat-select
|
|
274
274
|
[formControl]="control"
|
|
@@ -334,7 +334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
336
|
}
|
|
337
|
-
`, styles: [":host{--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-
|
|
337
|
+
`, styles: [":host{--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7: var(--mat-table-row-item-label-text-size)}:host .cell-input{position:absolute;inset:0;width:100%;height:100%;margin:0;border:none;box-sizing:border-box;padding-right:4px;font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7)}:host .cell-input[type=number]{text-align:right}:host .cell-input{background:transparent}:host .cell-input[type=number]::-webkit-outer-spin-button,:host .cell-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}:host .cell-input[type=number]{-moz-appearance:textfield}:host .cell-input:focus{outline:none}:host p{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host mat-select{width:100%;font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7)}:host mat-select .mat-mdc-select-value{font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7);line-height:1.2}:host mat-select .mat-mdc-select-trigger{min-height:auto;padding:0}:host mat-select .mat-mdc-select-arrow-wrapper{transform:none}:host mat-select .mat-mdc-select-arrow-wrapper .mat-mdc-select-arrow{transform:scale(.8)}:host mat-select.mat-mdc-select{padding:0;margin:0}:host .autocomplete-field{width:100%}:host .autocomplete-field .mat-mdc-form-field-flex{align-items:center;min-height:auto}:host .autocomplete-field .mat-mdc-form-field-infix{padding:0;border:none;min-height:auto}:host .autocomplete-field .mat-mdc-form-field-subscript-wrapper{display:none}:host .autocomplete-field input{font-size:var(--mat-table-row-item-label-text-size-SCOPED-IN-value-cell-HjY7);border:none;outline:none;background:transparent;padding:0;margin:0}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;line-height:1.3!important;min-height:32px!important;padding:4px 16px!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important;line-height:1.3!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option span{font-size:12px!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option *{font-size:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option{font-size:12px!important;line-height:1.3!important;min-height:32px!important;padding:4px 16px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important;line-height:1.3!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option span{font-size:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option *{font-size:12px!important}\n"] }]
|
|
338
338
|
}], ctorParameters: () => [], propDecorators: { formField: [{ type: i0.Input, args: [{ isSignal: true, alias: "formField", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], expressionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "expressionValue", required: false }] }], isEditing: [{ type: i0.Input, args: [{ isSignal: true, alias: "isEditing", required: false }] }], context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: true }] }] } });
|
|
339
339
|
|
|
340
340
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-atoms-value-cell.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/atoms/value-cell/value-cell.atom.ts","../../../../../packages/@ng-atomic/components/src/lib/atoms/value-cell/ng-atomic-components-atoms-value-cell.ts"],"sourcesContent":["import { Component, input, model, signal, computed, Directive, effect, viewChild, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatSelectChange, MatSelectModule, MatSelect } from '@angular/material/select';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatInputModule } from '@angular/material/input';\nimport { StylePipe } from '@ng-atomic/common/pipes/style';\nimport { _computed, NgAtomicComponent } from '@ng-atomic/core';\nimport { SpreadSheetCellInput, CellContext, Position } from '@ng-atomic/common/services/spreadsheet';\nimport { FormField } from '@ng-atomic/common/pipes/smart-field';\nimport { ExpressionPipe } from '@ng-atomic/common/pipes/expression';\n\nconst NONE = 'NoValue' as any;\n// Stringでなくす\nObject.assign(NONE, { __closure__: NONE });\n\nfunction isNone(value: any) {\n return value === NONE;\n}\n\nenum ActionId {\n UPDATE_VALUE = '[@ng-atomic/components/atoms/value-cell] update value',\n START_EDIT = '[@ng-atomic/components/atoms/value-cell] start edit',\n END_EDIT = '[@ng-atomic/components/atoms/value-cell] end edit',\n}\n\nexport interface UpdateValuePayload<T = any, V extends string | number = any> {\n current: V;\n next: V;\n context: CellContext<T>;\n setValue: (value: V) => void;\n}\n\n@Directive({ standalone: true })\nexport class ValueCellAtomStore {\n static readonly ActionId = ActionId;\n}\n\n@Component({\n selector: `atoms-value-cell, td[atoms-value-cell]`,\n imports: [\n SpreadSheetCellInput,\n StylePipe,\n ExpressionPipe,\n ReactiveFormsModule,\n MatSelectModule,\n MatAutocompleteModule,\n MatInputModule,\n ],\n template: `\n @let component = '@ng-atomic/components/atoms/value-cell';\n @let field = formField();\n\n @switch (field.type) {\n @case ('select') {\n <mat-select\n [formControl]=\"control\"\n (selectionChange)=\"onSelectChange($event)\"\n (openedChange)=\"onSelectOpenedChange($event)\"\n (focus)=\"onSelectFocus()\"\n (blur)=\"onSelectBlur()\"\n [style]=\"displayValue() | style:context()\"\n #matSelect\n >\n @for (option of field.options; track option.value) {\n <mat-option [value]=\"option.value\">{{ option.name }}</mat-option>\n }\n </mat-select>\n }\n @default {\n @if (isEditing()) {\n @if (field?.autoComplete && field?.autoComplete?.length > 0) {\n <input\n class=\"cell-input\"\n [type]=\"field.type\"\n [formControl]=\"control\"\n [ssCellInput]=\"position()\"\n [matAutocomplete]=\"auto\"\n [style.visibility]=\"isEditing() ? 'visible' : 'hidden'\"\n [style.display]=\"isEditing() ? 'inherit' : 'none'\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur(context())\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onKeyDown($event)\"\n #input\n >\n <mat-autocomplete #auto=\"matAutocomplete\">\n @for (option of field.autoComplete; track option) {\n <mat-option [value]=\"option\">{{ option }}</mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input\n class=\"cell-input\"\n [type]=\"field.type\"\n [formControl]=\"control\"\n [ssCellInput]=\"position()\"\n [style.visibility]=\"isEditing() ? 'visible' : 'hidden'\"\n [style.display]=\"isEditing() ? 'inherit' : 'none'\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur(context())\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onKeyDown($event)\"\n #inputv\n >\n }\n } @else {\n <p\n [style]=\"displayValue() | style:context()\"\n [style.visibility]=\"!isEditing() ? 'visible' : 'hidden'\"\n (click)=\"copy(value, $event)\"\n >\n {{ displayValue() | expression:context() }}\n </p>\n }\n }\n }\n `,\n styleUrl: `./value-cell.atom.scss`,\n})\nexport class ValueCellAtom<T> extends NgAtomicComponent {\n readonly formField = input<FormField>();\n readonly position = input.required<Position>();\n readonly value = model<T>();\n readonly expressionValue = input<string>();\n readonly isEditing = input<boolean>(false);\n readonly context = input.required<CellContext>();\n readonly tempValue = signal<T>(NONE);\n readonly control = new FormControl<T>(NONE as T);\n\n // IME状態管理\n private readonly isComposing = signal<boolean>(false);\n\n readonly displayValue = computed(() => {\n const value = this.value();\n const tempValue = this.tempValue();\n return isNone(tempValue) ? value : tempValue;\n })\n\n constructor() {\n super();\n\n effect(() => this.control.setValue(this.displayValue()));\n }\n\n protected copy(value: any, event: Event) {\n\n }\n\n protected onInputFocus() {\n const context = this.context();\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n\n protected onInputBlur(context: CellContext) {\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: this.control.value,\n context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onSelectChange(event: MatSelectChange) {\n const context = this.context();\n \n // 値の更新をディスパッチ\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: event.value,\n context: context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知(選択が完了したため)\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onSelectFocus() {\n const context = this.context();\n console.debug('[ValueCellAtom] Select focused, columnId:', context.name, 'rowId:', context.item?.id);\n \n // セレクトボックスにフォーカスが当たった時点で編集開始\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n\n protected onSelectOpenedChange(opened: boolean) {\n const context = this.context();\n console.debug('[ValueCellAtom] Select opened changed:', opened, 'columnId:', context.name, 'rowId:', context.item?.id);\n \n if (opened) {\n // セレクトボックスが開かれた時(念のため再度編集開始を通知)\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n }\n\n protected onSelectBlur() {\n const context = this.context();\n this.dispatch({ \n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onCompositionStart(): void {\n this.isComposing.set(true);\n }\n\n protected onCompositionEnd(): void {\n this.isComposing.set(false);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n // IME入力中の場合はEnter/Tabキーのイベントバブリングを停止\n if (this.isComposing() && (event.key === 'Enter' || event.key === 'Tab')) {\n event.stopPropagation();\n return;\n }\n \n // Tab/Enterキーでセル移動する前に値を更新\n if ((event.key === 'Tab' || event.key === 'Enter') && !this.isComposing()) {\n const context = this.context();\n \n // 値の更新をディスパッチ\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: this.control.value,\n context: context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n \n // IME確定後はEnter/Tabキーでセル移動を許可\n // SpreadSheetServiceに処理を委譲(イベントバブリングを利用)\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-atoms-value-cell.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/atoms/value-cell/value-cell.atom.ts","../../../../../packages/@ng-atomic/components/src/lib/atoms/value-cell/ng-atomic-components-atoms-value-cell.ts"],"sourcesContent":["import { Component, input, model, signal, computed, Directive, effect, viewChild, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatSelectChange, MatSelectModule, MatSelect } from '@angular/material/select';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatInputModule } from '@angular/material/input';\nimport { StylePipe } from '@ng-atomic/common/pipes/style';\nimport { _computed, NgAtomicComponent } from '@ng-atomic/core';\nimport { SpreadSheetCellInput, CellContext, Position } from '@ng-atomic/common/services/spreadsheet';\nimport { FormField } from '@ng-atomic/common/pipes/smart-field';\nimport { ExpressionPipe } from '@ng-atomic/common/pipes/expression';\n\nconst NONE = 'NoValue' as any;\n// Stringでなくす\nObject.assign(NONE, { __closure__: NONE });\n\nfunction isNone(value: any) {\n return value === NONE;\n}\n\nenum ActionId {\n UPDATE_VALUE = '[@ng-atomic/components/atoms/value-cell] update value',\n START_EDIT = '[@ng-atomic/components/atoms/value-cell] start edit',\n END_EDIT = '[@ng-atomic/components/atoms/value-cell] end edit',\n}\n\nexport interface UpdateValuePayload<T = any, V extends string | number = any> {\n current: V;\n next: V;\n context: CellContext<T>;\n setValue: (value: V) => void;\n}\n\n@Directive({ standalone: true })\nexport class ValueCellAtomStore {\n static readonly ActionId = ActionId;\n}\n\n@Component({\n selector: `atoms-value-cell, td[atoms-value-cell]`,\n imports: [\n SpreadSheetCellInput,\n StylePipe,\n ExpressionPipe,\n ReactiveFormsModule,\n MatSelectModule,\n MatAutocompleteModule,\n MatInputModule,\n ],\n template: `\n @let component = '@ng-atomic/components/atoms/value-cell';\n @let field = formField();\n\n @switch (field?.type) {\n @case ('select') {\n <mat-select\n [formControl]=\"control\"\n (selectionChange)=\"onSelectChange($event)\"\n (openedChange)=\"onSelectOpenedChange($event)\"\n (focus)=\"onSelectFocus()\"\n (blur)=\"onSelectBlur()\"\n [style]=\"displayValue() | style:context()\"\n #matSelect\n >\n @for (option of field.options; track option.value) {\n <mat-option [value]=\"option.value\">{{ option.name }}</mat-option>\n }\n </mat-select>\n }\n @default {\n @if (isEditing()) {\n @if (field?.autoComplete && field?.autoComplete?.length > 0) {\n <input\n class=\"cell-input\"\n [type]=\"field.type\"\n [formControl]=\"control\"\n [ssCellInput]=\"position()\"\n [matAutocomplete]=\"auto\"\n [style.visibility]=\"isEditing() ? 'visible' : 'hidden'\"\n [style.display]=\"isEditing() ? 'inherit' : 'none'\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur(context())\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onKeyDown($event)\"\n #input\n >\n <mat-autocomplete #auto=\"matAutocomplete\">\n @for (option of field.autoComplete; track option) {\n <mat-option [value]=\"option\">{{ option }}</mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input\n class=\"cell-input\"\n [type]=\"field.type\"\n [formControl]=\"control\"\n [ssCellInput]=\"position()\"\n [style.visibility]=\"isEditing() ? 'visible' : 'hidden'\"\n [style.display]=\"isEditing() ? 'inherit' : 'none'\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur(context())\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onKeyDown($event)\"\n #inputv\n >\n }\n } @else {\n <p\n [style]=\"displayValue() | style:context()\"\n [style.visibility]=\"!isEditing() ? 'visible' : 'hidden'\"\n (click)=\"copy(value, $event)\"\n >\n {{ displayValue() | expression:context() }}\n </p>\n }\n }\n }\n `,\n styleUrl: `./value-cell.atom.scss`,\n})\nexport class ValueCellAtom<T> extends NgAtomicComponent {\n readonly formField = input<FormField>();\n readonly position = input.required<Position>();\n readonly value = model<T>();\n readonly expressionValue = input<string>();\n readonly isEditing = input<boolean>(false);\n readonly context = input.required<CellContext>();\n readonly tempValue = signal<T>(NONE);\n readonly control = new FormControl<T>(NONE as T);\n\n // IME状態管理\n private readonly isComposing = signal<boolean>(false);\n\n readonly displayValue = computed(() => {\n const value = this.value();\n const tempValue = this.tempValue();\n return isNone(tempValue) ? value : tempValue;\n })\n\n constructor() {\n super();\n\n effect(() => this.control.setValue(this.displayValue() as T | null));\n }\n\n protected copy(value: any, event: Event) {\n\n }\n\n protected onInputFocus() {\n const context = this.context();\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n\n protected onInputBlur(context: CellContext) {\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: this.control.value,\n context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onSelectChange(event: MatSelectChange) {\n const context = this.context();\n \n // 値の更新をディスパッチ\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: event.value,\n context: context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知(選択が完了したため)\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onSelectFocus() {\n const context = this.context();\n console.debug('[ValueCellAtom] Select focused, columnId:', context.name, 'rowId:', context.item?.id);\n \n // セレクトボックスにフォーカスが当たった時点で編集開始\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n\n protected onSelectOpenedChange(opened: boolean) {\n const context = this.context();\n console.debug('[ValueCellAtom] Select opened changed:', opened, 'columnId:', context.name, 'rowId:', context.item?.id);\n \n if (opened) {\n // セレクトボックスが開かれた時(念のため再度編集開始を通知)\n this.dispatch({\n id: ActionId.START_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || '',\n item: context.item\n }\n });\n }\n }\n\n protected onSelectBlur() {\n const context = this.context();\n this.dispatch({ \n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n\n protected onCompositionStart(): void {\n this.isComposing.set(true);\n }\n\n protected onCompositionEnd(): void {\n this.isComposing.set(false);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n // IME入力中の場合はEnter/Tabキーのイベントバブリングを停止\n if (this.isComposing() && (event.key === 'Enter' || event.key === 'Tab')) {\n event.stopPropagation();\n return;\n }\n \n // Tab/Enterキーでセル移動する前に値を更新\n if ((event.key === 'Tab' || event.key === 'Enter') && !this.isComposing()) {\n const context = this.context();\n \n // 値の更新をディスパッチ\n this.dispatch({\n id: ActionId.UPDATE_VALUE,\n payload: <UpdateValuePayload>{\n current: this.displayValue(), \n next: this.control.value,\n context: context,\n setValue: (value) => this.tempValue.set(value),\n },\n });\n \n // 編集終了を通知\n this.dispatch({\n id: ActionId.END_EDIT,\n payload: { \n rowId: context.item?.id || '', \n columnId: context.name || ''\n }\n });\n }\n \n // IME確定後はEnter/Tabキーでセル移動を許可\n // SpreadSheetServiceに処理を委譲(イベントバブリングを利用)\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ class EditorComponentStore extends InjectableComponent {
|
|
|
63
63
|
const controlValue = derivedAsync(() => this.control() ? getRawValue$(this.control()) : null);
|
|
64
64
|
effect(() => {
|
|
65
65
|
if (this.control())
|
|
66
|
-
this.content.set(controlValue());
|
|
66
|
+
this.content.set(controlValue() ?? '');
|
|
67
67
|
});
|
|
68
68
|
this.contentChange.subscribe((content) => {
|
|
69
69
|
if (this.control())
|
|
@@ -95,7 +95,8 @@ class EditorComponentStore extends InjectableComponent {
|
|
|
95
95
|
effect(() => {
|
|
96
96
|
const state = this.state();
|
|
97
97
|
const editorView = this.editorView();
|
|
98
|
-
|
|
98
|
+
if (state)
|
|
99
|
+
editorView?.setState(state);
|
|
99
100
|
});
|
|
100
101
|
}
|
|
101
102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EditorComponentStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-extras-editor.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/extras/editor/editor.component.ts","../../../../../packages/@ng-atomic/components/src/lib/extras/editor/ng-atomic-components-extras-editor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, effect, ElementRef, OnInit, AfterViewInit, output, signal, Directive, linkedSignal } from '@angular/core';\nimport { keymap, ViewUpdate } from \"@codemirror/view\"\nimport { indentWithTab } from \"@codemirror/commands\"\nimport { syntaxHighlighting } from '@codemirror/language';\nimport { oneDarkHighlightStyle, oneDark } from '@codemirror/theme-one-dark';\nimport { EditorSelection, EditorState, Extension, Text } from '@codemirror/state';\nimport { basicSetup, EditorView } from \"codemirror\"\nimport { Action, applyToInput, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';\nimport { json } from \"@codemirror/lang-json\";\nimport { distinctUntilChanged, filter, map, ReplaySubject } from 'rxjs';\nimport { FormControl } from '@angular/forms';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { getRawValue$ } from '@ng-atomic/common/utils';\n\nfunction getSafeSelection(doc: string | Text, selection: EditorSelection): EditorSelection {\n const safeFrom = Math.max(0, Math.min(selection.main.from, doc.length));\n const safeTo = Math.max(0, Math.min(selection.main.to, doc.length));\n return EditorSelection.single(safeFrom, safeTo);\n}\n\n@Directive({ standalone: true })\nexport class EditorComponentStore extends InjectableComponent {\n readonly control = input<FormControl>(null);\n readonly _content = input<string>('', {alias: 'content'});\n readonly content = linkedSignal(() => this._content());\n readonly contentChange = output<string>();\n readonly keyActions = input<{key: string, actionId: string}[]>([]);\n readonly extensions = input<Extension[]>([\n json(),\n ]);\n // readonly update = signal<ViewUpdate>(null);\n // readonly update$ = toObservable(this.update);\n readonly update$ = new ReplaySubject<ViewUpdate>(0);\n readonly defaultExtensions = computed(() => [\n basicSetup,\n oneDark,\n syntaxHighlighting(oneDarkHighlightStyle),\n EditorView.updateListener.of((update) => this.update$.next(update)),\n keymap.of([\n ...(this.keyActions()).map(({key, actionId}) => ({\n key,\n run: () => {\n this.action.emit({id: actionId});\n return true;\n },\n })),\n indentWithTab,\n ]),\n ]);\n\n readonly state = computed(() => {\n const editorView = this.editorView();\n const defaultExtensions = this.defaultExtensions();\n const extensions = this.extensions();\n if (!editorView) return null;\n return EditorState.create({\n ...editorView?.state,\n extensions: [...defaultExtensions, ...extensions],\n })\n });\n\n readonly editorView = signal<EditorView>(null);\n readonly action = output<Action>();\n\n constructor() {\n super();\n const controlValue = derivedAsync(() => this.control() ? getRawValue$<string>(this.control()) : null);\n\n effect(() => {\n if (this.control()) this.content.set(controlValue());\n });\n\n this.contentChange.subscribe((content) => {\n if (this.control()) this.control().setValue(content);\n });\n\n this.update$.pipe(\n filter((update) => update?.docChanged),\n map((update) => (update.state.doc.toString())),\n distinctUntilChanged(),\n ).subscribe((content) => {\n this.contentChange.emit(content);\n });\n\n effect(() => {\n const editorView = this.editorView();\n const newContent = this.content() ?? '';\n if (!editorView) return;\n const currentContent = editorView.state.doc.toString();\n \n if (newContent === currentContent) return;\n \n const doc = editorView.state.doc;\n const safeSelection = getSafeSelection(newContent, editorView.state.selection);\n \n editorView.dispatch(\n editorView.state.update({\n changes: {\n from: 0,\n to: doc.length,\n insert: newContent,\n },\n selection: safeSelection,\n scrollIntoView: true,\n }),\n );\n });\n\n effect(() => {\n const state = this.state();\n const editorView = this.editorView();\n editorView?.setState(state);\n });\n }\n}\n\n@Component({\n selector: 'extras-editor',\n standalone: true,\n template: ``,\n styleUrls: ['./editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: EditorComponentStore,\n inputs: ['control', 'content', 'keyActions', 'extensions'],\n outputs: ['contentChange'],\n }\n ]\n})\nexport class EditorComponent extends NgAtomicComponent implements OnInit, AfterViewInit {\n protected readonly store = inject(EditorComponentStore);\n protected readonly el = inject(ElementRef);\n\n ngOnInit(): void {\n this.store.action.subscribe((action) => this.dispatch(action));\n }\n\n ngAfterViewInit() {\n this.store.editorView()?.destroy();\n this.store.editorView.set(new EditorView({\n state: EditorState.create({\n doc: ``,\n extensions: [\n ...this.store.defaultExtensions(),\n ...this.store.extensions(),\n ],\n }),\n parent: this.el.nativeElement,\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-extras-editor.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/extras/editor/editor.component.ts","../../../../../packages/@ng-atomic/components/src/lib/extras/editor/ng-atomic-components-extras-editor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, effect, ElementRef, OnInit, AfterViewInit, output, signal, Directive, linkedSignal } from '@angular/core';\nimport { keymap, ViewUpdate } from \"@codemirror/view\"\nimport { indentWithTab } from \"@codemirror/commands\"\nimport { syntaxHighlighting } from '@codemirror/language';\nimport { oneDarkHighlightStyle, oneDark } from '@codemirror/theme-one-dark';\nimport { EditorSelection, EditorState, Extension, Text } from '@codemirror/state';\nimport { basicSetup, EditorView } from \"codemirror\"\nimport { Action, applyToInput, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';\nimport { json } from \"@codemirror/lang-json\";\nimport { distinctUntilChanged, filter, map, ReplaySubject } from 'rxjs';\nimport { FormControl } from '@angular/forms';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { getRawValue$ } from '@ng-atomic/common/utils';\n\nfunction getSafeSelection(doc: string | Text, selection: EditorSelection): EditorSelection {\n const safeFrom = Math.max(0, Math.min(selection.main.from, doc.length));\n const safeTo = Math.max(0, Math.min(selection.main.to, doc.length));\n return EditorSelection.single(safeFrom, safeTo);\n}\n\n@Directive({ standalone: true })\nexport class EditorComponentStore extends InjectableComponent {\n readonly control = input<FormControl>(null as unknown as FormControl);\n readonly _content = input<string>('', {alias: 'content'});\n readonly content = linkedSignal(() => this._content());\n readonly contentChange = output<string>();\n readonly keyActions = input<{key: string, actionId: string}[]>([]);\n readonly extensions = input<Extension[]>([\n json(),\n ]);\n // readonly update = signal<ViewUpdate>(null);\n // readonly update$ = toObservable(this.update);\n readonly update$ = new ReplaySubject<ViewUpdate>(0);\n readonly defaultExtensions = computed(() => [\n basicSetup,\n oneDark,\n syntaxHighlighting(oneDarkHighlightStyle),\n EditorView.updateListener.of((update) => this.update$.next(update)),\n keymap.of([\n ...(this.keyActions()).map(({key, actionId}) => ({\n key,\n run: () => {\n this.action.emit({id: actionId});\n return true;\n },\n })),\n indentWithTab,\n ]),\n ]);\n\n readonly state = computed(() => {\n const editorView = this.editorView();\n const defaultExtensions = this.defaultExtensions();\n const extensions = this.extensions();\n if (!editorView) return null;\n return EditorState.create({\n ...editorView?.state,\n extensions: [...defaultExtensions, ...extensions],\n })\n });\n\n readonly editorView = signal<EditorView>(null as unknown as EditorView);\n readonly action = output<Action>();\n\n constructor() {\n super();\n const controlValue = derivedAsync(() => this.control() ? getRawValue$<string>(this.control()) : null);\n\n effect(() => {\n if (this.control()) this.content.set(controlValue() ?? '');\n });\n\n this.contentChange.subscribe((content) => {\n if (this.control()) this.control().setValue(content);\n });\n\n this.update$.pipe(\n filter((update) => update?.docChanged),\n map((update) => (update.state.doc.toString())),\n distinctUntilChanged(),\n ).subscribe((content) => {\n this.contentChange.emit(content);\n });\n\n effect(() => {\n const editorView = this.editorView();\n const newContent = this.content() ?? '';\n if (!editorView) return;\n const currentContent = editorView.state.doc.toString();\n \n if (newContent === currentContent) return;\n \n const doc = editorView.state.doc;\n const safeSelection = getSafeSelection(newContent, editorView.state.selection);\n \n editorView.dispatch(\n editorView.state.update({\n changes: {\n from: 0,\n to: doc.length,\n insert: newContent,\n },\n selection: safeSelection,\n scrollIntoView: true,\n }),\n );\n });\n\n effect(() => {\n const state = this.state();\n const editorView = this.editorView();\n if (state) editorView?.setState(state);\n });\n }\n}\n\n@Component({\n selector: 'extras-editor',\n standalone: true,\n template: ``,\n styleUrls: ['./editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: EditorComponentStore,\n inputs: ['control', 'content', 'keyActions', 'extensions'],\n outputs: ['contentChange'],\n }\n ]\n})\nexport class EditorComponent extends NgAtomicComponent implements OnInit, AfterViewInit {\n protected readonly store = inject(EditorComponentStore);\n protected readonly el = inject(ElementRef);\n\n ngOnInit(): void {\n this.store.action.subscribe((action) => this.dispatch(action));\n }\n\n ngAfterViewInit() {\n this.store.editorView()?.destroy();\n this.store.editorView.set(new EditorView({\n state: EditorState.create({\n doc: ``,\n extensions: [\n ...this.store.defaultExtensions(),\n ...this.store.extensions(),\n ],\n }),\n parent: this.el.nativeElement,\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,gBAAgB,CAAC,GAAkB,EAAE,SAA0B,EAAA;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnE,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjD;AAGM,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AA2C3D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AA3CA,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAc,IAA8B,mDAAC;QAC5D,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,qDAAG,KAAK,EAAE,SAAS,EAAA,CAAE;QAChD,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7C,IAAA,CAAA,aAAa,GAAG,MAAM,EAAU;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAoC,EAAE,sDAAC;QACzD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAc;AACvC,YAAA,IAAI,EAAE;AACP,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;;AAGO,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,CAAa,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM;YAC1C,UAAU;YACV,OAAO;YACP,kBAAkB,CAAC,qBAAqB,CAAC;AACzC,YAAA,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,CAAC,EAAE,CAAC;AACR,gBAAA,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,MAAM;oBAC/C,GAAG;oBACH,GAAG,EAAE,MAAK;wBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAC,CAAC;AAChC,wBAAA,OAAO,IAAI;oBACb,CAAC;AACF,iBAAA,CAAC,CAAC;gBACH,aAAa;aACd,CAAC;AACH,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEO,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AAC7B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAClD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,IAAI;YAC5B,OAAO,WAAW,CAAC,MAAM,CAAC;gBACxB,GAAG,UAAU,EAAE,KAAK;AACpB,gBAAA,UAAU,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,UAAU,CAAC;AAClD,aAAA,CAAC;AACJ,QAAA,CAAC,iDAAC;AAEO,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAa,IAA6B,sDAAC;QAC9D,IAAA,CAAA,MAAM,GAAG,MAAM,EAAU;QAIhC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,CAAS,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QAErG,MAAM,CAAC,MAAK;YACV,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;AAC5D,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;YACvC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtD,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,UAAU,CAAC,EACtC,GAAG,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC9C,oBAAoB,EAAE,CACvB,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AACvC,YAAA,IAAI,CAAC,UAAU;gBAAE;YACjB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YAEtD,IAAI,UAAU,KAAK,cAAc;gBAAE;AAEnC,YAAA,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG;AAChC,YAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YAE9E,UAAU,CAAC,QAAQ,CACjB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,CAAC;oBACP,EAAE,EAAE,GAAG,CAAC,MAAM;AACd,oBAAA,MAAM,EAAE,UAAU;AACnB,iBAAA;AACD,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,cAAc,EAAE,IAAI;AACrB,aAAA,CAAC,CACH;AACH,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,KAAK;AAAE,gBAAA,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;8GA5FW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAE,UAAU,EAAE,IAAI,EAAE;;AA8GzB,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAdtD,IAAA,WAAA,GAAA;;AAeqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACpC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAmB3C,IAAA;IAjBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChE;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;AACvC,YAAA,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;AACxB,gBAAA,GAAG,EAAE,CAAA,CAAE;AACP,gBAAA,UAAU,EAAE;AACV,oBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;AACjC,oBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;AAC3B,iBAAA;aACF,CAAC;AACF,YAAA,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa;AAC9B,SAAA,CAAC,CAAC;IACL;8GApBW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA7Gf,oBAAoB,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAkGrB,CAAA,CAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,uGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,QAAA,EACN,CAAA,CAAE,mBAEK,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;4BAC1D,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,uGAAA,CAAA,EAAA;;;AChIH;;AAEG;;;;"}
|
|
@@ -405,7 +405,7 @@ class AppFrame extends NgAtomicComponent {
|
|
|
405
405
|
</frames-fab>
|
|
406
406
|
</frames-progress-bar>
|
|
407
407
|
</frames-loading>
|
|
408
|
-
`, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-
|
|
408
|
+
`, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-DiRk: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-DiRk: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-DiRk: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-DiRk: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-DiRk: var(--background-color);--on-background-color-SCOPED-IN-frames-app-DiRk: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-DiRk: var(--menu-width);--page-width-lv1-SCOPED-IN-frames-app-DiRk: var(--page-width-lv1);--menu-background-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--menu-background-color-SCOPED-IN-frames-app-DiRk: var(--menu-background-color);--menu-on-background-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--menu-on-background-color-SCOPED-IN-frames-app-DiRk: var(--menu-on-background-color);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-DiRk: var(--menu-padding-top);--background-primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--background-primary-color-SCOPED-IN-frames-app-DiRk: var(--background-primary-color);--background-on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--background-on-primary-color-SCOPED-IN-frames-app-DiRk: var(--background-on-primary-color);--background-background-color: var(--background-color-SCOPED-IN-frames-app-DiRk);--background-background-color-SCOPED-IN-frames-app-DiRk: var(--background-background-color);--side-app-background-color-SCOPED-IN-frames-app-DiRk: var(--side-app-background-color);--loading-primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--loading-primary-color-SCOPED-IN-frames-app-DiRk: var(--loading-primary-color);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-DiRk: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-DiRk);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--surface-color: var(--surface-color-SCOPED-IN-frames-app-DiRk);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-DiRk);--background-color: var(--background-color-SCOPED-IN-frames-app-DiRk);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-DiRk);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-DiRk);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-DiRk)}:host frames-drawer{opacity:1;--background-color: var(--side-app-background-color-SCOPED-IN-frames-app-DiRk)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-DiRk)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-DiRk);opacity:.9}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-DiRk);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-DiRk);--background-color: var(--background-background-color-SCOPED-IN-frames-app-DiRk);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-DiRk);height:100%}:host.is-entrance frames-drawer{opacity:1}:host.is-entrance frames-drawer mat-drawer[style*=\"100%\"]+mat-drawer-content{margin-right:0!important}:host.is-entrance frames-side-nav{display:none}frames-drawer mat-drawer[style*=\"calc(100%\"]+mat-drawer-content{margin-right:0!important}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type: DrawerFrame, selector: "frames-drawer" }, { kind: "component", type: ProgressBarFrame, selector: "frames-progress-bar" }, { kind: "component", type: BreadcrumbNavbarFrame, selector: "frames-breadcrumb-navbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import('@ng-atomic/components/templates/background').then(m => m.BackgroundTemplateStore)]] }); }
|
|
409
409
|
}
|
|
410
410
|
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.1.6", ngImport: i0, type: AppFrame, resolveDeferredDeps: () => [import('@ng-atomic/components/templates/background').then(m => m.BackgroundTemplateStore)], resolveMetadata: BackgroundTemplateStore => ({ decorators: [{
|
|
411
411
|
type: Component,
|
|
@@ -483,7 +483,7 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.1.6", ng
|
|
|
483
483
|
PreventBrowserZoomDirective,
|
|
484
484
|
], host: {
|
|
485
485
|
'[class.is-entrance]': 'store.isEntrance()',
|
|
486
|
-
}, styles: [":host{--primary-color-SCOPED-IN-frames-app-
|
|
486
|
+
}, styles: [":host{--primary-color-SCOPED-IN-frames-app-DiRk: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-DiRk: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-DiRk: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-DiRk: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-DiRk: var(--background-color);--on-background-color-SCOPED-IN-frames-app-DiRk: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-DiRk: var(--menu-width);--page-width-lv1-SCOPED-IN-frames-app-DiRk: var(--page-width-lv1);--menu-background-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--menu-background-color-SCOPED-IN-frames-app-DiRk: var(--menu-background-color);--menu-on-background-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--menu-on-background-color-SCOPED-IN-frames-app-DiRk: var(--menu-on-background-color);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-DiRk: var(--menu-padding-top);--background-primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--background-primary-color-SCOPED-IN-frames-app-DiRk: var(--background-primary-color);--background-on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--background-on-primary-color-SCOPED-IN-frames-app-DiRk: var(--background-on-primary-color);--background-background-color: var(--background-color-SCOPED-IN-frames-app-DiRk);--background-background-color-SCOPED-IN-frames-app-DiRk: var(--background-background-color);--side-app-background-color-SCOPED-IN-frames-app-DiRk: var(--side-app-background-color);--loading-primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--loading-primary-color-SCOPED-IN-frames-app-DiRk: var(--loading-primary-color);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-DiRk: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-DiRk);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-DiRk);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-DiRk);--surface-color: var(--surface-color-SCOPED-IN-frames-app-DiRk);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-DiRk);--background-color: var(--background-color-SCOPED-IN-frames-app-DiRk);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-DiRk);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-DiRk);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-DiRk)}:host frames-drawer{opacity:1;--background-color: var(--side-app-background-color-SCOPED-IN-frames-app-DiRk)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-DiRk)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-DiRk);opacity:.9}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-DiRk);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-DiRk);--background-color: var(--background-background-color-SCOPED-IN-frames-app-DiRk);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-DiRk);height:100%}:host.is-entrance frames-drawer{opacity:1}:host.is-entrance frames-drawer mat-drawer[style*=\"100%\"]+mat-drawer-content{margin-right:0!important}:host.is-entrance frames-side-nav{display:none}frames-drawer mat-drawer[style*=\"calc(100%\"]+mat-drawer-content{margin-right:0!important}\n"] }]
|
|
487
487
|
}], ctorParameters: null, propDecorators: null }) });
|
|
488
488
|
|
|
489
489
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-frames-app.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/app/app.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/app/ng-atomic-components-frames-app.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, PLATFORM_ID, computed, effect, input } from '@angular/core';\nimport { Directive, inject } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, RouterOutlet } from '@angular/router';\nimport { LoadingFrame } from '@ng-atomic/components/frames/loading';\nimport { SideNavFrame, SideNavFrameStore } from '@ng-atomic/components/frames/side-nav';\nimport { EntranceFrame } from '@ng-atomic/components/frames/entrance';\nimport { Action, Actions, InjectableComponent, NgAtomicComponent, _computed, applyToInput, createAction, provideEffect } from '@ng-atomic/core';\nimport { AbstractControl, FormBuilder } from '@angular/forms';\nimport { makeDI, NavActionId, UIContext } from '@ng-atomic/common/services/ui';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';\nimport { DrawerFrame } from '@ng-atomic/components/frames/drawer';\nimport { FabFrame } from '@ng-atomic/components/frames/fab';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { SideAppService } from '@ng-atomic/common/services/side-app';\nimport { AuthService } from '@ng-atomic/common/services/auth';\nimport { RootPropertyService } from '@ng-atomic/common/services/root-property';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { PreventBrowserZoomDirective } from '@ng-atomic/common/directives/prevent-browser-zoom';\nimport { injectHasNext, injectPrimaryPaths } from '@ng-atomic/common/utils';\nimport { ProgressBarFrame } from \"@ng-atomic/components/frames/progress-bar\";\nimport { merge } from 'lodash-es';\nimport { BreadcrumbNavbarFrame } from '@ng-atomic/components/frames/breadcrumb-navbar';\n\nenum ActionId {\n SIGN_IN_WITH_GOOGLE = '[@ng-atomic/components:frames/app] Sign In With Google',\n SIGN_IN_WITH_TWITTER = '[@ng-atomic/components:frames/app] Sign In With Twitter',\n SIGN_IN_WITH_MICROSOFT = '[@ng-atomic/components:frames/app] Sign In With Microsoft',\n SIGN_IN_WITH_EMAIL = '[@ng-atomic/components:frames/app] Sign In With Email',\n SIGN_UP_WITH_EMAIL = '[@ng-atomic/components:frames/app] Sign Up With Email',\n BACK = '[@ng-atomic/components:frames/app] Back',\n NAVIGATE = '[@ng-atomic/components:frames/app] Navigate',\n SIGN_OUT = '[@ng-atomic/components:frames/app] Sign Out',\n NAVIGATE_SIDE_APP = '[@ng-atomic/components:frames/app] Navigate Side App',\n OPEN_SIDE_APP = '[@ng-atomic/components:frames/app] Open Side App',\n}\n\nexport function createNavigateAction(\n commands: any[],\n extras: NavigationExtras = {},\n meta: Partial<Action> = {},\n): Action {\n return merge({\n id: AppFrameStore.ActionId.NAVIGATE,\n name: 'Navigate',\n icon: 'open_in_new',\n payload: { commands, extras },\n }, meta);\n}\n\nexport const buildNavigationAction = createNavigateAction;\n\n@Directive({ standalone: true, selector: 'frames-app' })\nexport class AppFrameStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(AppFrameStore, () => {\n return (context) => ({\n fabActions: [],\n fabHide: true,\n isEntrance: true,\n isLoading: false,\n isProgress: false,\n sideAppOpened: false,\n title: 'title',\n form: inject(FormBuilder).group({}) as AbstractControl,\n entranceActions: [\n { id: ActionId.SIGN_IN_WITH_GOOGLE, name: 'Googleでサインイン', icon: '' },\n ] as Actions,\n sideNavActions: [\n { id: ActionId.SIGN_OUT, name: 'ログアウト', icon: 'exit_to_app' },\n ] as Actions,\n sideNavBottomActions: [],\n sideNavMode: 'collapsed' as 'expanded' | 'collapsed',\n sideNavMenuType: SideNavFrameStore.getMenuType(context),\n sideNavMenuTitle: undefined as string,\n sideNavIconButtonMenuTopPadding: '0px',\n sideAppOutletName: 'side',\n sideAppWidth: 'var(--page-width-lv1)' as string,\n sideAppResizable: true,\n breadcrumbItems: [],\n breadcrumbEndActions: [] as Actions,\n appBar: false,\n });\n }, ['components', 'frames', 'app']);\n static provideAppServiceConfig = () => AppFrameStore.DI.Config.provide(() => {\n const app = inject(AppService);\n const fabHide = computed(() => app.sideApp.opened());\n return (config) => ({\n ...config,\n isLoading: app.loading.isLoading(),\n isProgress: app.loading.isProgress(),\n sideNavMode: app.sideNavMode.sideNavMode(),\n sideAppOpened: app.sideApp.opened(),\n fabActions: app.fab.actions(),\n fabHide: fabHide(),\n });\n });\n static provideIconButtonMenuAsDefaultConfig() {\n return [\n RootPropertyService.Config.provide(() => {\n const getProps = (context: UIContext) => {\n switch (context.breakpoint) {\n case 'xSmall': return { '--menu-width': '220px' };\n case 'small':\n case 'medium':\n case 'large':\n case 'xLarge': return { '--menu-width': '64px' };\n }\n }\n return (config, context) => ({ ...config, ...getProps(context) });\n }),\n AppFrameStore.DI.Config.provide(() => {\n const getMenuType = (context: UIContext) => {\n switch (context.breakpoint) {\n case 'xSmall': return 'menu';\n default: return 'icon-button-menu';\n }\n };\n return (config, context) => ({\n ...config,\n sideNavMenuType: getMenuType(context),\n });\n })\n ];\n }\n static Initializer = makeInitializerConfig(AppFrameStore);\n static provideInitializer = AppFrameStore.Initializer.provide;\n static provideExpandSideAppOnInit() {\n return AppFrameStore.Initializer.provide(() => {\n inject(SideAppService).expand();\n });\n }\n static provideSideNavActionsInitializer(actionsFactory: () => Action[]) {\n return AppFrameStore.Initializer.provide((store) => {\n const paths = injectPrimaryPaths();\n function compare(paths: string[], payload?: string[]) {\n if (payload === undefined) return false;\n return payload.every((path, i) => paths?.[i] === path);\n }\n const actions = actionsFactory();\n\n effect(() => {\n applyToInput(store, 'sideNavActions', actions.map(action => ({\n ...action, disabled: compare(paths(), action?.payload),\n })));\n });\n });\n }\n static provideNavigateEffect() {\n return provideEffect(AppFrameStore.ActionId.NAVIGATE, () => {\n const app = inject(AppService);\n return (payload: string[] | { commands: string[], extras?: NavigationExtras }) => {\n console.debug('[AppFrameStore] payload:', payload);\n if (Array.isArray(payload)) {\n app.sideApp.collapse();\n app.router.navigate(payload).then(() => app.sideNav.collapse());\n } else {\n app.sideApp.collapse();\n const { commands, extras } = payload;\n console.debug('[AppFrameStore] payload:', payload);\n app.router.navigate(commands, extras ?? {}).then(() => app.sideNav.collapse());\n }\n };\n });\n }\n\n static provideNavigateSideAppEffect() {\n return provideEffect(AppFrameStore.ActionId.NAVIGATE_SIDE_APP, () => {\n const app = inject(AppService);\n return (payload: string[] | { commands: string[], extras?: NavigationExtras & { expanded?: boolean } }) => {\n if (Array.isArray(payload)) {\n app.sideApp.router.navigate(payload);\n } else {\n const { commands, extras } = payload;\n app.sideApp.router.navigate(commands, extras ?? {});\n }\n };\n });\n }\n\n static provideSignOutEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_OUT, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signOut().then(() => {\n app.sideNav.collapse();\n app.snackBar.open('サインアウトしました');\n });\n };\n });\n }\n static provideOpenSideAppEffect() {\n return provideEffect(AppFrameStore.ActionId.OPEN_SIDE_APP, () => {\n const app = inject(AppService);\n return () => {\n app.sideApp.expand();\n }\n });\n }\n static provideCloseSideAppEffect() {\n return provideEffect(NavActionId.CLOSE, () => {\n const app = inject(AppService);\n return () => {\n app.sideApp.collapse();\n };\n });\n }\n static provideSignUpWithEmailEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_UP_WITH_EMAIL, () => {\n const app = inject(AppService);\n const store = inject(AppFrameStore);\n const auth = inject(AuthService);\n return () => {\n const data = store.form().getRawValue() as { email: string, password: string };\n app.loading.await(() => {\n return auth.createUserWithEmailAndPassword(data.email, data.password).then(() => {\n app.snackBar.open('新規登録しました。');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n });\n };\n });\n }\n static provideSignInWithEmailEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_EMAIL, () => {\n const app = inject(AppService);\n const store = inject(AppFrameStore);\n const auth = inject(AuthService);\n return () => {\n const data = store.form().getRawValue() as { email: string, password: string };\n app.loading.await(() => {\n return auth.signInWithEmailAndPassword(data.email, data.password).then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n });\n };\n });\n }\n static provideSignInWithGoogleEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_GOOGLE, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signInWithGoogle().then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n const _message = error.message.match(/HTTP Cloud Function returned an error: (.*) \\(.*/);\n const message = _message ? JSON.parse(_message[1]).error.message : error.message;\n app.snackBar.open(message);\n });\n };\n });\n }\n static provideSignInWithTwitterEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_TWITTER, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signInWithTwitter().then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n };\n });\n }\n static provideDefaultEffects() {\n return [\n AppFrameStore.provideNavigateEffect(),\n AppFrameStore.provideSignOutEffect(),\n AppFrameStore.provideOpenSideAppEffect(),\n AppFrameStore.provideCloseSideAppEffect(),\n AppFrameStore.provideSignUpWithEmailEffect(),\n AppFrameStore.provideSignInWithEmailEffect(),\n AppFrameStore.provideSignInWithGoogleEffect(),\n AppFrameStore.provideSignInWithTwitterEffect(),\n AppFrameStore.provideNavigateSideAppEffect(),\n ];\n }\n\n static provideDefault() {\n return [\n AppFrameStore.provideAppServiceConfig(),\n AppFrameStore.provideIconButtonMenuAsDefaultConfig(),\n AppFrameStore.provideDefaultEffects(),\n ]\n }\n\n static injectNavActionFactory() {\n const hasNext = injectHasNext();\n const route = inject(ActivatedRoute);\n const navigateActionBuilder = createAction(AppFrameStore.ActionId.NAVIGATE, undefined, {\n icon: 'open_in_new',\n });\n return (commands: any[], name: string) => {\n return navigateActionBuilder.create({\n commands,\n extras: { relativeTo: route, replaceUrl: hasNext() }\n }, {\n name,\n });\n }\n }\n\n readonly config = AppFrameStore.DI.Config.inject();\n readonly isLoading = input(_computed(() => this.config().isLoading));\n readonly isProgress = input(_computed(() => this.config().isProgress));\n readonly isEntrance = input(_computed(() => this.config().isEntrance));\n readonly breadcrumbItems = input(_computed(() => this.config().breadcrumbItems));\n readonly breadcrumbEndActions = input(_computed(() => this.config().breadcrumbEndActions));\n readonly sideAppOpened = input(_computed(() => this.config().sideAppOpened));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly entranceActions = input(_computed(() => this.config().entranceActions));\n readonly sideNavActions = input(_computed(() => this.config().sideNavActions));\n readonly sideNavBottomActions = input(_computed(() => this.config().sideNavBottomActions));\n readonly sideNavMode = input(_computed(() => this.config().sideNavMode));\n readonly sideNavMenuType = input(_computed(() => this.config().sideNavMenuType));\n readonly sideNavMenuTitle = input(_computed(() => this.config().sideNavMenuTitle));\n readonly sideNavIconButtonMenuTopPadding = input(_computed(() => this.config().sideNavIconButtonMenuTopPadding));\n readonly sideAppOutletName = input(_computed(() => this.config().sideAppOutletName));\n readonly sideAppWidth = input(_computed(() => this.config().sideAppWidth));\n readonly sideAppResizable = input(_computed(() => this.config().sideAppResizable));\n readonly fabActions = input(_computed(() => this.config().fabActions));\n readonly fabHide = input(_computed(() => this.config().fabHide));\n readonly appBar = input(_computed(() => this.config().appBar));\n\n constructor() {\n super();\n AppFrameStore.Initializer.initializeStore(this);\n }\n}\n\n@Component({\n selector: 'frames-app',\n imports: [\n FabFrame,\n LoadingFrame,\n SideNavFrame,\n RouterOutlet,\n EntranceFrame,\n DrawerFrame,\n BackgroundTemplateStore,\n ProgressBarFrame,\n BreadcrumbNavbarFrame,\n ],\n template: `\n @if (isPlatformBrowser()) {\n @defer {\n <templates-background injectable/>\n }\n }\n <frames-loading [isLoading]=\"store.isLoading()\">\n <frames-progress-bar\n [isProgress]=\"store.isProgress()\"\n [mode]=\"'query'\"\n >\n <frames-fab\n [actions]=\"store.fabActions()\"\n [hide]=\"store.fabHide()\"\n (action)=\"dispatch($event)\"\n >\n <frames-entrance\n [isEntrance]=\"store.isEntrance()\"\n [form]=\"store.form()\"\n [title]=\"store.title()\"\n [actions]=\"store.entranceActions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-drawer\n [opened]=\"store.sideAppOpened()\"\n [position]=\"'end'\"\n [hasBackdrop]=\"false\"\n [mode]=\"'side'\"\n [width]=\"store.sideAppWidth()\"\n [resizable]=\"store.sideAppResizable()\"\n >\n <frames-breadcrumb-navbar\n [items]=\"store.breadcrumbItems()\"\n [endActions]=\"store.breadcrumbEndActions()\"\n [separator]=\"'/'\"\n [isHidden]=\"!store.appBar()\"\n (action)=\"dispatch($event)\"\n contents\n >\n <frames-side-nav\n [actions]=\"store.sideNavActions()\"\n [bottomActions]=\"store.sideNavBottomActions()\"\n [mode]=\"store.sideNavMode()\"\n [menuType]=\"store.sideNavMenuType()\"\n [menuTitle]=\"store.sideNavMenuTitle()\"\n [iconButtonMenuTopPadding]=\"store.sideNavIconButtonMenuTopPadding()\"\n (action)=\"dispatch($event)\" \n >\n <router-outlet contents/>\n </frames-side-nav>\n </frames-breadcrumb-navbar>\n <div drawer style=\"height: 100%;\">\n <router-outlet [name]=\"store.sideAppOutletName()\" />\n </div>\n </frames-drawer>\n </frames-entrance>\n </frames-fab>\n </frames-progress-bar>\n </frames-loading>\n `,\n styleUrl: './app.frame.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n AppFrameStore,\n PreventBrowserZoomDirective,\n ],\n host: {\n '[class.is-entrance]': 'store.isEntrance()',\n }\n})\nexport class AppFrame extends NgAtomicComponent {\n protected store = inject(AppFrameStore);\n readonly platformId = inject(PLATFORM_ID);\n\n protected isPlatformServer() {\n return isPlatformServer(this.platformId);\n }\n\n protected isPlatformBrowser() {\n return isPlatformBrowser(this.platformId);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-frames-app.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/app/app.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/app/ng-atomic-components-frames-app.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, PLATFORM_ID, computed, effect, input } from '@angular/core';\nimport { Directive, inject } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, RouterOutlet } from '@angular/router';\nimport { LoadingFrame } from '@ng-atomic/components/frames/loading';\nimport { SideNavFrame, SideNavFrameStore } from '@ng-atomic/components/frames/side-nav';\nimport { EntranceFrame } from '@ng-atomic/components/frames/entrance';\nimport { Action, Actions, InjectableComponent, NgAtomicComponent, _computed, applyToInput, createAction, provideEffect } from '@ng-atomic/core';\nimport { AbstractControl, FormBuilder } from '@angular/forms';\nimport { makeDI, NavActionId, UIContext } from '@ng-atomic/common/services/ui';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';\nimport { DrawerFrame } from '@ng-atomic/components/frames/drawer';\nimport { FabFrame } from '@ng-atomic/components/frames/fab';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { SideAppService } from '@ng-atomic/common/services/side-app';\nimport { AuthService } from '@ng-atomic/common/services/auth';\nimport { RootPropertyService } from '@ng-atomic/common/services/root-property';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { PreventBrowserZoomDirective } from '@ng-atomic/common/directives/prevent-browser-zoom';\nimport { injectHasNext, injectPrimaryPaths } from '@ng-atomic/common/utils';\nimport { ProgressBarFrame } from \"@ng-atomic/components/frames/progress-bar\";\nimport { merge } from 'lodash-es';\nimport { BreadcrumbNavbarFrame } from '@ng-atomic/components/frames/breadcrumb-navbar';\n\nenum ActionId {\n SIGN_IN_WITH_GOOGLE = '[@ng-atomic/components:frames/app] Sign In With Google',\n SIGN_IN_WITH_TWITTER = '[@ng-atomic/components:frames/app] Sign In With Twitter',\n SIGN_IN_WITH_MICROSOFT = '[@ng-atomic/components:frames/app] Sign In With Microsoft',\n SIGN_IN_WITH_EMAIL = '[@ng-atomic/components:frames/app] Sign In With Email',\n SIGN_UP_WITH_EMAIL = '[@ng-atomic/components:frames/app] Sign Up With Email',\n BACK = '[@ng-atomic/components:frames/app] Back',\n NAVIGATE = '[@ng-atomic/components:frames/app] Navigate',\n SIGN_OUT = '[@ng-atomic/components:frames/app] Sign Out',\n NAVIGATE_SIDE_APP = '[@ng-atomic/components:frames/app] Navigate Side App',\n OPEN_SIDE_APP = '[@ng-atomic/components:frames/app] Open Side App',\n}\n\nexport function createNavigateAction(\n commands: any[],\n extras: NavigationExtras = {},\n meta: Partial<Action> = {},\n): Action {\n return merge({\n id: AppFrameStore.ActionId.NAVIGATE,\n name: 'Navigate',\n icon: 'open_in_new',\n payload: { commands, extras },\n }, meta);\n}\n\nexport const buildNavigationAction = createNavigateAction;\n\n@Directive({ standalone: true, selector: 'frames-app' })\nexport class AppFrameStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(AppFrameStore, () => {\n return (context) => ({\n fabActions: [],\n fabHide: true,\n isEntrance: true,\n isLoading: false,\n isProgress: false,\n sideAppOpened: false,\n title: 'title',\n form: inject(FormBuilder).group({}) as AbstractControl,\n entranceActions: [\n { id: ActionId.SIGN_IN_WITH_GOOGLE, name: 'Googleでサインイン', icon: '' },\n ] as Actions,\n sideNavActions: [\n { id: ActionId.SIGN_OUT, name: 'ログアウト', icon: 'exit_to_app' },\n ] as Actions,\n sideNavBottomActions: [],\n sideNavMode: 'collapsed' as 'expanded' | 'collapsed',\n sideNavMenuType: SideNavFrameStore.getMenuType(context),\n sideNavMenuTitle: undefined as unknown as string,\n sideNavIconButtonMenuTopPadding: '0px',\n sideAppOutletName: 'side',\n sideAppWidth: 'var(--page-width-lv1)' as string,\n sideAppResizable: true,\n breadcrumbItems: [],\n breadcrumbEndActions: [] as Actions,\n appBar: false,\n });\n }, ['components', 'frames', 'app']);\n static provideAppServiceConfig = () => AppFrameStore.DI.Config.provide(() => {\n const app = inject(AppService);\n const fabHide = computed(() => app.sideApp.opened());\n return (config) => ({\n ...config,\n isLoading: app.loading.isLoading(),\n isProgress: app.loading.isProgress(),\n sideNavMode: app.sideNavMode.sideNavMode(),\n sideAppOpened: app.sideApp.opened(),\n fabActions: app.fab.actions(),\n fabHide: fabHide(),\n });\n });\n static provideIconButtonMenuAsDefaultConfig() {\n return [\n RootPropertyService.Config.provide(() => {\n const getProps = (context: UIContext) => {\n switch (context.breakpoint) {\n case 'xSmall': return { '--menu-width': '220px' };\n case 'small':\n case 'medium':\n case 'large':\n case 'xLarge': return { '--menu-width': '64px' };\n }\n }\n return (config, context) => ({ ...config, ...getProps(context) });\n }),\n AppFrameStore.DI.Config.provide(() => {\n const getMenuType = (context: UIContext) => {\n switch (context.breakpoint) {\n case 'xSmall': return 'menu';\n default: return 'icon-button-menu';\n }\n };\n return (config, context) => ({\n ...config,\n sideNavMenuType: getMenuType(context),\n });\n })\n ];\n }\n static Initializer = makeInitializerConfig(AppFrameStore);\n static provideInitializer = AppFrameStore.Initializer.provide;\n static provideExpandSideAppOnInit() {\n return AppFrameStore.Initializer.provide(() => {\n inject(SideAppService).expand();\n });\n }\n static provideSideNavActionsInitializer(actionsFactory: () => Action[]) {\n return AppFrameStore.Initializer.provide((store) => {\n const paths = injectPrimaryPaths();\n function compare(paths: string[], payload?: string[]) {\n if (payload === undefined) return false;\n return payload.every((path, i) => paths?.[i] === path);\n }\n const actions = actionsFactory();\n\n effect(() => {\n applyToInput(store, 'sideNavActions', actions.map(action => ({\n ...action, disabled: compare(paths() as string[], action?.payload),\n })));\n });\n });\n }\n static provideNavigateEffect() {\n return provideEffect(AppFrameStore.ActionId.NAVIGATE, () => {\n const app = inject(AppService);\n return (payload: string[] | { commands: string[], extras?: NavigationExtras }) => {\n console.debug('[AppFrameStore] payload:', payload);\n if (Array.isArray(payload)) {\n app.sideApp.collapse();\n app.router.navigate(payload).then(() => app.sideNav.collapse());\n } else {\n app.sideApp.collapse();\n const { commands, extras } = payload;\n console.debug('[AppFrameStore] payload:', payload);\n app.router.navigate(commands, extras ?? {}).then(() => app.sideNav.collapse());\n }\n };\n });\n }\n\n static provideNavigateSideAppEffect() {\n return provideEffect(AppFrameStore.ActionId.NAVIGATE_SIDE_APP, () => {\n const app = inject(AppService);\n return (payload: string[] | { commands: string[], extras?: NavigationExtras & { expanded?: boolean } }) => {\n if (Array.isArray(payload)) {\n app.sideApp.router.navigate(payload);\n } else {\n const { commands, extras } = payload;\n app.sideApp.router.navigate(commands, extras ?? {});\n }\n };\n });\n }\n\n static provideSignOutEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_OUT, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signOut().then(() => {\n app.sideNav.collapse();\n app.snackBar.open('サインアウトしました');\n });\n };\n });\n }\n static provideOpenSideAppEffect() {\n return provideEffect(AppFrameStore.ActionId.OPEN_SIDE_APP, () => {\n const app = inject(AppService);\n return () => {\n app.sideApp.expand();\n }\n });\n }\n static provideCloseSideAppEffect() {\n return provideEffect(NavActionId.CLOSE, () => {\n const app = inject(AppService);\n return () => {\n app.sideApp.collapse();\n };\n });\n }\n static provideSignUpWithEmailEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_UP_WITH_EMAIL, () => {\n const app = inject(AppService);\n const store = inject(AppFrameStore);\n const auth = inject(AuthService);\n return () => {\n const data = store.form().getRawValue() as { email: string, password: string };\n app.loading.await(() => {\n return auth.createUserWithEmailAndPassword(data.email, data.password).then(() => {\n app.snackBar.open('新規登録しました。');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n });\n };\n });\n }\n static provideSignInWithEmailEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_EMAIL, () => {\n const app = inject(AppService);\n const store = inject(AppFrameStore);\n const auth = inject(AuthService);\n return () => {\n const data = store.form().getRawValue() as { email: string, password: string };\n app.loading.await(() => {\n return auth.signInWithEmailAndPassword(data.email, data.password).then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n });\n };\n });\n }\n static provideSignInWithGoogleEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_GOOGLE, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signInWithGoogle().then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n const _message = error.message.match(/HTTP Cloud Function returned an error: (.*) \\(.*/);\n const message = _message ? JSON.parse(_message[1]).error.message : error.message;\n app.snackBar.open(message);\n });\n };\n });\n }\n static provideSignInWithTwitterEffect() {\n return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_TWITTER, () => {\n const app = inject(AppService);\n const auth = inject(AuthService);\n return () => {\n auth.signInWithTwitter().then(() => {\n app.snackBar.open('ログインしました');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(error.message);\n });\n };\n });\n }\n static provideDefaultEffects() {\n return [\n AppFrameStore.provideNavigateEffect(),\n AppFrameStore.provideSignOutEffect(),\n AppFrameStore.provideOpenSideAppEffect(),\n AppFrameStore.provideCloseSideAppEffect(),\n AppFrameStore.provideSignUpWithEmailEffect(),\n AppFrameStore.provideSignInWithEmailEffect(),\n AppFrameStore.provideSignInWithGoogleEffect(),\n AppFrameStore.provideSignInWithTwitterEffect(),\n AppFrameStore.provideNavigateSideAppEffect(),\n ];\n }\n\n static provideDefault() {\n return [\n AppFrameStore.provideAppServiceConfig(),\n AppFrameStore.provideIconButtonMenuAsDefaultConfig(),\n AppFrameStore.provideDefaultEffects(),\n ]\n }\n\n static injectNavActionFactory() {\n const hasNext = injectHasNext();\n const route = inject(ActivatedRoute);\n const navigateActionBuilder = createAction(AppFrameStore.ActionId.NAVIGATE, undefined as any, {\n icon: 'open_in_new',\n });\n return (commands: any[], name: string) => {\n return navigateActionBuilder.create({\n commands,\n extras: { relativeTo: route, replaceUrl: hasNext() }\n }, {\n name,\n });\n }\n }\n\n readonly config = AppFrameStore.DI.Config.inject();\n readonly isLoading = input(_computed(() => this.config().isLoading));\n readonly isProgress = input(_computed(() => this.config().isProgress));\n readonly isEntrance = input(_computed(() => this.config().isEntrance));\n readonly breadcrumbItems = input(_computed(() => this.config().breadcrumbItems));\n readonly breadcrumbEndActions = input(_computed(() => this.config().breadcrumbEndActions));\n readonly sideAppOpened = input(_computed(() => this.config().sideAppOpened));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly entranceActions = input(_computed(() => this.config().entranceActions));\n readonly sideNavActions = input(_computed(() => this.config().sideNavActions));\n readonly sideNavBottomActions = input(_computed(() => this.config().sideNavBottomActions));\n readonly sideNavMode = input(_computed(() => this.config().sideNavMode));\n readonly sideNavMenuType = input(_computed(() => this.config().sideNavMenuType));\n readonly sideNavMenuTitle = input(_computed(() => this.config().sideNavMenuTitle));\n readonly sideNavIconButtonMenuTopPadding = input(_computed(() => this.config().sideNavIconButtonMenuTopPadding));\n readonly sideAppOutletName = input(_computed(() => this.config().sideAppOutletName));\n readonly sideAppWidth = input(_computed(() => this.config().sideAppWidth));\n readonly sideAppResizable = input(_computed(() => this.config().sideAppResizable));\n readonly fabActions = input(_computed(() => this.config().fabActions));\n readonly fabHide = input(_computed(() => this.config().fabHide));\n readonly appBar = input(_computed(() => this.config().appBar));\n\n constructor() {\n super();\n AppFrameStore.Initializer.initializeStore(this);\n }\n}\n\n@Component({\n selector: 'frames-app',\n imports: [\n FabFrame,\n LoadingFrame,\n SideNavFrame,\n RouterOutlet,\n EntranceFrame,\n DrawerFrame,\n BackgroundTemplateStore,\n ProgressBarFrame,\n BreadcrumbNavbarFrame,\n ],\n template: `\n @if (isPlatformBrowser()) {\n @defer {\n <templates-background injectable/>\n }\n }\n <frames-loading [isLoading]=\"store.isLoading()\">\n <frames-progress-bar\n [isProgress]=\"store.isProgress()\"\n [mode]=\"'query'\"\n >\n <frames-fab\n [actions]=\"store.fabActions()\"\n [hide]=\"store.fabHide()\"\n (action)=\"dispatch($event)\"\n >\n <frames-entrance\n [isEntrance]=\"store.isEntrance()\"\n [form]=\"store.form()\"\n [title]=\"store.title()\"\n [actions]=\"store.entranceActions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-drawer\n [opened]=\"store.sideAppOpened()\"\n [position]=\"'end'\"\n [hasBackdrop]=\"false\"\n [mode]=\"'side'\"\n [width]=\"store.sideAppWidth()\"\n [resizable]=\"store.sideAppResizable()\"\n >\n <frames-breadcrumb-navbar\n [items]=\"store.breadcrumbItems()\"\n [endActions]=\"store.breadcrumbEndActions()\"\n [separator]=\"'/'\"\n [isHidden]=\"!store.appBar()\"\n (action)=\"dispatch($event)\"\n contents\n >\n <frames-side-nav\n [actions]=\"store.sideNavActions()\"\n [bottomActions]=\"store.sideNavBottomActions()\"\n [mode]=\"store.sideNavMode()\"\n [menuType]=\"store.sideNavMenuType()\"\n [menuTitle]=\"store.sideNavMenuTitle()\"\n [iconButtonMenuTopPadding]=\"store.sideNavIconButtonMenuTopPadding()\"\n (action)=\"dispatch($event)\" \n >\n <router-outlet contents/>\n </frames-side-nav>\n </frames-breadcrumb-navbar>\n <div drawer style=\"height: 100%;\">\n <router-outlet [name]=\"store.sideAppOutletName()\" />\n </div>\n </frames-drawer>\n </frames-entrance>\n </frames-fab>\n </frames-progress-bar>\n </frames-loading>\n `,\n styleUrl: './app.frame.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n AppFrameStore,\n PreventBrowserZoomDirective,\n ],\n host: {\n '[class.is-entrance]': 'store.isEntrance()',\n }\n})\nexport class AppFrame extends NgAtomicComponent {\n protected store = inject(AppFrameStore);\n readonly platformId = inject(PLATFORM_ID);\n\n protected isPlatformServer() {\n return isPlatformServer(this.platformId);\n }\n\n protected isPlatformBrowser() {\n return isPlatformBrowser(this.platformId);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ class AutoLayoutFrame {
|
|
|
19
19
|
this.store = inject(AutoLayoutFrameStore);
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AutoLayoutFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", host: { properties: { "attr.type": "store.type()" } }, hostDirectives: [{ directive: AutoLayoutFrameStore, inputs: ["type", "type"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", host: { properties: { "attr.type": "store.type()" } }, hostDirectives: [{ directive: AutoLayoutFrameStore, inputs: ["type", "type"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-R9J4: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-R9J4: var(--vertical-padding);--horizontal-padding: 0;--horizontal-padding-SCOPED-IN-auto-layout-R9J4: var(--horizontal-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;align-items:center;gap:var(--gap-SCOPED-IN-auto-layout-R9J4);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-R9J4) var(--horizontal-padding-SCOPED-IN-auto-layout-R9J4)}:host[type=horizontal]{flex-direction:row}:host[type=vertical]{flex-direction:column}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AutoLayoutFrame, decorators: [{
|
|
25
25
|
type: Component,
|
|
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
32
32
|
},
|
|
33
33
|
], host: {
|
|
34
34
|
'[attr.type]': 'store.type()'
|
|
35
|
-
}, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-
|
|
35
|
+
}, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-R9J4: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-R9J4: var(--vertical-padding);--horizontal-padding: 0;--horizontal-padding-SCOPED-IN-auto-layout-R9J4: var(--horizontal-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;align-items:center;gap:var(--gap-SCOPED-IN-auto-layout-R9J4);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-R9J4) var(--horizontal-padding-SCOPED-IN-auto-layout-R9J4)}:host[type=horizontal]{flex-direction:row}:host[type=vertical]{flex-direction:column}\n"] }]
|
|
36
36
|
}] });
|
|
37
37
|
|
|
38
38
|
/**
|