@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,232 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Tabs.
4
+ //
5
+ // Anatomy is the HTML. A <nav class="tabs"> of <a href="#panel"> is the
6
+ // bar. A heading or <span> is the label; a leading <i> is the icon.
7
+ // .active is the selected tab. ul.tabs > li.tab > a stays as an alias.
8
+ // Helpers: .tabs-secondary, .horizontal / .tabs-horizontal, .max /
9
+ // .tabs-fixed-width, .transparent / .tabs-transparent.
10
+ //
11
+ // Tokens follow https://m3.material.io/components/tabs/specs
12
+ // primary surface, 48dp (64 with stacked icon), title-small
13
+ // indicator 3dp primary, 3dp 3dp 0 0
14
+ // secondary 48dp, icons inline, indicator 2dp
15
+ // inactive on-surface-variant; hover/focus on-surface 8%/10%
16
+ // active primary; hover/focus primary 8%/10%
17
+ // icon 24dp
18
+ // divider 1dp outline-variant
19
+ // disabled 38%
20
+
21
+ $_tab: "> :is(a, .tab > a, li.tab > a)";
22
+
23
+ .tabs {
24
+ --md-comp-primary-tab-container-color: var(--md-sys-color-surface);
25
+ --md-comp-primary-tab-container-height: 48px;
26
+ --md-comp-primary-tab-with-icon-container-height: 64px;
27
+ --md-comp-primary-tab-active-indicator-color: var(--md-sys-color-primary);
28
+ --md-comp-primary-tab-active-indicator-height: 3px;
29
+ --md-comp-primary-tab-active-indicator-shape: 3px 3px 0 0;
30
+ --md-comp-primary-tab-icon-size: 24px;
31
+ --md-comp-primary-tab-label-text-color: var(--md-sys-color-on-surface-variant);
32
+ --md-comp-primary-tab-active-label-text-color: var(--md-sys-color-primary);
33
+
34
+ box-sizing: border-box;
35
+ display: flex;
36
+ position: relative;
37
+ width: 100%;
38
+ margin: 0;
39
+ padding: 0;
40
+ list-style: none;
41
+ overflow-x: auto;
42
+ overflow-y: hidden;
43
+ white-space: nowrap;
44
+ background-color: var(--md-comp-primary-tab-container-color);
45
+ border-block-end: 1px solid var(--md-sys-color-outline-variant);
46
+ scrollbar-width: none;
47
+
48
+ &::-webkit-scrollbar {
49
+ display: none;
50
+ }
51
+
52
+ > :is(.tab, li.tab) {
53
+ display: flex;
54
+ flex: 0 0 auto;
55
+ list-style: none;
56
+ margin: 0;
57
+ padding: 0;
58
+ }
59
+
60
+ #{$_tab} {
61
+ box-sizing: border-box;
62
+ position: relative;
63
+ display: inline-flex;
64
+ flex: 0 0 auto;
65
+ flex-direction: column;
66
+ align-items: center;
67
+ justify-content: center;
68
+ gap: 2px;
69
+ min-height: var(--md-comp-primary-tab-container-height);
70
+ min-width: 48px;
71
+ margin: 0;
72
+ padding: 0 16px;
73
+ border: none;
74
+ background: transparent;
75
+ color: var(--md-comp-primary-tab-label-text-color);
76
+ text-decoration: none;
77
+ text-align: center;
78
+ cursor: pointer;
79
+ appearance: none;
80
+ @include typescale("title-small");
81
+ font-family: $font-stack;
82
+ transition: color .2s ease, background-color .2s ease;
83
+
84
+ > i {
85
+ flex: 0 0 auto;
86
+ font-size: var(--md-comp-primary-tab-icon-size);
87
+ width: var(--md-comp-primary-tab-icon-size);
88
+ height: var(--md-comp-primary-tab-icon-size);
89
+ line-height: var(--md-comp-primary-tab-icon-size);
90
+ color: inherit;
91
+ }
92
+
93
+ &:hover {
94
+ color: var(--md-sys-color-on-surface);
95
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
96
+ }
97
+
98
+ &:focus-visible,
99
+ &:focus {
100
+ color: var(--md-sys-color-on-surface);
101
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
102
+ outline: none;
103
+ }
104
+
105
+ &.active {
106
+ color: var(--md-comp-primary-tab-active-label-text-color);
107
+ background-color: transparent;
108
+ }
109
+
110
+ &.active:hover {
111
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
112
+ }
113
+
114
+ &.active:focus-visible,
115
+ &.active:focus {
116
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
117
+ }
118
+ }
119
+
120
+ // Stacked icon + label is 64dp (primary).
121
+ &:not(.horizontal, .tabs-horizontal) #{$_tab}:has(> i) {
122
+ min-height: var(--md-comp-primary-tab-with-icon-container-height);
123
+ padding-block: 8px;
124
+ }
125
+
126
+ // CSS indicator when the JS sliding bar is not present.
127
+ &:not(:has(> .indicator)) #{$_tab}.active::after {
128
+ content: "";
129
+ position: absolute;
130
+ inset: auto 0 0 0;
131
+ height: var(--md-comp-primary-tab-active-indicator-height);
132
+ background-color: var(--md-comp-primary-tab-active-indicator-color);
133
+ border-radius: var(--md-comp-primary-tab-active-indicator-shape);
134
+ }
135
+
136
+ > .indicator {
137
+ position: absolute;
138
+ bottom: 0;
139
+ height: var(--md-comp-primary-tab-active-indicator-height);
140
+ background-color: var(--md-comp-primary-tab-active-indicator-color);
141
+ border-radius: var(--md-comp-primary-tab-active-indicator-shape);
142
+ pointer-events: none;
143
+ list-style: none;
144
+ padding: 0;
145
+ margin: 0;
146
+ }
147
+
148
+ // Disabled — on the <a> or on the wrapping .tab.
149
+ #{$_tab}.disabled,
150
+ #{$_tab}[aria-disabled="true"],
151
+ > :is(.tab, li.tab).disabled > a {
152
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
153
+ background-color: transparent;
154
+ cursor: default;
155
+ pointer-events: none;
156
+ }
157
+ }
158
+
159
+ // Secondary — 48dp, icons inline, 2dp indicator.
160
+ // Not .secondary: that name is a color utility.
161
+ .tabs.tabs-secondary {
162
+ --md-comp-primary-tab-active-indicator-height: 2px;
163
+ --md-comp-primary-tab-with-icon-container-height: 48px;
164
+
165
+ #{$_tab} {
166
+ flex-direction: row;
167
+ gap: 8px;
168
+ }
169
+ }
170
+
171
+ // Inline icon + label (primary can do this too).
172
+ .tabs.horizontal,
173
+ .tabs.tabs-horizontal {
174
+ #{$_tab} {
175
+ flex-direction: row;
176
+ gap: 8px;
177
+ min-height: var(--md-comp-primary-tab-container-height);
178
+ padding-block: 0;
179
+ }
180
+ }
181
+
182
+ // Equal-width tabs. Default on compact so a few destinations still fill.
183
+ .tabs.max,
184
+ .tabs.tabs-fixed-width {
185
+ > :is(a, .tab, li.tab) {
186
+ flex: 1 1 0;
187
+ min-width: 0;
188
+ }
189
+
190
+ #{$_tab} {
191
+ width: 100%;
192
+ }
193
+ }
194
+
195
+ @include bp-down("large") {
196
+ .tabs {
197
+ > :is(a, .tab, li.tab) {
198
+ flex: 1 1 0;
199
+ min-width: 0;
200
+ }
201
+
202
+ #{$_tab} {
203
+ width: 100%;
204
+ padding-inline: 12px;
205
+ }
206
+ }
207
+ }
208
+
209
+ // On a colored app bar (header.primary > .tabs).
210
+ .tabs.transparent,
211
+ .tabs.tabs-transparent {
212
+ --md-comp-primary-tab-container-color: transparent;
213
+ --md-comp-primary-tab-label-text-color: color-mix(
214
+ in oklab,
215
+ var(--md-sys-color-on-primary) 74%,
216
+ transparent
217
+ );
218
+ --md-comp-primary-tab-active-label-text-color: var(--md-sys-color-on-primary);
219
+ --md-comp-primary-tab-active-indicator-color: var(--md-sys-color-on-primary);
220
+ border-block-end-color: color-mix(in oklab, var(--md-sys-color-on-primary) 20%, transparent);
221
+
222
+ #{$_tab}:hover,
223
+ #{$_tab}:focus {
224
+ color: var(--md-sys-color-on-primary);
225
+ background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, transparent);
226
+ }
227
+
228
+ #{$_tab}.active:hover,
229
+ #{$_tab}.active:focus {
230
+ background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, transparent);
231
+ }
232
+ }
@@ -1,3 +1,5 @@
1
+ @use "../abstracts" as *;
2
+
1
3
  .tap-target-wrapper {
2
4
  width: 800px;
3
5
  height: 800px;
@@ -5,30 +7,30 @@
5
7
  z-index: 1000;
6
8
  visibility: hidden;
7
9
  transition: visibility 0s .3s;
10
+ }
8
11
 
