@nnc-digital/nnc-design-system 0.4.15 → 0.4.17
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
|
@@ -4049,7 +4049,7 @@ var FormContainer$1 = styled__default["default"].div(templateObject_4 || (templa
|
|
|
4049
4049
|
return props.isLoading && "\n opacity: 0.5; \n pointer-events: none;\n ";
|
|
4050
4050
|
});
|
|
4051
4051
|
var ErrorTextWrapper = styled__default["default"].div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: block;\n width: 100%;\n"], ["\n display: block;\n width: 100%;\n"])));
|
|
4052
|
-
var DropDownSelectContainer = styled__default["default"].div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n padding-bottom: 20px;\n"], ["\n padding-bottom: 20px;\n"])));
|
|
4052
|
+
var DropDownSelectContainer = styled__default["default"].div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n padding-bottom: 20px;\n width: 90%;\n"], ["\n padding-bottom: 20px;\n width: 90%;\n"])));
|
|
4053
4053
|
var FormInnerContainer = styled__default["default"].div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: flex-start;\n"], ["\n display: flex;\n align-items: center;\n justify-content: flex-start;\n"])));
|
|
4054
4054
|
styled__default["default"].label(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n"], ["\n display: flex;\n align-items: center;\n margin-right: ", ";\n"])), function (props) { return props.theme.theme_vars.spacingSizes.small; });
|
|
4055
4055
|
styled__default["default"].div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n justify-content: left;\n margin-bottom: .5em;\n width: 100%;\n"], ["\n display: flex;\n justify-content: left;\n margin-bottom: .5em;\n width: 100%;\n"])));
|
|
@@ -4342,14 +4342,23 @@ var BinCollection = function (_a) {
|
|
|
4342
4342
|
fetchAddresses(enteredPostcode);
|
|
4343
4343
|
}
|
|
4344
4344
|
};
|
|
4345
|
+
var formatUKPostcode = function (postcode) {
|
|
4346
|
+
// Remove existing spaces and convert to uppercase
|
|
4347
|
+
var cleaned = postcode.replace(/\s/g, '').toUpperCase();
|
|
4348
|
+
// Add space before the last 3 characters
|
|
4349
|
+
var formatted = cleaned.slice(0, -3) + " " + cleaned.slice(-3);
|
|
4350
|
+
return formatted;
|
|
4351
|
+
};
|
|
4345
4352
|
/**
|
|
4346
4353
|
* Returns an array of address options based on the entered postcode.
|
|
4347
4354
|
*/
|
|
4348
4355
|
var fetchAddresses = function (postcode) { return __awaiter(void 0, void 0, void 0, function () {
|
|
4349
4356
|
return __generator(this, function (_a) {
|
|
4357
|
+
setCalendarEvents({});
|
|
4350
4358
|
setError(false);
|
|
4351
4359
|
setErrorText('');
|
|
4352
4360
|
setIsLoading(true);
|
|
4361
|
+
postcode = formatUKPostcode(postcode);
|
|
4353
4362
|
axios__default["default"].get("".concat(BinCollectionApiUrl).concat(postcode))
|
|
4354
4363
|
.then(function (response) {
|
|
4355
4364
|
setIsLoading(false);
|
|
@@ -4433,16 +4442,51 @@ var BinCollection = function (_a) {
|
|
|
4433
4442
|
setNoResultsFound(false);
|
|
4434
4443
|
};
|
|
4435
4444
|
var formatTitle = function (apiTitle) {
|
|
4445
|
+
console.log(apiTitle);
|
|
4436
4446
|
var mappings = [
|
|
4437
|
-
{
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4447
|
+
{
|
|
4448
|
+
keyword: 'Refuse',
|
|
4449
|
+
replacement: 'General refuse bin',
|
|
4450
|
+
allowedValues: [
|
|
4451
|
+
'Refuse bin 1100l', 'Refuse bin 140l', 'Refuse bin 180l',
|
|
4452
|
+
'Refuse bin 240l', 'Refuse bin 360l', 'Refuse bin 660l',
|
|
4453
|
+
'Refuse Chamberlain', 'Refuse Palladin', 'Authorised bin (larger h/hold) 120l',
|
|
4454
|
+
'Authorised bin (larger h/hold) 140l', 'Authorised bin (larger h/hold) 180l',
|
|
4455
|
+
'Authorised bin (offensive) 140l', 'Authorised bin (offensive) 180l', 'Authorised bin (offensive) 240l',
|
|
4456
|
+
]
|
|
4457
|
+
},
|
|
4458
|
+
{
|
|
4459
|
+
keyword: 'Recycling',
|
|
4460
|
+
replacement: 'Recycling bin',
|
|
4461
|
+
allowedValues: [
|
|
4462
|
+
'Recycling 1100l', 'Recycling 140l', 'Recycling 180l',
|
|
4463
|
+
'Recycling 240l', 'Recycling bin 1100l'
|
|
4464
|
+
]
|
|
4465
|
+
},
|
|
4466
|
+
{
|
|
4467
|
+
keyword: 'Garden',
|
|
4468
|
+
replacement: 'Garden bin',
|
|
4469
|
+
allowedValues: [
|
|
4470
|
+
'Garden 140l', 'Garden 180l', 'Garden 240l'
|
|
4471
|
+
]
|
|
4472
|
+
},
|
|
4473
|
+
{
|
|
4474
|
+
keyword: 'Food',
|
|
4475
|
+
replacement: 'Food caddy',
|
|
4476
|
+
allowedValues: [
|
|
4477
|
+
'Communal food bin (exterior) 180L',
|
|
4478
|
+
'Food Caddy (exterior) 23l',
|
|
4479
|
+
'Food Caddy (indoor) 5l'
|
|
4480
|
+
]
|
|
4481
|
+
},
|
|
4441
4482
|
];
|
|
4442
4483
|
for (var _i = 0, mappings_1 = mappings; _i < mappings_1.length; _i++) {
|
|
4443
4484
|
var mapping = mappings_1[_i];
|
|
4444
|
-
|
|
4445
|
-
|
|
4485
|
+
for (var _a = 0, _b = mapping.allowedValues; _a < _b.length; _a++) {
|
|
4486
|
+
var value = _b[_a];
|
|
4487
|
+
if (apiTitle.includes(value)) {
|
|
4488
|
+
return mapping.replacement;
|
|
4489
|
+
}
|
|
4446
4490
|
}
|
|
4447
4491
|
}
|
|
4448
4492
|
return null;
|
|
@@ -4462,21 +4506,23 @@ var BinCollection = function (_a) {
|
|
|
4462
4506
|
addressOptions.length > 0 && (React__default["default"].createElement(DropDownSelectContainer, null,
|
|
4463
4507
|
React__default["default"].createElement(DropDownSelect, { onChange: handleAddressChange, id: "address", label: "Select your address", options: __spreadArray([{ title: 'Select an address', value: '' }], addressOptions, true) }))),
|
|
4464
4508
|
noResultsFound && React__default["default"].createElement("p", null, "No results found."),
|
|
4465
|
-
React__default["default"].createElement("div", null,
|
|
4466
|
-
var
|
|
4467
|
-
var
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4509
|
+
React__default["default"].createElement("div", null, (function () {
|
|
4510
|
+
var order = ['General refuse bin', 'Recycling bin', 'Garden bin', 'Food caddy'];
|
|
4511
|
+
var uniqueTitles = Array.from(new Set(Object.keys(calendarEvents).map(function (apiTitle) { return formatTitle(apiTitle); }).filter(function (title) { return title !== null; })));
|
|
4512
|
+
var sortedTitles = uniqueTitles.sort(function (a, b) { return order.indexOf(a) - order.indexOf(b); });
|
|
4513
|
+
var noResultsFound = sortedTitles.length === 0;
|
|
4514
|
+
{
|
|
4515
|
+
noResultsFound && React__default["default"].createElement("p", null, "No results found.");
|
|
4471
4516
|
}
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4517
|
+
return sortedTitles.map(function (title, index) {
|
|
4518
|
+
var apiTitlesForThisType = Object.keys(calendarEvents).filter(function (apiTitle) { return formatTitle(apiTitle) === title; });
|
|
4519
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, { key: "".concat(title, "-").concat(index) },
|
|
4520
|
+
React__default["default"].createElement(Heading, { level: 3, text: title }),
|
|
4521
|
+
apiTitlesForThisType.flatMap(function (apiTitle) { return calendarEvents[apiTitle]; })
|
|
4522
|
+
.sort(function (a, b) { return new Date(a).getTime() - new Date(b).getTime(); })
|
|
4523
|
+
.map(function (date) { return (React__default["default"].createElement("p", null, date.toLocaleDateString('en-GB', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }))); })));
|
|
4524
|
+
});
|
|
4525
|
+
})()),
|
|
4480
4526
|
Object.keys(calendarEvents).length > 0 && (React__default["default"].createElement(FormButton, { size: "small", type: "button", "aria-label": "Reset", text: "Find a different address", onClick: resetForm }))));
|
|
4481
4527
|
};
|
|
4482
4528
|
|
|
@@ -23211,8 +23257,9 @@ const AccessibleLinks = styled__default["default"].a`
|
|
|
23211
23257
|
|
|
23212
23258
|
var AccessibleLink = function (_a) {
|
|
23213
23259
|
var _b = _a.AccessibleLinksArray, AccessibleLinksArray = _b === void 0 ? null : _b;
|
|
23214
|
-
return (React__default["default"].createElement(
|
|
23215
|
-
return React__default["default"].createElement(
|
|
23260
|
+
return (React__default["default"].createElement("ul", null, AccessibleLinksArray && AccessibleLinksArray.map(function (link, i) {
|
|
23261
|
+
return React__default["default"].createElement("li", { key: 'accessible-link-li-' + i },
|
|
23262
|
+
React__default["default"].createElement(AccessibleLinks, { key: 'accessible-link-' + i, href: link.url }, link.title));
|
|
23216
23263
|
})));
|
|
23217
23264
|
};
|
|
23218
23265
|
|
|
@@ -23285,10 +23332,10 @@ const InnerContainer$1 = styled__default["default"].div`
|
|
|
23285
23332
|
const BannerContentContainer = styled__default["default"].div`
|
|
23286
23333
|
flex-grow: 1;
|
|
23287
23334
|
padding-right: ${(props) => props.theme.theme_vars.spacingSizes.medium};
|
|
23335
|
+
font-weight: bold;
|
|
23288
23336
|
`;
|
|
23289
23337
|
|
|
23290
23338
|
const BannerTitle = styled__default["default"].p`
|
|
23291
|
-
font-weight: bold;
|
|
23292
23339
|
margin-bottom: ${(props) => props.theme.theme_vars.spacingSizes.small};
|
|
23293
23340
|
`;
|
|
23294
23341
|
|
|
@@ -23304,6 +23351,7 @@ const HideLink = styled__default["default"].button`
|
|
|
23304
23351
|
background: none;
|
|
23305
23352
|
cursor: pointer;
|
|
23306
23353
|
flex-grow: 0;
|
|
23354
|
+
font-weight: bold;
|
|
23307
23355
|
|
|
23308
23356
|
&:focus {
|
|
23309
23357
|
outline: none;
|