barbican-reset 3.22.0 → 3.23.0

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.
Files changed (38) hide show
  1. package/components/BrButton copy.vue +112 -0
  2. package/components/BrButton.vue +101 -88
  3. package/components/BrCard.vue +39 -38
  4. package/components/BrCardTearoff.vue +11 -0
  5. package/components/BrDetails.vue +4 -20
  6. package/components/BrLink.vue +22 -0
  7. package/components/BrWrap.vue +14 -2
  8. package/icons/back_arrow.vue +9 -1
  9. package/index.js +2 -0
  10. package/package.json +1 -1
  11. package/scripts/helpers/formatKebabCase.js +1 -1
  12. package/scss/_atomic.scss +16 -1
  13. package/scss/_br-button.scss +26 -2
  14. package/scss/{card/index.scss → _br-card.scss} +13 -11
  15. package/scss/_br-wrap.scss +9 -0
  16. package/scss/_variables.scss +6 -6
  17. package/scss/atomic/_max-widths.scss +29 -0
  18. package/scss/index.scss +1 -2
  19. package/scss/mixins/_br-card.scss +26 -1
  20. package/scss/mixins/_br-form-row.scss +1 -1
  21. package/scss/mixins/_buttons.scss +1 -0
  22. package/scss/mixins/_core.scss +1 -1
  23. package/scss/mixins/buttons/_custom.scss +13 -16
  24. package/scss/mixins/buttons/_setup.scss +10 -48
  25. package/scss/mixins/buttons/_slim.scss +3 -0
  26. package/scss/mixins/buttons/custom/_add-to-wallet.scss +12 -0
  27. package/scss/mixins/buttons/custom/_invisible.scss +10 -0
  28. package/scss/mixins/buttons/custom/_manage-order.scss +11 -0
  29. package/scss/mixins/buttons/custom/_navcard.scss +32 -0
  30. package/scss/mixins/buttons/custom/_outline-alert-neutral.scss +10 -0
  31. package/scss/mixins/buttons/custom/_renew-membership.scss +4 -5
  32. package/scss/mixins/buttons/custom/_summary.scss +19 -0
  33. package/scss/mixins/card/_inline.scss +0 -1
  34. package/scss/{card → mixins/card}/_membership.scss +31 -21
  35. package/scss/mixins/card/_navitem.scss +10 -2
  36. package/scss/mixins/card/_qrcode.scss +21 -0
  37. package/scss/_card-deck.scss +0 -26
  38. package/scss/mixins/buttons/custom/_see-tickets-info.scss +0 -18
@@ -1,14 +1,4 @@
1
- @use "../mixins/br-card" as *;
2
-
3
- @use "block";
4
- @use "confirm";
5
- @use "login";
6
- @use "membership";
7
- @use "membership-new";
8
- @use "password";
9
- @use "related";
10
- @use "slim";
11
- @use "video-help";
1
+ @use "mixins/br-card" as *;
12
2
 
13
3
  .br-card {
14
4
  @include br-card;
@@ -26,6 +16,10 @@
26
16
  @include br-card-subtitle;
27
17
  }
28
18
 
19
+ .br-card-subtitle+.br-card-subtitle {
20
+ margin-top: var(--margin-xs);
21
+ }
22
+
29
23
  .br-card-body {
30
24
  @include br-card-body;
31
25
  }
@@ -36,4 +30,12 @@
36
30
 
37
31
  .br-card-footer {
38
32
  @include br-card-footer;
33
+ }
34
+
35
+ .br-card-tearoff {
36
+ @include br-card-tearoff;
37
+ }
38
+
39
+ .br-card-text {
40
+ @include br-card-text;
39
41
  }
@@ -14,4 +14,13 @@
14
14
  grid-template-columns: repeat(2, 1fr);
15
15
  gap: var(--gap-lg);
16
16
  }
