@expressivecss/expressive 0.1.0-alpha.3 → 0.1.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 (152) hide show
  1. package/LICENSE +82 -2
  2. package/README.md +153 -43
  3. package/dist/css/expressive.css +7066 -9658
  4. package/dist/css/expressive.css.map +1 -0
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -0
  7. package/dist/js/expressive.cjs +7451 -0
  8. package/dist/js/expressive.cjs.map +7 -0
  9. package/dist/js/expressive.js +7313 -8099
  10. package/dist/js/expressive.js.map +7 -1
  11. package/dist/js/expressive.min.js +75 -1
  12. package/dist/js/expressive.min.js.map +7 -1
  13. package/dist/js/expressive.mjs +7222 -7998
  14. package/dist/js/expressive.mjs.map +7 -1
  15. package/dist/{js → types}/components/autocomplete.d.ts +10 -1
  16. package/dist/{js → types}/components/buttons.d.ts +11 -1
  17. package/dist/{js → types}/components/cards.d.ts +10 -1
  18. package/dist/{js → types}/components/carousel.d.ts +4 -5
  19. package/dist/{js/forms/character-counter.d.ts → types/components/characterCounter.d.ts} +1 -1
  20. package/dist/{js → types}/components/chips.d.ts +1 -1
  21. package/dist/{js → types}/components/collapsible.d.ts +1 -1
  22. package/dist/{js → types}/components/datepicker.d.ts +63 -2
  23. package/dist/{js → types}/components/dropdown.d.ts +3 -3
  24. package/dist/types/components/index.d.ts +23 -0
  25. package/dist/{js/components/materialbox.d.ts → types/components/lightbox.d.ts} +21 -21
  26. package/dist/{js → types}/components/modal.d.ts +1 -1
  27. package/dist/{js → types}/components/parallax.d.ts +11 -5
  28. package/dist/{js → types}/components/pushpin.d.ts +1 -1
  29. package/dist/{js/forms → types/components}/range.d.ts +3 -3
  30. package/dist/types/components/registry.d.ts +107 -0
  31. package/dist/{js → types}/components/scrollspy.d.ts +6 -9
  32. package/dist/{js/forms → types/components}/select.d.ts +11 -2
  33. package/dist/{js → types}/components/sidenav.d.ts +1 -1
  34. package/dist/{js → types}/components/slider.d.ts +3 -2
  35. package/dist/{js → types}/components/tabs.d.ts +3 -2
  36. package/dist/{js/components/tap-target.d.ts → types/components/tapTarget.d.ts} +2 -2
  37. package/dist/{js → types}/components/timepicker.d.ts +13 -5
  38. package/dist/{js/components/toast.d.ts → types/components/toasts.d.ts} +28 -4
  39. package/dist/{js → types}/components/tooltip.d.ts +2 -2
  40. package/dist/types/core/bounding.d.ts +6 -0
  41. package/dist/{js/foundation → types/core}/component.d.ts +1 -1
  42. package/dist/types/core/edges.d.ts +6 -0
  43. package/dist/{js/foundation → types/core}/utils.d.ts +21 -14
  44. package/dist/types/index.d.ts +6 -0
  45. package/dist/{js/plugins/docked-display.d.ts → types/plugins/dockedDisplayPlugin.d.ts} +7 -0
  46. package/package.json +60 -36
  47. package/src/sass/README.md +200 -0
  48. package/src/sass/abstracts/_breakpoints.scss +69 -0
  49. package/src/sass/abstracts/_elevation.scss +34 -0
  50. package/src/sass/abstracts/_index.scss +7 -0
  51. package/src/sass/abstracts/_mixins.scss +171 -0
  52. package/src/sass/abstracts/_variables.scss +57 -0
  53. package/src/{scss/layout/_table.scss → sass/base/_global.scss} +64 -2
  54. package/src/{scss/layout → sass/base}/_grid.scss +6 -6
  55. package/src/sass/base/_index.scss +6 -0
  56. package/src/{scss/foundation → sass/base}/_normalize.scss +51 -139
  57. package/src/sass/base/_typography.scss +90 -0
  58. package/src/sass/components/_badges.scss +77 -0
  59. package/src/{scss → sass}/components/_breadcrumb.scss +2 -0
  60. package/src/sass/components/_buttons.scss +407 -0
  61. package/src/sass/components/_cards.scss +328 -0
  62. package/src/{scss → sass}/components/_carousel.scss +5 -3
  63. package/src/sass/components/_chips.scss +140 -0
  64. package/src/sass/components/_collapsible.scss +81 -0
  65. package/src/{scss → sass}/components/_collection.scss +2 -2
  66. package/src/{scss/components/_date-picker.scss → sass/components/_datepicker.scss} +51 -44
  67. package/src/sass/components/_docked-display.scss +11 -0
  68. package/src/sass/components/_dropdown.scss +129 -0
  69. package/src/{scss/components/_material-icons.scss → sass/components/_icons-material-design.scss} +2 -0
  70. package/src/sass/components/_index.scss +35 -0
  71. package/src/{scss/components/_material-box.scss → sass/components/_lightbox.scss} +6 -4
  72. package/src/sass/components/_modal.scss +144 -0
  73. package/src/sass/components/_navbar.scss +345 -0
  74. package/src/{scss/layout/_footer.scss → sass/components/_page-footer.scss} +7 -6
  75. package/src/{scss → sass}/components/_pagination.scss +4 -3
  76. package/src/{scss → sass}/components/_parallax.scss +4 -1
  77. package/src/{scss → sass}/components/_preloader.scss +19 -97
  78. package/src/{scss → sass}/components/_pulse.scss +2 -0
  79. package/src/sass/components/_pushpin.scss +11 -0
  80. package/src/{scss → sass}/components/_sidenav.scss +99 -82
  81. package/src/{scss → sass}/components/_slider.scss +3 -1
  82. package/src/{scss/components/_table-of-contents.scss → sass/components/_table_of_contents.scss} +2 -0
  83. package/src/sass/components/_tabs.scss +232 -0
  84. package/src/{scss/components/_tap-target.scss → sass/components/_tapTarget.scss} +24 -22
  85. package/src/{scss/components/_time-picker.scss → sass/components/_timepicker.scss} +56 -56
  86. package/src/sass/components/_toast.scss +260 -0
  87. package/src/sass/components/_toolbar.scss +192 -0
  88. package/src/sass/components/_tooltip.scss +166 -0
  89. package/src/{scss → sass}/components/_transitions.scss +4 -4
  90. package/src/sass/components/forms/_checkboxes.scss +288 -0
  91. package/src/sass/components/forms/_fieldset.scss +128 -0
  92. package/src/{scss → sass/components}/forms/_file-input.scss +11 -9
  93. package/src/{scss → sass/components}/forms/_index.scss +2 -0
  94. package/src/sass/components/forms/_input-fields.scss +326 -0
  95. package/src/sass/components/forms/_radio-buttons.scss +190 -0
  96. package/src/sass/components/forms/_range.scss +310 -0
  97. package/src/sass/components/forms/_select.scss +103 -0
  98. package/src/sass/components/forms/_switches.scss +239 -0
  99. package/src/sass/expressive.scss +60 -0
  100. package/src/sass/tokens/_index.scss +4 -0
  101. package/src/sass/tokens/_reference.scss +265 -0
  102. package/src/sass/tokens/_theme.scss +49 -0
  103. package/src/{scss → sass}/utilities/_helpers.scss +33 -30
  104. package/src/sass/utilities/_index.scss +8 -0
  105. package/src/{scss → sass}/utilities/_spacing.scss +4 -3
  106. package/src/sass/utilities/_typescale.scss +45 -0
  107. package/src/sass/utilities/_visibility.scss +63 -0
  108. package/src/sass/utilities/_z-depth.scss +18 -0
  109. package/dist/js/components/index.d.ts +0 -21
  110. package/dist/js/forms/index.d.ts +0 -4
  111. package/dist/js/foundation/index.d.ts +0 -2
  112. package/dist/js/index.d.ts +0 -52
  113. package/dist/js/plugins/index.d.ts +0 -1
  114. package/src/scss/components/_appbar.scss +0 -454
  115. package/src/scss/components/_badges.scss +0 -77
  116. package/src/scss/components/_buttons.scss +0 -412
  117. package/src/scss/components/_cards.scss +0 -267
  118. package/src/scss/components/_chips.scss +0 -147
  119. package/src/scss/components/_collapsible.scss +0 -84
  120. package/src/scss/components/_dropdown.scss +0 -98
  121. package/src/scss/components/_index.scss +0 -28
  122. package/src/scss/components/_modal.scss +0 -84
  123. package/src/scss/components/_tabs.scss +0 -176
  124. package/src/scss/components/_toast.scss +0 -70
  125. package/src/scss/components/_tooltip.scss +0 -49
  126. package/src/scss/components/_video.scss +0 -15
  127. package/src/scss/expressive.scss +0 -7
  128. package/src/scss/forms/_checkboxes.scss +0 -199
  129. package/src/scss/forms/_input-fields.scss +0 -360
  130. package/src/scss/forms/_radio-buttons.scss +0 -114
  131. package/src/scss/forms/_range.scss +0 -148
  132. package/src/scss/forms/_select.scss +0 -108
  133. package/src/scss/forms/_switches.scss +0 -127
  134. package/src/scss/foundation/_base.scss +0 -71
  135. package/src/scss/foundation/_color-palette.scss +0 -402
  136. package/src/scss/foundation/_index.scss +0 -10
  137. package/src/scss/foundation/_mixins.scss +0 -198
  138. package/src/scss/foundation/_motion.scss +0 -70
  139. package/src/scss/foundation/_shape.scss +0 -30
  140. package/src/scss/foundation/_state-layers.scss +0 -68
  141. package/src/scss/foundation/_theme.scss +0 -238
  142. package/src/scss/foundation/_tokens.scss +0 -511
  143. package/src/scss/foundation/_variables.scss +0 -57
  144. package/src/scss/layout/_index.scss +0 -3
  145. package/src/scss/utilities/_a11y.scss +0 -77
  146. package/src/scss/utilities/_elevation.scss +0 -63
  147. package/src/scss/utilities/_index.scss +0 -7
  148. package/src/scss/utilities/_responsive.scss +0 -62
  149. package/src/scss/utilities/_typography.scss +0 -115
  150. /package/dist/{js/forms → types/behaviors}/forms.d.ts +0 -0
  151. /package/dist/{js/components → types/behaviors}/waves.d.ts +0 -0
  152. /package/src/{scss → sass}/utilities/_colors.scss +0 -0
