@clusterenvision/ui-scss 1.94.3
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/LICENSE +21 -0
- package/README.md +152 -0
- package/dist/ce-ui-min.css +2951 -0
- package/dist/ce-ui-min.css.map +1 -0
- package/dist/ce-ui.css +4894 -0
- package/dist/ce-ui.css.map +1 -0
- package/dist/components/advanced/calendar.css +37 -0
- package/dist/components/advanced/carousel.css +59 -0
- package/dist/components/advanced/chat.css +29 -0
- package/dist/components/advanced/code-block.css +16 -0
- package/dist/components/advanced/editor.css +122 -0
- package/dist/components/advanced/rating.css +19 -0
- package/dist/components/advanced/steps.css +46 -0
- package/dist/components/advanced/timeline.css +32 -0
- package/dist/components/buttons/button-group.css +28 -0
- package/dist/components/buttons/button.css +305 -0
- package/dist/components/buttons/icon-button.css +32 -0
- package/dist/components/charts/chart-types.css +36 -0
- package/dist/components/containers/accordion.css +65 -0
- package/dist/components/containers/card.css +60 -0
- package/dist/components/containers/drawer.css +33 -0
- package/dist/components/containers/modal.css +61 -0
- package/dist/components/containers/panel.css +27 -0
- package/dist/components/containers/toast.css +38 -0
- package/dist/components/content/avatar.css +54 -0
- package/dist/components/content/badge.css +44 -0
- package/dist/components/content/chip.css +234 -0
- package/dist/components/content/divider.css +27 -0
- package/dist/components/content/image.css +23 -0
- package/dist/components/feedback/alert.css +50 -0
- package/dist/components/feedback/message.css +18 -0
- package/dist/components/feedback/progress-bar.css +22 -0
- package/dist/components/feedback/skeleton.css +35 -0
- package/dist/components/feedback/snackbar.css +30 -0
- package/dist/components/form-controls/checkbox.css +183 -0
- package/dist/components/form-controls/date-picker.css +26 -0
- package/dist/components/form-controls/file-upload.css +48 -0
- package/dist/components/form-controls/form-group.css +19 -0
- package/dist/components/form-controls/input.css +96 -0
- package/dist/components/form-controls/radio.css +20 -0
- package/dist/components/form-controls/range.css +42 -0
- package/dist/components/form-controls/select.css +243 -0
- package/dist/components/form-controls/textarea.css +28 -0
- package/dist/components/form-controls/toggle.css +38 -0
- package/dist/components/navigation/breadcrumbs.css +33 -0
- package/dist/components/navigation/menu.css +43 -0
- package/dist/components/navigation/navbar.css +64 -0
- package/dist/components/navigation/pagination.css +45 -0
- package/dist/components/navigation/sidebar.css +35 -0
- package/dist/components/navigation/tabs.css +25 -0
- package/dist/components/overlays/backdrop.css +6 -0
- package/dist/components/overlays/dropdown.css +77 -0
- package/dist/components/overlays/loader.css +28 -0
- package/dist/components/overlays/popover.css +54 -0
- package/dist/components/overlays/tooltip.css +37 -0
- package/dist/components/specialty/ce-atm-card.css +204 -0
- package/dist/components/tables-lists/data-table.css +48 -0
- package/dist/components/tables-lists/list.css +22 -0
- package/dist/components/tables-lists/table.css +40 -0
- package/dist/components/tables-lists/tree-view.css +37 -0
- package/dist/themes/core/package.json +12 -0
- package/dist/themes/core/tokens.css +120 -0
- package/dist/themes/core/tokens.d.ts +69 -0
- package/dist/themes/core/tokens.json +136 -0
- package/dist/themes/premium/package.json +12 -0
- package/dist/themes/premium/tokens.css +120 -0
- package/dist/themes/premium/tokens.d.ts +69 -0
- package/dist/themes/premium/tokens.json +136 -0
- package/dist/tokens/tokens.css +120 -0
- package/dist/tokens/tokens.d.ts +69 -0
- package/dist/tokens/tokens.json +133 -0
- package/package.json +61 -0
- package/src/abstracts/_functions.scss +34 -0
- package/src/abstracts/_mixins.scss +162 -0
- package/src/abstracts/_placeholders.scss +18 -0
- package/src/abstracts/_variables.scss +413 -0
- package/src/abstracts/_z-index.scss +9 -0
- package/src/accessibility/_focus-ring.scss +11 -0
- package/src/accessibility/_theme-switcher.scss +41 -0
- package/src/base/_animations.scss +32 -0
- package/src/base/_forms.scss +62 -0
- package/src/base/_reset.scss +102 -0
- package/src/base/_theme-base.scss +162 -0
- package/src/base/_typography.scss +38 -0
- package/src/components/advanced/_calendar.scss +47 -0
- package/src/components/advanced/_carousel.scss +87 -0
- package/src/components/advanced/_chat.scss +37 -0
- package/src/components/advanced/_code-block.scss +22 -0
- package/src/components/advanced/_editor.scss +156 -0
- package/src/components/advanced/_modal.scss +96 -0
- package/src/components/advanced/_notification-center.scss +172 -0
- package/src/components/advanced/_popover.scss +68 -0
- package/src/components/advanced/_rating.scss +22 -0
- package/src/components/advanced/_stepper.scss +135 -0
- package/src/components/advanced/_steps.scss +57 -0
- package/src/components/advanced/_timeline.scss +47 -0
- package/src/components/advanced/_wizard.scss +132 -0
- package/src/components/buttons/_button-group.scss +40 -0
- package/src/components/buttons/_button.scss +296 -0
- package/src/components/buttons/_icon-button.scss +42 -0
- package/src/components/charts/_chart-types.scss +74 -0
- package/src/components/containers/_accordion.scss +65 -0
- package/src/components/containers/_card.scss +65 -0
- package/src/components/containers/_drawer.scss +48 -0
- package/src/components/containers/_modal.scss +78 -0
- package/src/components/containers/_panel.scss +37 -0
- package/src/components/containers/_toast.scss +40 -0
- package/src/components/content/_avatar.scss +56 -0
- package/src/components/content/_badge.scss +42 -0
- package/src/components/content/_calendar.scss +147 -0
- package/src/components/content/_carousel.scss +112 -0
- package/src/components/content/_chip.scss +246 -0
- package/src/components/content/_divider.scss +49 -0
- package/src/components/content/_image.scss +32 -0
- package/src/components/content/_rating.scss +60 -0
- package/src/components/content/_rich-text-editor.scss +153 -0
- package/src/components/content/_timeline-advanced.scss +138 -0
- package/src/components/content/_timeline.scss +86 -0
- package/src/components/feedback/_advanced-notification.scss +156 -0
- package/src/components/feedback/_alert.scss +86 -0
- package/src/components/feedback/_message.scss +26 -0
- package/src/components/feedback/_notification-center.scss +118 -0
- package/src/components/feedback/_progress-bar.scss +48 -0
- package/src/components/feedback/_skeleton.scss +47 -0
- package/src/components/feedback/_snackbar.scss +38 -0
- package/src/components/feedback/_spinner.scss +211 -0
- package/src/components/feedback/_toast-queue.scss +164 -0
- package/src/components/form-controls/_autocomplete.scss +80 -0
- package/src/components/form-controls/_checkbox.scss +202 -0
- package/src/components/form-controls/_date-picker.scss +50 -0
- package/src/components/form-controls/_file-upload.scss +61 -0
- package/src/components/form-controls/_form-group.scss +26 -0
- package/src/components/form-controls/_input.scss +139 -0
- package/src/components/form-controls/_multi-select.scss +175 -0
- package/src/components/form-controls/_radio.scss +27 -0
- package/src/components/form-controls/_range.scss +54 -0
- package/src/components/form-controls/_select.scss +242 -0
- package/src/components/form-controls/_textarea.scss +45 -0
- package/src/components/form-controls/_toggle.scss +47 -0
- package/src/components/navigation/_breadcrumbs.scss +41 -0
- package/src/components/navigation/_menu.scss +75 -0
- package/src/components/navigation/_navbar.scss +79 -0
- package/src/components/navigation/_pagination.scss +85 -0
- package/src/components/navigation/_sidebar.scss +44 -0
- package/src/components/navigation/_stepper.scss +115 -0
- package/src/components/navigation/_tabs.scss +50 -0
- package/src/components/navigation/_tree-view.scss +95 -0
- package/src/components/navigation/_wizard.scss +132 -0
- package/src/components/overlays/_backdrop.scss +10 -0
- package/src/components/overlays/_dropdown.scss +110 -0
- package/src/components/overlays/_loader.scss +32 -0
- package/src/components/overlays/_popover.scss +64 -0
- package/src/components/overlays/_tooltip.scss +64 -0
- package/src/components/specialty/_ce-atm-card.scss +255 -0
- package/src/components/tables/_data-grid.scss +92 -0
- package/src/components/tables/_filter-grid.scss +29 -0
- package/src/components/tables-lists/_data-table.scss +63 -0
- package/src/components/tables-lists/_list.scss +30 -0
- package/src/components/tables-lists/_table.scss +79 -0
- package/src/components/tables-lists/_tree-view.scss +47 -0
- package/src/layout/_container.scss +20 -0
- package/src/layout/_footer.scss +41 -0
- package/src/layout/_grid.scss +23 -0
- package/src/layout/_header.scss +41 -0
- package/src/layout/_section.scss +26 -0
- package/src/layout/_sidebar.scss +39 -0
- package/src/layout/_stack.scss +23 -0
- package/src/main.css +3250 -0
- package/src/main.css.map +1 -0
- package/src/main.scss +158 -0
- package/src/minimal.scss +62 -0
- package/src/themes/_cool-slate.scss +11 -0
- package/src/themes/_dark.scss +11 -0
- package/src/themes/_default.scss +12 -0
- package/src/themes/_forest.scss +11 -0
- package/src/themes/_glassy-aero-windows.scss +9 -0
- package/src/themes/_glassy-amber.scss +21 -0
- package/src/themes/_glassy-aurora-sky.scss +9 -0
- package/src/themes/_glassy-blue.scss +10 -0
- package/src/themes/_glassy-cyan.scss +9 -0
- package/src/themes/_glassy-emerald-mist.scss +9 -0
- package/src/themes/_glassy-frosted-silver.scss +9 -0
- package/src/themes/_glassy-glass-white.scss +9 -0
- package/src/themes/_glassy-gold.scss +9 -0
- package/src/themes/_glassy-green.scss +10 -0
- package/src/themes/_glassy-ice-black.scss +13 -0
- package/src/themes/_glassy-mac-dark.scss +13 -0
- package/src/themes/_glassy-midnight-blue.scss +12 -0
- package/src/themes/_glassy-neon-cyber.scss +9 -0
- package/src/themes/_glassy-orange.scss +10 -0
- package/src/themes/_glassy-pink.scss +9 -0
- package/src/themes/_glassy-purple.scss +10 -0
- package/src/themes/_glassy-rose-gold.scss +9 -0
- package/src/themes/_glassy-sakura-glass.scss +9 -0
- package/src/themes/_glassy-silver.scss +9 -0
- package/src/themes/_glassy-teal.scss +9 -0
- package/src/themes/_high-contrast.scss +11 -0
- package/src/themes/_light.scss +10 -0
- package/src/themes/_mac.scss +10 -0
- package/src/themes/_minimal-mono.scss +11 -0
- package/src/themes/_mintwave.scss +9 -0
- package/src/themes/_neutral-light.scss +11 -0
- package/src/themes/_nordwave.scss +9 -0
- package/src/themes/_ocean.scss +9 -0
- package/src/themes/_orange.scss +9 -0
- package/src/themes/_purple.scss +9 -0
- package/src/themes/_red.scss +9 -0
- package/src/themes/_skyfade.scss +9 -0
- package/src/themes/_soft-pastel.scss +11 -0
- package/src/themes/_solarized.scss +9 -0
- package/src/themes/_standard-dark.scss +8 -0
- package/src/themes/_standard-default.scss +9 -0
- package/src/themes/_transparent.scss +9 -0
- package/src/themes/_true-dark.scss +11 -0
- package/src/themes/_warm-neutral.scss +11 -0
- package/src/themes.zip +0 -0
- package/src/tokens/tokens.json +133 -0
- package/src/utilities/_display.scss +11 -0
- package/src/utilities/_flex.scss +9 -0
- package/src/utilities/_position.scss +6 -0
- package/src/utilities/_screen-reader.scss +9 -0
- package/src/utilities/_spacing.scss +22 -0
- package/src/utilities/_text.scss +14 -0
- package/src/utilities/_visibility.scss +4 -0
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@clusterenvision/ui-scss",
|
|
3
|
+
"version": "1.94.3",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/ce-ui.css",
|
|
6
|
+
"style": "dist/ce-ui.css",
|
|
7
|
+
"files": [
|
|
8
|
+
"src/",
|
|
9
|
+
"dist/",
|
|
10
|
+
"src/main.scss"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "npm run build:tokens && sass src/main.scss dist/ce-ui.css && sass src/minimal.scss dist/ce-ui-min.css && npm run build:components",
|
|
14
|
+
"build:components": "node scripts/build-components.js",
|
|
15
|
+
"build:minimal": "sass src/minimal.scss dist/ce-ui-min.css",
|
|
16
|
+
"docs:dev": "vitepress dev docs",
|
|
17
|
+
"docs:build": "npm run build:tokens && vitepress build docs",
|
|
18
|
+
"docs:serve": "vitepress serve docs",
|
|
19
|
+
"build:css": "sass src/main.scss tests/public/css/main.css && sass src/main.scss docs/.vitepress/theme/main.css",
|
|
20
|
+
"build:tokens": "node scripts/generate-tokens.js",
|
|
21
|
+
"themes:export": "node scripts/export-product-themes.js",
|
|
22
|
+
"tokens:baseline": "node scripts/update-token-baseline.js",
|
|
23
|
+
"tokens:diff": "node scripts/token-diff.js",
|
|
24
|
+
"tokens:diff:check": "node scripts/token-diff.js --check",
|
|
25
|
+
"tokens:changelog": "node scripts/check-token-changelog.js",
|
|
26
|
+
"docs:tokens": "node scripts/sync-docs-tokens.js",
|
|
27
|
+
"lint:tokens": "node scripts/lint-tokens.js",
|
|
28
|
+
"lint:tokens:update": "node scripts/lint-tokens.js --update-baseline",
|
|
29
|
+
"lint:rtl": "node scripts/lint-rtl.js",
|
|
30
|
+
"lint:rtl:update": "node scripts/lint-rtl.js --update-baseline",
|
|
31
|
+
"test:tokens": "node scripts/generate-tokens.js && node --test tests/tokens/tokens.test.js",
|
|
32
|
+
"audit:visual": "node scripts/audit-visual-consistency.js",
|
|
33
|
+
"audit:visual:fix": "node scripts/audit-visual-consistency.js --fix",
|
|
34
|
+
"analyze:css": "node scripts/analyze-css-bundles.js",
|
|
35
|
+
"report:css-vars": "node scripts/report-css-vars.js",
|
|
36
|
+
"check:css-leakage": "node scripts/check-component-css-leakage.js",
|
|
37
|
+
"vrt:baseline": "npm run build:css && npx playwright test --config tests/visual/playwright.config.ts --update-snapshots",
|
|
38
|
+
"vrt:test": "npm run build:css && npx playwright test --config tests/visual/playwright.config.ts",
|
|
39
|
+
"vrt:update": "npm run vrt:baseline",
|
|
40
|
+
"check:dist": "node scripts/check-dist.js",
|
|
41
|
+
"ci:check": "npm run check:dist && npm run analyze:css && npm run report:css-vars && npm run check:css-leakage && npm run tokens:diff && npm run tokens:changelog"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@playwright/test": "^1.60.0",
|
|
45
|
+
"sass": "^1.101.0",
|
|
46
|
+
"vitepress": "^1.6.4"
|
|
47
|
+
},
|
|
48
|
+
"description": "Modular, scalable, reusable SCSS design system for Angular, React, Vue, Blazor, and HTML.",
|
|
49
|
+
"directories": {
|
|
50
|
+
"doc": "docs"
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"scss",
|
|
54
|
+
"design-system",
|
|
55
|
+
"component-library",
|
|
56
|
+
"responsive",
|
|
57
|
+
"enterprise"
|
|
58
|
+
],
|
|
59
|
+
"author": "Cluster Envision",
|
|
60
|
+
"license": "MIT"
|
|
61
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// abstracts/_functions.scss
|
|
2
|
+
@use 'variables' as *;
|
|
3
|
+
@use 'sass:map';
|
|
4
|
+
|
|
5
|
+
@function color($name) {
|
|
6
|
+
@return map.get($colors, $name);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@function glassy-color($theme, $key) {
|
|
10
|
+
@return map.get(map.get($glassy-colors, $theme), $key);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@function space($size) {
|
|
15
|
+
@return map.get($spacing, $size);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@function radius($size) {
|
|
19
|
+
@return map.get($radius, $size);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@function shadow($key) {
|
|
24
|
+
@if map.has-key($shadow, $key) {
|
|
25
|
+
@return map.get($shadow, $key);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@warn "Unknown shadow `#{$key}`. Returning `none`.";
|
|
29
|
+
@return none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@function z($layer) {
|
|
33
|
+
@return map.get($z-index, $layer);
|
|
34
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// abstracts/_mixins.scss
|
|
2
|
+
@use "sass:meta";
|
|
3
|
+
@use "variables" as vars;
|
|
4
|
+
@use "functions" as fn;
|
|
5
|
+
|
|
6
|
+
@mixin flex-center {
|
|
7
|
+
display: flex;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@mixin elevation($size) {
|
|
13
|
+
box-shadow: vars.shadow($size);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin elevation-token($level) {
|
|
17
|
+
box-shadow: var(--ce-shadow-#{$level}, #{fn.shadow($level)});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin typography(
|
|
21
|
+
$size: md,
|
|
22
|
+
$weight: regular,
|
|
23
|
+
$line-height: normal,
|
|
24
|
+
$letter-spacing: null,
|
|
25
|
+
$family: null
|
|
26
|
+
) {
|
|
27
|
+
$font-family: var(--ce-typography-font-family, var(--ce-font-family, #{vars.$font-family-base}));
|
|
28
|
+
@if $family != null {
|
|
29
|
+
$font-family: $family;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
$font-size: var(--ce-typography-font-size-#{$size}, #{$size});
|
|
33
|
+
@if meta.type-of($size) == number {
|
|
34
|
+
$font-size: $size;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
$font-weight: var(--ce-typography-font-weight-#{$weight}, #{$weight});
|
|
38
|
+
@if meta.type-of($weight) == number {
|
|
39
|
+
$font-weight: $weight;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
$line-height-val: var(--ce-typography-line-height-#{$line-height}, #{$line-height});
|
|
43
|
+
@if meta.type-of($line-height) == number {
|
|
44
|
+
$line-height-val: $line-height;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
font-family: $font-family;
|
|
48
|
+
font-size: $font-size;
|
|
49
|
+
font-weight: $font-weight;
|
|
50
|
+
line-height: $line-height-val;
|
|
51
|
+
@if $letter-spacing != null {
|
|
52
|
+
letter-spacing: $letter-spacing;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@mixin surface(
|
|
57
|
+
$bg: surface,
|
|
58
|
+
$text: text,
|
|
59
|
+
$border: border,
|
|
60
|
+
$radius: md,
|
|
61
|
+
$shadow: null
|
|
62
|
+
) {
|
|
63
|
+
background-color: var(--ce-color-#{$bg}, var(--theme-bg, #{fn.color(white)}));
|
|
64
|
+
color: var(--ce-color-#{$text}, var(--theme-fg, #{fn.color(dark)}));
|
|
65
|
+
border: 1px solid var(--ce-color-#{$border}, var(--theme-border, #{fn.color(muted)}));
|
|
66
|
+
border-radius: var(--ce-radius-#{$radius}, #{fn.radius($radius)});
|
|
67
|
+
@if $shadow != null {
|
|
68
|
+
box-shadow: var(--ce-shadow-#{$shadow}, #{fn.shadow($shadow)});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@mixin state($state) {
|
|
73
|
+
@if $state == hover {
|
|
74
|
+
&:hover {
|
|
75
|
+
@content;
|
|
76
|
+
}
|
|
77
|
+
} @else if $state == focus {
|
|
78
|
+
&:focus-visible {
|
|
79
|
+
@content;
|
|
80
|
+
}
|
|
81
|
+
} @else if $state == active {
|
|
82
|
+
&:active {
|
|
83
|
+
@content;
|
|
84
|
+
}
|
|
85
|
+
} @else if $state == disabled {
|
|
86
|
+
&:disabled,
|
|
87
|
+
&[aria-disabled="true"] {
|
|
88
|
+
@content;
|
|
89
|
+
}
|
|
90
|
+
} @else if $state == loading {
|
|
91
|
+
&[data-state~="loading"],
|
|
92
|
+
&[aria-busy="true"] {
|
|
93
|
+
@content;
|
|
94
|
+
}
|
|
95
|
+
} @else {
|
|
96
|
+
@warn "Unknown state `#{$state}`.";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@mixin radius($size) {
|
|
101
|
+
border-radius: vars.radius($size);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@mixin visually-hidden {
|
|
105
|
+
position: absolute !important;
|
|
106
|
+
height: 1px;
|
|
107
|
+
width: 1px;
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@mixin media-breakpoint-up($bp) {
|
|
114
|
+
@if $bp == sm {
|
|
115
|
+
@media (min-width: 576px) {
|
|
116
|
+
@content;
|
|
117
|
+
}
|
|
118
|
+
} @else if $bp == md {
|
|
119
|
+
@media (min-width: 768px) {
|
|
120
|
+
@content;
|
|
121
|
+
}
|
|
122
|
+
} @else if $bp == lg {
|
|
123
|
+
@media (min-width: 992px) {
|
|
124
|
+
@content;
|
|
125
|
+
}
|
|
126
|
+
} @else if $bp == xl {
|
|
127
|
+
@media (min-width: 1200px) {
|
|
128
|
+
@content;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@mixin mintwave-gradient {
|
|
134
|
+
background: linear-gradient(
|
|
135
|
+
135deg,
|
|
136
|
+
#{fn.color(mintwave-blue)},
|
|
137
|
+
#{fn.color(mintwave-green)}
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@mixin responsive-font($min, $max) {
|
|
142
|
+
font-size: $min;
|
|
143
|
+
|
|
144
|
+
@media (min-width: 768px) {
|
|
145
|
+
font-size: calc(
|
|
146
|
+
#{$min} + (#{$max} - #{$min}) * ((100vw - 768px) / (1440 - 768))
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@media (min-width: 1440px) {
|
|
151
|
+
font-size: $max;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@mixin glassy-surface {
|
|
156
|
+
background: var(--theme-bg);
|
|
157
|
+
border: 1px solid var(--theme-border, rgba(255, 255, 255, 0.2));
|
|
158
|
+
-webkit-backdrop-filter: blur(16px);
|
|
159
|
+
backdrop-filter: blur(16px);
|
|
160
|
+
border-radius: var(--theme-radius);
|
|
161
|
+
box-shadow: var(--theme-shadow);
|
|
162
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// abstracts/_placeholders.scss
|
|
2
|
+
|
|
3
|
+
%center-content {
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
%transition {
|
|
10
|
+
transition: all 0.3s ease-in-out;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
%button-reset {
|
|
14
|
+
background: none;
|
|
15
|
+
border: none;
|
|
16
|
+
padding: 0;
|
|
17
|
+
cursor: pointer;
|
|
18
|
+
}
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
// abstracts/_variables.scss
|
|
2
|
+
|
|
3
|
+
// --------------------------------------
|
|
4
|
+
// Typography
|
|
5
|
+
// --------------------------------------
|
|
6
|
+
$font-family-base: 'Inter', sans-serif;
|
|
7
|
+
$font-size-base: 12px;
|
|
8
|
+
$font-weight-normal: 400;
|
|
9
|
+
$font-weight-bold: 600;
|
|
10
|
+
$line-height-base: 1.5;
|
|
11
|
+
|
|
12
|
+
// --------------------------------------
|
|
13
|
+
// Color Palette
|
|
14
|
+
// --------------------------------------
|
|
15
|
+
// --------------------------------------
|
|
16
|
+
// Color Palette
|
|
17
|
+
// --------------------------------------
|
|
18
|
+
$colors: (
|
|
19
|
+
// Primary System Colors
|
|
20
|
+
primary: #1a73e8,
|
|
21
|
+
secondary: #fbbc04,
|
|
22
|
+
success: #34a853,
|
|
23
|
+
danger: #ea4335,
|
|
24
|
+
warning: #f9ab00,
|
|
25
|
+
info: #4285f4,
|
|
26
|
+
|
|
27
|
+
// -------------------------------
|
|
28
|
+
// Base Colors
|
|
29
|
+
// -------------------------------
|
|
30
|
+
white: #ffffff,
|
|
31
|
+
black: #000000,
|
|
32
|
+
light: #f8f9fa,
|
|
33
|
+
dark: #202124,
|
|
34
|
+
muted: #9aa0a6,
|
|
35
|
+
|
|
36
|
+
// -------------------------------
|
|
37
|
+
// Core UI Accent Tokens
|
|
38
|
+
// -------------------------------
|
|
39
|
+
accent-blue: #0078d4,
|
|
40
|
+
accent-blue-strong: #005fa3,
|
|
41
|
+
accent-blue-soft: #e0eaff,
|
|
42
|
+
accent-blue-muted: #d0e7ff,
|
|
43
|
+
accent-rose: #d6336c,
|
|
44
|
+
accent-rose-soft: #ffe0e0,
|
|
45
|
+
accent-amber: #ffb700,
|
|
46
|
+
accent-lime: #2ecc40,
|
|
47
|
+
neutral-ink: #222222,
|
|
48
|
+
neutral-mid: #888888,
|
|
49
|
+
neutral-surface: #f5f7fa,
|
|
50
|
+
neutral-soft: #f8fafc,
|
|
51
|
+
neutral-hover: #e6f0ff,
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
// -------------------------------
|
|
55
|
+
// Grayscale (WCAG friendly steps)
|
|
56
|
+
// -------------------------------
|
|
57
|
+
gray-50: #f9f9f9,
|
|
58
|
+
gray-100: #f1f3f4,
|
|
59
|
+
gray-200: #e0e0e0,
|
|
60
|
+
gray-300: #dadce0,
|
|
61
|
+
gray-400: #c4c4c4,
|
|
62
|
+
gray-500: #9e9e9e,
|
|
63
|
+
gray-600: #70757a,
|
|
64
|
+
gray-700: #5f6368,
|
|
65
|
+
gray-800: #3c4043,
|
|
66
|
+
gray-900: #202124,
|
|
67
|
+
|
|
68
|
+
// -------------------------------
|
|
69
|
+
// Red Scale
|
|
70
|
+
// -------------------------------
|
|
71
|
+
red-50: #ffebee,
|
|
72
|
+
red-100: #ffcdd2,
|
|
73
|
+
red-200: #ef9a9a,
|
|
74
|
+
red-300: #e57373,
|
|
75
|
+
red-400: #ef5350,
|
|
76
|
+
red-500: #f44336,
|
|
77
|
+
red-600: #e53935,
|
|
78
|
+
red-700: #d32f2f,
|
|
79
|
+
red-800: #c62828,
|
|
80
|
+
red-900: #b71c1c,
|
|
81
|
+
red: #ea4335,
|
|
82
|
+
|
|
83
|
+
// -------------------------------
|
|
84
|
+
// Purple Scale
|
|
85
|
+
// -------------------------------
|
|
86
|
+
purple-50: #f3e5f5,
|
|
87
|
+
purple-100: #e1bee7,
|
|
88
|
+
purple-200: #ce93d8,
|
|
89
|
+
purple-300: #ba68c8,
|
|
90
|
+
purple-400: #ab47bc,
|
|
91
|
+
purple-500: #9c27b0,
|
|
92
|
+
purple-600: #8e24aa,
|
|
93
|
+
purple-700: #7b1fa2,
|
|
94
|
+
purple-800: #6a1b9a,
|
|
95
|
+
purple-900: #4a148c,
|
|
96
|
+
purple: #9c27b0,
|
|
97
|
+
|
|
98
|
+
// -------------------------------
|
|
99
|
+
// Yellow Scale
|
|
100
|
+
// -------------------------------
|
|
101
|
+
yellow: #fdd835,
|
|
102
|
+
yellow-100: #fff9c4,
|
|
103
|
+
yellow-300: #fff176,
|
|
104
|
+
yellow-500: #ffeb3b,
|
|
105
|
+
yellow-700: #fbc02d,
|
|
106
|
+
|
|
107
|
+
// -------------------------------
|
|
108
|
+
// Orange Scale
|
|
109
|
+
// -------------------------------
|
|
110
|
+
orange-50: #fff3e0,
|
|
111
|
+
orange-100: #ffe0b2,
|
|
112
|
+
orange-200: #ffcc80,
|
|
113
|
+
orange-300: #ffb74d,
|
|
114
|
+
orange-400: #ffa726,
|
|
115
|
+
orange-500: #ff9800,
|
|
116
|
+
orange-600: #fb8c00,
|
|
117
|
+
orange-700: #f57c00,
|
|
118
|
+
orange-800: #ef6c00,
|
|
119
|
+
orange-900: #e65100,
|
|
120
|
+
orange: #ff9800,
|
|
121
|
+
|
|
122
|
+
// -------------------------------
|
|
123
|
+
// Solarized Theme
|
|
124
|
+
// -------------------------------
|
|
125
|
+
solar-base03: #002b36,
|
|
126
|
+
solar-base02: #073642,
|
|
127
|
+
solar-base01: #586e75,
|
|
128
|
+
solar-base00: #657b83,
|
|
129
|
+
solar-base0: #839496,
|
|
130
|
+
solar-base1: #93a1a1,
|
|
131
|
+
solar-base2: #eee8d5,
|
|
132
|
+
solar-base3: #fdf6e3,
|
|
133
|
+
solar-yellow: #b58900,
|
|
134
|
+
solar-orange: #cb4b16,
|
|
135
|
+
solar-red: #dc322f,
|
|
136
|
+
solar-magenta: #d33682,
|
|
137
|
+
solar-violet: #6c71c4,
|
|
138
|
+
solar-blue: #268bd2,
|
|
139
|
+
solar-cyan: #2aa198,
|
|
140
|
+
solar-green: #859900,
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
// -------------------------------
|
|
144
|
+
// Ocean Theme
|
|
145
|
+
// -------------------------------
|
|
146
|
+
ocean-light: #e0f7fa,
|
|
147
|
+
ocean-deep: #006064,
|
|
148
|
+
ocean-primary: #00bcd4,
|
|
149
|
+
ocean-muted: #4dd0e1,
|
|
150
|
+
|
|
151
|
+
// -------------------------------
|
|
152
|
+
// Forest Theme
|
|
153
|
+
// -------------------------------
|
|
154
|
+
forest-light: #e8f5e9,
|
|
155
|
+
forest-deep: #1b5e20,
|
|
156
|
+
forest-primary: #4caf50,
|
|
157
|
+
forest-muted: #81c784,
|
|
158
|
+
|
|
159
|
+
// -------------------------------
|
|
160
|
+
// macOS Theme
|
|
161
|
+
// -------------------------------
|
|
162
|
+
mac-bg: #f5f5f7,
|
|
163
|
+
mac-text: #1d1d1f,
|
|
164
|
+
mac-accent: #007aff,
|
|
165
|
+
mac-muted: #8e8e93,
|
|
166
|
+
|
|
167
|
+
// Accessible overlays
|
|
168
|
+
overlay-light: rgba(255, 255, 255, 0.8),
|
|
169
|
+
overlay-dark: rgba(0, 0, 0, 0.6),
|
|
170
|
+
|
|
171
|
+
// Alerts
|
|
172
|
+
alert-success-bg: #e6f4ea,
|
|
173
|
+
alert-warning-bg: #fff4e5,
|
|
174
|
+
alert-danger-bg: #fce8e6,
|
|
175
|
+
|
|
176
|
+
// Mintwave Theme
|
|
177
|
+
mintwave-bg: #e6f9f6,
|
|
178
|
+
mintwave-fg: #003c3c,
|
|
179
|
+
mintwave-primary: #00bfa5,
|
|
180
|
+
mintwave-muted: #a7d8cc,
|
|
181
|
+
|
|
182
|
+
// Mintwave Gradient Options
|
|
183
|
+
mintwave-blue: #6dd5ed,
|
|
184
|
+
mintwave-green: #00c9a7,
|
|
185
|
+
mintwave-sky: #a1f7f0,
|
|
186
|
+
mintwave-glow: #c7fcec,
|
|
187
|
+
mintwave-dark: #004d4d,
|
|
188
|
+
|
|
189
|
+
// -------------------------------
|
|
190
|
+
// Skyfade Theme Tokens
|
|
191
|
+
// -------------------------------
|
|
192
|
+
skyfade-bg: #f4f9ff, // 🌤️ soft sky blue background
|
|
193
|
+
skyfade-fg: #1e2a38, // 🖋 rich navy text
|
|
194
|
+
skyfade-primary: #3399ff, // 💧 vibrant sky blue
|
|
195
|
+
skyfade-muted: #c8ddee, // 🌫️ airy bluish gray
|
|
196
|
+
|
|
197
|
+
// Optional visual tokens
|
|
198
|
+
skyfade-glow: #d6eaff,
|
|
199
|
+
skyfade-hover: #e0f0ff,
|
|
200
|
+
skyfade-border: #bcd6eb,
|
|
201
|
+
skyfade-deep: #005a9c,
|
|
202
|
+
|
|
203
|
+
// -------------------------------
|
|
204
|
+
// Nordwave Theme Colors
|
|
205
|
+
// -------------------------------
|
|
206
|
+
nord-bg: #eceff4, // 🧊 Snow Storm 1
|
|
207
|
+
nord-fg: #2e3440, // 🌒 Polar Night
|
|
208
|
+
nord-accent: #5e81ac, // 🔷 Arctic blue
|
|
209
|
+
nord-muted: #d8dee9, // ☁️ Snow Storm 2
|
|
210
|
+
|
|
211
|
+
// Optional contrast tokens
|
|
212
|
+
nord-blue: #81a1c1,
|
|
213
|
+
nord-cyan: #8fbcbb,
|
|
214
|
+
nord-green: #a3be8c,
|
|
215
|
+
nord-orange: #d08770,
|
|
216
|
+
nord-red: #bf616a,
|
|
217
|
+
nord-deep: #3b4252,
|
|
218
|
+
nord-border: #d0d8e0,
|
|
219
|
+
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
// --------------------------------------
|
|
224
|
+
// Border Radius
|
|
225
|
+
// --------------------------------------
|
|
226
|
+
$radius: (
|
|
227
|
+
none: 0,
|
|
228
|
+
xs: 2px, // Very subtle rounding
|
|
229
|
+
sm: 4px, // Common for buttons/input
|
|
230
|
+
md: 8px, // Standard cards/dialogs
|
|
231
|
+
lg: 12px, // Modals, larger components
|
|
232
|
+
xl: 16px, // For deeply rounded containers
|
|
233
|
+
pill: 10px, // For pill-shaped tags/buttons
|
|
234
|
+
circle: 50% // For avatars or circular buttons
|
|
235
|
+
);
|
|
236
|
+
// _variables.scss
|
|
237
|
+
|
|
238
|
+
$spacing: (
|
|
239
|
+
0: 0rem, // 0px
|
|
240
|
+
xs: 0.25rem, // 4px
|
|
241
|
+
sm: 0.5rem, // 8px
|
|
242
|
+
md: 1rem, // 16px
|
|
243
|
+
lg: 1.5rem, // 24px
|
|
244
|
+
xl: 2rem, // 32px
|
|
245
|
+
xxl: 3rem, // 48px
|
|
246
|
+
xxxl: 4rem // 64px
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
// Optional: numeric tokens for utility classes if needed
|
|
250
|
+
$spacing-numeric: (
|
|
251
|
+
1: 0.25rem, // 4px
|
|
252
|
+
2: 0.5rem, // 8px
|
|
253
|
+
3: 1rem, // 16px
|
|
254
|
+
4: 1.5rem, // 24px
|
|
255
|
+
5: 2rem, // 32px
|
|
256
|
+
6: 3rem, // 48px
|
|
257
|
+
7: 4rem // 64px
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
// You can now use fn.space(sm), fn.space(xl), etc.
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
// --------------------------------------
|
|
264
|
+
// Box Shadows
|
|
265
|
+
// --------------------------------------
|
|
266
|
+
$shadow: (
|
|
267
|
+
none: none,
|
|
268
|
+
xs: 0 1px 2px rgba(0, 0, 0, 0.04),
|
|
269
|
+
sm: 0 1px 3px rgba(0, 0, 0, 0.08),
|
|
270
|
+
md: 0 4px 6px rgba(0, 0, 0, 0.10),
|
|
271
|
+
lg: 0 10px 15px rgba(0, 0, 0, 0.15),
|
|
272
|
+
xl: 0 20px 25px rgba(0, 0, 0, 0.2),
|
|
273
|
+
xxl: 0 25px 50px rgba(0, 0, 0, 0.25)
|
|
274
|
+
);
|
|
275
|
+
|
|
276
|
+
// --------------------------------------
|
|
277
|
+
// Z-Index Layers
|
|
278
|
+
// --------------------------------------
|
|
279
|
+
$z-index: (
|
|
280
|
+
auto: auto,
|
|
281
|
+
base: 1,
|
|
282
|
+
dropdown: 1000,
|
|
283
|
+
sticky: 1020,
|
|
284
|
+
fixed: 1030,
|
|
285
|
+
modal: 1050,
|
|
286
|
+
popover: 1060,
|
|
287
|
+
toast: 1080,
|
|
288
|
+
tooltip: 1090
|
|
289
|
+
);
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
$glassy-colors: (
|
|
293
|
+
glassy-blue: (
|
|
294
|
+
bg: rgba(0, 120, 255, 0.15),
|
|
295
|
+
fg: #ffffff,
|
|
296
|
+
accent: rgba(0, 120, 255, 0.4),
|
|
297
|
+
primary: #0078ff
|
|
298
|
+
),
|
|
299
|
+
glassy-green: (
|
|
300
|
+
bg: rgba(46, 204, 113, 0.15),
|
|
301
|
+
fg: #ffffff,
|
|
302
|
+
accent: rgba(46, 204, 113, 0.4),
|
|
303
|
+
primary: #2ecc71
|
|
304
|
+
),
|
|
305
|
+
glassy-purple: (
|
|
306
|
+
bg: rgba(155, 89, 182, 0.15),
|
|
307
|
+
fg: #ffffff,
|
|
308
|
+
accent: rgba(155, 89, 182, 0.4),
|
|
309
|
+
primary: #9b59b6
|
|
310
|
+
),
|
|
311
|
+
glassy-orange: (
|
|
312
|
+
bg: rgba(255, 165, 0, 0.15),
|
|
313
|
+
fg: #000000,
|
|
314
|
+
accent: rgba(255, 165, 0, 0.4),
|
|
315
|
+
primary: #ffa500
|
|
316
|
+
),
|
|
317
|
+
glassy-teal: (
|
|
318
|
+
bg: rgba(0, 128, 128, 0.15),
|
|
319
|
+
fg: #ffffff,
|
|
320
|
+
accent: rgba(0, 128, 128, 0.4),
|
|
321
|
+
primary: #008080
|
|
322
|
+
),
|
|
323
|
+
glassy-pink: (
|
|
324
|
+
bg: rgba(255, 105, 180, 0.15),
|
|
325
|
+
fg: #ffffff,
|
|
326
|
+
accent: rgba(255, 105, 180, 0.35),
|
|
327
|
+
primary: #ff69b4
|
|
328
|
+
),
|
|
329
|
+
glassy-gold: (
|
|
330
|
+
bg: rgba(255, 215, 0, 0.15),
|
|
331
|
+
fg: #000000,
|
|
332
|
+
accent: rgba(255, 215, 0, 0.3),
|
|
333
|
+
primary: #ffd700
|
|
334
|
+
),
|
|
335
|
+
glassy-cyan: (
|
|
336
|
+
bg: rgba(0, 255, 255, 0.15),
|
|
337
|
+
fg: #000000,
|
|
338
|
+
accent: rgba(0, 255, 255, 0.35),
|
|
339
|
+
primary: #00ffff
|
|
340
|
+
),
|
|
341
|
+
glassy-silver: (
|
|
342
|
+
bg: rgba(192, 192, 192, 0.15),
|
|
343
|
+
fg: #111111,
|
|
344
|
+
accent: rgba(192, 192, 192, 0.3),
|
|
345
|
+
primary: #c0c0c0
|
|
346
|
+
),
|
|
347
|
+
glassy-ice-black: (
|
|
348
|
+
bg: rgba(0, 0, 0, 0.25),
|
|
349
|
+
fg: #ffffff,
|
|
350
|
+
accent: rgba(255, 255, 255, 0.15),
|
|
351
|
+
primary: #000000
|
|
352
|
+
),
|
|
353
|
+
glassy-aurora-sky: (
|
|
354
|
+
bg: rgba(135, 206, 250, 0.15),
|
|
355
|
+
fg: #000000,
|
|
356
|
+
accent: rgba(135, 206, 250, 0.4),
|
|
357
|
+
primary: #87cefa
|
|
358
|
+
),
|
|
359
|
+
glassy-emerald-mist: (
|
|
360
|
+
bg: rgba(0, 250, 154, 0.15),
|
|
361
|
+
fg: #002e2e,
|
|
362
|
+
accent: rgba(0, 250, 154, 0.35),
|
|
363
|
+
primary: #00fa9a
|
|
364
|
+
),
|
|
365
|
+
glassy-neon-cyber: (
|
|
366
|
+
bg: rgba(57, 255, 20, 0.12),
|
|
367
|
+
fg: #00ff9f,
|
|
368
|
+
accent: rgba(57, 255, 20, 0.4),
|
|
369
|
+
primary: #39ff14
|
|
370
|
+
),
|
|
371
|
+
glassy-sakura-glass: (
|
|
372
|
+
bg: rgba(255, 182, 193, 0.2),
|
|
373
|
+
fg: #6e0d25,
|
|
374
|
+
accent: rgba(255, 182, 193, 0.3),
|
|
375
|
+
primary: #ffb6c1
|
|
376
|
+
),
|
|
377
|
+
glassy-midnight-blue: (
|
|
378
|
+
bg: rgba(25, 25, 112, 0.2),
|
|
379
|
+
fg: #ffffff,
|
|
380
|
+
accent: rgba(65, 105, 225, 0.3),
|
|
381
|
+
primary: #191970
|
|
382
|
+
),
|
|
383
|
+
glassy-frosted-silver: (
|
|
384
|
+
bg: rgba(245, 245, 245, 0.15),
|
|
385
|
+
fg: #202124,
|
|
386
|
+
accent: rgba(230, 230, 230, 0.25),
|
|
387
|
+
primary: #f0f0f0
|
|
388
|
+
),
|
|
389
|
+
glassy-aero-windows: (
|
|
390
|
+
bg: rgba(180, 200, 255, 0.12),
|
|
391
|
+
fg: #1a1a1a,
|
|
392
|
+
accent: rgba(140, 180, 255, 0.3),
|
|
393
|
+
primary: #90caf9
|
|
394
|
+
),
|
|
395
|
+
glassy-rose-gold: (
|
|
396
|
+
bg: rgba(255, 192, 203, 0.2),
|
|
397
|
+
fg: #661e43,
|
|
398
|
+
accent: rgba(255, 192, 203, 0.3),
|
|
399
|
+
primary: #b76e79
|
|
400
|
+
),
|
|
401
|
+
glassy-mac-dark: (
|
|
402
|
+
bg: rgba(29, 29, 31, 0.9),
|
|
403
|
+
fg: #f5f5f5,
|
|
404
|
+
accent: rgba(0, 122, 255, 0.4),
|
|
405
|
+
primary: #007aff
|
|
406
|
+
),
|
|
407
|
+
glassy-glass-white: (
|
|
408
|
+
bg: rgba(255, 255, 255, 0.12),
|
|
409
|
+
fg: #000000,
|
|
410
|
+
accent: rgba(240, 240, 240, 0.4),
|
|
411
|
+
primary: #ffffff
|
|
412
|
+
)
|
|
413
|
+
);
|