barbican-reset 3.44.0 → 3.46.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.
- package/components/BrConfirmDone.vue +1 -1
- package/components/BrConfirmEmail.vue +1 -1
- package/components/BrContainer.vue +8 -16
- package/icons/B.vue +5 -0
- package/icons/Barbican.vue +11 -8
- package/icons/Dots.vue +18 -19
- package/icons/Menu.vue +5 -0
- package/icons.js +2 -0
- package/package.json +1 -1
- package/scss/_br-button.scss +5 -0
- package/scss/_br-container.scss +6 -1
- package/scss/_br-form-select.scss +1 -0
- package/scss/_br-icon.scss +17 -21
- package/scss/atomic/_margins.scss +5 -0
- package/scss/mixins/_br-form-radio.scss +0 -6
- package/scss/mixins/buttons/_custom.scss +125 -124
- package/scss/mixins/buttons/custom/_mobile-menu.scss +13 -0
- package/scss/mixins/card/_membership.scss +0 -1
- package/scss/mixins/input/_text.scss +2 -1
- package/utils/datetimes.js +8 -0
- package/scss/card/_membership-new.scss +0 -32
|
@@ -18,6 +18,7 @@ const generateComponentClasses = computed(() => {
|
|
|
18
18
|
let classnames = ['br-container']
|
|
19
19
|
|
|
20
20
|
if (props.masthead) classnames.push('masthead')
|
|
21
|
+
if (props.noWrap) classnames.push('no-wrap')
|
|
21
22
|
|
|
22
23
|
return classnames
|
|
23
24
|
})
|
|
@@ -26,6 +27,7 @@ const generateOuterClasses = computed(() => {
|
|
|
26
27
|
let classnames = ['br-container--outer']
|
|
27
28
|
|
|
28
29
|
if (props.masthead) classnames.push('masthead')
|
|
30
|
+
if (props.noWrap) classnames.push('no-wrap')
|
|
29
31
|
|
|
30
32
|
return classnames
|
|
31
33
|
})
|
|
@@ -34,6 +36,7 @@ const generateInnerClasses = computed(() => {
|
|
|
34
36
|
let classnames = ['br-container--inner']
|
|
35
37
|
|
|
36
38
|
if (props.masthead) classnames.push('masthead')
|
|
39
|
+
if (props.noWrap) classnames.push('no-wrap')
|
|
37
40
|
if (props.thin) classnames.push('thin')
|
|
38
41
|
if (props.header) classnames.push('header')
|
|
39
42
|
if (props.footer) classnames.push('footer')
|
|
@@ -42,21 +45,10 @@ const generateInnerClasses = computed(() => {
|
|
|
42
45
|
})
|
|
43
46
|
|
|
44
47
|
const props = defineProps({
|
|
45
|
-
masthead:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
type: Boolean,
|
|
51
|
-
default: false,
|
|
52
|
-
},
|
|
53
|
-
header: {
|
|
54
|
-
type: Boolean,
|
|
55
|
-
default: false,
|
|
56
|
-
},
|
|
57
|
-
footer: {
|
|
58
|
-
type: Boolean,
|
|
59
|
-
default: false,
|
|
60
|
-
},
|
|
48
|
+
masthead: Boolean,
|
|
49
|
+
thin: Boolean,
|
|
50
|
+
header: Boolean,
|
|
51
|
+
noWrap: Boolean,
|
|
52
|
+
footer: Boolean,
|
|
61
53
|
})
|
|
62
54
|
</script>
|
package/icons/B.vue
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg class="br-icon b" width="23" height="32" viewBox="0 0 23 32" fill="white" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M0 0H7.06279V11.6272C8.7444 10.1377 10.2819 9.56118 12.6361 9.56118C18.5939 9.56118 22.87 14.1736 22.87 20.5638C22.87 23.6868 21.7169 26.5695 19.795 28.5394C18.0654 30.3171 15.7111 31.182 12.8764 31.182C9.9936 31.182 8.31199 30.4613 6.77451 28.7316V30.4132H0V0ZM6.58232 20.3716C6.58232 23.3985 8.40808 25.4164 11.0987 25.4164C13.7892 25.4164 15.4709 23.5907 15.4709 20.5638C15.4709 17.4888 13.7892 15.567 11.0026 15.567C8.36003 15.615 6.58232 17.5368 6.58232 20.3716Z" />
|
|
4
|
+
</svg>
|
|
5
|
+
</template>
|
package/icons/Barbican.vue
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<path
|
|
9
|
-
|
|
2
|
+
<svg class="br-icon barbican" width="160" height="32" viewBox="0 0 160 32" fill="white" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M0 0H7.06279V11.6272C8.7444 10.1377 10.2819 9.56118 12.6361 9.56118C18.5939 9.56118 22.87 14.1736 22.87 20.5638C22.87 23.6868 21.7169 26.5695 19.795 28.5394C18.0654 30.3171 15.7111 31.182 12.8764 31.182C9.9936 31.182 8.31199 30.4613 6.77451 28.7316V30.4132H0V0ZM6.58232 20.3716C6.58232 23.3985 8.40808 25.4164 11.0987 25.4164C13.7892 25.4164 15.4709 23.5907 15.4709 20.5638C15.4709 17.4888 13.7892 15.567 11.0026 15.567C8.36003 15.615 6.58232 17.5368 6.58232 20.3716Z" />
|
|
4
|
+
<path d="M39.9263 29.0679C38.1006 30.7495 36.8033 31.23 34.0167 31.23C30.8456 31.23 28.5394 30.3652 26.7617 28.4914C24.8398 26.4734 23.8309 23.6868 23.8309 20.4677C23.8309 14.1256 28.0109 9.70532 33.9206 9.70532C36.5151 9.70532 37.9564 10.2819 39.8783 12.1076V10.378H46.6528V30.5574H39.9263V29.0679ZM31.1819 20.6598C31.1819 23.6868 32.8635 25.4645 35.6502 25.4645C38.3408 25.4645 40.1185 23.4946 40.1185 20.4677C40.1185 17.5849 38.3889 15.615 35.7463 15.615C33.1038 15.615 31.1819 17.729 31.1819 20.6598Z" />
|
|
5
|
+
<path d="M48.6227 10.3299H55.3972V12.8764C56.8866 10.5702 58.3761 9.75337 60.8264 9.75337C61.3069 9.75337 61.5951 9.80142 63.2768 9.9936V16.3837C62.46 16.1435 62.0276 16.1435 61.451 16.1435C57.7034 16.1435 55.7335 18.1614 55.7335 22.0051V30.5093H48.6707L48.6227 10.3299Z" />
|
|
6
|
+
<path d="M64.478 0H71.5407V11.6272C73.2224 10.1377 74.7598 9.56118 77.1141 9.56118C83.0718 9.56118 87.3479 14.1736 87.3479 20.5638C87.3479 23.6868 86.1948 26.5695 84.273 28.5394C82.5433 30.3171 80.2371 31.182 77.3543 31.182C74.4716 31.182 72.7899 30.4613 71.2525 28.7316V30.4132H64.478V0ZM71.0603 20.3716C71.0603 23.3985 72.886 25.4164 75.5766 25.4164C78.2672 25.4164 79.9488 23.5907 79.9488 20.5638C79.9488 17.4888 78.2672 15.567 75.4805 15.567C72.838 15.615 71.0603 17.5368 71.0603 20.3716Z" />
|
|
7
|
+
<path d="M95.804 10.3299H88.7412V30.5093H95.804V10.3299Z" />
|
|
8
|
+
<path d="M92.2486 8.40808C94.4587 8.40808 96.1884 6.63037 96.1884 4.46829C96.1884 2.30621 94.4587 0.576553 92.2486 0.576553C90.0865 0.576553 88.3569 2.30621 88.3569 4.46829C88.3569 6.67841 90.0865 8.40808 92.2486 8.40808Z" />
|
|
9
|
+
<path d="M106.951 31.278C109.401 31.278 110.458 31.0378 113.389 29.5964V22.5817C111.707 24.2153 110.554 24.8399 108.921 24.8399C106.422 24.8399 104.837 23.1102 104.837 20.3235C104.837 17.4888 106.374 15.7591 108.969 15.7591C110.698 15.7591 111.707 16.3837 113.389 18.3536V11.2908C111.083 9.89751 109.545 9.46509 107.287 9.46509C101.377 9.46509 97.3415 14.0295 97.3415 20.6598C97.3415 24.0711 98.4466 27.098 100.464 29.0199C101.954 30.5574 104.164 31.278 106.951 31.278Z" />
|
|
10
|
+
<path d="M130.205 29.0679C128.379 30.7495 127.082 31.23 124.295 31.23C121.124 31.23 118.818 30.3652 117.04 28.4914C115.119 26.4734 114.11 23.6868 114.11 20.4677C114.11 14.1256 118.29 9.70532 124.199 9.70532C126.794 9.70532 128.235 10.2819 130.157 12.1076V10.378H136.932V30.5574H130.157V29.0679H130.205ZM121.461 20.6598C121.461 23.6868 123.142 25.4645 125.929 25.4645C128.62 25.4645 130.397 23.4946 130.397 20.4677C130.397 17.5849 128.668 15.615 126.025 15.615C123.383 15.615 121.461 17.729 121.461 20.6598Z" />
|
|
11
|
+
<path d="M145.868 10.3299H138.901V30.4613H145.964V19.3626C145.964 16.9603 147.502 15.3748 149.76 15.3748C151.874 15.3748 152.883 16.672 152.883 19.3626V30.4613H159.946V16.8642C159.946 15.2787 159.657 14.0295 159.033 12.9244C157.88 10.8104 155.237 9.56118 152.114 9.56118C149.231 9.56118 147.646 10.3299 145.868 12.6361V10.3299Z" />
|
|
10
12
|
</svg>
|
|
11
13
|
</template>
|
|
14
|
+
|
package/icons/Dots.vue
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="dots">
|
|
3
|
-
<svg
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
viewBox="0 0 14 14"
|
|
6
|
-
height="14"
|
|
7
|
-
width="14">
|
|
8
|
-
<path d="M12,7c0,2.8-2.2,5-5,5S2,9.8,2,7s2.2-5,5-5S12,4.2,12,7z" />
|
|
9
|
-
</svg>
|
|
10
|
-
|
|
11
|
-
<svg
|
|
12
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
-
viewBox="0 0 14 14"
|
|
14
|
-
height="14"
|
|
15
|
-
width="14">
|
|
16
|
-
<path d="M12,7c0,2.8-2.2,5-5,5S2,9.8,2,7s2.2-5,5-5S12,4.2,12,7z" />
|
|
17
|
-
</svg>
|
|
18
|
-
|
|
2
|
+
<div ref="dots" class="dots" role="status" aria-label="Loading">
|
|
19
3
|
<svg
|
|
4
|
+
v-for="n in 3"
|
|
5
|
+
:key="n"
|
|
20
6
|
xmlns="http://www.w3.org/2000/svg"
|
|
21
7
|
viewBox="0 0 14 14"
|
|
22
8
|
height="14"
|
|
@@ -28,12 +14,15 @@
|
|
|
28
14
|
|
|
29
15
|
<script setup>
|
|
30
16
|
import { gsap } from 'gsap'
|
|
31
|
-
import { onMounted, useTemplateRef } from 'vue'
|
|
17
|
+
import { onMounted, onUnmounted, useTemplateRef } from 'vue'
|
|
32
18
|
|
|
33
19
|
const dots = useTemplateRef('dots')
|
|
34
20
|
|
|
21
|
+
/** @type {gsap.core.Timeline | undefined} */
|
|
22
|
+
let tl
|
|
23
|
+
|
|
35
24
|
onMounted(() => {
|
|
36
|
-
|
|
25
|
+
if (!dots.value) return
|
|
37
26
|
|
|
38
27
|
const duration = 0.3
|
|
39
28
|
|
|
@@ -42,9 +31,19 @@ onMounted(() => {
|
|
|
42
31
|
{ y: 0, duration },
|
|
43
32
|
]
|
|
44
33
|
|
|
34
|
+
tl = gsap.timeline({ repeat: -1 })
|
|
35
|
+
|
|
45
36
|
tl.to(dots.value.children, {
|
|
46
37
|
stagger: duration,
|
|
47
38
|
keyframes,
|
|
48
39
|
})
|
|
49
40
|
})
|
|
41
|
+
|
|
42
|
+
onUnmounted(() => tl?.kill())
|
|
50
43
|
</script>
|
|
44
|
+
|
|
45
|
+
<style scoped>
|
|
46
|
+
svg {
|
|
47
|
+
display: inline-block;
|
|
48
|
+
}
|
|
49
|
+
</style>
|
package/icons/Menu.vue
ADDED
package/icons.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { default as BrBLogo } from './icons/B.vue'
|
|
1
2
|
export { default as BrBackArrow } from './icons/BackArrow.vue'
|
|
2
3
|
export { default as BrBarbicanLogo } from './icons/Barbican.vue'
|
|
3
4
|
export { default as BrCartIcon } from './icons/Cart.vue'
|
|
@@ -14,3 +15,4 @@ export { default as BrAccountOrdersIcon } from './icons/AccountOrders.vue'
|
|
|
14
15
|
export { default as BrAccountPaymentIcon } from './icons/AccountPayment.vue'
|
|
15
16
|
export { default as BrAccountTicketIcon } from './icons/AccountTicket.vue'
|
|
16
17
|
export { default as BrAccountPersonalIcon } from './icons/AccountPersonal.vue'
|
|
18
|
+
export { default as BrMenuIcon } from './icons/Menu.vue'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "barbican-reset",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.46.0",
|
|
4
4
|
"description": "Shared design system for Barbican projects, providing SCSS utilities, animations, icons, Vue components, and JS helpers for consistent styling and behaviour.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"exports": {
|
package/scss/_br-button.scss
CHANGED
package/scss/_br-container.scss
CHANGED
|
@@ -9,11 +9,16 @@
|
|
|
9
9
|
padding-left: var(--padding-layout-sm);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
.br-container--outer.no-wrap {
|
|
13
|
+
padding-right: var(--padding-lg);
|
|
14
|
+
padding-left: var(--padding-lg);
|
|
15
|
+
}
|
|
16
|
+
|
|
12
17
|
.br-container--outer.masthead {
|
|
13
18
|
background-color: white;
|
|
14
19
|
}
|
|
15
20
|
|
|
16
|
-
.br-container--inner {
|
|
21
|
+
.br-container--inner:not(.no-wrap) {
|
|
17
22
|
max-width: var(--width-layout-lg);
|
|
18
23
|
margin: 0 auto;
|
|
19
24
|
}
|
package/scss/_br-icon.scss
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
.br-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// .br-link.wordmark {
|
|
2
|
+
// display: block;
|
|
3
|
+
// fill: white;
|
|
4
|
+
// }
|
|
4
5
|
|
|
5
|
-
.br-link.wordmark
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
// .br-link.wordmark:focus,
|
|
7
|
+
// .br-link.wordmark:hover {
|
|
8
|
+
// fill: var(--color-brand-generic);
|
|
9
|
+
// background-color: white;
|
|
10
|
+
// outline-color: white;
|
|
11
|
+
// outline-style: solid;
|
|
12
|
+
// outline-width: 4px;
|
|
9
13
|
|
|
10
|
-
.br-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
outline-width: 4px;
|
|
17
|
-
|
|
18
|
-
.br-icon.wordmark {
|
|
19
|
-
outline-color: white;
|
|
20
|
-
outline-style: solid;
|
|
21
|
-
outline-width: 1px;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
14
|
+
// .br-icon.wordmark {
|
|
15
|
+
// outline-color: white;
|
|
16
|
+
// outline-style: solid;
|
|
17
|
+
// outline-width: 1px;
|
|
18
|
+
// }
|
|
19
|
+
// }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@use "../../mixins/focus" as *;
|
|
2
|
-
@use "../../mixins/core" as *;
|
|
3
1
|
@use "../../mixins/breakpoints" as *;
|
|
2
|
+
@use "../../mixins/core" as *;
|
|
3
|
+
@use "../../mixins/focus" as *;
|
|
4
4
|
@use "../../functions" as *;
|
|
5
5
|
|
|
6
6
|
@use "outline" as *;
|
|
@@ -22,86 +22,46 @@
|
|
|
22
22
|
@forward "custom/invisible";
|
|
23
23
|
@forward "custom/link";
|
|
24
24
|
@forward "custom/manage-order";
|
|
25
|
-
@forward "custom/
|
|
25
|
+
@forward "custom/mobile-menu";
|
|
26
26
|
@forward "custom/outline-alert-neutral";
|
|
27
27
|
@forward "custom/outline-primary";
|
|
28
28
|
@forward "custom/outline-secondary";
|
|
29
29
|
@forward "custom/primary";
|
|
30
30
|
@forward "custom/renew-membership";
|
|
31
31
|
@forward "custom/secondary";
|
|
32
|
+
@forward "custom/select-form";
|
|
32
33
|
@forward "custom/summary";
|
|
33
34
|
@forward "custom/voucher-amount";
|
|
34
35
|
|
|
35
|
-
@mixin btn-
|
|
36
|
-
@include
|
|
37
|
-
@include btn-slim;
|
|
38
|
-
|
|
39
|
-
&:disabled {
|
|
40
|
-
@include btn-cancel-returns;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@mixin btn-cancel-returns {
|
|
45
|
-
@include btn-outline-secondary($border-width: var(--border-width-lg));
|
|
46
|
-
@include btn-slim;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@mixin btn-resale {
|
|
50
|
-
@include outline-button($padding: 0.625em, $font-size: var(--font-size-sm));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@mixin btn-outline-header {
|
|
54
|
-
@include outline-button($color: white, $background: var(--color-brand-generic), $border-width: var(--border-width-lg));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@mixin btn-cinema {
|
|
58
|
-
@include solid-button(var(--color-brand-cinema));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@mixin btn-info {
|
|
62
|
-
@include solid-button(var(--color-status-neutral));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@mixin btn-outline-info {
|
|
66
|
-
@include outline-button(var(--color-status-neutral));
|
|
36
|
+
@mixin btn-add-membership-to-basket {
|
|
37
|
+
@include solid-button($background: var(--color-brand-membership));
|
|
67
38
|
}
|
|
68
39
|
|
|
69
|
-
@mixin btn-
|
|
70
|
-
@include outline-
|
|
40
|
+
@mixin btn-additional-information {
|
|
41
|
+
@include btn-outline-primary;
|
|
71
42
|
}
|
|
72
43
|
|
|
73
|
-
@mixin btn-
|
|
74
|
-
@include
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
}
|
|
44
|
+
@mixin btn-basket {
|
|
45
|
+
@include solid-button($background: white,
|
|
46
|
+
$color: var(--color-brand-generic),
|
|
47
|
+
$padding: 0 var(--padding-md),
|
|
48
|
+
$margin: var(--margin-xs),
|
|
49
|
+
$line-height: var(--line-height-lg));
|
|
50
|
+
vertical-align: middle;
|
|
51
|
+
min-height: var(--min-height-button);
|
|
83
52
|
|
|
84
|
-
@
|
|
85
|
-
|
|
86
|
-
@include btn-secondary;
|
|
87
|
-
width: 100%;
|
|
53
|
+
@include focus {
|
|
54
|
+
@include btn-menu-focus;
|
|
88
55
|
}
|
|
89
56
|
|
|
90
|
-
@include
|
|
91
|
-
@include btn-
|
|
57
|
+
@include data("clicked") {
|
|
58
|
+
@include btn-menu-focus;
|
|
92
59
|
}
|
|
93
60
|
}
|
|
94
61
|
|
|
95
|
-
@mixin btn-
|
|
96
|
-
@include
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
@mixin btn-cta {
|
|
100
|
-
@include solid-button($background: var(--color-black-60-lighten));
|
|
101
|
-
|
|
102
|
-
& {
|
|
103
|
-
fill: white;
|
|
104
|
-
}
|
|
62
|
+
@mixin btn-cancel-returns {
|
|
63
|
+
@include btn-outline-secondary($border-width: var(--border-width-lg));
|
|
64
|
+
@include btn-slim;
|
|
105
65
|
}
|
|
106
66
|
|
|
107
67
|
@mixin btn-carousel {
|
|
@@ -126,49 +86,15 @@
|
|
|
126
86
|
}
|
|
127
87
|
}
|
|
128
88
|
|
|
129
|
-
@mixin btn-
|
|
130
|
-
|
|
131
|
-
color: $brand;
|
|
132
|
-
|
|
133
|
-
path {
|
|
134
|
-
fill: currentColor;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
@mixin btn-menu {
|
|
139
|
-
@include outline-button($color: white,
|
|
140
|
-
$background: var(--color-brand-generic),
|
|
141
|
-
$padding: 0 var(--padding-md),
|
|
142
|
-
$margin: var(--margin-xs),
|
|
143
|
-
$line-height: var(--line-height-lg));
|
|
144
|
-
|
|
145
|
-
vertical-align: middle;
|
|
146
|
-
min-height: var(--min-height-button);
|
|
147
|
-
|
|
148
|
-
@include focus {
|
|
149
|
-
@include btn-menu-focus;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
@include data("clicked") {
|
|
153
|
-
@include btn-menu-focus;
|
|
154
|
-
}
|
|
89
|
+
@mixin btn-cinema {
|
|
90
|
+
@include solid-button(var(--color-brand-cinema));
|
|
155
91
|
}
|
|
156
92
|
|
|
157
|
-
@mixin btn-
|
|
158
|
-
@include solid-button($background:
|
|
159
|
-
$color: var(--color-brand-generic),
|
|
160
|
-
$padding: 0 var(--padding-md),
|
|
161
|
-
$margin: var(--margin-xs),
|
|
162
|
-
$line-height: var(--line-height-lg));
|
|
163
|
-
vertical-align: middle;
|
|
164
|
-
min-height: var(--min-height-button);
|
|
165
|
-
|
|
166
|
-
@include focus {
|
|
167
|
-
@include btn-menu-focus;
|
|
168
|
-
}
|
|
93
|
+
@mixin btn-cta {
|
|
94
|
+
@include solid-button($background: var(--color-black-60-lighten));
|
|
169
95
|
|
|
170
|
-
|
|
171
|
-
|
|
96
|
+
& {
|
|
97
|
+
fill: white;
|
|
172
98
|
}
|
|
173
99
|
}
|
|
174
100
|
|
|
@@ -181,6 +107,25 @@
|
|
|
181
107
|
}
|
|
182
108
|
}
|
|
183
109
|
|
|
110
|
+
@mixin btn-expand {
|
|
111
|
+
display: block;
|
|
112
|
+
width: 100%;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@mixin btn-expand--mobile {
|
|
116
|
+
@include small-down {
|
|
117
|
+
@include btn-expand;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@mixin btn-info {
|
|
122
|
+
@include solid-button(var(--color-status-neutral));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@mixin btn-login-to-book {
|
|
126
|
+
@include btn-primary;
|
|
127
|
+
}
|
|
128
|
+
|
|
184
129
|
@mixin btn-membership-pill {
|
|
185
130
|
@include outline-button(var(--color-black-80-lighten), white);
|
|
186
131
|
|
|
@@ -205,30 +150,93 @@
|
|
|
205
150
|
}
|
|
206
151
|
}
|
|
207
152
|
|
|
208
|
-
@mixin btn-
|
|
209
|
-
@include
|
|
153
|
+
@mixin btn-menu {
|
|
154
|
+
@include outline-button($color: white,
|
|
155
|
+
$background: var(--color-brand-generic),
|
|
156
|
+
$padding: 0 var(--padding-md),
|
|
157
|
+
$margin: var(--margin-xs),
|
|
158
|
+
$line-height: var(--line-height-lg));
|
|
159
|
+
|
|
160
|
+
vertical-align: middle;
|
|
161
|
+
min-height: var(--min-height-button);
|
|
162
|
+
|
|
163
|
+
@include focus {
|
|
164
|
+
@include btn-menu-focus;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
@include data("clicked") {
|
|
168
|
+
@include btn-menu-focus;
|
|
169
|
+
}
|
|
210
170
|
}
|
|
211
171
|
|
|
212
|
-
@mixin btn-
|
|
213
|
-
|
|
172
|
+
@mixin btn-menu-focus($brand: var(--color-brand-generic)) {
|
|
173
|
+
background-color: white;
|
|
174
|
+
color: $brand;
|
|
175
|
+
|
|
176
|
+
path {
|
|
177
|
+
fill: currentColor;
|
|
178
|
+
}
|
|
214
179
|
}
|
|
215
180
|
|
|
216
|
-
@mixin btn-
|
|
217
|
-
@include
|
|
218
|
-
pointer-events: none;
|
|
219
|
-
min-width: initial;
|
|
181
|
+
@mixin btn-outline-cinema {
|
|
182
|
+
@include outline-button(var(--color-brand-cinema));
|
|
220
183
|
}
|
|
221
184
|
|
|
222
|
-
@mixin btn-
|
|
223
|
-
@include
|
|
185
|
+
@mixin btn-outline-header {
|
|
186
|
+
@include outline-button($color: white, $background: var(--color-brand-generic), $border-width: var(--border-width-lg));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
@mixin btn-outline-info {
|
|
190
|
+
@include outline-button(var(--color-status-neutral));
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@mixin btn-priority-row {
|
|
194
|
+
@include btn-outline-primary;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@mixin btn-remove-gift {
|
|
198
|
+
@include x-large-down {
|
|
199
|
+
@include btn-secondary;
|
|
200
|
+
width: 100%;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@include x-large-up {
|
|
204
|
+
@include btn-link;
|
|
205
|
+
}
|
|
224
206
|
}
|
|
225
207
|
|
|
226
208
|
@mixin btn-remove-membership-from-basket {
|
|
227
209
|
@include solid-button($background: var(--color-status-error));
|
|
228
210
|
}
|
|
229
211
|
|
|
230
|
-
@mixin btn-
|
|
231
|
-
@include
|
|
212
|
+
@mixin btn-remove-ticket {
|
|
213
|
+
@include small-down {
|
|
214
|
+
@include btn-secondary;
|
|
215
|
+
width: 100%;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
@include small-up {
|
|
219
|
+
@include btn-link;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
@mixin btn-resale {
|
|
224
|
+
@include outline-button($padding: 0.625em, $font-size: var(--font-size-sm));
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
@mixin btn-returns {
|
|
228
|
+
@include btn-outline-primary($border-width: var(--border-width-lg));
|
|
229
|
+
@include btn-slim;
|
|
230
|
+
|
|
231
|
+
&:disabled {
|
|
232
|
+
@include btn-cancel-returns;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@mixin btn-sold-out {
|
|
237
|
+
@include btn-secondary;
|
|
238
|
+
pointer-events: none;
|
|
239
|
+
min-width: initial;
|
|
232
240
|
}
|
|
233
241
|
|
|
234
242
|
@mixin btn-toggle-password {
|
|
@@ -237,13 +245,6 @@
|
|
|
237
245
|
padding: 0;
|
|
238
246
|
}
|
|
239
247
|
|
|
240
|
-
@mixin btn-
|
|
241
|
-
|
|
242
|
-
width: 100%;
|
|
248
|
+
@mixin btn-video-login {
|
|
249
|
+
@include solid-button($background: white, $color: #0a0a0a);
|
|
243
250
|
}
|
|
244
|
-
|
|
245
|
-
@mixin btn-expand--mobile {
|
|
246
|
-
@include small-down {
|
|
247
|
-
@include btn-expand;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
@@ -27,12 +27,13 @@
|
|
|
27
27
|
background-color: var(--color-black-5-lighten);
|
|
28
28
|
border-color: var(--color-black-25-lighten);
|
|
29
29
|
border-radius: var(--border-radius-md);
|
|
30
|
+
border-width: var(--border-width-sm);
|
|
30
31
|
color: var(--color-black-60-lighten);
|
|
31
32
|
padding: var(--padding-lg);
|
|
32
|
-
border-width: var(--border-width-sm);
|
|
33
33
|
font-family: inherit;
|
|
34
34
|
border-style: solid;
|
|
35
35
|
font-size: inherit;
|
|
36
|
+
min-width: 0;
|
|
36
37
|
|
|
37
38
|
&:not(:disabled) {
|
|
38
39
|
@include input-focus {
|
package/utils/datetimes.js
CHANGED
|
@@ -4,6 +4,7 @@ let stringFormats = {
|
|
|
4
4
|
date: {
|
|
5
5
|
sm: 'yyyy-LL-dd',
|
|
6
6
|
md: 'ccc d LLL',
|
|
7
|
+
md_inc_year: 'ccc d LLL yyyy',
|
|
7
8
|
},
|
|
8
9
|
time: {
|
|
9
10
|
sm: 'ha',
|
|
@@ -58,6 +59,12 @@ let formatSmReverseDate = (value, separator) => DateTime.fromISO(value).toFormat
|
|
|
58
59
|
*/
|
|
59
60
|
let formatMdDate = (value) => DateTime.fromISO(value).toFormat(stringFormats.date.md)
|
|
60
61
|
|
|
62
|
+
/**
|
|
63
|
+
* @param {string} value - ISO date string
|
|
64
|
+
* @returns {string} e.g. "Tue 24 Mar 2026"
|
|
65
|
+
*/
|
|
66
|
+
let formatMdIncYearDate = (value) => DateTime.fromISO(value).toFormat(stringFormats.date.md_inc_year)
|
|
67
|
+
|
|
61
68
|
/**
|
|
62
69
|
* @param {any} n - Day of month
|
|
63
70
|
* @returns {string} e.g. "1st", "2nd", "3rd", "4th"
|
|
@@ -138,6 +145,7 @@ let formatDate = {
|
|
|
138
145
|
}
|
|
139
146
|
},
|
|
140
147
|
md: (value) => formatMdDate(value),
|
|
148
|
+
md_inc_year: (value) => formatMdIncYearDate(value),
|
|
141
149
|
lg: (value) => formatLgDate(value),
|
|
142
150
|
}
|
|
143
151
|
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
@use "../mixins/breakpoints" as *;
|
|
2
|
-
|
|
3
|
-
$colors: (
|
|
4
|
-
"member": var(--color-brand-membership),
|
|
5
|
-
"member-plus": var(--color-donor-member-plus),
|
|
6
|
-
"patron": var(--color-donor-patron),
|
|
7
|
-
"premier-patron": var(--color-donor-patron),
|
|
8
|
-
"principal-patron": var(--color-donor-principal-patron),
|
|
9
|
-
"directors-circle": var(--color-donor-principal-patron),
|
|
10
|
-
"young-barbican": var(--color-brand-young-barbican),
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
$gradients: (
|
|
14
|
-
"member-plus": linear-gradient(var(--gradient-angle-membership), var(--gradient-member-plus)),
|
|
15
|
-
"patron": linear-gradient(var(--gradient-angle-membership), var(--gradient-patron)),
|
|
16
|
-
"premier-patron": linear-gradient(var(--gradient-angle-membership), var(--gradient-premier-patron)),
|
|
17
|
-
"principal-patron": linear-gradient(var(--gradient-angle-membership), var(--gradient-principal-patron)),
|
|
18
|
-
"directors-circle": linear-gradient(var(--gradient-angle-membership), var(--gradient-directors-circle)),
|
|
19
|
-
"young-barbican": linear-gradient(var(--gradient-angle-membership), var(--gradient-young-barbican)),
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
@each $name, $value in $colors {
|
|
23
|
-
.br-card.membership-new.#{$name} {
|
|
24
|
-
background-color: #{$value};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@each $name, $value in $gradients {
|
|
29
|
-
.br-card.membership-new.#{$name} {
|
|
30
|
-
background-image: #{$value};
|
|
31
|
-
}
|
|
32
|
-
}
|