@ssgoi/angular 2.5.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -11
- package/eslint.config.mjs +75 -0
- package/ng-package.json +10 -0
- package/package.json +32 -13
- package/presets/ng-package.json +6 -0
- package/src/lib/context.ts +22 -0
- package/src/lib/index.ts +10 -0
- package/src/lib/presets/index.ts +1 -0
- package/src/lib/ssgoi-transition.directive.ts +59 -0
- package/src/lib/ssgoi.directive.ts +37 -0
- package/src/lib/transition-scope.directive.ts +54 -0
- package/src/lib/transition.directive.ts +54 -0
- package/src/lib/transitions/index.ts +1 -0
- package/src/lib/types.ts +1 -0
- package/src/lib/view-transitions/index.ts +1 -0
- package/src/public-api.ts +6 -0
- package/transitions/ng-package.json +6 -0
- package/tsconfig.lib.json +26 -0
- package/view-transitions/ng-package.json +6 -0
- package/fesm2022/ssgoi-angular-presets.mjs +0 -6
- package/fesm2022/ssgoi-angular-presets.mjs.map +0 -1
- package/fesm2022/ssgoi-angular-transitions.mjs +0 -6
- package/fesm2022/ssgoi-angular-transitions.mjs.map +0 -1
- package/fesm2022/ssgoi-angular-view-transitions.mjs +0 -6
- package/fesm2022/ssgoi-angular-view-transitions.mjs.map +0 -1
- package/fesm2022/ssgoi-angular.mjs +0 -139
- package/fesm2022/ssgoi-angular.mjs.map +0 -1
- package/index.d.ts +0 -44
- package/presets/index.d.ts +0 -1
- package/transitions/index.d.ts +0 -1
- package/view-transitions/index.d.ts +0 -1
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ The value you pass to `[ssgoiTransition]` should uniquely identify the view (com
|
|
|
77
77
|
```typescript
|
|
78
78
|
import { Component } from "@angular/core";
|
|
79
79
|
import { TransitionDirective } from "@ssgoi/angular";
|
|
80
|
-
import {
|
|
80
|
+
import { fade } from "@ssgoi/angular/transitions";
|
|
81
81
|
|
|
82
82
|
@Component({
|
|
83
83
|
selector: "app-call-to-action",
|
|
@@ -87,8 +87,8 @@ import { fadeIn, fadeOut } from "@ssgoi/angular/transitions";
|
|
|
87
87
|
<button
|
|
88
88
|
[transition]="{
|
|
89
89
|
key: 'cta',
|
|
90
|
-
in:
|
|
91
|
-
out:
|
|
90
|
+
in: fade({ duration: 220 }),
|
|
91
|
+
out: fade({ duration: 180 })
|
|
92
92
|
}"
|
|
93
93
|
>
|
|
94
94
|
Get Started
|
|
@@ -128,14 +128,9 @@ Element-level factories:
|
|
|
128
128
|
|
|
129
129
|
```typescript
|
|
130
130
|
import {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
slideDown,
|
|
135
|
-
slideLeft,
|
|
136
|
-
slideRight,
|
|
137
|
-
scaleIn,
|
|
138
|
-
scaleOut,
|
|
131
|
+
fade,
|
|
132
|
+
slide,
|
|
133
|
+
scale,
|
|
139
134
|
bounce,
|
|
140
135
|
blur,
|
|
141
136
|
rotate,
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import tseslint from "@typescript-eslint/eslint-plugin";
|
|
2
|
+
import tsparser from "@typescript-eslint/parser";
|
|
3
|
+
import angular from "@angular-eslint/eslint-plugin";
|
|
4
|
+
import angularTemplate from "@angular-eslint/eslint-plugin-template";
|
|
5
|
+
import angularTemplateParser from "@angular-eslint/template-parser";
|
|
6
|
+
|
|
7
|
+
export default [
|
|
8
|
+
{
|
|
9
|
+
ignores: ["dist/**", "node_modules/**", "*.js", "*.mjs"],
|
|
10
|
+
},
|
|
11
|
+
// TypeScript files
|
|
12
|
+
{
|
|
13
|
+
files: ["**/*.ts"],
|
|
14
|
+
languageOptions: {
|
|
15
|
+
parser: tsparser,
|
|
16
|
+
parserOptions: {
|
|
17
|
+
project: ["./tsconfig.lib.json"],
|
|
18
|
+
tsconfigRootDir: import.meta.dirname,
|
|
19
|
+
ecmaVersion: 2022,
|
|
20
|
+
sourceType: "module",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
plugins: {
|
|
24
|
+
"@typescript-eslint": tseslint,
|
|
25
|
+
"@angular-eslint": angular,
|
|
26
|
+
},
|
|
27
|
+
rules: {
|
|
28
|
+
// TypeScript recommended rules
|
|
29
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
30
|
+
"@typescript-eslint/no-unused-vars": [
|
|
31
|
+
"error",
|
|
32
|
+
{ argsIgnorePattern: "^_" },
|
|
33
|
+
],
|
|
34
|
+
"@typescript-eslint/explicit-function-return-type": "off",
|
|
35
|
+
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
36
|
+
|
|
37
|
+
// Angular recommended rules
|
|
38
|
+
"@angular-eslint/directive-selector": [
|
|
39
|
+
"error",
|
|
40
|
+
{
|
|
41
|
+
type: "attribute",
|
|
42
|
+
prefix: ["ssgoi", "transition"],
|
|
43
|
+
style: "camelCase",
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
"@angular-eslint/component-selector": [
|
|
47
|
+
"error",
|
|
48
|
+
{
|
|
49
|
+
type: "element",
|
|
50
|
+
prefix: "ssgoi",
|
|
51
|
+
style: "kebab-case",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
"@angular-eslint/no-input-rename": "error",
|
|
55
|
+
"@angular-eslint/no-output-rename": "error",
|
|
56
|
+
"@angular-eslint/use-lifecycle-interface": "error",
|
|
57
|
+
"@angular-eslint/use-pipe-transform-interface": "error",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
// HTML template files
|
|
61
|
+
{
|
|
62
|
+
files: ["**/*.html"],
|
|
63
|
+
languageOptions: {
|
|
64
|
+
parser: angularTemplateParser,
|
|
65
|
+
},
|
|
66
|
+
plugins: {
|
|
67
|
+
"@angular-eslint/template": angularTemplate,
|
|
68
|
+
},
|
|
69
|
+
rules: {
|
|
70
|
+
"@angular-eslint/template/no-negated-async": "error",
|
|
71
|
+
"@angular-eslint/template/eqeqeq": "error",
|
|
72
|
+
"@angular-eslint/template/no-any": "warn",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
];
|
package/ng-package.json
ADDED
package/package.json
CHANGED
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssgoi/angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "Angular bindings for SSGOI - Native app-like page transitions for Angular applications",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@ssgoi/core": "^
|
|
10
|
-
"tslib": "^2.3.0"
|
|
9
|
+
"@ssgoi/core": "^5.0.0"
|
|
11
10
|
},
|
|
12
11
|
"peerDependencies": {
|
|
13
12
|
"@angular/common": "^20.0.0",
|
|
14
13
|
"@angular/core": "^20.0.0"
|
|
15
14
|
},
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@angular-eslint/builder": "^20.3.0",
|
|
17
|
+
"@angular-eslint/eslint-plugin": "^20.3.0",
|
|
18
|
+
"@angular-eslint/eslint-plugin-template": "^20.3.0",
|
|
19
|
+
"@angular-eslint/schematics": "^20.3.0",
|
|
20
|
+
"@angular-eslint/template-parser": "^20.3.0",
|
|
21
|
+
"@angular/common": "^20.3.4",
|
|
22
|
+
"@angular/compiler": "^20.3.4",
|
|
23
|
+
"@angular/compiler-cli": "^20.3.4",
|
|
24
|
+
"@angular/core": "^20.3.4",
|
|
25
|
+
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
26
|
+
"@typescript-eslint/parser": "^8.46.0",
|
|
27
|
+
"eslint": "^9.37.0",
|
|
28
|
+
"ng-packagr": "^20.3.0",
|
|
29
|
+
"typescript": "~5.8.3"
|
|
30
|
+
},
|
|
16
31
|
"keywords": [
|
|
17
32
|
"angular",
|
|
18
33
|
"page-transition",
|
|
@@ -43,23 +58,27 @@
|
|
|
43
58
|
"default": "./package.json"
|
|
44
59
|
},
|
|
45
60
|
".": {
|
|
46
|
-
"types": "./index.d.ts",
|
|
47
|
-
"default": "./fesm2022/ssgoi-angular.mjs"
|
|
61
|
+
"types": "./dist/index.d.ts",
|
|
62
|
+
"default": "./dist/fesm2022/ssgoi-angular.mjs"
|
|
48
63
|
},
|
|
49
64
|
"./presets": {
|
|
50
|
-
"types": "./presets/index.d.ts",
|
|
51
|
-
"default": "./fesm2022/ssgoi-angular-presets.mjs"
|
|
65
|
+
"types": "./dist/presets/index.d.ts",
|
|
66
|
+
"default": "./dist/fesm2022/ssgoi-angular-presets.mjs"
|
|
52
67
|
},
|
|
53
68
|
"./transitions": {
|
|
54
|
-
"types": "./transitions/index.d.ts",
|
|
55
|
-
"default": "./fesm2022/ssgoi-angular-transitions.mjs"
|
|
69
|
+
"types": "./dist/transitions/index.d.ts",
|
|
70
|
+
"default": "./dist/fesm2022/ssgoi-angular-transitions.mjs"
|
|
56
71
|
},
|
|
57
72
|
"./view-transitions": {
|
|
58
|
-
"types": "./view-transitions/index.d.ts",
|
|
59
|
-
"default": "./fesm2022/ssgoi-angular-view-transitions.mjs"
|
|
73
|
+
"types": "./dist/view-transitions/index.d.ts",
|
|
74
|
+
"default": "./dist/fesm2022/ssgoi-angular-view-transitions.mjs"
|
|
60
75
|
}
|
|
61
76
|
},
|
|
62
77
|
"sideEffects": false,
|
|
63
|
-
"
|
|
64
|
-
|
|
78
|
+
"scripts": {
|
|
79
|
+
"build": "ng-packagr -p ng-package.json",
|
|
80
|
+
"watch": "ng-packagr -p ng-package.json --watch",
|
|
81
|
+
"lint": "eslint .",
|
|
82
|
+
"lint:fix": "eslint . --fix"
|
|
83
|
+
}
|
|
65
84
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InjectionToken, inject } from "@angular/core";
|
|
2
|
+
import type { SsgoiContext } from "@ssgoi/core";
|
|
3
|
+
|
|
4
|
+
export const SSGOI_CONTEXT = new InjectionToken<SsgoiContext | undefined>(
|
|
5
|
+
"ssgoi-context",
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
export function injectSsgoi(): SsgoiContext {
|
|
9
|
+
const context = inject(SSGOI_CONTEXT, { optional: true });
|
|
10
|
+
|
|
11
|
+
if (!context) {
|
|
12
|
+
// During SSR or when not wrapped in <ssgoi>, return a no-op context
|
|
13
|
+
// This prevents errors during server-side rendering
|
|
14
|
+
return () => ({
|
|
15
|
+
key: "",
|
|
16
|
+
in: async () => ({}),
|
|
17
|
+
out: async () => ({}),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return context;
|
|
22
|
+
}
|
package/src/lib/index.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Ssgoi } from "./ssgoi.directive";
|
|
2
|
+
export { SsgoiTransition } from "./ssgoi-transition.directive";
|
|
3
|
+
export {
|
|
4
|
+
TransitionDirective,
|
|
5
|
+
TransitionDirectiveConfig,
|
|
6
|
+
} from "./transition.directive";
|
|
7
|
+
export { TransitionScopeDirective } from "./transition-scope.directive";
|
|
8
|
+
export { injectSsgoi, SSGOI_CONTEXT } from "./context";
|
|
9
|
+
export { transition } from "@ssgoi/core";
|
|
10
|
+
export * from "./types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@ssgoi/core/presets";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
input,
|
|
4
|
+
OnInit,
|
|
5
|
+
OnDestroy,
|
|
6
|
+
AfterViewInit,
|
|
7
|
+
ElementRef,
|
|
8
|
+
inject,
|
|
9
|
+
PLATFORM_ID,
|
|
10
|
+
} from "@angular/core";
|
|
11
|
+
import { isPlatformBrowser } from "@angular/common";
|
|
12
|
+
import { transition } from "@ssgoi/core";
|
|
13
|
+
import { injectSsgoi } from "./context";
|
|
14
|
+
|
|
15
|
+
@Directive({
|
|
16
|
+
selector: "[ssgoiTransition]",
|
|
17
|
+
standalone: true,
|
|
18
|
+
})
|
|
19
|
+
export class SsgoiTransition implements OnInit, OnDestroy, AfterViewInit {
|
|
20
|
+
// The directive attribute value becomes the transition ID
|
|
21
|
+
readonly ssgoiTransition = input.required<string>();
|
|
22
|
+
|
|
23
|
+
private readonly getTransition = injectSsgoi();
|
|
24
|
+
private readonly el = inject(ElementRef<HTMLElement>);
|
|
25
|
+
private readonly platformId = inject(PLATFORM_ID);
|
|
26
|
+
private cleanup?: () => void;
|
|
27
|
+
|
|
28
|
+
ngOnInit(): void {
|
|
29
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Set data attribute on host element
|
|
34
|
+
this.el.nativeElement.setAttribute(
|
|
35
|
+
"data-ssgoi-transition",
|
|
36
|
+
this.ssgoiTransition(),
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
ngAfterViewInit(): void {
|
|
41
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Use the host element itself as the transition target
|
|
46
|
+
const targetElement = this.el.nativeElement;
|
|
47
|
+
|
|
48
|
+
const transitionConfig = this.getTransition(this.ssgoiTransition());
|
|
49
|
+
const cleanupResult = transition(transitionConfig)(targetElement);
|
|
50
|
+
|
|
51
|
+
if (cleanupResult) {
|
|
52
|
+
this.cleanup = cleanupResult;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
ngOnDestroy(): void {
|
|
57
|
+
this.cleanup?.();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
input,
|
|
4
|
+
forwardRef,
|
|
5
|
+
PLATFORM_ID,
|
|
6
|
+
inject,
|
|
7
|
+
} from "@angular/core";
|
|
8
|
+
import { isPlatformBrowser } from "@angular/common";
|
|
9
|
+
import { createSggoiTransitionContext } from "@ssgoi/core";
|
|
10
|
+
import type { SsgoiConfig, SsgoiContext } from "@ssgoi/core";
|
|
11
|
+
import { SSGOI_CONTEXT } from "./context";
|
|
12
|
+
|
|
13
|
+
function createSsgoiContext(component: Ssgoi): SsgoiContext | undefined {
|
|
14
|
+
const platformId = inject(PLATFORM_ID);
|
|
15
|
+
|
|
16
|
+
// Only create context in browser environment
|
|
17
|
+
if (!isPlatformBrowser(platformId)) {
|
|
18
|
+
// Return a no-op context for SSR
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return createSggoiTransitionContext(component.config());
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Directive({
|
|
25
|
+
selector: "[ssgoi]",
|
|
26
|
+
standalone: true,
|
|
27
|
+
providers: [
|
|
28
|
+
{
|
|
29
|
+
provide: SSGOI_CONTEXT,
|
|
30
|
+
useFactory: createSsgoiContext,
|
|
31
|
+
deps: [forwardRef(() => Ssgoi)],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
})
|
|
35
|
+
export class Ssgoi {
|
|
36
|
+
readonly config = input<SsgoiConfig>({});
|
|
37
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
OnInit,
|
|
5
|
+
OnDestroy,
|
|
6
|
+
inject,
|
|
7
|
+
PLATFORM_ID,
|
|
8
|
+
} from "@angular/core";
|
|
9
|
+
import { isPlatformBrowser } from "@angular/common";
|
|
10
|
+
import { createTransitionScope } from "@ssgoi/core";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* TransitionScope creates a boundary for local-scoped transitions.
|
|
14
|
+
*
|
|
15
|
+
* Child elements with `scope: 'local'` will:
|
|
16
|
+
* - Skip IN animation when mounted simultaneously with the scope
|
|
17
|
+
* - Skip OUT animation when unmounted simultaneously with the scope
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```html
|
|
21
|
+
* <div transitionScope>
|
|
22
|
+
* <div [transition]="{ scope: 'local', in: ..., out: ... }">
|
|
23
|
+
* Content
|
|
24
|
+
* </div>
|
|
25
|
+
* </div>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
@Directive({
|
|
29
|
+
selector: "[transitionScope]",
|
|
30
|
+
host: {
|
|
31
|
+
style: "display: contents",
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
export class TransitionScopeDirective implements OnInit, OnDestroy {
|
|
35
|
+
private readonly el = inject(ElementRef<HTMLElement>);
|
|
36
|
+
private readonly platformId = inject(PLATFORM_ID);
|
|
37
|
+
private cleanup?: () => void;
|
|
38
|
+
|
|
39
|
+
ngOnInit(): void {
|
|
40
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const cleanupResult = createTransitionScope()(this.el.nativeElement);
|
|
45
|
+
|
|
46
|
+
if (cleanupResult) {
|
|
47
|
+
this.cleanup = cleanupResult;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
ngOnDestroy(): void {
|
|
52
|
+
this.cleanup?.();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
input,
|
|
5
|
+
OnInit,
|
|
6
|
+
OnDestroy,
|
|
7
|
+
inject,
|
|
8
|
+
PLATFORM_ID,
|
|
9
|
+
} from "@angular/core";
|
|
10
|
+
import { isPlatformBrowser } from "@angular/common";
|
|
11
|
+
import { transition as coreTransition } from "@ssgoi/core";
|
|
12
|
+
import type {
|
|
13
|
+
Transition as CoreTransitionConfig,
|
|
14
|
+
TransitionKey as CoreTransitionKey,
|
|
15
|
+
TransitionScope as CoreTransitionScope,
|
|
16
|
+
} from "@ssgoi/core";
|
|
17
|
+
|
|
18
|
+
export type TransitionDirectiveConfig = CoreTransitionConfig & {
|
|
19
|
+
key?: CoreTransitionKey;
|
|
20
|
+
scope?: CoreTransitionScope;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
@Directive({
|
|
24
|
+
selector: "[transition]",
|
|
25
|
+
})
|
|
26
|
+
export class TransitionDirective implements OnInit, OnDestroy {
|
|
27
|
+
transition = input.required<TransitionDirectiveConfig>();
|
|
28
|
+
|
|
29
|
+
private readonly el = inject(ElementRef<HTMLElement>);
|
|
30
|
+
private readonly platformId = inject(PLATFORM_ID);
|
|
31
|
+
private cleanup?: () => void;
|
|
32
|
+
|
|
33
|
+
ngOnInit(): void {
|
|
34
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const config = this.transition();
|
|
39
|
+
const cleanupResult = coreTransition({
|
|
40
|
+
key: config.key,
|
|
41
|
+
in: config.in,
|
|
42
|
+
out: config.out,
|
|
43
|
+
scope: config.scope,
|
|
44
|
+
})(this.el.nativeElement);
|
|
45
|
+
|
|
46
|
+
if (cleanupResult) {
|
|
47
|
+
this.cleanup = cleanupResult;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
ngOnDestroy(): void {
|
|
52
|
+
this.cleanup?.();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@ssgoi/core/transitions";
|
package/src/lib/types.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from "@ssgoi/core";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@ssgoi/core/view-transitions";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"lib": ["ES2022", "DOM"],
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"emitDecoratorMetadata": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"strict": true,
|
|
11
|
+
"esModuleInterop": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"outDir": "./dist",
|
|
14
|
+
"declaration": true,
|
|
15
|
+
"declarationMap": true,
|
|
16
|
+
"inlineSources": true,
|
|
17
|
+
"types": []
|
|
18
|
+
},
|
|
19
|
+
"exclude": ["src/test.ts", "**/*.spec.ts", "**/*.test.ts"],
|
|
20
|
+
"angularCompilerOptions": {
|
|
21
|
+
"skipTemplateCodegen": true,
|
|
22
|
+
"strictMetadataEmit": true,
|
|
23
|
+
"enableResourceInlining": true,
|
|
24
|
+
"compilationMode": "partial"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssgoi-angular-presets.mjs","sources":["../../src/lib/presets/ssgoi-angular-presets.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssgoi-angular-transitions.mjs","sources":["../../src/lib/transitions/ssgoi-angular-transitions.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssgoi-angular-view-transitions.mjs","sources":["../../src/lib/view-transitions/ssgoi-angular-view-transitions.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, PLATFORM_ID, input, forwardRef, Directive, ElementRef } from '@angular/core';
|
|
3
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
4
|
-
import { createSggoiTransitionContext, transition } from '@ssgoi/core';
|
|
5
|
-
export { transition } from '@ssgoi/core';
|
|
6
|
-
|
|
7
|
-
const SSGOI_CONTEXT = new InjectionToken("ssgoi-context");
|
|
8
|
-
function injectSsgoi() {
|
|
9
|
-
const context = inject(SSGOI_CONTEXT, { optional: true });
|
|
10
|
-
if (!context) {
|
|
11
|
-
// During SSR or when not wrapped in <ssgoi>, return a no-op context
|
|
12
|
-
// This prevents errors during server-side rendering
|
|
13
|
-
return () => ({
|
|
14
|
-
key: "",
|
|
15
|
-
in: async () => ({}),
|
|
16
|
-
out: async () => ({}),
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
return context;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function createSsgoiContext(component) {
|
|
23
|
-
const platformId = inject(PLATFORM_ID);
|
|
24
|
-
// Only create context in browser environment
|
|
25
|
-
if (!isPlatformBrowser(platformId)) {
|
|
26
|
-
// Return a no-op context for SSR
|
|
27
|
-
return undefined;
|
|
28
|
-
}
|
|
29
|
-
return createSggoiTransitionContext(component.config());
|
|
30
|
-
}
|
|
31
|
-
class Ssgoi {
|
|
32
|
-
config = input({}, ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Ssgoi, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: Ssgoi, isStandalone: true, selector: "[ssgoi]", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
35
|
-
{
|
|
36
|
-
provide: SSGOI_CONTEXT,
|
|
37
|
-
useFactory: createSsgoiContext,
|
|
38
|
-
deps: [forwardRef(() => Ssgoi)],
|
|
39
|
-
},
|
|
40
|
-
], ngImport: i0 });
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Ssgoi, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: "[ssgoi]",
|
|
46
|
-
standalone: true,
|
|
47
|
-
providers: [
|
|
48
|
-
{
|
|
49
|
-
provide: SSGOI_CONTEXT,
|
|
50
|
-
useFactory: createSsgoiContext,
|
|
51
|
-
deps: [forwardRef(() => Ssgoi)],
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
}]
|
|
55
|
-
}], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }] } });
|
|
56
|
-
|
|
57
|
-
class SsgoiTransition {
|
|
58
|
-
// The directive attribute value becomes the transition ID
|
|
59
|
-
ssgoiTransition = input.required(...(ngDevMode ? [{ debugName: "ssgoiTransition" }] : []));
|
|
60
|
-
getTransition = injectSsgoi();
|
|
61
|
-
el = inject((ElementRef));
|
|
62
|
-
platformId = inject(PLATFORM_ID);
|
|
63
|
-
cleanup;
|
|
64
|
-
ngOnInit() {
|
|
65
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
// Set data attribute on host element
|
|
69
|
-
this.el.nativeElement.setAttribute("data-ssgoi-transition", this.ssgoiTransition());
|
|
70
|
-
}
|
|
71
|
-
ngAfterViewInit() {
|
|
72
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
// Use the host element itself as the transition target
|
|
76
|
-
const targetElement = this.el.nativeElement;
|
|
77
|
-
const transitionConfig = this.getTransition(this.ssgoiTransition());
|
|
78
|
-
const cleanupResult = transition(transitionConfig)(targetElement);
|
|
79
|
-
if (cleanupResult) {
|
|
80
|
-
this.cleanup = cleanupResult;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
ngOnDestroy() {
|
|
84
|
-
this.cleanup?.();
|
|
85
|
-
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SsgoiTransition, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
87
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: SsgoiTransition, isStandalone: true, selector: "[ssgoiTransition]", inputs: { ssgoiTransition: { classPropertyName: "ssgoiTransition", publicName: "ssgoiTransition", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
88
|
-
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SsgoiTransition, decorators: [{
|
|
90
|
-
type: Directive,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: "[ssgoiTransition]",
|
|
93
|
-
standalone: true,
|
|
94
|
-
}]
|
|
95
|
-
}], propDecorators: { ssgoiTransition: [{ type: i0.Input, args: [{ isSignal: true, alias: "ssgoiTransition", required: true }] }] } });
|
|
96
|
-
|
|
97
|
-
class TransitionDirective {
|
|
98
|
-
transition = input.required(...(ngDevMode ? [{ debugName: "transition" }] : []));
|
|
99
|
-
el = inject((ElementRef));
|
|
100
|
-
platformId = inject(PLATFORM_ID);
|
|
101
|
-
cleanup;
|
|
102
|
-
ngOnInit() {
|
|
103
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
const config = this.transition();
|
|
107
|
-
const cleanupResult = transition({
|
|
108
|
-
key: config.key,
|
|
109
|
-
in: config.in,
|
|
110
|
-
out: config.out,
|
|
111
|
-
ref: this.el.nativeElement,
|
|
112
|
-
})(this.el.nativeElement);
|
|
113
|
-
if (cleanupResult) {
|
|
114
|
-
this.cleanup = cleanupResult;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
ngOnDestroy() {
|
|
118
|
-
this.cleanup?.();
|
|
119
|
-
}
|
|
120
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: TransitionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: TransitionDirective, isStandalone: true, selector: "[transition]", inputs: { transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: TransitionDirective, decorators: [{
|
|
124
|
-
type: Directive,
|
|
125
|
-
args: [{
|
|
126
|
-
selector: "[transition]",
|
|
127
|
-
}]
|
|
128
|
-
}], propDecorators: { transition: [{ type: i0.Input, args: [{ isSignal: true, alias: "transition", required: true }] }] } });
|
|
129
|
-
|
|
130
|
-
/*
|
|
131
|
-
* Public API Surface of @ssgoi/angular
|
|
132
|
-
*/
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Generated bundle index. Do not edit.
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
export { SSGOI_CONTEXT, Ssgoi, SsgoiTransition, TransitionDirective, injectSsgoi };
|
|
139
|
-
//# sourceMappingURL=ssgoi-angular.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssgoi-angular.mjs","sources":["../../src/lib/context.ts","../../src/lib/ssgoi.directive.ts","../../src/lib/ssgoi-transition.directive.ts","../../src/lib/transition.directive.ts","../../src/public-api.ts","../../src/ssgoi-angular.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\nimport type { SsgoiContext } from \"@ssgoi/core\";\n\nexport const SSGOI_CONTEXT = new InjectionToken<SsgoiContext | undefined>(\n \"ssgoi-context\",\n);\n\nexport function injectSsgoi(): SsgoiContext {\n const context = inject(SSGOI_CONTEXT, { optional: true });\n\n if (!context) {\n // During SSR or when not wrapped in <ssgoi>, return a no-op context\n // This prevents errors during server-side rendering\n return () => ({\n key: \"\",\n in: async () => ({}),\n out: async () => ({}),\n });\n }\n\n return context;\n}\n","import {\n Directive,\n input,\n forwardRef,\n PLATFORM_ID,\n inject,\n} from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { createSggoiTransitionContext } from \"@ssgoi/core\";\nimport type { SsgoiConfig, SsgoiContext } from \"@ssgoi/core\";\nimport { SSGOI_CONTEXT } from \"./context\";\n\nfunction createSsgoiContext(component: Ssgoi): SsgoiContext | undefined {\n const platformId = inject(PLATFORM_ID);\n\n // Only create context in browser environment\n if (!isPlatformBrowser(platformId)) {\n // Return a no-op context for SSR\n return undefined;\n }\n return createSggoiTransitionContext(component.config());\n}\n\n@Directive({\n selector: \"[ssgoi]\",\n standalone: true,\n providers: [\n {\n provide: SSGOI_CONTEXT,\n useFactory: createSsgoiContext,\n deps: [forwardRef(() => Ssgoi)],\n },\n ],\n})\nexport class Ssgoi {\n readonly config = input<SsgoiConfig>({});\n}\n","import {\n Directive,\n input,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ElementRef,\n inject,\n PLATFORM_ID,\n} from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { transition } from \"@ssgoi/core\";\nimport { injectSsgoi } from \"./context\";\n\n@Directive({\n selector: \"[ssgoiTransition]\",\n standalone: true,\n})\nexport class SsgoiTransition implements OnInit, OnDestroy, AfterViewInit {\n // The directive attribute value becomes the transition ID\n readonly ssgoiTransition = input.required<string>();\n\n private readonly getTransition = injectSsgoi();\n private readonly el = inject(ElementRef<HTMLElement>);\n private readonly platformId = inject(PLATFORM_ID);\n private cleanup?: () => void;\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n // Set data attribute on host element\n this.el.nativeElement.setAttribute(\n \"data-ssgoi-transition\",\n this.ssgoiTransition(),\n );\n }\n\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n // Use the host element itself as the transition target\n const targetElement = this.el.nativeElement;\n\n const transitionConfig = this.getTransition(this.ssgoiTransition());\n const cleanupResult = transition(transitionConfig)(targetElement);\n\n if (cleanupResult) {\n this.cleanup = cleanupResult;\n }\n }\n\n ngOnDestroy(): void {\n this.cleanup?.();\n }\n}\n","import {\n Directive,\n ElementRef,\n input,\n OnInit,\n OnDestroy,\n inject,\n PLATFORM_ID,\n} from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { transition as coreTransition } from \"@ssgoi/core\";\nimport type {\n Transition as CoreTransitionConfig,\n TransitionKey as CoreTransitionKey,\n} from \"@ssgoi/core\";\n\nexport type TransitionDirectiveConfig = CoreTransitionConfig & {\n key?: CoreTransitionKey;\n};\n\n@Directive({\n selector: \"[transition]\",\n})\nexport class TransitionDirective implements OnInit, OnDestroy {\n transition = input.required<TransitionDirectiveConfig>();\n\n private readonly el = inject(ElementRef<HTMLElement>);\n private readonly platformId = inject(PLATFORM_ID);\n private cleanup?: () => void;\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const config = this.transition();\n const cleanupResult = coreTransition({\n key: config.key,\n in: config.in,\n out: config.out,\n ref: this.el.nativeElement,\n })(this.el.nativeElement);\n\n if (cleanupResult) {\n this.cleanup = cleanupResult;\n }\n }\n\n ngOnDestroy(): void {\n this.cleanup?.();\n }\n}\n","/*\n * Public API Surface of @ssgoi/angular\n */\n\nexport * from \"./lib/index\";\nexport * from \"./lib/types\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["coreTransition"],"mappings":"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"}
|
package/index.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, OnDestroy, AfterViewInit, InjectionToken } from '@angular/core';
|
|
3
|
-
import { SsgoiConfig, Transition, TransitionKey, SsgoiContext } from '@ssgoi/core';
|
|
4
|
-
export * from '@ssgoi/core';
|
|
5
|
-
export { transition } from '@ssgoi/core';
|
|
6
|
-
|
|
7
|
-
declare class Ssgoi {
|
|
8
|
-
readonly config: i0.InputSignal<SsgoiConfig>;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<Ssgoi, never>;
|
|
10
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Ssgoi, "[ssgoi]", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare class SsgoiTransition implements OnInit, OnDestroy, AfterViewInit {
|
|
14
|
-
readonly ssgoiTransition: i0.InputSignal<string>;
|
|
15
|
-
private readonly getTransition;
|
|
16
|
-
private readonly el;
|
|
17
|
-
private readonly platformId;
|
|
18
|
-
private cleanup?;
|
|
19
|
-
ngOnInit(): void;
|
|
20
|
-
ngAfterViewInit(): void;
|
|
21
|
-
ngOnDestroy(): void;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SsgoiTransition, never>;
|
|
23
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SsgoiTransition, "[ssgoiTransition]", never, { "ssgoiTransition": { "alias": "ssgoiTransition"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
type TransitionDirectiveConfig = Transition & {
|
|
27
|
-
key?: TransitionKey;
|
|
28
|
-
};
|
|
29
|
-
declare class TransitionDirective implements OnInit, OnDestroy {
|
|
30
|
-
transition: i0.InputSignal<TransitionDirectiveConfig>;
|
|
31
|
-
private readonly el;
|
|
32
|
-
private readonly platformId;
|
|
33
|
-
private cleanup?;
|
|
34
|
-
ngOnInit(): void;
|
|
35
|
-
ngOnDestroy(): void;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TransitionDirective, never>;
|
|
37
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TransitionDirective, "[transition]", never, { "transition": { "alias": "transition"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
declare const SSGOI_CONTEXT: InjectionToken<SsgoiContext>;
|
|
41
|
-
declare function injectSsgoi(): SsgoiContext;
|
|
42
|
-
|
|
43
|
-
export { SSGOI_CONTEXT, Ssgoi, SsgoiTransition, TransitionDirective, injectSsgoi };
|
|
44
|
-
export type { TransitionDirectiveConfig };
|
package/presets/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@ssgoi/core/presets';
|
package/transitions/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@ssgoi/core/transitions';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@ssgoi/core/view-transitions';
|