barbican-reset 0.9.1 → 0.9.5

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 (53) hide show
  1. package/helpers/mixins/_content.scss +33 -0
  2. package/helpers/mixins/_core.scss +7 -5
  3. package/helpers/mixins/index.scss +1 -0
  4. package/helpers/variables/layout/index.scss +10 -5
  5. package/icons/account.js +15 -0
  6. package/icons/index.js +9 -0
  7. package/icons/password.js +7 -0
  8. package/icons/power.js +9 -0
  9. package/icons/snippets.js +11 -0
  10. package/icons/stream.js +17 -0
  11. package/index.js +5 -3
  12. package/package.json +4 -2
  13. package/vue/.DS_Store +0 -0
  14. package/vue/Banner/banner.scss +8 -0
  15. package/vue/Banner/index.vue +9 -0
  16. package/vue/Card/card.scss +12 -5
  17. package/vue/Card/index.vue +12 -1
  18. package/vue/Carousel/carousel.scss +62 -0
  19. package/vue/Carousel/index.vue +50 -0
  20. package/vue/Container/container.scss +4 -4
  21. package/vue/Icons/.DS_Store +0 -0
  22. package/vue/Icons/Account/MembershipIcon.vue +18 -0
  23. package/vue/Icons/Account/OrdersIcon.vue +23 -0
  24. package/vue/Icons/Account/PaymentIcon.vue +18 -0
  25. package/vue/Icons/Account/PersonalIcon.vue +18 -0
  26. package/vue/Icons/Account/SupportIcon.vue +19 -0
  27. package/vue/Icons/Account/VideoIcon.vue +18 -0
  28. package/vue/Icons/ArrowIcon.vue +9 -0
  29. package/vue/Icons/Barbican/index.scss +5 -0
  30. package/vue/Icons/Barbican/index.vue +13 -0
  31. package/vue/Icons/CityOfLondon.vue +79 -0
  32. package/vue/Icons/Password/RequestIcon/index.vue +32 -0
  33. package/vue/Icons/Password/RequestIcon/request_icon.scss +5 -0
  34. package/vue/Icons/Password/ResetIcon/index.vue +26 -0
  35. package/vue/Icons/Password/ResetIcon/reset_icon.scss +4 -0
  36. package/vue/Icons/Power/AlleyneIcon.vue +16 -0
  37. package/vue/Icons/Power/BanffIcon.vue +41 -0
  38. package/vue/Icons/Power/CouncilIcon.vue +56 -0
  39. package/vue/Icons/Snippets/BarbicanIcon.vue +12 -0
  40. package/vue/Icons/Snippets/ContributorIcon.vue +6 -0
  41. package/vue/Icons/Snippets/OtherIcon.vue +5 -0
  42. package/vue/Icons/Snippets/PinIcon.vue +5 -0
  43. package/vue/Icons/Stream/AirplayIcon.vue +15 -0
  44. package/vue/Icons/Stream/CastIcon.vue +13 -0
  45. package/vue/Icons/Stream/ChatIcon.vue +15 -0
  46. package/vue/Icons/Stream/CloseIcon/close_icon.scss +43 -0
  47. package/vue/{icons/Close.vue → Icons/Stream/CloseIcon/index.vue} +3 -1
  48. package/vue/Icons/Stream/CogIcon.vue +13 -0
  49. package/vue/Icons/Stream/LiveIcon/index.vue +61 -0
  50. package/vue/Icons/Stream/LiveIcon/live_icon.scss +42 -0
  51. package/vue/Icons/Stream/VolumeIcon.vue +13 -0
  52. package/vue/Notification.vue +1 -1
  53. package/vue/Wrap/wrap.scss +4 -4