@@ -0,0 +1,34 @@
1
+ @use "sass:map";
2
+
3
+ // Elevation shadows.
4
+ //
5
+ // These are a mixin rather than `@extend .z-depth-N` on purpose: `@extend`
6
+ // only resolves if the extending partial loads the module that defines the
7
+ // class, which forced every component to `@use` a CSS-emitting file and let
8
+ // the dependency graph - not expressive.scss - decide the output order.
9
+ // The `.z-depth-N` classes in base/_global.scss are generated from this map,
10
+ // so the class list and the mixin can never drift apart.
11
+
12
+ $elevations: (
13
+ "0": none,
14
+ "1": (0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2)),
15
+ "1-half": (0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2)),
16
+ "2": (0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3)),
17
+ "3": (0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2)),
18
+ "4": (0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2)),
19
+ "5": (0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2))
20
+ ) !default;
21
+
22
+ @mixin z-depth($level) {
23
+ $key: "#{$level}";
24
+ @if not map.has-key($elevations, $key) {
25
+ @error "Unknown elevation `#{$level}`. Available: #{map.keys($elevations)}.";
26
+ }
27
+ $shadow: map.get($elevations, $key);
28
+ @if $shadow == none {
29
+ // Level 0 stays !important: it is used to cancel a shadow a component set.
30
+ box-shadow: none !important;
31
+ } @else {
32
+ box-shadow: $shadow;
33
+ }
34
+ }
@@ -0,0 +1,7 @@
1
+ // Everything a partial needs at compile time, and nothing that emits CSS.
2
+ // Partials load the whole layer with a single line: @use "../abstracts" as *;
3
+
4
+ @forward "elevation"; // z-depth() mixin
5
+ @forward "breakpoints"; // $breakpoints map + bp-up()/bp-down()/bp-between()
6
+ @forward "variables"; // Sass-time knobs: grid, font sizes, flow text
7
+ @forward "mixins"; // btn-*, focus-visible
@@ -0,0 +1,171 @@
1
+ @use "./elevation" as *;
2
+ @use "./variables" as *;
3
+
4
+
5
+ // Common-button geometry. M3 default is 40dp, label-large, 20dp corners
6
+ // (a stadium), 24dp inset, 8dp icon gap. Variants only change color/elevation.
7
+ @mixin btn(
8
+ $height: var(--md-comp-filled-button-container-height, 40px),
9
+ $border-radius: var(--md-comp-filled-button-container-shape, 20px),
10
+ $padding-left: var(--md-comp-filled-button-leading-space, 24px),
11
+ $padding-right: var(--md-comp-filled-button-trailing-space, 24px),
12
+ $font-size: var(--md-sys-typescale-label-large-font-size),
13
+ ) {
14
+ box-sizing: border-box;
15
+ display: inline-flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ gap: var(--md-comp-filled-button-icon-label-space, 8px);
19
+ height: $height;
20
+ padding-left: $padding-left;
21
+ padding-right: $padding-right;
22
+ border: none;
23
+ border-radius: $border-radius;
24
+ font-family: var(--md-sys-typescale-label-large-font-family-name);
25
+ font-size: $font-size;
26
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
27
+ line-height: var(--md-sys-typescale-label-large-line-height);
28
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
29
+ text-decoration: none;
30
+ white-space: nowrap;
31
+ cursor: pointer;
32
+ outline: 0;
33
+ user-select: none;
34
+ appearance: none;
35
+ -webkit-tap-highlight-color: transparent;
36
+ transition: background-color .2s ease-out, box-shadow .2s ease-out;
37
+ }
38
+
39
+ // State layers are 8% hover / 10% focus+press of the on-color, mixed in oklab
40
+ // onto the container. Filled and tonal have no elevation.
41
+
42
+ @mixin btn-filled {
43
+ color: var(--md-comp-filled-button-label-text-color, var(--md-sys-color-on-primary));
44
+ background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
45
+
46
+ &:hover {
47
+ background-color: color-mix(
48
+ in oklab,
49
+ var(--md-sys-color-on-primary) 8%,
50
+ var(--md-sys-color-primary)
51
+ );
52
+ }
53
+
54
+ &:active,
55
+ &:focus {
56
+ background-color: color-mix(
57
+ in oklab,
58
+ var(--md-sys-color-on-primary) 10%,
59
+ var(--md-sys-color-primary)
60
+ );
61
+ }
62
+
63
+ @include focus-visible();
64
+ }
65
+
66
+ @mixin btn-tonal {
67
+ color: var(--md-sys-color-on-secondary-container);
68
+ background-color: var(--md-sys-color-secondary-container);
69
+
70
+ &:hover {
71
+ background-color: color-mix(
72
+ in oklab,
73
+ var(--md-sys-color-on-secondary-container) 8%,
74
+ var(--md-sys-color-secondary-container)
75
+ );
76
+ }
77
+
78
+ &:active,
79
+ &:focus {
80
+ background-color: color-mix(
81
+ in oklab,
82
+ var(--md-sys-color-on-secondary-container) 10%,
83
+ var(--md-sys-color-secondary-container)
84
+ );
85
+ }
86
+
87
+ @include focus-visible();
88
+ }
89
+
90
+ @mixin btn-elevated {
91
+ color: var(--md-sys-color-primary);
92
+ background-color: var(--md-sys-color-surface);
93
+ @include z-depth("1");
94
+
95
+ &:hover {
96
+ @include z-depth("2");
97
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, var(--md-sys-color-surface));
98
+ }
99
+
100
+ &:active,
101
+ &:focus {
102
+ @include z-depth("1");
103
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, var(--md-sys-color-surface));
104
+ }
105
+
106
+ @include focus-visible();
107
+ }
108
+
109
+ @mixin btn-outlined {
110
+ background-color: transparent;
111
+ color: var(--md-sys-color-primary);
112
+ border: 1px solid var(--md-sys-color-outline);
113
+
114
+ &:hover {
115
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
116
+ }
117
+
118
+ &:active,
119
+ &:focus {
120
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
121
+ }
122
+
123
+ @include focus-visible();
124
+ }
125
+
126
+ @mixin btn-flat {
127
+ @include z-depth("0");
128
+ color: var(--md-sys-color-primary);
129
+ background-color: transparent;
130
+ border-color: transparent;
131
+
132
+ &:hover {
133
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
134
+ }
135
+
136
+ &:active,
137
+ &:focus {
138
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
139
+ }
140
+
141
+ @include focus-visible();
142
+ }
143
+
144
+ @mixin btn-disabled {
145
+ @include z-depth("0");
146
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
147
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
148
+ border-color: transparent;
149
+ pointer-events: none;
150
+ box-shadow: none;
151
+ cursor: default;
152
+ }
153
+
154
+ // Focus with Keyboard
155
+ @mixin focus-visible {
156
+ &:focus-visible {
157
+ outline: 3px solid var(--md-sys-color-secondary);
158
+ outline-offset: 2px;
159
+ }
160
+ }
161
+
162
+ // M3 type role. Every property must name a token tokens/_reference.scss
163
+ // actually defines — a missing var() drops the whole declaration.
164
+ @mixin typescale($role) {
165
+ font-family: var(--md-sys-typescale-#{$role}-font-family-name), #{$font-stack};
166
+ font-size: var(--md-sys-typescale-#{$role}-font-size);
167
+ font-weight: var(--md-sys-typescale-#{$role}-font-weight);
168
+ line-height: var(--md-sys-typescale-#{$role}-line-height);
169
+ letter-spacing: var(--md-sys-typescale-#{$role}-letter-spacing);
170
+ }
171
+
@@ -0,0 +1,57 @@
1
+ // TypeScale
2
+ $md_sys_typescale_body-large_size: 16px;
3
+
4
+ @use "sass:math";
5
+
6
+ // Colors
7
+ //
8
+ // The 2014 Material palette ($colors + colorFunc()) is gone. It generated 532
9
+ // utility classes - 18% of the compiled sheet - to express a design opinion
10
+ // this framework does not hold, and the framework itself consumed exactly one
11
+ // value from it: this link color. Everything now comes from --md-sys-color-*.
12
+ $link-color: var(--md-sys-color-primary) !default;
13
+
14
+ // Floating buttons
15
+ $button-floating-background: var(--md-sys-color-secondary) !default;
16
+ $button-floating-background-hover: var(--md-ref-palette-secondary70) !default;
17
+ $button-floating-background-focus: var(--md-ref-palette-secondary80) !default;
18
+ $button-floating-color: var(--md-sys-color-on-secondary) !default;
19
+ $button-floating-size: 40px !default;
20
+ $button-floating-radius: 16px !default;
21
+
22
+ // Dropdown
23
+ $dropdown-item-height: 50px !default;
24
+
25
+ // Media query ranges now live in abstracts/_breakpoints.scss, which states
26
+ // each boundary once and emits range syntax - see the note there about why
27
+ // the 600.99px / 992.99px / 1200.99px values are gone.
28
+
29
+ // Grid
30
+ $num-cols: 12 !default;
31
+ $gutter-width: 1.5rem !default;
32
+ $element-top-margin: math.div($gutter-width, 3) !default;
33
+ $element-bottom-margin: math.div($gutter-width * 2, 3) !default;
34
+
35
+ // Typography
36
+ $font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !default;
37
+ $text-color: var(--md-sys-color-on-background) !default;
38
+
39
+ // Base of the html font-size ladder in base/_typography.scss. Flow text is
40
+ // derived from it, so the two cannot drift.
41
+ $root-font-size: 14px !default;
42
+
43
+ // Legacy rem heading ladder. Headings now consume --md-sys-typescale-*
44
+ // (see base/_typography.scss). Kept so existing Sass overrides still compile.
45
+ $h1-fontsize: 4.2rem !default;
46
+ $h2-fontsize: 3.56rem !default;
47
+ $h3-fontsize: 2.92rem !default;
48
+ $h4-fontsize: 2.28rem !default;
49
+ $h5-fontsize: 1.64rem !default;
50
+ $h6-fontsize: 1.15rem !default;
51
+
52
+ // Flow text: font-size interpolates between these two across the viewport
53
+ // range below. This used to be a @while loop emitting 21 media queries.
54
+ $flow-text-min: 1.2rem !default;
55
+ $flow-text-max: 1.68rem !default; // the old loop's ceiling: 1.2rem * (1 + .02 * 20)
56
+ $flow-text-from: 360px !default;
57
+ $flow-text-to: 960px !default; // the old loop's last step: 360px + 20 * 30px
@@ -1,4 +1,65 @@
1
- @use '../foundation/variables' as *;
1
+ @use "../abstracts" as *;
2
+
3
+ // Element-level defaults only: box-sizing, links, blockquotes, icons, tables.
4
+ //
5
+ // Helper classes belong in utilities/, and anything that serves a single widget
6
+ // belongs in that widget's partial - nothing here should name a component.
7
+
8
+ html {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ *, *:before, *:after {
13
+ box-sizing: inherit;
14
+ }
15
+
16
+ body {
17
+ background-color: var(--md-sys-color-background);
18
+ color: var(--md-sys-color-on-background);
19
+ }
20
+
21
+ button,
22
+ input,
23
+ optgroup,
24
+ select,
25
+ textarea {
26
+ font-family: $font-stack;
27
+ }
28
+
29
+ a {
30
+ color: $link-color;
31
+ text-decoration: none;
32
+ -webkit-tap-highlight-color: transparent; // Gets rid of tap active state
33
+ }
34
+
35
+ // Blockquote
36
+ blockquote { margin: 20px 0; padding-left: 1.5rem; border-left: 5px solid var(--md-sys-color-primary); }
37
+
38
+ // Icon Styles
39
+ i {
40
+ line-height: inherit;
41
+ &.left {
42
+ float: left;
43
+ margin-left: -8px;
44
+ // margin-right: 15px;
45
+ }
46
+ &.right {
47
+ float: right;
48
+ // margin-left: 15px;
49
+ }
50
+ &.tiny {
51
+ font-size: 1rem;
52
+ }
53
+ &.small {
54
+ font-size: 2rem;
55
+ }
56
+ &.medium {
57
+ font-size: 4rem;
58
+ }
59
+ &.large {
60
+ font-size: 6rem;
61
+ }
62
+ }
2
63
 
3
64
  // Tables
4
65
  table, th, td {
@@ -52,7 +113,7 @@ td, th {
52
113
  }
53
114
 
54
115
  // Responsive Table
55
- @media #{$medium-and-down} {
116
+ @include bp-down("large") {
56
117
 
57
118
  table.responsive-table {
58
119
  width: 100%;
@@ -117,3 +178,4 @@ td, th {
117
178
  }
118
179
  }
119
180
  }
181
+
@@ -1,5 +1,5 @@
1
1
  @use "sass:math";
2
- @use '../foundation/variables' as *;
2
+ @use "../abstracts" as *;
3
3
 
4
4
  .container {
5
5
  margin: 0 auto;
@@ -7,13 +7,13 @@
7
7
  width: 90%;
8
8
  }
9
9
 
10
- @media #{$medium-and-up} {
10
+ @include bp-up("small") {
11
11
  .container {
12
12
  width: 85%;
13
13
  }
14
14
  }
15
15
 
16
- @media #{$large-and-up} {
16
+ @include bp-up("large") {
17
17
  .container {
18
18
  width: 70%;
19
19
  }
@@ -78,7 +78,7 @@ body {
78
78
  .offset-s11 { grid-column-start: 12; }
79
79
 
80
80
  //--- M
81
- @media #{$medium-and-up} {
81
+ @include bp-up("small") {
82
82
  .m1 { grid-column: auto / span 1; }
83
83
  .m2 { grid-column: auto / span 2; }
84
84
  .m3 { grid-column: auto / span 3; }
@@ -106,7 +106,7 @@ body {
106
106
  }
107
107
 
108
108
  //--- L
109
- @media #{$large-and-up} {
109
+ @include bp-up("large") {
110
110
  .l1 { grid-column: auto / span 1; }
111
111
  .l2 { grid-column: auto / span 2; }
112
112
  .l3 { grid-column: auto / span 3; }
@@ -134,7 +134,7 @@ body {
134
134
  }
135
135
 
136
136
  //--- XL
137
- @media #{$extra-large-and-up} {
137
+ @include bp-up("xlarge") {
138
138
  .xl1 { grid-column: auto / span 1; }
139
139
  .xl2 { grid-column: auto / span 2; }
140
140
  .xl3 { grid-column: auto / span 3; }
@@ -0,0 +1,6 @@
1
+ // Element-level styling: no component classes live here.
2
+
3
+ @forward "normalize";
4
+ @forward "global"; // z-depth, spacing helpers, positioning, element defaults
5
+ @forward "typography";
6
+ @forward "grid"; // .container, .row, .s1-.s12