ustatic-css 0.0.1

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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/dist/_ustatic-vars-Cx6_uZJY.cjs +1 -0
  4. package/dist/_ustatic-vars-D2NgNZNI.js +4 -0
  5. package/dist/css/modules/align.css +1 -0
  6. package/dist/css/modules/animations.css +1 -0
  7. package/dist/css/modules/base.css +1 -0
  8. package/dist/css/modules/bg.css +1 -0
  9. package/dist/css/modules/border.css +1 -0
  10. package/dist/css/modules/cursor.css +1 -0
  11. package/dist/css/modules/display.css +1 -0
  12. package/dist/css/modules/effects.css +1 -0
  13. package/dist/css/modules/filters.css +1 -0
  14. package/dist/css/modules/flexbox.css +1 -0
  15. package/dist/css/modules/grid.css +1 -0
  16. package/dist/css/modules/hide.css +1 -0
  17. package/dist/css/modules/interactivity.css +1 -0
  18. package/dist/css/modules/outline.css +1 -0
  19. package/dist/css/modules/position.css +1 -0
  20. package/dist/css/modules/scroll.css +1 -0
  21. package/dist/css/modules/sizing.css +1 -0
  22. package/dist/css/modules/spacing.css +1 -0
  23. package/dist/css/modules/typography.css +1 -0
  24. package/dist/css/ustatic-vars.css +1 -0
  25. package/dist/css/ustatic.css +1 -0
  26. package/dist/js/index.cjs.js +9 -0
  27. package/dist/js/index.es.js +175 -0
  28. package/dist/types/package.json.d.ts +102 -0
  29. package/dist/types/src/index.d.ts +4 -0
  30. package/dist/types/src/index.d.ts.map +1 -0
  31. package/dist/types/src/plugins/vue.plugin.d.ts +15 -0
  32. package/dist/types/src/plugins/vue.plugin.d.ts.map +1 -0
  33. package/dist/types/src/utils/styleLoader.d.ts +35 -0
  34. package/dist/types/src/utils/styleLoader.d.ts.map +1 -0
  35. package/dist/types/src/utils/styleloader.classmap.d.ts +2 -0
  36. package/dist/types/src/utils/styleloader.classmap.d.ts.map +1 -0
  37. package/dist/types/src/utils/useCssProperties.d.ts +17 -0
  38. package/dist/types/src/utils/useCssProperties.d.ts.map +1 -0
  39. package/dist/types/src/utils/useTokens.d.ts +21 -0
  40. package/dist/types/src/utils/useTokens.d.ts.map +1 -0
  41. package/dist/ustatic-index-1SZfqZon.js +4 -0
  42. package/dist/ustatic-index-QcZrD98s.cjs +1 -0
  43. package/package.json +99 -0
  44. package/src/css/assets/tokens/_ustatic-list.scss +460 -0
  45. package/src/css/assets/tokens/_ustatic-prefix.scss +1 -0
  46. package/src/css/assets/tokens/_ustatic-vars.scss +757 -0
  47. package/src/css/modules/align/index.scss +17 -0
  48. package/src/css/modules/animations/index.scss +151 -0
  49. package/src/css/modules/base/index.scss +406 -0
  50. package/src/css/modules/base/scrollbar.scss +21 -0
  51. package/src/css/modules/bg/index.scss +60 -0
  52. package/src/css/modules/border/border.scss +88 -0
  53. package/src/css/modules/border/divider.scss +38 -0
  54. package/src/css/modules/border/index.scss +3 -0
  55. package/src/css/modules/border/rounded.scss +70 -0
  56. package/src/css/modules/cursor/index.scss +33 -0
  57. package/src/css/modules/display/index.scss +19 -0
  58. package/src/css/modules/effects/index.scss +35 -0
  59. package/src/css/modules/filters/index.scss +34 -0
  60. package/src/css/modules/flexbox/flex.scss +132 -0
  61. package/src/css/modules/flexbox/gap.scss +15 -0
  62. package/src/css/modules/flexbox/index.scss +2 -0
  63. package/src/css/modules/grid/index.scss +94 -0
  64. package/src/css/modules/hide/index.scss +27 -0
  65. package/src/css/modules/interactivity/index.scss +28 -0
  66. package/src/css/modules/outline/index.scss +63 -0
  67. package/src/css/modules/position/index.scss +94 -0
  68. package/src/css/modules/scroll/index.scss +68 -0
  69. package/src/css/modules/sizing/index.scss +91 -0
  70. package/src/css/modules/spacing/index.scss +56 -0
  71. package/src/css/modules/typography/index.scss +139 -0
  72. package/src/css/tokens/base/animations/underline.yaml +5 -0
  73. package/src/css/tokens/base/border/color.yaml +17 -0
  74. package/src/css/tokens/base/border/radius.yaml +33 -0
  75. package/src/css/tokens/base/border/width.yaml +19 -0
  76. package/src/css/tokens/base/color/accent.yaml +416 -0
  77. package/src/css/tokens/base/color/base.yaml +492 -0
  78. package/src/css/tokens/base/color/opacity.yaml +4 -0
  79. package/src/css/tokens/base/color/variant.yaml +18 -0
  80. package/src/css/tokens/base/cursor/base.yaml +18 -0
  81. package/src/css/tokens/base/font/weight.yaml +23 -0
  82. package/src/css/tokens/base/grid/base.yaml +9 -0
  83. package/src/css/tokens/base/position/base.yaml +253 -0
  84. package/src/css/tokens/base/rotation/base.yaml +20 -0
  85. package/src/css/tokens/base/screen/base.yaml +10 -0
  86. package/src/css/tokens/base/scroll/base.yaml +16 -0
  87. package/src/css/tokens/base/size/base.yaml +16 -0
  88. package/src/css/tokens/base/text/color.yaml +20 -0
  89. package/src/css/tokens/base/text/size.yaml +37 -0
  90. package/src/css/tokens/base/visibility/base.yaml +61 -0
  91. package/src/css/ustatic-index.scss +24 -0
  92. package/src/css/utils/_token.scss +56 -0
  93. package/src/css/variables.scss +359 -0
  94. package/src/index.ts +6 -0
  95. package/src/plugins/vue.plugin.ts +77 -0
  96. package/src/utils/styleLoader.ts +257 -0
  97. package/src/utils/styleloader.classmap.ts +109 -0
  98. package/src/utils/useCssProperties.ts +152 -0
  99. package/src/utils/useTokens.ts +287 -0
