@medyll/cssfabric 0.2.0 → 0.2.1-beta.2

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 (173) hide show
  1. package/README.md +58 -38
  2. package/dist/NewMenu.svelte +41 -0
  3. package/dist/NewMenu.svelte.d.ts +19 -0
  4. package/dist/css/animation/animation.css +2 -0
  5. package/dist/css/base/base.css +47 -0
  6. package/dist/css/base/base.min.css +1 -0
  7. package/{styles → dist/css}/box/box.css +118 -0
  8. package/dist/css/box/box.min.css +1 -0
  9. package/{styles → dist/css}/box/box.responsive.css +3063 -1550
  10. package/dist/css/box/box.responsive.min.css +1 -0
  11. package/{styles → dist/css}/color/color.css +11 -9
  12. package/{styles → dist/css}/color/color.responsive.css +3446 -1932
  13. package/dist/css/color/color.responsive.min.css +1 -0
  14. package/dist/css/cssfabric.css +5167 -0
  15. package/dist/css/cssfabric.min.css +4877 -0
  16. package/dist/css/cssfabric.responsive.css +20419 -0
  17. package/dist/css/cssfabric.responsive.min.css +1 -0
  18. package/{styles → dist/css}/flex/flex.css +2 -0
  19. package/{styles → dist/css}/flex/flex.responsive.css +192 -114
  20. package/dist/css/flex/flex.responsive.min.css +1 -0
  21. package/{styles → dist/css}/grid/grid.css +2 -0
  22. package/{styles → dist/css}/grid/grid.responsive.css +230 -212
  23. package/dist/css/grid/grid.responsive.min.css +1 -0
  24. package/{styles → dist/css}/menu/menu.css +2 -0
  25. package/{styles → dist/css}/menu/menu.responsive.css +165 -78
  26. package/dist/css/menu/menu.responsive.min.css +1 -0
  27. package/{styles → dist/css}/overflow/overflow.css +2 -0
  28. package/{styles → dist/css}/overflow/overflow.responsive.css +98 -105
  29. package/dist/css/overflow/overflow.responsive.min.css +1 -0
  30. package/{styles → dist/css}/scale/scale.css +2 -0
  31. package/{styles → dist/css}/scale/scale.responsive.css +1520 -1152
  32. package/dist/css/scale/scale.responsive.min.css +1 -0
  33. package/{styles → dist/css}/table/table.css +2 -0
  34. package/{styles → dist/css}/table/table.responsive.css +162 -86
  35. package/dist/css/table/table.responsive.min.css +1 -0
  36. package/{styles → dist/css}/text/text.css +2 -0
  37. package/{styles → dist/css}/text/text.responsive.css +76 -55
  38. package/dist/css/text/text.responsive.min.css +1 -0
  39. package/{styles → dist/css}/theme/theme.css +51 -0
  40. package/{styles → dist/css}/theme/theme.min.css +1 -1
  41. package/{styles → dist/css}/vars.css +66 -67
  42. package/dist/css/vars.min.css +1 -0
  43. package/{styles → dist/css}/zindex/zindex.css +2 -0
  44. package/dist/cssFabric/config.d.ts +29 -0
  45. package/dist/cssFabric/config.js +29 -0
  46. package/dist/cssFabric/cssFabricSheet.d.ts +1226 -0
  47. package/dist/cssFabric/cssFabricSheet.js +1270 -0
  48. package/dist/cssFabric/cssProperties.d.ts +27 -0
  49. package/dist/cssFabric/cssProperties.js +343 -0
  50. package/dist/cssFabric/cssVariationsAi.d.ts +12 -0
  51. package/dist/cssFabric/cssVariationsAi.js +111 -0
  52. package/dist/cssFabric/index.d.ts +113 -0
  53. package/dist/cssFabric/index.js +341 -0
  54. package/dist/cssf/README.md +197 -0
  55. package/{init/importCssVars.d.ts → dist/cssf/cssf.d.ts} +1 -1
  56. package/dist/cssf/cssf.js +12 -0
  57. package/dist/cssf/cssfGuide.d.ts +14 -0
  58. package/dist/cssf/cssfGuide.js +50 -0
  59. package/dist/cssf/cssfLib.d.ts +134 -0
  60. package/dist/cssf/cssfLib.js +116 -0
  61. package/dist/cssf/cssfModel.d.ts +8 -0
  62. package/dist/cssf/cssfModel.js +59 -0
  63. package/dist/cssf/cssfPlugin.d.ts +3 -0
  64. package/dist/cssf/cssfPlugin.js +37 -0
  65. package/dist/cssf/cssfTransformer.d.ts +2 -0
  66. package/dist/cssf/cssfTransformer.js +100 -0
  67. package/dist/cssf/index.d.ts +6 -0
  68. package/dist/cssf/index.js +7 -0
  69. package/dist/cssfVsCode/.vscode/launch.json +17 -0
  70. package/dist/cssfVsCode/.vscodeignore +4 -0
  71. package/dist/cssfVsCode/CHANGELOG.md +9 -0
  72. package/dist/cssfVsCode/README.md +65 -0
  73. package/dist/cssfVsCode/language-configuration.json +36 -0
  74. package/dist/cssfVsCode/package.json +40 -0
  75. package/dist/cssfVsCode/syntaxes/cssf.tmLanguage.json +1868 -0
  76. package/dist/cssfVsCode/test.cssf +6 -0
  77. package/dist/cssfVsCode/vsc-extension-quickstart.md +29 -0
  78. package/{_generated → dist/generated}/cssFabric.vars.json +4 -4
  79. package/{_generated/export.variables.md → dist/generated/cssFabric.vars.md} +268 -240
  80. package/dist/index.d.ts +119 -0
  81. package/dist/index.js +120 -0
  82. package/dist/scripts/cssfabric.d.ts +24 -0
  83. package/{scripts → dist/scripts}/cssfabric.js +43 -43
  84. package/{scripts → dist/scripts}/cssfabricClassNames.d.ts +14 -14
  85. package/{scripts → dist/scripts}/cssfabricClassNames.js +146 -146
  86. package/dist/scripts/index.d.ts +2 -0
  87. package/{scripts → dist/scripts}/index.js +4 -4
  88. package/{scripts → dist/scripts}/utils.d.ts +5 -5
  89. package/{scripts → dist/scripts}/utils.js +38 -38
  90. package/dist/scss/_utils.scss +203 -0
  91. package/dist/scss/modules/_cssfabric-config.scss +178 -0
  92. package/dist/scss/modules/_mixins.scss +1 -0
  93. package/dist/scss/modules/animation/_animation-vars.scss +17 -0
  94. package/dist/scss/modules/animation/animation.scss +3 -0
  95. package/dist/scss/modules/base/_base-vars.scss +19 -0
  96. package/dist/scss/modules/base/base.scss +58 -0
  97. package/dist/scss/modules/box/_box-build.scss +305 -0
  98. package/dist/scss/modules/box/_box-vars.scss +121 -0
  99. package/dist/scss/modules/box/box-responsive.scss +18 -0
  100. package/dist/scss/modules/box/box.scss +3 -0
  101. package/dist/scss/modules/color/_color-build.scss +196 -0
  102. package/dist/scss/modules/color/_color-vars.scss +80 -0
  103. package/dist/scss/modules/color/color-responsive.scss +23 -0
  104. package/dist/scss/modules/color/color.scss +9 -0
  105. package/dist/scss/modules/css-fabric.scss +1 -0
  106. package/dist/scss/modules/flex/_flex-build.scss +150 -0
  107. package/dist/scss/modules/flex/_flex-vars.scss +84 -0
  108. package/dist/scss/modules/flex/flex-responsive.scss +25 -0
  109. package/dist/scss/modules/flex/flex.scss +3 -0
  110. package/dist/scss/modules/grid/_grid-build.scss +87 -0
  111. package/dist/scss/modules/grid/_grid-vars.scss +88 -0
  112. package/dist/scss/modules/grid/grid-responsive.scss +25 -0
  113. package/dist/scss/modules/grid/grid.scss +6 -0
  114. package/dist/scss/modules/menu/_menu-build.scss +120 -0
  115. package/dist/scss/modules/menu/_menu-vars.scss +29 -0
  116. package/dist/scss/modules/menu/menu-responsive.scss +19 -0
  117. package/dist/scss/modules/menu/menu.scss +6 -0
  118. package/dist/scss/modules/overflow/_overflow-build.scss +22 -0
  119. package/dist/scss/modules/overflow/_overflow-vars.scss +31 -0
  120. package/dist/scss/modules/overflow/overflow-responsive.scss +25 -0
  121. package/dist/scss/modules/overflow/overflow.scss +7 -0
  122. package/dist/scss/modules/scale/_scale-build.scss +142 -0
  123. package/dist/scss/modules/scale/_scale-vars.scss +84 -0
  124. package/dist/scss/modules/scale/scale-responsive.scss +23 -0
  125. package/dist/scss/modules/scale/scale.scss +8 -0
  126. package/dist/scss/modules/table/_table-build.scss +134 -0
  127. package/dist/scss/modules/table/_table-vars.scss +30 -0
  128. package/dist/scss/modules/table/table-responsive.scss +24 -0
  129. package/dist/scss/modules/table/table.scss +8 -0
  130. package/dist/scss/modules/text/_text-build.scss +166 -0
  131. package/dist/scss/modules/text/_text-vars.scss +87 -0
  132. package/dist/scss/modules/text/text-responsive.scss +26 -0
  133. package/dist/scss/modules/text/text.scss +6 -0
  134. package/dist/scss/modules/theme/_theme-build.scss +128 -0
  135. package/dist/scss/modules/theme/_theme-vars.scss +46 -0
  136. package/dist/scss/modules/theme/theme.scss +6 -0
  137. package/dist/scss/modules/vars.scss +46 -0
  138. package/dist/scss/modules/zindex/_zindex-vars.scss +14 -0
  139. package/dist/scss/modules/zindex/zindex.scss +15 -0
  140. package/package.json +70 -113
  141. package/_generated/readme.md +0 -0
  142. package/init/importCssVars.js +0 -2
  143. package/scripts/cssfabric.d.ts +0 -24
  144. package/scripts/index.d.ts +0 -2
  145. package/styles/animation/animation.css +0 -0
  146. package/styles/base/base.css +0 -215
  147. package/styles/base/base.min.css +0 -1
  148. package/styles/box/box.min.css +0 -1
  149. package/styles/box/box.responsive.min.css +0 -1
  150. package/styles/color/color.responsive.min.css +0 -1
  151. package/styles/cssfabric.css +0 -61792
  152. package/styles/cssfabric.min.css +0 -168
  153. package/styles/cssfabric.responsive.css +0 -200596
  154. package/styles/cssfabric.responsive.min.css +0 -108
  155. package/styles/flex/flex.responsive.min.css +0 -1
  156. package/styles/grid/grid.responsive.min.css +0 -1
  157. package/styles/menu/menu.responsive.min.css +0 -1
  158. package/styles/overflow/overflow.responsive.min.css +0 -1
  159. package/styles/scale/scale.responsive.min.css +0 -1
  160. package/styles/table/table.responsive.min.css +0 -1
  161. package/styles/text/text.responsive.min.css +0 -1
  162. package/styles/vars.min.css +0 -1
  163. /package/{styles → dist/css}/animation/animation.min.css +0 -0
  164. /package/{styles → dist/css}/color/color.min.css +0 -0
  165. /package/{styles → dist/css}/flex/flex.min.css +0 -0
  166. /package/{styles → dist/css}/grid/grid.min.css +0 -0
  167. /package/{styles → dist/css}/menu/menu.min.css +0 -0
  168. /package/{styles → dist/css}/overflow/overflow.min.css +0 -0
  169. /package/{styles → dist/css}/scale/scale.min.css +0 -0
  170. /package/{styles → dist/css}/table/table.min.css +0 -0
  171. /package/{styles → dist/css}/text/text.min.css +0 -0
  172. /package/{styles → dist/css}/zindex/zindex.min.css +0 -0
  173. /package/{_generated → dist/scss}/index.d.ts +0 -0