17
+ }
18
+
19
+ .br-wrap.cluster {
20
+ margin: var(--margin-wrap-xs);
21
+ }
22
+
23
+ .br-wrap.cluster>* {
24
+ margin: var(--margin-xs);
25
+ vertical-align: middle;
17
26
  }
@@ -140,7 +140,7 @@
140
140
  --font-size-h1: 2.25rem;
141
141
  --font-size-h2: 2rem;
142
142
  --font-size-h3: 1.75rem;
143
- --font-size-h4: 1.5rem;
143
+ --font-size-h4: 1.375rem;
144
144
  --font-size-h5: 1.25rem;
145
145
  --font-size-h6: 1rem;
146
146
  --font-size-sm: 0.875rem;
@@ -153,16 +153,16 @@
153
153
  --line-height-sm: 1.15;
154
154
  --line-height-md: 1.35;
155
155
  --line-height-button-menu: 2.375rem;
156
- --margin-xs: 0.25rem;
156
+ --margin-xs: 0.3125rem;
157
157
  --margin-sm: 0.5rem;
158
158
  --margin-md: 0.75rem;
159
159
  --margin-lg: 1rem;
160
160
  --margin-xl: 1.5rem;
161
161
  --margin-xxl: 2rem;
162
162
  --margin-xxxl: 2.5rem;
163
- --margin-wrap-sm: calc(var(--margin-xs) * -1);
164
- --margin-wrap-md: calc(var(--margin-sm) * -1);
165
- --margin-wrap-lg: calc(var(--margin-md) * -1);
163
+ --margin-wrap-xs: calc(var(--margin-xs) * -1);
164
+ --margin-wrap-sm: calc(var(--margin-sm) * -1);
165
+ --margin-wrap-md: calc(var(--margin-md) * -1);
166
166
  --min-height-button: 2.5rem;
167
167
  --min-height-iframe-sm: 27.5rem;
168
168
  --min-height-iframe-lg: 36.875rem;
@@ -189,7 +189,7 @@
189
189
  --width-layout-sm: 50rem;
190
190
  --width-layout-md: 60rem;
191
191
  --width-layout-lg: 75rem;
192
- --width-qr: 6.25rem;
192
+ --width-qrcode: 9.5rem;
193
193
  }
194
194
 
195
195
  /// @deprecated $br-input-border-color => var(--color-black-25-lighten);
@@ -0,0 +1,29 @@
1
+ $iterations: (
2
+ "0": 0,
3
+ "0-5": 0.5,
4
+ "1": 1,
5
+ "1-5": 1.5,
6
+ "2": 2,
7
+ "2-5": 2.5,
8
+ "3": 3,
9
+ "3-5": 3.5,
10
+ "4": 4,
11
+ "4-5": 4.5,
12
+ "5": 5,
13
+ "5-5": 5.5,
14
+ "6": 6,
15
+ "6-5": 6.5,
16
+ "7": 7,
17
+ "7-5": 7.5,
18
+ "8": 8,
19
+ "8-5": 8.5,
20
+ "9": 9,
21
+ "9-5": 9.5,
22
+ "10": 10,
23
+ );
24
+
25
+ @each $name, $value in $iterations {
26
+ .max-width-#{$name} {
27
+ max-width: #{$value}rem;
28
+ }
29
+ }
package/scss/index.scss CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  @use "br-alert";
5
5
  @use "br-button";
6
+ @use "br-card";
6
7
  @use "br-container";
7
8
  @use "br-footer";
8
9
  @use "br-form-checkbox";
@@ -22,8 +23,6 @@
22
23
  @use "br-table-header";
23
24
  @use "br-wrap";
24
25
 
25
- @use "card";
26
- @use "card-deck";
27
26
  @use "city-of-london";
28
27
  @use "close-icon";
29
28
  @use "form";
@@ -5,6 +5,8 @@
5
5
  @use "card/navlink" as *;
6
6
  @use "card/navitem" as *;
7
7
  @use "card/ticket" as *;
