diff --git a/CHANGELOG b/CHANGELOG index a378eb5..8e909c4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,9 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [Released] -## [0.3.0] - 2023-03-27 +## [0.4.0] - 2023-04-29 + +### Changed + +- Generalized button states + +### Added + +- Buttons in system colors +- Progress bars + - Default color + - Primary color + - Accent color + - System colors + - Sizes: XS, S, M, L, XL + +## [0.3.0] - 2023-04-27 ### Changed diff --git a/css/components/buttons.css b/css/components/buttons.css index 8ed54b5..3bd9927 100644 --- a/css/components/buttons.css +++ b/css/components/buttons.css @@ -10,8 +10,11 @@ button { transition: var(--transition-duration); } -button:hover { - cursor: pointer; +button:hover { cursor: pointer;} +button:disabled { cursor: not-allowed;} +button:focus { + outline-color: transparent; + outline-style: solid; } /* Button sizes */ @@ -43,18 +46,9 @@ button:hover { .button-primary { background-color: var(--primary);} .button-primary:hover { background-color: var(--primary-60);} .button-primary:active { background-color: var(--primary-40);} -.button-primary:focus { - box-shadow: 0 0 0 3px var(--primary-80); - outline-color: transparent; - outline-style: solid; -} -.button-primary:disabled { - background-color: var(--primary-80); -} -.button-primary:disabled:hover { - background-color: var(--primary-80); - cursor: not-allowed; -} +.button-primary:focus { box-shadow: 0 0 0 3px var(--primary-80);} +.button-primary:disabled { background-color: var(--primary-80);} +.button-primary:disabled:hover { background-color: var(--primary-80);} /* secondary button */ .button-secondary { @@ -63,34 +57,56 @@ button:hover { background-color: transparent; color: var(--primary); } -.button-secondary:hover { background-color: var(--primary-60);} -.button-secondary:active { background-color: var(--primary-40);} -.button-secondary:focus { - box-shadow: 0 0 0 3px var(--primary-80); - outline-color: transparent; - outline-style: solid; -} -.button-secondary:disabled { - background-color: var(--primary-80); + +.button-secondary:hover { + color: var(--text-button); + background-color: var(--primary-60); + border: 3px solid var(--primary-60); } -.button-secondary:disabled:hover { - background-color: var(--primary-l-80); - cursor: not-allowed; +.button-secondary:active { background-color: var(--primary-40);} +.button-secondary:focus { box-shadow: 0 0 0 3px var(--primary-80);} +.button-secondary:disabled { + border: 3px solid var(--primary-80); + color: var(--primary-80); } +.button-secondary:disabled:hover { background-color: var(--primary-80);} /* CTA button */ -.button-cta { background-color: var(--accent-50);} +.button-cta { background-color: var(--accent);} .button-cta:hover { background-color: var(--accent-60);} .button-cta:active { background-color: var(--accent-40);} -.button-cta:focus { - box-shadow: 0 0 0 3px var(--accent-80); - outline-color: transparent; - outline-style: solid; -} -.button-cta:disabled { - background-color: var(--accent-80); -} -.button-cta:disabled:hover { - background-color: var(--accent-80); - cursor: not-allowed; -} \ No newline at end of file +.button-cta:focus { box-shadow: 0 0 0 3px var(--accent-80);} +.button-cta:disabled { background-color: var(--accent-80);} +.button-cta:disabled:hover { background-color: var(--accent-80);} + +/* Information button */ +.button-info { background-color: var(--info);} +.button-info:hover { background-color: var(--info-60);} +.button-info:active { background-color: var(--info-40);} +.button-info:focus { box-shadow: 0 0 0 3px var(--info-80);} +.button-info:disabled { background-color: var(--info-80);} +.button-info:disabled:hover { background-color: var(--info-80);} + +/* Success button */ +.button-success { background-color: var(--success);} +.button-success:hover { background-color: var(--success-60);} +.button-success:active { background-color: var(--success-40);} +.button-success:focus { box-shadow: 0 0 0 3px var(--success-80);} +.button-success:disabled { background-color: var(--success-80);} +.button-success:disabled:hover { background-color: var(--success-80);} + +/* Warning button */ +.button-warning { background-color: var(--warning);} +.button-warning:hover { background-color: var(--warning-60);} +.button-warning:active { background-color: var(--warning-40);} +.button-warning:focus { box-shadow: 0 0 0 3px var(--warning-80);} +.button-warning:disabled { background-color: var(--warning-80);} +.button-warning:disabled:hover {background-color: var(--warning-80);} + +/* Error button */ +.button-error { background-color: var(--error);} +.button-error:hover { background-color: var(--error-60);} +.button-error:active { background-color: var(--error-40);} +.button-error:focus { box-shadow: 0 0 0 3px var(--error-80);} +.button-error:disabled { background-color: var(--error-80);} +.button-error:disabled:hover { background-color: var(--error-80);} \ No newline at end of file diff --git a/css/components/buttons.min.css b/css/components/buttons.min.css index 8e1a310..d739d53 100644 --- a/css/components/buttons.min.css +++ b/css/components/buttons.min.css @@ -1 +1 @@ -button{position:relative;box-sizing:border-box;border-radius:var(--rounded-m);border:none;color:var(--text-button);max-width:450px;position:relative;transition:var(--transition-duration)}button:hover{cursor:pointer}.button-s{font-size:14px;font-weight:500;line-height:24px;min-width:96px;padding:8px 20px}.button-m{font-size:16px;font-weight:500;line-height:24px;min-width:128px;padding:10px 26px}.button-l{font-size:20px;font-weight:500;line-height:24px;min-width:128px;padding:12px 32px}.button-primary{background-color:var(--primary)}.button-primary:hover{background-color:var(--primary-60)}.button-primary:active{background-color:var(--primary-40)}.button-primary:focus{box-shadow:0 0 0 3px var(--primary-80);outline-color:transparent;outline-style:solid}.button-primary:disabled{background-color:var(--primary-80)}.button-primary:disabled:hover{background-color:var(--primary-80);cursor:not-allowed}.button-secondary{box-sizing:border-box;border:3px solid var(--primary);background-color:transparent;color:var(--primary)}.button-secondary:hover{background-color:var(--primary-60)}.button-secondary:active{background-color:var(--primary-40)}.button-secondary:focus{box-shadow:0 0 0 3px var(--primary-80);outline-color:transparent;outline-style:solid}.button-secondary:disabled{background-color:var(--primary-80)}.button-secondary:disabled:hover{background-color:var(--primary-l-80);cursor:not-allowed}.button-cta{background-color:var(--accent-50)}.button-cta:hover{background-color:var(--accent-60)}.button-cta:active{background-color:var(--accent-40)}.button-cta:focus{box-shadow:0 0 0 3px var(--accent-80);outline-color:transparent;outline-style:solid}.button-cta:disabled{background-color:var(--accent-80)}.button-cta:disabled:hover{background-color:var(--accent-80);cursor:not-allowed} \ No newline at end of file +button{position:relative;box-sizing:border-box;border-radius:var(--rounded-m);border:none;color:var(--text-button);max-width:450px;position:relative;transition:var(--transition-duration)}button:hover{cursor:pointer}button:disabled{cursor:not-allowed}button:focus{outline-color:transparent;outline-style:solid}.button-s{font-size:14px;font-weight:500;line-height:24px;min-width:96px;padding:8px 20px}.button-m{font-size:16px;font-weight:500;line-height:24px;min-width:128px;padding:10px 26px}.button-l{font-size:20px;font-weight:500;line-height:24px;min-width:128px;padding:12px 32px}.button-primary{background-color:var(--primary)}.button-primary:hover{background-color:var(--primary-60)}.button-primary:active{background-color:var(--primary-40)}.button-primary:focus{box-shadow:0 0 0 3px var(--primary-80)}.button-primary:disabled{background-color:var(--primary-80)}.button-primary:disabled:hover{background-color:var(--primary-80)}.button-secondary{box-sizing:border-box;border:3px solid var(--primary);background-color:transparent;color:var(--primary)}.button-secondary:hover{color:var(--text-button);background-color:var(--primary-60);border:3px solid var(--primary-60)}.button-secondary:active{background-color:var(--primary-40)}.button-secondary:focus{box-shadow:0 0 0 3px var(--primary-80)}.button-secondary:disabled{border:3px solid var(--primary-80);color:var(--primary-80)}.button-secondary:disabled:hover{background-color:var(--primary-80)}.button-cta{background-color:var(--accent)}.button-cta:hover{background-color:var(--accent-60)}.button-cta:active{background-color:var(--accent-40)}.button-cta:focus{box-shadow:0 0 0 3px var(--accent-80)}.button-cta:disabled{background-color:var(--accent-80)}.button-cta:disabled:hover{background-color:var(--accent-80)}.button-info{background-color:var(--info)}.button-info:hover{background-color:var(--info-60)}.button-info:active{background-color:var(--info-40)}.button-info:focus{box-shadow:0 0 0 3px var(--info-80)}.button-info:disabled{background-color:var(--info-80)}.button-info:disabled:hover{background-color:var(--info-80)}.button-success{background-color:var(--success)}.button-success:hover{background-color:var(--success-60)}.button-success:active{background-color:var(--success-40)}.button-success:focus{box-shadow:0 0 0 3px var(--success-80)}.button-success:disabled{background-color:var(--success-80)}.button-success:disabled:hover{background-color:var(--success-80)}.button-warning{background-color:var(--warning)}.button-warning:hover{background-color:var(--warning-60)}.button-warning:active{background-color:var(--warning-40)}.button-warning:focus{box-shadow:0 0 0 3px var(--warning-80)}.button-warning:disabled{background-color:var(--warning-80)}.button-warning:disabled:hover{background-color:var(--warning-80)}.button-error{background-color:var(--error)}.button-error:hover{background-color:var(--error-60)}.button-error:active{background-color:var(--error-40)}.button-error:focus{box-shadow:0 0 0 3px var(--error-80)}.button-error:disabled{background-color:var(--error-80)}.button-error:disabled:hover{background-color:var(--error-80)} \ No newline at end of file diff --git a/css/components/progress.css b/css/components/progress.css new file mode 100644 index 0000000..2a15154 --- /dev/null +++ b/css/components/progress.css @@ -0,0 +1,58 @@ +/* Default progress bar */ +.progress { + position: relative; + width: 25rem; + height: 3rem; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + border: 1px solid var(--background); + border-radius: var(--rounded-m); + background-color: var(--background-light); +} + +.progress .progress-bar { + position: absolute; + left: 0; + width: 0; + height: 100%; + border-radius: var(--rounded-m); + background-color: var(--background); + z-index: 200; +} + +/* Colors */ +/* Primary */ +.progress-primary > .progress-bar { background-color: var(--primary);} + +/* Accent */ +.progress-accent > .progress-bar { background-color: var(--accent);} + +/* Information */ +.progress-info > .progress-bar { background-color: var(--info);} + +/* Success */ +.progress-success > .progress-bar { background-color: var(--success);} + +/* Warning */ +.progress-warning > .progress-bar { background-color: var(--warning);} + +/* Error */ +.progress-error > .progress-bar { background-color: var(--error);} + +/* Sizes */ +/* Progress bar XS */ +.progress-xs { height: .5rem;} + +/* Progress bar S */ +.progress-s { height: 1rem;} + +/* Progress bar M */ +.progress-m { height: 2rem;} + +/* Progress bar L */ +.progress-l { height: 2.5rem;} + +/* Progress bar XL */ +.progress-xl { height: 3rem;} \ No newline at end of file diff --git a/examamples/components/example_badges.html b/examamples/components/example_badges.html index 1c5d6ac..63c740b 100644 --- a/examamples/components/example_badges.html +++ b/examamples/components/example_badges.html @@ -15,50 +15,52 @@ Badges | Neptune examples -

