barbican-reset 1.0.1 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,11 +42,4 @@
42
42
  &:focus {
43
43
  background-color: $background;
44
44
  }
45
- }
46
-
47
- @mixin card-container {
48
- border-radius: $border-radius-lg;
49
- background-color: $white;
50
- padding: $gap-power;
51
- overflow: hidden;
52
45
  }
@@ -22,4 +22,63 @@
22
22
  @mixin set-appearance($value: none) {
23
23
  -webkit-appearance: $value;
24
24
  -moz-appearance: $value;
25
+ }
26
+
27
+ @mixin button(
28
+ $background: $c-brand-orange,
29
+ $focus: $c-brand-orange-dark,
30
+ $gap: 1em) {
31
+
32
+ $color: $white;
33
+ -webkit-font-smoothing: antialiased;
34
+ -moz-osx-font-smoothing: grayscale;
35
+ border-radius: $border-radius-lg;
36
+ background-color: $background;
37
+ padding: $gap ($gap * 1.5);
38
+ text-decoration: none;
39
+ place-items: center;
40
+ text-align: center;
41
+ font-weight: 700;
42
+ transition: none;
43
+ gap: $gap * 0.75;
44
+ cursor: pointer;
45
+ line-height: 1;
46
+ display: flex;
47
+ color: $color;
48
+
49
+ @include focus {
50
+ @include double-box($color, $focus);
51
+ background-color: $focus;
52
+ color: $color;
53
+ }
54
+ }
55
+
56
+ @mixin button_outline(
57
+ $background: $c-brand-orange,
58
+ $focus: $c-brand-orange-dark,
59
+ $gap: 1em) {
60
+
61
+ $color: $white;
62
+ -webkit-font-smoothing: antialiased;
63
+ -moz-osx-font-smoothing: grayscale;
64
+ border-radius: $border-radius-lg;
65
+ border: 1px solid $background;
66
+ padding: $gap ($gap * 1.5);
67
+ background-color: $color;
68
+ text-decoration: none;
69
+ place-items: center;
70
+ text-align: center;
71
+ color: $background;
72
+ font-weight: 700;
73
+ transition: none;
74
+ gap: $gap * 0.75;
75
+ cursor: pointer;
76
+ line-height: 1;
77
+ display: flex;
78
+
79
+ @include focus {
80
+ border: 1px solid $focus;
81
+ background-color: $focus;
82
+ color: $color;
83
+ }
25
84
  }
@@ -1,6 +1,5 @@
1
1
  // paths more explicit for gulp-sass
2
2
  @import "~bourbon/core/bourbon.scss";
3
- @import "buttons.scss";
4
3
  @import "content.scss";
5
4
  @import "core.scss";
6
5
  @import "focus.scss";
@@ -4,12 +4,12 @@ $c-list-btn-default: $white, $c-grey-night, $white;
4
4
  $c-list-btn-primary: $white, $c-brand-orange, null, null, $c-brand-orange-dark;
5
5
  $c-list-btn-primary-alt: $white, $c-status-neutral;
6
6
  $c-list-btn-secondary: $c-brand-orange, $white, $c-brand-orange, $c-brand-orange-dark, $c-brand-orange-light, $c-brand-orange-dark;
7
- $c-list-secondary_outline: $c-brand-orange, $white, $c-brand-orange, $white, $c-brand-orange;
7
+ $c-list-btn-secondary-alt: $c-brand-orange, $white, $c-brand-orange, $white, $c-brand-orange;
8
8
  $c-list-btn-outline: $c-grey-night, $c-grey-alpine, $c-grey-night, $c-grey-alpine, $c-grey-night;
9
9
  $c-list-btn-light: $c-grey-night, $white;
10
10
 
11
- $c-list-btn-cinema: $white, $c-brand-cinema, null, null, $c-brand-cinema-dark;
12
- $c-list-btn-outline-cinema: $c-brand-cinema, $white, $c-brand-cinema, $c-brand-cinema-dark, $c-status-success-fade, $c-brand-cinema-dark;
11
+ $c-list-btn-primary-cinema: $white, $c-brand-cinema, null, null, $c-brand-cinema-dark;
12
+ $c-list-btn-secondary-cinema: $c-brand-cinema, $white, $c-brand-cinema, $c-brand-cinema-dark, $c-status-success-fade, $c-brand-cinema-dark;
13
13
 