9
- &.open {
10
- visibility: visible;
11
- transition: visibility 0s;
12
+ .tap-target-wrapper.open {
13
+ visibility: visible;
14
+ transition: visibility 0s;
12
15
 
13
- .tap-target {
14
- transform: scale(1);
15
- opacity: .95;
16
- transition:
17
- transform .3s cubic-bezier(.42,0,.58,1),
18
- opacity .3s cubic-bezier(.42,0,.58,1);
19
- }
16
+ .tap-target {
17
+ transform: scale(1);
18
+ opacity: .95;
19
+ transition:
20
+ transform .3s cubic-bezier(.42,0,.58,1),
21
+ opacity .3s cubic-bezier(.42,0,.58,1);
22
+ }
20
23
 
21
- .tap-target-wave::before {
22
- transform: scale(1);
23
- }
24
- .tap-target-wave::after {
25
- visibility: visible;
26
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
27
- transition:
28
- opacity .3s,
29
- transform .3s,
30
- visibility 0s 1s;
31
- }
24
+ .tap-target-wave::before {
25
+ transform: scale(1);
26
+ }
27
+ .tap-target-wave::after {
28
+ visibility: visible;
29
+ animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
30
+ transition:
31
+ opacity .3s,
32
+ transform .3s,
33
+ visibility 0s 1s;
32
34
  }
33
35
  }
34
36
 
@@ -94,7 +96,7 @@
94
96
  }
