barbican-reset 2.41.0 → 2.43.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 (69) hide show
  1. package/README.md +21 -21
  2. package/components/{account_title.vue → AccountTitle.vue} +6 -9
  3. package/components/{br_alert.vue → BrAlert.vue} +1 -2
  4. package/components/BrAnchor.vue +34 -0
  5. package/components/BrButton/dot_typing.vue +60 -0
  6. package/components/{br_button → BrButton}/remove_ticket.vue +8 -19
  7. package/components/{br_button.vue → BrButton.vue} +6 -2
  8. package/components/BrCollapse/Button.vue +36 -0
  9. package/components/BrCollapse/Content.vue +17 -0
  10. package/components/BrCollapse/Demo.vue +22 -0
  11. package/components/{br_confirm_done.vue → BrConfirmDone.vue} +3 -3
  12. package/components/{br_confirm_email.vue → BrConfirmEmail.vue} +3 -3
  13. package/components/{br_container.vue → BrContainer.vue} +30 -21
  14. package/components/{br_footer/lower.vue → BrFooterLower.vue} +0 -6
  15. package/components/{br_footer/upper.vue → BrFooterUpper.vue} +6 -7
  16. package/components/{br_form_block.vue → BrFormBlock.vue} +0 -8
  17. package/components/BrFormCheckbox/Component.vue +35 -0
  18. package/components/BrFormCheckbox/Demo.vue +27 -0
  19. package/components/BrFormCheckboxGroup/Component.vue +30 -0
  20. package/components/BrFormCheckboxGroup/Demo.vue +39 -0
  21. package/components/BrFormGroup/Component.vue +15 -0
  22. package/components/BrFormGroup/Demo.vue +26 -0
  23. package/components/BrFormInput/Component.vue +35 -0
  24. package/components/BrFormInput/Demo.vue +64 -0
  25. package/components/BrFormPassword.vue +67 -0
  26. package/components/BrFormRadio/Component.vue +23 -0
  27. package/components/BrFormRadio/Demo.vue +33 -0
  28. package/components/BrFormRadioGroup/Component.vue +18 -0
  29. package/components/BrFormRadioGroup/Demo.vue +22 -0
  30. package/components/{br_form_row.vue → BrFormRow.vue} +4 -4
  31. package/components/BrFormTextarea/Component.vue +23 -0
  32. package/components/BrFormTextarea/Demo.vue +22 -0
  33. package/components/BrFormUpdate.vue +18 -0
  34. package/components/{br_loader.vue → BrLoader.vue} +1 -1
  35. package/components/{br_skiplink.vue → BrSkiplink.vue} +0 -1
  36. package/components/{br_wrap.vue → BrWrap.vue} +4 -4
  37. package/components/{event_summary.vue → EventSummary.vue} +29 -21
  38. package/components/{fluid_iframe.vue → FluidIframe.vue} +0 -1
  39. package/components/{see_inside.vue → SeeInside.vue} +40 -26
  40. package/components/{video_content.vue → VideoContent.vue} +18 -27
  41. package/icons/account/membership.vue +0 -6
  42. package/icons/account/orders.vue +0 -6
  43. package/icons/account/payment.vue +0 -6
  44. package/icons/account/personal.vue +0 -6
  45. package/icons/account/support.vue +0 -6
  46. package/icons/account/video.vue +0 -6
  47. package/icons/arrow_back.vue +9 -8
  48. package/icons/arrow_forward.vue +7 -8
  49. package/icons/back_arrow.vue +6 -7
  50. package/icons/city_of_london_lockup.vue +14 -9
  51. package/icons/information.vue +4 -8
  52. package/icons/password/hide.vue +0 -6
  53. package/icons/password/show.vue +0 -6
  54. package/icons/stream/live.vue +9 -8
  55. package/icons/wheelchair.vue +15 -9
  56. package/index.js +42 -24
  57. package/mixins/inputs.js +32 -0
  58. package/package.json +2 -1
  59. package/scss/_br-wrap.scss +3 -4
  60. package/scss/index.scss +0 -4
  61. package/components/br_anchor.vue +0 -35
  62. package/components/br_button/dot_typing.vue +0 -43
  63. package/components/br_form_password.vue +0 -69
  64. package/components/br_form_update.vue +0 -12
  65. /package/components/{br_button → BrButton}/components.js +0 -0
  66. /package/components/{br_card.vue → BrCard.vue} +0 -0
  67. /package/components/{br_card_sub_title.vue → BrCardSubTitle.vue} +0 -0
  68. /package/components/{br_card_text.vue → BrCardText.vue} +0 -0
  69. /package/components/{br_card_title.vue → BrCardTitle.vue} +0 -0
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <div>
3
+ <br-form-checkbox
4
+ @change="({ value }) => (boolean = value)"
5
+ data-test="checkbox-test-data"
6
+ id="checkbox-id"
7
+ :disabled="false"
8
+ :table="false"
9
+ :value="true"
10
+ success>
11
+ Lorem ipsum dolor sit amet.
12
+ </br-form-checkbox>
13
+ <br-form-checkbox-group
14
+ @change="(value) => (model = value)"
15
+ data-test="checkbox-test-data"
16
+ class="checkbox-class"
17
+ name="checkbox-name"
18
+ id="checkbox-id"
19
+ :options="options"
20
+ :model="model" />
21
+ {{ boolean ? 'true' : 'false' }}
22
+ {{ model.length ? model : 'nothing' }}
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ export default {
28
+ data() {
29
+ return {
30
+ boolean: false,
31
+ model: [],
32
+ options: [
33
+ { text: 'Orange text', value: 'orange' },
34
+ { text: 'Apple text', value: 'apple' },
35
+ ],
36
+ }
37
+ },
38
+ }
39
+ </script>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <fieldset :id="generateID">
3
+ <legend class="col-form-label">{{ label }}</legend>
4
+ <slot></slot>
5
+ </fieldset>
6
+ </template>
7
+
8
+ <script>
9
+ import mixins from "../../mixins/inputs";
10
+
11
+ export default {
12
+ props: ["label", "id"],
13
+ mixins: [mixins],
14
+ };
15
+ </script>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <br-form-group
3
+ label="I want to get the latest Barbican news and events."
4
+ data-test="working">
5
+ <br-form-radio-group
6
+ @change="({ value }) => (contactMeSelection = value)"
7
+ data-test="global-opt-in"
8
+ name="contact-me-options"
9
+ :options="yesNoOptions"
10
+ id="contact-me" />
11
+ </br-form-group>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ data() {
17
+ return {
18
+ contactMeSelection: true,
19
+ yesNoOptions: [
20
+ { text: 'Yes', value: true },
21
+ { text: 'No', value: false },
22
+ ],
23
+ }
24
+ },
25
+ }
26
+ </script>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <input
3
+ :autocomplete="autocomplete"
4
+ @input="emitInputData"
5
+ :data-test="dataTest"
6
+ :required="required"
7
+ :disabled="disabled"
8
+ :id="generateID"
9
+ :value="value"
10
+ :type="type"
11
+ :name="name"
12
+ :min="min"
13
+ :max="max" />
14
+ <label v-if="$slots.default" :for="generateID" ref="label"><slot /></label>
15
+ </template>
16
+
17
+ <script>
18
+ import mixins from '../../mixins/inputs'
19
+
20
+ export default {
21
+ mixins: [mixins],
22
+ props: [
23
+ 'autocomplete',
24
+ 'dataTest',
25
+ 'required',
26
+ 'disabled',
27
+ 'value',
28
+ 'name',
29
+ 'type',
30
+ 'min',
31
+ 'max',
32
+ 'id',
33
+ ],
34
+ }
35
+ </script>
@@ -0,0 +1,64 @@
1
+ <template>
2
+ <div>
3
+ <br-form-row>
4
+ <br-form-radio
5
+ @change="({ value }) => (radio = value)"
6
+ name="radio"
7
+ value="true">
8
+ true
9
+ </br-form-radio>
10
+ <br-form-radio
11
+ @change="({ value }) => (radio = value)"
12
+ name="radio"
13
+ value="false">
14
+ false
15
+ </br-form-radio>
16
+ </br-form-row>
17
+ <br-form-row>
18
+ <br-form-input
19
+ @change="({ value }) => (gift.sendDate = value)"
20
+ :min="minimumSendDate"
21
+ :max="maximumSendDate"
22
+ data-test="send-date"
23
+ type="date" />
24
+ <br-form-input
25
+ @change="({ value }) => (email = value)"
26
+ data-test="login-form-email"
27
+ autocomplete="username"
28
+ value="disabled"
29
+ class="custom"
30
+ type="email"
31
+ name="email"
32
+ :disabled="false"
33
+ :required="true" />
34
+ </br-form-row>
35
+ <br-form-row>
36
+ {{ email }}
37
+ {{ radio }}
38
+ </br-form-row>
39
+ </div>
40
+ </template>
41
+
42
+ <script>
43
+ import { DateTime } from 'luxon'
44
+
45
+ export default {
46
+ computed: {
47
+ minimumSendDate() {
48
+ return DateTime.now().toISODate()
49
+ },
50
+ maximumSendDate() {
51
+ return DateTime.now().plus({ years: 1 }).toISODate()
52
+ },
53
+ },
54
+ data() {
55
+ return {
56
+ radio: 'radio',
57
+ email: 'email',
58
+ gift: {
59
+ sendDate: '',
60
+ },
61
+ }
62
+ },
63
+ }
64
+ </script>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <div class="br-form-password">
3
+ <input
4
+ :autocomplete="autocomplete"
5
+ @input="inputChange"
6
+ :value="password"
7
+ name="password"
8
+ :type="type"
9
+ required
10
+ :id="id"
11
+ />
12
+ <br-button
13
+ @click="showPassword = !showPassword"
14
+ data-test="show-password"
15
+ class="padding-0"
16
+ >
17
+ <span class="sr-only">
18
+ {{ showPassword ? "Hide" : "Show" }} password
19
+ </span>
20
+ <show-password-icon v-if="showPassword" />
21
+ <hide-password-icon v-else />
22
+ </br-button>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import BrButton from "./BrButton";
28
+ import HidePasswordIcon from "../icons/password/hide";
29
+ import ShowPasswordIcon from "../icons/password/show";
30
+
31
+ export default {
32
+ data() {
33
+ return {
34
+ password: "",
35
+ showPassword: false,
36
+ };
37
+ },
38
+ components: {
39
+ HidePasswordIcon,
40
+ ShowPasswordIcon,
41
+ BrButton,
42
+ },
43
+ props: {
44
+ id: {
45
+ type: String,
46
+ default: "password",
47
+ },
48
+ },
49
+ methods: {
50
+ inputChange({ target }) {
51
+ let { value } = target;
52
+
53
+ this.password = value;
54
+
55
+ this.$emit("change", value);
56
+ },
57
+ },
58
+ computed: {
59
+ type() {
60
+ return this.showPassword ? "text" : "password";
61
+ },
62
+ autocomplete() {
63
+ return this.showPassword ? "off" : "current-password";
64
+ },
65
+ },
66
+ };
67
+ </script>
@@ -0,0 +1,23 @@
1
+ <template>
2
+ <div class="custom-radio">
3
+ <input
4
+ @input="(event) => emitInputData(event, 'radio')"
5
+ :data-test="dataTest"
6
+ :disabled="disabled"
7
+ :checked="isDefault"
8
+ :id="generateID"
9
+ :value="value"
10
+ type="radio"
11
+ :name="name" />
12
+ <label v-if="$slots.default" :for="generateID" ref="label"><slot /></label>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import mixins from '../../mixins/inputs'
18
+
19
+ export default {
20
+ mixins: [mixins],
21
+ props: ['id', 'name', 'value', 'disabled', 'default', 'dataTest'],
22
+ }
23
+ </script>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div v-for="(group, index) in radios" :key="index">
3
+ <div>{{ group.default }}</div>
4
+ <br-form-radio
5
+ v-for="(option, index) in group.options"
6
+ @change="({ value }) => (group.default = value)"
7
+ :default="group.default"
8
+ data-test="here it is"
9
+ :name="group.name"
10
+ :value="option"
11
+ :key="index">
12
+ {{ option }}
13
+ </br-form-radio>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ data() {
20
+ return {
21
+ radios: [
22
+ { name: 'testA', default: true, options: [true, false] },
23
+ { name: 'testB', default: 16, options: [32, 46, 75] },
24
+ {
25
+ name: 'testC',
26
+ default: 'sentence',
27
+ options: ['paul', 'gareth', 'andrew'],
28
+ },
29
+ ],
30
+ }
31
+ },
32
+ }
33
+ </script>
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <div role="radiogroup" :id="id">
3
+ <br-form-radio
4
+ v-for="({ value, text }, index) in options"
5
+ @change="(event) => $emit('change', event)"
6
+ :value="value"
7
+ :key="index"
8
+ :name="name">
9
+ {{ text }}
10
+ </br-form-radio>
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ props: ['options', 'name', 'id'],
17
+ }
18
+ </script>
@@ -0,0 +1,22 @@
1
+ <template>
2
+ <br-form-radio-group
3
+ @change="({ value }) => (contactMeSelection = value)"
4
+ data-test="global-opt-in"
5
+ name="contact-me-options"
6
+ :options="yesNoOptions"
7
+ id="radio-slots" />
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ data() {
13
+ return {
14
+ contactMeSelection: true,
15
+ yesNoOptions: [
16
+ { text: 'Yes', value: true },
17
+ { text: 'No', value: false },
18
+ ],
19
+ }
20
+ },
21
+ }
22
+ </script>
@@ -6,16 +6,16 @@
6
6
  ><span v-if="label && optional">(optional)</span>