@@ -0,0 +1,253 @@
1
+ # position - используется для позиционирования
2
+ # space - используется для задания расстояний между элементами
3
+ # step - используется для задания расстояний между однородными элементами
4
+
5
+ base:
6
+ step: &stepping # используется для gap
7
+ 0:
8
+ value: "0px"
9
+ px:
10
+ value: "1px"
11
+ '0d5':
12
+ value: "0.125rem" # 2px
13
+ comment: "2px"
14
+ 1:
15
+ value: "0.25rem" # 4px
16
+ comment: "4px"
17
+ '1d5':
18
+ value: "0.375rem" # 6px
19
+ comment: "6px"
20
+ 2:
21
+ value: "0.5rem" # 8px
22
+ comment: "8px"
23
+ 3:
24
+ value: "0.75rem" # 12px
25
+ comment: "12px"
26
+ 4:
27
+ value: "1rem" # 16px
28
+ comment: "16px"
29
+ 5:
30
+ value: "1.25rem" # 20px
31
+ comment: "20px"
32
+ 6:
33
+ value: "1.5rem" # 24px
34
+ comment: "24px"
35
+ 7:
36
+ value: "1.75rem" # 28px
37
+ comment: "28px"
38
+ 8:
39
+ value: "2rem" # 32px
40
+ comment: "32px"
41
+ 9:
42
+ value: "2.25rem" # 36px
43
+ comment: "36px"
44
+ 10:
45
+ value: "2.5rem" # 40px
46
+ comment: "40px"
47
+ 12:
48
+ value: "3rem" # 48px
49
+ comment: "48px"
50
+ 18:
51
+ value: "4.5rem" # 72px
52
+ comment: "72px"
53
+ 64:
54
+ value: "16rem" # 256px
55
+ comment: "256px"
56
+ auto:
57
+ value: "auto"
58
+ position: &positioning # используется для padding, margin
59
+ <<: *stepping
60
+ '1/4':
61
+ value: "25%"
62
+ '1/2':
63
+ value: "50%"
64
+ '1/3':
65
+ value: "33.3333%"
66
+ '2/3':
67
+ value: "66.6666%"
68
+ '3/4':
69
+ value: "75%"
70
+ '4/5':
71
+ value: "80%"
72
+ full:
73
+ value: "100%"
74
+
75
+ '5vh':
76
+ value: "5vh"
77
+ '10vh':
78
+ value: "10vh"
79
+ '15vh':
80
+ value: "15vh"
81
+ '20vh':
82
+ value: "20vh"
83
+ '25vh':
84
+ value: "25vh"
85
+ '30vh':
86
+ value: "30vh"
87
+ '35vh':
88
+ value: "35vh"
89
+ '40vh':
90
+ value: "40vh"
91
+ '45vh':
92
+ value: "45vh"
93
+ '50vh':
94
+ value: "50vh"
95
+ '55vh':
96
+ value: "55vh"
97
+ '60vh':
98
+ value: "60vh"
99
+ '65vh':
100
+ value: "65vh"
101
+ '70vh':
102
+ value: "70vh"
103
+ '75vh':
104
+ value: "75vh"
105
+ '80vh':
106
+ value: "80vh"
107
+ '85vh':
108
+ value: "85vh"
109
+ '90vh':
110
+ value: "90vh"
111
+ '95vh':
112
+ value: "95vh"
113
+ '100vh':
114
+ value: "100vh"
115
+
116
+ '5vw':
117
+ value: "5vw"
118
+ '10vw':
119
+ value: "10vw"
120
+ '15vw':
121
+ value: "15vw"
122
+ '20vw':
123
+ value: "20vw"
124
+ '25vw':
125
+ value: "25vw"
126
+ '30vw':
127
+ value: "30vw"
128
+ '35vw':
129
+ value: "35vw"
130
+ '40vw':
131
+ value: "40vw"
132
+ '45vw':
133
+ value: "45vw"
134
+ '50vw':
135
+ value: "50vw"
136
+ '55vw':
137
+ value: "55vw"
138
+ '60vw':
139
+ value: "60vw"
140
+ '65vw':
141
+ value: "65vw"
142
+ '70vw':
143
+ value: "70vw"
144
+ '75vw':
145
+ value: "75vw"
146
+ '80vw':
147
+ value: "80vw"
148
+ '85vw':
149
+ value: "85vw"
150
+ '90vw':
151
+ value: "90vw"
152
+ '95vw':
153
+ value: "95vw"
154
+ '100vw':
155
+ value: "100vw"
156
+
157
+ size:
158
+ <<: *positioning
159
+ def:
160
+ value: "{base.size.10}"
161
+ # "0.5":
162
+ # value: "0.125rem"
163
+ # comment: "2px"
164
+ '2px':
165
+ value: "0.125rem"
166
+ comment: "2px"
167
+ 11:
168
+ value: "2.75rem" # 44px
169
+ comment: "44px"
170
+ 12:
171
+ value: "3rem" # 48px
172
+ comment: "48px"
173
+ 14:
174
+ value: "3.5rem" # 56px
175
+ comment: "56px"
176
+ 16:
177
+ value: "4rem" # 64px
178
+ comment: "64px"
179
+ 18:
180
+ value: "4.5rem" # 72px
181
+ comment: "72px"
182
+ 20:
183
+ value: "5rem" # 80px
184
+ comment: "80px"
185
+ 24:
186
+ value: "6rem" # 96px
187
+ comment: "96px"
188
+ 28:
189
+ value: "7rem" # 112px
190
+ comment: "112px"
191
+ 32:
192
+ value: "8rem" # 128px
193
+ comment: "128px"
194
+ 36:
195
+ value: "9rem" # 144px
196
+ comment: "144px"
197
+ 40:
198
+ value: "10rem" # 160px
199
+ comment: "160px"
200
+ 44:
201
+ value: "11rem" # 176px
202
+ comment: "176px"
203
+ 48:
204
+ value: "12rem" # 192px
205
+ comment: "192px"
206
+ 52:
207
+ value: "13rem" # 208px
208
+ comment: "208px"
209
+ 56:
210
+ value: "14rem" # 224px
211
+ comment: "224px"
212
+ 60:
213
+ value: "15rem" # 240px
214
+ comment: "240px"
215
+ 64:
216
+ value: "16rem" # 256px
217
+ comment: "256px"
218
+ 72:
219
+ value: "18rem" # 288px
220
+ comment: "288px"
221
+ 80:
222
+ value: "20rem" # 320px
223
+ comment: "320px"
224
+ 96:
225
+ value: "24rem" # 384px
226
+ comment: "384px"
227
+ 112:
228
+ value: "28rem" # 448px
229
+ comment: "448px"
230
+ 128:
231
+ value: "32rem" # 512px
232
+ comment: "512px"
233
+ 144:
234
+ value: "36rem" # 576px
235
+ comment: "576px"
236
+ 160:
237
+ value: "40rem" # 640px
238
+ comment: "640px"
239
+ 192:
240
+ value: "48rem" # 768px
241
+ comment: "768px"
242
+ 224:
243
+ value: "56rem" # 896px
244
+ comment: "896px"
245
+ 256:
246
+ value: "64rem" # 1024px
247
+ comment: "1024px"
248
+ none:
249
+ value: "none"
250
+ comment: "No top positioning"
251
+ fit:
252
+ value: "fit-content"
253
+ comment: "Size to fit the content"
@@ -0,0 +1,20 @@
1
+ base:
2
+ rotation:
3
+ def:
4
+ value: "{base.rotation.0}"
5
+ '0':
6
+ value: 0
7
+ '45':
8
+ value: 45
9
+ '90':
10
+ value: 90
11
+ '135':
12
+ value: 135
13
+ '180':
14
+ value: 180
15
+ '225':
16
+ value: 225
17
+ '270':
18
+ value: 270
19
+ '315':
20
+ value: 315
@@ -0,0 +1,10 @@
1
+ base:
2
+ screen:
3
+ small:
4
+ value: 0 # < 1280px считается как small
5
+ medium:
6
+ value: 1280 # > 1280px считается как medium, но меньше след токена, с остальными по аналогии
7
+ default:
8
+ value: 1920
9
+ large:
10
+ value: 2560
@@ -0,0 +1,16 @@
1
+ base:
2
+ scroll:
3
+ bar:
4
+ width:
5
+ value: "{base.size.1}"
6
+ width:
7
+ value: "{base.size.1}"
8
+ height:
9
+ value: "{base.size.1}"
10
+ thumb:
11
+ min-width:
12
+ value: "{base.size.8}"
13
+ height:
14
+ value: auto
15
+ round:
16
+ value: "{base.size.2}"
@@ -0,0 +1,16 @@
1
+ base:
2
+ size:
3
+ 2xs:
4
+ value: "0.5em"
5
+ xs:
6
+ value: "0.75em"
7
+ sm:
8
+ value: "0.875em"
9
+ base:
10
+ value: "1em"
11
+ lg:
12
+ value: "1.125em"
13
+ xl:
14
+ value: "1.25em"
15
+ 2xl:
16
+ value: "1.5em"
@@ -0,0 +1,20 @@
1
+ base:
2
+ text:
3
+ color:
4
+ black:
5
+ value: '{base.color.black}'
6
+ gray:
7
+ '700':
8
+ value: '{base.color.gray.700}'
9
+ primary:
10
+ value: '{base.color.variant.primary}'
11
+ secondary:
12
+ value: '{base.color.variant.secondary}'
13
+ success:
14
+ value: '{base.color.variant.success}'
15
+ info:
16
+ value: '{base.color.variant.info}'
17
+ warning:
18
+ value: '{base.color.variant.warning}'
19
+ danger:
20
+ value: '{base.color.variant.danger}'
@@ -0,0 +1,37 @@
1
+ base:
2
+ text:
3
+ size:
4
+ 2xs:
5
+ value: "0.5rem"
6
+ xs:
7
+ value: "0.75rem"
8
+ sm:
9
+ value: "0.875rem"
10
+ base:
11
+ value: "1rem"
12
+ lg:
13
+ value: "1.125rem"
14
+ xl:
15
+ value: "1.25rem"
16
+ 2xl:
17
+ value: "1.5rem"
18
+ line:
19
+ height:
20
+ def:
21
+ value: "{base.text.line.height.base}"
22
+ fit:
23
+ value: '1'
24
+ 2xs:
25
+ value: "0.75rem"
26
+ xs:
27
+ value: "1rem"
28
+ sm:
29
+ value: "1.25rem"
30
+ base:
31
+ value: "1.5rem"
32
+ lg:
33
+ value: "1.75rem"
34
+ xl:
35
+ value: "1.75rem"
36
+ 2xl:
37
+ value: "2rem"
@@ -0,0 +1,61 @@
1
+ base:
2
+ opacity:
3
+ "0":
4
+ value: "0.0"
5
+ "25":
6
+ value: "0.25"
7
+ "50":
8
+ value: "0.5"
9
+ "75":
10
+ value: "0.75"
11
+ "100":
12
+ value: "1.0"
13
+ "disabled":
14
+ value: "{base.opacity.25}"
15
+ zindex:
16
+ 0:
17
+ value: "0"
18
+ 1:
19
+ value: "1"
20
+ 2:
21
+ value: "2"
22
+ 10:
23
+ value: "10"
24
+ 20:
25
+ value: "20"
26
+ 30:
27
+ value: "30"
28
+ 40:
29
+ value: "40"
30
+ 50:
31
+ value: "50"
32
+ 60:
33
+ value: "60"
34
+ 70:
35
+ value: "70"
36
+ 80:
37
+ value: "80"
38
+ 90:
39
+ value: "90"
40
+ 100:
41
+ value: "100"
42
+ hidden:
43
+ value: "-1"
44
+ icon:
45
+ value: "1"
46
+ menu:
47
+ value: "20"
48
+ teleport:
49
+ value: "20"
50
+ load:
51
+ value: "30"
52
+ modal:
53
+ value: "40"
54
+ tip:
55
+ value: "50"
56
+ mobile-menu:
57
+ value: "50"
58
+ notice:
59
+ value: "100"
60
+ fullpage-load:
61
+ value: "100"
@@ -0,0 +1,24 @@
1
+ @import './utils/token';
2
+
3
+ @import './variables.scss';
4
+
5
+ @import './modules/base';
6
+
7
+ @import './modules/typography';
8
+ @import './modules/display';
9
+ @import './modules/align';
10
+ @import './modules/spacing';
11
+ @import './modules/grid';
12
+ @import './modules/flexbox';
13
+ @import './modules/position';
14
+ @import './modules/border';
15
+ @import './modules/hide';
16
+ @import './modules/sizing';
17
+ @import './modules/bg';
18
+ @import './modules/filters';
19
+ @import './modules/effects';
20
+ @import './modules/interactivity/';
21
+ @import './modules/cursor';
22
+ @import './modules/scroll';
23
+ @import './modules/animations';
24
+ @import './modules/outline/';
@@ -0,0 +1,56 @@
1
+ @import "../assets/tokens/ustatic-prefix";
2
+
3
+ // Утилиты для работы с токенами
4
+ // Этот файл содержит вспомогательные функции и миксины для работы с CSS переменными (токенами)
5
+ // Основное назначение - преобразование путей токенов в CSS переменные и установка их значений
6
+ // Вспомогательная функция для замены символов в строке
7
+ // @param {String} $string - Исходная строка
8
+ // @param {String} $search - Строка для поиска
9
+ // @param {String} $replace - Строка для замены (по умолчанию пустая строка)
10
+ // @return {String} - Строка с замененными символами
11
+ @function str-replace($string, $search, $replace: '') {
12
+ $index: str-index($string, $search);
13
+ @if $index {
14
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
15
+ }
16
+ @return $string;
17
+ }
18
+
19
+
20
+ // Функция для замены косых черт на дефисы
21
+ // @param {String} $string - Исходная строка
22
+ // @return {String} - Строка с замененными косыми чертами на дефисы
23
+ @function replace-slash($string) {
24
+ $string: str-replace($string, '/', '-'); // Заменяем '/' на '-'
25
+ $string: str-replace($string, '\\/', '-'); // Заменяем '\/' на '-'
26
+ @return $string;
27
+ }
28
+
29
+ // Функция для преобразования строки в имя CSS переменной
30
+ // @param {String} $token-path - Путь к токену (например, "base.color.primary")
31
+ // @param {*} $default - Значение по умолчанию (опционально)
32
+ // @return {String} - CSS переменная в формате var(--prefix-variable-name) или var(--prefix-variable-name, $default)
33
+ @function token($token-path, $default: none) {
34
+ // Заменяем точки на дефисы и добавляем префикс
35
+ $variable-name: str-replace($token-path, '.', '-');
36
+ // Заменяем косые черты на дефисы
37
+ $variable-name: replace-slash($variable-name);
38
+
39
+ // Возвращаем строку для использования в качестве CSS переменной
40
+ @if $default != none {
41
+ @return var(--#{$prefix}#{$variable-name}, $default);
42
+ } @else {
43
+ @return var(--#{$prefix}#{$variable-name});
44
+ }
45
+ }
46
+
47
+ // Миксин для установки CSS переменной
48
+ // @param {String} $token-path - Путь к токену (например, "base.color.primary")
49
+ // @param {*} $value - Значение переменной
50
+ // @param {String} $libprefix - Префикс библиотеки (по умолчанию $prefix)
51
+ @mixin set-token($token-path, $value, $libprefix: $prefix) {
52
+ // Заменяем точки на дефисы и добавляем префикс
53
+ $variable-name: str-replace($token-path, '.', '-');
54
+
55
+ --#{$libprefix}#{$variable-name}: #{$value};
56
+ }