95
97
  }
96
98
 
97
- @media only screen and (max-width: 600px) {
99
+ @include bp-down("small") {
98
100
  .tap-target, .tap-target-wrapper {
99
101
  width: 600px;
100
102
  height: 600px;
@@ -1,4 +1,4 @@
1
- @use '../foundation/variables' as *;
1
+ @use "../abstracts" as *;
2
2
 
3
3
  .timepicker-container {
4
4
  display: flex;
@@ -25,7 +25,7 @@
25
25
  display: flex;
26
26
  font-size: 4rem;
27
27
  text-align: left;
28
- color: var(--font-on-primary-color-medium);
28
+ color: var(--md-sys-color-on-surface-variant);
29
29
  font-weight: 400;
30
30
  /*position: relative;*/
31
31
  user-select: none;
@@ -97,30 +97,28 @@ input[type=text].timepicker-input-minutes {
97
97
  max-width: 3.5rem;
98
98
  }
99
99
 
100
- .timepicker-container {
101
- .am-btn,
102
- .pm-btn {
103
- width: 3.6rem;
104
- height: 50%;
105
- padding-left: calc(var(--btn-padding) / 1.8);
106
- padding-right: calc(var(--btn-padding) / 1.8);
107
- line-height: 2rem;
108
- vertical-align: middle;
109
- text-align: center;
110
- // background-color: transparent;
111
- border: 1px solid var(--md-sys-color-outline);
112
- }
100
+ .timepicker-container .am-btn,
101
+ .timepicker-container .pm-btn {
102
+ width: 3.6rem;
103
+ height: 50%;
104
+ padding-left: calc(var(--btn-padding) / 1.8);
105
+ padding-right: calc(var(--btn-padding) / 1.8);
106
+ line-height: 2rem;
107
+ vertical-align: middle;
108
+ text-align: center;
109
+ // background-color: transparent;
110
+ border: 1px solid var(--md-sys-color-outline);
111
+ }
113
112
 
114
- .am-btn {
115
- border-bottom-right-radius: 0;
116
- border-bottom-left-radius: 0;
117
- }
113
+ .timepicker-container .am-btn {
114
+ border-bottom-right-radius: 0;
115
+ border-bottom-left-radius: 0;
116
+ }
118
117
 
119
- .pm-btn {
120
- border-top: 0;
121
- border-top-left-radius: 0;
122
- border-top-right-radius: 0;
123
- }
118
+ .timepicker-container .pm-btn {
119
+ border-top: 0;
120
+ border-top-left-radius: 0;
121
+ border-top-right-radius: 0;
124
122
  }
125
123
 
126
124
  /* Analog Clock Display */
@@ -164,11 +162,11 @@ input[type=text].timepicker-input-minutes {
164
162
  position: absolute;
165
163
  cursor: pointer;
166
164
  font-size: 15px;
165
+ }
167
166
 
168
- &.active,
169
- &:hover {
170
- background-color: rgba(var(--md-sys-color-primary-numeric), 0.06);
171
- }
167
+ .timepicker-tick.active,
168
+ .timepicker-tick:hover {
169
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 6%, transparent);
172
170
  }
173
171
 
174
172
  .timepicker-dial {
@@ -201,7 +199,11 @@ input[type=text].timepicker-input-minutes {
201
199
  opacity: 0.25;
202
200
  }
203
201
 
204
- .timepicker-canvas-bearing,
202
+ .timepicker-canvas-bearing {
203
+ stroke: none;
204
+ fill: var(--md-sys-color-primary);
205
+ }
206
+
205
207
  .timepicker-canvas-bg {
206
208
  stroke: none;
207
209
  fill: var(--md-sys-color-primary);
@@ -216,11 +218,6 @@ input[type=text].timepicker-input-minutes {
216
218
  justify-content: space-between;
217
219
  }
218
220
 
219
- .timepicker-clear,
220
- .timepicker-close {
221
- padding: 0 20px;
222
- }
223
-
224
221
  .timepicker-clear {
225
222
  color: var(--md-sys-color-error);
226
223
  }
@@ -229,8 +226,13 @@ input[type=text].timepicker-input-minutes {
229
226
  color: var(--md-sys-color-primary);
230
227
  }
231
228
 
229
+ .timepicker-clear,
230
+ .timepicker-close {
231
+ padding: 0 20px;
232
+ }
233
+
232
234
  /* Media Queries */
233
- @media #{$large-and-up} {
235
+ @include bp-up("large") {
234
236
  .timepicker-container {
235
237
  width: auto;
236
238
  max-width: 620px;
@@ -265,27 +267,25 @@ input[type=text].timepicker-input-minutes {
265
267
  max-width: unset;
266
268
  }
267
269
 
268
- .timepicker-container {
269
- .am-btn,
270
- .pm-btn {
271
- flex-grow: 1;
272
- /*width: auto;*/
273
- padding-left: calc(var(--btn-padding) / .565);
274
- padding-right: calc(var(--btn-padding) / .565);
275
- border-radius: var(--btn-border-radius);
276
- border: 1px solid var(--md-sys-color-outline);
277
- }
278
-
279
- .am-btn {
280
- border-top-right-radius: 0;
281
- border-bottom-right-radius: 0;
282
- }
283
-
284
- .pm-btn {
285
- border-left: 0;
286
- border-bottom-left-radius: 0;
287
- border-top-left-radius: 0;
288
- }
270
+ .timepicker-container .am-btn,
271
+ .timepicker-container .pm-btn {
272
+ flex-grow: 1;
273
+ /*width: auto;*/
274
+ padding-left: calc(var(--btn-padding) / .565);
275
+ padding-right: calc(var(--btn-padding) / .565);
276
+ border-radius: var(--btn-border-radius);
277
+ border: 1px solid var(--md-sys-color-outline);
278
+ }
279
+
280
+ .timepicker-container .am-btn {
281
+ border-top-right-radius: 0;
282
+ border-bottom-right-radius: 0;
283
+ }
284
+
285
+ .timepicker-container .pm-btn {
286
+ border-left: 0;
287
+ border-bottom-left-radius: 0;
288
+ border-top-left-radius: 0;
289
289
  }
290
290
 
291
291
  .timepicker-plate {