suis 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
package/.eslintrc.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "extends": ["../../.eslintrc.json"],
3
+ "ignorePatterns": ["!**/*"],
4
+ "overrides": [
5
+ {
6
+ "files": ["*.ts"],
7
+ "rules": {
8
+ "@typescript-eslint/no-inferrable-types": "off",
9
+ "@angular-eslint/directive-selector": [
10
+ "error",
11
+ {
12
+ "type": "attribute",
13
+ "prefix": "suis",
14
+ "style": "camelCase"
15
+ }
16
+ ],
17
+ "@angular-eslint/component-selector": [
18
+ "error",
19
+ {
20
+ "type": "element",
21
+ "prefix": "suis",
22
+ "style": "kebab-case"
23
+ }
24
+ ]
25
+ },
26
+ "extends": [
27
+ "plugin:@nx/angular",
28
+ "plugin:@angular-eslint/template/process-inline-templates"
29
+ ]
30
+ },
31
+ {
32
+ "files": ["*.html"],
33
+ "extends": ["plugin:@nx/angular-template"],
34
+ "rules": {}
35
+ }
36
+ ]
37
+ }
package/README.md CHANGED
@@ -1,7 +1 @@
1
- # suis
2
-
3
- This library was generated with [Nx](https://nx.dev).
4
-
5
- ## Running unit tests
6
-
7
- Run `nx test suis` to execute the unit tests.
1
+ # SUIS (Standalone UI + Signals) Angular 16+ Component Library
package/jest.config.ts ADDED
@@ -0,0 +1,22 @@
1
+ /* eslint-disable */
2
+ export default {
3
+ displayName: 'suis',
4
+ preset: '../../jest.preset.js',
5
+ setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
6
+ coverageDirectory: '../../coverage/libs/suis',
7
+ transform: {
8
+ '^.+\\.(ts|mjs|js|html)$': [
9
+ 'jest-preset-angular',
10
+ {
11
+ tsconfig: '<rootDir>/tsconfig.spec.json',
12
+ stringifyContentPathRegex: '\\.(html|svg)$',
13
+ },
14
+ ],
15
+ },
16
+ transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
17
+ snapshotSerializers: [
18
+ 'jest-preset-angular/build/serializers/no-ng-attributes',
19
+ 'jest-preset-angular/build/serializers/ng-snapshot',
20
+ 'jest-preset-angular/build/serializers/html-comment',
21
+ ],
22
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/libs/suis",
4
+ "lib": {
5
+ "entryFile": "src/index.ts"
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,25 +1,21 @@
1
- {
2
- "name": "suis",
3
- "version": "0.0.1",
4
- "peerDependencies": {
5
- "@angular/common": "^16.0.0",
6
- "@angular/core": "^16.0.0"
7
- },
8
- "dependencies": {
9
- "tslib": "^2.3.0"
10
- },
11
- "sideEffects": false,
12
- "module": "fesm2022/suis.mjs",
13
- "typings": "index.d.ts",
14
- "exports": {
15
- "./package.json": {
16
- "default": "./package.json"
17
- },
18
- ".": {
19
- "types": "./index.d.ts",
20
- "esm2022": "./esm2022/suis.mjs",
21
- "esm": "./esm2022/suis.mjs",
22
- "default": "./fesm2022/suis.mjs"
23
- }
24
- }
25
- }
1
+ {
2
+ "name": "suis",
3
+ "version": "0.1.0",
4
+ "main": "src/index.ts",
5
+ "author": "Karol Jaskółka",
6
+ "description": "SUIS (Standalone UI + Signals) Angular 16+ Component Library",
7
+ "keywords": [
8
+ "angular",
9
+ "standalone",
10
+ "signals",
11
+ "ui"
12
+ ],
13
+ "peerDependencies": {
14
+ "@angular/common": "^16.0.0",
15
+ "@angular/core": "^16.0.0"
16
+ },
17
+ "dependencies": {
18
+ "tslib": "^2.3.0"
19
+ },
20
+ "sideEffects": false
21
+ }
package/project.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "suis",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "libs/suis/src",
5
+ "prefix": "suis",
6
+ "tags": [],
7
+ "projectType": "library",
8
+ "targets": {
9
+ "build": {
10
+ "executor": "@nx/angular:package",
11
+ "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
12
+ "options": {
13
+ "project": "libs/suis/ng-package.json"
14
+ },
15
+ "configurations": {
16
+ "production": {
17
+ "tsConfig": "libs/suis/tsconfig.lib.prod.json"
18
+ },
19
+ "development": {
20
+ "tsConfig": "libs/suis/tsconfig.lib.json"
21
+ }
22
+ },
23
+ "defaultConfiguration": "production"
24
+ },
25
+ "test": {
26
+ "executor": "@nx/jest:jest",
27
+ "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
28
+ "options": {
29
+ "jestConfig": "libs/suis/jest.config.ts",
30
+ "passWithNoTests": true
31
+ },
32
+ "configurations": {
33
+ "ci": {
34
+ "ci": true,
35
+ "codeCoverage": true
36
+ }
37
+ }
38
+ },
39
+ "lint": {
40
+ "executor": "@nx/linter:eslint",
41
+ "outputs": ["{options.outputFile}"],
42
+ "options": {
43
+ "lintFilePatterns": ["libs/suis/**/*.ts", "libs/suis/**/*.html"]
44
+ }
45
+ }
46
+ }
47
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/components';
@@ -0,0 +1 @@
1
+ export * from './suis-box';
@@ -0,0 +1 @@
1
+ export * from './suis-box.component';
@@ -0,0 +1,3 @@
1
+ <div class="suis-box" [class.suis-box--spacing]="spacing">
2
+ <ng-content></ng-content>
3
+ </div>
@@ -0,0 +1,10 @@
1
+ @import '../../../styles/index.scss';
2
+
3
+ .suis-box {
4
+ background-color: $suis-white;
5
+ box-shadow: $suis-box-shadow-dark;
6
+ border-radius: $suis-radius;
7
+ &--spacing {
8
+ padding: 1.25rem;
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'suis-box',
5
+ standalone: true,
6
+ imports: [],
7
+ templateUrl: './suis-box.component.html',
8
+ styleUrls: ['./suis-box.component.scss'],
9
+ changeDetection: ChangeDetectionStrategy.OnPush,
10
+ })
11
+ export class SuisBoxComponent {
12
+ @Input() spacing: boolean = false;
13
+ }
@@ -0,0 +1,23 @@
1
+ @mixin suis-tablet {
2
+ @media (min-width: $suis-tablet) {
3
+ @content;
4
+ }
5
+ }
6
+
7
+ @mixin suis-desktop {
8
+ @media (min-width: $suis-desktop) {
9
+ @content;
10
+ }
11
+ }
12
+
13
+ @mixin suis-widescreen {
14
+ @media (min-width: $suis-widescreen) {
15
+ @content;
16
+ }
17
+ }
18
+
19
+ @mixin suis-fullhd {
20
+ @media (min-width: $suis-fullhd) {
21
+ @content;
22
+ }
23
+ }
@@ -0,0 +1,38 @@
1
+ // colors pallete
2
+ $suis-primary: #192a56;
3
+ $suis-secondary: #273c75;
4
+ $suis-tertiary: #dcdde1;
5
+ $suis-complementary: #f5f6fa;
6
+ $suis-link: #40739e;
7
+ $suis-text: #2f3640;
8
+ $suis-text-alt: #a4a7b0;
9
+ $suis-white: #ffffff;
10
+ $suis-dark: #000000;
11
+ $suis-danger: #ff4757;
12
+ $suis-warning: #ffa502;
13
+ $suis-success: #2ed573;
14
+
15
+ // colors hover effect
16
+ $suis-primary-hover: rgba($suis-primary, 0.5);
17
+ $suis-secondary-hover: rgba($suis-secondary, 0.5);
18
+ $suis-tertiary-hover: rgba($suis-tertiary, 0.5);
19
+ $suis-complementary-hover: rgba($suis-complementary, 0.5);
20
+ $suis-link-hover: rgba($suis-link, 0.5);
21
+
22
+ // colors box shadow
23
+ $suis-box-shadow-dark: 0 2px 5px 0 rgba($suis-dark, 0.3);
24
+ $suis-box-shadow-primary: 0 2px 5px 0 rgba($suis-primary, 0.3);
25
+ $suis-box-shadow-secondary: 0 2px 5px 0 rgba($suis-secondary, 0.3);
26
+ $suis-box-shadow-link: 0 2px 5px 0 rgba($suis-link, 0.3);
27
+ $suis-box-shadow-danger: 0 2px 5px 0 rgba($suis-danger, 0.3);
28
+ $suis-box-shadow-warning: 0 2px 5px 0 rgba($suis-warning, 0.3);
29
+ $suis-box-shadow-success: 0 2px 5px 0 rgba($suis-success, 0.3);
30
+
31
+ // breakpoint
32
+ $suis-tablet: 768px;
33
+ $suis-desktop: 992px;
34
+ $suis-widescreen: 1200px;
35
+ $suis-fullhd: 1440px;
36
+
37
+ // other
38
+ $suis-radius: 0.25rem;
@@ -0,0 +1,8 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ @import 'variables';
8
+ @import 'mixins';
@@ -0,0 +1 @@
1
+ import 'jest-preset-angular/setup-jest';
package/tsconfig.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2022",
4
+ "useDefineForClassFields": false,
5
+ "forceConsistentCasingInFileNames": true,
6
+ "strict": true,
7
+ "noImplicitOverride": true,
8
+ "noPropertyAccessFromIndexSignature": true,
9
+ "noImplicitReturns": true,
10
+ "noFallthroughCasesInSwitch": true
11
+ },
12
+ "files": [],
13
+ "include": [],
14
+ "references": [
15
+ {
16
+ "path": "./tsconfig.lib.json"
17
+ },
18
+ {
19
+ "path": "./tsconfig.spec.json"
20
+ }
21
+ ],
22
+ "extends": "../../tsconfig.base.json",
23
+ "angularCompilerOptions": {
24
+ "enableI18nLegacyMessageIdFormat": false,
25
+ "strictInjectionParameters": true,
26
+ "strictInputAccessModifiers": true,
27
+ "strictTemplates": true
28
+ }
29
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "declaration": true,
6
+ "declarationMap": true,
7
+ "inlineSources": true,
8
+ "types": []
9
+ },
10
+ "exclude": [
11
+ "src/**/*.spec.ts",
12
+ "src/test-setup.ts",
13
+ "jest.config.ts",
14
+ "src/**/*.test.ts"
15
+ ],
16
+ "include": ["src/**/*.ts"]
17
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.lib.json",
3
+ "compilerOptions": {
4
+ "declarationMap": false
5
+ },
6
+ "angularCompilerOptions": {
7
+ "compilationMode": "partial"
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "target": "es2016",
7
+ "types": ["jest", "node"]
8
+ },
9
+ "files": ["src/test-setup.ts"],
10
+ "include": [
11
+ "jest.config.ts",
12
+ "src/**/*.test.ts",
13
+ "src/**/*.spec.ts",
14
+ "src/**/*.d.ts"
15
+ ]
16
+ }
package/esm2022/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- export * from './lib/suis.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zdWlzLm1vZHVsZSc7XHJcbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- class SuisModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, imports: [CommonModule] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, imports: [CommonModule] }); }
8
- }
9
- export { SuisModule };
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [CommonModule],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9zdWlzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0MsTUFHYSxVQUFVOzhHQUFWLFVBQVU7K0dBQVYsVUFBVSxZQUZYLFlBQVk7K0dBRVgsVUFBVSxZQUZYLFlBQVk7O1NBRVgsVUFBVTsyRkFBVixVQUFVO2tCQUh0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1aXNNb2R1bGUge31cclxuIl19
package/esm2022/suis.mjs DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvc3Vpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/fesm2022/suis.mjs DELETED
@@ -1,22 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
-
5
- class SuisModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, imports: [CommonModule] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [CommonModule],
14
- }]
15
- }] });
16
-
17
- /**
18
- * Generated bundle index. Do not edit.
19
- */
20
-
21
- export { SuisModule };
22
- //# sourceMappingURL=suis.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suis.mjs","sources":["../../../../libs/suis/src/lib/suis.module.ts","../../../../libs/suis/src/suis.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n})\r\nexport class SuisModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,MAGa,UAAU,CAAA;8GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAFX,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAEX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAFX,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACLD;;AAEG;;;;"}
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './lib/suis.module';
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- export declare class SuisModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<SuisModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<SuisModule, never, [typeof i1.CommonModule], never>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<SuisModule>;
7
- }