@nnc-digital/nnc-design-system 1.0.0-alpha42 → 1.0.0-alpha44

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/build/index.js CHANGED
@@ -30168,7 +30168,7 @@ var PhoneIcon = function (_a) {
30168
30168
  };
30169
30169
 
30170
30170
  var ServiceContact = function (_a) {
30171
- var website = _a.website, email = _a.email, contacts = _a.contacts;
30171
+ var website = _a.website, email = _a.email, contacts = _a.contacts, websiteTitle = _a.websiteTitle;
30172
30172
  var themeContext = React.useContext(styled.ThemeContext);
30173
30173
  return (React__default.default.createElement(Container$6, { "data-testid": "ServiceContact" },
30174
30174
  React__default.default.createElement(Row$1, { hasWrap: false },
@@ -30176,7 +30176,7 @@ var ServiceContact = function (_a) {
30176
30176
  React__default.default.createElement(IconContainer$1, null,
30177
30177
  React__default.default.createElement(WebsiteIcon, { colourFill: themeContext.theme_vars.colours.black })),
30178
30178
  React__default.default.createElement(Content$1, null,
30179
- React__default.default.createElement(WebLink$1, { href: website }, website)))),
30179
+ React__default.default.createElement(WebLink$1, { href: website }, websiteTitle ? "".concat(websiteTitle) : website)))),
30180
30180
  email && (React__default.default.createElement(Column, { small: "full", medium: "full", large: "auto", classes: "striped-contacts" },
30181
30181
  React__default.default.createElement(IconContainer$1, null,
30182
30182
  React__default.default.createElement(EmailIcon, { colourFill: themeContext.theme_vars.colours.black })),
@@ -30366,10 +30366,15 @@ var transformDescriptionDetails = function (accreditations, fees, service_areas,
30366
30366
  };
30367
30367
  var transformSnippet = function (description, extractLength) {
30368
30368
  if (extractLength === void 0) { extractLength = 190; }
30369
- return (sanitizeHtml$1(description, {
30369
+ var sanitized = sanitizeHtml$1(description, {
30370
30370
  allowedTags: [],
30371
30371
  allowedAttributes: {},
30372
- }).substr(0, extractLength) + String.fromCharCode(8230));
30372
+ }).trim();
30373
+ if (!sanitized) {
30374
+ return '';
30375
+ }
30376
+ var snippet = sanitized.substr(0, extractLength);
30377
+ return sanitized.length > extractLength ? snippet + String.fromCharCode(8230) : snippet;
30373
30378
  };
30374
30379
  var transformTaxonomies = function (service_taxonomys, taxonomiesToShow) {
30375
30380
  if (taxonomiesToShow === void 0) { taxonomiesToShow = []; }
@@ -30599,7 +30604,7 @@ var getIcon = function (profile) {
30599
30604
 
30600
30605
  var DirectoryService = function (_a) {
30601
30606
  var _b, _c, _d, _e;
30602
- var id = _a.id, name = _a.name, accreditations = _a.accreditations, _f = _a.ageInMonths, ageInMonths = _f === void 0 ? false : _f, description = _a.description, descriptionElement = _a.descriptionElement, eligibilitys = _a.eligibilitys, email = _a.email, fees = _a.fees, languages = _a.languages, organization = _a.organization, regular_schedules = _a.regular_schedules, contacts = _a.contacts, service_areas = _a.service_areas, service_at_locations = _a.service_at_locations, service_social_profiles = _a.service_social_profiles, service_taxonomys = _a.service_taxonomys, taxonomiesToShow = _a.taxonomiesToShow, url = _a.url, uploads = _a.uploads, shortListPath = _a.shortListPath;
30607
+ var id = _a.id, name = _a.name, accreditations = _a.accreditations, _f = _a.ageInMonths, ageInMonths = _f === void 0 ? false : _f, description = _a.description, descriptionElement = _a.descriptionElement, eligibilitys = _a.eligibilitys, email = _a.email, fees = _a.fees, languages = _a.languages, organization = _a.organization, regular_schedules = _a.regular_schedules, contacts = _a.contacts, service_areas = _a.service_areas, service_at_locations = _a.service_at_locations, service_social_profiles = _a.service_social_profiles, service_taxonomys = _a.service_taxonomys, taxonomiesToShow = _a.taxonomiesToShow, url = _a.url, websiteUrlTitle = _a.websiteUrlTitle, uploads = _a.uploads, shortListPath = _a.shortListPath;
30603
30608
  var labelLetters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'];
30604
30609
  var _g = React.useState(false), notServer = _g[0], setNotServer = _g[1];
30605
30610
  var themeContext = React.useContext(styled.ThemeContext);
@@ -30672,7 +30677,7 @@ var DirectoryService = function (_a) {
30672
30677
  React__default.default.createElement(MapLink, { href: "https://www.google.com/maps/search/?api=1&query=".concat(service_at_locations[0].latitude, "%2C").concat(service_at_locations[0].longitude) }, "View in Google Maps"))))))),
