@transferwise/components 0.0.0-experimental-266e18f → 0.0.0-experimental-add7cf9

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/build/image/Image.js +9 -10
  2. package/build/image/Image.js.map +1 -1
  3. package/build/image/Image.mjs +11 -11
  4. package/build/image/Image.mjs.map +1 -1
  5. package/build/index.js +0 -1
  6. package/build/index.js.map +1 -1
  7. package/build/index.mjs +1 -1
  8. package/build/main.css +0 -188
  9. package/build/styles/main.css +0 -188
  10. package/build/types/image/Image.d.ts +0 -1
  11. package/build/types/image/Image.d.ts.map +1 -1
  12. package/build/types/index.d.ts +0 -2
  13. package/build/types/index.d.ts.map +1 -1
  14. package/build/types/test-utils/fake-data.d.ts +0 -2
  15. package/build/types/test-utils/fake-data.d.ts.map +1 -1
  16. package/package.json +3 -3
  17. package/src/image/Image.spec.tsx +3 -3
  18. package/src/image/Image.tsx +10 -12
  19. package/src/index.ts +0 -2
  20. package/src/legacylistItem/LegacyListItem.story.tsx +5 -5
  21. package/src/legacylistItem/LegacyListItem.tests.story.tsx +6 -6
  22. package/src/main.css +0 -188
  23. package/src/main.less +0 -1
  24. package/src/promoCard/__snapshots__/PromoCard.spec.tsx.snap +1 -0
  25. package/src/promoCard/__snapshots__/PromoCardGroup.spec.tsx.snap +2 -0
  26. package/src/test-utils/fake-data.ts +0 -5
  27. package/build/styles/listItem/ListItem.css +0 -188
  28. package/build/test-utils/assets/apple-pay-logo.svg +0 -84
  29. package/build/types/listItem/ListItem.d.ts +0 -44
  30. package/build/types/listItem/ListItem.d.ts.map +0 -1
  31. package/build/types/listItem/ListItemAdditionalInfo.d.ts +0 -9
  32. package/build/types/listItem/ListItemAdditionalInfo.d.ts.map +0 -1
  33. package/build/types/listItem/ListItemButton.d.ts +0 -4
  34. package/build/types/listItem/ListItemButton.d.ts.map +0 -1
  35. package/build/types/listItem/ListItemCheckbox.d.ts +0 -4
  36. package/build/types/listItem/ListItemCheckbox.d.ts.map +0 -1
  37. package/build/types/listItem/ListItemIconButton.d.ts +0 -7
  38. package/build/types/listItem/ListItemIconButton.d.ts.map +0 -1
  39. package/build/types/listItem/ListItemMedia.d.ts +0 -19
  40. package/build/types/listItem/ListItemMedia.d.ts.map +0 -1
  41. package/build/types/listItem/ListItemNavigation.d.ts +0 -4
  42. package/build/types/listItem/ListItemNavigation.d.ts.map +0 -1
  43. package/build/types/listItem/ListItemSwitch.d.ts +0 -3
  44. package/build/types/listItem/ListItemSwitch.d.ts.map +0 -1
  45. package/build/types/listItem/index.d.ts +0 -6
  46. package/build/types/listItem/index.d.ts.map +0 -1
  47. package/build/types/listItem/prompt/Prompt.d.ts +0 -12
  48. package/build/types/listItem/prompt/Prompt.d.ts.map +0 -1
  49. package/build/types/listItem/useItemControl.d.ts +0 -5
  50. package/build/types/listItem/useItemControl.d.ts.map +0 -1
  51. package/src/listItem/ListItem.css +0 -188
  52. package/src/listItem/ListItem.less +0 -180
  53. package/src/listItem/ListItem.spec.tsx +0 -35
  54. package/src/listItem/ListItem.story.tsx +0 -296
  55. package/src/listItem/ListItem.tsx +0 -190
  56. package/src/listItem/ListItemAdditionalInfo.tsx +0 -31
  57. package/src/listItem/ListItemButton.spec.tsx +0 -90
  58. package/src/listItem/ListItemButton.tsx +0 -18
  59. package/src/listItem/ListItemCheckbox.tsx +0 -14
  60. package/src/listItem/ListItemIconButton.tsx +0 -13
  61. package/src/listItem/ListItemMedia.tsx +0 -52
  62. package/src/listItem/ListItemNavigation.tsx +0 -11
  63. package/src/listItem/ListItemSwitch.tsx +0 -8
  64. package/src/listItem/index.ts +0 -10
  65. package/src/listItem/prompt/Prompt.spec.tsx +0 -77
  66. package/src/listItem/prompt/Prompt.story.tsx +0 -170
  67. package/src/listItem/prompt/Prompt.tsx +0 -44
  68. package/src/listItem/useItemControl.tsx +0 -12
  69. package/src/test-utils/assets/apple-pay-logo.svg +0 -84