14
14
  $c-list-btn-primary-power: $white, $c-power-blue, null, null, $c-power-blue-dark;
15
15
 
@@ -6,13 +6,10 @@ $constrained_content_width--wide: 1200px;
6
6
  $space: 0.625rem;
7
7
  // Default large amount of space.
8
8
  $space--large: $space * 3;
9
- $border-radius-lg: 0.375rem;
10
-
11
- // Basket layout
12
- $gap-basket: 0.625rem;
9
+ // Default gap value for use in CSS grid.
10
+ $grid-gap: $space;
13
11
 
14
- // Seat Selection
15
- $gap-instance: 1.5rem;
12
+ $border-radius-lg: 0.375rem;
16
13
 
17
14
  // Account Area
18
15
  $gap-account: 2rem;
package/index.js CHANGED
@@ -2,17 +2,16 @@ import LoadingAnimation from './vue/LoadingAnimation'
2
2
  import Notification from './vue/Notification'
3
3
  import RelatedTitle from './vue/RelatedTitle'
4
4
  import TypeText from './vue/TypeText'
5
+ import Container from './vue/Container'
5
6
  import Wrap from './vue/Wrap'
7
+ import Card from './vue/Card'
6
8
  import Carousel from './vue/Carousel'
9
+ import Banner from './vue/Banner'
7
10
  import AccountCard from './vue/Account/Card'
8
11
  import AccountTitle from './vue/Account/Title'
9
12
  import Placeholder from './vue/Placeholder'
10
13
  import LoginForm from './vue/Login/Form'
11
14
  import FormRow from './vue/form_row'
12
- import Container from './vue/container'
13
- import EventSummary from './vue/event_summary'
14
- import Card from './vue/card'
15
- import Block from './vue/block'
16
15
 
