@nice-digital/global-nav 4.1.758-GN-166-Update-subnav → 4.1.759

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 CHANGED
@@ -132,7 +132,7 @@ The following non-functional requirements apply:
132
132
 
133
133
  Consider the following development principles:
134
134
 
135
- - One single header and footer component across _all_ NICE services
135
+ - One single header and footer component (and optional main wrapper component with back to top link) across _all_ NICE services
136
136
  - Progressively enhanced to support maximum number of devices and browsers
137
137
  - Fast performance
138
138
  - single HTTP request for CDN minified bundle
@@ -285,7 +285,7 @@ This is a good option if you're rendering you're app's interface via React, eith
285
285
 
286
286
  > Note if you're using Create React App you'll need to use v2+ because we use CSS modules
287
287
 
288
- Install the package and require the `Header` and `Footer` React components into your application, just as you would for any other 3rd party component:
288
+ Install the package and require the `Header`, `Footer` and `Main` React components into your application, just as you would for any other 3rd party component:
289
289
 
290
290
  #### Installation
291
291
 
@@ -297,19 +297,19 @@ npm i @nice-digital/global-nav --save
297
297
 
298
298
  > Note: we used to recommend installing directly from GitHub via `npm i nice-digital/global-nav --save` (notice the missing _@_), which still works but we now recommend using npm.
299
299
 
300
- Then, require the header and/or footer into your application:
300
+ Then, require the header and/or footer and/or main into your application:
301
301
 
302
302
  #### Usage
303
303
 
304
- Import the header and footer like this:
304
+ Import the header, footer and main component like this:
305
305
 
306
306
  ```js
307
- import { Header, Footer } from '@nice-digital/global-nav';
307
+ import { Header, Footer, Main } from '@nice-digital/global-nav';
308
308
  ```
309
309
 
310
310
  > Note: we've used ES6 module imports for this examples as we've assumed all React apps will be using ES6.
311
311
 
312
- These header and footer components that can be be used like any other React component and configured via [props](#props), for example:
312
+ These header, footer and main components that can be be used like any other React component and configured via [props](#props), for example:
313
313
 
314
314
  ```jsx
315
315
  const search = {
@@ -319,10 +319,12 @@ const search = {
319
319
  const page = () => (
320
320
  <div>
321
321
  <Header service="pathways" search={search} />
322
+ <Main myOptionalProp={myOptionalProp} className="my-optional-class" >{/* Your page content here */} </Main>
322
323
  <Footer />
323
324
  </div>
324
325
  );
325
326
  ```
327
+ Wrapping your template with the main component will render a main tag in the html with a back to top link.
326
328
 
327
329
  For a full list of all the available props, see the [props section](#props) below:
328
330
 
@@ -142,7 +142,8 @@ var Header = /*#__PURE__*/function (_Component) {
142
142
  });
143
143
  }.bind(this)), /*#__PURE__*/_react["default"].createElement("div", {
144
144
  className: _HeaderModule["default"].header,
145
- "data-tracking": "Global nav"
145
+ "data-tracking": "Global nav",
146
+ id: "top"
146
147
  }, /*#__PURE__*/_react["default"].createElement("header", {
147
148
  "aria-label": "Site header"
148
149
  }, /*#__PURE__*/_react["default"].createElement("ul", {
@@ -135,9 +135,9 @@ function BNF() {
135
135
  }, /*#__PURE__*/_react["default"].createElement("h3", null, "Browse A to Z by"), /*#__PURE__*/_react["default"].createElement("ul", {
136
136
  className: _ComponentsModule["default"].listUnstyled
137
137
  }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
138
- href: baseUrl + "/interactions/"
138
+ href: baseUrl + "/interaction/"
139
139
  }, "Interactions")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
140
- href: baseUrl + "/treatment-summaries/"
140
+ href: baseUrl + "/treatment-summary/"
141
141
  }, "Treatment summaries")))), /*#__PURE__*/_react["default"].createElement(_Grid.GridItem, {
142
142
  "data-tracking": "Browse by type",
143
143
  style: {
@@ -165,7 +165,7 @@ function BNF() {
165
165
  }, /*#__PURE__*/_react["default"].createElement("h3", null, "What\u2019s new"), /*#__PURE__*/_react["default"].createElement("ul", {
166
166
  className: _ComponentsModule["default"].listUnstyled
167
167
  }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
168
- href: baseUrl + "/about/changes/"
168
+ href: baseUrl + "/about/changes.html"
169
169
  }, "Latest BNF"))))), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement("a", {
170
170
  href: baseUrl + "/about/"
171
171
  }, "About BNF"));