Default badges

+

Badges

+
+

Default badges

Default S Default M Default L
-

Primary badges

+

Primary badges

Primary S Primary M Primary L
-

Accent badges

+

Accent badges

Accent S Accent M Accent L
-

Information badges

+

Information badges

Information S Information M Information L
-

Success badges

+

Success badges

Sucess S Sucess M Sucess L
-

Warning badges

+

Warning badges

Warning S Warning M Warning L
-

Error badges

+

Error badges

Error S Error M Error L diff --git a/examamples/components/example_buttons.html b/examamples/components/example_buttons.html index 102dfa5..9a00dbf 100644 --- a/examamples/components/example_buttons.html +++ b/examamples/components/example_buttons.html @@ -15,27 +15,62 @@ Buttons | Neptune examples -

Primary button

+

Default button

+ + + +
+ +
+

Primary button

-

Secondary button

+

Secondary button

-

CTA button

+

CTA button

+
+

Information button

+ + + +
+ +
+

Success button

+ + + +
+ +
+

Warning button

+ + + +
+ +
+

Error button

+ + + +
+
diff --git a/examamples/components/example_progress.html b/examamples/components/example_progress.html new file mode 100644 index 0000000..ba5cba8 --- /dev/null +++ b/examamples/components/example_progress.html @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + Progress bar | Neptune examples + + +