8
+ @use "card/membership" as *;
9
+ @use "card/qrcode" as *;
8
10
 
9
11
  @mixin br-card {
10
12
  border-color: var(--color-black-25-lighten);
@@ -38,6 +40,14 @@
38
40
  @include br-card--ticket;
39
41
  }
40
42
 
43
+ &.membership {
44
+ @include br-card--membership;
45
+ }
46
+
47
+ &.qrcode {
48
+ @include br-card--qrcode;
49
+ }
50
+
41
51
  iframe {
42
52
  min-height: var(--min-height-iframe-lg);
43
53
 
@@ -72,7 +82,11 @@
72
82
  }
73
83
 
74
84
  @mixin br-card-subtitle {
75
- font-size: var(--font-size-h6);
85
+ font-size: var(--font-size-h5);
86
+
87
+ @include medium-up {
88
+ font-size: var(--font-size-h4);
89
+ }
76
90
  }
77
91
 
78
92
  @mixin br-card-body {
@@ -110,4 +124,15 @@
110
124
  .br-card-body {
111
125
  @include br-card-body;
112
126
  }
127
+ }
128
+
129
+ @mixin br-card-tearoff {
130
+ border-top-color: var(--color-black-25-lighten);
131
+ border-top-width: var(--border-width-sm);
132
+ border-top-style: dashed;
133
+ }
134
+
135
+ @mixin br-card-text {
136
+ text-overflow: ellipsis;
137
+ overflow: hidden;
113
138
  }
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .content.radios {
38
- margin: var(--margin-wrap-sm);
38
+ margin: var(--margin-wrap-xs);
39
39
  }
40
40
 
41
41
  .content>fieldset {
@@ -1,5 +1,6 @@
1
1
  @forward "buttons/setup";
2
2
  @forward "buttons/outline";
3
3
  @forward "buttons/solid";
4
+ @forward "buttons/slim";
4
5
  @forward "buttons/custom";
5
6
  @forward "buttons/spektrix";
@@ -8,7 +8,7 @@
8
8
  @include inline-block;
9
9
 
10
10
  & {
11
- margin-right: var(--margin-wrap-sm);
11
+ margin-right: var(--margin-wrap-xs);
12
12
  height: 100%;
13
13
  content: "";
14
14
  }
@@ -1,22 +1,30 @@
1
1
  @use "../../mixins/focus" as *;
2
2
  @use "../../mixins/core" as *;
3
3
  @use "../../mixins/breakpoints" as *;
4
- @use "../../mixins/buttons/solid" as *;
5
- @use "../../mixins/buttons/outline" as *;
6
- @use "../../mixins/buttons/setup" as *;
7
4
  @use "../../functions" as *;
5
+
6
+ @use "outline" as *;
7
+ @use "setup" as *;
8
+ @use "slim" as *;
9
+ @use "solid" as *;
10
+
8
11
  @use "custom/outline-primary" as *;
9
12
  @use "custom/outline-secondary" as *;
10
13
  @use "custom/primary" as *;
11
14
  @use "custom/secondary" as *;
12
15
 
16
+ @forward "custom/add-to-wallet";
13
17
  @forward "custom/exit-overlay";
18
+ @forward "custom/invisible";
19
+ @forward "custom/manage-order";
20
+ @forward "custom/navcard";
21
+ @forward "custom/outline-alert-neutral";
14
22
  @forward "custom/outline-primary";
15
23
  @forward "custom/outline-secondary";
16
24
  @forward "custom/primary";
17
25
  @forward "custom/renew-membership";
18
26
  @forward "custom/secondary";
19
- @forward "custom/see-tickets-info";
27
+ @forward "custom/summary";
20
28
 
21
29
  @mixin link-button($color: inherit,
22
30
  $background: transparent,
@@ -41,7 +49,7 @@
41
49
  @include solid-button($padding: 0.75em);
42
50
  white-space: nowrap;
43
51
 
44
- @include disabled {
52
+ &:disabled {
45
53
  @include btn-outline-secondary;
46
54
  }
47
55
  }
@@ -239,17 +247,6 @@
239
247
  }
240
248
  }