@@ -137,9 +137,9 @@ function BNFc() {
137
137
  }, /*#__PURE__*/_react["default"].createElement("h3", null, "Browse A to Z by"), /*#__PURE__*/_react["default"].createElement("ul", {
138
138
  className: _ComponentsModule["default"].listUnstyled
139
139
  }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
140
- href: baseUrl + "/interactions/"
140
+ href: baseUrl + "/interaction/"
141
141
  }, "Interactions")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
142
- href: baseUrl + "/treatment-summaries/"
142
+ href: baseUrl + "/treatment-summary/"
143
143
  }, "Treatment summaries")))), /*#__PURE__*/_react["default"].createElement(_Grid.GridItem, {
144
144
  "data-tracking": "Browse by type",
145
145
  style: {
@@ -165,7 +165,7 @@ function BNFc() {
165
165
  }, /*#__PURE__*/_react["default"].createElement("h3", null, "What\u2019s new"), /*#__PURE__*/_react["default"].createElement("ul", {
166
166
  className: _ComponentsModule["default"].listUnstyled
167
167
  }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {
168
- href: baseUrl + "/about/changes/"
168
+ href: baseUrl + "/about/changes.html"
169
169
  }, "Latest BNFC"))))), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement("a", {
170
170
  href: baseUrl + "/about/"
171
171
  }, "About BNFC"));
@@ -15,10 +15,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _cks = _interopRequireDefault(require("./images/cks.svg"));
17
17
 
18
- var _bnf = _interopRequireDefault(require("./images/bnf.svg"));
19
-
20
- var _bnfc = _interopRequireDefault(require("./images/bnfc.svg"));
21
-
22
18
  var _utils = require("../../../utils");
23
19
 
24
20
  var _tracker = require("../../../tracker");
@@ -30,9 +26,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
30
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
27
 
32
28
  var images = {
33
- cks: _cks["default"],
34
- bnf: _bnf["default"],
35
- bnfc: _bnfc["default"]
29
+ cks: _cks["default"]
36
30
  };
37
31
 
38
32
  var SubNav = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.BackToTop = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ChevronUp = _interopRequireDefault(require("@nice-digital/icons/lib/ChevronUp"));
