@code-coaching/vuetiful 0.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.
Files changed (78) hide show
  1. package/README.md +143 -0
  2. package/dist/style.css +1 -0
  3. package/dist/styles/all.css +4645 -0
  4. package/dist/types/components/atoms/VButton.vue.d.ts +86 -0
  5. package/dist/types/components/atoms/index.d.ts +2 -0
  6. package/dist/types/components/index.d.ts +2 -0
  7. package/dist/types/constants/MyConstants.d.ts +1 -0
  8. package/dist/types/constants/index.d.ts +2 -0
  9. package/dist/types/index.d.ts +12 -0
  10. package/dist/types/types/index.d.ts +1 -0
  11. package/dist/types/types/tailwind.d.ts +4 -0
  12. package/dist/types/utils/MyUtil.d.ts +5 -0
  13. package/dist/types/utils/dark-mode/dark-mode.d.ts +18 -0
  14. package/dist/types/utils/dark-mode/dark-mode.vue.d.ts +91 -0
  15. package/dist/types/utils/index.d.ts +6 -0
  16. package/dist/types/utils/platform/platform.d.ts +4 -0
  17. package/dist/types/utils/theme/theme-switcher.vue.d.ts +106 -0
  18. package/dist/types/utils/theme/theme.d.ts +9 -0
  19. package/dist/vuetiful.es.mjs +515 -0
  20. package/dist/vuetiful.umd.js +17 -0
  21. package/package.json +47 -0
  22. package/src/assets/fonts/myfont.woff +0 -0
  23. package/src/assets/main.css +17 -0
  24. package/src/components/atoms/VButton.vue +78 -0
  25. package/src/components/atoms/index.ts +3 -0
  26. package/src/components/index.ts +3 -0
  27. package/src/constants/MyConstants.ts +1 -0
  28. package/src/constants/index.ts +5 -0
  29. package/src/env.d.ts +8 -0
  30. package/src/index.ts +29 -0
  31. package/src/styles/all.css +21 -0
  32. package/src/styles/core.css +65 -0
  33. package/src/styles/elements/alerts.css +17 -0
  34. package/src/styles/elements/badges.css +31 -0
  35. package/src/styles/elements/breadcrumbs.css +26 -0
  36. package/src/styles/elements/buttons.css +103 -0
  37. package/src/styles/elements/cards.css +32 -0
  38. package/src/styles/elements/chips.css +22 -0
  39. package/src/styles/elements/forms.css +268 -0
  40. package/src/styles/elements/lists.css +48 -0
  41. package/src/styles/elements/logo-clouds.css +29 -0
  42. package/src/styles/elements/modals.css +15 -0
  43. package/src/styles/elements/placeholders.css +17 -0
  44. package/src/styles/elements/popups.css +16 -0
  45. package/src/styles/elements/tables.css +102 -0
  46. package/src/styles/elements.css +19 -0
  47. package/src/styles/highlight-js.css +116 -0
  48. package/src/styles/tailwind.css +16 -0
  49. package/src/styles/typography.css +101 -0
  50. package/src/styles/variants.css +156 -0
  51. package/src/tailwind/core.cjs +37 -0
  52. package/src/tailwind/generated/intellisense-classes.cjs +558 -0
  53. package/src/tailwind/intellisense.cjs +21 -0
  54. package/src/tailwind/settings.cjs +20 -0
  55. package/src/tailwind/theme/colors.cjs +20 -0
  56. package/src/tailwind/tokens/backgrounds.cjs +48 -0
  57. package/src/tailwind/tokens/border-radius.cjs +21 -0
  58. package/src/tailwind/tokens/borders.cjs +24 -0
  59. package/src/tailwind/tokens/fills.cjs +20 -0
  60. package/src/tailwind/tokens/rings.cjs +50 -0
  61. package/src/tailwind/tokens/text.cjs +35 -0
  62. package/src/tailwind/vuetiful.cjs +19 -0
  63. package/src/themes/theme-modern.css +127 -0
  64. package/src/themes/theme-rocket.css +119 -0
  65. package/src/themes/theme-sahara.css +128 -0
  66. package/src/themes/theme-seafoam.css +121 -0
  67. package/src/themes/theme-seasonal.css +115 -0
  68. package/src/themes/theme-vintage.css +125 -0
  69. package/src/themes/theme-vuetiful.css +118 -0
  70. package/src/types/index.ts +1 -0
  71. package/src/types/tailwind.ts +7 -0
  72. package/src/utils/MyUtil.ts +7 -0
  73. package/src/utils/dark-mode/dark-mode.ts +90 -0
  74. package/src/utils/dark-mode/dark-mode.vue +133 -0
  75. package/src/utils/index.ts +7 -0
  76. package/src/utils/platform/platform.ts +10 -0
  77. package/src/utils/theme/theme-switcher.vue +155 -0
  78. package/src/utils/theme/theme.ts +65 -0