@@ -0,0 +1,33 @@
1
+
2
+ @mixin content_masthead {
3
+ background-color: white;
4
+ box-shadow: 0 5px 5px rgba(black, 0.1);
5
+ padding: 0 $constrained_grid_padding;
6
+ // Required to ensure the box-shadow is visible when div.content-main-content uses a background-color.
7
+ position: relative;
8
+ }
9
+
10
+ @mixin content_masthead__inner {
11
+ max-width: $constrained_content_width--wide;
12
+ padding: $space--large * 2 0;
13
+ margin: 0 auto;
14
+
15
+ h1 {
16
+ margin-bottom: 0;
17
+ }
18
+ }
19
+
20
+ @mixin content-main-content {
21
+ padding-right: 10%;
22
+ padding-left: 10%;
23
+ }
24
+
25
+ @mixin content-main-content__inner {
26
+ max-width: $constrained_content_width--wide;
27
+ padding: 1.5rem 0;
28
+ margin: 0 auto;
29
+
30
+ @include media-breakpoint-up(sm) {
31
+ padding: 2.5rem 0;
32
+ }
33
+ }
@@ -24,15 +24,18 @@
24
24
  -moz-appearance: $value;
25
25
  }
26
26
 
27
- @mixin button($background: $c-power-blue, $focus: $c-power-blue-dark) {
27
+ @mixin button(
28
+ $background: $c-power-blue,
29
+ $focus: $c-power-blue-dark,
30
+ $gap: 0.75em) {
31
+
28
32
  $color: $white;
29
- $gap: 0.75em;
30
-
31
33
  -webkit-font-smoothing: antialiased;
32
34
  -moz-osx-font-smoothing: grayscale;
35
+ border-radius: $border-radius-lg;
33
36
  background-color: $background;
37
+ padding: $gap ($gap * 1.65);
34
38
  text-decoration: none;
35
- border-radius: 0.5rem;
36
39
  place-items: center;
37
40
  text-align: center;
38
41
  font-weight: 700;
@@ -41,7 +44,6 @@
41
44
  cursor: pointer;
42
45
  line-height: 1;
43
46
  display: flex;
44
- padding: $gap;
45
47
  color: $color;
46
48
 
47
49
  @include focus {
@@ -1,5 +1,6 @@
1
1
  // paths more explicit for gulp-sass
2
2
  @import "~bourbon/core/bourbon.scss";
3
+ @import "content.scss";
3
4
  @import "core.scss";
4
5
  @import "focus.scss";
5
6
  @import "font.scss";
@@ -4,13 +4,18 @@ $constrained_content_width--thin: 800px;
4
4
  $constrained_content_width--wide: 1200px;
5
5
 
6
6
  $space: 0.625rem;
7
- /// Default large amount of space.
7
+ // Default large amount of space.
8
8
  $space--large: $space * 3;
9
- /// Default gap value for use in CSS grid.
9
+ // Default gap value for use in CSS grid.
10
10
  $grid-gap: $space;
11
11
 
12
- /// Power Festival
13
- $power-gap: 1.25rem;
12
+ $border-radius-lg: 0.375rem;
13
+
14
+ // Account Area
15
+ $gap-account: 2rem;
16
+
17
+ // Power Festival
18
+ $gap-power: 1.25rem;
14
19
  $height-dashboard-banner: 25rem;
15
20
  $width-power-related: 66rem;
16
- $accordion-gap: 2rem;
21
+ $gap-accordion: 2rem;
@@ -0,0 +1,15 @@
1
+ import PersonalIcon from '../vue/Icons/Account/PersonalIcon'
2
+ import MembershipIcon from '../vue/Icons/Account/MembershipIcon'
3
+ import VideoIcon from '../vue/Icons/Account/VideoIcon'
4
+ import PaymentIcon from '../vue/Icons/Account/PaymentIcon'
5
+ import OrdersIcon from '../vue/Icons/Account/OrdersIcon'
6
+ import SupportIcon from '../vue/Icons/Account/SupportIcon'
7
+
8
+ export {
9
+ PersonalIcon,
10
+ MembershipIcon,
11
+ VideoIcon,
12
+ PaymentIcon,
13
+ OrdersIcon,
14
+ SupportIcon
15
+ }
package/icons/index.js ADDED
@@ -0,0 +1,9 @@
1
+ import BarbicanLogo from '../vue/Icons/Barbican'
2
+ import CityOfLondonLogo from '../vue/Icons/CityOfLondon'
3
+ import ArrowIcon from '../vue/Icons/ArrowIcon'
4
+
5
+ export {
6
+ BarbicanLogo,
7
+ CityOfLondonLogo,
8
+ ArrowIcon,
9
+ };
@@ -0,0 +1,7 @@
1
+ import RequestIcon from '../vue/Icons/Password/RequestIcon'
2
+ import ResetIcon from '../vue/Icons/Password/ResetIcon'
3
+
4
+ export {
5
+ RequestIcon,
6
+ ResetIcon
7
+ }
package/icons/power.js ADDED
@@ -0,0 +1,9 @@
1
+ import AlleyneIcon from '../vue/Icons/Power/AlleyneIcon'
2
+ import BanffIcon from '../vue/Icons/Power/BanffIcon'
3
+ import CouncilIcon from '../vue/Icons/Power/CouncilIcon'
4
+
5
+ export {
6
+ AlleyneIcon,
7
+ BanffIcon,
8
+ CouncilIcon
9
+ }
@@ -0,0 +1,11 @@
1
+ import BarbicanIcon from '../vue/Icons/Snippets/BarbicanIcon'
2
+ import ContributorIcon from '../vue/Icons/Snippets/ContributorIcon'
3
+ import OtherIcon from '../vue/Icons/Snippets/OtherIcon'
4
+ import PinIcon from '../vue/Icons/Snippets/PinIcon'
5
+
6
+ export {
7
+ BarbicanIcon,
8
+ ContributorIcon,
9
+ OtherIcon,
10
+ PinIcon
11
+ }
@@ -0,0 +1,17 @@
1
+ import AirplayIcon from '../vue/Icons/Stream/AirplayIcon'
2
+ import CloseIcon from '../vue/Icons/Stream/CloseIcon'
3
+ import CastIcon from '../vue/Icons/Stream/CastIcon'
4
+ import ChatIcon from '../vue/Icons/Stream/ChatIcon'
5
+ import CogIcon from '../vue/Icons/Stream/CogIcon'
6
+ import VolumeIcon from '../vue/Icons/Stream/VolumeIcon'
7
+ import LiveIcon from '../vue/Icons/Stream/LiveIcon'
8
+
9
+ export {
10
+ AirplayIcon,
11
+ CloseIcon,
12
+ CastIcon,
13
+ ChatIcon,
14
+ CogIcon,
15
+ VolumeIcon,
16
+ LiveIcon
17
+ }
package/index.js CHANGED
@@ -2,18 +2,20 @@ import LoadingAnimation from './vue/LoadingAnimation'
2
2
  import Notification from './vue/Notification'
3
3
  import RelatedTitle from './vue/RelatedTitle'
4
4
  import TypeText from './vue/TypeText'
5
- import CloseIcon from './vue/icons/Close'
6
5
  import Container from './vue/Container'
7
6
  import Wrap from './vue/Wrap'
8
7
  import Card from './vue/Card'
8
+ import Carousel from './vue/Carousel'
9
+ import Banner from './vue/Banner'
9
10
 
10
11
  export {
11
12
  LoadingAnimation,
12
13
  Notification,
13
14
  RelatedTitle,
14
15
  TypeText,
15
- CloseIcon,
16
16
  Container,
17
17
  Wrap,
18
- Card
18
+ Card,
19
+ Carousel,
20
+ Banner
19
21
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barbican-reset",
3
- "version": "0.9.1",
3
+ "version": "0.9.5",
4
4
  "description": "A collection of useful scss imports and js scripts, that provide consistent styling and functionality across barbican projects.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -16,6 +16,7 @@
16
16
  "fonts/*.{woff,woff2}",
17
17
  "focus-visible.min.js",
18
18
  "helpers/**/*",
19
+ "icons/**/*",
19
20
  "dist/**/*",
20
21
  "scss/**/*",
21
22
  "vue/**/*",
@@ -36,6 +37,7 @@
36
37
  "gulp-uglify": "^3.0.2",
37
38
  "node-sass-tilde-importer": "^1.0.2",
38
39
  "placeholder-loading": "^0.4.0",
39
- "sass": "^1.41.0"
40
+ "sass": "^1.41.0",
41
+ "vue-slick-carousel": "^1.0.6"
40
42
  }
41
43
  }
package/vue/.DS_Store CHANGED
Binary file
@@ -0,0 +1,8 @@
1
+
2
+ .outer {
3
+ @include content_masthead;
4
+ }
5
+
6
+ .inner {
7
+ @include content_masthead__inner;
8
+ }
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <div :class="$style.outer">
3
+ <div :class="$style.inner">
4
+ <slot />
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <style src="./banner.scss" lang="scss" module></style>
@@ -1,17 +1,24 @@
1
1
 
2
2
  .container {
3
3
  border: 1px solid $c-grey-concrete;
4
+ border-radius: $border-radius-lg;
4
5
  border-color: $c-grey-pearl;
5
6
  background-color: $white;
6
- border-radius: 0.5rem;
7
7
  align-content: start;
8
8
  overflow: hidden;
9
9
  padding: 1.25rem;
10
10
  display: grid;
11
11
  gap: 1.25rem;
12
-
13
- &_wrap {
14
- composes: container;
15
- background-color: $gray-100;
12
+ }
13
+
14
+ .container.wrap {
15
+ background-color: $gray-100;
16
+ }
17
+
18
+ .container.account {
19
+ padding: $gap-account;
20
+
21
+ &:not(:last-of-type) {
22
+ margin-bottom: $gap-account;
16
23
  }
17
24
  }
@@ -10,11 +10,22 @@ export default {
10
10
  wrap: {
11
11
  type: Boolean,
12
12
  default: false,
13
+ },
14
+ account: {
15
+ type: Boolean,
16
+ default: false,
13
17
  }
14
18
  },
15
19
  computed: {
16
20
  styleContainer() {
17
- return this.wrap ? this.$style.container_wrap : this.$style.container;
21
+ let styles = [this.$style.container];
22
+ if (this.wrap) {
23
+ styles.push(this.$style.wrap);
24
+ }
25
+ if (this.account) {
26
+ styles.push(this.$style.account);
27
+ }
28
+ return styles;
18
29
  }
19
30
  }
20
31
  }
@@ -0,0 +1,62 @@
1
+ .slick {
2
+ &-carousel {
3
+ &__container:hover {
4
+ .slick-arrow {
5
+ opacity: 1;
6
+ }
7
+ }
8
+ }
9
+ &-arrow {
10
+ margin-top: -1.25rem;
11
+ border-radius: 0;
12
+ height: 2.5rem;
13
+ width: 2.5rem;
14
+ z-index: 2;
15
+ top: 28%;
16
+
17
+ @media only screen and (min-width: 400px) {
18
+ top: 32%;
19
+ }
20
+
21
+ @include media-breakpoint-up(sm) {
22
+ top: 38%;
23
+ }
24
+
25
+ &:before {
26
+ font-size: $h1-font-size;
27
+ color: $c-page-footer-bg;
28
+ opacity: 1;
29
+ }
30
+ }
31
+
32
+ &-slide {
33
+ .video-item {
34
+ &__container {
35
+ padding-right: 0.25rem;
36
+ }
37
+ }
38
+ .video-status__wrap {
39
+ opacity: 0.8;
40
+ }
41
+ &:hover {
42
+ .video-status__wrap {
43
+ @include media-breakpoint-up(md) {
44
+ opacity: 1;
45
+ }
46
+ }
47
+ }
48
+ }
49
+
50
+ &-prev {
51
+ left: -1.25rem;
52
+ @include media-breakpoint-up(lg) {
53
+ left: -3.75rem;
54
+ }
55
+ }
56
+ &-next {
57
+ right: -1.25rem;
58
+ @include media-breakpoint-up(lg) {
59
+ right: -3.75rem;
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <div class="slick-carousel__container">
3
+ <VueSlickCarousel v-bind="settings">
4
+ <slot />
5
+ </VueSlickCarousel>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import VueSlickCarousel from 'vue-slick-carousel'
11
+ import 'vue-slick-carousel/dist/vue-slick-carousel.css'
12
+ import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css'
13
+
14
+ export default {
15
+ components: { VueSlickCarousel },
16
+ props: {
17
+ infinite: {
18
+ type: Boolean,
19
+ default: true,
20
+ },
21
+ },
22
+ data() {
23
+ return {
24
+ settings: {
25
+ slidesToScroll: 1,
26
+ slidesToShow: 4,
27
+ infinite: this.infinite,
28
+ arrows: true,
29
+ speed: 500,
30
+ responsive: [
31
+ {
32
+ breakpoint: 1024,
33
+ settings: {
34
+ slidesToShow: 3,
35
+ },
36
+ },
37
+ {
38
+ breakpoint: 768,
39
+ settings: {
40
+ slidesToShow: 2,
41
+ },
42
+ },
43
+ ],
44
+ },
45
+ };
46
+ },
47
+ };
48
+ </script>
49
+
50
+ <style src="./carousel.scss" lang="scss"></style>
@@ -2,11 +2,11 @@
2
2
  .outer {
3
3
  padding-right: 5%;
4
4
  padding-left: 5%;
5
+ }
5
6
 
6
- &_splash {
7
- padding-right: 10%;
8
- padding-left: 10%;
9
- }
7
+ .outer_splash {
8
+ padding-right: 10%;
9
+ padding-left: 10%;
10
10
  }
11
11
 
12
12
  .inner {
Binary file
@@ -0,0 +1,18 @@
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>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: "MembershipIcon",
17
+ };
18
+ </script>
@@ -0,0 +1,23 @@
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>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ name: "OrdersIcon",
22
+ };
23
+ </script>
@@ -0,0 +1,18 @@
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>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: "PaymentIcon",
17
+ };
18
+ </script>
@@ -0,0 +1,18 @@
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>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: "PersonalIcon",
17
+ };
18
+ </script>
@@ -0,0 +1,19 @@
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="M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M19.46,9.12l-2.78,1.15 c-0.51-1.36-1.58-2.44-2.95-2.94l1.15-2.78C16.98,5.35,18.65,7.02,19.46,9.12z M12,15c-1.66,0-3-1.34-3-3s1.34-3,3-3s3,1.34,3,3 S13.66,15,12,15z M9.13,4.54l1.17,2.78c-1.38,0.5-2.47,1.59-2.98,2.97L4.54,9.13C5.35,7.02,7.02,5.35,9.13,4.54z M4.54,14.87 l2.78-1.15c0.51,1.38,1.59,2.46,2.97,2.96l-1.17,2.78C7.02,18.65,5.35,16.98,4.54,14.87z M14.88,19.46l-1.15-2.78 c1.37-0.51,2.45-1.59,2.95-2.97l2.78,1.17C18.65,16.98,16.98,18.65,14.88,19.46z"
11
+ />
12
+ </svg>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ name: "SupportIcon",
18
+ };
19
+ </script>
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ viewBox="0 0 24 24"
5
+ height="72"
6
+ width="72"
7
+ >
8
+ <path
9
+ d="M21 3H3c-1.11 0-2 .89-2 2v12c0 1.1.89 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.11-.9-2-2-2zm0 14H3V5h18v12zm-5-6l-7 4V7z"
10
+ />
11
+ </svg>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: "VideoIcon",
17
+ };
18
+ </script>
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ viewBox="0 0 83.2 80.9"
5
+ height="12"
6
+ width="12">
7
+ <path fill="white" d="M42.8.4L31.9 11.2l23.7 22.2H0V48h55.6l-24 21.6 11.2 11.3 40.4-40.7z"></path>
8
+ </svg>
9
+ </template>
@@ -0,0 +1,5 @@
1
+
2
+ .logo {
3
+ height: auto;
4
+ width: 10rem;
5
+ }
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ :class="$style.logo"
5
+ viewBox="0 0 333 65"
6
+ width="333"
7
+ height="65"
8
+ >
9
+ <path d="M0 0H14.7V24.2C18.2 21.1 21.4 19.9 26.3 19.9C38.7 19.9 47.6 29.5 47.6 42.8C47.6 49.3 45.2 55.3 41.2 59.4C37.6 63.1 32.7 64.9 26.8 64.9C20.8 64.9 17.3 63.4 14.1 59.8V63.3H0V0ZM13.7 42.4C13.7 48.7 17.5 52.9 23.1 52.9C28.7 52.9 32.2 49.1 32.2 42.8C32.2 36.4 28.7 32.4 22.9 32.4C17.4 32.5 13.7 36.5 13.7 42.4V42.4ZM83.1 60.5C79.3 64 76.6 65 70.8 65C64.2 65 59.4 63.2 55.7 59.3C51.7 55.1 49.6 49.3 49.6 42.6C49.6 29.4 58.3 20.2 70.6 20.2C76 20.2 79 21.4 83 25.2V21.6H97.1V63.6H83.1V60.5V60.5ZM64.9 43C64.9 49.3 68.4 53 74.2 53C79.8 53 83.5 48.9 83.5 42.6C83.5 36.6 79.9 32.5 74.4 32.5C68.9 32.5 64.9 36.9 64.9 43ZM101.2 21.5H115.3V26.8C118.4 22 121.5 20.3 126.6 20.3C127.6 20.3 128.2 20.4 131.7 20.8V34.1C130 33.6 129.1 33.6 127.9 33.6C120.1 33.6 116 37.8 116 45.8V63.5H101.3L101.2 21.5V21.5ZM134.2 0H148.9V24.2C152.4 21.1 155.6 19.9 160.5 19.9C172.9 19.9 181.8 29.5 181.8 42.8C181.8 49.3 179.4 55.3 175.4 59.4C171.8 63.1 167 64.9 161 64.9C155 64.9 151.5 63.4 148.3 59.8V63.3H134.2V0ZM147.9 42.4C147.9 48.7 151.7 52.9 157.3 52.9C162.9 52.9 166.4 49.1 166.4 42.8C166.4 36.4 162.9 32.4 157.1 32.4C151.6 32.5 147.9 36.5 147.9 42.4ZM200.2 9.3C200.2 13.8 196.6 17.5 192 17.5C187.5 17.5 183.9 13.9 183.9 9.3C183.9 4.8 187.5 1.2 192 1.2C196.6 1.2 200.2 4.8 200.2 9.3ZM184.7 21.5H199.4V63.5H184.7V21.5V21.5ZM236 61.6C229.9 64.6 227.7 65.1 222.6 65.1C216.8 65.1 212.2 63.6 209.1 60.4C204.9 56.4 202.6 50.1 202.6 43C202.6 29.2 211 19.7 223.3 19.7C228 19.7 231.2 20.6 236 23.5V38.2C232.5 34.1 230.4 32.8 226.8 32.8C221.4 32.8 218.2 36.4 218.2 42.3C218.2 48.1 221.5 51.7 226.7 51.7C230.1 51.7 232.5 50.4 236 47V61.6V61.6ZM271 60.5C267.2 64 264.5 65 258.7 65C252.1 65 247.3 63.2 243.6 59.3C239.6 55.1 237.5 49.3 237.5 42.6C237.5 29.4 246.2 20.2 258.5 20.2C263.9 20.2 266.9 21.4 270.9 25.2V21.6H285V63.6H270.9V60.5H271V60.5ZM252.8 43C252.8 49.3 256.3 53 262.1 53C267.7 53 271.4 48.9 271.4 42.6C271.4 36.6 267.8 32.5 262.3 32.5C256.8 32.5 252.8 36.9 252.8 43ZM289.1 21.5H303.6V26.3C307.3 21.5 310.6 19.9 316.6 19.9C323.1 19.9 328.6 22.5 331 26.9C332.3 29.2 332.9 31.8 332.9 35.1V63.4H318.2V40.3C318.2 34.7 316.1 32 311.7 32C307 32 303.8 35.3 303.8 40.3V63.4H289.1V21.5Z" fill="white" />
10
+ </svg>
11
+ </template>
12
+
13
+ <style src="./index.scss" lang="scss" module></style>