11import { css } from '@aegisjsproject/core/parsers/css.js' ;
2- import { primary , blue , light } from './palette/bootstrap.js' ;
2+ import { blue , green , red , yellow , gray } from './palette/bootstrap.js' ;
3+ import {
4+ colorLight , colorDark , btnPrimary , btnPrimaryActive ,
5+ btnPrimaryHover , btnDisabled , btnSuccess , btnSuccessActive , btnSuccessHover , btnDanger , btnDangerActive ,
6+ btnDangerHover , btnWarning , btnWarningActive , btnWarningHover ,
7+ } from './palette/aegis.js' ;
38
49export const btn = css `.btn : not ([hidden ]) {
510 cursor : pointer;
@@ -9,23 +14,111 @@ export const btn = css`.btn:not([hidden]) {
914 font-family : inherit;
1015 border-radius : 4px ;
1116 text-decoration : none;
12- }
13-
14- .btn .btn-primary {
15- color : ${ light } ;
16- background-color : ${ primary } ;
1717 border-width : 1px ;
1818 border-style : solid;
19- border-color : ${ blue [ 6 ] } );
20- transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
19+ transition : background-color 150ms ease-in-out, border-color 150ms ease-in-out, color 150ms ease-in-out;
20+ }
21+
22+ .btn .btn-small {
23+ padding : 0.5em 1em ;
24+ font-size : 0.7em ;
25+ }
26+
27+ .btn .btn-big {
28+ padding : 0.7em 1.3em ;
29+ font-size : 1.3em ;
30+ }` ;
31+
32+ const primary = css `.btn .btn-primary {
33+ background-color : var (--aegis-btn-primary , ${ btnPrimary } );
34+ color : var (--aegis-color-dark , ${ colorDark } );
35+ border-color : ${ blue [ 6 ] } ;
2136}
2237
23- .btn .btn-primary : hover {
24- background-color : ${ blue [ 5 ] } ;
38+ .btn .btn-primary : not ( : disabled ) : hover , . btn . btn-primary : not ( : disabled ) : focus {
39+ background-color : var ( --aegis-btn-primary-hover , ${ btnPrimaryHover } ) ;
2540 border-color : ${ blue [ 7 ] } ;
2641}
2742
28- .btn .btn-primary : active {
29- background-color : ${ blue [ 6 ] } ;
43+ .btn .btn-primary : not ( : disabled ) : active {
44+ background-color : var ( --aegis-btn-primary-active , ${ btnPrimaryActive } ) ;
3045 border-color : ${ blue [ 8 ] } ;
46+ }
47+
48+ .btn .btn-primary : disabled {
49+ background-color : var (--aegis-btn-active-disabled , ${ btnDisabled } );
50+ color : var(--aegis-color-light , ${ colorLight } );
51+ border-color: ${ gray [ 6 ] } ;
52+ cursor: not-allowed;
3153}` ;
54+
55+ const success = css `.btn .btn-success {
56+ background-color : var (--aegis-btn-success , ${ btnSuccess } );
57+ color : var (--aegis-color-dark , ${ colorDark } );
58+ border-color : ${ green [ 6 ] } ;
59+ }
60+
61+ .btn .btn-success : not (: disabled ): hover , .btn .btn-success : not (: disabled ): focus {
62+ background-color : var (--aegis-btn-success-hover , ${ btnSuccessHover } );
63+ border-color : ${ blue [ 7 ] } ;
64+ }
65+
66+ .btn .btn-success : not (: disabled ): active {
67+ background-color : var (--aegis-btn-success-active , ${ btnSuccessActive } );
68+ border-color : ${ blue [ 8 ] } ;
69+ }
70+
71+ .btn .btn-success : disabled {
72+ background-color : var (--aegis-btn-active-disabled , ${ btnDisabled } );
73+ color : var(--aegis-color-light , ${ colorLight } );
74+ border-color: ${ gray [ 6 ] } ;
75+ cursor: not-allowed;
76+ }` ;
77+
78+ const danger = css `.btn .btn-danger {
79+ background-color : var (--aegis-btn-danger , ${ btnDanger } );
80+ color : var (--aegis-color-dark , ${ colorDark } );
81+ border-color : ${ red [ 6 ] } ;
82+ }
83+
84+ .btn .btn-danger : not (: disabled ): hover , .btn .btn-danger : not (: disabled ): focus {
85+ background-color : var (--aegis-btn-danger-hover , ${ btnDangerHover } );
86+ border-color : ${ red [ 7 ] } ;
87+ }
88+
89+ .btn .btn-danger : not (: disabled ): active {
90+ background-color : var (--aegis-btn-danger-active , ${ btnDangerActive } );
91+ border-color : ${ red [ 8 ] } ;
92+ }
93+
94+ .btn .btn-danger : disabled {
95+ background-color : var (--aegis-btn-active-disabled , ${ btnDisabled } );
96+ color : var(--aegis-color-light , ${ colorLight } );
97+ border-color: ${ gray [ 6 ] } ;
98+ cursor: not-allowed;
99+ }` ;
100+
101+ const warning = css `.btn .btn-warning {
102+ background-color : var (--aegis-btn-warning , ${ btnWarning } );
103+ color : var (--aegis-color-dark , ${ colorDark } );
104+ border-color : ${ yellow [ 6 ] } ;
105+ }
106+
107+ .btn .btn-warning : not (: disabled ): hover , .btn .btn-warning : not (: disabled ): focus {
108+ background-color : var (--aegis-btn-warning-hover , ${ btnWarningHover } );
109+ border-color : ${ yellow [ 7 ] } ;
110+ }
111+
112+ .btn .btn-warning : not (: disabled ): active {
113+ background-color : var (--aegis-btn-warning-active , ${ btnWarningActive } );
114+ border-color : ${ yellow [ 8 ] } ;
115+ }
116+
117+ .btn .btn-warning : disabled {
118+ background-color : var (--aegis-btn-active-disabled , ${ btnDisabled } );
119+ color : var(--aegis-color-light , ${ colorLight } );
120+ border-color: ${ gray [ 6 ] } ;
121+ cursor: not-allowed;
122+ }` ;
123+
124+ export { primary as btnPrimary , success as btnSuccess , danger as btnDanger , warning as btnWarning } ;
0 commit comments