barbican-reset 3.26.0 → 3.27.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/BrButton.vue +9 -53
- package/components/BrCard.vue +8 -70
- package/components/BrLink.vue +28 -2
- package/components/BrWrap.vue +14 -12
- package/index.js +2 -0
- package/package.json +1 -1
- package/scss/_atomic.scss +4 -0
- package/scss/_br-button.scss +0 -4
- package/scss/_br-card.scss +1 -1
- package/scss/_br-form-fieldset.scss +1 -1
- package/scss/_br-link.scss +2 -0
- package/scss/_br-wrap.scss +4 -0
- package/scss/_variables.scss +4 -1
- package/scss/br-link/_navcard.scss +61 -0
- package/scss/br-link/_navlink.scss +61 -0
- package/scss/index.scss +1 -0
- package/scss/mixins/_br-card.scss +7 -22
- package/scss/mixins/_br-wrap.scss +18 -0
- package/scss/mixins/br-link/_navlink.scss +17 -0
- package/scss/mixins/buttons/_custom.scss +0 -1
- package/scss/mixins/buttons/custom/_exit-overlay.scss +14 -13
- package/scss/mixins/buttons/custom/_summary.scss +1 -1
- package/scss/mixins/buttons/custom/_navcard.scss +0 -32
- package/scss/mixins/card/_navcard.scss +0 -66
- package/scss/mixins/card/_navitem.scss +0 -59
- package/scss/mixins/card/_navlink.scss +0 -30
package/components/BrButton.vue
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
:
|
|
2
|
+
<button
|
|
3
|
+
:aria-busy="props.state == 'loading' ? 'true' : 'false'"
|
|
4
4
|
:class="generateClassnames"
|
|
5
|
-
|
|
6
|
-
:
|
|
7
|
-
|
|
8
|
-
:is="defineComponent"
|
|
9
|
-
:to="to"
|
|
5
|
+
@click="emits('click')"
|
|
6
|
+
:type="props.type"
|
|
7
|
+
aria-live="polite"
|
|
10
8
|
ref="button">
|
|
11
9
|
<template v-if="state == 'default'">
|
|
12
10
|
<slot name="default">default</slot>
|
|
@@ -23,23 +21,17 @@
|
|
|
23
21
|
<template v-else-if="state == 'error'">
|
|
24
22
|
<slot name="error">error</slot>
|
|
25
23
|
</template>
|
|
26
|
-
</
|
|
24
|
+
</button>
|
|
27
25
|
</template>
|
|
28
26
|
|
|
29
27
|
<script setup>
|
|
30
28
|
import { computed, useTemplateRef } from 'vue'
|
|
31
29
|
import DotTyping from '#components/BrButton/dot_typing.vue'
|
|
32
|
-
import BrLink from '#components/BrLink.vue'
|
|
33
30
|
|
|
34
|
-
const
|
|
31
|
+
const emits = defineEmits(['click'])
|
|
35
32
|
|
|
36
33
|
const button = useTemplateRef('button')
|
|
37
34
|
|
|
38
|
-
const defineComponent = computed(() => {
|
|
39
|
-
if (props.to && !props.disabled) return BrLink
|
|
40
|
-
return 'button'
|
|
41
|
-
})
|
|
42
|
-
|
|
43
35
|
const generateClassnames = computed(() => {
|
|
44
36
|
let classnames = ['btn', 'btn-' + props.variant]
|
|
45
37
|
|
|
@@ -51,36 +43,10 @@ const generateClassnames = computed(() => {
|
|
|
51
43
|
classnames.push('btn-slim')
|
|
52
44
|
}
|
|
53
45
|
|
|
54
|
-
if (props.active) {
|
|
55
|
-
classnames.push('btn-active')
|
|
56
|
-
}
|
|
57
|
-
|
|
58
46
|
return classnames
|
|
59
47
|
})
|
|
60
48
|
|
|
61
|
-
const
|
|
62
|
-
if (props.to) return
|
|
63
|
-
return props.state == 'loading' ? 'true' : 'false'
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
const defineAriaLive = computed(() => {
|
|
67
|
-
if (props.to) return
|
|
68
|
-
return 'polite'
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
const focusButton = () => {
|
|
72
|
-
if (defineComponent.value == 'button' && button) {
|
|
73
|
-
button.value.focus()
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const defineType = function (component) {
|
|
78
|
-
if (props.type) return props.type
|
|
79
|
-
|
|
80
|
-
if (component == 'button') return 'button'
|
|
81
|
-
|
|
82
|
-
return null
|
|
83
|
-
}
|
|
49
|
+
const focusButton = () => button.value.focus()
|
|
84
50
|
|
|
85
51
|
const props = defineProps({
|
|
86
52
|
state: {
|
|
@@ -93,13 +59,7 @@ const props = defineProps({
|
|
|
93
59
|
},
|
|
94
60
|
type: {
|
|
95
61
|
type: String,
|
|
96
|
-
|
|
97
|
-
to: {
|
|
98
|
-
type: [Object, String],
|
|
99
|
-
},
|
|
100
|
-
disabled: {
|
|
101
|
-
type: Boolean,
|
|
102
|
-
default: false,
|
|
62
|
+
default: 'button',
|
|
103
63
|
},
|
|
104
64
|
inline: {
|
|
105
65
|
type: Boolean,
|
|
@@ -109,10 +69,6 @@ const props = defineProps({
|
|
|
109
69
|
type: Boolean,
|
|
110
70
|
default: false,
|
|
111
71
|
},
|
|
112
|
-
active: {
|
|
113
|
-
type: Boolean,
|
|
114
|
-
default: false,
|
|
115
|
-
},
|
|
116
72
|
})
|
|
117
73
|
|
|
118
74
|
defineExpose({
|
package/components/BrCard.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<div :class="generateClassnames">
|
|
3
3
|
<div v-if="$slots.header" class="br-card-header">
|
|
4
4
|
<slot name="header" />
|
|
5
5
|
</div>
|
|
@@ -11,49 +11,21 @@
|
|
|
11
11
|
<slot />
|
|
12
12
|
</br-card-body>
|
|
13
13
|
</template>
|
|
14
|
-
</
|
|
14
|
+
</div>
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<script setup>
|
|
18
18
|
import { computed } from 'vue'
|
|
19
19
|
import BrCardBody from '#components/BrCardBody.vue'
|
|
20
|
-
import BrLink from '#components/BrLink.vue'
|
|
21
|
-
|
|
22
|
-
const defineComponent = computed(() => {
|
|
23
|
-
if (props.to && !props.disabled) return BrLink
|
|
24
|
-
return 'div'
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
const defineTo = computed(() => {
|
|
28
|
-
if (props.disabled) return
|
|
29
|
-
return props.to
|
|
30
|
-
})
|
|
31
20
|
|
|
32
21
|
const generateClassnames = computed(() => {
|
|
33
22
|
let classnames = ['br-card']
|
|
34
23
|
|
|
35
24
|
if (props.inline) classnames.push('inline')
|
|
36
|
-
if (props.navcard) classnames.push('navcard')
|
|
37
|
-
if (props.navlink) classnames.push('navlink')
|
|
38
25
|
if (props.membership) classnames.push('membership')
|
|
39
26
|
if (props.qrcode) classnames.push('qrcode')
|
|
40
27
|
|
|
41
|
-
if (props.
|
|
42
|
-
classnames.push('navitem')
|
|
43
|
-
|
|
44
|
-
if (props.disabled) {
|
|
45
|
-
classnames.push('disabled')
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (
|
|
50
|
-
!props.inline &&
|
|
51
|
-
!props.navcard &&
|
|
52
|
-
!props.navitem &&
|
|
53
|
-
!props.navlink &&
|
|
54
|
-
!props.membership &&
|
|
55
|
-
!props.qrcode
|
|
56
|
-
) {
|
|
28
|
+
if (!props.inline && !props.membership && !props.qrcode) {
|
|
57
29
|
classnames.push('default')
|
|
58
30
|
}
|
|
59
31
|
|
|
@@ -61,44 +33,10 @@ const generateClassnames = computed(() => {
|
|
|
61
33
|
})
|
|
62
34
|
|
|
63
35
|
const props = defineProps({
|
|
64
|
-
inline:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
type: Boolean,
|
|
70
|
-
default: false,
|
|
71
|
-
},
|
|
72
|
-
navitem: {
|
|
73
|
-
type: Boolean,
|
|
74
|
-
default: false,
|
|
75
|
-
},
|
|
76
|
-
navlink: {
|
|
77
|
-
type: Boolean,
|
|
78
|
-
default: false,
|
|
79
|
-
},
|
|
80
|
-
membership: {
|
|
81
|
-
type: Boolean,
|
|
82
|
-
default: false,
|
|
83
|
-
},
|
|
84
|
-
qrcode: {
|
|
85
|
-
type: Boolean,
|
|
86
|
-
default: false,
|
|
87
|
-
},
|
|
88
|
-
center: {
|
|
89
|
-
type: Boolean,
|
|
90
|
-
default: false,
|
|
91
|
-
},
|
|
92
|
-
noBody: {
|
|
93
|
-
type: Boolean,
|
|
94
|
-
default: false,
|
|
95
|
-
},
|
|
96
|
-
to: {
|
|
97
|
-
type: [Object, String],
|
|
98
|
-
},
|
|
99
|
-
disabled: {
|
|
100
|
-
type: Boolean,
|
|
101
|
-
default: false,
|
|
102
|
-
},
|
|
36
|
+
inline: Boolean,
|
|
37
|
+
membership: Boolean,
|
|
38
|
+
qrcode: Boolean,
|
|
39
|
+
center: Boolean,
|
|
40
|
+
noBody: Boolean,
|
|
103
41
|
})
|
|
104
42
|
</script>
|
package/components/BrLink.vue
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<a v-if="isExternal" :href="to">
|
|
2
|
+
<a v-if="isExternal" :href="to" :class="generateClassnames">
|
|
3
3
|
<slot />
|
|
4
4
|
</a>
|
|
5
|
-
<router-link v-else :to="to">
|
|
5
|
+
<router-link v-else :to="to" :class="generateClassnames">
|
|
6
6
|
<slot />
|
|
7
7
|
</router-link>
|
|
8
8
|
</template>
|
|
@@ -14,9 +14,35 @@ import { computed } from 'vue'
|
|
|
14
14
|
|
|
15
15
|
const isExternal = computed(() => typeof props.to == 'string')
|
|
16
16
|
|
|
17
|
+
const generateClassnames = computed(() => {
|
|
18
|
+
let classnames = ['br-link']
|
|
19
|
+
|
|
20
|
+
if (props.navcard) classnames.push('navcard')
|
|
21
|
+
|
|
22
|
+
if (props.external) classnames.push('external')
|
|
23
|
+
|
|
24
|
+
if (props.slim) classnames.push('slim')
|
|
25
|
+
|
|
26
|
+
if (props.active) classnames.push('active')
|
|
27
|
+
|
|
28
|
+
return classnames
|
|
29
|
+
})
|
|
30
|
+
|
|
17
31
|
const props = defineProps({
|
|
18
32
|
to: {
|
|
19
33
|
type: [Object, String],
|
|
20
34
|
},
|
|
35
|
+
navcard: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
},
|
|
38
|
+
external: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
},
|
|
41
|
+
slim: {
|
|
42
|
+
type: Boolean,
|
|
43
|
+
},
|
|
44
|
+
active: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
},
|
|
21
47
|
})
|
|
22
48
|
</script>
|
package/components/BrWrap.vue
CHANGED
|
@@ -16,13 +16,19 @@ const generateComponentClasses = computed(() => {
|
|
|
16
16
|
|
|
17
17
|
if (props.cluster) {
|
|
18
18
|
classnames.push('cluster')
|
|
19
|
+
classnames.push('align-' + props.align)
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
if (props.orders) {
|
|
22
23
|
classnames.push('orders')
|
|
24
|
+
classnames.push('align-' + props.align)
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
if (
|
|
27
|
+
if (props.preferences) {
|
|
28
|
+
classnames.push('preferences')
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (!props.navcard && !props.cluster && !props.orders && !props.preferences) {
|
|
26
32
|
classnames.push('default')
|
|
27
33
|
}
|
|
28
34
|
|
|
@@ -30,17 +36,13 @@ const generateComponentClasses = computed(() => {
|
|
|
30
36
|
})
|
|
31
37
|
|
|
32
38
|
const props = defineProps({
|
|
33
|
-
navcard:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
type:
|
|
39
|
-
default:
|
|
40
|
-
},
|
|
41
|
-
orders: {
|
|
42
|
-
type: Boolean,
|
|
43
|
-
default: false,
|
|
39
|
+
navcard: Boolean,
|
|
40
|
+
cluster: Boolean,
|
|
41
|
+
orders: Boolean,
|
|
42
|
+
preferences: Boolean,
|
|
43
|
+
align: {
|
|
44
|
+
type: String,
|
|
45
|
+
default: 'middle',
|
|
44
46
|
},
|
|
45
47
|
})
|
|
46
48
|
</script>
|
package/index.js
CHANGED
|
@@ -37,6 +37,7 @@ import BrFormTextarea from '#components/BrFormTextarea.vue'
|
|
|
37
37
|
import BrFormToggle from '#components/BrFormToggle.vue'
|
|
38
38
|
import BrFormUpdate from '#components/BrFormUpdate.vue'
|
|
39
39
|
import BrFormVisible from '#components/BrFormVisible.vue'
|
|
40
|
+
import BrLink from '#components/BrLink.vue'
|
|
40
41
|
|
|
41
42
|
import BrOverlay from '#components/BrOverlay.vue'
|
|
42
43
|
|
|
@@ -81,6 +82,7 @@ export {
|
|
|
81
82
|
BrFormToggle,
|
|
82
83
|
BrFormUpdate,
|
|
83
84
|
BrFormVisible,
|
|
85
|
+
BrLink,
|
|
84
86
|
BrLoader,
|
|
85
87
|
BrOverlay,
|
|
86
88
|
BrSkiplink,
|
package/package.json
CHANGED
package/scss/_atomic.scss
CHANGED
package/scss/_br-button.scss
CHANGED
package/scss/_br-card.scss
CHANGED
package/scss/_br-wrap.scss
CHANGED
package/scss/_variables.scss
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
--border-radius-lg: 0.375rem;
|
|
4
4
|
--border-width-sm: 0.0625rem;
|
|
5
5
|
--border-width-lg: 0.125rem;
|
|
6
|
+
--border-width-xl: 0.25rem;
|
|
6
7
|
--box-shadow-card: 0 0 var(--padding-sm) rgba(0, 0, 0, 0.125);
|
|
7
8
|
--color-black-80-lighten: color-mix(in oklab, black 80%, white);
|
|
8
9
|
--color-black-60-lighten: color-mix(in oklab, black 60%, white);
|
|
@@ -140,7 +141,7 @@
|
|
|
140
141
|
--font-size-h1: 2.25rem;
|
|
141
142
|
--font-size-h2: 2rem;
|
|
142
143
|
--font-size-h3: 1.75rem;
|
|
143
|
-
--font-size-h4: 1.
|
|
144
|
+
--font-size-h4: 1.5rem;
|
|
144
145
|
--font-size-h5: 1.25rem;
|
|
145
146
|
--font-size-h6: 1rem;
|
|
146
147
|
--font-size-sm: 0.875rem;
|
|
@@ -166,6 +167,7 @@
|
|
|
166
167
|
--min-height-button: 2.5rem;
|
|
167
168
|
--min-height-iframe-sm: 27.5rem;
|
|
168
169
|
--min-height-iframe-lg: 36.875rem;
|
|
170
|
+
--offset-navlink: calc(var(--border-width-sm) * -1);
|
|
169
171
|
--outline-offset-sm: 0.0625rem;
|
|
170
172
|
--outline-offset-md: 0.125rem;
|
|
171
173
|
--outline-offset-lg: 0.1875rem;
|
|
@@ -183,6 +185,7 @@
|
|
|
183
185
|
--padding-layout-sm: 5%;
|
|
184
186
|
--padding-layout-lg: 10%;
|
|
185
187
|
--scale-click: scale(0.98);
|
|
188
|
+
--width-column: 5rem;
|
|
186
189
|
--width-icon: 10rem;
|
|
187
190
|
--width-title: 20rem;
|
|
188
191
|
--width-layout-xs: 24rem;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@use "../mixins/br-card" as *;
|
|
2
|
+
@use "../mixins/br-link/navlink" as *;
|
|
3
|
+
@use "../mixins/breakpoints" as *;
|
|
4
|
+
@use "../mixins/buttons/slim" as *;
|
|
5
|
+
@use "../mixins/br-link/navlink" as *;
|
|
6
|
+
|
|
7
|
+
.br-link.navcard {
|
|
8
|
+
@include br-card--setup;
|
|
9
|
+
@include br-card--body;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.br-link.navcard.slim {
|
|
13
|
+
@include btn-slim;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.br-link.navcard.active {
|
|
17
|
+
@include navlink--focus;
|
|
18
|
+
@include navlink--outline;
|
|
19
|
+
|
|
20
|
+
& {
|
|
21
|
+
outline-color: var(--color-brand-generic);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.br-link.navcard.active:hover,
|
|
26
|
+
.br-link.navcard.active:focus {
|
|
27
|
+
@include navlink--disabled;
|
|
28
|
+
|
|
29
|
+
& {
|
|
30
|
+
outline-color: var(--color-brand-generic);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.br-link.navcard:hover,
|
|
35
|
+
.br-link.navcard:focus {
|
|
36
|
+
@include navlink--focus;
|
|
37
|
+
@include navlink--outline;
|
|
38
|
+
|
|
39
|
+
& {
|
|
40
|
+
outline-color: currentColor;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@include small-down {
|
|
45
|
+
.br-link.navcard.external {
|
|
46
|
+
background-color: transparent;
|
|
47
|
+
justify-self: start;
|
|
48
|
+
border-width: 0;
|
|
49
|
+
padding: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.br-link.navcard.external:hover,
|
|
53
|
+
.br-link.navcard.external:focus {
|
|
54
|
+
background-color: var(--color-black-80-lighten);
|
|
55
|
+
outline-color: var(--color-black-80-lighten);
|
|
56
|
+
outline-width: var(--border-width-xl);
|
|
57
|
+
outline-offset: 0;
|
|
58
|
+
border-radius: 0;
|
|
59
|
+
color: white;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@use "../mixins/br-card" as *;
|
|
2
|
+
@use "../mixins/br-link/navlink" as *;
|
|
3
|
+
|
|
4
|
+
.navlink {
|
|
5
|
+
@include br-card--setup;
|
|
6
|
+
|
|
7
|
+
& {
|
|
8
|
+
padding-bottom: var(--padding-md);
|
|
9
|
+
padding-right: var(--padding-lg);
|
|
10
|
+
padding-left: var(--padding-lg);
|
|
11
|
+
padding-top: var(--padding-md);
|
|
12
|
+
text-decoration: underline;
|
|
13
|
+
font-weight: bold;
|
|
14
|
+
display: block;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.navlink:not(.first) {
|
|
19
|
+
border-top-right-radius: 0;
|
|
20
|
+
border-top-left-radius: 0;
|
|
21
|
+
border-top-width: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.navlink:not(.last) {
|
|
25
|
+
border-bottom-right-radius: 0;
|
|
26
|
+
border-bottom-left-radius: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
div.navlink {
|
|
30
|
+
@include navlink--disabled;
|
|
31
|
+
@include navlink--outline;
|
|
32
|
+
|
|
33
|
+
& {
|
|
34
|
+
outline-color: var(--color-brand-generic);
|
|
35
|
+
cursor: default;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
a.navlink:hover,
|
|
40
|
+
a.navlink:focus {
|
|
41
|
+
@include navlink--focus;
|
|
42
|
+
@include navlink--outline;
|
|
43
|
+
|
|
44
|
+
& {
|
|
45
|
+
outline-color: currentColor;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
a.navlink.router-link-active {
|
|
50
|
+
@include navlink--focus;
|
|
51
|
+
@include navlink--outline;
|
|
52
|
+
|
|
53
|
+
& {
|
|
54
|
+
outline-color: var(--color-brand-generic);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
a.navlink.router-link-active:hover,
|
|
59
|
+
a.navlink.router-link-active:focus {
|
|
60
|
+
@include navlink--disabled;
|
|
61
|
+
}
|
package/scss/index.scss
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
@use "../mixins/breakpoints" as *;
|
|
2
2
|
@use "card/default" as *;
|
|
3
3
|
@use "card/inline" as *;
|
|
4
|
-
@use "card/navcard" as *;
|
|
5
|
-
@use "card/navlink" as *;
|
|
6
|
-
@use "card/navitem" as *;
|
|
7
4
|
@use "card/membership" as *;
|
|
8
5
|
@use "card/qrcode" as *;
|
|
9
6
|
|
|
10
|
-
@mixin br-card {
|
|
7
|
+
@mixin br-card--setup {
|
|
11
8
|
border-color: var(--color-black-25-lighten);
|
|
12
9
|
border-radius: var(--border-radius-lg);
|
|
13
10
|
border-width: var(--border-width-sm);
|
|
14
11
|
background-color: white;
|
|
15
12
|
border-style: solid;
|
|
16
13
|
overflow: hidden;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin br-card {
|
|
17
|
+
@include br-card--setup;
|
|
17
18
|
|
|
18
19
|
&.default {
|
|
19
20
|
@include br-card--default;
|
|
@@ -23,18 +24,6 @@
|
|
|
23
24
|
@include br-card--inline;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
&.navcard {
|
|
27
|
-
@include br-card--navcard;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&.navlink {
|
|
31
|
-
@include br-card--navlink;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&.navitem {
|
|
35
|
-
@include br-card--navitem;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
27
|
&.membership {
|
|
39
28
|
@include br-card--membership;
|
|
40
29
|
}
|
|
@@ -68,10 +57,6 @@
|
|
|
68
57
|
text-align: left;
|
|
69
58
|
|
|
70
59
|
@include small-up {
|
|
71
|
-
font-size: var(--font-size-h3);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@include medium-up {
|
|
75
60
|
font-size: var(--font-size-h2);
|
|
76
61
|
}
|
|
77
62
|
}
|
|
@@ -84,7 +69,7 @@
|
|
|
84
69
|
}
|
|
85
70
|
}
|
|
86
71
|
|
|
87
|
-
@mixin br-card
|
|
72
|
+
@mixin br-card--body {
|
|
88
73
|
padding: var(--padding-card-sm);
|
|
89
74
|
|
|
90
75
|
@include large-up {
|
|
@@ -117,7 +102,7 @@
|
|
|
117
102
|
}
|
|
118
103
|
|
|
119
104
|
.br-card-body {
|
|
120
|
-
@include br-card
|
|
105
|
+
@include br-card--body;
|
|
121
106
|
}
|
|
122
107
|
}
|
|
123
108
|
|
|
@@ -21,8 +21,26 @@
|
|
|
21
21
|
|
|
22
22
|
>* {
|
|
23
23
|
margin: var(--margin-xs);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.align-middle>* {
|
|
24
27
|
vertical-align: middle;
|
|
25
28
|
}
|
|
29
|
+
|
|
30
|
+
&.align-top>* {
|
|
31
|
+
vertical-align: top;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@mixin br-wrap--preferences {
|
|
36
|
+
@include small-up {
|
|
37
|
+
grid-template-columns: var(--width-column) var(--width-column);
|
|
38
|
+
display: grid;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@include small-down {
|
|
42
|
+
@include br-wrap--cluster
|
|
43
|
+
}
|
|
26
44
|
}
|
|
27
45
|
|
|
28
46
|
@mixin br-wrap--orders {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@mixin navlink--focus {
|
|
2
|
+
background-color: var(--color-brand-generic-15-lighten);
|
|
3
|
+
color: var(--color-brand-generic-90-darken);
|
|
4
|
+
border-color: currentColor;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@mixin navlink--disabled {
|
|
8
|
+
background-color: var(--color-brand-generic);
|
|
9
|
+
border-color: var(--color-brand-generic);
|
|
10
|
+
color: white;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@mixin navlink--outline {
|
|
14
|
+
outline-offset: var(--offset-navlink);
|
|
15
|
+
outline-width: var(--border-width-lg);
|
|
16
|
+
outline-style: solid;
|
|
17
|
+
}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
@use "../../../mixins/core" as *;
|
|
2
2
|
@use "../../../mixins/focus" as *;
|
|
3
|
+
@use "../../../mixins/buttons/custom/invisible" as *;
|
|
3
4
|
|
|
4
5
|
@mixin btn-exit-overlay {
|
|
5
|
-
|
|
6
|
+
@include btn-invisible;
|
|
6
7
|
@include inset;
|
|
7
8
|
|
|
8
9
|
& {
|
|
9
|
-
background-color: transparent;
|
|
10
|
-
border: none;
|
|
11
|
-
padding: 0;
|
|
12
|
-
|
|
13
|
-
border-radius: 0;
|
|
14
10
|
position: fixed;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
z-index: 1;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&:active {
|
|
15
|
+
transform: scale(1);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&:active .close-icon {
|
|
19
|
+
transform: var(--scale-click);
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
&:hover,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
22
|
+
&:hover .close-icon,
|
|
23
|
+
&:focus .close-icon {
|
|
24
|
+
@include close-icon-focus;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.close-icon {
|
|
@@ -1,32 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
@use "../../mixins/breakpoints" as *;
|
|
2
|
-
|
|
3
|
-
@mixin br-card--navcard {
|
|
4
|
-
cursor: pointer;
|
|
5
|
-
display: block;
|
|
6
|
-
|
|
7
|
-
&:hover,
|
|
8
|
-
&:focus {
|
|
9
|
-
background-color: var(--color-brand-generic-15-lighten);
|
|
10
|
-
outline-color: var(--color-brand-generic-90-darken);
|
|
11
|
-
outline-offset: calc(var(--border-width-sm) * -1);
|
|
12
|
-
color: var(--color-brand-generic-90-darken);
|
|
13
|
-
outline-width: var(--border-width-lg);
|
|
14
|
-
outline-style: solid;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
&:active {
|
|
18
|
-
transform: var(--scale-click);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
&:not(.ticket) {
|
|
22
|
-
text-decoration: underline;
|
|
23
|
-
|
|
24
|
-
.br-card-body {
|
|
25
|
-
gap: var(--gap-md);
|
|
26
|
-
display: flex;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.br-card-title+.br-card-text {
|
|
30
|
-
margin-top: var(--margin-sm);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
svg {
|
|
35
|
-
flex: none;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
@include small-up {
|
|
39
|
-
.br-card-body.center {
|
|
40
|
-
align-items: center;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.br-card-body:not(.center) svg {
|
|
44
|
-
margin-top: var(--margin-xs);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@include small-down {
|
|
49
|
-
.br-card-body {
|
|
50
|
-
align-items: center;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.br-card-text {
|
|
54
|
-
display: none;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@include medium-up {
|
|
59
|
-
&:not(.ticket) {
|
|
60
|
-
.br-card-title+.br-card-text {
|
|
61
|
-
margin-top: var(--margin-md);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
@use "../../mixins/breakpoints" as *;
|
|
2
|
-
@use "navcard" as *;
|
|
3
|
-
|
|
4
|
-
@mixin br-card--navitem {
|
|
5
|
-
@include br-card--navcard;
|
|
6
|
-
|
|
7
|
-
& {
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
font-weight: bold;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
&:active {
|
|
13
|
-
transform: scale(1);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
&.disabled {
|
|
17
|
-
outline-offset: calc(var(--border-width-sm) * -1);
|
|
18
|
-
background-color: var(--color-brand-generic);
|
|
19
|
-
outline-color: var(--color-brand-generic);
|
|
20
|
-
border-color: var(--color-brand-generic);
|
|
21
|
-
outline-width: var(--border-width-lg);
|
|
22
|
-
outline-style: solid;
|
|
23
|
-
cursor: default;
|
|
24
|
-
color: white;
|
|
25
|
-
}
|
|
26
|
-
|
|
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 {
|
|
36
|
-
color: var(--color-brand-generic-90-darken);
|
|
37
|
-
outline-color: var(--color-brand-generic);
|
|
38
|
-
text-decoration: underline;
|
|
39
|
-
border-color: currentColor;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
&:not(:last-child) {
|
|
43
|
-
border-bottom-right-radius: 0;
|
|
44
|
-
border-bottom-left-radius: 0;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
&:not(:first-child) {
|
|
48
|
-
border-top-right-radius: 0;
|
|
49
|
-
border-top-left-radius: 0;
|
|
50
|
-
border-top-width: 0;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.br-card-body {
|
|
54
|
-
padding-bottom: var(--padding-md);
|
|
55
|
-
padding-right: var(--padding-lg);
|
|
56
|
-
padding-left: var(--padding-lg);
|
|
57
|
-
padding-top: var(--padding-md);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
@use "../../mixins/breakpoints" as *;
|
|
2
|
-
@use "navcard" as *;
|
|
3
|
-
|
|
4
|
-
@mixin br-card--navlink {
|
|
5
|
-
@include br-card--navcard;
|
|
6
|
-
|
|
7
|
-
@include small-down {
|
|
8
|
-
background-color: transparent;
|
|
9
|
-
justify-self: start;
|
|
10
|
-
border-radius: 0;
|
|
11
|
-
border-width: 0;
|
|
12
|
-
|
|
13
|
-
&:hover,
|
|
14
|
-
&:focus {
|
|
15
|
-
background-color: var(--color-black-80-lighten);
|
|
16
|
-
outline-color: var(--color-black-80-lighten);
|
|
17
|
-
outline-width: 0.25rem;
|
|
18
|
-
outline-style: solid;
|
|
19
|
-
color: white;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.br-card-body {
|
|
23
|
-
padding: 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
svg {
|
|
27
|
-
display: none;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|