@@ -1,52 +0,0 @@
1
- import { default as AvatarViewComp, AvatarViewProps } from '../avatarView';
2
- import { default as AvatarLayoutComp, AvatarLayoutProps } from '../avatarLayout';
3
- import { default as ImageComp, ImageProps } from '../image/Image';
4
- import { clsx } from 'clsx';
5
-
6
- type SizeProp = { size?: 32 | 40 | 48 | 56 | 72 };
7
-
8
- export type ListItemAvatarViewProps = Omit<AvatarViewProps, 'size' | 'interactive'> & SizeProp;
9
-
10
- export const AvatarView = ({ className, size = 48, ...props }: ListItemAvatarViewProps) => {
11
- return (
12
- <AvatarViewComp
13
- {...props}
14
- size={size}
15
- className={clsx('wds-list-item-media-avatar-view', className)}
16
- />
17
- );
18
- };
19
-
20
- export type ListItemAvatarLayoutProps = Omit<AvatarLayoutProps, 'size' | 'interactive'> & SizeProp;
21
-
22
- export const AvatarLayout = ({ className, size = 48, ...props }: ListItemAvatarLayoutProps) => {
23
- return (
24
- <AvatarLayoutComp
25
- {...props}
26
- size={size}
27
- className={clsx('wds-list-item-media-avatar-layout', className)}
28
- />
29
- );
30
- };
31
-
32
- export type ListItemImageProps = Omit<ImageProps, 'stretch' | 'shrink' | 'id' | 'alt'> &
33
- SizeProp & {
34
- alt?: string;
35
- };
36
-
37
- /**
38
- * TODO: mention that image is for rare cases not for DS illustrations, they discouraged
39
- */
40
- export const Image = ({ alt = '', size = 48, ...props }: ListItemImageProps) => {
41
- return (
42
- <div
43
- className={clsx('wds-list-item-media-image')}
44
- style={{
45
- // @ts-expect-error CSS custom props allowed
46
- '--item-media-image-size': `${size}px`,
47
- }}
48
- >
49
- <ImageComp {...props} alt={alt} />
50
- </div>
51
- );
52
- };
@@ -1,11 +0,0 @@
1
- import { ChevronRight, BillSplit as Disabled } from '@transferwise/icons';
2
- import { ButtonProps } from '../button/Button.types';
3
- import { useItemControl } from './useItemControl';
4
-
5
- export type ListItemNavigationProps = Pick<ButtonProps, 'onClick' | 'href'>;
6
-
7
- export const Navigation = function Navigation({ onClick }: ListItemNavigationProps) {
8
- const { baseItemProps } = useItemControl('navigation');
9
-
10
- return baseItemProps.disabled ? <Disabled size={24} /> : <ChevronRight size={24} />;
11
- };
@@ -1,8 +0,0 @@
1
- import { default as SwitchComp, SwitchProps } from '../switch';
2
- import { useItemControl } from './useItemControl';
3
-
4
- export const Switch = function (props: SwitchProps) {
5
- const { baseItemProps } = useItemControl('switch');
6
-
7
- return <SwitchComp disabled={baseItemProps.disabled} {...props} />;
8
- };
@@ -1,10 +0,0 @@
1
- export type { Props as ListItemProps } from './ListItem';
2
- export type { ListItemAdditionalInfoProps } from './ListItemAdditionalInfo';
3
- export type { ListItemCheckboxProps } from './ListItemCheckbox';
4
- export type {
5
- ListItemImageProps,
6
- ListItemAvatarViewProps,
7
- ListItemAvatarLayoutProps,
8
- } from './ListItemMedia';
9
-
10
- export { default } from './ListItem';
@@ -1,77 +0,0 @@
1
- import { render, screen, mockMatchMedia } from '../../test-utils';
2
- import { Prompt } from './Prompt';
3
- import { Sentiment } from '../../common';
4
-
5
- mockMatchMedia();
6
-
7
- describe('ListItem.Prompt', () => {
8
- it('renders the aria-label when provided', () => {
9
- const ariaLabel = 'Test aria-label';
10
- render(
11
- <Prompt
12
- type={Sentiment.POSITIVE}
13
- action={{ 'aria-label': ariaLabel, href: 'https://example.com' }}
14
- >
15
- Positive prompt
16
- </Prompt>,
17
- );
18
-
19
- expect(screen.getByLabelText(ariaLabel)).toBeInTheDocument();
20
- });
21
-
22
- it('applies the interactive class when href is provided', () => {
23
- render(
24
- <Prompt
25
- type={Sentiment.POSITIVE}
26
- action={{ href: 'https://example.com', 'aria-label': 'Interactive link' }}
27
- >
28
- Interactive link
29
- </Prompt>,
30
- );
31
-
32
- expect(screen.getByRole('link')).toHaveClass('np-prompt-interactive');
33
- });
34
-
35
- it('applies the interactive class when onClick is provided', () => {
36
- render(
37
- <Prompt
38
- type={Sentiment.POSITIVE}
39
- action={{ onClick: jest.fn(), 'aria-label': 'Interactive button' }}
40
- >
41
- Interactive button
42
- </Prompt>,
43
- );
44
-
45
- expect(screen.getByRole('button')).toHaveClass('np-prompt-interactive');
46
- });
47
-
48
- it('does not apply the interactive class when no action is provided', () => {
49
- render(<Prompt type={Sentiment.POSITIVE}>Non-interactive prompt</Prompt>);
50
-
51
- expect(screen.getByText('Non-interactive prompt')).not.toHaveClass('np-prompt-interactive');
52
- });
53
-
54
- it('renders the children content', () => {
55
- render(<Prompt type={Sentiment.POSITIVE}>This is a child prompt</Prompt>);
56
-
57
- expect(screen.getByText('This is a child prompt')).toBeInTheDocument();
58
- });
59
-
60
- it('spreads additional props to the wrapper element', () => {
61
- render(
62
- <Prompt
63
- type={Sentiment.POSITIVE}
64
- action={{
65
- href: 'https://example.com',
66
- target: '_blank',
67
- 'aria-label': 'Custom props prompt',
68
- }}
69
- >
70
- Custom props prompt
71
- </Prompt>,
72
- );
73
-
74
- const link = screen.getByRole('link');
75
- expect(link).toHaveAttribute('target', '_blank');
76
- });
77
- });
@@ -1,170 +0,0 @@
1
- import Link from '../../link';
2
- import { Sentiment } from '../../common';
3
- import { Prompt, ListItemPromptProps } from './Prompt';
4
- import { lorem40 } from '../../test-utils';
5
- import { StoryObj } from '@storybook/react';
6
-
7
- export default {
8
- component: Prompt,
9
- title: 'Content/ListItem/Prompt',
10
- args: {
11
- type: Sentiment.NEGATIVE,
12
- children: 'You have done a terrible thing',
13
- },
14
- argTypes: {
15
- type: {
16
- options: [
17
- Sentiment.POSITIVE,
18
- Sentiment.NEGATIVE,
19
- Sentiment.NEUTRAL,
20
- Sentiment.WARNING,
21
- 'discount',
22
- 'savings',
23
- ],
24
- control: { type: 'radio' },
25
- description: 'The type of prompt to display',
26
- },
27
- action: {
28
- table: {
29
- disable: true,
30
- },
31
- },
32
- children: {
33
- type: {
34
- name: 'string',
35
- required: true,
36
- description: 'The content of the prompt',
37
- },
38
- },
39
- },
40
- };
41
-
42
- type CustomStory = StoryObj<
43
- ListItemPromptProps & {
44
- interactivity?: 'none' | 'full-anchor' | 'full-button' | 'link';
45
- }
46
- >;
47
-
48
- export const Basic: CustomStory = {
49
- args: {
50
- interactivity: 'none',
51
- },
52
- argTypes: {
53
- interactivity: {
54
- options: ['none', 'full-button', 'full-anchor', 'link'],
55
- control: { type: 'radio' },
56
- description: 'The type of interactivity to display',
57
- },
58
- },
59
- render: ({ interactivity, ...args }) => {
60
- return (
61
- <div>
62
- <Prompt
63
- type={args.type}
64
- action={
65
- interactivity === 'full-anchor'
66
- ? { href: 'wise.com' }
67
- : interactivity === 'full-button'
68
- ? {
69
- onClick: () => {
70
- console.log('clicked');
71
- },
72
- }
73
- : undefined
74
- }
75
- >
76
- {args.children} {interactivity === 'link' && <Link href="www.wise.com">with a link</Link>}
77
- </Prompt>
78
- </div>
79
- );
80
- },
81
- };
82
-
83
- export const Variants = () => {
84
- return (
85
- <>
86
- <div className="m-b-2">
87
- <Prompt type={Sentiment.POSITIVE}>
88
- Positive prompt <Link href="www.wise.com">with a link to amazing content</Link>
89
- </Prompt>
90
- </div>
91
- <div className="m-b-2">
92
- <Prompt type={Sentiment.NEGATIVE}>
93
- Negative prompt <Link href="www.wise.com">with a link to amazing content</Link>
94
- </Prompt>
95
- </div>
96
- <div className="m-b-2">
97
- <Prompt type={Sentiment.NEUTRAL}>
98
- Neutral prompt <Link href="www.wise.com">with a link to amazing content</Link>
99
- </Prompt>
100
- </div>
101
- <div className="m-b-2">
102
- <Prompt type={Sentiment.WARNING}>
103
- Warning prompt <Link href="www.wise.com">with a link to amazing content</Link>
104
- </Prompt>
105
- </div>
106
- <div className="m-b-2">
107
- <Prompt type="discount">
108
- Discount prompt <Link href="www.wise.com">with a link to amazing content</Link>
109
- </Prompt>
110
- </div>
111
- <div className="m-b-2">
112
- <Prompt type="savings">
113
- Savings prompt <Link href="www.wise.com">with a link to amazing content</Link>
114
- </Prompt>
115
- </div>
116
- <div className="m-b-2">
117
- <Prompt
118
- type="discount"
119
- action={{
120
- href: 'www.wise.com',
121
- target: '_self',
122
- 'aria-label': 'hidden anchor tags are accessible, right?',
123
- }}
124
- >
125
- The whole prompt is secretly clickable
126
- </Prompt>
127
- </div>
128
- <div className="m-b-2">
129
- <Prompt
130
- type="negative"
131
- action={{
132
- href: 'www.wise.com',
133
- target: '_self',
134
- 'aria-label': 'clickable <a>',
135
- }}
136
- >
137
- The whole prompt is secretly clickable as an anchor tag
138
- </Prompt>
139
- </div>
140
- <div className="m-b-2">
141
- <Prompt
142
- type="warning"
143
- action={{
144
- onClick: () => {
145
- console.log('clicked');
146
- },
147
- 'aria-label': 'clickable button',
148
- }}
149
- >
150
- The whole prompt is secretly clickable as a button
151
- </Prompt>
152
- </div>
153
- <div className="m-b-2">
154
- <Prompt
155
- type="neutral"
156
- action={{
157
- href: 'www.wise.com',
158
- target: '_self',
159
- 'aria-label': 'clickable prompt',
160
- }}
161
- >
162
- The whole prompt is secretly clickable
163
- </Prompt>
164
- </div>
165
- <div className="m-b-2" style={{ maxWidth: '300px' }}>
166
- <Prompt type="warning">The prompt has very long text that wraps {lorem40}</Prompt>
167
- </div>
168
- </>
169
- );
170
- };
@@ -1,44 +0,0 @@
1
- import { Confetti, Tags } from '@transferwise/icons';
2
- import { Sentiment } from '../../common';
3
- import StatusIcon from '../../statusIcon';
4
- import { clsx } from 'clsx';
5
- import { LinkProps } from '../../link';
6
- import Body from '../../body';
7
-
8
- export type ListItemPromptProps = {
9
- type:
10
- | `${Sentiment.POSITIVE | Sentiment.NEGATIVE | Sentiment.NEUTRAL | Sentiment.WARNING}`
11
- | 'discount'
12
- | 'savings';
13
- children: React.ReactNode;
14
- action?: Pick<LinkProps, 'href' | 'target' | 'onClick'> & { 'aria-label'?: string };
15
- };
16
-
17
- export const Prompt = ({ type, children, action }: ListItemPromptProps) => {
18
- const Wrapper = action?.href ? 'a' : action?.onClick ? 'button' : 'span';
19
-
20
- const icon =
21
- type === 'discount' ? (
22
- <Tags size={16} />
23
- ) : type === 'savings' ? (
24
- <Confetti size={16} />
25
- ) : (
26
- <StatusIcon size={16} sentiment={type} />
27
- );
28
-
29
- return (
30
- <Wrapper
31
- className={clsx(
32
- 'wds-list-item-prompt',
33
- type,
34
- (action?.href || action?.onClick) && 'np-prompt-interactive',
35
- )}
36
- {...(action ?? {})}
37
- >
38
- <div className="np-prompt-icon">{icon}</div>
39
- <Body>{children}</Body>
40
- </Wrapper>
41
- );
42
- };
43
-
44
- export default Prompt;
@@ -1,12 +0,0 @@
1
- import { useContext, useEffect } from 'react';
2
- import { ListItemContext, ListItemContextData, ListItemTypes } from './ListItem';
3
-
4
- export function useItemControl(controlType: ListItemTypes) {
5
- const { setControlType, props: baseItemProps } = useContext<ListItemContextData>(ListItemContext);
6
-
7
- useEffect(() => {
8
- setControlType(controlType);
9
- }, [controlType, setControlType]);
10
-
11
- return { baseItemProps };
12
- }
@@ -1,84 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Artwork" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- width="165.52107px" height="105.9651px" viewBox="0 0 165.52107 105.9651" enable-background="new 0 0 165.52107 105.9651"
5
- xml:space="preserve">
6
- <g>
7
- <path id="XMLID_4_" d="M150.69807,0H14.82318c-0.5659,0-1.1328,0-1.69769,0.0033c-0.47751,0.0034-0.95391,0.0087-1.43031,0.0217
8
- c-1.039,0.0281-2.0869,0.0894-3.1129,0.2738c-1.0424,0.1876-2.0124,0.4936-2.9587,0.9754
9
- c-0.9303,0.4731-1.782,1.0919-2.52009,1.8303c-0.73841,0.7384-1.35721,1.5887-1.83021,2.52
10
- c-0.4819,0.9463-0.7881,1.9166-0.9744,2.9598c-0.18539,1.0263-0.2471,2.074-0.2751,3.1119
11
- c-0.0128,0.4764-0.01829,0.9528-0.0214,1.4291c-0.0033,0.5661-0.0022,1.1318-0.0022,1.6989V91.142
12
- c0,0.5671-0.0011,1.13181,0.0022,1.69901c0.00311,0.4763,0.0086,0.9527,0.0214,1.4291
13
- c0.028,1.03699,0.08971,2.08469,0.2751,3.11069c0.1863,1.0436,0.4925,2.0135,0.9744,2.9599
14
- c0.473,0.9313,1.0918,1.7827,1.83021,2.52c0.73809,0.7396,1.58979,1.3583,2.52009,1.8302
15
- c0.9463,0.4831,1.9163,0.7892,2.9587,0.9767c1.026,0.1832,2.0739,0.2456,3.1129,0.2737c0.4764,0.0108,0.9528,0.0172,1.43031,0.0194
16
- c0.56489,0.0044,1.13179,0.0044,1.69769,0.0044h135.87489c0.5649,0,1.13181,0,1.69659-0.0044
17
- c0.47641-0.0022,0.95282-0.0086,1.4314-0.0194c1.0368-0.0281,2.0845-0.0905,3.11301-0.2737
18
- c1.041-0.1875,2.0112-0.4936,2.9576-0.9767c0.9313-0.4719,1.7805-1.0906,2.52011-1.8302c0.7372-0.7373,1.35599-1.5887,1.8302-2.52
19
- c0.48299-0.9464,0.78889-1.9163,0.97429-2.9599c0.1855-1.026,0.2457-2.0737,0.2738-3.11069
20
- c0.013-0.4764,0.01941-0.9528,0.02161-1.4291c0.00439-0.5672,0.00439-1.1319,0.00439-1.69901V14.8242
21
- c0-0.5671,0-1.1328-0.00439-1.6989c-0.0022-0.4763-0.00861-0.9527-0.02161-1.4291c-0.02811-1.0379-0.0883-2.0856-0.2738-3.1119
22
- c-0.18539-1.0432-0.4913-2.0135-0.97429-2.9598c-0.47421-0.9313-1.093-1.7816-1.8302-2.52
23
- c-0.73961-0.7384-1.58881-1.3572-2.52011-1.8303c-0.9464-0.4818-1.9166-0.7878-2.9576-0.9754
24
- c-1.0285-0.1844-2.0762-0.2457-3.11301-0.2738c-0.47858-0.013-0.95499-0.0183-1.4314-0.0217C151.82988,0,151.26297,0,150.69807,0
25
- L150.69807,0z"/>
26
- <path id="XMLID_3_" fill="#FFFFFF" d="M150.69807,3.532l1.67149,0.0032c0.4528,0.0032,0.90561,0.0081,1.36092,0.0205
27
- c0.79201,0.0214,1.71849,0.0643,2.58209,0.2191c0.7507,0.1352,1.38029,0.3408,1.9845,0.6484
28
- c0.5965,0.3031,1.14301,0.7003,1.62019,1.1768c0.479,0.4797,0.87671,1.0271,1.18381,1.6302
29
- c0.30589,0.5995,0.51019,1.2261,0.64459,1.9823c0.1544,0.8542,0.1971,1.7832,0.21881,2.5801
30
- c0.01219,0.4498,0.01819,0.8996,0.0204,1.3601c0.00429,0.5569,0.0042,1.1135,0.0042,1.6715V91.142
31
- c0,0.558,0.00009,1.1136-0.0043,1.6824c-0.00211,0.4497-0.0081,0.8995-0.0204,1.3501c-0.02161,0.7957-0.0643,1.7242-0.2206,2.5885
32
- c-0.13251,0.7458-0.3367,1.3725-0.64429,1.975c-0.30621,0.6016-0.70331,1.1484-1.18022,1.6251
33
- c-0.47989,0.48-1.0246,0.876-1.62819,1.1819c-0.5997,0.3061-1.22821,0.51151-1.97151,0.6453
34
- c-0.88109,0.157-1.84639,0.2002-2.57339,0.2199c-0.4574,0.0103-0.9126,0.01649-1.37889,0.0187
35
- c-0.55571,0.0043-1.1134,0.0042-1.6692,0.0042H14.82318c-0.0074,0-0.0146,0-0.0221,0c-0.5494,0-1.0999,0-1.6593-0.0043
36
- c-0.4561-0.00211-0.9112-0.0082-1.3512-0.0182c-0.7436-0.0201-1.7095-0.0632-2.5834-0.2193
37
- c-0.74969-0.1348-1.3782-0.3402-1.9858-0.6503c-0.59789-0.3032-1.1422-0.6988-1.6223-1.1797
38
- c-0.4764-0.4756-0.8723-1.0207-1.1784-1.6232c-0.3064-0.6019-0.5114-1.2305-0.64619-1.9852
39
- c-0.15581-0.8626-0.19861-1.7874-0.22-2.5777c-0.01221-0.4525-0.01731-0.9049-0.02021-1.3547l-0.0022-1.3279l0.0001-0.3506V14.8242
40
- l-0.0001-0.3506l0.0021-1.3251c0.003-0.4525,0.0081-0.9049,0.02031-1.357c0.02139-0.7911,0.06419-1.7163,0.22129-2.5861
41
- c0.1336-0.7479,0.3385-1.3765,0.6465-1.9814c0.3037-0.5979,0.7003-1.1437,1.17921-1.6225
42
- c0.477-0.4772,1.02309-0.8739,1.62479-1.1799c0.6011-0.3061,1.2308-0.5116,1.9805-0.6465c0.8638-0.1552,1.7909-0.198,2.5849-0.2195
43
- c0.4526-0.0123,0.9052-0.0172,1.3544-0.0203l1.6771-0.0033H150.69807"/>
44
- <g>
45
- <g>
46
- <path d="M45.1862,35.64053c1.41724-1.77266,2.37897-4.15282,2.12532-6.58506c-2.07464,0.10316-4.60634,1.36871-6.07207,3.14276
47
- c-1.31607,1.5192-2.4809,3.99902-2.17723,6.3293C41.39111,38.72954,43.71785,37.36345,45.1862,35.64053"/>
48
- <path d="M47.28506,38.98252c-3.38211-0.20146-6.25773,1.91951-7.87286,1.91951c-1.61602,0-4.08931-1.81799-6.76438-1.76899
49
- c-3.48177,0.05114-6.71245,2.01976-8.4793,5.15079c-3.63411,6.2636-0.95904,15.55471,2.57494,20.65606
50
- c1.71618,2.5238,3.78447,5.30269,6.50976,5.20287c2.57494-0.10104,3.58421-1.66732,6.71416-1.66732
51
- c3.12765,0,4.03679,1.66732,6.76252,1.61681c2.82665-0.05054,4.59381-2.52506,6.30997-5.05132
52
- c1.96878-2.877,2.77473-5.65498,2.82542-5.80748c-0.0507-0.05051-5.45058-2.12204-5.50065-8.33358
53
- c-0.05098-5.20101,4.23951-7.6749,4.44144-7.82832C52.3832,39.4881,48.5975,39.08404,47.28506,38.98252"/>
54
- </g>
55
- <g>
56
- <path d="M76.73385,31.94381c7.35096,0,12.4697,5.06708,12.4697,12.44437c0,7.40363-5.22407,12.49704-12.65403,12.49704h-8.13892
57
- v12.94318h-5.88037v-37.8846H76.73385z M68.41059,51.9493h6.74732c5.11975,0,8.0336-2.75636,8.0336-7.53479
58
- c0-4.77792-2.91385-7.50845-8.00727-7.50845h-6.77365V51.9493z"/>
59
- <path d="M90.73997,61.97864c0-4.8311,3.70182-7.79761,10.26583-8.16526l7.56061-0.44614v-2.12639
60
- c0-3.07185-2.07423-4.90959-5.53905-4.90959c-3.28251,0-5.33041,1.57492-5.82871,4.04313h-5.35574
61
- c0.31499-4.98859,4.56777-8.66407,11.3941-8.66407c6.69466,0,10.97377,3.54432,10.97377,9.08388v19.03421h-5.43472v-4.54194
62
- h-0.13065c-1.60125,3.07185-5.09341,5.01441-8.71623,5.01441C94.52078,70.30088,90.73997,66.94038,90.73997,61.97864z
63
- M108.56641,59.4846v-2.17905l-6.8,0.41981c-3.38683,0.23649-5.30306,1.73291-5.30306,4.09579
64
- c0,2.41504,1.99523,3.99046,5.04075,3.99046C105.46823,65.81161,108.56641,63.08108,108.56641,59.4846z"/>
65
- <path d="M119.34167,79.9889v-4.5946c0.4193,0.10483,1.36425,0.10483,1.83723,0.10483c2.6252,0,4.04313-1.10245,4.90908-3.9378
66
- c0-0.05267,0.49931-1.68025,0.49931-1.70658l-9.97616-27.64562h6.14268l6.98432,22.47371h0.10432l6.98433-22.47371h5.9857
67
- l-10.34483,29.06304c-2.36186,6.69517-5.0924,8.84789-10.81577,8.84789C121.17891,80.12006,119.76098,80.06739,119.34167,79.9889
68
- z"/>
69
- </g>
70
- </g>
71
- </g>
72
- <g>
73
- </g>
74
- <g>
75
- </g>
76
- <g>
77
- </g>
78
- <g>
79
- </g>
80
- <g>
81
- </g>
82
- <g>
83
- </g>
84
- </svg>