241
249
 
242
- @mixin btn-invisible {
243
- background-color: transparent;
244
- color: inherit;
245
- border: none;
246
- padding: 0;
247
-
248
- @include focus {
249
- box-shadow: none;
250
- }
251
- }
252
-
253
250
  @mixin btn-membership-pill {
254
251
  @include outline-button(var(--color-black-80-lighten), white);
255
252
 
@@ -1,63 +1,25 @@
1
- @mixin disabled {
2
-
3
- &:disabled,
4
- &.disabled {
5
- @content;
6
- }
7
- }
8
-
9
- @mixin small-button {
10
- padding: var(--padding-sm);
11
- font-size: var(--font-size-sm);
12
- }
13
-
14
- @mixin setup-slim-button {
15
- padding: var(--padding-md);
16
- }
17
-
18
- @mixin setup-large-button {
19
- padding-bottom: var(--padding-lg);
20
- padding-top: var(--padding-lg);
21
- font-size: 1.125rem;
22
- }
23
-
24
1
  @mixin setup-button {
25
2
  border-radius: var(--border-radius-lg);
26
3
  line-height: var(--line-height-xs);
27
- padding: var(--padding-lg);
28
4
  font-size: var(--font-size-body);
5
+ border-color: currentColor;
6
+ padding: var(--padding-lg);
7
+ justify-content: center;
8
+ vertical-align: middle;
29
9
  text-decoration: none;
30
10
  font-family: inherit;
11
+ display: inline-flex;
12
+ border-style: solid;
13
+ align-items: center;
31
14
  text-align: center;
15
+ gap: var(--gap-sm);
32
16
  font-weight: bold;
33
17
  transition: none;
34
18
  cursor: pointer;
35
-
36
- justify-content: center;
37
- display: inline-flex;
38
- align-items: center;
39
- gap: var(--gap-sm);
19
+ color: inherit;
40
20
 
41
21
  &:focus {
42
22
  box-shadow: none;
43
23
  outline: none;
44
24
  }
45
-
46
- &[slim] {
47
- @include setup-slim-button;
48
- }
49
-
50
- &[large] {
51
- @include setup-large-button;
52
- }
53
-
54
- @include disabled {
55
- opacity: 1; // override bootstrap
56
- }
57
- }
58
-
59
- // @mixin flex-button($gap: var(--gap-sm)) {
60
- // display: inline-flex;
61
- // align-items: center;
62
- // gap: $gap;
63
- // }
25
+ }
@@ -0,0 +1,3 @@
1
+ @mixin btn-slim {
2
+ padding: var(--padding-md);
3
+ }
@@ -0,0 +1,12 @@
1
+ @mixin btn-add-to-wallet {
2
+ border-width: var(--border-width-sm);
3
+ color: var(--color-black-80-lighten);
4
+ background-color: transparent;
5
+
6
+ &:hover,
7
+ &:focus {
8
+ background-color: var(--color-black-80-lighten);
9
+ border-color: var(--color-black-80-lighten);
10
+ color: white;
11
+ }
12
+ }
@@ -0,0 +1,10 @@
1
+ @mixin btn-invisible {
2
+ background-color: transparent;
3
+ border: none;
4
+ padding: 0;
5
+
6
+ &:focus,
7
+ &:hover {
8
+ box-shadow: none;
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ @mixin btn-manage-order {
2
+ border-width: var(--border-width-sm);
3
+ background-color: transparent;
4
+
5
+ &:hover,
6
+ &:focus {
7
+ background-color: var(--color-brand-generic-15-lighten);
8
+ border-color: var(--color-brand-generic-90-darken);
9
+ color: var(--color-brand-generic-90-darken);
10
+ }
11
+ }
@@ -0,0 +1,32 @@
1
+ @use "../slim" as *;
2
+
3
+ @mixin btn-tint {
4
+ background-color: var(--color-brand-generic-15-lighten);
5
+ color: var(--color-brand-generic-90-darken);
6
+ border-color: currentColor;
7
+ }
8
+
9
+ @mixin btn-navcard {
10
+ @include btn-slim;
11
+
12
+ & {
13
+ border-width: var(--border-width-sm);
14
+ background-color: white;
15
+ }
16
+
17
+ &.btn-active {
18
+ @include btn-tint;
19
+ }
20
+
21
+ &.btn-active:hover,
22
+ &.btn-active:focus {
23
+ background-color: var(--color-brand-generic);
24
+ border-color: var(--color-brand-generic);
25
+ color: white;
26
+ }
27
+
28
+ &:not(.btn-active):hover,
29
+ &:not(.btn-active):focus {
30
+ @include btn-tint;
31
+ }
32
+ }
@@ -0,0 +1,10 @@
1
+ @mixin btn-outline-alert-neutral {
2
+ border-width: var(--border-width-sm);
3
+ color: var(--color-status-neutral);
4
+ background-color: transparent;
5
+
6
+ &:hover,
7
+ &:focus {
8
+ background-color: var(--color-status-neutral-10-lighten);
9
+ }
10
+ }
@@ -13,15 +13,14 @@ $iterations: (
13
13
  @mixin btn-renew-membership {
14
14
  @include outline-button($color: white, $background: transparent);
15
15
 
16
- &:focus, &:hover {
16
+ &:focus,
17
+ &:hover {
18
+ color: var(--color-black-60-lighten);
19
+
17
20
  @each $name, $value in $iterations {
18
21
  &.#{$name} {
19
22
  color: #{$value};
20
23
  }
21
24
  }
22
25
  }
23
-
24
- &:active {
25
- transform: scale(0.98);
26
- }
27
26
  }
@@ -0,0 +1,19 @@
1
+ @use "invisible" as *;
2
+
3
+ @mixin btn-summary {
4
+ @include btn-invisible;
5
+
6
+ & {
7
+ justify-content: space-between;
8
+ font-weight: inherit;
9
+ align-items: center;
10
+ width: 100%;
11
+ }
12
+
13
+ &:hover,
14
+ &:focus {
15
+ .br-summary-icon {
16
+ outline-style: dashed;
17
+ }
18
+ }
19
+ }
@@ -1,4 +1,3 @@
1
1
  @mixin br-card--inline {
2
- margin: var(--margin-sm);
3
2
  display: inline-block;
4
3
  }
@@ -1,4 +1,5 @@
1
- @use "../mixins/breakpoints" as *;
1
+ @use "../../mixins/breakpoints" as *;
2
+ @use "inline" as *;
2
3
 
3
4
  $colors: (
4
5
  "member": var(--color-brand-membership),
@@ -19,34 +20,43 @@ $gradients: (
19
20
  "young-barbican": linear-gradient(120deg, var(--color-youngbarbican-1) 0%, var(--color-youngbarbican-2) 50%, var(--color-youngbarbican-3) 95%),
20
21
  );
21
22
 
22
- .br-card.membership {
23
- background-color: var(--color-black-60-lighten);
24
- min-height: 12.75rem;
25
- border-width: 0;
26
- color: white;
27
-
28
- @include small-up {
23
+ @mixin br-card--membership {
24
+ & {
25
+ background-color: var(--color-black-60-lighten);
29
26
  max-width: var(--width-layout-xs);
30
- margin: var(--margin-xs);
31
- display: inline-block;
27
+ min-height: 12.75rem;
28
+ border-width: 0;
29
+ color: white;
32
30
  width: 100%;
33
31
  }
34
- }
35
32
 
36
- .br-card.membership+.br-card.membership {
37
33
  @include small-up {
38
- margin-top: 0;
34
+ @include br-card--inline;
35
+ }
36
+
37
+ @include small-down {
38
+ +.br-card.membership {
39
+ margin-top: var(--margin-md);
40
+ }
41
+ }
42
+
43
+ @each $name, $value in $colors {
44
+ &.#{$name} {
45
+ background-color: #{$value};
46
+ }
39
47
  }
40
- }
41
48
 
42
- @each $name, $value in $colors {
43
- .br-card.membership.#{$name} {
44
- background-color: #{$value};
49
+ @each $name, $value in $gradients {
50
+ &.#{$name} {
51
+ background-image: #{$value};
52
+ }
45
53
  }
46
- }
47
54
 
48
- @each $name, $value in $gradients {
49
- .br-card.membership.#{$name} {
50
- background-image: #{$value};
55
+ .br-card-title {
56
+ font-size: var(--font-size-h4);
57
+ text-overflow: ellipsis;
58
+ white-space: nowrap;
59
+ font-weight: bold;
60
+ overflow: hidden;
51
61
  }
52
62
  }
@@ -13,7 +13,7 @@
13
13
  transform: scale(1);
14
14
  }
15
15
 
16
- &.router-link-exact-active {
16
+ &.disabled {
17
17
  outline-offset: calc(var(--border-width-sm) * -1);
18
18
  background-color: var(--color-brand-generic);
19
19
  outline-color: var(--color-brand-generic);
@@ -24,7 +24,15 @@
24
24
  color: white;
25
25
  }
26
26
 
27
- &:not(.router-link-active):hover {
27
+ &.router-link-active:not(.router-link-exact-active) {
28
+ background-color: var(--color-brand-generic-15-lighten);
29
+ color: var(--color-brand-generic-90-darken);
30
+ outline-color: var(--color-brand-generic);
31
+ text-decoration: underline;
32
+ border-color: currentColor;
33
+ }
34
+
35
+ &:not(.disabled):hover {
28
36
  color: var(--color-brand-generic-90-darken);
29
37
  outline-color: var(--color-brand-generic);
30
38
  text-decoration: underline;
@@ -0,0 +1,21 @@
1
+ @use "../../mixins/breakpoints" as *;
2
+ @use "inline" as *;
3
+
4
+ @mixin br-card--qrcode {
5
+ @include br-card--inline;
6
+
7
+ & {
8
+ border-color: currentColor;
9
+ }
10
+
11
+ .br-card-text {
12
+ margin-top: var(--margin-md);
13
+ width: var(--width-qrcode);
14
+ word-wrap: break-word;
15
+ text-align: center;
16
+ }
17
+
18
+ p+p {
19
+ margin-top: var(--margin-xs);
20
+ }
21
+ }
@@ -1,26 +0,0 @@
1
- @use "mixins/breakpoints";
2
-
3
- .card-deck {
4
- justify-content: center;
5
- display: grid;
6
- gap: var(--gap-xl);
7
-
8
- @include breakpoints.medium-up {
9
- align-items: flex-start;
10
- grid-auto-flow: column;
11
- }
12
-
13
- .br-card {
14
- max-width: var(--width-title);
15
- margin-top: 0;
16
- }
17
-
18
- .br-card-title {
19
- font-size: var(--font-size-h3);
20
- }
21
-
22
- .br-card-img {
23
- border-radius: var(--border-radius-lg);
24
- margin-top: var(--margin-lg);
25
- }
26
- }
@@ -1,18 +0,0 @@
1
- @use "outline-secondary" as *;
2
-
3
- @mixin btn-see-tickets-info {
4
- @include btn-outline-secondary;
5
-
6
- & {
7
- margin-top: var(--margin-lg);
8
- padding: var(--padding-md);
9
- text-align: left;
10
-
11
- &:hover,
12
- &:focus {
13
- background-color: var(--color-brand-generic-15-lighten);
14
- border-color: var(--color-brand-generic-90-darken);
15
- color: var(--color-brand-generic-90-darken);
16
- }
17
- }
18
- }