@@ -0,0 +1,24 @@
1
+ // Design Tokens: Borders
2
+ // Doc: https://www.vuetiful.dev/docs/tokens
3
+
4
+ const settings = require("../settings.cjs");
5
+
6
+ module.exports = () => {
7
+ const classes = {
8
+ // Border Width - ex: .border-token
9
+ ".border-token": { "border-width": "var(--theme-border-base)" },
10
+ };
11
+ settings.colorNames.forEach((n) => {
12
+ // Color Pairings
13
+ // Example: .border-primary-50-900-token | .border-primary-900-50-token
14
+ settings.colorPairings.forEach((p) => {
15
+ classes[`.border-${n}-${p.light}-${p.dark}-token`] = {
16
+ "border-color": `rgb(var(--color-${n}-${p.light}))`,
17
+ };
18
+ classes[`.dark .border-${n}-${p.light}-${p.dark}-token`] = {
19
+ "border-color": `rgb(var(--color-${n}-${p.dark}))`,
20
+ };
21
+ });
22
+ });
23
+ return classes;
24
+ };
@@ -0,0 +1,20 @@
1
+ // Design Tokens: SVG Fill
2
+ // Doc: https://www.vuetiful.dev/docs/tokens
3
+
4
+ const settings = require("../settings.cjs");
5
+
6
+ module.exports = () => {
7
+ const classes = {
8
+ ".fill-base-token": { fill: "rgba(var(--theme-font-color-base))" },
9
+ ".fill-dark-token": { fill: "rgba(var(--theme-font-color-dark))" },
10
+ // Fill Token - ex: .fill-token
11
+ ".fill-token": { fill: "rgba(var(--theme-font-color-base))" },
12
+ ".dark .fill-token": { fill: "rgba(var(--theme-font-color-dark))" },
13
+ };
14
+ settings.colorNames.forEach((n) => {
15
+ // On-X Fill Colors
16
+ // Example: .fill-on-primary-token
17
+ classes[`.fill-on-${n}-token`] = { fill: `rgb(var(--on-${n}))` };
18
+ });
19
+ return classes;
20
+ };
@@ -0,0 +1,50 @@
1
+ // Design Tokens: Rings
2
+ // Doc: https://www.vuetiful.dev/docs/tokens
3
+
4
+ const settings = require('../settings.cjs');
5
+
6
+ // Local
7
+ const ringTokenTheme = {
8
+ '--tw-ring-offset-shadow': `var(--tw-ring-inset) 0 0 0 var(--theme-border-base) var(--tw-ring-offset-color)`,
9
+ '--tw-ring-shadow': `var(--tw-ring-inset) 0 0 0 calc(2px + var(--theme-border-base)) var(--tw-ring-color)`,
10
+ 'box-shadow': `var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)`,
11
+ };
12
+ const ringOutlineShared = {
13
+ // .ring-[1px]
14
+ '--tw-ring-offset-shadow': 'var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)',
15
+ '--tw-ring-shadow': 'var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)',
16
+ 'box-shadow': 'var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)',
17
+ // .ring-inset
18
+ '--tw-ring-inset': 'inset'
19
+ };
20
+
21
+ module.exports = () => {
22
+ const classes = {
23
+ '.ring-token': {
24
+ ...ringTokenTheme,
25
+ },
26
+ // Ring Outline (for cards)
27
+ // Example: .ring-outline-token
28
+ '.ring-outline-token': {
29
+ ...ringOutlineShared,
30
+ '--tw-ring-color': 'rgb(23 23 23 / 0.05);' // neutral-900, 5% opacity
31
+ },
32
+ '.dark .ring-outline-token': {
33
+ ...ringOutlineShared,
34
+ '--tw-ring-color': 'rgb(250 250 250 / 0.05)' // neutral-50, 5% opacity
35
+ }
36
+ };
37
+ settings.colorNames.forEach((n) => {
38
+ // Color Pairings
39
+ // Example: .ring-primary-50-900-token | .ring-primary-900-50-token
40
+ settings.colorPairings.forEach((p) => {
41
+ classes[`.ring-${n}-${p.light}-${p.dark}-token`] = {
42
+ '--tw-ring-color': `rgb(var(--color-${n}-${p.light}) / 1)`
43
+ };
44
+ classes[`.dark .ring-${n}-${p.light}-${p.dark}-token`] = {
45
+ '--tw-ring-color': `rgb(var(--color-${n}-${p.dark}) / 1)`
46
+ };
47
+ });
48
+ });
49
+ return classes;
50
+ };
@@ -0,0 +1,35 @@
1
+ // Design Tokens: Text
2
+ // Doc: https://www.vuetiful.dev/docs/tokens
3
+
4
+ const settings = require("../settings.cjs");
5
+
6
+ module.exports = () => {
7
+ const classes = {
8
+ // Font Family
9
+ ".font-heading-token": { "font-family": "var(--theme-font-family-heading)" },
10
+ ".font-token": { "font-family": "var(--theme-font-family-base)" },
11
+ // Default Text Colors
12
+ ".text-base-token": { color: "rgba(var(--theme-font-color-base))" },
13
+ ".text-dark-token": { color: "rgba(var(--theme-font-color-dark))" },
14
+ // Light/Dark Text Color - ex: .text-token
15
+ ".text-token": { color: "rgba(var(--theme-font-color-base))" },
16
+ ".dark .text-token": { color: "rgba(var(--theme-font-color-dark))" },
17
+ };
18
+ settings.colorNames.forEach((n) => {
19
+ // On-X Text Colors
20
+ // Example: .text-on-primary-token
21
+ classes[`.text-on-${n}-token`] = { color: `rgb(var(--on-${n}))` };
22
+
23
+ // Color Pairings
24
+ // Example: .text-primary-50-900-token | .text-primary-900-50-token
25
+ settings.colorPairings.forEach((p) => {
26
+ classes[`.text-${n}-${p.light}-${p.dark}-token`] = {
27
+ color: `rgb(var(--color-${n}-${p.light}))`,
28
+ };
29
+ classes[`.dark .text-${n}-${p.light}-${p.dark}-token`] = {
30
+ color: `rgb(var(--color-${n}-${p.dark}))`,
31
+ };
32
+ });
33
+ });
34
+ return classes;
35
+ };
@@ -0,0 +1,19 @@
1
+ // The Vuetiful Tailwind Plugin
2
+ // Tailwind Docs: https://tailwindcss.com/docs/plugins
3
+ // Vuetiful Docs: https://www.vuetiful.dev/docs/get-started
4
+
5
+ const intellisensePlugin = require("./intellisense.cjs");
6
+ const corePlugin = require("./core.cjs");
7
+
8
+ // The default export is a function that returns an array of plugins
9
+ // and accepts an optional config that determines which plugins are included.
10
+ // By default, all plugins are included.
11
+ module.exports = function (config = { intellisense: true }) {
12
+ const { intellisense } = config;
13
+ const plugins = [corePlugin];
14
+
15
+ // Add the plugin if the option is not explicitly set to false
16
+ if (intellisense !== false) plugins.push(intellisensePlugin);
17
+
18
+ return plugins;
19
+ };
@@ -0,0 +1,127 @@
1
+ /* https://fonts.google.com/specimen/Quicksand?query=Quicksand */
2
+ @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
3
+
4
+ :root {
5
+ /* =~= Theme Properties =~= */
6
+ --theme-font-family-base: 'Quicksand', sans-serif;
7
+ --theme-font-family-heading: 'Quicksand', sans-serif;
8
+ --theme-font-color-base: var(--color-surface-900);
9
+ --theme-font-color-dark: var(--color-tertiary-50);
10
+ --theme-rounded-base: 9999px;
11
+ --theme-rounded-container: 24px;
12
+ --theme-border-base: 3px;
13
+ /* =~= Theme On-X Colors =~= */
14
+ --on-primary: 0 0 0;
15
+ --on-secondary: 0 0 0;
16
+ --on-tertiary: 0 0 0;
17
+ --on-success: 0 0 0;
18
+ --on-warning: 0 0 0;
19
+ --on-error: 255 255 255;
20
+ --on-surface: 255 255 255;
21
+ /* =~= Theme Colors =~= */
22
+ /* primary | #ec4899 */
23
+ --color-primary-50: 252 228 240; /* ⬅ #fce4f0 */
24
+ --color-primary-100: 251 218 235; /* ⬅ #fbdaeb */
25
+ --color-primary-200: 250 209 230; /* ⬅ #fad1e6 */
26
+ --color-primary-300: 247 182 214; /* ⬅ #f7b6d6 */
27
+ --color-primary-400: 242 127 184; /* ⬅ #f27fb8 */
28
+ --color-primary-500: 236 72 153; /* ⬅ #ec4899 */
29
+ --color-primary-600: 212 65 138; /* ⬅ #d4418a */
30
+ --color-primary-700: 177 54 115; /* ⬅ #b13673 */
31
+ --color-primary-800: 142 43 92; /* ⬅ #8e2b5c */
32
+ --color-primary-900: 116 35 75; /* ⬅ #74234b */
33
+ /* secondary | #06b6d4 */
34
+ --color-secondary-50: 218 244 249; /* ⬅ #daf4f9 */
35
+ --color-secondary-100: 205 240 246; /* ⬅ #cdf0f6 */
36
+ --color-secondary-200: 193 237 244; /* ⬅ #c1edf4 */
37
+ --color-secondary-300: 155 226 238; /* ⬅ #9be2ee */
38
+ --color-secondary-400: 81 204 225; /* ⬅ #51cce1 */
39
+ --color-secondary-500: 6 182 212; /* ⬅ #06b6d4 */
40
+ --color-secondary-600: 5 164 191; /* ⬅ #05a4bf */
41
+ --color-secondary-700: 5 137 159; /* ⬅ #05899f */
42
+ --color-secondary-800: 4 109 127; /* ⬅ #046d7f */
43
+ --color-secondary-900: 3 89 104; /* ⬅ #035968 */
44
+ /* tertiary | #14b8a6 */
45
+ --color-tertiary-50: 220 244 242; /* ⬅ #dcf4f2 */
46
+ --color-tertiary-100: 208 241 237; /* ⬅ #d0f1ed */
47
+ --color-tertiary-200: 196 237 233; /* ⬅ #c4ede9 */
48
+ --color-tertiary-300: 161 227 219; /* ⬅ #a1e3db */
49
+ --color-tertiary-400: 91 205 193; /* ⬅ #5bcdc1 */
50
+ --color-tertiary-500: 20 184 166; /* ⬅ #14b8a6 */
51
+ --color-tertiary-600: 18 166 149; /* ⬅ #12a695 */
52
+ --color-tertiary-700: 15 138 125; /* ⬅ #0f8a7d */
53
+ --color-tertiary-800: 12 110 100; /* ⬅ #0c6e64 */
54
+ --color-tertiary-900: 10 90 81; /* ⬅ #0a5a51 */
55
+ /* success | #84cc16 */
56
+ --color-success-50: 237 247 220; /* ⬅ #edf7dc */
57
+ --color-success-100: 230 245 208; /* ⬅ #e6f5d0 */
58
+ --color-success-200: 224 242 197; /* ⬅ #e0f2c5 */
59
+ --color-success-300: 206 235 162; /* ⬅ #ceeba2 */
60
+ --color-success-400: 169 219 92; /* ⬅ #a9db5c */
61
+ --color-success-500: 132 204 22; /* ⬅ #84cc16 */
62
+ --color-success-600: 119 184 20; /* ⬅ #77b814 */
63
+ --color-success-700: 99 153 17; /* ⬅ #639911 */
64
+ --color-success-800: 79 122 13; /* ⬅ #4f7a0d */
65
+ --color-success-900: 65 100 11; /* ⬅ #41640b */
66
+ /* warning | #eab308 */
67
+ --color-warning-50: 252 244 218; /* ⬅ #fcf4da */
68
+ --color-warning-100: 251 240 206; /* ⬅ #fbf0ce */
69
+ --color-warning-200: 250 236 193; /* ⬅ #faecc1 */
70
+ --color-warning-300: 247 225 156; /* ⬅ #f7e19c */
71
+ --color-warning-400: 240 202 82; /* ⬅ #f0ca52 */
72
+ --color-warning-500: 234 179 8; /* ⬅ #eab308 */
73
+ --color-warning-600: 211 161 7; /* ⬅ #d3a107 */
74
+ --color-warning-700: 176 134 6; /* ⬅ #b08606 */
75
+ --color-warning-800: 140 107 5; /* ⬅ #8c6b05 */
76
+ --color-warning-900: 115 88 4; /* ⬅ #735804 */
77
+ /* error | #ef4444 */
78
+ --color-error-50: 253 227 227; /* ⬅ #fde3e3 */
79
+ --color-error-100: 252 218 218; /* ⬅ #fcdada */
80
+ --color-error-200: 251 208 208; /* ⬅ #fbd0d0 */
81
+ --color-error-300: 249 180 180; /* ⬅ #f9b4b4 */
82
+ --color-error-400: 244 124 124; /* ⬅ #f47c7c */
83
+ --color-error-500: 239 68 68; /* ⬅ #ef4444 */
84
+ --color-error-600: 215 61 61; /* ⬅ #d73d3d */
85
+ --color-error-700: 179 51 51; /* ⬅ #b33333 */
86
+ --color-error-800: 143 41 41; /* ⬅ #8f2929 */
87
+ --color-error-900: 117 33 33; /* ⬅ #752121 */
88
+ /* surface | #6366f1 */
89
+ --color-surface-50: 232 232 253; /* ⬅ #e8e8fd */
90
+ --color-surface-100: 224 224 252; /* ⬅ #e0e0fc */
91
+ --color-surface-200: 216 217 252; /* ⬅ #d8d9fc */
92
+ --color-surface-300: 193 194 249; /* ⬅ #c1c2f9 */
93
+ --color-surface-400: 146 148 245; /* ⬅ #9294f5 */
94
+ --color-surface-500: 99 102 241; /* ⬅ #6366f1 */
95
+ --color-surface-600: 89 92 217; /* ⬅ #595cd9 */
96
+ --color-surface-700: 74 77 181; /* ⬅ #4a4db5 */
97
+ --color-surface-800: 59 61 145; /* ⬅ #3b3d91 */
98
+ --color-surface-900: 49 50 118; /* ⬅ #313276 */
99
+ }
100
+
101
+ [data-theme='modern'] h1,
102
+ [data-theme='modern'] h2,
103
+ [data-theme='modern'] h3,
104
+ [data-theme='modern'] h4,
105
+ [data-theme='modern'] h5,
106
+ [data-theme='modern'] h6,
107
+ [data-theme='modern'] a,
108
+ [data-theme='modern'] button {
109
+ font-weight: bold;
110
+ }
111
+
112
+ /* Applied to body with `<body data-theme="modern">` */
113
+ /* Created with: https://csshero.org/mesher/ */
114
+ [data-theme='modern'] {
115
+ /* prettier-ignore */
116
+ background-image:
117
+ radial-gradient(at 76% 0%, hsla(189,100%,56%,0.36) 0px, transparent 50%),
118
+ radial-gradient(at 1% 0%, hsla(340,100%,76%,0.26) 0px, transparent 50%),
119
+ radial-gradient(at 20% 100%, hsla(241,100%,70%,0.47) 0px, transparent 50%);
120
+ }
121
+ .dark [data-theme='modern'] {
122
+ /* prettier-ignore */
123
+ background-image:
124
+ radial-gradient(at 76% 0%, hsla(189,100%,56%,0.20) 0px, transparent 50%),
125
+ radial-gradient(at 1% 0%, hsla(340,100%,76%,0.15) 0px, transparent 50%),
126
+ radial-gradient(at 20% 100%, hsla(241,100%,70%,0.30) 0px, transparent 50%);
127
+ }
@@ -0,0 +1,119 @@
1
+ /* https://fonts.google.com/specimen/Space+Grotesk */
2
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
3
+ /* https://fonts.google.com/specimen/Roboto?query=roboto */
4
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
5
+
6
+ :root {
7
+ /* =~= Theme Properties =~= */
8
+ --theme-font-family-base: 'Roboto', sans-serif;
9
+ --theme-font-family-heading: 'Space Grotesk', sans-serif;
10
+ --theme-font-color-base: var(--color-primary-900);
11
+ --theme-font-color-dark: var(--color-primary-100);
12
+ --theme-rounded-base: 0px;
13
+ --theme-rounded-container: 0px;
14
+ --theme-border-base: 0px;
15
+ /* =~= Theme On-X Colors =~= */
16
+ --on-primary: 0 0 0;
17
+ --on-secondary: 255 255 255;
18
+ --on-tertiary: 255 255 255;
19
+ --on-success: 0 0 0;
20
+ --on-warning: 0 0 0;
21
+ --on-error: 255 255 255;
22
+ --on-surface: 255 255 255;
23
+ /* =~= Theme Colors =~= */
24
+ /* primary | #06b6d4 */
25
+ --color-primary-50: 218 244 249; /* ⬅ #daf4f9 */
26
+ --color-primary-100: 205 240 246; /* ⬅ #cdf0f6 */
27
+ --color-primary-200: 193 237 244; /* ⬅ #c1edf4 */
28
+ --color-primary-300: 155 226 238; /* ⬅ #9be2ee */
29
+ --color-primary-400: 81 204 225; /* ⬅ #51cce1 */
30
+ --color-primary-500: 6 182 212; /* ⬅ #06b6d4 */
31
+ --color-primary-600: 5 164 191; /* ⬅ #05a4bf */
32
+ --color-primary-700: 5 137 159; /* ⬅ #05899f */
33
+ --color-primary-800: 4 109 127; /* ⬅ #046d7f */
34
+ --color-primary-900: 3 89 104; /* ⬅ #035968 */
35
+ /* secondary | #3b82f6 */
36
+ --color-secondary-50: 226 236 254; /* ⬅ #e2ecfe */
37
+ --color-secondary-100: 216 230 253; /* ⬅ #d8e6fd */
38
+ --color-secondary-200: 206 224 253; /* ⬅ #cee0fd */
39
+ --color-secondary-300: 177 205 251; /* ⬅ #b1cdfb */
40
+ --color-secondary-400: 118 168 249; /* ⬅ #76a8f9 */
41
+ --color-secondary-500: 59 130 246; /* ⬅ #3b82f6 */
42
+ --color-secondary-600: 53 117 221; /* ⬅ #3575dd */
43
+ --color-secondary-700: 44 98 185; /* ⬅ #2c62b9 */
44
+ --color-secondary-800: 35 78 148; /* ⬅ #234e94 */
45
+ --color-secondary-900: 29 64 121; /* ⬅ #1d4079 */
46
+ /* tertiary | #a855f7 */
47
+ --color-tertiary-50: 242 230 254; /* ⬅ #f2e6fe */
48
+ --color-tertiary-100: 238 221 253; /* ⬅ #eeddfd */
49
+ --color-tertiary-200: 233 213 253; /* ⬅ #e9d5fd */
50
+ --color-tertiary-300: 220 187 252; /* ⬅ #dcbbfc */
51
+ --color-tertiary-400: 194 136 249; /* ⬅ #c288f9 */
52
+ --color-tertiary-500: 168 85 247; /* ⬅ #a855f7 */
53
+ --color-tertiary-600: 151 77 222; /* ⬅ #974dde */
54
+ --color-tertiary-700: 126 64 185; /* ⬅ #7e40b9 */
55
+ --color-tertiary-800: 101 51 148; /* ⬅ #653394 */
56
+ --color-tertiary-900: 82 42 121; /* ⬅ #522a79 */
57
+ /* success | #4ccb15 */
58
+ --color-success-50: 228 247 220; /* ⬅ #e4f7dc */
59
+ --color-success-100: 219 245 208; /* ⬅ #dbf5d0 */
60
+ --color-success-200: 210 242 197; /* ⬅ #d2f2c5 */
61
+ --color-success-300: 183 234 161; /* ⬅ #b7eaa1 */
62
+ --color-success-400: 130 219 91; /* ⬅ #82db5b */
63
+ --color-success-500: 76 203 21; /* ⬅ #4ccb15 */
64
+ --color-success-600: 68 183 19; /* ⬅ #44b713 */
65
+ --color-success-700: 57 152 16; /* ⬅ #399810 */
66
+ --color-success-800: 46 122 13; /* ⬅ #2e7a0d */
67
+ --color-success-900: 37 99 10; /* ⬅ #25630a */
68
+ /* warning | #f4c12a */
69
+ --color-warning-50: 253 246 223; /* ⬅ #fdf6df */
70
+ --color-warning-100: 253 243 212; /* ⬅ #fdf3d4 */
71
+ --color-warning-200: 252 240 202; /* ⬅ #fcf0ca */
72
+ --color-warning-300: 251 230 170; /* ⬅ #fbe6aa */
73
+ --color-warning-400: 247 212 106; /* ⬅ #f7d46a */
74
+ --color-warning-500: 244 193 42; /* ⬅ #f4c12a */
75
+ --color-warning-600: 220 174 38; /* ⬅ #dcae26 */
76
+ --color-warning-700: 183 145 32; /* ⬅ #b79120 */
77
+ --color-warning-800: 146 116 25; /* ⬅ #927419 */
78
+ --color-warning-900: 120 95 21; /* ⬅ #785f15 */
79
+ /* error | #b52c55 */
80
+ --color-error-50: 244 223 230; /* ⬅ #f4dfe6 */
81
+ --color-error-100: 240 213 221; /* ⬅ #f0d5dd */
82
+ --color-error-200: 237 202 213; /* ⬅ #edcad5 */
83
+ --color-error-300: 225 171 187; /* ⬅ #e1abbb */
84
+ --color-error-400: 203 107 136; /* ⬅ #cb6b88 */
85
+ --color-error-500: 181 44 85; /* ⬅ #b52c55 */
86
+ --color-error-600: 163 40 77; /* ⬅ #a3284d */
87
+ --color-error-700: 136 33 64; /* ⬅ #882140 */
88
+ --color-error-800: 109 26 51; /* ⬅ #6d1a33 */
89
+ --color-error-900: 89 22 42; /* ⬅ #59162a */
90
+ /* surface | #64748b */
91
+ --color-surface-50: 232 234 238; /* ⬅ #e8eaee */
92
+ --color-surface-100: 224 227 232; /* ⬅ #e0e3e8 */
93
+ --color-surface-200: 216 220 226; /* ⬅ #d8dce2 */
94
+ --color-surface-300: 193 199 209; /* ⬅ #c1c7d1 */
95
+ --color-surface-400: 147 158 174; /* ⬅ #939eae */
96
+ --color-surface-500: 100 116 139; /* ⬅ #64748b */
97
+ --color-surface-600: 90 104 125; /* ⬅ #5a687d */
98
+ --color-surface-700: 75 87 104; /* ⬅ #4b5768 */
99
+ --color-surface-800: 60 70 83; /* ⬅ #3c4653 */
100
+ --color-surface-900: 49 57 68; /* ⬅ #313944 */
101
+ }
102
+
103
+ [data-theme='rocket'] h1,
104
+ [data-theme='rocket'] h2,
105
+ [data-theme='rocket'] h3,
106
+ [data-theme='rocket'] h4,
107
+ [data-theme='rocket'] h5,
108
+ [data-theme='rocket'] h6 {
109
+ font-weight: bold;
110
+ }
111
+
112
+ /* Applied to body with `<body data-theme="rocket">` */
113
+ /* Created with: https://csshero.org/mesher/ */
114
+ /* prettier-ignore */
115
+ [data-theme='rocket'] {
116
+ background-image:
117
+ radial-gradient(at 0% 0%, rgba(var(--color-secondary-500) / 0.33) 0px, transparent 50%),
118
+ radial-gradient(at 98% 1%, rgba(var(--color-error-500) / 0.33) 0px, transparent 50%);
119
+ }
@@ -0,0 +1,128 @@
1
+ /* https://fonts.google.com/specimen/Raleway */
2
+ @import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
3
+ /* https://fonts.google.com/specimen/Lato?query=lato&noto.query=Abril */
4
+ @import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
5
+
6
+ :root {
7
+ /* =~= Theme Styles =~= */
8
+ --theme-font-family-base: 'Lato', sans-serif;
9
+ --theme-font-family-heading: 'Raleway', sans-serif;
10
+ --theme-font-color-base: var(--color-secondary-900);
11
+ --theme-font-color-dark: var(--color-primary-100);
12
+ --theme-rounded-base: 9999px;
13
+ --theme-rounded-container: 24px;
14
+ --theme-border-base: 1px;
15
+ /* =~= Theme On-X Colors =~= */
16
+ --on-primary: 0 0 0;
17
+ --on-secondary: 0 0 0;
18
+ --on-tertiary: 0 0 0;
19
+ --on-success: 0 0 0;
20
+ --on-warning: 0 0 0;
21
+ --on-error: 255 255 255;
22
+ --on-surface: 255 255 255;
23
+ /* =~= Theme Colors =~= */
24
+ /* primary | #ecaa36 */
25
+ --color-primary-50: 252 242 225; /* ⬅ #fcf2e1 */
26
+ --color-primary-100: 251 238 215; /* ⬅ #fbeed7 */
27
+ --color-primary-200: 250 234 205; /* ⬅ #faeacd */
28
+ --color-primary-300: 247 221 175; /* ⬅ #f7ddaf */
29
+ --color-primary-400: 242 196 114; /* ⬅ #f2c472 */
30
+ --color-primary-500: 236 170 54; /* ⬅ #ecaa36 */
31
+ --color-primary-600: 212 153 49; /* ⬅ #d49931 */
32
+ --color-primary-700: 177 128 41; /* ⬅ #b18029 */
33
+ --color-primary-800: 142 102 32; /* ⬅ #8e6620 */
34
+ --color-primary-900: 116 83 26; /* ⬅ #74531a */
35
+ /* secondary | #3acbba */
36
+ --color-secondary-50: 225 247 245; /* ⬅ #e1f7f5 */
37
+ --color-secondary-100: 216 245 241; /* ⬅ #d8f5f1 */
38
+ --color-secondary-200: 206 242 238; /* ⬅ #cef2ee */
39
+ --color-secondary-300: 176 234 227; /* ⬅ #b0eae3 */
40
+ --color-secondary-400: 117 219 207; /* ⬅ #75dbcf */
41
+ --color-secondary-500: 58 203 186; /* ⬅ #3acbba */
42
+ --color-secondary-600: 52 183 167; /* ⬅ #34b7a7 */
43
+ --color-secondary-700: 44 152 140; /* ⬅ #2c988c */
44
+ --color-secondary-800: 35 122 112; /* ⬅ #237a70 */
45
+ --color-secondary-900: 28 99 91; /* ⬅ #1c635b */
46
+ /* tertiary | #bbdf86 */
47
+ --color-tertiary-50: 245 250 237; /* ⬅ #f5faed */
48
+ --color-tertiary-100: 241 249 231; /* ⬅ #f1f9e7 */
49
+ --color-tertiary-200: 238 247 225; /* ⬅ #eef7e1 */
50
+ --color-tertiary-300: 228 242 207; /* ⬅ #e4f2cf */
51
+ --color-tertiary-400: 207 233 170; /* ⬅ #cfe9aa */
52
+ --color-tertiary-500: 187 223 134; /* ⬅ #bbdf86 */
53
+ --color-tertiary-600: 168 201 121; /* ⬅ #a8c979 */
54
+ --color-tertiary-700: 140 167 101; /* ⬅ #8ca765 */
55
+ --color-tertiary-800: 112 134 80; /* ⬅ #708650 */
56
+ --color-tertiary-900: 92 109 66; /* ⬅ #5c6d42 */
57
+ /* success | #84cc16 */
58
+ --color-success-50: 237 247 220; /* ⬅ #edf7dc */
59
+ --color-success-100: 230 245 208; /* ⬅ #e6f5d0 */
60
+ --color-success-200: 224 242 197; /* ⬅ #e0f2c5 */
61
+ --color-success-300: 206 235 162; /* ⬅ #ceeba2 */
62
+ --color-success-400: 169 219 92; /* ⬅ #a9db5c */
63
+ --color-success-500: 132 204 22; /* ⬅ #84cc16 */
64
+ --color-success-600: 119 184 20; /* ⬅ #77b814 */
65
+ --color-success-700: 99 153 17; /* ⬅ #639911 */
66
+ --color-success-800: 79 122 13; /* ⬅ #4f7a0d */
67
+ --color-success-900: 65 100 11; /* ⬅ #41640b */
68
+ /* warning | #e5c157 */
69
+ --color-warning-50: 251 246 230; /* ⬅ #fbf6e6 */
70
+ --color-warning-100: 250 243 221; /* ⬅ #faf3dd */
71
+ --color-warning-200: 249 240 213; /* ⬅ #f9f0d5 */
72
+ --color-warning-300: 245 230 188; /* ⬅ #f5e6bc */
73
+ --color-warning-400: 237 212 137; /* ⬅ #edd489 */
74
+ --color-warning-500: 229 193 87; /* ⬅ #e5c157 */
75
+ --color-warning-600: 206 174 78; /* ⬅ #ceae4e */
76
+ --color-warning-700: 172 145 65; /* ⬅ #ac9141 */
77
+ --color-warning-800: 137 116 52; /* ⬅ #897434 */
78
+ --color-warning-900: 112 95 43; /* ⬅ #705f2b */
79
+ /* error | #db5c9c */
80
+ --color-error-50: 250 231 240; /* ⬅ #fae7f0 */
81
+ --color-error-100: 248 222 235; /* ⬅ #f8deeb */
82
+ --color-error-200: 246 214 230; /* ⬅ #f6d6e6 */
83
+ --color-error-300: 241 190 215; /* ⬅ #f1bed7 */
84
+ --color-error-400: 230 141 186; /* ⬅ #e68dba */
85
+ --color-error-500: 219 92 156; /* ⬅ #db5c9c */
86
+ --color-error-600: 197 83 140; /* ⬅ #c5538c */
87
+ --color-error-700: 164 69 117; /* ⬅ #a44575 */
88
+ --color-error-800: 131 55 94; /* ⬅ #83375e */
89
+ --color-error-900: 107 45 76; /* ⬅ #6b2d4c */
90
+ /* surface | #da4e65 */
91
+ --color-surface-50: 249 228 232; /* ⬅ #f9e4e8 */
92
+ --color-surface-100: 248 220 224; /* ⬅ #f8dce0 */
93
+ --color-surface-200: 246 211 217; /* ⬅ #f6d3d9 */
94
+ --color-surface-300: 240 184 193; /* ⬅ #f0b8c1 */
95
+ --color-surface-400: 229 131 147; /* ⬅ #e58393 */
96
+ --color-surface-500: 218 78 101; /* ⬅ #da4e65 */
97
+ --color-surface-600: 196 70 91; /* ⬅ #c4465b */
98
+ --color-surface-700: 164 59 76; /* ⬅ #a43b4c */
99
+ --color-surface-800: 131 47 61; /* ⬅ #832f3d */
100
+ --color-surface-900: 107 38 49; /* ⬅ #6b2631 */
101
+ }
102
+
103
+ [data-theme='sahara'] h1,
104
+ [data-theme='sahara'] h2,
105
+ [data-theme='sahara'] h3,
106
+ [data-theme='sahara'] h4,
107
+ [data-theme='sahara'] h5,
108
+ [data-theme='sahara'] h6 {
109
+ font-weight: 600;
110
+ }
111
+ [data-theme='sahara'] p {
112
+ font-weight: 400;
113
+ }
114
+
115
+ /* Applied to body with `<body data-theme="sahara">` */
116
+ /* Created with: https://csshero.org/mesher/ */
117
+ [data-theme='sahara'] {
118
+ /* prettier-ignore */
119
+ background-image:
120
+ radial-gradient(at 100% 36%, hsla(37,81%,56%,0.15) 0px, transparent 50%),
121
+ radial-gradient(at 7% 0%, hsla(37,81%,56%,0.20) 0px, transparent 50%);
122
+ }
123
+ .dark [data-theme='sahara'] {
124
+ /* prettier-ignore */
125
+ background-image:
126
+ radial-gradient(at 100% 36%, hsla(37,81%,56%,0.15) 0px, transparent 50%),
127
+ radial-gradient(at 7% 0%, hsla(37,81%,56%,0.20) 0px, transparent 50%);
128
+ }
@@ -0,0 +1,121 @@
1
+ /* https://fonts.google.com/specimen/Playfair+Display?query=playfair&noto.query=Abril */
2
+ @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
3
+
4
+ :root {
5
+ /* =~= Theme Styles =~= */
6
+ --theme-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
7
+ 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
8
+ --theme-font-family-heading: 'Playfair Display', serif;
9
+ --theme-font-color-base: var(--color-surface-900);
10
+ --theme-font-color-dark: var(--color-secondary-100);
11
+ --theme-rounded-base: 16px;
12
+ --theme-rounded-container: 16px;
13
+ --theme-border-base: 3px;
14
+ /* =~= Theme On-X Colors =~= */
15
+ --on-primary: 0 0 0;
16
+ --on-secondary: 255 255 255;
17
+ --on-tertiary: 255 255 255;
18
+ --on-success: 0 0 0;
19
+ --on-warning: 0 0 0;
20
+ --on-error: 255 255 255;
21
+ --on-surface: 0 0 0;
22
+ /* =~= Theme Colors =~= */
23
+ /* primary | #86d0cb */
24
+ --color-primary-50: 237 248 247; /* ⬅ #edf8f7 */
25
+ --color-primary-100: 231 246 245; /* ⬅ #e7f6f5 */
26
+ --color-primary-200: 225 243 242; /* ⬅ #e1f3f2 */
27
+ --color-primary-300: 207 236 234; /* ⬅ #cfecea */
28
+ --color-primary-400: 170 222 219; /* ⬅ #aadedb */
29
+ --color-primary-500: 134 208 203; /* ⬅ #86d0cb */
30
+ --color-primary-600: 121 187 183; /* ⬅ #79bbb7 */
31
+ --color-primary-700: 101 156 152; /* ⬅ #659c98 */
32
+ --color-primary-800: 80 125 122; /* ⬅ #507d7a */
33
+ --color-primary-900: 66 102 99; /* ⬅ #426663 */
34
+ /* secondary | #213355 */
35
+ --color-secondary-50: 222 224 230; /* ⬅ #dee0e6 */
36
+ --color-secondary-100: 211 214 221; /* ⬅ #d3d6dd */
37
+ --color-secondary-200: 200 204 213; /* ⬅ #c8ccd5 */
38
+ --color-secondary-300: 166 173 187; /* ⬅ #a6adbb */
39
+ --color-secondary-400: 100 112 136; /* ⬅ #647088 */
40
+ --color-secondary-500: 33 51 85; /* ⬅ #213355 */
41
+ --color-secondary-600: 30 46 77; /* ⬅ #1e2e4d */
42
+ --color-secondary-700: 25 38 64; /* ⬅ #192640 */
43
+ --color-secondary-800: 20 31 51; /* ⬅ #141f33 */
44
+ --color-secondary-900: 16 25 42; /* ⬅ #10192a */
45
+ /* tertiary | #ff3d00 */
46
+ --color-tertiary-50: 255 226 217; /* ⬅ #ffe2d9 */
47
+ --color-tertiary-100: 255 216 204; /* ⬅ #ffd8cc */
48
+ --color-tertiary-200: 255 207 191; /* ⬅ #ffcfbf */
49
+ --color-tertiary-300: 255 177 153; /* ⬅ #ffb199 */
50
+ --color-tertiary-400: 255 119 77; /* ⬅ #ff774d */
51
+ --color-tertiary-500: 255 61 0; /* ⬅ #ff3d00 */
52
+ --color-tertiary-600: 230 55 0; /* ⬅ #e63700 */
53
+ --color-tertiary-700: 191 46 0; /* ⬅ #bf2e00 */
54
+ --color-tertiary-800: 153 37 0; /* ⬅ #992500 */
55
+ --color-tertiary-900: 125 30 0; /* ⬅ #7d1e00 */
56
+ /* success | #06e5a2 */
57
+ --color-success-50: 218 251 241; /* ⬅ #dafbf1 */
58
+ --color-success-100: 205 250 236; /* ⬅ #cdfaec */
59
+ --color-success-200: 193 249 232; /* ⬅ #c1f9e8 */
60
+ --color-success-300: 155 245 218; /* ⬅ #9bf5da */
61
+ --color-success-400: 81 237 190; /* ⬅ #51edbe */
62
+ --color-success-500: 6 229 162; /* ⬅ #06e5a2 */
63
+ --color-success-600: 5 206 146; /* ⬅ #05ce92 */
64
+ --color-success-700: 5 172 122; /* ⬅ #05ac7a */
65
+ --color-success-800: 4 137 97; /* ⬅ #048961 */
66
+ --color-success-900: 3 112 79; /* ⬅ #03704f */
67
+ /* warning | #eae557 */
68
+ --color-warning-50: 252 251 230; /* ⬅ #fcfbe6 */
69
+ --color-warning-100: 251 250 221; /* ⬅ #fbfadd */
70
+ --color-warning-200: 250 249 213; /* ⬅ #faf9d5 */
71
+ --color-warning-300: 247 245 188; /* ⬅ #f7f5bc */
72
+ --color-warning-400: 240 237 137; /* ⬅ #f0ed89 */
73
+ --color-warning-500: 234 229 87; /* ⬅ #eae557 */
74
+ --color-warning-600: 211 206 78; /* ⬅ #d3ce4e */
75
+ --color-warning-700: 176 172 65; /* ⬅ #b0ac41 */
76
+ --color-warning-800: 140 137 52; /* ⬅ #8c8934 */
77
+ --color-warning-900: 115 112 43; /* ⬅ #73702b */
78
+ /* error | #d24646 */
79
+ --color-error-50: 248 227 227; /* ⬅ #f8e3e3 */
80
+ --color-error-100: 246 218 218; /* ⬅ #f6dada */
81
+ --color-error-200: 244 209 209; /* ⬅ #f4d1d1 */
82
+ --color-error-300: 237 181 181; /* ⬅ #edb5b5 */
83
+ --color-error-400: 224 126 126; /* ⬅ #e07e7e */
84
+ --color-error-500: 210 70 70; /* ⬅ #d24646 */
85
+ --color-error-600: 189 63 63; /* ⬅ #bd3f3f */
86
+ --color-error-700: 158 53 53; /* ⬅ #9e3535 */
87
+ --color-error-800: 126 42 42; /* ⬅ #7e2a2a */
88
+ --color-error-900: 103 34 34; /* ⬅ #672222 */
89
+ /* surface | #25d1d4 */
90
+ --color-surface-50: 222 248 249; /* ⬅ #def8f9 */
91
+ --color-surface-100: 211 246 246; /* ⬅ #d3f6f6 */
92
+ --color-surface-200: 201 244 244; /* ⬅ #c9f4f4 */
93
+ --color-surface-300: 168 237 238; /* ⬅ #a8edee */
94
+ --color-surface-400: 102 223 225; /* ⬅ #66dfe1 */
95
+ --color-surface-500: 37 209 212; /* ⬅ #25d1d4 */
96
+ --color-surface-600: 33 188 191; /* ⬅ #21bcbf */
97
+ --color-surface-700: 28 157 159; /* ⬅ #1c9d9f */
98
+ --color-surface-800: 22 125 127; /* ⬅ #167d7f */
99
+ --color-surface-900: 18 102 104; /* ⬅ #126668 */
100
+ }
101
+
102
+ [data-theme='seafoam'] h1,
103
+ [data-theme='seafoam'] h2,
104
+ [data-theme='seafoam'] h3,
105
+ [data-theme='seafoam'] h4,
106
+ [data-theme='seafoam'] h5,
107
+ [data-theme='seafoam'] h6 {
108
+ font-weight: bold;
109
+ font-style: italic;
110
+ letter-spacing: 1px;
111
+ }
112
+
113
+ /* #213253 | #08847c */
114
+ /* Applied to body with `<body data-theme="seafoam">` */
115
+ /* Created with: https://csshero.org/mesher/ */
116
+ [data-theme='seafoam'] {
117
+ background: linear-gradient(0deg, rgba(203, 221, 254, 0.75) 0%, rgba(163, 209, 206, 0.75) 100%);
118
+ }
119
+ .dark [data-theme='seafoam'] {
120
+ background: linear-gradient(0deg, rgba(33, 50, 83, 1) 0%, rgba(8, 132, 124, 1) 100%);
121
+ }