11
+
12
+ var _ndsContainer = require("@nice-digital/nds-container");
13
+
14
+ var _BackToTopModule = _interopRequireDefault(require("./BackToTop.module.scss"));
15
+
16
+ var BackToTop = function BackToTop() {
17
+ var handleClick = function handleClick(e) {
18
+ var href = e.currentTarget.getAttribute("href");
19
+
20
+ if (href && href.indexOf("#") === 0) {
21
+ var id = href.split("#")[1],
22
+ element = document.getElementById(id);
23
+
24
+ if (element) {
25
+ e.preventDefault();
26
+ element.setAttribute("tabIndex", "-1");
27
+ element.focus();
28
+ element.scrollIntoView();
29
+ }
30
+ }
31
+ };
32
+
33
+ return /*#__PURE__*/_react["default"].createElement("div", {
34
+ className: _BackToTopModule["default"].wrapper
35
+ }, /*#__PURE__*/_react["default"].createElement("nav", {
36
+ "aria-labelledby": "back-to-top-link",
37
+ className: _BackToTopModule["default"].nav
38
+ }, /*#__PURE__*/_react["default"].createElement("a", {
39
+ className: _BackToTopModule["default"].anchor,
40
+ id: "back-to-top-link",
41
+ href: "#top",
42
+ onClick: handleClick
43
+ }, /*#__PURE__*/_react["default"].createElement(_ndsContainer.Container, null, /*#__PURE__*/_react["default"].createElement(_ChevronUp["default"], null), " Back to top"))));
44
+ };
45
+
46
+ exports.BackToTop = BackToTop;
@@ -0,0 +1,68 @@
1
+ @import '~@nice-digital/nds-core/scss/core';
2
+
3
+ $back-to-top-height: rem(
4
+ $nds-spacing-medium * 3
5
+ ); // Line height + bottom and top padding
6
+
7
+ .wrapper {
8
+ margin-bottom: rem($nds-spacing-large) * -1;
9
+ margin-top: rem($nds-spacing-x-large);
10
+
11
+ @media print {
12
+ display: none;
13
+ }
14
+ }
15
+
16
+ .nav {
17
+ background: $nds-colour-nice-grey-3;
18
+ border-top: 1px solid $nds-colour-border;
19
+ width: 100%;
20
+ z-index: 1;
21
+ }
22
+
23
+ .anchor {
24
+ display: block;
25
+ line-height: rem($nds-spacing-medium);
26
+ padding: rem($nds-spacing-medium) 0;
27
+ text-decoration: underline;
28
+
29
+ &:visited {
30
+ color: $nds-colour-link;
31
+ }
32
+
33
+ svg {
34
+ transition: all 0.25s ease;
35
+ }
36
+
37
+ &:hover {
38
+ background: $nds-colour-body;
39
+
40
+ svg {
41
+ transform: translateY(-#{rem($nds-spacing-xx-small)});
42
+ }
43
+ }
44
+ }
45
+
46
+ @supports (position: sticky) {
47
+ .wrapper {
48
+ bottom: 0;
49
+ left: 0;
50
+ margin: 0;
51
+ pointer-events: none;
52
+ position: absolute;
53
+ right: 0;
54
+ top: min(100vh, calc(100% - #{$back-to-top-height}));
55
+ width: 100%;
56
+ z-index: 99;
57
+ }
58
+
59
+ .nav {
60
+ background: $nds-colour-nice-grey-3;
61
+ border-top: 1px solid $nds-colour-border;
62
+ pointer-events: all;
63
+ position: sticky;
64
+ top: calc(100vh - #{$back-to-top-height});
65
+ width: 100%;
66
+ z-index: 1;
67
+ }
68
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.Main = Main;
7
+ exports["default"] = void 0;
8
+
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _BackToTop = require("./BackToTop/BackToTop");
16
+
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+
19
+ var _classnames = _interopRequireDefault(require("classnames"));
20
+
21
+ var _MainModule = _interopRequireDefault(require("./Main.module.scss"));
22
+
23
+ var _excluded = ["children", "className"];
24
+
25
+ function Main(props) {
26
+ var children = props.children,
27
+ className = props.className,
28
+ rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
29
+ return /*#__PURE__*/_react["default"].createElement("main", (0, _extends2["default"])({
30
+ className: (0, _classnames["default"])([_MainModule["default"].main, className])
31
+ }, rest), children, /*#__PURE__*/_react["default"].createElement(_BackToTop.BackToTop, null));
32
+ }
33
+
34
+ Main.propTypes = {
35
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
36
+ className: _propTypes["default"].string
37
+ };
38
+ var _default = Main;
39
+ exports["default"] = _default;
@@ -0,0 +1,12 @@
1
+ @import '~@nice-digital/nds-core/scss/core';
2
+
3
+ $back-to-top-height: rem(
4
+ $nds-spacing-medium * 3
5
+ ); // Line height + bottom and top padding
6
+
7
+ @supports (position: sticky) {
8
+ .main {
9
+ padding-bottom: $back-to-top-height; /* space for the back to top link to dock */
10
+ position: relative;
11
+ }
12
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _Main = _interopRequireDefault(require("./Main"));
9
+
10
+ exports["default"] = _Main["default"];
package/lib/index.js CHANGED
@@ -10,4 +10,8 @@ exports.Header = _Header["default"];
10
10
 
11
11
  var _Footer = _interopRequireDefault(require("./Footer"));
12
12
 
13
- exports.Footer = _Footer["default"];
13
+ exports.Footer = _Footer["default"];
14
+
15
+ var _Main = _interopRequireDefault(require("./Main"));
16
+
17
+ exports.Main = _Main["default"];
package/lib/services.json CHANGED
@@ -55,26 +55,21 @@
55
55
  "dropdown": true,
56
56
  "dropdownComponent": "BNF",
57
57
  "links": [
58
- {
59
- "image": "bnf",
60
- "text": "BNF - Home",
61
- "href": "/"
62
- },
63
58
  {
64
59
  "text": "Drugs",
65
- "href": "/drugs/"
60
+ "href": "/drug/"
66
61
  },
67
62
  {
68
63
  "text": "Interactions",
69
- "href": "/interactions/"
64
+ "href": "/interaction/"
70
65
  },
71
66
  {
72
67
  "text": "Treatment summaries",
73
- "href": "/treatment-summaries/"
68
+ "href": "/treatment-summary/"
74
69
  },
75
70
  {
76
71
  "text": "What's changed?",
77
- "href": "/about/changes/"
72
+ "href": "/about/changes.html"
78
73
  },
79
74
  {
80
75
  "text": "About BNF",
@@ -91,26 +86,21 @@
91
86
  "dropdown": true,
92
87
  "dropdownComponent": "BNFc",
93
88
  "links": [
94
- {
95
- "image": "bnfc",
96
- "text": "BNFC - Home",
97
- "href": "/"
98
- },
99
89
  {
100
90
  "text": "Drugs",
101
- "href": "/drugs/"
91
+ "href": "/drug/"
102
92
  },
103
93
  {
104
94
  "text": "Interactions",
105
- "href": "/interactions/"
95
+ "href": "/interaction/"
106
96
  },
107
97
  {
108
98
  "text": "Treatment summaries",
109
- "href": "/treatment-summaries/"
99
+ "href": "/treatment-summary/"
110
100
  },
111
101
  {
112
102
  "text": "What's changed?",
113
- "href": "/about/changes/"
103
+ "href": "/about/changes.html"
114
104
  },
115
105
  {
116
106
  "text": "About BNFC",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice-digital/global-nav",
3
- "version": "4.1.758-GN-166-Update-subnav",
3
+ "version": "4.1.759",
4
4
  "description": "Global header and footer components for NICE digital services",
5
5
  "main": "lib/index.js",
6
6
  "types": "./types.d.ts",
@@ -81,8 +81,8 @@
81
81
  "eslint-config-prettier": "^8.3.0",
82
82
  "eslint-plugin-jsx-a11y": "^6.5.1",
83
83
  "eslint-plugin-prettier": "^3.4.1",
84
- "eslint-plugin-react": "^7.28.0",
85
84
  "eslint-webpack-plugin": "^2.6.0",
85
+ "eslint-plugin-react": "^7.29.2",
86
86
  "file-loader": "^6.2.0",
87
87
  "html-webpack-plugin": "^5.5.0",
88
88
  "identity-obj-proxy": "^3.0.0",
@@ -115,6 +115,7 @@
115
115
  "dependencies": {
116
116
  "@babel/runtime": "^7.16.7",
117
117
  "@nice-digital/icons": "^2.2.7",
118
+ "@nice-digital/nds-container": "^1.0.8",
118
119
  "@nice-digital/nds-core": "^1.2.11",
119
120
  "@use-it/event-listener": "^0.1.7",
120
121
  "accessible-autocomplete": "^2.0.3",
package/types.d.ts CHANGED
@@ -82,8 +82,18 @@ declare module "@nice-digital/global-nav" {
82
82
  service?: Service;
83
83
  };
84
84
 
85
+ export interface MainProps {
86
+ /** Allow any additional props to be passed and applied to the main element */
87
+ [prop: string]: unknown;
88
+ /** Contents for the main element */
89
+ children: React.ReactNode;
90
+ /** Additional classnames for the main element. */
91
+ className?: string;
92
+ }
93
+
85
94
  const Header: React.FC<HeaderProps>;
86
95
  const Footer: React.FC<FooterProps>;
96
+ const Main: React.FC<MainProps>;
87
97
 
88
- export { Header, Footer };
98
+ export { Header, Footer, Main };
89
99
  }
@@ -1 +0,0 @@
1
- <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"><path d="M69.18,247.51c14.34,0,18-8.1,18-16.86,0-10.29-6.85-16.42-20.34-16.42H40.71v33.28Zm-8.35-63c16.48,0,21-5.26,21-16.64,0-9.64-4.93-15.33-18.2-15.33H40.71v32ZM2.18,122.72h70c25.48,0,51,12.48,51,42.25,0,14.67-11.35,30.65-28,34.15,20.55,4.17,33.39,15.33,33.39,36.57,0,34.15-25.47,41.59-52.66,41.59H2.18Z"/><path d="M144.74,122.72h42.17c22.26,42.47,39.17,72.46,50.51,98.95-2.14-34.59-1.5-66.33-1.71-98.95h36.17V277.28H229.72c-17.77-33.71-42.39-79-50.52-98.95,1.93,35.24,1.29,66.33,1.71,98.95H144.74Z"/><polygon points="292.01 122.72 399.03 122.72 399.03 152.49 330.54 152.49 330.54 186.21 377.84 186.21 377.84 215.98 330.54 215.98 330.54 277.28 292.01 277.28 292.01 122.72"/></svg>
@@ -1,48 +0,0 @@
1
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="50" y="50"
2
- viewBox="-50 -50 575 400" xml:space="preserve">
3
- <g>
4
- <g>
5
- <g>
6
- <path d="M67.13,125.12c14.34,0,17.98-8.1,17.98-16.86c0-10.29-6.85-16.42-20.33-16.42H38.67v33.28H67.13z M58.79,62.07
7
- c16.48,0,20.98-5.25,20.98-16.64c0-9.63-4.92-15.33-18.2-15.33h-22.9v31.96H58.79z M0.14,0.33h69.99
8
- c25.47,0,50.94,12.48,50.94,42.25c0,14.67-11.34,30.65-28.04,34.15c20.55,4.16,33.39,15.33,33.39,36.56
9
- c0,34.15-25.47,41.6-52.66,41.6H0.14V0.33z"/>
10
- <path d="M142.69,0.33h42.17c22.26,42.47,39.17,72.47,50.52,98.96c-2.14-34.59-1.5-66.34-1.71-98.96h36.17v154.57h-42.17
11
- c-17.77-33.71-42.38-79.03-50.52-98.96c1.93,35.25,1.28,66.34,1.71,98.96h-36.17V0.33z"/>
12
- </g>
13
- <polygon points="289.96,0.33 396.99,0.33 396.99,30.1 328.49,30.1 328.49,63.82 375.8,63.82 375.8,93.59 328.49,93.59
14
- 328.49,154.89 289.96,154.89 "/>
15
- </g>
16
- <g>
17
- <path d="M8.66,243.87H0.14l1.04-5.93h8.22c-0.21-1.77-0.42-4.68-0.42-6.86c0-7.8,1.87-17.16,14.87-17.16
18
- c3.95,0,6.97,0.52,9.36,1.56l-2.7,6.55c-1.35-0.73-3.64-1.25-5.62-1.25c-4.78,0-7.28,3.64-7.28,10.82c0,2.29,0.31,5.1,0.52,6.34
19
- h9.57l-1.04,5.93H17.4l-7.9,45.24H0.76L8.66,243.87z"/>
20
- <path d="M28.01,268.83c0-17.16,9.57-32.34,27.46-32.34c12.9,0,19.86,9.05,19.86,21.53c0,17.16-9.67,32.66-27.56,32.66
21
- C34.98,290.67,28.01,281.31,28.01,268.83z M66.18,258.53c0-8.94-3.64-15.29-11.65-15.29c-11.34,0-17.37,12.48-17.37,25.17
22
- c0,8.84,3.74,15.5,11.65,15.5C60.15,283.91,66.18,270.6,66.18,258.53z"/>
23
- <path d="M89.68,237.94h7.59l-1.14,11.13c3.95-7.8,11.54-12.58,19.97-12.58l-1.56,9.15c-0.94-0.21-2.08-0.31-3.22-0.31
24
- c-6.86,0-15.08,4.89-17.26,17.26l-4.68,26.52h-8.74L89.68,237.94z"/>
25
- <path d="M200.13,273.62c-7.38,11.54-17.06,17.06-31.2,17.06c-18.51,0-27.67-13.21-27.67-30.47c0-25.27,14.35-46.07,39.63-46.07
26
- c12.06,0,20.59,5.1,25.27,15.29l-9.15,4.47c-2.5-7.28-8.42-11.65-17.47-11.65c-18.1,0-28.19,17.78-28.19,36.61
27
- c0,13.21,5.93,23.71,18.62,23.71c8.63,0,16.64-4.06,21.42-13.42L200.13,273.62z"/>
28
- <path d="M219.99,215.68h8.63l-5.51,31.72c2.91-5.62,9.46-10.92,17.68-10.92c8.94,0,12.79,5.51,12.79,13.1
29
- c0,1.98-0.31,4.99-0.94,8.63l-5.51,30.89h-8.63l5.2-29.64c0.52-2.71,0.83-5.3,0.83-6.55c0-5.62-2.81-8.74-7.9-8.74
30
- c-7.7,0-14.25,6.97-16.12,17.89l-4.78,27.04h-8.74L219.99,215.68z"/>
31
- <path d="M269.08,237.94h8.74l-9.05,51.17h-8.74L269.08,237.94z M272.61,218.08h8.63l-1.56,8.63h-8.63L272.61,218.08z"/>
32
- <path d="M294.55,215.68h8.63l-12.9,73.43h-8.74L294.55,215.68z"/>
33
- <path d="M338.34,279.13c-3.95,6.97-8.94,11.23-17.26,11.23c-10.61,0-16.33-8.42-16.33-20.7c0-19.45,10.5-33.07,24.75-33.07
34
- c8.53,0,12.9,4.68,14.14,10.09l5.41-30.99h8.74l-13,73.43h-8.22L338.34,279.13z M340.73,262.38c0.42-2.71,0.52-5.3,0.52-6.76
35
- c0-7.07-3.64-11.96-10.19-11.96c-11.44,0-17.16,12.48-17.16,24.75c0,8.74,3.64,14.98,10.82,14.98c8.32,0,13.94-9.15,15.5-17.99
36
- L340.73,262.38z"/>
37
- <path d="M366.62,237.94h7.59l-1.14,11.13c3.95-7.8,11.54-12.58,19.97-12.58l-1.56,9.15c-0.94-0.21-2.08-0.31-3.22-0.31
38
- c-6.86,0-15.08,4.89-17.26,17.26l-4.68,26.52h-8.74L366.62,237.94z"/>
39
- <path d="M401.36,265.5c-0.1,1.04-0.1,1.98-0.1,2.91c0,9.78,4.16,15.6,12.38,15.6c5.62,0,10.19-2.71,14.14-8.53l6.86,3.43
40
- c-4.47,6.55-11.02,11.75-21.42,11.75c-14.25,0-20.8-9.36-20.8-21.95c0-15.91,8.53-32.24,27.25-32.24c12.58,0,18.2,8.22,18.2,19.34
41
- c0,4.06-0.52,8.11-0.94,9.67H401.36z M401.98,260.3h27.14c0.31-1.25,0.42-3.43,0.42-5.2c0-6.03-3.02-12.06-10.61-12.06
42
- C409.78,243.04,403.96,250.53,401.98,260.3z"/>
43
- <path d="M452.32,237.94h7.59l-0.83,9.57c3.85-6.24,9.78-11.02,17.99-11.02c8.94,0,12.79,5.51,12.79,13.1
44
- c0,1.98-0.31,4.99-0.94,8.63l-5.51,30.89h-8.63l5.2-29.64c0.52-2.71,0.83-5.3,0.83-6.55c0-5.62-2.81-8.74-7.9-8.74
45
- c-7.7,0-14.25,6.97-16.12,17.89l-4.79,27.04h-8.74L452.32,237.94z"/>
46
- </g>
47
- </g>
48
- </svg>