@mohamedatia/fly-design-system 1.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.
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
const WINDOW_DATA = new InjectionToken('WINDOW_DATA');
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* @fly/design-system — Public API
|
|
7
|
+
*
|
|
8
|
+
* This is the single entry point for Business App developers.
|
|
9
|
+
* Import everything from '@fly/design-system' — never from relative shell paths.
|
|
10
|
+
*
|
|
11
|
+
* v1.0.0 exports the core models and tokens needed to integrate with the
|
|
12
|
+
* FlyOS desktop shell. Components, directives, and pipes will be added in
|
|
13
|
+
* subsequent releases as they are extracted from the shell.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Generated bundle index. Do not edit.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export { WINDOW_DATA };
|
|
21
|
+
//# sourceMappingURL=mohamedatia-fly-design-system.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mohamedatia-fly-design-system.mjs","sources":["../../../projects/design-system/src/lib/models/window.model.ts","../../../projects/design-system/src/public-api.ts","../../../projects/design-system/src/mohamedatia-fly-design-system.ts"],"sourcesContent":["import { InjectionToken, Type } from '@angular/core';\r\n\r\nexport type WindowState = 'normal' | 'minimized' | 'maximized';\r\n\r\nexport interface ChildWindowData {\r\n childComponent: Type<unknown>;\r\n [key: string]: unknown;\r\n}\r\n\r\nexport interface WindowInstance {\r\n id: string;\r\n appId: string;\r\n title: string;\r\n icon: string;\r\n iconBg: string;\r\n state: WindowState;\r\n position: { x: number; y: number };\r\n size: { width: number; height: number };\r\n zIndex: number;\r\n isFocused: boolean;\r\n isClosing?: boolean;\r\n isMinimizing?: boolean;\r\n isRestoring?: boolean;\r\n isMaximizing?: boolean;\r\n isUnmaximizing?: boolean;\r\n parentWindowId?: string;\r\n childData?: ChildWindowData;\r\n}\r\n\r\nexport const WINDOW_DATA = new InjectionToken<WindowInstance>('WINDOW_DATA');\r\n","/*\r\n * @fly/design-system — Public API\r\n *\r\n * This is the single entry point for Business App developers.\r\n * Import everything from '@fly/design-system' — never from relative shell paths.\r\n *\r\n * v1.0.0 exports the core models and tokens needed to integrate with the\r\n * FlyOS desktop shell. Components, directives, and pipes will be added in\r\n * subsequent releases as they are extracted from the shell.\r\n */\r\n\r\n// ─── Models ──────────────────────────────────────────────────────────────────\r\nexport type { DesktopApp } from './lib/models/app.model';\r\nexport type {\r\n WindowInstance,\r\n WindowState,\r\n ChildWindowData,\r\n} from './lib/models/window.model';\r\nexport { WINDOW_DATA } from './lib/models/window.model';\r\n\r\n// ─── Remote App Registration ─────────────────────────────────────────────────\r\nexport type { RemoteAppDef } from './lib/models/remote-app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;MA6Ba,WAAW,GAAG,IAAI,cAAc,CAAiB,aAAa;;AC7B3E;;;;;;;;;AASG;;ACTH;;AAEG;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mohamedatia/fly-design-system",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "FlyOS design system — shared components, directives, pipes, services, and models for Business App developers.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"flyos",
|
|
7
|
+
"design-system",
|
|
8
|
+
"angular"
|
|
9
|
+
],
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"peerDependencies": {
|
|
12
|
+
"@angular/animations": "^21.0.0",
|
|
13
|
+
"@angular/cdk": "^21.0.0",
|
|
14
|
+
"@angular/common": "^21.0.0",
|
|
15
|
+
"@angular/core": "^21.0.0",
|
|
16
|
+
"@angular/forms": "^21.0.0",
|
|
17
|
+
"@angular/router": "^21.0.0",
|
|
18
|
+
"primeng": "^21.0.0",
|
|
19
|
+
"rxjs": "~7.8.0"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"module": "fesm2022/mohamedatia-fly-design-system.mjs",
|
|
25
|
+
"typings": "types/mohamedatia-fly-design-system.d.ts",
|
|
26
|
+
"exports": {
|
|
27
|
+
"./package.json": {
|
|
28
|
+
"default": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./types/mohamedatia-fly-design-system.d.ts",
|
|
32
|
+
"default": "./fesm2022/mohamedatia-fly-design-system.mjs"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"sideEffects": false,
|
|
36
|
+
"type": "module",
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"tslib": "^2.3.0"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Type, InjectionToken } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
interface DesktopApp {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
iconBg: string;
|
|
8
|
+
description: string;
|
|
9
|
+
loadComponent: () => Promise<Type<unknown>>;
|
|
10
|
+
defaultSize: {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
};
|
|
14
|
+
minSize?: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
isPinned: boolean;
|
|
19
|
+
category: 'system' | 'productivity' | 'analytics' | 'utility';
|
|
20
|
+
chromeless?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type WindowState = 'normal' | 'minimized' | 'maximized';
|
|
24
|
+
interface ChildWindowData {
|
|
25
|
+
childComponent: Type<unknown>;
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
}
|
|
28
|
+
interface WindowInstance {
|
|
29
|
+
id: string;
|
|
30
|
+
appId: string;
|
|
31
|
+
title: string;
|
|
32
|
+
icon: string;
|
|
33
|
+
iconBg: string;
|
|
34
|
+
state: WindowState;
|
|
35
|
+
position: {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
};
|
|
39
|
+
size: {
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
};
|
|
43
|
+
zIndex: number;
|
|
44
|
+
isFocused: boolean;
|
|
45
|
+
isClosing?: boolean;
|
|
46
|
+
isMinimizing?: boolean;
|
|
47
|
+
isRestoring?: boolean;
|
|
48
|
+
isMaximizing?: boolean;
|
|
49
|
+
isUnmaximizing?: boolean;
|
|
50
|
+
parentWindowId?: string;
|
|
51
|
+
childData?: ChildWindowData;
|
|
52
|
+
}
|
|
53
|
+
declare const WINDOW_DATA: InjectionToken<WindowInstance>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Describes a Business App remote registered via the Controller App's
|
|
57
|
+
* /api/apps/manifest endpoint. The shell loads the component at runtime
|
|
58
|
+
* using Angular Native Federation.
|
|
59
|
+
*/
|
|
60
|
+
interface RemoteAppDef {
|
|
61
|
+
id: string;
|
|
62
|
+
/** URL to the remote's federation manifest, e.g. https://my-app-cdn.example.com/remoteEntry.json */
|
|
63
|
+
remoteEntry: string;
|
|
64
|
+
/** The module key exposed by the remote's federation.config.js, e.g. "./MyAppComponent" */
|
|
65
|
+
exposedModule: string;
|
|
66
|
+
nameKey: string;
|
|
67
|
+
descriptionKey: string;
|
|
68
|
+
icon: string;
|
|
69
|
+
iconBg: string;
|
|
70
|
+
defaultSize: {
|
|
71
|
+
width: number;
|
|
72
|
+
height: number;
|
|
73
|
+
};
|
|
74
|
+
minSize?: {
|
|
75
|
+
width: number;
|
|
76
|
+
height: number;
|
|
77
|
+
};
|
|
78
|
+
isPinned: boolean;
|
|
79
|
+
category: DesktopApp['category'];
|
|
80
|
+
chromeless?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { WINDOW_DATA };
|
|
84
|
+
export type { ChildWindowData, DesktopApp, RemoteAppDef, WindowInstance, WindowState };
|
|
85
|
+
//# sourceMappingURL=mohamedatia-fly-design-system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mohamedatia-fly-design-system.d.ts","sources":["../../../projects/design-system/src/lib/models/app.model.ts","../../../projects/design-system/src/lib/models/window.model.ts","../../../projects/design-system/src/lib/models/remote-app.model.ts"],"mappings":";;UAEiB,UAAU;;;;;;yBAMJ,OAAO,CAAC,IAAI;AACjC;;;;AACA;;;;;;;AAID;;ACZK,KAAM,WAAW;UAEN,eAAe;AAC9B,oBAAgB,IAAI;AACpB;AACD;UAEgB,cAAc;;;;;;WAMtB,WAAW;AAClB;;;;AACA;;;;;;;;;;;;gBASY,eAAe;AAC5B;AAED,cAAa,WAAW,EAAA,cAAA,CAAA,cAAA;;AC3BxB;;;;AAIG;UACc,YAAY;;;;;;;;;;AAU3B;;;;AACA;;;;;AAEA,cAAU,UAAU;;AAErB;;;;","names":[]}
|