@dolanske/vui 0.3.3 → 0.3.4

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 (108) hide show
  1. package/LICENSE +673 -673
  2. package/README.md +40 -40
  3. package/dist/components/Avatar/Avatar.vue.d.ts +1 -0
  4. package/dist/style.css +1 -1
  5. package/dist/vui.js +710 -702
  6. package/package.json +68 -68
  7. package/src/App.vue +175 -165
  8. package/src/components/Accordion/Accordion.vue +91 -91
  9. package/src/components/Accordion/AccordionGroup.vue +43 -43
  10. package/src/components/Accordion/accordion.scss +80 -80
  11. package/src/components/Alert/Alert.vue +53 -53
  12. package/src/components/Alert/alert.scss +80 -80
  13. package/src/components/Avatar/Avatar.vue +50 -43
  14. package/src/components/Avatar/avatar.scss +52 -52
  15. package/src/components/Badge/Badge.vue +21 -21
  16. package/src/components/Badge/badge.scss +89 -89
  17. package/src/components/Breadcrumbs/BreadcrumbItem.vue +26 -26
  18. package/src/components/Breadcrumbs/Breadcrumbs.vue +33 -33
  19. package/src/components/Breadcrumbs/breadcrumbs.scss +30 -30
  20. package/src/components/Button/Button.vue +90 -90
  21. package/src/components/Button/button.scss +176 -176
  22. package/src/components/ButtonGroup/ButtonGroup.vue +25 -25
  23. package/src/components/ButtonGroup/button-group.scss +51 -51
  24. package/src/components/Calendar/Calendar.vue +60 -60
  25. package/src/components/Calendar/calendar.scss +56 -56
  26. package/src/components/Card/Card.vue +48 -48
  27. package/src/components/Card/card.scss +53 -53
  28. package/src/components/Checkbox/Checkbox.vue +52 -52
  29. package/src/components/Checkbox/checkbox.scss +66 -66
  30. package/src/components/CopyClipboard/CopyClipboard.vue +82 -82
  31. package/src/components/CopyClipboard/copy-clipboard.scss +17 -17
  32. package/src/components/Divider/Divider.vue +44 -44
  33. package/src/components/Divider/divider.scss +35 -35
  34. package/src/components/Drawer/Drawer.vue +97 -97
  35. package/src/components/Drawer/drawer.scss +36 -36
  36. package/src/components/Dropdown/Dropdown.vue +111 -110
  37. package/src/components/Dropdown/DropdownItem.vue +29 -29
  38. package/src/components/Dropdown/DropdownTitle.vue +8 -8
  39. package/src/components/Dropdown/dropdown.scss +117 -116
  40. package/src/components/Flex/Flex.vue +106 -106
  41. package/src/components/Grid/Grid.vue +54 -54
  42. package/src/components/Input/Counter.vue +70 -70
  43. package/src/components/Input/Dropzone.vue +65 -65
  44. package/src/components/Input/File.vue +15 -15
  45. package/src/components/Input/Input.vue +121 -121
  46. package/src/components/Input/Password.vue +47 -47
  47. package/src/components/Input/Textarea.vue +76 -76
  48. package/src/components/Input/input.scss +208 -208
  49. package/src/components/Kbd/Kbd.vue +48 -48
  50. package/src/components/Kbd/KbdGroup.vue +31 -31
  51. package/src/components/Kbd/kbd.scss +18 -18
  52. package/src/components/Modal/Confirm.vue +56 -56
  53. package/src/components/Modal/Modal.vue +91 -91
  54. package/src/components/Modal/modal.scss +49 -49
  55. package/src/components/OTP/OTP.vue +133 -133
  56. package/src/components/OTP/OTPItem.vue +37 -37
  57. package/src/components/OTP/otp.scss +83 -83
  58. package/src/components/Pagination/Pagination.vue +74 -74
  59. package/src/components/Pagination/pagination.ts +78 -78
  60. package/src/components/Popout/Popout.vue +42 -39
  61. package/src/components/Popout/popout.scss +8 -8
  62. package/src/components/Progress/Progress.vue +90 -90
  63. package/src/components/Progress/progress.scss +41 -41
  64. package/src/components/Radio/Radio.vue +36 -36
  65. package/src/components/Radio/RadioGroup.vue +40 -40
  66. package/src/components/Radio/radio.scss +59 -59
  67. package/src/components/Select/Select.vue +180 -180
  68. package/src/components/Select/select.scss +44 -44
  69. package/src/components/Sheet/Sheet.vue +92 -92
  70. package/src/components/Sheet/sheet.scss +60 -60
  71. package/src/components/Skeleton/Skeleton.vue +43 -43
  72. package/src/components/Skeleton/skeleton.scss +14 -14
  73. package/src/components/Spinner/Spinner.vue +42 -42
  74. package/src/components/Spinner/spinner.scss +46 -46
  75. package/src/components/Switch/Switch.vue +30 -30
  76. package/src/components/Switch/switch.scss +52 -52
  77. package/src/components/Table/Cell.vue +23 -23
  78. package/src/components/Table/Header.vue +59 -59
  79. package/src/components/Table/Row.vue +9 -9
  80. package/src/components/Table/SelectAll.vue +23 -23
  81. package/src/components/Table/SelectRow.vue +29 -29
  82. package/src/components/Table/Table.vue +66 -66
  83. package/src/components/Table/table.scss +134 -134
  84. package/src/components/Table/table.ts +244 -244
  85. package/src/components/Tabs/Tab.vue +27 -27
  86. package/src/components/Tabs/Tabs.vue +82 -82
  87. package/src/components/Tabs/tabs.scss +79 -79
  88. package/src/components/Toast/Toasts.vue +47 -47
  89. package/src/components/Toast/toast.scss +41 -41
  90. package/src/components/Toast/toast.ts +68 -68
  91. package/src/components/Tooltip/Tooltip.vue +86 -84
  92. package/src/components/Tooltip/tooltip.scss +4 -4
  93. package/src/index.scss +1 -1
  94. package/src/index.ts +119 -119
  95. package/src/internal/Backdrop/Backdrop.vue +22 -22
  96. package/src/internal/Backdrop/backdrop.scss +28 -28
  97. package/src/main.ts +5 -5
  98. package/src/shared/helpers.ts +74 -74
  99. package/src/shared/types.ts +29 -29
  100. package/src/style/animation.scss +21 -21
  101. package/src/style/core.scss +148 -146
  102. package/src/style/fonts.scss +53 -53
  103. package/src/style/layout.scss +136 -136
  104. package/src/style/media-query.scss +29 -29
  105. package/src/style/reset.scss +135 -135
  106. package/src/style/tooltip.scss +128 -128
  107. package/src/style/typography.scss +338 -338
  108. package/src/style/utils.scss +36 -36
