|
39 | 39 | class:error={status === 'error'} |
40 | 40 | > |
41 | 41 | <Stack gap="s" direction="row"> |
42 | | - <span class="primary-color"> |
43 | | - <Icon icon={getIcon()} /> |
| 42 | + <span class="icon-holder" class:center-align={!$$slots.default}> |
| 43 | + <Icon icon={getIcon()} color="--alert-primary-color" /> |
44 | 44 | </span> |
| 45 | + |
45 | 46 | <Stack> |
46 | 47 | <Stack gap="s" direction="row" justifyContent="space-between" alignItems="flex-start"> |
47 | 48 | <Stack> |
48 | | - <div> |
49 | | - {#if title} |
50 | | - <h5 class="primary-color">{title}</h5> |
51 | | - {/if} |
52 | | - <slot /> |
53 | | - </div> |
| 49 | + {#if title || $$slots.default} |
| 50 | + <Stack gap="none"> |
| 51 | + {#if title} |
| 52 | + <h5 style:color="var(--alert-primary-color)">{title}</h5> |
| 53 | + {/if} |
| 54 | + {#if $$slots.default} |
| 55 | + <slot /> |
| 56 | + {/if} |
| 57 | + </Stack> |
| 58 | + {/if} |
54 | 59 | {#if $$slots.actions} |
55 | 60 | <Stack direction="row"> |
56 | 61 | <slot name="actions" /> |
57 | 62 | </Stack> |
58 | 63 | {/if} |
59 | 64 | </Stack> |
| 65 | + |
60 | 66 | {#if dismissible} |
61 | | - <Button icon variant="text" size="s" on:click={() => dispatch('dismiss')}> |
| 67 | + <Button |
| 68 | + icon |
| 69 | + size="s" |
| 70 | + variant="extra-compact" |
| 71 | + on:click={() => dispatch('dismiss')} |
| 72 | + > |
62 | 73 | <span class="close"> |
63 | 74 | <Icon icon={IconX} color="--fgcolor-neutral-tertiary" /> |
64 | 75 | </span> |
|
79 | 90 | border-radius: var(--border-radius-s); |
80 | 91 | border: var(--border-width-s) solid var(--border-neutral-strong); |
81 | 92 | background: var(--bgcolor-neutral-default); |
| 93 | + --alert-primary-color: var(--fgcolor-info); |
82 | 94 |
|
83 | 95 | h5 { |
84 | 96 | color: var(--fgcolor-neutral-primary); |
|
90 | 102 | line-height: 140%; /* 19.6px */ |
91 | 103 | letter-spacing: -0.063px; |
92 | 104 | } |
| 105 | + .icon-holder.center-align { |
| 106 | + display: flex; |
| 107 | + align-self: baseline; |
| 108 | + } |
93 | 109 | &.success { |
94 | 110 | border-color: var(--border-success-weak); |
95 | 111 | background: var(--bgcolor-success-weaker); |
96 | | - .primary-color { |
97 | | - color: var(--fgcolor-success); |
98 | | - } |
| 112 | + --alert-primary-color: var(--fgcolor-success); |
99 | 113 | } |
100 | 114 | &.warning { |
101 | 115 | border-color: var(--border-warning-weak); |
102 | 116 | background: var(--bgcolor-warning-weaker); |
103 | | - .primary-color { |
104 | | - color: var(--fgcolor-warning); |
105 | | - } |
| 117 | + --alert-primary-color: var(--fgcolor-warning); |
106 | 118 | } |
107 | 119 | &.error { |
108 | 120 | border-color: var(--border-error-weak); |
109 | 121 | background: var(--bgcolor-error-weaker); |
110 | | - .primary-color { |
111 | | - color: var(--fgcolor-error); |
112 | | - } |
| 122 | + --alert-primary-color: var(--fgcolor-error); |
113 | 123 | } |
114 | 124 | .close { |
115 | 125 | color: var(--fgcolor-neutral-tertiary); |
|
0 commit comments