30673
30678
  (email || url || (contacts === null || contacts === void 0 ? void 0 : contacts.length) > 0) && (React__default.default.createElement(Column, { small: "full", medium: "full", large: "full", classes: "striped-column" },
30674
30679
  React__default.default.createElement(Heading, { level: 2, text: "How to contact this service" }),
30675
- React__default.default.createElement(ServiceContact, { email: email, website: url, contacts: contacts }))),
30680
+ React__default.default.createElement(ServiceContact, { email: email, website: url, websiteTitle: websiteUrlTitle, contacts: contacts }))),
30676
30681
  React__default.default.createElement(Column, { small: "full", medium: "full", large: "full", classes: "striped-column" },
30677
30682
  React__default.default.createElement(Heading, { level: 2, text: "Description" }),
30678
30683
  React__default.default.createElement("div", null,
@@ -30788,6 +30793,20 @@ const Button$1 = styled__default.default.button`
30788
30793
  &:active {
30789
30794
  ${(props) => props.theme.linkStylesActive}
30790
30795
  }
30796
+
30797
+ ${(props) => {
30798
+ if (props.size === 'large') {
30799
+ return `
30800
+ font-size: 16px;
30801
+ padding: 14px 24px;
30802
+ `;
30803
+ }
30804
+ }}
30805
+
30806
+ ${(props) =>
30807
+ props.$isWarning && props.size === 'large' && `
30808
+ padding: 12px 24px;
30809
+ `}
30791
30810
  `;
30792
30811
 
30793
30812
  const ButtonText$1 = styled__default.default.span`
@@ -30998,6 +31017,14 @@ const MapToggle = styled__default.default.button`
30998
31017
  &:active {
30999
31018
  ${(props) => props.theme.linkStylesActive}
31000
31019
  }
31020
+ ${(props) => {
31021
+ if (props.size === 'large') {
31022
+ return `
31023
+ font-size: 16px;
31024
+ padding: 14px 24px;
31025
+ `;
31026
+ }
31027
+ }}
31001
31028
  `;
31002
31029
 
31003
31030
  const Favourites = styled__default.default.a`
@@ -31343,13 +31370,13 @@ var DirectoryServiceList = function (_a) {
31343
31370
  React__default.default.createElement(Input, { name: "postcode", type: "text", defaultValue: postcodeSearch, id: "postcode", onChange: function (e) { return setPostcodeSearch(e.target.value); }, autocomplete: "postal-code" }))),
31344
31371
  React__default.default.createElement(Column, { small: "full", medium: "one-half", large: "one-third" },
31345
31372
  React__default.default.createElement(ButtonContainer$2, null,
31346
- React__default.default.createElement(Button$1, { onClick: submitSearch, type: "submit" },
31373
+ React__default.default.createElement(Button$1, { size: "large", onClick: submitSearch, type: "submit" },
31347
31374
  React__default.default.createElement(ButtonText$1, null, "Search"),
31348
31375
  React__default.default.createElement(IconDownload, { colourFill: "#fff" })),
31349
- filtersActive && (React__default.default.createElement(Button$1, { onClick: clearSearch, type: "button", "$isWarning": true },
31376
+ filtersActive && (React__default.default.createElement(Button$1, { size: "large", onClick: clearSearch, type: "button", "$isWarning": true },
31350
31377
  React__default.default.createElement(ButtonText$1, null, "Clear search"))))),
31351
31378
  hasDocuments && (React__default.default.createElement(Column, { small: "full", medium: "full", large: "full" },
31352
- React__default.default.createElement(Button$4, { url: "".concat(directoryPath, "/documents?search=").concat(searchTerm), text: "View documents and resources", primary: false }))))))),
31379
+ React__default.default.createElement(Button$4, { url: "".concat(directoryPath, "/documents?search=").concat(searchTerm), text: "View documents and resources", primary: false, size: "large" }))))))),
31353
31380
  React__default.default.createElement(Column, { small: "full", medium: "one-third", large: "one-third" },
31354
31381
  React__default.default.createElement(FilterToggle, { type: "button", onClick: function (e) { return setShowFilters(!showFilters); } }, showFilters ? "Hide Filters" : "Show Filters"),
31355
31382
  React__default.default.createElement(FilterContainer, { "$showFilters": showFilters },
@@ -31406,7 +31433,7 @@ var DirectoryServiceList = function (_a) {
31406
31433
  " out of ",
31407
31434
  totalResults.toLocaleString())) : (React__default.default.createElement(ResultInfo$1, null, "No results found")),
31408
31435
  React__default.default.createElement(FavouritesContainer, null,
31409
- (services === null || services === void 0 ? void 0 : services.length) > 0 && (React__default.default.createElement(MapToggle, { type: "button", onClick: function (e) { return setShowMap(!showMap); } }, showMap ? "Hide Map" : "Show Map")),
31436
+ (services === null || services === void 0 ? void 0 : services.length) > 0 && (React__default.default.createElement(MapToggle, { type: "button", size: "large", onClick: function (e) { return setShowMap(!showMap); } }, showMap ? "Hide Map" : "Show Map")),
31410
31437
  React__default.default.createElement(Favourites, { href: shortListPath },
31411
31438
  React__default.default.createElement(HeartIcon, { colourFill: themeContext.theme_vars.colours.action }),
31412
31439
  " Shortlist (",