@@ -1,74 +1,74 @@
1
- export function createArray(length: number, startOffset: number = 0): number[] {
2
- return Array
3
- .from({ length })
4
- .map((_, index) => startOffset + index)
5
- }
6
-
7
- // Searches through the input and checkes wether it contains match
8
- // It searches the input by splitting it by whitespace and matching each
9
- // word against the string
10
- export function searchString(match: string | string[], input: string): boolean {
11
- if (!match)
12
- return false
13
-
14
- const joint: string = Array.isArray(match) ? match.join(' ') : match
15
-
16
- const split = input.trim().split(/\s+/)
17
- return split.every(s => joint.toLowerCase().includes(s.toLowerCase()))
18
- }
19
-
20
- export function getMaybeRefLength(value: string | number): number {
21
- return typeof value === 'number' ? value : value.length
22
- }
23
-
24
- export function isNil(value: any): value is undefined | null {
25
- return value === undefined || value === null
26
- }
27
-
28
- /**
29
- * Checks wether a color is light or dark, depending on
30
- */
31
- export function calculateColorLightness(r: number, g: number, b: number): 'dark' | 'light' {
32
- const yiq = (r * 299 + g * 587 + b * 114) / 1000
33
- return yiq >= 128 ? 'light' : 'dark'
34
- }
35
-
36
- /**
37
- * Convert a CSS rgb string to a tuple of actual r,g,b values
38
- *
39
- * 'rgb(12,16,24)' --> [12, 16, 24]
40
- */
41
- export function stringRgbToValues(rgbString: string): [number, number, number] {
42
- return rgbString.match(/\d+/g)!.map(Number) as any as [number, number, number]
43
- }
44
-
45
- export function randomMinMax(min: number, max: number): number {
46
- min = Math.ceil(min)
47
- max = Math.floor(max)
48
- return Math.floor(Math.random() * (max - min + 1)) + min
49
- }
50
-
51
- export function delay(amount: number): Promise<any> {
52
- return new Promise(r => setTimeout(r, amount))
53
- }
54
-
55
- export function setCharAt(str: string, char: string | number, index: number): string {
56
- if (str.length === 0)
57
- return char.toString()
58
- return str.substring(0, index) + char + str.substring(index + 1)
59
- }
60
-
61
- /**
62
- * Takes in a value and if it is a number, appends "px" to it, otherwise returns
63
- * the original value.
64
- *
65
- */
66
- export function formatUnitValue(value: string | number, unit: string = 'px'): string {
67
- return typeof value === 'number'
68
- ? `${value}${unit}`
69
- // If last value of string is NOT a number, do not add "px" at the end
70
- // eslint-disable-next-line unicorn/prefer-number-properties
71
- : isNaN(Number(value[value.length - 1]))
72
- ? value
73
- : `${value}${unit}`
74
- }
1
+ export function createArray(length: number, startOffset: number = 0): number[] {
2
+ return Array
3
+ .from({ length })
4
+ .map((_, index) => startOffset + index)
5
+ }
6
+
7
+ // Searches through the input and checkes wether it contains match
8
+ // It searches the input by splitting it by whitespace and matching each
9
+ // word against the string
10
+ export function searchString(match: string | string[], input: string): boolean {
11
+ if (!match)
12
+ return false
13
+
14
+ const joint: string = Array.isArray(match) ? match.join(' ') : match
15
+
16
+ const split = input.trim().split(/\s+/)
17
+ return split.every(s => joint.toLowerCase().includes(s.toLowerCase()))
18
+ }
19
+
20
+ export function getMaybeRefLength(value: string | number): number {
21
+ return typeof value === 'number' ? value : value.length
22
+ }
23
+
24
+ export function isNil(value: any): value is undefined | null {
25
+ return value === undefined || value === null
26
+ }
27
+
28
+ /**
29
+ * Checks wether a color is light or dark, depending on
30
+ */
31
+ export function calculateColorLightness(r: number, g: number, b: number): 'dark' | 'light' {
32
+ const yiq = (r * 299 + g * 587 + b * 114) / 1000
33
+ return yiq >= 128 ? 'light' : 'dark'
34
+ }
35
+
36
+ /**
37
+ * Convert a CSS rgb string to a tuple of actual r,g,b values
38
+ *
39
+ * 'rgb(12,16,24)' --> [12, 16, 24]
40
+ */
41
+ export function stringRgbToValues(rgbString: string): [number, number, number] {
42
+ return rgbString.match(/\d+/g)!.map(Number) as any as [number, number, number]
43
+ }
44
+
45
+ export function randomMinMax(min: number, max: number): number {
46
+ min = Math.ceil(min)
47
+ max = Math.floor(max)
48
+ return Math.floor(Math.random() * (max - min + 1)) + min
49
+ }
50
+
51
+ export function delay(amount: number): Promise<any> {
52
+ return new Promise(r => setTimeout(r, amount))
53
+ }
54
+
55
+ export function setCharAt(str: string, char: string | number, index: number): string {
56
+ if (str.length === 0)
57
+ return char.toString()
58
+ return str.substring(0, index) + char + str.substring(index + 1)
59
+ }
60
+
61
+ /**
62
+ * Takes in a value and if it is a number, appends "px" to it, otherwise returns
63
+ * the original value.
64
+ *
65
+ */
66
+ export function formatUnitValue(value: string | number, unit: string = 'px'): string {
67
+ return typeof value === 'number'
68
+ ? `${value}${unit}`
69
+ // If last value of string is NOT a number, do not add "px" at the end
70
+ // eslint-disable-next-line unicorn/prefer-number-properties
71
+ : isNaN(Number(value[value.length - 1]))
72
+ ? value
73
+ : `${value}${unit}`
74
+ }
@@ -1,29 +1,29 @@
1
- import type { ComponentPublicInstance } from 'vue'
2
-
3
- export enum Size {
4
- s = 's',
5
- m = 'm',
6
- l = 'l',
7
- }
8
-
9
- export type Sizes = 's' | 'm' | 'l'
10
-
11
- export type DeepRequired<T> = { [K in keyof T]: DeepRequired<T[K]> } & Required<T>
12
-
13
- export type VueClass = string | Record<string, | boolean> | Array<string | Record<string, string | boolean>>
14
-
15
- // FLoating UI imported types were ruining the build so here we go
16
- export type PopoutMaybeElement<T> = T | ComponentPublicInstance | null | undefined
17
- export type Placement = 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end'
18
-
19
- export type Space = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'
20
- export enum SpaceSize {
21
- xxs = 'xxs',
22
- xs = 'xs',
23
- s = 's',
24
- m = 'm',
25
- l = 'l',
26
- xl = 'xl',
27
- xxl = 'xxl',
28
- xxxl = 'xxxl',
29
- }
1
+ import type { ComponentPublicInstance } from 'vue'
2
+
3
+ export enum Size {
4
+ s = 's',
5
+ m = 'm',
6
+ l = 'l',
7
+ }
8
+
9
+ export type Sizes = 's' | 'm' | 'l'
10
+
11
+ export type DeepRequired<T> = { [K in keyof T]: DeepRequired<T[K]> } & Required<T>
12
+
13
+ export type VueClass = string | Record<string, | boolean> | Array<string | Record<string, string | boolean>>
14
+
15
+ // FLoating UI imported types were ruining the build so here we go
16
+ export type PopoutMaybeElement<T> = T | ComponentPublicInstance | null | undefined
17
+ export type Placement = 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end'
18
+
19
+ export type Space = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'
20
+ export enum SpaceSize {
21
+ xxs = 'xxs',
22
+ xs = 'xs',
23
+ s = 's',
24
+ m = 'm',
25
+ l = 'l',
26
+ xl = 'xl',
27
+ xxl = 'xxl',
28
+ xxxl = 'xxxl',
29
+ }
@@ -1,21 +1,21 @@
1
- .fade-enter-active,
2
- .fade-leave-active {
3
- transition: var(--transition);
4
- }
5
-
6
- .fade-enter-from,
7
- .fade-leave-to {
8
- opacity: 0;
9
- }
10
-
11
- .fade-up-enter-active,
12
- .fade-up-leave-active {
13
- transition: var(--transition);
14
- transition-property: transform, opacity;
15
- }
16
-
17
- .fade-up-enter-from,
18
- .fade-up-leave-to {
19
- opacity: 0;
20
- transform: translateY(8px);
21
- }
1
+ .fade-enter-active,
2
+ .fade-leave-active {
3
+ transition: var(--transition);
4
+ }
5
+
6
+ .fade-enter-from,
7
+ .fade-leave-to {
8
+ opacity: 0;
9
+ }
10
+
11
+ .fade-up-enter-active,
12
+ .fade-up-leave-active {
13
+ transition: var(--transition);
14
+ transition-property: transform, opacity;
15
+ }
16
+
17
+ .fade-up-enter-from,
18
+ .fade-up-leave-to {
19
+ opacity: 0;
20
+ transform: translateY(8px);
21
+ }
@@ -1,146 +1,148 @@
1
- @use 'sass:meta';
2
- // Core of the UI library, it should only contain styles which are relevant to
3
- // the library and each component should import it
4
-
5
- // To overwrite any of these styles, simply create a style file and import it
6
- // after this one
7
- @use './reset.scss';
8
- @use './fonts.scss';
9
-
10
- :root {
11
- --container-xs: 360px;
12
- --container-s: 498px;
13
- --container-m: 856px;
14
- --container-l: 1140px;
15
- --container-xl: 1540px;
16
- --container-xxl: 1920px;
17
-
18
- --border-radius-xs: 2px;
19
- --border-radius-s: 4px;
20
- --border-radius-m: 8px;
21
- --border-radius-l: 12px;
22
-
23
- --font-size-xxs: 1rem;
24
- --font-size-xs: 1.15rem;
25
- --font-size-s: 1.3rem;
26
- --font-size-ms: 1.45rem;
27
- --font-size-m: 1.6rem;
28
- --font-size-l: 1.8rem;
29
- --font-size-xl: 2rem;
30
- --font-size-xxl: 2.6rem;
31
- --font-size-xxxl: 3.4rem;
32
- --font-size-xxxxl: 4.8rem;
33
-
34
- --space-xxs: 4px;
35
- --space-xs: 8px;
36
- --space-s: 12px;
37
- --space-m: 18px;
38
- --space-l: 24px;
39
- --space-xl: 34px;
40
- --space-xxl: 48px;
41
- --space-xxxl: 64px;
42
-
43
- --transition-fast: 0.08s all ease-in-out;
44
- --transition: 0.14s all ease-in-out;
45
- --transition-slow: 0.3s all ease-in-out;
46
-
47
- --color-bg: rgb(18, 18, 18);
48
- --color-bg-raised: rgb(28, 28, 28);
49
- --color-bg-lowered: rgb(14, 14, 14);
50
-
51
- --color-text: rgb(231, 231, 231);
52
- --color-text-light: rgb(158, 158, 158);
53
- --color-text-lighter: rgb(100, 100, 100);
54
- --color-text-lightest: rgb(65, 65, 65);
55
- --color-text-invert: rgb(17, 17, 17);
56
-
57
- --color-button-gray: rgb(28, 28, 28);
58
- --color-button-gray-hover: rgb(38, 38, 38);
59
-
60
- --color-text-red: rgb(243, 78, 70);
61
- --color-bg-red-lowered: rgb(66, 22, 20);
62
- --color-bg-red-raised: rgb(119, 31, 26);
63
- --color-border-red: rgb(94, 23, 19);
64
-
65
- --color-text-green: rgb(44, 214, 52);
66
- --color-text-green-disabled: rgb(109, 193, 113);
67
- --color-bg-green-lowered: rgb(19, 46, 9);
68
- --color-bg-green-raised: rgb(48, 122, 22);
69
- --color-border-green: rgb(27, 70, 12);
70
-
71
- --color-text-yellow: rgb(243, 231, 70);
72
- --color-bg-yellow-lowered: rgb(59, 46, 10);
73
- --color-bg-yellow-raised: rgb(119, 82, 26);
74
- --color-border-yellow: rgb(99, 97, 16);
75
-
76
- --color-text-blue: rgb(85, 141, 245);
77
- --color-bg-blue-lowered: rgb(10, 25, 59);
78
- --color-bg-blue-raised: rgb(26, 59, 119);
79
- --color-border-blue: rgb(20, 45, 112);
80
-
81
- --color-border: rgb(38, 38, 38);
82
- --color-border-strong: rgb(54, 54, 54);
83
- --color-border-weak: rgb(36, 36, 36);
84
-
85
- --color-accent: rgb(56, 214, 219);
86
- --color-accent-disabled: hsl(from var(--color-accent) calc(h) calc(s * 0.4) calc(l));
87
- --color-bg-accent-lowered: hsl(from var(--color-accent) calc(h) s calc(l * 0.2));
88
- --color-bg-accent-raised: hsl(from var(--color-accent) calc(h) s calc(l * 0.5));
89
- --color-border-accent: hsl(from var(--color-accent) calc(h) s calc(l * 0.4));
90
-
91
- --box-shadow: 0 2px 12px rgba(8, 8, 8, 0.2);
92
- --box-shadow-strong: 0 4px 15px rgba(8, 8, 8, 0.4);
93
-
94
- --global-font: Geist, sans-serif;
95
- --global-font-mono: 'Geist Mono', 'Courier New', Courier, monospace;
96
- }
97
-
98
- :root {
99
- font-family: var(--global-font);
100
- font-size: 63.5%;
101
- // TODO remove
102
- position: relative;
103
- background-color: var(--color-bg);
104
-
105
- overflow-x: hidden;
106
- width: 100%;
107
-
108
- font-feature-settings: normal;
109
- font-variation-settings: normal;
110
-
111
- font-synthesis: none;
112
- text-rendering: optimizeLegibility;
113
- -webkit-font-smoothing: antialiased;
114
- -moz-osx-font-smoothing: grayscale;
115
- // TODO end remove
116
-
117
- * {
118
- -webkit-box-sizing: border-box;
119
- -moz-box-sizing: border-box;
120
- box-sizing: border-box;
121
- outline: none;
122
-
123
- &:focus-visible {
124
- outline: 2px solid var(--color-text);
125
- }
126
- }
127
- }
128
-
129
- body {
130
- color: var(--color-text);
131
- min-height: 100dvh;
132
- }
133
-
134
- // Set base icon color
135
- .iconify {
136
- color: var(--color-text-light);
137
- }
138
-
139
- @include meta.load-css('typography.scss');
140
- @include meta.load-css('layout.scss');
141
- @include meta.load-css('animation.scss');
142
- @include meta.load-css('tooltip.scss');
143
- @include meta.load-css('utils.scss');
144
- @include meta.load-css('fonts.scss');
145
-
146
- @include meta.load-css('media-query.scss');
1
+ @use 'sass:meta';
2
+ // Core of the UI library, it should only contain styles which are relevant to
3
+ // the library and each component should import it
4
+
5
+ // To overwrite any of these styles, simply create a style file and import it
6
+ // after this one
7
+ @use './reset.scss';
8
+ @use './fonts.scss';
9
+
10
+ :root {
11
+ color-scheme: dark;
12
+
13
+ --container-xs: 360px;
14
+ --container-s: 498px;
15
+ --container-m: 856px;
16
+ --container-l: 1140px;
17
+ --container-xl: 1540px;
18
+ --container-xxl: 1920px;
19
+
20
+ --border-radius-xs: 2px;
21
+ --border-radius-s: 4px;
22
+ --border-radius-m: 8px;
23
+ --border-radius-l: 12px;
24
+
25
+ --font-size-xxs: 1rem;
26
+ --font-size-xs: 1.15rem;
27
+ --font-size-s: 1.3rem;
28
+ --font-size-ms: 1.45rem;
29
+ --font-size-m: 1.6rem;
30
+ --font-size-l: 1.8rem;
31
+ --font-size-xl: 2rem;
32
+ --font-size-xxl: 2.6rem;
33
+ --font-size-xxxl: 3.4rem;
34
+ --font-size-xxxxl: 4.8rem;
35
+
36
+ --space-xxs: 4px;
37
+ --space-xs: 8px;
38
+ --space-s: 12px;
39
+ --space-m: 18px;
40
+ --space-l: 24px;
41
+ --space-xl: 34px;
42
+ --space-xxl: 48px;
43
+ --space-xxxl: 64px;
44
+
45
+ --transition-fast: 0.08s all ease-in-out;
46
+ --transition: 0.14s all ease-in-out;
47
+ --transition-slow: 0.3s all ease-in-out;
48
+
49
+ --color-bg: rgb(18, 18, 18);
50
+ --color-bg-raised: rgb(28, 28, 28);
51
+ --color-bg-lowered: rgb(14, 14, 14);
52
+
53
+ --color-text: rgb(231, 231, 231);
54
+ --color-text-light: rgb(158, 158, 158);
55
+ --color-text-lighter: rgb(100, 100, 100);
56
+ --color-text-lightest: rgb(65, 65, 65);
57
+ --color-text-invert: rgb(17, 17, 17);
58
+
59
+ --color-button-gray: rgb(28, 28, 28);
60
+ --color-button-gray-hover: rgb(38, 38, 38);
61
+
62
+ --color-text-red: rgb(243, 78, 70);
63
+ --color-bg-red-lowered: rgb(66, 22, 20);
64
+ --color-bg-red-raised: rgb(119, 31, 26);
65
+ --color-border-red: rgb(94, 23, 19);
66
+
67
+ --color-text-green: rgb(44, 214, 52);
68
+ --color-text-green-disabled: rgb(109, 193, 113);
69
+ --color-bg-green-lowered: rgb(19, 46, 9);
70
+ --color-bg-green-raised: rgb(48, 122, 22);
71
+ --color-border-green: rgb(27, 70, 12);
72
+
73
+ --color-text-yellow: rgb(243, 231, 70);
74
+ --color-bg-yellow-lowered: rgb(59, 46, 10);
75
+ --color-bg-yellow-raised: rgb(119, 82, 26);
76
+ --color-border-yellow: rgb(99, 97, 16);
77
+
78
+ --color-text-blue: rgb(85, 141, 245);
79
+ --color-bg-blue-lowered: rgb(10, 25, 59);
80
+ --color-bg-blue-raised: rgb(26, 59, 119);
81
+ --color-border-blue: rgb(20, 45, 112);
82
+
83
+ --color-border: rgb(38, 38, 38);
84
+ --color-border-strong: rgb(54, 54, 54);
85
+ --color-border-weak: rgb(36, 36, 36);
86
+
87
+ --color-accent: rgb(56, 214, 219);
88
+ --color-accent-disabled: hsl(from var(--color-accent) calc(h) calc(s * 0.4) calc(l));
89
+ --color-bg-accent-lowered: hsl(from var(--color-accent) calc(h) s calc(l * 0.2));
90
+ --color-bg-accent-raised: hsl(from var(--color-accent) calc(h) s calc(l * 0.5));
91
+ --color-border-accent: hsl(from var(--color-accent) calc(h) s calc(l * 0.4));
92
+
93
+ --box-shadow: 0 2px 12px rgba(8, 8, 8, 0.2);
94
+ --box-shadow-strong: 0 4px 15px rgba(8, 8, 8, 0.4);
95
+
96
+ --global-font: Geist, sans-serif;
97
+ --global-font-mono: 'Geist Mono', 'Courier New', Courier, monospace;
98
+ }
99
+
100
+ :root {
101
+ font-family: var(--global-font);
102
+ font-size: 63.5%;
103
+ // TODO remove
104
+ position: relative;
105
+ background-color: var(--color-bg);
106
+
107
+ overflow-x: hidden;
108
+ width: 100%;
109
+
110
+ font-feature-settings: normal;
111
+ font-variation-settings: normal;
112
+
113
+ font-synthesis: none;
114
+ text-rendering: optimizeLegibility;
115
+ -webkit-font-smoothing: antialiased;
116
+ -moz-osx-font-smoothing: grayscale;
117
+ // TODO end remove
118
+
119
+ * {
120
+ -webkit-box-sizing: border-box;
121
+ -moz-box-sizing: border-box;
122
+ box-sizing: border-box;
123
+ outline: none;
124
+
125
+ &:focus-visible {
126
+ outline: 2px solid var(--color-text);
127
+ }
128
+ }
129
+ }
130
+
131
+ body {
132
+ color: var(--color-text);
133
+ min-height: 100dvh;
134
+ }
135
+
136
+ // Set base icon color
137
+ .iconify {
138
+ color: var(--color-text-light);
139
+ }
140
+
141
+ @include meta.load-css('typography.scss');
142
+ @include meta.load-css('layout.scss');
143
+ @include meta.load-css('animation.scss');
144
+ @include meta.load-css('tooltip.scss');
145
+ @include meta.load-css('utils.scss');
146
+ @include meta.load-css('fonts.scss');
147
+
148
+ @include meta.load-css('media-query.scss');
@@ -1,53 +1,53 @@
1
- $sizes: 'xxs', 'xs', 's', 'ms', 'm', 'l', 'xl', 'xxl', 'xxxl', 'xxxxl';
2
-
3
- @each $size in $sizes {
4
- .text-#{$size} {
5
- font-size: var(--font-size-#{$size});
6
- }
7
- }
8
-
9
- .text-color {
10
- color: var(--color-text);
11
- }
12
-
13
- .text-color-accent {
14
- color: var(--color-accent);
15
- }
16
-
17
- $colors: 'light', 'lighter', 'lightest', 'red', 'green', 'yellow', 'blue';
18
-
19
- @each $color in $colors {
20
- .text-color-#{$color} {
21
- color: var(--color-text-#{$color});
22
- }
23
- }
24
-
25
- // Font weights
26
-
27
- .text-light {
28
- font-weight: 300;
29
- }
30
-
31
- .text-regular {
32
- font-weight: 400;
33
- }
34
-
35
- .text-medium {
36
- font-weight: 500;
37
- }
38
-
39
- .text-semibold {
40
- font-weight: 600;
41
- }
42
-
43
- .text-bold {
44
- font-weight: 700;
45
- }
46
-
47
- .text-extra-bold {
48
- font-weight: 800;
49
- }
50
-
51
- .text-black {
52
- font-weight: 900;
53
- }
1
+ $sizes: 'xxs', 'xs', 's', 'ms', 'm', 'l', 'xl', 'xxl', 'xxxl', 'xxxxl';
2
+
3
+ @each $size in $sizes {
4
+ .text-#{$size} {
5
+ font-size: var(--font-size-#{$size});
6
+ }
7
+ }
8
+
9
+ .text-color {
10
+ color: var(--color-text);
11
+ }
12
+
13
+ .text-color-accent {
14
+ color: var(--color-accent);
15
+ }
16
+
17
+ $colors: 'light', 'lighter', 'lightest', 'red', 'green', 'yellow', 'blue';
18
+
19
+ @each $color in $colors {
20
+ .text-color-#{$color} {
21
+ color: var(--color-text-#{$color});
22
+ }
23
+ }
24
+
25
+ // Font weights
26
+
27
+ .text-light {
28
+ font-weight: 300;
29
+ }
30
+
31
+ .text-regular {
32
+ font-weight: 400;
33
+ }
34
+
35
+ .text-medium {
36
+ font-weight: 500;
37
+ }
38
+
39
+ .text-semibold {
40
+ font-weight: 600;
41
+ }
42
+
43
+ .text-bold {
44
+ font-weight: 700;
45
+ }
46
+
47
+ .text-extra-bold {
48
+ font-weight: 800;
49
+ }
50
+
51
+ .text-black {
52
+ font-weight: 900;
53
+ }