procode-vs-theme 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.
- package/CHANGELOG.md +42 -0
- package/README.md +201 -0
- package/dist/components.esm.js +20 -0
- package/dist/components.esm.js.map +1 -0
- package/dist/components.js +28 -0
- package/dist/components.js.map +1 -0
- package/dist/index.esm.js +267 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +279 -0
- package/dist/index.js.map +1 -0
- package/dist/layout.esm.js +23 -0
- package/dist/layout.esm.js.map +1 -0
- package/dist/layout.js +32 -0
- package/dist/layout.js.map +1 -0
- package/dist/src/_apply-theme.scss +28 -0
- package/dist/src/_border-color.scss +33 -0
- package/dist/src/_border-radius.scss +17 -0
- package/dist/src/_border-size.scss +10 -0
- package/dist/src/_border.scss +8 -0
- package/dist/src/_buttons.scss +38 -0
- package/dist/src/_cards.scss +0 -0
- package/dist/src/_color.scss +35 -0
- package/dist/src/_drawer.scss +16 -0
- package/dist/src/_font.scss +63 -0
- package/dist/src/_font_size-mx.scss +4 -0
- package/dist/src/_footer.scss +0 -0
- package/dist/src/_gap.scss +20 -0
- package/dist/src/_header.scss +0 -0
- package/dist/src/_input.scss +32 -0
- package/dist/src/_margin.scss +69 -0
- package/dist/src/_media-query-mx.scss +35 -0
- package/dist/src/_padding.scss +69 -0
- package/dist/src/_reset.scss +68 -0
- package/dist/src/_sidebar.scss +0 -0
- package/dist/src/_size.scss +4 -0
- package/dist/src/_space.scss +4 -0
- package/dist/src/index.scss +24 -0
- package/dist/types/baseExports.d.ts +23 -0
- package/dist/types/components.d.ts +11 -0
- package/dist/types/index.d.ts +27 -0
- package/dist/types/layout.d.ts +13 -0
- package/dist/types/utilities.d.ts +41 -0
- package/dist/types/variables.d.ts +23 -0
- package/dist/utilities.esm.js +61 -0
- package/dist/utilities.esm.js.map +1 -0
- package/dist/utilities.js +81 -0
- package/dist/utilities.js.map +1 -0
- package/dist/variables.esm.js +39 -0
- package/dist/variables.esm.js.map +1 -0
- package/dist/variables.js +52 -0
- package/dist/variables.js.map +1 -0
- package/package.json +87 -0
- package/src/base/_border.scss +8 -0
- package/src/base/_color.scss +39 -0
- package/src/base/_font.scss +26 -0
- package/src/base/_size.scss +4 -0
- package/src/base/_space.scss +4 -0
- package/src/base/mixins/_apply-theme.scss +28 -0
- package/src/base/mixins/_font_size-mx.scss +4 -0
- package/src/base/mixins/_media-query-mx.scss +35 -0
- package/src/baseExports.ts +39 -0
- package/src/components/_buttons.scss +38 -0
- package/src/components/_cards.scss +0 -0
- package/src/components/_input.scss +32 -0
- package/src/components.ts +20 -0
- package/src/index.scss +24 -0
- package/src/index.ts +52 -0
- package/src/layout/_drawer.scss +16 -0
- package/src/layout/_footer.scss +0 -0
- package/src/layout/_header.scss +0 -0
- package/src/layout/_sidebar.scss +0 -0
- package/src/layout.ts +23 -0
- package/src/utilities/_reset.scss +68 -0
- package/src/utilities/background-color/index.scss +37 -0
- package/src/utilities/border/_border-color.scss +33 -0
- package/src/utilities/border/_border-radius.scss +17 -0
- package/src/utilities/border/_border-size.scss +10 -0
- package/src/utilities/box-shadow/index.scss +8 -0
- package/src/utilities/size/index.scss +9 -0
- package/src/utilities/spaces/_gap.scss +20 -0
- package/src/utilities/spaces/_margin.scss +69 -0
- package/src/utilities/spaces/_padding.scss +69 -0
- package/src/utilities/typography/_color.scss +35 -0
- package/src/utilities/typography/_font.scss +63 -0
- package/src/utilities.ts +67 -0
- package/src/variables.ts +40 -0
package/package.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "procode-vs-theme",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "VarStreet VS Theme - A comprehensive SCSS theme package for ProCode framework with variables, components, layout, and utilities for flexible design system usage",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
8
|
+
"types": "dist/types/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"src",
|
|
12
|
+
"README.md",
|
|
13
|
+
"CHANGELOG.md"
|
|
14
|
+
],
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": "./dist/index.esm.js",
|
|
18
|
+
"require": "./dist/index.js",
|
|
19
|
+
"types": "./dist/types/index.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./scss": "./src/index.scss",
|
|
22
|
+
"./styles": "./dist/src/index.scss",
|
|
23
|
+
"./variables": {
|
|
24
|
+
"import": "./dist/variables.esm.js",
|
|
25
|
+
"require": "./dist/variables.js",
|
|
26
|
+
"types": "./dist/types/variables.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./components": {
|
|
29
|
+
"import": "./dist/components.esm.js",
|
|
30
|
+
"require": "./dist/components.js",
|
|
31
|
+
"types": "./dist/types/components.d.ts"
|
|
32
|
+
},
|
|
33
|
+
"./layout": {
|
|
34
|
+
"import": "./dist/layout.esm.js",
|
|
35
|
+
"require": "./dist/layout.js",
|
|
36
|
+
"types": "./dist/types/layout.d.ts"
|
|
37
|
+
},
|
|
38
|
+
"./utilities": {
|
|
39
|
+
"import": "./dist/utilities.esm.js",
|
|
40
|
+
"require": "./dist/utilities.js",
|
|
41
|
+
"types": "./dist/types/utilities.d.ts"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "rollup -c",
|
|
46
|
+
"dev": "rollup -c --watch",
|
|
47
|
+
"clean": "rimraf dist",
|
|
48
|
+
"prebuild": "npm run clean",
|
|
49
|
+
"prepublishOnly": "npm run build",
|
|
50
|
+
"postbuild": "powershell -Command \"New-Item -ItemType Directory -Path dist/src -Force; Copy-Item src/*.scss dist/src/\""
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"theme",
|
|
54
|
+
"scss",
|
|
55
|
+
"css",
|
|
56
|
+
"procode",
|
|
57
|
+
"vs-theme",
|
|
58
|
+
"ui-theme",
|
|
59
|
+
"design-system",
|
|
60
|
+
"varstreet",
|
|
61
|
+
"styling",
|
|
62
|
+
"variables",
|
|
63
|
+
"components",
|
|
64
|
+
"layout",
|
|
65
|
+
"utilities",
|
|
66
|
+
"theme-system",
|
|
67
|
+
"design-tokens"
|
|
68
|
+
],
|
|
69
|
+
"author": "VarStreet Team",
|
|
70
|
+
"license": "MIT",
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"sass": "^1.38.0"
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"@rollup/plugin-commonjs": "^26.0.1",
|
|
76
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
77
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
78
|
+
"@types/node": "^18.0.0",
|
|
79
|
+
"rimraf": "^5.0.0",
|
|
80
|
+
"rollup": "^4.18.0",
|
|
81
|
+
"rollup-plugin-copy": "^3.5.0",
|
|
82
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
83
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
84
|
+
"sass": "^1.38.0",
|
|
85
|
+
"typescript": "^4.9.3"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
$text-primary: #2666e3 !default;
|
|
2
|
+
$text-secondary: #595959 !default;
|
|
3
|
+
$text-success: #5ca224 !default;
|
|
4
|
+
$text-warning: #f39c12 !default;
|
|
5
|
+
$text-danger: #f90b0b !default;
|
|
6
|
+
$text-info: #17baff !default;
|
|
7
|
+
$text-default: #808080 !default;
|
|
8
|
+
$text-dark: #464646 !default;
|
|
9
|
+
$text-light: #ffffff !default;
|
|
10
|
+
$text-tertiary: #ed5085 !default;
|
|
11
|
+
|
|
12
|
+
$text-primary-hover: #1c428d !default;
|
|
13
|
+
$text-danger-hover: #af251c !default;
|
|
14
|
+
|
|
15
|
+
$background-primary: #2666e3 !default;
|
|
16
|
+
$background-secondary: #f4f4f4 !default;
|
|
17
|
+
$background-success: #67b926 !default;
|
|
18
|
+
$background-warning: #f97d0b !default;
|
|
19
|
+
$background-danger: #e74c3c !default;
|
|
20
|
+
$background-info: #17baff !default;
|
|
21
|
+
$background-default: #ffffff !default;
|
|
22
|
+
$background-dark: #29466e !default;
|
|
23
|
+
$background-dark-a: #0f233d33 !default;
|
|
24
|
+
$background-light: #F7F7F7 !default;
|
|
25
|
+
$background-tertiary: #ed5085 !default;
|
|
26
|
+
$background-lime: #f3de1d !default;
|
|
27
|
+
$background-transparent: rgba(0, 0, 0, 0.1) !default;
|
|
28
|
+
|
|
29
|
+
$border-primary: #2666e3 !default;
|
|
30
|
+
$border-secondary: #c6c6c6 !default;
|
|
31
|
+
$border-success: #67b926 !default;
|
|
32
|
+
$border-warning: #f97d0b !default;
|
|
33
|
+
$border-danger: #e74c3c !default;
|
|
34
|
+
$border-info: #17baff !default;
|
|
35
|
+
$border-light: #e3e3e3 !default;
|
|
36
|
+
$border-dark: #0f233d !default;
|
|
37
|
+
$border-default: #d9d9d9 !default;
|
|
38
|
+
|
|
39
|
+
$boxshadow-primary: #ababab40 !default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$font-family-primary: "IBM Plex Sans", sans-serif !default;
|
|
2
|
+
$font-family-secondary: SFMono-Regular, Menlo, Monaco, Consolas, "Roboto Mono",
|
|
3
|
+
"Ubuntu Mono", "Lucida Console", "Courier New", monospace !default;
|
|
4
|
+
|
|
5
|
+
$font-size-xxs: 8px !default;
|
|
6
|
+
$font-size-xs: 10px !default;
|
|
7
|
+
$font-size-sm: 11px !default;
|
|
8
|
+
$font-size-md: 12px !default;
|
|
9
|
+
$font-size-lg: 14px !default;
|
|
10
|
+
$font-size-xl: 16px !default;
|
|
11
|
+
$font-size-xxl: 18px !default;
|
|
12
|
+
|
|
13
|
+
$line-height-xxs: 1.25 !default;
|
|
14
|
+
$line-height-xs: 1.3 !default;
|
|
15
|
+
$line-height-sm: 1.27 !default;
|
|
16
|
+
$line-height-md: 1.33 !default;
|
|
17
|
+
$line-height-lg: 1.29 !default;
|
|
18
|
+
$line-height-xl: 1.31 !default;
|
|
19
|
+
$line-height-xxl: 1.28 !default;
|
|
20
|
+
|
|
21
|
+
$font-weight-light: 300 !default;
|
|
22
|
+
$font-weight-regular: 400 !default;
|
|
23
|
+
$font-weight-medium: 500 !default;
|
|
24
|
+
$font-weight-semibold: 600 !default;
|
|
25
|
+
$font-weight-bold: 700 !default;
|
|
26
|
+
$font-weight-extrabold: 800 !default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// /abstracts/_mixins.scss
|
|
2
|
+
|
|
3
|
+
@mixin apply-theme($name) {
|
|
4
|
+
$theme: tf.get-theme($name);
|
|
5
|
+
|
|
6
|
+
background-color: mdg.map-deep-get($theme, "colors", "background", "main");
|
|
7
|
+
color: mdg.map-deep-get($theme, "colors", "text", "primary");
|
|
8
|
+
|
|
9
|
+
font-family: mdg.map-deep-get($theme, "typography", "font-family", "primary");
|
|
10
|
+
font-size: mdg.map-deep-get($theme, "typography", "font-size", "md");
|
|
11
|
+
line-height: mdg.map-deep-get($theme, "typography", "line-height", "normal");
|
|
12
|
+
|
|
13
|
+
.btn {
|
|
14
|
+
background-color: mdg.map-deep-get($theme, "colors", "primary");
|
|
15
|
+
color: mdg.map-deep-get($theme, "colors", "text", "primary");
|
|
16
|
+
padding: mdg.map-deep-get($theme, "spacing", "sm");
|
|
17
|
+
border-radius: mdg.map-deep-get($theme, "border-radius", "md");
|
|
18
|
+
transition: all mdg.map-deep-get($theme, "transitions", "speed", "normal")
|
|
19
|
+
mdg.map-deep-get($theme, "transitions", "easing", "ease-in-out");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.card {
|
|
23
|
+
background-color: mdg.map-deep-get($theme, "colors", "background", "paper");
|
|
24
|
+
box-shadow: 0 2px 8px mdg.map-deep-get($theme, "colors", "shadow");
|
|
25
|
+
padding: mdg.map-deep-get($theme, "spacing", "md");
|
|
26
|
+
border-radius: mdg.map-deep-get($theme, "border-radius", "lg");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// abstracts/_media-queries.scss
|
|
2
|
+
|
|
3
|
+
$breakpoint-xs: 320px !default;
|
|
4
|
+
$breakpoint-sm: 576px !default;
|
|
5
|
+
$breakpoint-md: 768px !default;
|
|
6
|
+
$breakpoint-lg: 992px !default;
|
|
7
|
+
$breakpoint-xl: 1200px !default;
|
|
8
|
+
$breakpoint-xxl: 1366px !default;
|
|
9
|
+
|
|
10
|
+
$breakpoint-xs-mx-width: 100% !default;
|
|
11
|
+
$breakpoint-sm-mx-width: 100% !default;
|
|
12
|
+
$breakpoint-md-mx-width: 768px !default;
|
|
13
|
+
$breakpoint-lg-mx-width: 992px !default;
|
|
14
|
+
$breakpoint-xl-mx-width: 1180px !default;
|
|
15
|
+
$breakpoint-xxl-mx-width: 1346px !default;
|
|
16
|
+
|
|
17
|
+
@mixin responsive-body {
|
|
18
|
+
max-width: $breakpoint-xs-mx-width;
|
|
19
|
+
margin: auto;
|
|
20
|
+
@media (min-width: $breakpoint-sm) {
|
|
21
|
+
max-width: $breakpoint-sm-mx-width;
|
|
22
|
+
}
|
|
23
|
+
@media (min-width: $breakpoint-md) {
|
|
24
|
+
max-width: $breakpoint-md-mx-width;
|
|
25
|
+
}
|
|
26
|
+
@media (min-width: $breakpoint-lg) {
|
|
27
|
+
max-width: $breakpoint-lg-mx-width;
|
|
28
|
+
}
|
|
29
|
+
@media (min-width: $breakpoint-xl) {
|
|
30
|
+
max-width: $breakpoint-xl-mx-width;
|
|
31
|
+
}
|
|
32
|
+
@media (min-width: $breakpoint-xxl) {
|
|
33
|
+
max-width: $breakpoint-xxl-mx-width;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// VS Theme Base Export
|
|
2
|
+
// Provides access to all base variables and mixins
|
|
3
|
+
|
|
4
|
+
export const colors = './base/_color.scss';
|
|
5
|
+
export const fonts = './base/_font.scss';
|
|
6
|
+
export const spacing = './base/_space.scss';
|
|
7
|
+
export const borders = './base/_border.scss';
|
|
8
|
+
export const sizes = './base/_size.scss';
|
|
9
|
+
|
|
10
|
+
// Mixins
|
|
11
|
+
export const mediaQueryMixins = './base/mixins/_media-query-mx.scss';
|
|
12
|
+
export const fontSizeMixins = './base/mixins/_font_size-mx.scss';
|
|
13
|
+
export const applyThemeMixins = './base/mixins/_apply-theme.scss';
|
|
14
|
+
|
|
15
|
+
// All base styles combined
|
|
16
|
+
export const allBase = [
|
|
17
|
+
colors,
|
|
18
|
+
fonts,
|
|
19
|
+
spacing,
|
|
20
|
+
borders,
|
|
21
|
+
sizes,
|
|
22
|
+
mediaQueryMixins,
|
|
23
|
+
fontSizeMixins,
|
|
24
|
+
applyThemeMixins
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
colors,
|
|
29
|
+
fonts,
|
|
30
|
+
spacing,
|
|
31
|
+
borders,
|
|
32
|
+
sizes,
|
|
33
|
+
mixins: {
|
|
34
|
+
mediaQuery: mediaQueryMixins,
|
|
35
|
+
fontSize: fontSizeMixins,
|
|
36
|
+
applyTheme: applyThemeMixins
|
|
37
|
+
},
|
|
38
|
+
all: allBase
|
|
39
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@use "../base/mixins/font_size-mx" as mx;
|
|
2
|
+
@use "../base/font" as ft;
|
|
3
|
+
@use "../base/color" as cl;
|
|
4
|
+
@use "../base/border" as bo;
|
|
5
|
+
|
|
6
|
+
$btn-padding-xs: 5.5px !default;
|
|
7
|
+
$btn-padding-md: 8px !default;
|
|
8
|
+
$btn-padding-xl: 16px !default;
|
|
9
|
+
|
|
10
|
+
.qo-btn {
|
|
11
|
+
display: inline-block;
|
|
12
|
+
border-radius: bo.$border-radius-sm;
|
|
13
|
+
}
|
|
14
|
+
.qo-btn-full {
|
|
15
|
+
display: block;
|
|
16
|
+
border-radius: bo.$border-radius-sm;
|
|
17
|
+
width: 100%;
|
|
18
|
+
padding: $btn-padding-xl;
|
|
19
|
+
@include mx.font-size(ft.$font-size-md, ft.$line-height-md);
|
|
20
|
+
}
|
|
21
|
+
.qo-btn-xs {
|
|
22
|
+
padding: $btn-padding-xs;
|
|
23
|
+
@include mx.font-size(ft.$font-size-xs, ft.$line-height-xs);
|
|
24
|
+
}
|
|
25
|
+
.qo-btn-md {
|
|
26
|
+
padding: $btn-padding-md;
|
|
27
|
+
@include mx.font-size(ft.$font-size-md, ft.$line-height-md);
|
|
28
|
+
}
|
|
29
|
+
.qo-btn-primary {
|
|
30
|
+
background-color: cl.$background-primary !important;
|
|
31
|
+
border: bo.$border-width-sm solid cl.$border-primary;
|
|
32
|
+
color: cl.$text-light !important;
|
|
33
|
+
}
|
|
34
|
+
.qo-btn-default {
|
|
35
|
+
background-color: cl.$background-default;
|
|
36
|
+
border: bo.$border-width-sm solid cl.$border-default;
|
|
37
|
+
color: cl.$text-dark !important;
|
|
38
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@use "../base/mixins/font_size-mx" as mx;
|
|
2
|
+
@use "../base/font" as ft;
|
|
3
|
+
@use "../base/color" as cl;
|
|
4
|
+
@use "../base/border" as bo;
|
|
5
|
+
|
|
6
|
+
$input-padding-xs: 5.5px !default;
|
|
7
|
+
$input-padding-md: 8px !default;
|
|
8
|
+
$input-padding-xl: 16px !default;
|
|
9
|
+
|
|
10
|
+
.qo-input {
|
|
11
|
+
display: inline-block;
|
|
12
|
+
border-radius: bo.$border-radius-sm;
|
|
13
|
+
}
|
|
14
|
+
.qo-input-full {
|
|
15
|
+
display: block;
|
|
16
|
+
border-radius: bo.$border-radius-sm;
|
|
17
|
+
width: 100%;
|
|
18
|
+
padding: $input-padding-xl;
|
|
19
|
+
@include mx.font-size(ft.$font-size-md, ft.$line-height-md);
|
|
20
|
+
}
|
|
21
|
+
.qo-input-xs {
|
|
22
|
+
padding: $input-padding-xs;
|
|
23
|
+
@include mx.font-size(ft.$font-size-xs, ft.$line-height-xs);
|
|
24
|
+
}
|
|
25
|
+
.qo-input-md {
|
|
26
|
+
padding: $input-padding-md;
|
|
27
|
+
@include mx.font-size(ft.$font-size-md, ft.$line-height-md);
|
|
28
|
+
}
|
|
29
|
+
.qo-input-default {
|
|
30
|
+
background-color: cl.$background-default;
|
|
31
|
+
border: bo.$border-width-sm solid cl.$border-default;
|
|
32
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// VS Theme Components Export
|
|
2
|
+
// Provides access to all component styles
|
|
3
|
+
|
|
4
|
+
export const buttons = './components/_buttons.scss';
|
|
5
|
+
export const input = './components/_input.scss';
|
|
6
|
+
export const cards = './components/_cards.scss';
|
|
7
|
+
|
|
8
|
+
// All components combined
|
|
9
|
+
export const allComponents = [
|
|
10
|
+
buttons,
|
|
11
|
+
input,
|
|
12
|
+
cards
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
export default {
|
|
16
|
+
buttons,
|
|
17
|
+
input,
|
|
18
|
+
cards,
|
|
19
|
+
all: allComponents
|
|
20
|
+
};
|
package/src/index.scss
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@forward "./utilities/reset";
|
|
2
|
+
@forward "./utilities/typography/font";
|
|
3
|
+
@forward "./utilities/typography/color";
|
|
4
|
+
@forward "./utilities/background-color/index.scss";
|
|
5
|
+
@forward "./utilities/border/border-color";
|
|
6
|
+
@forward "./utilities/border/border-radius";
|
|
7
|
+
@forward "./utilities/border/border-size";
|
|
8
|
+
@forward "./utilities/spaces/gap";
|
|
9
|
+
@forward "./utilities/spaces/margin";
|
|
10
|
+
@forward "./utilities/spaces/padding";
|
|
11
|
+
@forward "./utilities/box-shadow/index.scss";
|
|
12
|
+
@forward "./utilities/size/index.scss";
|
|
13
|
+
|
|
14
|
+
@forward "./base/mixins/media-query-mx";
|
|
15
|
+
@forward "./base/border";
|
|
16
|
+
@forward "./base/color";
|
|
17
|
+
@forward "./base/font";
|
|
18
|
+
@forward "./base/space";
|
|
19
|
+
@forward "./base/size";
|
|
20
|
+
|
|
21
|
+
@forward "./components/buttons";
|
|
22
|
+
@forward "./components/input";
|
|
23
|
+
|
|
24
|
+
@forward "./layout/drawer";
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// VS Theme - Main Entry Point
|
|
2
|
+
// Provides comprehensive access to all theme components
|
|
3
|
+
|
|
4
|
+
// Main theme SCSS entry point
|
|
5
|
+
export const themeStylesheet = './index.scss';
|
|
6
|
+
|
|
7
|
+
// Theme Variables
|
|
8
|
+
export * as variables from './variables';
|
|
9
|
+
export * as base from './baseExports';
|
|
10
|
+
|
|
11
|
+
// Theme Components
|
|
12
|
+
export * as components from './components';
|
|
13
|
+
|
|
14
|
+
// Theme Layout
|
|
15
|
+
export * as layout from './layout';
|
|
16
|
+
|
|
17
|
+
// Theme Utilities
|
|
18
|
+
export * as utilities from './utilities';
|
|
19
|
+
|
|
20
|
+
// Default export - Main theme configuration
|
|
21
|
+
export default {
|
|
22
|
+
name: 'vs-theme',
|
|
23
|
+
version: '1.0.0',
|
|
24
|
+
stylesheet: './index.scss',
|
|
25
|
+
variables: './variables',
|
|
26
|
+
components: './components',
|
|
27
|
+
layout: './layout',
|
|
28
|
+
utilities: './utilities'
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Type definitions for theme configuration
|
|
32
|
+
export interface ThemeConfig {
|
|
33
|
+
name: string;
|
|
34
|
+
version: string;
|
|
35
|
+
stylesheet: string;
|
|
36
|
+
variables: string;
|
|
37
|
+
components: string;
|
|
38
|
+
layout: string;
|
|
39
|
+
utilities: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Theme utility functions
|
|
43
|
+
export const getThemeStylesheet = (): string => themeStylesheet;
|
|
44
|
+
export const getThemeConfig = (): ThemeConfig => ({
|
|
45
|
+
name: 'vs-theme',
|
|
46
|
+
version: '1.0.0',
|
|
47
|
+
stylesheet: './index.scss',
|
|
48
|
+
variables: './variables',
|
|
49
|
+
components: './components',
|
|
50
|
+
layout: './layout',
|
|
51
|
+
utilities: './utilities'
|
|
52
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use "../base/color" as cl;
|
|
2
|
+
|
|
3
|
+
.qo-drawer-shield {
|
|
4
|
+
background-color: cl.$background-transparent;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100vh;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.qo-drawer {
|
|
10
|
+
background-color: cl.$background-default;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.qo-drawer-md {
|
|
14
|
+
width: 43.53%;
|
|
15
|
+
height: 100%;
|
|
16
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/layout.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// VS Theme Layout Export
|
|
2
|
+
// Provides access to all layout styles
|
|
3
|
+
|
|
4
|
+
export const drawer = './layout/_drawer.scss';
|
|
5
|
+
export const header = './layout/_header.scss';
|
|
6
|
+
export const footer = './layout/_footer.scss';
|
|
7
|
+
export const sidebar = './layout/_sidebar.scss';
|
|
8
|
+
|
|
9
|
+
// All layout components combined
|
|
10
|
+
export const allLayout = [
|
|
11
|
+
drawer,
|
|
12
|
+
header,
|
|
13
|
+
footer,
|
|
14
|
+
sidebar
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
drawer,
|
|
19
|
+
header,
|
|
20
|
+
footer,
|
|
21
|
+
sidebar,
|
|
22
|
+
all: allLayout
|
|
23
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
@use "../base/mixins/media-query-mx" as mx;
|
|
2
|
+
/* Box sizing reset */
|
|
3
|
+
*,
|
|
4
|
+
*::before,
|
|
5
|
+
*::after {
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Remove default margin and padding */
|
|
10
|
+
body,
|
|
11
|
+
h1,
|
|
12
|
+
h2,
|
|
13
|
+
h3,
|
|
14
|
+
h4,
|
|
15
|
+
h5,
|
|
16
|
+
h6,
|
|
17
|
+
p,
|
|
18
|
+
blockquote,
|
|
19
|
+
pre,
|
|
20
|
+
dl,
|
|
21
|
+
dd,
|
|
22
|
+
ol,
|
|
23
|
+
ul,
|
|
24
|
+
figure,
|
|
25
|
+
hr,
|
|
26
|
+
fieldset,
|
|
27
|
+
legend {
|
|
28
|
+
margin: 0;
|
|
29
|
+
padding: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
body {
|
|
33
|
+
height: 100vh;
|
|
34
|
+
@include mx.responsive-body;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Remove list styles */
|
|
38
|
+
ul,
|
|
39
|
+
ol {
|
|
40
|
+
list-style: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Remove default border */
|
|
44
|
+
img,
|
|
45
|
+
fieldset {
|
|
46
|
+
border: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Remove link underlines */
|
|
50
|
+
a {
|
|
51
|
+
text-decoration: none;
|
|
52
|
+
color: inherit;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Inherit fonts for form elements */
|
|
56
|
+
input,
|
|
57
|
+
button,
|
|
58
|
+
textarea,
|
|
59
|
+
select {
|
|
60
|
+
font: inherit;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* Remove outline on buttons (optional, but be careful for accessibility) */
|
|
64
|
+
button {
|
|
65
|
+
background: none;
|
|
66
|
+
border: none;
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@use "../../base/color" as cl;
|
|
2
|
+
.qo-bg-primary {
|
|
3
|
+
background-color: cl.$background-primary;
|
|
4
|
+
}
|
|
5
|
+
.qo-bg-secondary {
|
|
6
|
+
background-color: cl.$background-secondary;
|
|
7
|
+
}
|
|
8
|
+
.qo-bg-success {
|
|
9
|
+
background-color: cl.$background-success;
|
|
10
|
+
}
|
|
11
|
+
.qo-bg-warning {
|
|
12
|
+
background-color: cl.$background-warning;
|
|
13
|
+
}
|
|
14
|
+
.qo-bg-danger {
|
|
15
|
+
background-color: cl.$background-danger;
|
|
16
|
+
}
|
|
17
|
+
.qo-bg-info {
|
|
18
|
+
background-color: cl.$background-info;
|
|
19
|
+
}
|
|
20
|
+
.qo-bg-default {
|
|
21
|
+
background-color: cl.$background-default;
|
|
22
|
+
}
|
|
23
|
+
.qo-bg-dark {
|
|
24
|
+
background-color: cl.$background-dark;
|
|
25
|
+
}
|
|
26
|
+
.qo-bg-dark-alt {
|
|
27
|
+
background-color: cl.$background-dark-a;
|
|
28
|
+
}
|
|
29
|
+
.qo-bg-light {
|
|
30
|
+
background-color: cl.$background-light;
|
|
31
|
+
}
|
|
32
|
+
.qo-bg-tertiary {
|
|
33
|
+
background-color: cl.$background-tertiary;
|
|
34
|
+
}
|
|
35
|
+
.qo-bg-lime {
|
|
36
|
+
background-color: cl.$background-lime;
|
|
37
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@use "../../base/color" as cl;
|
|
2
|
+
|
|
3
|
+
.qo-border-primary {
|
|
4
|
+
border-color: cl.$border-primary;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.qo-border-secondary {
|
|
8
|
+
border-color: cl.$border-secondary;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.qo-border-success {
|
|
12
|
+
border-color: cl.$border-success;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.qo-border-warning {
|
|
16
|
+
border-color: cl.$border-warning;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.qo-border-danger {
|
|
20
|
+
border-color: cl.$border-danger;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.qo-border-info {
|
|
24
|
+
border-color: cl.$border-info;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.qo-border-light {
|
|
28
|
+
border-color: cl.$border-light;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.qo-border-dark {
|
|
32
|
+
border-color: cl.$border-dark;
|
|
33
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@use "../../base/border" as bo;
|
|
2
|
+
|
|
3
|
+
.qo-border-radius-sm {
|
|
4
|
+
border-radius: bo.$border-radius-sm;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.qo-border-radius-md {
|
|
8
|
+
border-radius: bo.$border-radius-md;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.qo-border-radius-lg {
|
|
12
|
+
border-radius: bo.$border-radius-lg;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.qo-border-radius-full {
|
|
16
|
+
border-radius: bo.$border-radius-full;
|
|
17
|
+
}
|