barbican-reset 3.16.0 → 3.18.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/README.md +1 -1
- package/components/BrAlert.vue +1 -1
- package/components/BrButton.vue +2 -2
- package/components/BrCardTitle.vue +1 -1
- package/components/BrFormCheckbox.vue +1 -1
- package/components/BrFormLabel.vue +1 -3
- package/components/BrFormToggle.vue +32 -0
- package/components/BrNavCard.vue +56 -0
- package/components/BrNavCardWrap.vue +5 -0
- package/components/BrNavLink.vue +21 -0
- package/components/BrOverlay.vue +33 -0
- package/components/EventSummary.vue +2 -2
- package/components/SeeInside.vue +1 -1
- package/icons/account/contact.vue +3 -0
- package/icons/account/index.js +13 -10
- package/icons/account/membership.vue +1 -10
- package/icons/account/orders.vue +1 -15
- package/icons/account/payment.vue +1 -10
- package/icons/account/personal.vue +1 -10
- package/icons/account/ticket.vue +3 -0
- package/icons/back_arrow.vue +1 -8
- package/icons/close.vue +7 -0
- package/icons/index.js +4 -6
- package/icons/person.vue +3 -0
- package/icons/qr_code.vue +5 -0
- package/icons/stream/index.js +0 -2
- package/index.js +11 -0
- package/package.json +1 -1
- package/scss/_br-button.scss +9 -2
- package/scss/{_br-checkbox.scss → _br-form-checkbox.scss} +3 -4
- package/scss/_br-form-toggle.scss +71 -0
- package/scss/_br-nav-card-wrap.scss +11 -0
- package/scss/_br-navlink.scss +51 -0
- package/scss/_br-overlay.scss +26 -0
- package/scss/_br-wrap.scss +9 -9
- package/scss/_card-deck.scss +1 -1
- package/scss/card/_login.scss +5 -6
- package/scss/card/_membership-new.scss +45 -0
- package/scss/card/_membership.scss +42 -41
- package/scss/card/_navcard.scss +133 -0
- package/scss/card/index.scss +2 -1
- package/scss/index.scss +17 -9
- package/scss/mixins/_br-card.scss +7 -2
- package/scss/mixins/_br-footer.scss +2 -2
- package/scss/mixins/_br-form-row.scss +1 -1
- package/scss/mixins/_focus.scss +15 -0
- package/scss/mixins/buttons/_custom.scss +21 -40
- package/scss/mixins/buttons/_outline.scss +4 -4
- package/scss/mixins/buttons/_setup.scss +10 -7
- package/scss/mixins/buttons/custom/_exit-overlay.scss +31 -0
- package/scss/mixins/buttons/custom/_renew-membership.scss +27 -0
- package/scss/mixins/input/_checkbox.scss +2 -2
- package/scss/mixins/input/_generic.scss +4 -2
- package/scss/reset.scss +1 -1
- package/scss/typography.scss +6 -0
- package/icons/account/support.vue +0 -13
- package/icons/account/video.vue +0 -12
- package/icons/arrow.vue +0 -5
- package/icons/arrow_back.vue +0 -12
- package/icons/arrow_forward.vue +0 -10
- package/icons/power/alleyne.vue +0 -3
- package/icons/power/banff.vue +0 -3
- package/icons/power/council.vue +0 -13
- package/icons/power/index.js +0 -5
- package/icons/snippets/barbican.vue +0 -12
- package/icons/snippets/contributor.vue +0 -6
- package/icons/snippets/index.js +0 -6
- package/icons/snippets/other.vue +0 -5
- package/icons/snippets/pin.vue +0 -5
- package/icons/stream/close.vue +0 -7
- package/scss/__vars/_alerts.scss +0 -6
- package/scss/__vars/_columns.scss +0 -9
- package/scss/__vars/_layout.scss +0 -15
- package/scss/__vars/_typography.scss +0 -11
- package/scss/__vars/colors/_brand.scss +0 -13
- package/scss/__vars/colors/_docs.scss +0 -11
- package/scss/__vars/colors/_grey.scss +0 -10
- package/scss/__vars/colors/_status.scss +0 -9
- package/scss/card/_account.scss +0 -19
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ You can reference any of the following components:
|
|
|
51
51
|
| -------------------- | ------------------- | -------------------- | ---------------- | ------------- |
|
|
52
52
|
| `<br-alert>` | BrAlert.vue | .br-alert | br-alert--setup | - |
|
|
53
53
|
| `<br-anchor>` | BrAnchor.vue | .btn | setup-button | - |
|
|
54
|
-
| `<br-button>` | BrButton.vue | .br-checkbox | br-checkbox | - |
|
|
54
|
+
| `<br-button>` | BrButton.vue | .br-form-checkbox | br-form-checkbox | - |
|
|
55
55
|
| `<br-confirm-done>` | BrConfirmDone.vue | - | - | - |
|
|
56
56
|
| `<br-confirm-email>` | BrConfirmEmail.vue | - | - | - |
|
|
57
57
|
| `<br-container>` | BrContainer.vue | .br-container--outer | - | - |
|
package/components/BrAlert.vue
CHANGED
package/components/BrButton.vue
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
<!-- https://dockyard.com/blog/2020/03/02/accessible-loading-indicatorswith-no-extra-elements -->
|
|
1
|
+
<!-- https://dockyard.com/blog/2020/03/02/accessible-loading-indicatorswith-no-extra-elements -->
|
|
3
2
|
|
|
3
|
+
<template>
|
|
4
4
|
<button
|
|
5
5
|
:class="printClassNames"
|
|
6
6
|
@click="$emit('click')"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="generateClasses">
|
|
3
|
+
<BrFormLabel>
|
|
4
|
+
<span>
|
|
5
|
+
<slot />
|
|
6
|
+
</span>
|
|
7
|
+
<BrFormInput v-bind="$attrs" type="checkbox" />
|
|
8
|
+
</BrFormLabel>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script setup>
|
|
13
|
+
import { computed } from 'vue'
|
|
14
|
+
import BrFormLabel from '#components/BrFormLabel.vue'
|
|
15
|
+
import BrFormInput from '#components/BrFormInput.vue'
|
|
16
|
+
|
|
17
|
+
defineOptions({
|
|
18
|
+
inheritAttrs: false,
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
const props = defineProps({
|
|
22
|
+
class: String
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
const generateClasses = computed(() => {
|
|
26
|
+
let result = ['br-form-toggle']
|
|
27
|
+
|
|
28
|
+
if (props.class) result.push(props.class)
|
|
29
|
+
|
|
30
|
+
return result
|
|
31
|
+
})
|
|
32
|
+
</script>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<a v-if="to.startsWith('http')" :href="to" :class="generateClasses">
|
|
3
|
+
<br-card class="navcard">
|
|
4
|
+
<div :class="['wrap-navcard-content', { 'has-icon' : $slots.icon }]">
|
|
5
|
+
<div v-if="$slots.icon" class="wrap-navcard-icon">
|
|
6
|
+
<slot name="icon" />
|
|
7
|
+
</div>
|
|
8
|
+
<div>
|
|
9
|
+
<br-card-title v-if="$slots.title">
|
|
10
|
+
<slot name="title" />
|
|
11
|
+
</br-card-title>
|
|
12
|
+
<br-card-text v-if="$slots.text">
|
|
13
|
+
<slot name="text" />
|
|
14
|
+
</br-card-text>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</br-card>
|
|
18
|
+
</a>
|
|
19
|
+
<router-link v-else class="link-navcard" :to="{ name: to }">
|
|
20
|
+
<br-card class="navcard">
|
|
21
|
+
<div :class="['wrap-navcard-content', { 'has-icon' : $slots.icon }]">
|
|
22
|
+
<div v-if="$slots.icon" class="wrap-navcard-icon">
|
|
23
|
+
<slot name="icon" />
|
|
24
|
+
</div>
|
|
25
|
+
<div>
|
|
26
|
+
<br-card-title v-if="$slots.title">
|
|
27
|
+
<slot name="title" />
|
|
28
|
+
</br-card-title>
|
|
29
|
+
<br-card-text v-if="$slots.text">
|
|
30
|
+
<slot name="text" />
|
|
31
|
+
</br-card-text>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</br-card>
|
|
35
|
+
</router-link>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<script setup>
|
|
39
|
+
import { computed } from 'vue';
|
|
40
|
+
|
|
41
|
+
const generateClasses = computed(() => {
|
|
42
|
+
let result = ['link-navcard']
|
|
43
|
+
|
|
44
|
+
if (props.class) result.push(props.class)
|
|
45
|
+
|
|
46
|
+
return result
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
const props = defineProps({
|
|
50
|
+
to: {
|
|
51
|
+
type: String,
|
|
52
|
+
required: true,
|
|
53
|
+
},
|
|
54
|
+
class: String
|
|
55
|
+
})
|
|
56
|
+
</script>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div v-if="$route.matched.some(({ name }) => name === to)" class="br-navlink">
|
|
3
|
+
{{ title }}
|
|
4
|
+
</div>
|
|
5
|
+
<a v-else-if="to.slice(0, 4) == 'http'" :href="to" class="br-navlink">
|
|
6
|
+
{{ title }}
|
|
7
|
+
</a>
|
|
8
|
+
<router-link v-else :to="{ name: to }" class="br-navlink">
|
|
9
|
+
{{ title }}
|
|
10
|
+
</router-link>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script setup>
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
title: String,
|
|
16
|
+
to: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: true
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="br-overlay-wrap">
|
|
3
|
+
<div class="br-overlay-content">
|
|
4
|
+
<slot />
|
|
5
|
+
</div>
|
|
6
|
+
<br-button variant="exit-overlay" @click="emit('closeOverlay')">
|
|
7
|
+
<close-icon class="close-icon" />
|
|
8
|
+
</br-button>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script setup>
|
|
13
|
+
import { onMounted, onUnmounted } from 'vue';
|
|
14
|
+
import BrButton from "#components/BrButton.vue";
|
|
15
|
+
import CloseIcon from "#icons/close.vue";
|
|
16
|
+
|
|
17
|
+
const emit = defineEmits(["closeOverlay"]);
|
|
18
|
+
|
|
19
|
+
function listenForKeys({ key }) {
|
|
20
|
+
if (key == 'Escape') {
|
|
21
|
+
emit('closeOverlay')
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
onMounted(() => {
|
|
26
|
+
document.addEventListener('keydown', listenForKeys)
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
onUnmounted(() => {
|
|
30
|
+
document.removeEventListener('keydown', listenForKeys)
|
|
31
|
+
})
|
|
32
|
+
</script>
|
|
33
|
+
|
|
@@ -111,7 +111,7 @@ export default {
|
|
|
111
111
|
grid-template-columns: 20rem auto;
|
|
112
112
|
grid-template-rows: auto auto auto;
|
|
113
113
|
|
|
114
|
-
column-gap: var(--gap-
|
|
114
|
+
column-gap: var(--gap-xl);
|
|
115
115
|
}
|
|
116
116
|
&.in_basket {
|
|
117
117
|
grid-template-columns: 16rem auto;
|
|
@@ -125,7 +125,7 @@ export default {
|
|
|
125
125
|
border-radius: var(--border-radius-lg);
|
|
126
126
|
max-width: 100%;
|
|
127
127
|
width: 100%;
|
|
128
|
-
margin-bottom: var(--gap-
|
|
128
|
+
margin-bottom: var(--gap-xl);
|
|
129
129
|
|
|
130
130
|
@include medium-up {
|
|
131
131
|
margin-bottom: 0;
|
package/components/SeeInside.vue
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" viewBox="0 0 20 20"><path d="M4,12h8v-2H4v2ZM4,9h12v-2H4v2ZM4,6h12v-2H4v2ZM0,20V2C0,1.45.2.98.59.59s.86-.59,1.41-.59h16c.55,0,1.02.2,1.41.59s.59.86.59,1.41v12c0,.55-.2,1.02-.59,1.41-.39.39-.86.59-1.41.59H4L0,20ZM3.15,14h14.85V2H2v13.13l1.15-1.13ZM2,14V2v12Z" fill="currentColor"/></svg>
|
|
3
|
+
</template>
|
package/icons/account/index.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ContactIcon from "#icons/account/contact.vue";
|
|
2
|
+
import DetailsIcon from "#icons/person.vue";
|
|
3
|
+
import EditIcon from "#icons/account/edit.vue";
|
|
2
4
|
import MembershipIcon from "#icons/account/membership.vue";
|
|
3
|
-
import VideoIcon from "#icons/account/video.vue";
|
|
4
|
-
import PaymentIcon from "#icons/account/payment.vue";
|
|
5
5
|
import OrdersIcon from "#icons/account/orders.vue";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import PaymentIcon from "#icons/account/payment.vue";
|
|
7
|
+
import TicketIcon from "#icons/account/ticket.vue";
|
|
8
|
+
|
|
9
|
+
import PersonalIcon from "#icons/account/personal.vue";
|
|
8
10
|
|
|
9
11
|
export {
|
|
10
|
-
|
|
12
|
+
ContactIcon,
|
|
13
|
+
DetailsIcon,
|
|
14
|
+
EditIcon,
|
|
11
15
|
MembershipIcon,
|
|
12
|
-
VideoIcon,
|
|
13
|
-
PaymentIcon,
|
|
14
16
|
OrdersIcon,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
PaymentIcon,
|
|
18
|
+
TicketIcon,
|
|
19
|
+
PersonalIcon,
|
|
17
20
|
};
|
|
@@ -1,12 +1,3 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
-
height="72"
|
|
5
|
-
viewBox="0 0 24 24"
|
|
6
|
-
width="72"
|
|
7
|
-
>
|
|
8
|
-
<path
|
|
9
|
-
d="M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v5l4-2 4 2v-5h4c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 13H4v-2h16v2zm0-5H4V4h16v6z"
|
|
10
|
-
/>
|
|
11
|
-
</svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" version="1.1" viewBox="0 0 20 20"><path d="M2,20c-.55,0-1.02-.2-1.41-.59s-.59-.86-.59-1.41V7c0-.55.2-1.02.59-1.41s.86-.59,1.41-.59h5v-3c0-.55.2-1.02.59-1.41s.86-.59,1.41-.59h2c.55,0,1.02.2,1.41.59s.59.86.59,1.41v3h5c.55,0,1.02.2,1.41.59s.59.86.59,1.41v11c0,.55-.2,1.02-.59,1.41s-.86.59-1.41.59H2ZM2,18h16V7h-5c0,.55-.2,1.02-.59,1.41s-.86.59-1.41.59h-2c-.55,0-1.02-.2-1.41-.59s-.59-.86-.59-1.41H2v11ZM4,16h6v-.45c0-.28-.08-.55-.24-.79s-.38-.43-.66-.56c-.33-.15-.67-.26-1.01-.34s-.7-.11-1.09-.11-.75.04-1.09.11-.68.19-1.01.34c-.28.13-.5.32-.66.56s-.24.5-.24.79v.45ZM12,14.5h4v-1.5h-4v1.5ZM7,13c.42,0,.77-.15,1.06-.44s.44-.65.44-1.06-.15-.77-.44-1.06-.65-.44-1.06-.44-.77.15-1.06.44-.44.65-.44,1.06.15.77.44,1.06.65.44,1.06.44ZM12,11.5h4v-1.5h-4v1.5ZM9,7h2V2h-2v5Z" fill="currentColor"/></svg>
|
|
12
3
|
</template>
|
package/icons/account/orders.vue
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
-
enable-background="new 0 0 24 24"
|
|
5
|
-
viewBox="0 0 24 24"
|
|
6
|
-
height="72"
|
|
7
|
-
width="72"
|
|
8
|
-
>
|
|
9
|
-
<path
|
|
10
|
-
d="M19.5,3.5L18,2l-1.5,1.5L15,2l-1.5,1.5L12,2l-1.5,1.5L9,2L7.5,3.5L6,2v14H3v3c0,1.66,1.34,3,3,3h12c1.66,0,3-1.34,3-3V2 L19.5,3.5z M19,19c0,0.55-0.45,1-1,1s-1-0.45-1-1v-3H8V5h11V19z"
|
|
11
|
-
/>
|
|
12
|
-
<rect height="2" width="6" x="9" y="7" />
|
|
13
|
-
<rect height="2" width="2" x="16" y="7" />
|
|
14
|
-
<rect height="2" width="6" x="9" y="10" />
|
|
15
|
-
<rect height="2" width="2" x="16" y="10" />
|
|
16
|
-
</svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="31.5" height="35" viewBox="0 0 18 20"><path d="M3,20c-.83,0-1.54-.29-2.13-.88-.58-.58-.88-1.29-.88-2.13v-3h3V0l1.5,1.5,1.5-1.5,1.5,1.5,1.5-1.5,1.5,1.5,1.5-1.5,1.5,1.5,1.5-1.5,1.5,1.5,1.5-1.5v17c0,.83-.29,1.54-.88,2.13-.58.58-1.29.88-2.13.88H3ZM15,18c.28,0,.52-.1.71-.29s.29-.43.29-.71V3H5v11h9v3c0,.28.1.52.29.71s.43.29.71.29ZM6,7v-2h6v2h-6ZM6,10v-2h6v2h-6ZM14,7c-.28,0-.52-.1-.71-.29s-.29-.43-.29-.71.1-.52.29-.71.43-.29.71-.29.52.1.71.29.29.43.29.71-.1.52-.29.71-.43.29-.71.29ZM14,10c-.28,0-.52-.1-.71-.29s-.29-.43-.29-.71.1-.52.29-.71.43-.29.71-.29.52.1.71.29.29.43.29.71-.1.52-.29.71-.43.29-.71.29ZM3,18h9v-2H2v1c0,.28.1.52.29.71s.43.29.71.29ZM2,18v-2,2Z" fill="currentColor"/></svg>
|
|
17
3
|
</template>
|
|
@@ -1,12 +1,3 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
-
height="72"
|
|
5
|
-
viewBox="0 0 24 24"
|
|
6
|
-
width="72"
|
|
7
|
-
>
|
|
8
|
-
<path
|
|
9
|
-
d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"
|
|
10
|
-
/>
|
|
11
|
-
</svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="28" viewBox="0 0 20 16"><path d="M20,2v12c0,.55-.2,1.02-.59,1.41s-.86.59-1.41.59H2c-.55,0-1.02-.2-1.41-.59s-.59-.86-.59-1.41V2C0,1.45.2.98.59.59s.86-.59,1.41-.59h16c.55,0,1.02.2,1.41.59s.59.86.59,1.41ZM2,4h16v-2H2v2ZM2,8v6h16v-6H2ZM2,14V2v12Z" fill="currentColor"/></svg>
|
|
12
3
|
</template>
|
|
@@ -1,12 +1,3 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
-
height="72"
|
|
5
|
-
viewBox="0 0 24 24"
|
|
6
|
-
width="72"
|
|
7
|
-
>
|
|
8
|
-
<path
|
|
9
|
-
d="M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"
|
|
10
|
-
/>
|
|
11
|
-
</svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" viewBox="0 0 35 35"><path d="M12.25,17.06c-1.21,0-2.19.98-2.19,2.19s.98,2.19,2.19,2.19,2.19-.98,2.19-2.19-.98-2.19-2.19-2.19ZM22.75,17.06c-1.21,0-2.19.98-2.19,2.19s.98,2.19,2.19,2.19,2.19-.98,2.19-2.19-.98-2.19-2.19-2.19ZM17.5,0C7.84,0,0,7.84,0,17.5s7.84,17.5,17.5,17.5,17.5-7.84,17.5-17.5S27.16,0,17.5,0ZM17.5,31.5c-7.72,0-14-6.28-14-14,0-.51.03-1.01.09-1.5,4.13-1.84,7.4-5.22,9.12-9.4,3.17,4.48,8.38,7.4,14.28,7.4,1.37,0,2.68-.16,3.94-.46.37,1.24.58,2.57.58,3.96,0,7.72-6.28,14-14,14Z" fill="currentColor" /></svg>
|
|
12
3
|
</template>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="28" viewBox="0 0 20 16"><path d="M7.2,12l2.8-2.1,2.75,2.1-1.05-3.4,2.8-2.2h-3.4l-1.1-3.4-1.1,3.4h-3.4l2.75,2.2-1.05,3.4ZM2,16c-.55,0-1.02-.2-1.41-.59s-.59-.86-.59-1.41v-3.38c0-.18.06-.34.18-.48s.27-.22.45-.25c.4-.13.73-.38.99-.73s.39-.74.39-1.18-.13-.83-.39-1.18-.59-.59-.99-.73c-.18-.03-.33-.12-.45-.25s-.18-.29-.18-.48v-3.38C0,1.45.2.98.59.59s.86-.59,1.41-.59h16c.55,0,1.02.2,1.41.59s.59.86.59,1.41v3.38c0,.18-.06.34-.18.48s-.27.22-.45.25c-.4.13-.73.38-.99.73s-.39.74-.39,1.18.13.83.39,1.18.59.59.99.73c.18.03.33.12.45.25s.18.29.18.48v3.38c0,.55-.2,1.02-.59,1.41s-.86.59-1.41.59H2ZM2,14h16v-2.55c-.62-.37-1.1-.85-1.46-1.46s-.54-1.27-.54-1.99.18-1.38.54-1.99.85-1.1,1.46-1.46v-2.55H2v2.55c.62.37,1.1.85,1.46,1.46s.54,1.27.54,1.99-.18,1.38-.54,1.99-.85,1.1-1.46,1.46v2.55Z" fill="currentColor"/></svg>
|
|
3
|
+
</template>
|
package/icons/back_arrow.vue
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg
|
|
3
|
-
width="16"
|
|
4
|
-
height="16"
|
|
5
|
-
viewBox="0 0 16 16"
|
|
6
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
-
>
|
|
8
|
-
<path d="M16 7H3.83L9.42 1.41L8 0L0 8L8 16L9.41 14.59L3.83 9H16V7Z" />
|
|
9
|
-
</svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 16 16"><path d="M16,7H3.83L9.42,1.41l-1.42-1.41L0,8l8,8,1.41-1.41-5.58-5.59h12.17v-2Z" fill="currentColor" /></svg>
|
|
10
3
|
</template>
|
package/icons/close.vue
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="28" height="28" viewBox="0 0 20 20">
|
|
3
|
+
<path class="tint" fill="#ffffff" d="M10,1c-4.9,0-9,4.1-9,9s4.1,9,9,9s9-4.1,9-9S14.9,1,10,1z"/>
|
|
4
|
+
<path class="cross" fill="currentColor" d="M10,0C4.5,0,0,4.5,0,10s4.5,10,10,10s10-4.5,10-10S15.5,0,10,0z M10,18c-4.4,0-8-3.6-8-8s3.6-8,8-8 s8,3.6,8,8S14.4,18,10,18z M12.6,6L10,8.6L7.4,6L6,7.4L8.6,10L6,12.6L7.4,14l2.6-2.6l2.6,2.6l1.4-1.4L11.4,10L14,7.4L12.6,6z"/>
|
|
5
|
+
</svg>
|
|
6
|
+
</template>
|
|
7
|
+
|
package/icons/index.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
import ArrowBack from "#icons/arrow_back.vue";
|
|
2
|
-
import ArrowIcon from "#icons/arrow.vue";
|
|
3
|
-
import ArrowForward from "#icons/arrow_forward.vue";
|
|
4
1
|
import BackArrow from "#icons/back_arrow.vue";
|
|
5
2
|
import BarbicanLogo from "#icons/barbican.vue";
|
|
6
3
|
import CartIcon from "#icons/cart.vue";
|
|
7
4
|
import CityOfLondonLogo from "#icons/city_of_london.vue";
|
|
8
5
|
import CityOfLondonLockup from "#icons/city_of_london_lockup.vue";
|
|
6
|
+
import CloseIcon from "#icons/close.vue";
|
|
9
7
|
import InformationIcon from "#icons/information.vue";
|
|
8
|
+
import QrCode from "#icons/qr_code.vue";
|
|
10
9
|
|
|
11
10
|
export {
|
|
12
|
-
ArrowBack,
|
|
13
|
-
ArrowIcon,
|
|
14
|
-
ArrowForward,
|
|
15
11
|
BackArrow,
|
|
16
12
|
BarbicanLogo,
|
|
17
13
|
CartIcon,
|
|
18
14
|
CityOfLondonLogo,
|
|
19
15
|
CityOfLondonLockup,
|
|
16
|
+
CloseIcon,
|
|
20
17
|
InformationIcon,
|
|
18
|
+
QrCode,
|
|
21
19
|
};
|
package/icons/person.vue
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" version="1.1" viewBox="0 0 16 16"><path d="M8,8c-1.1,0-2.04-.39-2.83-1.18-.78-.78-1.18-1.73-1.18-2.83s.39-2.04,1.18-2.83,1.73-1.18,2.83-1.18,2.04.39,2.83,1.18,1.18,1.73,1.18,2.83-.39,2.04-1.18,2.83c-.78.78-1.73,1.18-2.83,1.18ZM0,16v-2.8c0-.57.15-1.09.44-1.56s.68-.84,1.16-1.09c1.03-.52,2.08-.9,3.15-1.16s2.15-.39,3.25-.39,2.18.13,3.25.39,2.12.65,3.15,1.16c.48.25.87.61,1.16,1.09s.44,1,.44,1.56v2.8H0Z" fill="currentColor"/></svg>
|
|
3
|
+
</template>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M55.3902 99.7024V88.6243H66.4683V99.7024H55.3902ZM44.3122 88.6243V60.9292H55.3902V88.6243H44.3122ZM88.6243 72.0073V49.8512H99.7024V72.0073H88.6243ZM77.5463 49.8512V38.7731H88.6243V49.8512H77.5463ZM11.078 60.9292V49.8512H22.1561V60.9292H11.078ZM0 49.8512V38.7731H11.078V49.8512H0ZM49.8512 11.078V0H60.9292V11.078H49.8512ZM8.30853 24.9256H24.9256V8.30853H8.30853V24.9256ZM0 33.2341V0H33.2341V33.2341H0ZM8.30853 91.3938H24.9256V74.7768H8.30853V91.3938ZM0 99.7024V66.4683H33.2341V99.7024H0ZM74.7768 24.9256H91.3938V8.30853H74.7768V24.9256ZM66.4683 33.2341V0H99.7024V33.2341H66.4683ZM77.5463 99.7024V83.0853H66.4683V72.0073H88.6243V88.6243H99.7024V99.7024H77.5463ZM55.3902 60.9292V49.8512H77.5463V60.9292H55.3902ZM33.2341 60.9292V49.8512H22.1561V38.7731H55.3902V49.8512H44.3122V60.9292H33.2341ZM38.7731 33.2341V11.078H49.8512V22.1561H60.9292V33.2341H38.7731ZM12.4628 20.7713V12.4628H20.7713V20.7713H12.4628ZM12.4628 87.2396V78.931H20.7713V87.2396H12.4628ZM78.931 20.7713V12.4628H87.2396V20.7713H78.931Z" fill="currentColor" />
|
|
4
|
+
</svg>
|
|
5
|
+
</template>
|
package/icons/stream/index.js
CHANGED
|
@@ -4,11 +4,9 @@ import ChatIcon from "#icons/stream/chat.vue";
|
|
|
4
4
|
import CogIcon from "#icons/stream/cog.vue";
|
|
5
5
|
import VolumeIcon from "#icons/stream/volume.vue";
|
|
6
6
|
import LiveIcon from "#icons/stream/live.vue";
|
|
7
|
-
import CloseIcon from "#icons/stream/close.vue";
|
|
8
7
|
|
|
9
8
|
export {
|
|
10
9
|
AirplayIcon,
|
|
11
|
-
CloseIcon,
|
|
12
10
|
CastIcon,
|
|
13
11
|
ChatIcon,
|
|
14
12
|
CogIcon,
|
package/index.js
CHANGED
|
@@ -32,9 +32,15 @@ import BrFormRadioGroup from '#components/BrFormRadioGroup.vue'
|
|
|
32
32
|
import BrFormRow from '#components/BrFormRow.vue'
|
|
33
33
|
import BrFormTel from '#components/BrFormTel.vue'
|
|
34
34
|
import BrFormTextarea from '#components/BrFormTextarea.vue'
|
|
35
|
+
import BrFormToggle from '#components/BrFormToggle.vue'
|
|
35
36
|
import BrFormUpdate from '#components/BrFormUpdate.vue'
|
|
36
37
|
import BrFormVisible from '#components/BrFormVisible.vue'
|
|
37
38
|
|
|
39
|
+
import BrNavCard from '#components/BrNavCard.vue'
|
|
40
|
+
import BrNavCardWrap from '#components/BrNavCardWrap.vue'
|
|
41
|
+
import BrNavLink from '#components/BrNavLink.vue'
|
|
42
|
+
import BrOverlay from '#components/BrOverlay.vue'
|
|
43
|
+
|
|
38
44
|
import BrLoader from '#components/BrLoader.vue'
|
|
39
45
|
import BrSkiplink from '#components/BrSkiplink.vue'
|
|
40
46
|
import BrStatusBars from '#components/BrStatusBars.vue'
|
|
@@ -76,9 +82,14 @@ export {
|
|
|
76
82
|
BrFormRow,
|
|
77
83
|
BrFormTel,
|
|
78
84
|
BrFormTextarea,
|
|
85
|
+
BrFormToggle,
|
|
79
86
|
BrFormUpdate,
|
|
80
87
|
BrFormVisible,
|
|
81
88
|
BrLoader,
|
|
89
|
+
BrNavCard,
|
|
90
|
+
BrNavCardWrap,
|
|
91
|
+
BrNavLink,
|
|
92
|
+
BrOverlay,
|
|
82
93
|
BrSkiplink,
|
|
83
94
|
BrStatusBars,
|
|
84
95
|
BrWrap,
|
package/package.json
CHANGED
package/scss/_br-button.scss
CHANGED
|
@@ -113,8 +113,15 @@
|
|
|
113
113
|
/// Membership card button.
|
|
114
114
|
/// Used for membership renewals.
|
|
115
115
|
/// @group Buttons
|
|
116
|
-
.btn.btn-membership
|
|
117
|
-
@include btn-membership
|
|
116
|
+
.btn.btn-renew-membership {
|
|
117
|
+
@include btn-renew-membership;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/// Overlay exit button.
|
|
121
|
+
/// Used for closing the overlay.
|
|
122
|
+
/// @group Buttons
|
|
123
|
+
.btn.btn-exit-overlay {
|
|
124
|
+
@include btn-exit-overlay;
|
|
118
125
|
}
|
|
119
126
|
|
|
120
127
|
.btn {
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
@use "mixins/input" as *;
|
|
4
4
|
@use "mixins/focus" as *;
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/// @deprecated custom-checkbox class. br-form-checkbox is more descriptive
|
|
7
7
|
|
|
8
|
-
.br-checkbox
|
|
9
|
-
|
|
10
|
-
@include br-checkbox; // formerly checkbox-input
|
|
8
|
+
.br-form-checkbox {
|
|
9
|
+
@include br-form-checkbox; // formerly checkbox-input
|
|
11
10
|
|
|
12
11
|
input[table][type='checkbox'] {
|
|
13
12
|
@include inset;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@use "mixins/input/generic" as *;
|
|
2
|
+
@use "mixins/breakpoints" as *;
|
|
3
|
+
|
|
4
|
+
.br-form-toggle label {
|
|
5
|
+
@include generic-input-label;
|
|
6
|
+
|
|
7
|
+
@include small-up {
|
|
8
|
+
max-width: var(--width-layout-xs);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
& {
|
|
12
|
+
grid-template-columns: auto 3.25rem;
|
|
13
|
+
padding-left: var(--padding-md);
|
|
14
|
+
display: inline-grid;
|
|
15
|
+
align-items: center;
|
|
16
|
+
font-weight: normal;
|
|
17
|
+
height: initial;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
width: 100%;
|
|
20
|
+
gap: 0.5em;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.br-form-toggle input[type=checkbox] {
|
|
25
|
+
background-color: var(--color-black-50-lighten);
|
|
26
|
+
transition-property: background-color;
|
|
27
|
+
transition-duration: 200ms;
|
|
28
|
+
border-radius: 1.125em;
|
|
29
|
+
position: relative;
|
|
30
|
+
appearance: none;
|
|
31
|
+
height: 1.875rem;
|
|
32
|
+
cursor: inherit;
|
|
33
|
+
width: 3.25rem;
|
|
34
|
+
color: white;
|
|
35
|
+
padding: 0;
|
|
36
|
+
margin: 0;
|
|
37
|
+
|
|
38
|
+
&:focus {
|
|
39
|
+
outline-color: var(--color-black-50-lighten);
|
|
40
|
+
outline-offset: var(--border-width-lg);
|
|
41
|
+
outline-width: var(--border-width-lg);
|
|
42
|
+
outline-style: solid;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.br-form-toggle input[type=checkbox]:before {
|
|
47
|
+
transition-property: transform;
|
|
48
|
+
transition-duration: 200ms;
|
|
49
|
+
background-color: white;
|
|
50
|
+
border-radius: 50%;
|
|
51
|
+
position: absolute;
|
|
52
|
+
height: 1.65em;
|
|
53
|
+
bottom: 0.3em;
|
|
54
|
+
width: 1.65em;
|
|
55
|
+
left: 0.3em;
|
|
56
|
+
content: '';
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.br-form-toggle input[type=checkbox]:checked:before {
|
|
60
|
+
-webkit-transform: translateX(1.65em);
|
|
61
|
+
-ms-transform: translateX(1.65em);
|
|
62
|
+
transform: translateX(1.65em);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.br-form-toggle input[type=checkbox]:checked {
|
|
66
|
+
background-color: var(--color-status-success);
|
|
67
|
+
|
|
68
|
+
&:focus {
|
|
69
|
+
outline-color: var(--color-status-success);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
.br-navlink {
|
|
2
|
+
border-color: var(--color-black-25-lighten);
|
|
3
|
+
border-bottom-width: var(--border-width-sm);
|
|
4
|
+
border-right-width: var(--border-width-sm);
|
|
5
|
+
border-left-width: var(--border-width-sm);
|
|
6
|
+
padding-bottom: var(--padding-md);
|
|
7
|
+
padding-right: var(--padding-lg);
|
|
8
|
+
padding-left: var(--padding-lg);
|
|
9
|
+
padding-top: var(--padding-md);
|
|
10
|
+
background-color: white;
|
|
11
|
+
text-decoration: none;
|
|
12
|
+
border-top-width: 0;
|
|
13
|
+
align-items: center;
|
|
14
|
+
border-style: solid;
|
|
15
|
+
gap: var(--gap-xs);
|
|
16
|
+
font-weight: bold;
|
|
17
|
+
display: flex;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.br-navlink:first-child {
|
|
21
|
+
border-top-right-radius: var(--border-radius-lg);
|
|
22
|
+
border-top-left-radius: var(--border-radius-lg);
|
|
23
|
+
border-top-width: var(--border-width-sm);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.br-navlink:last-child {
|
|
27
|
+
border-bottom-right-radius: var(--border-radius-lg);
|
|
28
|
+
border-bottom-left-radius: var(--border-radius-lg);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
a.br-navlink:hover,
|
|
32
|
+
a.br-navlink:focus {
|
|
33
|
+
background-color: var(--color-brand-generic-15-lighten);
|
|
34
|
+
outline-color: var(--color-brand-generic-90-darken);
|
|
35
|
+
outline-offset: calc(var(--border-width-sm) * -1);
|
|
36
|
+
color: var(--color-brand-generic-90-darken);
|
|
37
|
+
outline-width: var(--border-width-lg);
|
|
38
|
+
text-decoration: underline;
|
|
39
|
+
outline-style: solid;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
div.br-navlink {
|
|
43
|
+
background-color: var(--color-brand-generic);
|
|
44
|
+
border-color: var(--color-brand-generic);
|
|
45
|
+
outline-offset: calc(var(--border-width-sm) * -1);
|
|
46
|
+
outline-color: var(--color-brand-generic);
|
|
47
|
+
outline-width: var(--border-width-lg);
|
|
48
|
+
outline-style: solid;
|
|
49
|
+
color: white;
|
|
50
|
+
cursor: default;
|
|
51
|
+
}
|