@@ -0,0 +1,305 @@
1
+ @use "sass:map";
2
+ @use "sass:math";
3
+ @use '../../_utils';
4
+ @use "../cssfabric-config";
5
+ @use "box-vars" as box;
6
+
7
+ $fabric-config: cssfabric-config.$cssfabric-config;
8
+ $box-config: box.$box-config;
9
+ $box-docs: box.$box-docs;
10
+
11
+ $box-border-shorthands: box.$box-border-shorthands;
12
+ $box-position-props: box.$box-position-shorthands;
13
+ $box-display-props: box.$box-display-shorthands;
14
+
15
+ $box-unit-config: box.$box-unit-config;
16
+ $box-border-unit-config: box.$box-border-unit-config;
17
+ $box-unit-size-config: box.$box-unit-size-config;
18
+ $box-unit-border-size-config: box.$box-unit-border-size-config;
19
+ $box-sizes-config: box.$box-sizes-config;
20
+ $box-border-sizes-px-config: box.$box-sizes-border-config;
21
+
22
+ $box-position-shorthand-config: cssfabric-config.$box-position-shorthand !default;
23
+ $box-display-shorthand-config: cssfabric-config.$box-display-shorthand !default;
24
+ $box-shadow-shorthand-config: cssfabric-config.$box-shadow-shorthand !default;
25
+
26
+ $box-border-shorthand-config: cssfabric-config.$box-border-shorthand !default;
27
+ $box-padding-shorthand-config: cssfabric-config.$box-padding-shorthand !default;
28
+ $box-margin-shorthand-config: cssfabric-config.$box-margin-shorthand !default;
29
+
30
+ $box-gap-shorthand: cssfabric-config.$box-gap-shorthand !default;
31
+
32
+ $box-shadows-steps: box.$box-shadows-steps !default;
33
+ $box-shadows-step-multiplier: box.$box-shadows-step-multiplier !default;
34
+
35
+ $box-radius: cssfabric-config.$box-radius; //
36
+ $box-unit-presets: cssfabric-config.$box-unit-presets;
37
+
38
+ $densities-ratios : cssfabric-config.$densities-ratios;
39
+
40
+ // adding {border}-{r} shorthand css rule for .{border}-{r}-1
41
+ @function raw_size_tag_rule($condition) {
42
+ @if ($condition==1) {
43
+ @return "&,";
44
+ } @else {
45
+ @return "";
46
+ }
47
+ }
48
+
49
+ // support ratios, set densities
50
+ // for paddings margins positions
51
+ @mixin pmbCssVars() {
52
+ $iterator: $box-sizes-config;
53
+ @for $grid_size_value from 0 through $iterator {
54
+ $css_size_value: ($grid_size_value * $box-unit-size-config) + $box-unit-config;
55
+ --box-density-#{$grid_size_value} : #{$css_size_value};
56
+ }
57
+
58
+ // presets
59
+ @each $preset, $preset-value in $box-unit-presets{
60
+ // $value: ($preset-value * $box-unit-size-config) + $box-unit-config;
61
+ $value: $preset-value + $box-unit-config;
62
+ --box-density-preset-#{$preset}: #{$value};
63
+ }
64
+
65
+ // radius
66
+ @each $radius, $value in $box-radius{
67
+ --radius-#{$radius}: #{$value};
68
+ }
69
+
70
+ // $ratios: tiny small medium large full
71
+ @each $ratio, $val in $densities-ratios {
72
+ [density=#{$ratio}] {
73
+ @for $grid_size_value from 0 through $iterator {
74
+ $css_size_value: (($grid_size_value * $box-unit-size-config)*$val) + $box-unit-config;
75
+ --box-density-#{$grid_size_value} : #{$css_size_value};
76
+ }
77
+ // presets
78
+ @each $preset, $preset-value in $box-unit-presets{
79
+ $value: (($preset-value * $box-unit-size-config)*$val) + $box-unit-config;
80
+ --box-density-preset-#{$preset}: #{$value};
81
+ }
82
+ }
83
+ }
84
+ }
85
+
86
+ // border
87
+ @mixin fabric-pmb($fabric_box_position_prop, $fabric_box_position_prop_short) {
88
+ @each $fabric_box_pmb_side_shorthand, $rule in $box-border-shorthands {
89
+
90
+ // remove _ if present
91
+ $shorthand: if($fabric_box_pmb_side_shorthand== "_", "", -#{$fabric_box_pmb_side_shorthand});
92
+
93
+ .#{$fabric_box_position_prop_short}#{$shorthand} {
94
+
95
+ @for $grid_size_value from 1 through $box-border-sizes-px-config {
96
+ $css_size_value: ($grid_size_value * $box-unit-border-size-config) + $box-border-unit-config;
97
+ // css property name is aggregated with size value $i
98
+
99
+ $computed_value: $css_size_value + " solid var(--theme-color-border)";
100
+
101
+ #{raw_size_tag_rule($grid_size_value)} &-#{$grid_size_value} {
102
+ @if length($rule) == 4 {
103
+ #{$fabric_box_position_prop}: #{$computed_value};
104
+ } @else {
105
+
106
+ @each $rule_value in $rule {
107
+ #{$fabric_box_position_prop}-#{$rule_value}: #{$computed_value};
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+
116
+ // prop : ... margin | padding
117
+ @mixin fabric-pm($fabric_box_position_prop, $fabric_box_position_prop_short) {
118
+ @each $fabric_box_pmb_side_shorthand, $rule in $box-border-shorthands {
119
+
120
+ $shorthand: if($fabric_box_pmb_side_shorthand== "_", "", -#{$fabric_box_pmb_side_shorthand});
121
+
122
+ .#{$fabric_box_position_prop_short}#{$shorthand} {
123
+
124
+ // presets
125
+ @each $preset, $preset-value in $box-unit-presets{
126
+ .#{$fabric_box_position_prop_short}#{$shorthand}-#{$preset}{
127
+ #{$fabric_box_position_prop}: var(--box-density-preset-#{$preset});
128
+ }
129
+ }
130
+
131
+ @for $grid_size_value from 1 through $box-sizes-config {
132
+ $css_size_value: ($grid_size_value * $box-unit-size-config) + $box-unit-config;
133
+ // css property name is aggregated with size value $i
134
+
135
+ $computed_value: var(--box-density-#{$grid_size_value});
136
+
137
+ #{raw_size_tag_rule($grid_size_value)} &-#{$grid_size_value} {
138
+ @if length($rule) == 4 {
139
+ #{$fabric_box_position_prop}: #{$computed_value};
140
+ } @else {
141
+ @each $rule_value in $rule {
142
+ #{$fabric_box_position_prop}-#{$rule_value}: #{$computed_value};
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+
151
+ @mixin box-gap($mq_key) {
152
+ $shorthand: if($mq_key, #{$box-gap-shorthand}-#{$mq_key}, #{$box-gap-shorthand});
153
+ // presets
154
+ @each $preset, $preset-value in $box-unit-presets{
155
+ .#{$shorthand}-#{$preset}{
156
+ #{$shorthand}: var(--box-density-preset-#{$preset});
157
+ }
158
+ }
159
+ }
160
+ // pmb as padding margin border property
161
+ // padding-tiny padding-small padding
162
+ @mixin padding-margin-border($mq_key) {
163
+
164
+ $shorthand: if($mq_key, #{$box-margin-shorthand-config}-#{$mq_key}, #{$box-margin-shorthand-config});
165
+ @include fabric-pm(margin, $shorthand);
166
+
167
+ $shorthand: if($mq_key, #{$box-padding-shorthand-config}-#{$mq_key}, #{$box-padding-shorthand-config});
168
+ @include fabric-pm(padding, $shorthand);
169
+
170
+ $shorthand: if($mq_key, #{$box-border-shorthand-config}-#{$mq_key}, #{$box-border-shorthand-config});
171
+ @include fabric-pmb(border, $shorthand);
172
+
173
+ }
174
+
175
+ // radius
176
+ @mixin radius($mq_key) {
177
+ $shorthand: if($mq_key, radius-#{$mq_key}, radius);
178
+
179
+ /*radius*/
180
+ @each $radius, $value in $box-radius {
181
+ .#{$shorthand}-#{$radius} {
182
+ border-radius: #{$value};
183
+
184
+ &-t {
185
+ border-top-left-radius: #{$value};
186
+ border-top-right-radius: #{$value}
187
+ }
188
+
189
+ &-b {
190
+ border-bottom-left-radius: #{$value};
191
+ border-bottom-right-radius: #{$value}
192
+ }
193
+
194
+ &-l {
195
+ border-top-left-radius: #{$value};
196
+ border-bottom-left-radius: #{$value}
197
+ }
198
+
199
+ &-r {
200
+ border-top-right-radius: #{$value};
201
+ border-bottom-right-radius: #{$value}
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ // placement property -- top-0/8
208
+ @mixin placement($mq_key) {
209
+ $shorthand: if($mq_key, #{$mq_key}-, '');
210
+ $places: (top, right, bottom, left);
211
+
212
+ /*placement*/
213
+ @each $place in $places {
214
+ @for $size from 0 through 8 {
215
+ .#{$place}-#{$shorthand}#{$size} {
216
+ #{$place}: var(--box-density-#{$size});
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ // display property
223
+ @mixin display($mq_key) {
224
+
225
+ $shorthand: if($mq_key, #{$box-display-shorthand-config}-#{$mq_key}, #{$box-display-shorthand-config});
226
+
227
+ @each $css-shorthand, $css-value in $box-display-props {
228
+ // css property
229
+ $prop_re: #{$shorthand}-#{$css-shorthand};
230
+
231
+ .#{$prop_re} {
232
+ display: $css-value;
233
+ }
234
+ }
235
+ }
236
+
237
+ // position property
238
+ @mixin position($mq_key) {
239
+ $shorthand: if($mq_key, #{$box-position-shorthand-config}-#{$mq_key}, #{$box-position-shorthand-config});
240
+
241
+ @each $css-shorthand, $css-value in $box-position-props {
242
+ // css property
243
+ $prop_re: #{$shorthand}-#{$css-shorthand};
244
+
245
+ .#{$prop_re} {
246
+ position: $css-value;
247
+ // if sticky
248
+ @if sticky == $css-value {
249
+ top: 0;
250
+ margin-top: 0;
251
+ }
252
+ }
253
+ }
254
+ }
255
+
256
+ @function buildShadowsValues($shadows_step:0,$shadow-color: null) {
257
+ $v_fact: 2.4;
258
+ $h_fact: 1.16;
259
+
260
+ $v_fact_2: 13.1;
261
+ $h_fact_2: 4.3;
262
+
263
+ $acc: 1;
264
+
265
+ $acc: $acc * $shadows_step * 2;
266
+ $v: $shadows_step * 2;
267
+
268
+ $v_val: math.div($acc, $v_fact);
269
+ $h_val: math.div($acc, $h_fact);
270
+
271
+ $v_val_2: math.div($acc, $v_fact_2);
272
+ $h_val_2: math.div($acc, $h_fact_2);
273
+
274
+ @return 0 #{$v_val}px #{$h_val}px 0 rgb(0 0 0 / 15%), 0 #{$v_val_2}px #{$h_val_2}px 0 rgb(0 0 0 / 10%);
275
+ }
276
+
277
+ @mixin shadows($mq_key) {
278
+ $shorthand: if($mq_key, #{$box-shadow-shorthand-config}-#{$mq_key}, #{$box-shadow-shorthand-config});
279
+
280
+ @for $shadows_step from 1 through $box-shadows-steps {
281
+
282
+ .#{$shorthand}-#{$shadows_step} {
283
+ box-shadow: var(--box-#{$shorthand}-#{$shadows_step});
284
+ }
285
+ }
286
+ }
287
+
288
+ // css vars rendered in :root
289
+ @mixin shadowsCssVars($mq_key:null) {
290
+ $shorthand: if($mq_key, #{$box-shadow-shorthand-config}-#{$mq_key}, #{$box-shadow-shorthand-config});
291
+
292
+ @for $shadows_step from 1 through $box-shadows-steps {
293
+ --box-#{$shorthand}-#{$shadows_step}: #{buildShadowsValues($shadows_step)};
294
+ }
295
+ }
296
+
297
+ @mixin buildBox($mq_key: null) {
298
+ @include padding-margin-border($mq_key);
299
+ @include display($mq_key);
300
+ @include position($mq_key);
301
+ @include placement($mq_key);
302
+ @include radius($mq_key);
303
+ @include shadows($mq_key);
304
+ @include box-gap($mq_key);
305
+ }
@@ -0,0 +1,121 @@
1
+ @use '../../utils';
2
+ @use "../cssfabric-config";
3
+
4
+ $box-unit-config: rem;
5
+ $box-border-unit-config: px;
6
+ $box-unit-size-config: 0.5;
7
+ $box-unit-border-size-config: 1;
8
+
9
+ $box-sizes-config: 12;
10
+ $box-sizes-border-config: 3;
11
+
12
+ $box-shadows-steps: 5;
13
+ $box-shadows-step-multiplier: 2;
14
+
15
+ $_shadows-v_fact: 2.4;
16
+ $_shadows-h_fact: 1.16;
17
+
18
+ $_shadows-v_fact_2: 13.1;
19
+ $_shadows-h_fact_2: 4.3;
20
+
21
+ $shadow-factors: (
22
+ v_fact:$_shadows-v_fact,
23
+ h_fact:$_shadows-h_fact,
24
+ v_fact_2:$_shadows-v_fact_2,
25
+ h_fact_2:$_shadows-h_fact_2,
26
+ )!default;
27
+
28
+ $box-border-shorthands: (
29
+ _: top bottom left right,
30
+ t: top,
31
+ b: bottom,
32
+ l: left,
33
+ r: right,
34
+ all: top bottom left right,
35
+ u: bottom left right,
36
+ ii: left right,
37
+ tb: top bottom
38
+ )!default;
39
+
40
+ $box-position-shorthands: (
41
+ abs: absolute,
42
+ rel: relative,
43
+ stat: static,
44
+ fix: fixed,
45
+ sticky: sticky
46
+ )!default;
47
+
48
+ $box-display-shorthands: (
49
+ block: block,
50
+ none: none,
51
+ inline: inline,
52
+ block-inline: inline-block,
53
+ flex-inline: inline-flex,
54
+ tbl: table,
55
+ tbl-row: table-row,
56
+ tbl-cell: table-cell,
57
+ tbl-column: table-column
58
+ );
59
+
60
+ $box-metadata: (
61
+ title: "box",
62
+ tag: "box",
63
+ description: "cssfabric box module to set heights, paddings, margins and shadows on all html elements"
64
+ );
65
+
66
+ $box-config: (
67
+ unit-config: $box-unit-config,
68
+ border-unit-config: $box-border-unit-config,
69
+ unit-size-config: $box-unit-size-config,
70
+ unit-border-size-config: $box-unit-border-size-config,
71
+ sizes-config: $box-sizes-config,
72
+ border-sizes-px-config: $box-sizes-border-config,
73
+ shadows-steps: $box-shadows-steps,
74
+ shadows_step_multiplier: $box-shadows-step-multiplier,
75
+ //
76
+ position-shorthand-config: cssfabric-config.$box-position-shorthand,
77
+ display-shorthand-config: cssfabric-config.$box-display-shorthand,
78
+ shadow-shorthand-config:cssfabric-config.$box-shadow-shorthand,
79
+ border-shorthand-config: cssfabric-config.$box-border-shorthand,
80
+ padding-shorthand-config: cssfabric-config.$box-padding-shorthand,
81
+ margin-shorthand-config: cssfabric-config.$box-margin-shorthand,
82
+
83
+ cssProps:(
84
+ borderShorthands: $box-border-shorthands,
85
+ positionProps: $box-position-shorthands,
86
+ displayProps: $box-display-shorthands
87
+ )
88
+ );
89
+
90
+ $box-docs: (
91
+ attributes:(
92
+ padding: (
93
+ tag: cssfabric-config.$box-padding-shorthand,
94
+ keys: utils.getObjectKeys($box-border-shorthands),
95
+ values: utils.getBoxIterator($box-sizes-config, $box-unit-config, $box-unit-size-config),
96
+ levels: ("_":utils.getObjectKeys(utils.getBoxIterator($box-sizes-config, $box-unit-config, $box-unit-size-config))),
97
+ about: "padding properties for html elements"
98
+ ),
99
+ margin: (
100
+ tag: cssfabric-config.$box-margin-shorthand,
101
+ keys: utils.getObjectKeys($box-border-shorthands),
102
+ values: utils.getBoxIterator($box-sizes-config, $box-unit-config, $box-unit-size-config),
103
+ levels: ("_":utils.getObjectKeys(utils.getBoxIterator($box-sizes-config, $box-unit-config, $box-unit-size-config))),
104
+ about: "margin properties for html elements"
105
+ ),
106
+ border: (
107
+ tag: cssfabric-config.$box-border-shorthand,
108
+ keys: utils.getObjectKeys($box-border-shorthands),
109
+ values: utils.getBoxIterator($box-sizes-border-config, $box-border-unit-config, $box-unit-border-size-config),
110
+ levels: ("_":utils.getObjectKeys(utils.getBoxIterator($box-sizes-border-config, $box-border-unit-config, $box-unit-border-size-config))),
111
+ about: "border properties for html elements"
112
+ ),
113
+ radius : (tag: radiusGuy),
114
+ shadow: (
115
+ tag: cssfabric-config.$box-shadow-shorthand,
116
+ values: utils.getShadowIterator($shadow-factors, $box-shadows-steps),
117
+ levels:("_": utils.getObjectKeys(utils.getShadowIterator($shadow-factors, $box-shadows-steps))
118
+ ),
119
+ about: "applying shadows give depth and levels to your design"
120
+ )
121
+ ));
@@ -0,0 +1,18 @@
1
+
2
+ @use '../../_utils';
3
+ @use "_box-build" as build;
4
+ @use "../cssfabric-config";
5
+ // load general config variables
6
+ $config: cssfabric-config.$cssfabric-config;
7
+
8
+ $_media_quey_sizes: map-get($config, media_quey_sizes);
9
+
10
+ // responsive builder here
11
+ $min_value: 0;
12
+
13
+ @each $mq_size_key, $mq_size_value in $_media_quey_sizes {
14
+ @include utils.fabricResponsiveEncloser($mq_size_value, $min_value) {
15
+ @include build.buildBox($mq_size_key);
16
+ }
17
+ $min_value: $mq_size_value;
18
+ }
@@ -0,0 +1,3 @@
1
+ @use "_box-build" as build;
2
+ //
3
+ @include build.buildBox();
@@ -0,0 +1,196 @@
1
+ @use "sass:map";
2
+ @use 'color-vars';
3
+ @use "sass:math";
4
+ // load scss config file
5
+ @use '../../_utils';
6
+ @use '../cssfabric-config';
7
+
8
+ $color-config: color-vars.$color-config;
9
+
10
+ // COLOR TYPES
11
+ $color-types-config: map-get($color-config, color-types-config);
12
+ // COLOR SCHEMES
13
+ $color-schemes: map-get($color-config, scheme) !default;
14
+ // COLOR PALETTE
15
+ $color-palette: map-get($color-config, palette) !default;
16
+ // COLOR THEME
17
+ $color-theme: map-get($color-config, theme) !default;
18
+
19
+
20
+ // GRAYS
21
+ $color-gray-start: cssfabric-config.$gray-start !default;
22
+ $color-gray-end: cssfabric-config.$gray-end !default;
23
+ $color-gray-steps: cssfabric-config.$gray-steps !default;
24
+ $gray-schemes: utils.getGraySteps($color-gray-steps, $color-gray-start, $color-gray-end);
25
+
26
+
27
+
28
+
29
+
30
+ @function text-contrast($n) {
31
+ $color-brightness: round((red($n) * 299) + (green($n) * 587) + math.div(blue(#ffffff) * 114, 1000));
32
+ $light-color: round((red(#ffffff) * 299) + (green(#ffffff) * 587) + math.div(blue(#ffffff) * 114, 1000));
33
+ $color: black;
34
+
35
+ @if abs($color-brightness) < math.div($light-color,2) {
36
+ $color: white;
37
+ }
38
+
39
+ @return $color;
40
+ }
41
+
42
+ @mixin buildColorCssVars() {
43
+
44
+ /* color-scheme primary secondary tertiary */
45
+ @each $type-key, $type-prop in $color-schemes {
46
+ --color-scheme-#{$type-key} : #{$type-prop};
47
+ --color-scheme-#{$type-key}-light: #{utils.applyColorEffect('light',$type-prop)};
48
+ --color-scheme-#{$type-key}-dark: #{utils.applyColorEffect('dark',$type-prop)};
49
+ @include utils.alphaTize(--color-scheme-#{$type-key}, $type-prop);
50
+ }
51
+
52
+ /* color-palette */
53
+ @each $type-key, $type-prop in $color-palette {
54
+ --color-palette-#{$type-key} : #{$type-prop};
55
+ @include utils.alphaTize(--color-palette-#{$type-key}, $type-prop);
56
+
57
+ --color-palette-#{$type-key}-lighter: #{utils.applyColorEffect('lighter',$type-prop)};
58
+ --color-palette-#{$type-key}-light: #{utils.applyColorEffect('light',$type-prop)};
59
+ --color-palette-#{$type-key}-dark: #{utils.applyColorEffect('dark',$type-prop)};
60
+ --color-palette-#{$type-key}-darker: #{utils.applyColorEffect('darker',$type-prop)};
61
+
62
+ --color-palette-#{$type-key}-complement: #{utils.applyColorEffect('complement',$type-prop)};
63
+ @include utils.alphaTize(--color-palette-#{$type-key}-complement, utils.applyColorEffect('complement', $type-prop));
64
+
65
+ --color-palette-#{$type-key}-invert: #{utils.applyColorEffect('invert',$type-prop)};
66
+ @include utils.alphaTize(--color-palette-#{$type-key}-invert, utils.applyColorEffect('invert', $type-prop));
67
+ // backdrop-filter: blur(5px);
68
+ }
69
+
70
+ /* grays */
71
+ @each $type-key, $type-prop in $gray-schemes {
72
+ --color-gray-#{$type-key} : #{$type-prop};
73
+ @include utils.alphaTize(--color-gray-#{$type-key}, $type-prop);
74
+ }
75
+ }
76
+
77
+ @mixin colorFactory($tag_short, $color_prop) {
78
+ $switch-tag_short: utils.getColorPropertyType($tag_short);
79
+
80
+ @each $colorTint in (light lighter dark darker complement invert) {
81
+
82
+ $newColor: utils.applyColorEffect($colorTint, $color_prop);
83
+
84
+ &-#{$colorTint} {
85
+ @if $tag_short== "bg-themed" {
86
+ color: text-contrast($newColor);
87
+ }
88
+ #{$switch-tag_short}: $newColor;
89
+ }
90
+ }
91
+ }
92
+
93
+ @mixin fabricColors($color-type,$color-type-list, $color-type-key, $mq-key, $has-color-factory:null) {
94
+
95
+ $switch-tag_short: utils.getColorPropertyType($color-type-key);
96
+
97
+ $prop: "";
98
+
99
+ $property_key: #{$color-type-key}-#{$color-type} + if($mq-key, -#{$mq-key}, "");
100
+
101
+
102
+ .#{$property_key} {
103
+ @each $type-key, $type-prop in $color-type-list {
104
+ &#{"-" + $type-key} {
105
+
106
+ // border-color: ;
107
+ @if $color-type-key==border-color {
108
+ border-color: utils.applyColorEffect('dark', $type-prop) !important;
109
+ }
110
+
111
+ @if $color-type-key==foreground {
112
+ color: $type-prop;
113
+ @if $has-color-factory {
114
+ @include colorFactory($color-type-key, $type-prop);
115
+ }
116
+ }
117
+
118
+ @if $color-type-key==bg {
119
+ background-color: $type-prop;
120
+ @if $has-color-factory {
121
+ @include colorFactory($color-type-key, $type-prop);
122
+ }
123
+ }
124
+
125
+ @if $color-type-key == "bg-themed" {
126
+ color: text-contrast($type-prop);
127
+ text-shadow: 0 0 0.125rem utils.applyColorEffect("dark", $type-prop);
128
+ background-color: $type-prop;
129
+ @if $has-color-factory {
130
+ @include colorFactory($color-type-key, $type-prop);
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ @mixin buildColor($mq_size_key:null) {
139
+ // "foreground" ,
140
+ // "bg",
141
+ // "bg-themed",
142
+ // "border-color"
143
+
144
+ // $has-color-palette
145
+ @if ((cssfabric-config.$has-color-palette==true) or ($mq_size_key!=null and cssfabric-config.$has-color-palette-responsive==true)) {
146
+ // $has-color-foreground
147
+ @if (cssfabric-config.$has-color-foreground) {
148
+ @include fabricColors("palette", $color-palette, foreground, $mq_size_key, true);
149
+ }
150
+ // $has-color-bg
151
+ @if (cssfabric-config.$has-color-bg) {
152
+ @include fabricColors("palette", $color-palette, bg, $mq_size_key, true);
153
+ }
154
+ // $has-color-bg-themed
155
+ @if (cssfabric-config.$has-color-bg-themed) {
156
+ @include fabricColors("palette", $color-palette, bg-themed, $mq_size_key, true);
157
+ }
158
+ // $has-color-border
159
+ @if (cssfabric-config.$has-color-border) {
160
+ @include fabricColors("palette", $color-palette, border-color, $mq_size_key, true);
161
+ }
162
+ }
163
+
164
+ // $has-color-scheme
165
+ @if ((cssfabric-config.$has-color-scheme==true) or ($mq_size_key!=null and cssfabric-config.$has-color-scheme-responsive==true)) {
166
+ @if (cssfabric-config.$has-color-foreground) {
167
+ @include fabricColors("scheme", $color-schemes, foreground, $mq_size_key, true);
168
+ }
169
+ @if (cssfabric-config.$has-color-bg) {
170
+ @include fabricColors("scheme", $color-schemes, bg, $mq_size_key, true);
171
+ }
172
+ @if (cssfabric-config.$has-color-bg-themed) {
173
+ @include fabricColors("palette", $color-schemes, bg-themed, $mq_size_key, true);
174
+ }
175
+ @if (cssfabric-config.$has-color-border) {
176
+ @include fabricColors("scheme", $color-schemes, border-color, $mq_size_key);
177
+ }
178
+ }
179
+
180
+ // $has-color-gray
181
+ @if ((cssfabric-config.$has-color-gray==true) or ($mq_size_key!=null and cssfabric-config.$has-color-gray-responsive==true)) {
182
+ @if (cssfabric-config.$has-color-foreground) {
183
+ @include fabricColors("grey", $gray-schemes, foreground, $mq_size_key, true);
184
+ }
185
+ @if (cssfabric-config.$has-color-bg) {
186
+ @include fabricColors("grey", $gray-schemes, bg, $mq_size_key, true);
187
+ }
188
+ @if (cssfabric-config.$has-color-bg-themed) {
189
+ @include fabricColors("palette", $gray-schemes, bg-themed, $mq_size_key, true);
190
+ }
191
+ @if (cssfabric-config.$has-color-border) {
192
+ @include fabricColors("grey", $gray-schemes, border-color, $mq_size_key);
193
+ }
194
+ }
195
+
196
+ }