Progress bar

+ +

Colors

+
+

Default bar

+
+
+
+
+ +
+

Primary bar

+
+
+
+
+ +
+

Accent bar

+
+
+
+
+ +
+

Information bar

+
+
+
+
+ +
+

Success bar

+
+
+
+
+ +
+

Warning bar

+
+
+
+
+ +
+

Error bar

+
+
+
+
+ +

Sizes

+
+

Progress bar XS

+
+
+
+
+ +
+

Progress bar S

+
+
+
+
+ +
+

Progress bar M

+
+
+
+
+ +
+

Progress bar L

+
+
+
+
+ +
+

Progress bar L

+
+
+
+
+ + \ No newline at end of file diff --git a/examamples/components/example_toasts.html b/examamples/components/example_toasts.html index bb70818..6be90e7 100644 --- a/examamples/components/example_toasts.html +++ b/examamples/components/example_toasts.html @@ -17,9 +17,8 @@ Toasts | Neptune examples - -

Default toast

+

Default toast

@@ -30,8 +29,8 @@

Default toast

-

Primary toast

+

Primary toast

@@ -42,8 +41,8 @@

Primary toast

-

Accent toast

+

Accent toast

@@ -54,8 +53,8 @@

Accent toast

-

Information toast

+

Information toast

@@ -66,8 +65,8 @@