17
16
  export {
18
17
  LoadingAnimation,
@@ -23,11 +22,10 @@ export {
23
22
  Wrap,
24
23
  Card,
25
24
  Carousel,
25
+ Banner,
26
26
  AccountCard,
27
27
  AccountTitle,
28
28
  Placeholder,
29
29
  LoginForm,
30
- FormRow,
31
- EventSummary,
32
- Block
30
+ FormRow
33
31
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barbican-reset",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "description": "A collection of useful scss imports and js scripts, that provide consistent styling and functionality across barbican projects.",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/scss/.DS_Store ADDED
Binary file
package/scss/_atomic.scss CHANGED
@@ -5,8 +5,4 @@
5
5
 
6
6
  .margin-top-2 {
7
7
  margin-top: 2rem;
8
- }
9
-
10
- .margin-bottom-1 {
11
- margin-bottom: 1rem;
12
8
  }
@@ -1,11 +1,12 @@
1
1
 
2
2
  .checkbox-group {
3
- row-gap: 0.5rem;
4
- display: grid;
5
3
 
6
4
  .custom-control {
7
5
  position: relative;
8
- display: grid;
6
+
7
+ &:not(:last-of-type) {
8
+ margin-bottom: 0.5rem;
9
+ }
9
10
 
10
11
  input[type=checkbox] {
11
12
  $size: 0.875rem;
@@ -14,37 +15,47 @@
14
15
  height: $size;
15
16
  margin: auto;
16
17
  width: $size;
17
- bottom: 0;
18
- top: 0;
19
18
  right: auto;
19
+ z-index: 3;
20
20
  left: 1rem;
21
+ bottom: 0;
22
+ top: 0;
21
23
 
22
24
  @mixin focus_colors {
23
- border: 1px solid $c-status-neutral-light;
24
25
  background-color: $c-status-neutral-fade;
26
+ border: 1px solid $c-status-neutral;
25
27
  color: $c-status-neutral;
26
28
  }
27
29
 
28
- @include focus {
29
- z-index: 3;
30
+ &:hover, &[data-focus-visible-added] {
31
+ &:focus {
32
+ box-shadow: none;
33
+ outline: none;
34
+ }
35
+
36
+ ~ label {
37
+ @include single-box($c-grey-steel, 0.0625rem);
38
+ border: 1px solid $c-grey-steel;
39
+ background-color: $c-grey-alpine;
40
+ }
30
41
 
31
- + label {
42
+ &:checked ~ label {
32
43
  @include focus_colors;
33
- @include double-box($white, $c-status-neutral-light, 0.5rem);
44
+ @include single-box($c-status-neutral, 0.0625rem);
34
45
  }
35
46
  }
36
-
37
- &:checked + label {
47
+
48
+ &:checked ~ label {
38
49
  @include focus_colors;
39
50
  }
40
51
  }
41
52
 
42
53
  label {
54
+ padding: 0.875rem 0.75rem 0.625rem 2.5rem;
55
+ border: 1px solid $c-grey-concrete;
43
56
  border-radius: $border-radius-lg;
44
- padding: 14px 12px 10px 40px;
45
- border: 1px solid #b8b8b8;
46
57
  background-color: $white;
47
- color: #4d4d4d;
58
+ color: $c-grey-night;
48
59
  cursor: pointer;
49
60
  }
50
61
  }
@@ -53,25 +64,21 @@
53
64
  @each $status, $color in $statees {
54
65
  @if $status != 'neutral' {
55
66
  .checkbox-group.#{$status} {
56
- .custom-control {
57
- input[type=checkbox] {
58
- @include focus {
59
- z-index: 3;
60
-
61
- + label {
62
- @include double-box($white, map-get($color, light), 0.5rem);
63
- border: 1px solid map-get($color, light);
64
- background-color: map-get($color, fade);
65
- color: map-get($color, base);
66
- }
67
- }
68
-
69
- &:checked + label {
70
- border: 1px solid map-get($color, light);
67
+ input[type=checkbox] {
68
+ &:hover, &[data-focus-visible-added] {
69
+ &:checked ~ label {
70
+ @include single-box(map-get($color, base), 0.0625rem);
71
+ border: 1px solid map-get($color, base);
71
72
  background-color: map-get($color, fade);
72
73
  color: map-get($color, base);
73
74
  }
74
- }
75
+ }
76
+
77
+ &:checked ~ label {
78
+ border: 1px solid map-get($color, base);
79
+ background-color: map-get($color, fade);
80
+ color: map-get($color, base);
81
+ }
75
82
  }
76
83
  }
77
84
  }
@@ -10,37 +10,46 @@
10
10
  height: $size;
11
11
  margin: auto;
12
12
  width: $size;
13
- bottom: 0;
14
- top: 0;
15
13
  right: auto;
14
+ z-index: 3;
16
15
  left: 1rem;
16
+ bottom: 0;
17
+ top: 0;
17
18
 
18
19
  @mixin focus_colors {
19
- border: 1px solid $c-status-neutral-light;
20
20
  background-color: $c-status-neutral-fade;
21
+ border: 1px solid $c-status-neutral;
21
22
  color: $c-status-neutral;
22
23
  }
23
24
 
24
- @include focus {
25
- z-index: 3;
26
-
27
- + label {
25
+ &:hover, &[data-focus-visible-added] {
26
+ &:focus {
27
+ box-shadow: none;
28
+ outline: none;
29
+ }
30
+
31
+ ~ label {
32
+ @include single-box($c-grey-steel, 0.0625rem);
33
+ border: 1px solid $c-grey-steel;
34
+ background-color: $c-grey-alpine;
35
+ }
36
+ &:checked ~ label {
28
37
  @include focus_colors;
29
- @include double-box($white, $c-status-neutral-light, 0.5rem);
38
+ @include single-box($c-status-neutral, 0.0625rem);
30
39
  }
31
40
  }
32
41
 
33
- &:checked + label {
42
+ &:checked ~ label {
34
43
  @include focus_colors;
35
44
  }
36
45
  }
37
46
 
38
47
  label {
48
+ padding: 0.875rem 0.75rem 0.625rem 2.5rem;
49
+ border: 1px solid $c-grey-concrete;
39
50
  border-radius: $border-radius-lg;
40
- padding: 14px 12px 10px 40px;
41
- border: 1px solid #b8b8b8;
42
51
  background-color: $white;
43
- color: #4d4d4d;
52
+ color: $c-grey-night;
44
53
  cursor: pointer;
45
54
  }
46
55
  }
@@ -49,23 +58,21 @@
49
58
  @if $status != 'neutral' {
50
59
  .checkbox.#{$status} {
51
60
  input[type=checkbox] {
52
- @include focus {
53
- z-index: 3;
54
-
55
- + label {
56
- @include double-box($white, map-get($color, light), 0.5rem);
57
- border: 1px solid map-get($color, light);
61
+ &:hover, &[data-focus-visible-added] {
62
+ &:checked ~ label {
63
+ @include single-box(map-get($color, base), 0.0625rem);
64
+ border: 1px solid map-get($color, base);
58
65
  background-color: map-get($color, fade);
59
66
  color: map-get($color, base);
60
67
  }
61
68
  }
69
+
70
+ &:checked ~ label {
71
+ border: 1px solid map-get($color, base);
72
+ background-color: map-get($color, fade);
73
+ color: map-get($color, base);
74
+ }
62
75
  }
63
-
64
- &:checked + label {
65
- border: 1px solid map-get($color, light);
66
- background-color: map-get($color, fade);
67
- color: map-get($color, base);
68
- }
69
- }
76
+ }
70
77
  }
71
78
  }
@@ -0,0 +1,10 @@
1
+
2
+ .form-control {
3
+ &:hover, &:focus, &[data-focus-visible-added] {
4
+ outline: none;
5
+
6
+ @include single-box($c-grey-steel, 0.0625rem);
7
+ border: 1px solid $c-grey-steel;
8
+ background-color: $c-grey-alpine;
9
+ }
10
+ }
@@ -0,0 +1,87 @@
1
+
2
+ $margin-radio: 0.25rem;
3
+
4
+ .radio-group {
5
+ margin: -$margin-radio;
6
+ }
7
+
8
+ .custom-radio {
9
+ display: inline-block;
10
+ margin: $margin-radio;
11
+ position: relative;
12
+ padding: 0;
13
+
14
+ input[type=radio] {
15
+ $size: 0.875rem;
16
+ position: absolute;
17
+ cursor: pointer;
18
+ height: $size;
19
+ margin: auto;
20
+ width: $size;
21
+ right: auto;
22
+ z-index: 3;
23
+ left: 1rem;
24
+ bottom: 0;
25
+ top: 0;
26
+
27
+ @mixin focus_colors {
28
+ background-color: $c-status-neutral-fade;
29
+ border: 1px solid $c-status-neutral;
30
+ color: $c-status-neutral;
31
+ }
32
+
33
+ &:hover, &[data-focus-visible-added] {
34
+ &:focus {
35
+ box-shadow: none;
36
+ outline: none;
37
+ }
38
+
39
+ ~ label {
40
+ @include single-box($c-grey-steel, 0.0625rem);
41
+ border: 1px solid $c-grey-steel;
42
+ background-color: $c-grey-alpine;
43
+ }
44
+
45
+ &:checked ~ label {
46
+ @include focus_colors;
47
+ @include single-box($c-status-neutral, 0.0625rem);
48
+ }
49
+ }
50
+
51
+ &:checked ~ label {
52
+ @include focus_colors;
53
+ }
54
+ }
55
+
56
+ label {
57
+ padding: 0.75rem 0.75rem 0.625rem 2.75rem;
58
+ border: 1px solid $c-grey-concrete;
59
+ border-radius: $border-radius-lg;
60
+ background-color: $white;
61
+ color: $c-grey-night;
62
+ cursor: pointer;
63
+ }
64
+ }
65
+
66
+ @each $status, $color in $statees {
67
+ @if $status != 'neutral' {
68
+ .radio-group.#{$status} {
69
+ input[type=radio] {
70
+ &:hover, &[data-focus-visible-added] {
71
+ &:checked ~ label {
72
+ @include single-box(map-get($color, base), 0.0625rem);
73
+ border: 1px solid map-get($color, base);
74
+ background-color: map-get($color, fade);
75
+ color: map-get($color, base);
76
+ }
77
+ }
78
+
79
+ &:checked ~ label {
80
+ border: 1px solid map-get($color, base);
81
+ background-color: map-get($color, fade);
82
+ color: map-get($color, base);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
package/scss/index.scss CHANGED
@@ -11,9 +11,10 @@
11
11
  @import "close-icon.scss";
12
12
 
13
13
  // bootstrap component styles
14
- @import "btn.scss";
15
14
  @import "checkbox.scss";
16
15
  @import "checkbox-group.scss";
16
+ @import "radio-group.scss";
17
+ @import "input.scss";
17
18
 
18
19
  // atomic helper styles
19
20
  @import "atomic.scss";
package/vue/.DS_Store CHANGED
Binary file
@@ -0,0 +1,8 @@
1
+
2
+ .outer {
3
+ @include content_masthead;
4
+ }
5
+
6
+ .inner {
7
+ @include content_masthead__inner;
8
+ }
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <div :class="$style.outer">
3
+ <div :class="$style.inner">
4
+ <slot />
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <style src="./banner.scss" lang="scss" module></style>
@@ -0,0 +1,24 @@
1
+
2
+ .container {
3
+ border-radius: $border-radius-lg;
4
+ border: 1px solid $c-grey-pearl;
5
+ background-color: $white;
6
+ align-content: start;
7
+ overflow: hidden;
8
+ padding: 1.25rem;
9
+ display: grid;
10
+ gap: 1.25rem;
11
+ }
12
+
13
+ .container.wrap {
14
+ background-color: $gray-100;
15
+ }
16
+
17
+ .container.account {
18
+ padding: $gap-account;
19
+ display: block;
20
+
21
+ &:not(:last-of-type) {
22
+ margin-bottom: $gap-account;
23
+ }
24
+ }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div :class="styleContainer">
3
- <slot />
3
+ <slot></slot>
4
4
  </div>
5
5
  </template>
6
6
 
@@ -31,29 +31,4 @@ export default {
31
31
  }
32
32
  </script>
33
33
 
34
- <style lang="scss" module>
35
-
36
- @import "../helpers/mixins";
37
-
38
- .container {
39
- @include card-container;
40
- border: 1px solid $c-grey-pearl;
41
- align-content: start;
42
- display: grid;
43
- gap: 1.25rem;
44
- }
45
-
46
- .container.wrap {
47
- background-color: $gray-100;
48
- }
49
-
50
- .container.account {
51
- padding: $gap-account;
52
- display: block;
53
-
54
- &:not(:last-of-type) {
55
- margin-bottom: $gap-account;
56
- }
57
- }
58
-
59
- </style>
34
+ <style src="./card.scss" lang="scss" module></style>
@@ -0,0 +1,20 @@
1
+
2
+ .outer {
3
+ padding-right: 5%;
4
+ padding-left: 5%;
5
+ }
6
+
7
+ .outer_splash {
8
+ padding-right: 10%;
9
+ padding-left: 10%;
10
+ }
11
+
12
+ .inner {
13
+ max-width: $constrained_content_width--wide;
14
+ padding: 1.5rem 0;
15
+ margin: 0 auto;
16
+
17
+ @include media-breakpoint-up(sm) {
18
+ padding: 2.5rem 0;
19
+ }
20
+ }
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <div :class="styleOuter">
3
+ <div :class="$style.inner">
4
+ <slot />
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ props: {
12
+ splash : {
13
+ type: Boolean,
14
+ default: false
15
+ }
16
+ },
17
+ computed: {
18
+ styleOuter() {
19
+ return this.splash ? this.$style.outer_splash : this.$style.outer;
20
+ }
21
+ }
22
+ }
23
+ </script>
24
+
25
+ <style src="./container.scss" lang="scss" module></style>
@@ -10,14 +10,18 @@
10
10
  }
11
11
  }
12
12
 
13
- .btn-link {
13
+ .btn-link, a {
14
14
  @include status_focus;
15
15
  }
16
16
 
17
- .error .btn-link {
18
- @include status_focus($c-status-error, $c-status-error-fade);
17
+ .error {
18
+ .btn-link, a {
19
+ @include status_focus($c-status-error, $c-status-error-fade);
20
+ }
19
21
  }
20
22
 
21
- .success .btn-link {
22
- @include status_focus($c-status-success, $c-status-success-fade);
23
+ .success {
24
+ .btn-link, a {
25
+ @include status_focus($c-status-success, $c-status-success-fade);
26
+ }
23
27
  }
package/vue/form_row.vue CHANGED
@@ -1,6 +1,8 @@
1
1
  <template>
2
2
  <div :class="$style.container">
3
- <label v-if="label" :for="id">{{ label }}</label>
3
+ <label v-if="label" :for="id">
4
+ <strong>{{ label }}</strong> <span v-if="label && required">(required)</span><span v-if="label && optional">(optional)</span>
5
+ </label>
4
6
  <div :class="styleContent">
5
7
  <slot />
6
8
  </div>
@@ -17,6 +19,12 @@
17
19
  id: {
18
20
  type: String
19
21
  },
22
+ required: {
23
+ type: Boolean
24
+ },
25
+ optional: {
26
+ type: Boolean
27
+ }
20
28
  },
21
29
  computed: {
22
30
  styleContent() {
@@ -29,9 +37,9 @@
29
37
  <style lang="scss" module>
30
38
 
31
39
  .container {
40
+ gap: $gap-account;
32
41
  display: grid;
33
- gap: 0.5rem;
34
-
42
+
35
43
  &:not(:last-of-type) {
36
44
  margin-bottom: 1rem;
37
45
  }
@@ -41,6 +49,10 @@
41
49
  align-items: center;
42
50
  }
43
51
 
52
+ label {
53
+ font-weight: normal;
54
+ }
55
+
44
56
  input {
45
57
  margin: 0;
46
58
  }
@@ -1,187 +0,0 @@
1
- ////
2
- /// @group buttons
3
- ////
4
-
5
- /// Set button colours.
6
- /// @param {color} $text - Text colour
7
- /// @param {color} $bg - Background colour
8
- /// @param {color} $border [null] - Border colour
9
- /// @param {color} $text-hover [$text] - Text hover colour
10
- /// @param {color} $bg-hover [darken($bg, 10%)] - Background hover colour
11
- /// @output `color`, `background-color` plus `:active`, `:visited`, `:hover` & `:focus` pseudo-classes.
12
-
13
- @mixin button_setup($gap: 1em) {
14
- -webkit-font-smoothing: antialiased;
15
- -moz-osx-font-smoothing: grayscale;
16
- border-radius: $border-radius-lg;
17
- padding: $gap ($gap * 1.5);
18
- text-decoration: none;
19
- display: inline-flex;
20
- place-items: center;
21
- text-align: center;
22
- gap: $gap * 0.75;
23
- font-weight: 700;
24
- transition: none;
25
- cursor: pointer;
26
- line-height: 1;
27
- }
28
-
29
- @mixin button_solid(
30
- $background: $c-brand-orange,
31
- $color: $white,
32
- $gap: 1em) {
33
- @include button_setup($gap);
34
- border: 1px solid $background;
35
- background-color: $background;
36
- color: $color;
37
-
38
- @include focus {
39
- @include double-box($color, $background);
40
- border: 1px solid $background;
41
- background-color: $background;
42
- color: $color;
43
- }
44
- }
45
-
46
- @mixin button_outline(
47
- $background: $c-brand-orange,
48
- $color: $white,
49
- $gap: 1em) {
50
- @include button_setup($gap);
51
- border: 1px solid $background;
52
- background-color: $color;
53
- color: $background;
54
-
55
- @include focus {
56
- border: 1px solid $background;
57
- background-color: $background;
58
- color: $color;
59
- }
60
- }
61
-
62
- @mixin btn-colors(
63
- $text,
64
- $bg,
65
- $border: null,
66
- $text-hover: $text,
67
- $bg-hover: darken($bg, 7%),
68
- $border-hover: $border
69
- ) {
70
- @if ($border != null) {
71
- border-color: $border;
72
- }
73
-
74
- path {
75
- fill: $text;
76
- }
77
-
78
- &,
79
- &:active,
80
- &:visited {
81
- background-color: $bg;
82
- color: $text;
83
- }
84
-
85
- &:hover,
86
- &:focus {
87
- background-color: $bg-hover;
88
- border-color: $border-hover;
89
- color: $text-hover;
90
- box-shadow: none;
91
- outline: none;
92
-
93
- path {
94
- fill: $text-hover;
95
- }
96
- }
97
- }
98
-
99
- /// Base button styles.
100
- @mixin btn-base {
101
- @include btn-colors($c-list-btn-default...);
102
- @include font-smoothing(on);
103
- transition: background 0.15s ease-out;
104
- border-radius: $border-radius;
105
- line-height: $line-height-lg;
106
- font-size: $font-size-base;
107
- display: inline-block;
108
- font-family: inherit;
109
- border-style: solid;
110
- padding: 0.75em 1em;
111
- text-align: center;
112
- overflow: visible;
113
- font-weight: bold;
114
- border-width: 0;
115
- cursor: pointer;
116
- margin: 0;
117
-
118
- svg {
119
- vertical-align: middle;
120
- }
121
-
122
- &,
123
- &:hover,
124
- &:active,
125
- &:focus,
126
- &:visited {
127
- text-decoration: none;
128
- }
129
- }
130
-
131
- // Style variants
132
- // (use in addition to btn-base)
133
-
134
- /// Add a visible border to a button.
135
- /// @param {string} $border-width [1px] - Border width in px
136
- /// @param {string} $padding-v [12px] - Vertical padding in px
137
- /// @param {string} $padding-h [16px] - Horizontal padding in px
138
-
139
- @mixin btn-border($border-width: 1px, $padding-v: 12px, $padding-h: 16px) {
140
- padding: $padding-v - $border-width $padding-h - $border-width;
141
- border-width: $border-width;
142
- transition: none;
143
-
144
- &:focus {
145
- box-shadow: none;
146
- }
147
- }
148
-
149
- @mixin btn-primary {
150
- @include button_solid;
151
- }
152
-
153
- @mixin btn-outline-primary {
154
- @include button_outline;
155
- }
156
-
157
- @mixin btn-secondary {
158
- @include button_solid($c-grey-night);
159
- }
160
-
161
- @mixin btn-outline-secondary {
162
- @include button_outline($c-grey-night);
163
- }
164
-
165
- @mixin btn-cinema {
166
- @include button_solid($c-brand-cinema);
167
- }
168
-
169
- @mixin btn-power {
170
- @include button_solid($c-power-blue);
171
- }
172
-
173
- @mixin btn-info {
174
- @include button_solid($c-status-neutral);
175
- }
176
-
177
- @mixin btn-outline-cinema {
178
- @include button_outline($c-brand-cinema);
179
- }
180
-
181
- @mixin btn-expand {
182
- display: block;
183
- }
184
-
185
- @mixin btn-slim {
186
- padding: 0.5rem 0.75rem;
187
- }
package/scss/_btn.scss DELETED
@@ -1,36 +0,0 @@
1
- .btn {
2
- @include button_setup;
3
-
4
- &.btn-primary {
5
- // solid orange
6
- @include btn-primary;
7
- }
8
-
9
- &.btn-outline-primary {
10
- // orange outline, fill on focus
11
- @include btn-outline-primary;
12
- }
13
-
14
- &.btn-info {
15
- // solid blue
16
- @include btn-info;
17
- }
18
-
19
- &.btn-secondary {
20
- // solid grey
21
- @include btn-secondary;
22
- }
23
-
24
- &.btn-outline-secondary {
25
- // grey outline, fill on focus
26
- @include btn-outline-secondary;
27
- }
28
-
29
- // button modifyers
30
- &.expand {
31
- @include btn-expand;
32
- }
33
- &.slim {
34
- @include btn-slim;
35
- }
36
- }
package/vue/block.vue DELETED
@@ -1,30 +0,0 @@
1
- <template>
2
- <div :class="styleContainer">
3
- <slot />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- computed: {
10
- styleContainer() {
11
- return this.$style.container;
12
- }
13
- }
14
- }
15
- </script>
16
-
17
- <style lang="scss" module>
18
-
19
- @import "../helpers/mixins";
20
-
21
- .container {
22
- @include card-container;
23
- box-shadow: 0 0 0.625rem rgba($black, 0.1);
24
-
25
- &:not(:last-of-type) {
26
- margin-bottom: $gap-basket;
27
- }
28
- }
29
-
30
- </style>
package/vue/container.vue DELETED
@@ -1,84 +0,0 @@
1
- <template>
2
- <div :class="styleOuter">
3
- <div :class="styleInner">
4
- <slot />
5
- </div>
6
- </div>
7
- </template>
8
-
9
- <script>
10
- export default {
11
- props: {
12
- splash: {
13
- type: Boolean,
14
- default: false
15
- },
16
- masthead: {
17
- type: Boolean,
18
- default: false
19
- }
20
- },
21
- computed: {
22
- styleOuter() {
23
- if (this.splash) {
24
- return this.$style.outer_splash;
25
- }
26
- if (this.masthead) {
27
- return this.$style.outer_masthead;
28
- }
29
- return this.$style.outer;
30
- },
31
- styleInner() {
32
- if (this.masthead) {
33
- return this.$style.inner_masthead;
34
- }
35
- return this.$style.inner;
36
- }
37
- }
38
- }
39
- </script>
40
-
41
- <style lang="scss" module>
42
-
43
- .outer {
44
- padding-right: 5%;
45
- padding-left: 5%;
46
- }
47
-
48
- .outer_splash {
49
- padding-right: 10%;
50
- padding-left: 10%;
51
- }
52
-
53
- .outer_masthead {
54
- composes: outer;
55
- box-shadow: 0 0.375rem 0.375rem rgba($black, 0.1);
56
- background-color: $white;
57
- }
58
-
59
- .inner {
60
- max-width: $constrained_content_width--wide;
61
- padding-bottom: 1.5rem;
62
- padding-top: 1.5rem;
63
- margin: 0 auto;
64
-
65
- @include media-breakpoint-up(sm) {
66
- padding-bottom: 2.5rem;
67
- padding-top: 2.5rem;
68
- }
69
- }
70
-
71
- .inner_masthead {
72
- composes: inner;
73
-
74
- @include media-breakpoint-up(sm) {
75
- padding-bottom: 3rem;
76
- padding-top: 3rem;
77
- }
78
-
79
- h1 {
80
- margin: 0;
81
- }
82
- }
83
-
84
- </style>
@@ -1,109 +0,0 @@
1
- <template>
2
- <div :class="$style.container">
3
- <img :class="styleImage" v-bind:src="data.image" alt="" />
4
- <div>
5
- <div :class="$style.title">{{ data.title }}</div>
6
- <div :class="$style.date_time">{{ data.date_formatted }}</div>
7
- <div :class="$style.venue">{{ data.venue }}</div>
8
- <router-link v-if="data.socially_distanced" :to="{ name: 'chooseSeats', params: { instanceIdShort: data.id_short } }" class="btn btn-outline-primary margin-top-1">
9
- Update seat selection
10
- </router-link>
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script type="text/javascript">
16
- export default {
17
- name: "EventSummary",
18
- props: {
19
- data: {
20
- type: Object,
21
- required: true
22
- },
23
- basket: {
24
- type: Boolean,
25
- default: false
26
- }
27
- },
28
- computed: {
29
- styleImage() {
30
- return this.basket ? this.$style.basket_image : this.$style.seats_image;
31
- }
32
- }
33
- };
34
- </script>
35
-
36
- <style lang="scss" module>
37
-
38
- @mixin title {
39
- letter-spacing: $headings-letter-spacing;
40
- line-height: $line-height-sm;
41
- }
42
-
43
- @mixin subtitle {
44
- @include title;
45
- font-size: $h5-font-size;
46
- color: $c-text-secondary;
47
- font-weight: normal;
48
-
49
- @include media-breakpoint-up(md) {
50
- font-size: $h4-font-size;
51
- }
52
- }
53
-
54
- .container {
55
- @include media-breakpoint-up(md) {
56
- align-items: flex-start;
57
- display: flex;
58
- }
59
- }
60
-
61
- .image {
62
- border: 1px solid $c-border-faint;
63
- border-radius: $border-radius-lg;
64
- max-width: 24rem;
65
- width: 100%;
66
-
67
- @include media-breakpoint-down(md) {
68
- margin-bottom: $gap-instance;
69
- }
70
-
71
- @include media-breakpoint-up(md) {
72
- margin-right: $gap-instance;
73
- width: 50%;
74
- }
75
- }
76
-
77
- .seats_image {
78
- composes: image;
79
-
80
- @include media-breakpoint-up(md) {
81
- max-width: 20rem;
82
- }
83
- }
84
-
85
- .basket_image {
86
- composes: image;
87
-
88
- @include media-breakpoint-up(md) {
89
- max-width: 16rem;
90
- }
91
- }
92
-
93
- .title {
94
- @include title;
95
- font-weight: $headings-font-weight;
96
- font-size: $h2-font-size;
97
- margin-bottom: 0.75rem;
98
- }
99
-
100
- .date_time {
101
- @include subtitle;
102
- margin-bottom: 0.25rem;
103
- }
104
-
105
- .venue {
106
- @include subtitle;
107
- }
108
-
109
- </style>