Skip to content

Commit 9601a89

Browse files
authored
feat: remove commons abstraction (#4242)
1 parent e71278b commit 9601a89

36 files changed

+364
-785
lines changed

.changeset/pre.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
"@spectrum-css/colorslider": "8.0.1",
3333
"@spectrum-css/colorwheel": "6.0.1",
3434
"@spectrum-css/combobox": "4.0.1",
35-
"@spectrum-css/commons": "11.0.0",
3635
"@spectrum-css/contextualhelp": "5.0.1",
3736
"@spectrum-css/datepicker": "4.0.1",
3837
"@spectrum-css/dial": "5.0.1",

components/actionbutton/dist/metadata.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@
179179
"--spectrum-gray-100",
180180
"--spectrum-gray-200",
181181
"--spectrum-gray-25",
182-
"--spectrum-line-height-100",
183182
"--spectrum-logical-rotation",
184183
"--spectrum-medium-font-weight",
185184
"--spectrum-neutral-background-color-selected-default",
@@ -217,8 +216,7 @@
217216
],
218217
"passthroughs": [
219218
"--mod-button-animation-duration",
220-
"--mod-button-font-family",
221-
"--mod-button-line-height"
219+
"--mod-button-font-family"
222220
],
223221
"high-contrast": [
224222
"--highcontrast-actionbutton-animation-duration",

components/actionbutton/index.css

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ OF ANY KIND, either express or implied. See the License for the specific languag
1010
governing permissions and limitations under the License.
1111
*/
1212

13-
@import "@spectrum-css/commons/basebutton.css";
14-
1513
.spectrum-ActionButton {
1614
--spectrum-actionbutton-animation-duration: var(--spectrum-animation-duration-100);
1715
--spectrum-actionbutton-border-radius: var(--spectrum-corner-radius-medium-size-medium);
@@ -234,9 +232,46 @@ governing permissions and limitations under the License.
234232
}
235233

236234
.spectrum-ActionButton {
237-
@extend %spectrum-BaseButton;
235+
cursor: pointer;
236+
user-select: none;
237+
238+
/* Contain halo */
238239
position: relative;
239240

241+
/* Show the button overflow in Edge. */
242+
overflow: visible;
243+
display: inline-flex;
244+
align-items: center;
245+
justify-content: center;
246+
247+
box-sizing: border-box;
248+
249+
/* Remove button the margin in Firefox and Safari. */
250+
margin: 0;
251+
252+
font-family: var(--mod-button-font-family, var(--spectrum-sans-font-family-stack));
253+
254+
/* Adjacent buttons should be aligned correctly */
255+
vertical-align: top;
256+
257+
-webkit-font-smoothing: antialiased;
258+
259+
/* Font smoothing for Firefox */
260+
-moz-osx-font-smoothing: grayscale;
261+
text-decoration: none;
262+
263+
/* Remove the inheritance of text transform on button in Edge, Firefox, and IE. */
264+
text-transform: none;
265+
266+
/* stylelint-disable-next-line property-no-vendor-prefix -- Correct the inability to style clickable types in iOS and Safari (normalize). */
267+
-webkit-appearance: button;
268+
269+
transition:
270+
background var(--mod-button-animation-duration, var(--spectrum-animation-duration-100)) ease-out,
271+
border-color var(--mod-button-animation-duration, var(--spectrum-animation-duration-100)) ease-out,
272+
color var(--mod-button-animation-duration, var(--spectrum-animation-duration-100)) ease-out,
273+
box-shadow var(--mod-button-animation-duration, var(--spectrum-animation-duration-100)) ease-out;
274+
240275
min-inline-size: var(--mod-actionbutton-min-width, var(--spectrum-actionbutton-min-width));
241276
block-size: var(--mod-actionbutton-height, var(--spectrum-actionbutton-height));
242277
line-height: var(--mod-actionbutton-line-height, var(--spectrum-actionbutton-line-height));
@@ -252,6 +287,26 @@ governing permissions and limitations under the License.
252287
background-color: var(--highcontrast-actionbutton-background-color-default, var(--mod-actionbutton-background-color-default, var(--spectrum-actionbutton-background-color-default)));
253288
color: var(--highcontrast-actionbutton-content-color-default, var(--mod-actionbutton-content-color-default, var(--spectrum-actionbutton-content-color-default)));
254289

290+
/* Fix Firefox */
291+
&::-moz-focus-inner {
292+
margin-block-start: -2px;
293+
margin-block-end: -2px;
294+
padding: 0;
295+
border: 0;
296+
297+
/* Remove the inner border and padding for button in Firefox. */
298+
border-style: none;
299+
}
300+
301+
&:focus {
302+
outline: none;
303+
}
304+
305+
&:disabled,
306+
&.is-disabled {
307+
cursor: default;
308+
}
309+
255310
&:hover {
256311
background-color: var(--highcontrast-actionbutton-background-color-default, var(--mod-actionbutton-background-color-hover, var(--spectrum-actionbutton-background-color-hover)));
257312
color: var(--highcontrast-actionbutton-content-color-default, var(--mod-actionbutton-content-color-hover, var(--spectrum-actionbutton-content-color-hover)));
@@ -276,11 +331,16 @@ governing permissions and limitations under the License.
276331
}
277332

278333
a.spectrum-ActionButton {
279-
@extend %spectrum-AnchorButton;
334+
/* Make link text not selectable */
335+
user-select: none;
336+
337+
/* stylelint-disable-next-line property-no-vendor-prefix -- Remove appearance for clickable types in iOS and Safari. */
338+
-webkit-appearance: none;
280339
}
281340

282341
.spectrum-ActionButton-icon {
283-
@extend %spectrum-ButtonIcon;
342+
flex-shrink: 0;
343+
max-block-size: 100%;
284344

285345
inline-size: var(--mod-actionbutton-icon-size, var(--spectrum-actionbutton-icon-size));
286346
block-size: var(--mod-actionbutton-icon-size, var(--spectrum-actionbutton-icon-size));
@@ -298,7 +358,16 @@ a.spectrum-ActionButton {
298358
}
299359

300360
.spectrum-ActionButton-label {
301-
@extend %spectrum-ButtonLabel;
361+
align-self: center;
362+
justify-self: center;
363+
364+
/* Fixes horizontal alignment of text in anchor buttons */
365+
text-align: center;
366+
367+
&:empty {
368+
display: none;
369+
}
370+
302371
pointer-events: none;
303372

304373
font-size: var(--mod-actionbutton-font-size, var(--spectrum-actionbutton-font-size));

components/actionbutton/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
}
3737
},
3838
"devDependencies": {
39-
"@spectrum-css/commons": "12.0.0-next.0",
4039
"@spectrum-css/icon": "10.0.0-next.3",
4140
"@spectrum-css/tokens": "16.1.0-next.10"
4241
},

components/button/dist/metadata.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@
9393
"--mod-button-max-inline-size",
9494
"--mod-button-min-width",
9595
"--mod-button-padding-label-to-icon",
96-
"--mod-button-text-align",
97-
"--mod-button-text-align-with-icon",
9896
"--mod-button-top-to-icon",
9997
"--mod-button-top-to-text"
10098
],

components/button/index.css

Lines changed: 73 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
* governing permissions and limitations under the License.
1212
*/
1313

14-
@import "@spectrum-css/commons/basebutton.css";
15-
1614
.spectrum-Button {
1715
--spectrum-button-animation-duration: var(--spectrum-animation-duration-100);
1816

@@ -325,7 +323,41 @@
325323
}
326324

327325
.spectrum-Button {
328-
@extend %spectrum-BaseButton;
326+
cursor: pointer;
327+
user-select: none;
328+
329+
/* Contain halo */
330+
position: relative;
331+
332+
/* Show the button overflow in Edge. */
333+
overflow: visible;
334+
display: inline-flex;
335+
align-items: center;
336+
justify-content: center;
337+
338+
box-sizing: border-box;
339+
340+
/* Remove button the margin in Firefox and Safari. */
341+
margin: 0;
342+
343+
font-family: var(--mod-button-font-family, var(--spectrum-sans-font-family-stack));
344+
345+
/* Adjacent buttons should be aligned correctly */
346+
vertical-align: top;
347+
348+
-webkit-font-smoothing: antialiased;
349+
350+
/* Font smoothing for Firefox */
351+
-moz-osx-font-smoothing: grayscale;
352+
353+
line-height: var(--mod-button-line-height, var(--spectrum-line-height-100));
354+
text-decoration: none;
355+
356+
/* Remove the inheritance of text transform on button in Edge, Firefox, and IE. */
357+
text-transform: none;
358+
359+
/* stylelint-disable-next-line property-no-vendor-prefix -- Correct the inability to style clickable types in iOS and Safari (normalize). */
360+
-webkit-appearance: button;
329361

330362
border-radius: var(--mod-button-border-radius, var(--spectrum-button-border-radius));
331363
border-width: var(--mod-button-border-width, var(--spectrum-button-border-width));
@@ -339,15 +371,14 @@
339371

340372
padding-block: 0;
341373
padding-inline: var(--mod-button-edge-to-text, var(--spectrum-button-edge-to-text));
342-
position: relative;
343374

344375
background-color: var(--highcontrast-button-background-color-default, var(--mod-button-background-color-default, var(--spectrum-button-background-color-default)));
345376
border-color: var(--highcontrast-button-border-color-default, var(--mod-button-border-color-default, var(--spectrum-button-border-color-default)));
346377
color: var(--highcontrast-button-content-color-default, var(--mod-button-content-color-default, var(--spectrum-button-content-color-default)));
347378
transition:
348-
border var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear,
379+
border-color var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear,
349380
color var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear,
350-
background-color var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear;
381+
background var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear;
351382

352383
margin-block: var(--mod-button-margin-block);
353384
margin-inline-end: var(--mod-button-margin-right);
@@ -365,6 +396,11 @@
365396
align-self: flex-start;
366397
}
367398

399+
&:disabled,
400+
&.is-disabled {
401+
cursor: default;
402+
}
403+
368404
/* Focus indicator */
369405
&::after {
370406
content: "";
@@ -377,6 +413,21 @@
377413
pointer-events: none;
378414
}
379415

416+
/* Fix Firefox */
417+
&::-moz-focus-inner {
418+
margin-block-start: -2px;
419+
margin-block-end: -2px;
420+
padding: 0;
421+
border: 0;
422+
423+
/* Remove the inner border and padding for button in Firefox. */
424+
border-style: none;
425+
}
426+
427+
&:focus {
428+
outline: none;
429+
}
430+
380431
&:focus-visible,
381432
&.is-focused {
382433
box-shadow: none;
@@ -458,16 +509,27 @@
458509
}
459510

460511
a.spectrum-Button {
461-
@extend %spectrum-AnchorButton;
512+
/* Make link text not selectable */
513+
user-select: none;
514+
515+
/* stylelint-disable-next-line property-no-vendor-prefix -- Remove appearance for clickable types in iOS and Safari. */
516+
-webkit-appearance: none;
462517
}
463518

464519
.spectrum-Button-label {
465-
@extend %spectrum-ButtonLabel;
520+
align-self: start;
521+
justify-self: center;
522+
523+
/* Fixes horizontal alignment of text in anchor buttons */
524+
text-align: center;
525+
466526
padding-block-start: calc(var(--mod-button-top-to-text, var(--spectrum-button-top-to-text)) - var(--mod-button-border-width, var(--spectrum-button-border-width)));
467527
padding-block-end: calc(var(--mod-button-bottom-to-text, var(--spectrum-button-bottom-to-text)) - var(--mod-button-border-width, var(--spectrum-button-border-width)));
468528
line-height: var(--mod-button-line-height, var(--spectrum-button-line-height));
469-
align-self: start;
470-
text-align: var(--mod-button-text-align, center);
529+
530+
&:empty {
531+
display: none;
532+
}
471533
}
472534

473535
/* Disable button label wrap */
@@ -478,7 +540,7 @@ a.spectrum-Button {
478540
}
479541

480542
.spectrum-Button .spectrum-Icon + .spectrum-Button-label {
481-
text-align: var(--mod-button-text-align-with-icon, start);
543+
text-align: start;
482544
}
483545

484546
/* Icon only variant */

components/button/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
}
4141
},
4242
"devDependencies": {
43-
"@spectrum-css/commons": "12.0.0-next.0",
4443
"@spectrum-css/icon": "10.0.0-next.3",
4544
"@spectrum-css/progresscircle": "6.0.0-next.0",
4645
"@spectrum-css/tokens": "16.1.0-next.10"

components/closebutton/dist/metadata.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
".spectrum-CloseButton--staticBlack",
99
".spectrum-CloseButton--staticWhite",
1010
".spectrum-CloseButton-UIIcon",
11-
".spectrum-CloseButton.is-disabled",
1211
".spectrum-CloseButton.is-focused:not(:disabled) .spectrum-CloseButton-UIIcon",
1312
".spectrum-CloseButton.is-keyboardFocused:not(:disabled)",
1413
".spectrum-CloseButton.is-keyboardFocused:not(:disabled) .spectrum-CloseButton-UIIcon",
@@ -97,11 +96,7 @@
9796
"--spectrum-transparent-white-800",
9897
"--spectrum-transparent-white-900"
9998
],
100-
"passthroughs": [
101-
"--mod-button-animation-duration",
102-
"--mod-button-font-family",
103-
"--mod-button-line-height"
104-
],
99+
"passthroughs": ["--mod-button-font-family", "--mod-button-line-height"],
105100
"high-contrast": [
106101
"--highcontrast-closebutton-background-color-default",
107102
"--highcontrast-closebutton-focus-indicator-color",

0 commit comments

Comments
 (0)