Skip to content

Commit d6b7286

Browse files
author
castastrophe
committed
feat(alertdialog)!: new component
BREAKING CHANGE: new alert dialog component added
1 parent 8c276f8 commit d6b7286

File tree

10 files changed

+660
-0
lines changed

10 files changed

+660
-0
lines changed

components/alertdialog/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# @spectrum-css/alertdialog
2+
3+
> The Spectrum CSS alertdialog component
4+
5+
This package is part of the [Spectrum CSS project](https://github.com/adobe/spectrum-css).
6+
7+
See the [Spectrum CSS documentation](https://opensource.adobe.com/spectrum-css/alertdialog).

components/alertdialog/gulpfile.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('@spectrum-css/component-builder-simple');

components/alertdialog/index.css

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/*!
2+
Copyright 2023 Adobe. All rights reserved.
3+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License. You may obtain a copy
5+
of the License at http://www.apache.org/licenses/LICENSE-2.0
6+
7+
Unless required by applicable law or agreed to in writing, software distributed under
8+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9+
OF ANY KIND, either express or implied. See the License for the specific language
10+
governing permissions and limitations under the License.
11+
*/
12+
13+
.spectrum-AlertDialog {
14+
--spectrum-alert-dialog-min-width: var(--spectrum-alert-dialog-minimum-width);
15+
--spectrum-alert-dialog-max-width: var(--spectrum-alert-dialog-maximum-width);
16+
--spectrum-alert-dialog-icon-size: var(--spectrum-workflow-icon-size-100);
17+
18+
/* color */
19+
--spectrum-alert-dialog-warning-icon-color: var(--spectrum-notice-visual-color);
20+
--spectrum-alert-dialog-error-icon-color: var(--spectrum-negative-visual-color);
21+
22+
/* typography */
23+
--spectrum-alert-dialog-title-font-family: var(--spectrum-sans-font-family-stack);
24+
--spectrum-alert-dialog-title-font-weight: var(--spectrum-heading-sans-serif-font-weight);
25+
--spectrum-alert-dialog-title-font-style: var(--spectrum-heading-sans-serif-font-style);
26+
--spectrum-alert-dialog-title-font-size: var(--spectrum-alert-dialog-title-size);
27+
--spectrum-alert-dialog-title-line-height: var(--spectrum-heading-line-height);
28+
--spectrum-alert-dialog-title-color: var(--spectrum-heading-color);
29+
30+
--spectrum-alert-dialog-body-font-family: var(--spectrum-sans-font-family-stack);
31+
--spectrum-alert-dialog-body-font-weight: var(--spectrum-body-sans-serif-font-weight);
32+
--spectrum-alert-dialog-body-font-style: var(--spectrum-body-sans-serif-font-style);
33+
--spectrum-alert-dialog-body-font-size: var(--spectrum-alert-dialog-description-size);
34+
--spectrum-alert-dialog-body-line-height: var(--spectrum-line-height-100);
35+
--spectrum-alert-dialog-body-color: var(--spectrum-body-color);
36+
37+
/* spacing */
38+
--spectrum-alert-dialog-title-to-divider: var(--spectrum-spacing-200);
39+
--spectrum-alert-dialog-divider-to-description: var(--spectrum-spacing-300);
40+
--spectrum-alert-dialog-title-to-icon: var(--spectrum-spacing-300);
41+
42+
/* mods for nested component */
43+
--mod-buttongroup-justify-content: flex-end;
44+
}
45+
46+
.spectrum-AlertDialog {
47+
display: flex;
48+
box-sizing: border-box;
49+
inline-size: fit-content;
50+
min-inline-size: var(--mod-alert-dialog-min-width, var(--spectrum-alert-dialog-min-width));
51+
max-inline-size: var(--mod-alert-dialog-max-width, var(--spectrum-alert-dialog-max-width));
52+
max-height: inherit;
53+
outline: none;
54+
padding: var(--mod-alert-dialog-padding, var(--spectrum-alert-dialog-padding));
55+
56+
.spectrum-Icon {
57+
inline-size: var(--mod-alert-dialog-icon-size, var(--spectrum-alert-dialog-icon-size));
58+
block-size: var(--mod-alert-dialog-icon-size, var(--spectrum-alert-dialog-icon-size));
59+
margin-left: var(--mod-alert-dialog-title-to-icon, var(--spectrum-alert-dialog-title-to-icon));
60+
flex-shrink: 0;
61+
}
62+
63+
&--warning {
64+
--mod-icon-color: var(--mod-alert-dialog-warning-icon-color, var(--spectrum-alert-dialog-warning-icon-color));
65+
}
66+
67+
&--error {
68+
--mod-icon-color: var(--mod-alert-dialog-error-icon-color, var(--spectrum-alert-dialog-error-icon-color));
69+
}
70+
}
71+
72+
.spectrum-AlertDialog-grid {
73+
display: grid;
74+
}
75+
76+
.spectrum-AlertDialog-header {
77+
display: flex;
78+
justify-content: space-between;
79+
align-items: baseline;
80+
}
81+
82+
.spectrum-AlertDialog-heading {
83+
font-family: var(--mod-alert-dialog-title-font-family, var(--spectrum-alert-dialog-title-font-family));
84+
font-weight: var(--mod-alert-dialog-title-font-weight, var(--spectrum-alert-dialog-title-font-weight));
85+
font-style: var(--mod-alert-dialog-title-font-style, var(--spectrum-alert-dialog-title-font-style));
86+
font-size: var(--mod-alert-dialog-title-font-size, var(--spectrum-alert-dialog-title-font-size));
87+
line-height: var(--mod-alert-dialog-title-line-height, var(--spectrum-alert-dialog-title-line-height));
88+
color: var(--mod-alert-dialog-title-color, var(--spectrum-alert-dialog-title-color));
89+
margin: 0;
90+
margin-block-end: var(--mod-alert-dialog-title-to-divider, var(--spectrum-alert-dialog-title-to-divider));
91+
}
92+
93+
.spectrum-AlertDialog-content {
94+
font-family: var(--mod-alert-dialog-body-font-family, var(--spectrum-alert-dialog-body-font-family));
95+
font-weight: var(--mod-alert-dialog-body-font-weight, var(--spectrum-alert-dialog-body-font-weight));
96+
font-style: var(--mod-alert-dialog-body-font-style, var(--spectrum-alert-dialog-body-font-style));
97+
font-size: var(--mod-alert-dialog-body-font-size, var(--spectrum-alert-dialog-body-font-size));
98+
line-height: var(--mod-alert-dialog-body-line-height, var(--spectrum-alert-dialog-body-line-height));
99+
color: var(--mod-alert-dialog-body-color, var(--spectrum-alert-dialog-body-color));
100+
margin: 0;
101+
margin-block-start: var(--mod-alert-dialog-divider-to-description, var(--spectrum-alert-dialog-divider-to-description));
102+
margin-block-end: var(--mod-alert-dialog-description-to-buttons, var(--spectrum-alert-dialog-description-to-buttons));
103+
104+
overflow-y: auto;
105+
-webkit-overflow-scrolling: touch;
106+
}
107+
108+
@media (forced-colors: active) {
109+
.spectrum-AlertDialog {
110+
border: solid;
111+
}
112+
}

0 commit comments

Comments
 (0)