7
7
  </label>
8
8
  <div :class="[`content`, { editable }, { label }, { submit }, { radios }]">
9
- <b-button v-if="editable" variant="input-edit" @click="$emit('edit')">
9
+ <br-button v-if="editable" variant="input-edit" @click="$emit('edit')">
10
10
  <edit-icon />
11
- </b-button>
11
+ </br-button>
12
12
  <slot />
13
13
  </div>
14
14
  </div>
15
15
  </template>
16
16
 
17
- <script type="text/javascript">
18
- import BrButton from "./br_button";
17
+ <script>
18
+ import BrButton from "./BrButton";
19
19
  import { EditIcon } from "../icons/account";
20
20
 
21
21
  export default {
@@ -0,0 +1,23 @@
1
+ <template>
2
+ <textarea
3
+ @input="(event) => emitInputData(event, 'textarea')"
4
+ class="br-textarea form-control"
5
+ :placeholder="placeholder"
6
+ wrap="soft"
7
+ :id="id"></textarea>
8
+ </template>
9
+
10
+ <script>
11
+ import mixins from '../../mixins/inputs'
12
+
13
+ export default {
14
+ mixins: [mixins],
15
+ props: ['id', 'value', 'disabled', 'placeholder'],
16
+ }
17
+ </script>
18
+
19
+ <style lang="scss" scoped>
20
+ .br-textarea {
21
+ resize: none;
22
+ }
23
+ </style>
@@ -0,0 +1,22 @@
1
+ <template>
2
+ <div style="padding: 100px">
3
+ <br-form-textarea
4
+ @change="({ value }) => (gift.message = value)"
5
+ placeholder="placeholder"
6
+ data-test="data-test"
7
+ rows="6" />
8
+ {{ gift.message }}
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ export default {
14
+ data() {
15
+ return {
16
+ gift: {
17
+ message: '',
18
+ },
19
+ }
20
+ },
21
+ }
22
+ </script>
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <div class="br-form-update">
3
+ <div class="br-form-update--input" data-test="email"><slot /></div>
4
+ <br-button @click.prevent="$emit('update')" data-test="update">
5
+ update
6
+ </br-button>
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ import BrButton from "./BrButton";
12
+
13
+ export default {
14
+ components: {
15
+ BrButton,
16
+ },
17
+ };
18
+ </script>
@@ -12,7 +12,7 @@
12
12
  </template>
13
13
 
14
14
  <script>
15
- import BrCard from "./br_card";
15
+ import BrCard from "./BrCard";
16
16
 
17
17
  export default {
18
18
  components: {
@@ -6,7 +6,6 @@
6
6
 
7
7
  <script>
8
8
  export default {
9
- name: "BrSkiplink",
10
9
  props: {
11
10
  href: {
12
11
  type: String,
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div :class="['br_wrap',{ title },{ videos },{ thin }]">
2
+ <div :class="['br-wrap', { title }, { videos }, { thin }]">
3
3
  <slot></slot>
4
4
  </div>
5
5
  </template>
@@ -18,7 +18,7 @@ export default {
18
18
  videos: {
19
19
  type: Boolean,
20
20
  default: false,
21
- }
21
+ },
22
22
  },
23
- }
24
- </script>
23
+ };
24
+ </script>
@@ -5,21 +5,31 @@
5
5
  <div :class="$style.title">{{ data.title }}</div>
6
6
  <div :class="$style.date_time">{{ data.date_formatted }}</div>
7
7
  <div :class="$style.venue">{{ data.venue }}</div>
8
- <br-button v-if="!basket && hasSeeInside" variant="link" :class="$style.show_see_inside" @click="showSeeInside = !showSeeInside">See inside</br-button>
8
+ <br-button
9
+ v-if="!basket && hasSeeInside"
10
+ variant="link"
11
+ :class="$style.show_SeeInside"
12
+ @click="showSeeInside = !showSeeInside"
13
+ >See inside</br-button
14
+ >
9
15
  </div>
10
- <div :class="$style.see_inside" v-if="!basket && hasSeeInside && showSeeInside">
11
- <see-inside v-if="!basket && hasSeeInside" :data="data.see_inside" @closeSeeInside="showSeeInside = !showSeeInside"></see-inside>
16
+ <div
17
+ :class="$style.SeeInside"
18
+ v-if="!basket && hasSeeInside && showSeeInside"
19
+ >
20
+ <see-inside
21
+ v-if="!basket && hasSeeInside"
22
+ :data="data.SeeInside"
23
+ @closeSeeInside="showSeeInside = !showSeeInside"
24
+ ></see-inside>
12
25
  </div>
13
26
  </div>
14
-
15
27
  </template>
16
28
 
17
29
  <script>
18
-
19
- import SeeInside from './see_inside';
30
+ import SeeInside from "./SeeInside";
20
31
 
21
32
  export default {
22
- name: 'EventSummary',
23
33
  components: { SeeInside },
24
34
  props: {
25
35
  data: {
@@ -33,19 +43,19 @@ export default {
33
43
  },
34
44
  data() {
35
45
  return {
36
- showSeeInside: false
37
- }
46
+ showSeeInside: false,
47
+ };
38
48
  },
39
49
  computed: {
40
50
  wrapperClasses() {
41
51
  return [
42
- this.$style.event_summary,
43
- this.basket ? this.$style.in_basket : ''
44
- ]
52
+ this.$style.EventSummary,
53
+ this.basket ? this.$style.in_basket : "",
54
+ ];
45
55
  },
46
56
  hasSeeInside() {
47
- return this.data.see_inside.length > 0;
48
- }
57
+ return this.data.SeeInside.length > 0;
58
+ },
49
59
  },
50
60
  };
51
61
  </script>
@@ -83,12 +93,12 @@ export default {
83
93
  @include subtitle;
84
94
  }
85
95
 
86
- .show_see_inside {
96
+ .show_SeeInside {
87
97
  margin-top: 0.5rem;
88
98
  margin-bottom: 0.5rem;
89
99
  }
90
100
 
91
- .event_summary {
101
+ .EventSummary {
92
102
  @include medium-up {
93
103
  display: grid;
94
104
  grid-template-columns: 20rem auto;
@@ -109,17 +119,17 @@ export default {
109
119
  max-width: 100%;
110
120
  width: 100%;
111
121
  margin-bottom: $gap-instance;
112
-
122
+
113
123
  @include medium-up {
114
124
  margin-bottom: 0;
115
125
  }
116
126
  }
117
127
 
118
128
  .event_info {
119
- grid-row-end:2;
129
+ grid-row-end: 2;
120
130
  }
121
131
 
122
- .see_inside {
132
+ .SeeInside {
123
133
  grid-column-start: 1;
124
134
  grid-column-end: 3;
125
135
  margin-top: 1rem;
@@ -127,8 +137,6 @@ export default {
127
137
  @include large-up {
128
138
  margin-top: 0;
129
139
  grid-column-start: 2;
130
-
131
140
  }
132
141
  }
133
-
134
142
  </style>
@@ -13,7 +13,6 @@
13
13
 
14
14
  <script>
15
15
  export default {
16
- name: "FluidIframe",
17
16
  props: {
18
17
  src: {
19
18
  type: String,