@lukfel/ng-scaffold 20.0.55 → 20.0.57
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 +85 -81
- package/fesm2022/lukfel-ng-scaffold.mjs +27 -41
- package/fesm2022/lukfel-ng-scaffold.mjs.map +1 -1
- package/index.d.ts +2 -7
- package/package.json +1 -1
- package/schematics/ng-add/add-config.d.ts +3 -0
- package/schematics/ng-add/add-config.js +20 -21
- package/schematics/ng-add/add-config.js.map +1 -1
- package/schematics/ng-add/add-module.d.ts +3 -0
- package/schematics/ng-add/add-module.js +15 -3
- package/schematics/ng-add/add-module.js.map +1 -1
- package/schematics/ng-add/add-styles.d.ts +3 -0
- package/schematics/ng-add/add-styles.js +23 -22
- package/schematics/ng-add/add-styles.js.map +1 -1
- package/schematics/ng-add/add-template.d.ts +3 -0
- package/schematics/ng-add/add-template.js +11 -6
- package/schematics/ng-add/add-template.js.map +1 -1
- package/styles/_classes.scss +1 -1
- package/styles/_variables.scss +61 -58
- package/styles/style.scss +2 -1
package/index.d.ts
CHANGED
|
@@ -87,7 +87,6 @@ interface FloatingButtonConfig {
|
|
|
87
87
|
svgIcon?: string;
|
|
88
88
|
tooltip?: string;
|
|
89
89
|
horizontalPosition?: 'left' | 'center' | 'right';
|
|
90
|
-
bottomPositionPx?: number;
|
|
91
90
|
autoHide?: boolean;
|
|
92
91
|
cssClass?: string;
|
|
93
92
|
}
|
|
@@ -311,13 +310,13 @@ declare class DrawerComponent implements OnInit {
|
|
|
311
310
|
libraryConfig: ScaffoldLibraryConfig | null;
|
|
312
311
|
drawerConfig: DrawerConfig | null;
|
|
313
312
|
isMobile: boolean;
|
|
314
|
-
|
|
313
|
+
headerEnabled: boolean;
|
|
315
314
|
drawerPortal: ComponentPortal<unknown> | TemplatePortal<unknown> | null;
|
|
316
315
|
drawerConfigUpdateEvent: EventEmitter<DrawerConfig>;
|
|
317
316
|
ngOnInit(): void;
|
|
318
317
|
drawerClosed(): void;
|
|
319
318
|
static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
|
|
320
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "lf-drawer", never, { "libraryConfig": { "alias": "libraryConfig"; "required": false; }; "drawerConfig": { "alias": "drawerConfig"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "
|
|
319
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "lf-drawer", never, { "libraryConfig": { "alias": "libraryConfig"; "required": false; }; "drawerConfig": { "alias": "drawerConfig"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "headerEnabled": { "alias": "headerEnabled"; "required": false; }; "drawerPortal": { "alias": "drawerPortal"; "required": false; }; }, { "drawerConfigUpdateEvent": "drawerConfigUpdateEvent"; }, never, ["[drawerContent]", "*"], false, never>;
|
|
321
320
|
}
|
|
322
321
|
|
|
323
322
|
declare class FooterComponent {
|
|
@@ -346,12 +345,8 @@ declare class FloatingButtonComponent implements OnInit {
|
|
|
346
345
|
bottomBarEnabled: boolean;
|
|
347
346
|
floatingButtonConfigUpdateEvent: EventEmitter<FloatingButtonConfig>;
|
|
348
347
|
floatingButtonClickEvent: EventEmitter<string>;
|
|
349
|
-
private readonly DEFAULT_OFFSET;
|
|
350
|
-
private navbarOffset;
|
|
351
|
-
private bottomBarOffset;
|
|
352
348
|
ngOnInit(): void;
|
|
353
349
|
buttonClicked(id?: string): void;
|
|
354
|
-
getBottomPosition(): number;
|
|
355
350
|
static ɵfac: i0.ɵɵFactoryDeclaration<FloatingButtonComponent, never>;
|
|
356
351
|
static ɵcmp: i0.ɵɵComponentDeclaration<FloatingButtonComponent, "lf-floating-button", never, { "libraryConfig": { "alias": "libraryConfig"; "required": false; }; "floatingButtonConfig": { "alias": "floatingButtonConfig"; "required": false; }; "onTop": { "alias": "onTop"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "bottomBarEnabled": { "alias": "bottomBarEnabled"; "required": false; }; }, { "floatingButtonConfigUpdateEvent": "floatingButtonConfigUpdateEvent"; "floatingButtonClickEvent": "floatingButtonClickEvent"; }, never, never, false, never>;
|
|
357
352
|
}
|
package/package.json
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Check for root component and set the initial library config
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.addConfig = addConfig;
|
|
4
7
|
const ts = require("typescript");
|
|
@@ -22,6 +25,7 @@ function addConfig() {
|
|
|
22
25
|
}
|
|
23
26
|
const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
|
|
24
27
|
const recorder = tree.beginUpdate(filePath);
|
|
28
|
+
// Add imports if missing
|
|
25
29
|
if (!content.includes('from \'@lukfel/ng-scaffold\'')) {
|
|
26
30
|
context.logger.info('[Config] Adding config import ...');
|
|
27
31
|
recorder.insertLeft(0, 'import { ScaffoldConfig, ScaffoldService } from \'@lukfel/ng-scaffold\';\n');
|
|
@@ -37,34 +41,29 @@ function addConfig() {
|
|
|
37
41
|
}
|
|
38
42
|
const className = (_b = (_a = classNode.name) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : '<unknown>';
|
|
39
43
|
context.logger.info(`[Config] Modifying class ${className}`);
|
|
44
|
+
// Always inject ScaffoldService at class level
|
|
45
|
+
if (!content.includes('scaffoldService = inject(ScaffoldService)')) {
|
|
46
|
+
recorder.insertLeft(classNode.members.pos, ` private scaffoldService = inject(ScaffoldService);
|
|
47
|
+
private scaffoldConfig: ScaffoldConfig = {
|
|
48
|
+
// Create your own config or generate it at https://lukfel.github.io/ng-scaffold
|
|
49
|
+
};
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
// Ensure constructor exists and sets scaffoldConfig
|
|
40
53
|
const constructorNode = classNode.members.find(ts.isConstructorDeclaration);
|
|
41
54
|
if (constructorNode) {
|
|
42
|
-
const
|
|
43
|
-
if (!paramExists) {
|
|
44
|
-
const ctorStart = constructorNode.getStart(sourceFile);
|
|
45
|
-
const ctorText = constructorNode.getFullText(sourceFile);
|
|
46
|
-
const insertPos = ctorStart + ctorText.indexOf('(') + 1;
|
|
47
|
-
recorder.insertLeft(insertPos, 'private scaffoldService: ScaffoldService, ');
|
|
48
|
-
}
|
|
49
|
-
const bodyStart = constructorNode.body.getStart(sourceFile);
|
|
50
|
-
const bodyEnd = constructorNode.body.getEnd();
|
|
51
|
-
const bodyText = content.slice(bodyStart, bodyEnd);
|
|
55
|
+
const bodyText = constructorNode.body.getFullText(sourceFile);
|
|
52
56
|
if (!bodyText.includes('this.scaffoldService.scaffoldConfig')) {
|
|
53
|
-
recorder.insertLeft(
|
|
57
|
+
recorder.insertLeft(constructorNode.body.getEnd() - 1, ` this.scaffoldService.scaffoldConfig = this.scaffoldConfig;
|
|
58
|
+
`);
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
else {
|
|
57
|
-
|
|
58
|
-
private scaffoldService
|
|
59
|
-
private scaffoldConfig: ScaffoldConfig = {
|
|
60
|
-
// Create your own config or generate it at https://lukfel.github.io/ng-scaffold
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
constructor() {
|
|
62
|
+
// Add a constructor if none exists
|
|
63
|
+
recorder.insertLeft(classNode.members.pos + (content.includes('private scaffoldService') ? 0 : 0), ` constructor() {
|
|
64
64
|
this.scaffoldService.scaffoldConfig = this.scaffoldConfig;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
recorder.insertLeft(classNode.members.pos, snippet);
|
|
65
|
+
}
|
|
66
|
+
`);
|
|
68
67
|
}
|
|
69
68
|
tree.commitUpdate(recorder);
|
|
70
69
|
context.logger.info('[Config] ScaffoldService configuration added successfully.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-config.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-config.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Check for root module or main.ts if standalone and import the library module
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.addModule = addModule;
|
|
4
7
|
const ts = require("typescript");
|
|
5
8
|
function addModule() {
|
|
6
9
|
return (tree, context) => {
|
|
7
10
|
context.logger.info('[Module] Searching for root module ...');
|
|
8
|
-
const possiblePaths = [
|
|
11
|
+
const possiblePaths = [
|
|
12
|
+
'src/app/app.module.ts',
|
|
13
|
+
'src/app/app-module.ts'
|
|
14
|
+
];
|
|
9
15
|
const path = possiblePaths.find(p => tree.exists(p));
|
|
10
16
|
if (path) {
|
|
11
17
|
return addToNgModule(tree, context, path);
|
|
@@ -42,7 +48,10 @@ function addToNgModule(tree, context, path) {
|
|
|
42
48
|
return tree;
|
|
43
49
|
}
|
|
44
50
|
const importsArray = importsProp.initializer;
|
|
45
|
-
|
|
51
|
+
const isMultiLine = importsArray.getFullText().includes('\n');
|
|
52
|
+
const indent = isMultiLine ? '\n ' : ' ';
|
|
53
|
+
const comma = importsArray.elements.length ? ',' : '';
|
|
54
|
+
recorder.insertRight(importsArray.getEnd() - 1, `${comma}${indent}ScaffoldModule`);
|
|
46
55
|
tree.commitUpdate(recorder);
|
|
47
56
|
context.logger.info('[Module] Successfully added ScaffoldModule to NgModule.');
|
|
48
57
|
return tree;
|
|
@@ -88,7 +97,10 @@ import { ScaffoldModule } from '@lukfel/ng-scaffold';
|
|
|
88
97
|
if (match) {
|
|
89
98
|
const full = match[0];
|
|
90
99
|
const inner = match[1];
|
|
91
|
-
const
|
|
100
|
+
const trimmed = inner.trim();
|
|
101
|
+
const prefix = trimmed.length ? trimmed + ', ' : '';
|
|
102
|
+
const newInner = prefix + 'importProvidersFrom(ScaffoldModule)';
|
|
103
|
+
const updated = full.replace(inner, newInner);
|
|
92
104
|
const newText = text.replace(full, updated);
|
|
93
105
|
recorder.remove(0, text.length);
|
|
94
106
|
recorder.insertLeft(0, newText);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-module.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-module.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-module.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Check for root style file and add the necessary styles on top
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.addStyles = addStyles;
|
|
4
|
-
|
|
7
|
+
function addStyles() {
|
|
8
|
+
return (tree, context) => {
|
|
9
|
+
context.logger.info('[Styles] Searching for root styles ...');
|
|
10
|
+
const possiblePaths = [
|
|
11
|
+
'src/styles.scss',
|
|
12
|
+
'src/styles.sass',
|
|
13
|
+
'src/styles.css'
|
|
14
|
+
];
|
|
15
|
+
const path = possiblePaths.find(p => tree.exists(p));
|
|
16
|
+
if (!path) {
|
|
17
|
+
context.logger.warn('[Styles] No global styles file found. Skip.');
|
|
18
|
+
return tree;
|
|
19
|
+
}
|
|
20
|
+
;
|
|
21
|
+
const content = tree.read(path).toString('utf-8');
|
|
22
|
+
if (content.includes('@lukfel/ng-scaffold/styles') || content.includes('lf.scaffold-theme')) {
|
|
23
|
+
context.logger.info('[Styles] Styles already added. Skip.');
|
|
24
|
+
return tree;
|
|
25
|
+
}
|
|
26
|
+
const SNIPPET = `
|
|
5
27
|
@use "@lukfel/ng-scaffold/styles" as lf;
|
|
6
28
|
@use '@angular/material' as mat;
|
|
7
29
|
|
|
@@ -25,27 +47,6 @@ $theme2: (
|
|
|
25
47
|
@include lf.scaffold-colors($theme2, 'theme2');
|
|
26
48
|
|
|
27
49
|
`;
|
|
28
|
-
function addStyles() {
|
|
29
|
-
return (tree, context) => {
|
|
30
|
-
context.logger.info('[Styles] Searching for root styles ...');
|
|
31
|
-
const possiblePaths = [
|
|
32
|
-
'src/styles.scss',
|
|
33
|
-
'src/styles.sass',
|
|
34
|
-
'src/styles.css',
|
|
35
|
-
'src/styles.css.scss',
|
|
36
|
-
'styles.scss'
|
|
37
|
-
];
|
|
38
|
-
const path = possiblePaths.find(p => tree.exists(p));
|
|
39
|
-
if (!path) {
|
|
40
|
-
context.logger.warn('[Styles] No global styles file found. Skip.');
|
|
41
|
-
return tree;
|
|
42
|
-
}
|
|
43
|
-
;
|
|
44
|
-
const content = tree.read(path).toString('utf-8');
|
|
45
|
-
if (content.includes('@lukfel/ng-scaffold/styles') || content.includes('lf.scaffold-theme')) {
|
|
46
|
-
context.logger.info('[Styles] Styles already added. Skip.');
|
|
47
|
-
return tree;
|
|
48
|
-
}
|
|
49
50
|
const recorder = tree.beginUpdate(path);
|
|
50
51
|
recorder.insertLeft(0, SNIPPET);
|
|
51
52
|
tree.commitUpdate(recorder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-styles.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-styles.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-styles.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-styles.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAIH,8BAqDC;AArDD,SAAgB,SAAS;IACrB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAE9D,MAAM,aAAa,GAAG;YAClB,iBAAiB;YACjB,iBAAiB;YACjB,gBAAgB;SACnB,CAAC;QAEF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACnE,OAAO,IAAI,CAAA;QACf,CAAC;QAAA,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1F,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAC;QAEM,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a root template with <lf-scaffold> … </lf-scaffold>
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.addTemplate = addTemplate;
|
|
4
7
|
function addTemplate() {
|
|
5
8
|
return (tree, context) => {
|
|
9
|
+
var _a;
|
|
6
10
|
context.logger.info('[Template] Searching for root template ...');
|
|
7
11
|
const possiblePaths = [
|
|
8
12
|
'src/app/app.component.html',
|
|
9
13
|
'src/app/app.html'
|
|
10
14
|
];
|
|
11
|
-
const path = possiblePaths.find(p => tree.exists(p));
|
|
15
|
+
const path = (_a = possiblePaths.find(p => tree.exists(p))) !== null && _a !== void 0 ? _a : null;
|
|
12
16
|
if (!path) {
|
|
13
|
-
context.logger.warn('[Template] No global template file found.
|
|
17
|
+
context.logger.warn('[Template] No global template file found. Skipped.');
|
|
14
18
|
return tree;
|
|
15
19
|
}
|
|
16
|
-
const content = tree.read(path).toString('utf8');
|
|
20
|
+
const content = tree.read(path).toString('utf8').trim();
|
|
17
21
|
if (content.includes('<lf-scaffold')) {
|
|
18
|
-
context.logger.info('[Template] Template already added.
|
|
22
|
+
context.logger.info('[Template] Template already added. Skipped.');
|
|
19
23
|
return tree;
|
|
20
24
|
}
|
|
21
|
-
const
|
|
25
|
+
const indented = content.split('\n').map(line => (line.trim() === '' ? line : ' ' + line)).join('\n');
|
|
26
|
+
const newContent = '<lf-scaffold>\n' + `${indented}\n` + '</lf-scaffold>\n';
|
|
22
27
|
tree.overwrite(path, newContent);
|
|
23
|
-
context.logger.info(
|
|
28
|
+
context.logger.info('[Template] Successfully added.');
|
|
24
29
|
return tree;
|
|
25
30
|
};
|
|
26
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-template.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-template.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-template.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-template.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAIH,kCA6BC;AA7BD,SAAgB,WAAW;IACzB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;;QAC/C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG;YACpB,4BAA4B;YAC5B,kBAAkB;SACnB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzD,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,iBAAiB,GAAG,GAAG,QAAQ,IAAI,GAAG,kBAAkB,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
package/styles/_classes.scss
CHANGED
package/styles/_variables.scss
CHANGED
|
@@ -1,58 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
:root {
|
|
2
|
+
--transition: 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
3
|
+
|
|
4
|
+
--loading-overlay-z-index: 101;
|
|
5
|
+
|
|
6
|
+
--header-z-index: 100;
|
|
7
|
+
--header-height: 64px;
|
|
8
|
+
--header-logo-title-wrapper-max-width: 480px;
|
|
9
|
+
--header-logo-size: 40px;
|
|
10
|
+
--header-title-font-size: 20px;
|
|
11
|
+
--header-subtitle-font-size: 12px;
|
|
12
|
+
--header-input-max-width: 480px;
|
|
13
|
+
--header-input-border-radius: 28px;
|
|
14
|
+
--header-menu-button-max-width: 144px;
|
|
15
|
+
|
|
16
|
+
--navbar-z-index: 99;
|
|
17
|
+
--navbar-height: 72px;
|
|
18
|
+
--navbar-height-mobile: 56px;
|
|
19
|
+
--navbar-width: 72px;
|
|
20
|
+
--navbar-padding: 4px;
|
|
21
|
+
--navbar-item-border-radius: 16px;
|
|
22
|
+
--navbar-item-label-font-size: 12px;
|
|
23
|
+
|
|
24
|
+
--content-padding: 24px;
|
|
25
|
+
--content-padding-mobile: 16px;
|
|
26
|
+
|
|
27
|
+
--drawer-width: 208px;
|
|
28
|
+
--drawer-z-index: 97;
|
|
29
|
+
|
|
30
|
+
--footer-height: 100px;
|
|
31
|
+
--footer-logo-size: 96px;
|
|
32
|
+
--footer-font-size: 12px;
|
|
33
|
+
|
|
34
|
+
--content-title-card-z-index: 98;
|
|
35
|
+
--content-title-card-height: 80px;
|
|
36
|
+
--content-title-card-labe-font-size: 24px;
|
|
37
|
+
|
|
38
|
+
--floating-button-z-index: 100;
|
|
39
|
+
--floating-button-right: 24px;
|
|
40
|
+
--floating-button-bottom: 24px;
|
|
41
|
+
--floating-button-min-width: 56px;
|
|
42
|
+
--floating-button-label-max-width: 256px;
|
|
43
|
+
--floating-button-label-font-size: 16px;
|
|
44
|
+
|
|
45
|
+
--bottom-bar-z-index: 98;
|
|
46
|
+
--bottom-bar-height: 56px;
|
|
47
|
+
|
|
48
|
+
--placeholder-icon-size: 96px;
|
|
49
|
+
--placeholder-title-font-size: 28px;
|
|
50
|
+
--placeholder-message-font-size: 18px;
|
|
51
|
+
|
|
52
|
+
--list-item-height: 72px;
|
|
53
|
+
--list-item-border-radius: 4px;
|
|
54
|
+
--list-item-sort-icon-size: 16px;
|
|
55
|
+
--list-item-avatar-size: 48px;
|
|
56
|
+
--list-item-title-width: 200px;
|
|
57
|
+
--list-item-title-wrapper-width: 80px;
|
|
58
|
+
--list-item-checkbox-width: 40px;
|
|
59
|
+
|
|
60
|
+
--color-gray: rgba(128, 128, 128, 0.8);
|
|
61
|
+
}
|
package/styles/style.scss
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@import './_theme.scss';
|
|
2
2
|
@import './_classes';
|
|
3
|
+
@import './_variables';
|
|
3
4
|
@import './fonts/material-icons.scss';
|
|
4
5
|
@import './fonts/roboto-font.scss';
|
|
5
6
|
|
|
@@ -54,5 +55,5 @@ body {
|
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
.lf-transitions {
|
|
57
|
-
transition:
|
|
58
|
+
transition: var(--transition) !important;
|
|
58
59
|
}
|