Information toast

-

Success toast

+

Success toast

@@ -78,8 +77,8 @@

Success toast

-

Warning toast

+

Warning toast

@@ -90,8 +89,8 @@

Warning toast

-

Error toast

+

Error toast

diff --git a/examamples/example_style.css b/examamples/example_style.css index c6f3c62..61d17e3 100644 --- a/examamples/example_style.css +++ b/examamples/example_style.css @@ -4,7 +4,8 @@ } body { - height: 100vh; + min-height: 100vh; + height: auto; display: flex; flex-direction: column; align-items: start; @@ -36,11 +37,18 @@ body { color: hsl(190, 100%, 45%); } -.example-title { +.main-headline { + position: relative; + margin-left: 1rem; + font-size: 44px; + font-weight: 900; +} + +.secondary-headline { position: relative; - margin-top: 1rem; margin-left: 1rem; - margin-bottom: -2rem; + font-size: 36px; + font-weight: 900; } .example-box { @@ -53,7 +61,13 @@ body { width: 100%; max-width: 800px; display: flex; + flex-direction: column; gap: 1rem !important; - align-items: center; + align-items: start; +} +.example-box .example-title { + position: relative; + margin-top: 1rem; + margin-bottom: .5rem; } \ No newline at end of file diff --git a/examamples/example_style.min.css b/examamples/example_style.min.css index 8368e4f..48f817b 100644 --- a/examamples/example_style.min.css +++ b/examamples/example_style.min.css @@ -1 +1 @@ -*{margin:0;padding:0}body{height:100vh;display:flex;flex-direction:column;align-items:start;justify-content:start;gap:1rem;font-family:'Open Sans',sans-serif;background-color:var(--background-light)}.neptuneLogo{position:relative;max-width:35rem;height:auto;display:flex;align-items:center;justify-content:center;gap:1rem}.logoImage{position:relative;height:6rem}.logoText{position:relative;font-family:Poppins,sans-serif;font-size:4rem;color:#00bfe5}.example-title{position:relative;margin-top:1rem;margin-left:1rem;margin-bottom:-2rem}.example-box{position:relative;padding:2rem 1rem;min-height:3rem;height:auto;max-height:60vh;min-width:250px;width:100%;max-width:800px;display:flex;gap:1rem!important;align-items:center} \ No newline at end of file +*{margin:0;padding:0}body{min-height:100vh;height:auto;display:flex;flex-direction:column;align-items:start;justify-content:start;gap:1rem;font-family:'Open Sans',sans-serif;background-color:var(--background-light)}.neptuneLogo{position:relative;max-width:35rem;height:auto;display:flex;align-items:center;justify-content:center;gap:1rem}.logoImage{position:relative;height:6rem}.logoText{position:relative;font-family:Poppins,sans-serif;font-size:4rem;color:#00bfe5}.main-headline{position:relative;margin-left:1rem;font-size:44px;font-weight:900}.secondary-headline{position:relative;margin-left:1rem;font-size:36px;font-weight:900}.example-box{position:relative;padding:2rem 1rem;min-height:3rem;height:auto;max-height:60vh;min-width:250px;width:100%;max-width:800px;display:flex;flex-direction:column;gap:1rem!important;align-items:start}.example-box .example-title{position:relative;margin-top:1rem;margin-bottom:.5rem} \ No newline at end of file diff --git a/examamples/example_template.html b/examamples/example_template.html index 9c5f84a..0d7ab43 100644 --- a/examamples/example_template.html +++ b/examamples/example_template.html @@ -15,9 +15,14 @@ Buttons | Neptune examples -