@scottish-government/designsystem-react 0.5.1 → 0.7.0
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/.svgrrc +2 -1
- package/.svgrrc_documents +15 -0
- package/@types/common/FileIcon.d.ts +7 -0
- package/@types/components/Accordion.d.ts +2 -2
- package/@types/components/ConfirmationMessage.d.ts +1 -1
- package/@types/components/FileDownload.d.ts +11 -0
- package/@types/components/NotificationPanel.d.ts +1 -1
- package/@types/components/SummaryCard.d.ts +1 -1
- package/@types/components/Tabs.d.ts +1 -1
- package/@types/sgds.d.ts +2 -1
- package/CHANGELOG.md +81 -0
- package/README.md +4 -0
- package/dist/common/AbstractNotificationBanner.jsx +63 -0
- package/dist/common/ConditionalWrapper.jsx +8 -0
- package/dist/common/FileIcon.jsx +51 -0
- package/dist/common/HintText.jsx +9 -0
- package/dist/common/Icon.jsx +57 -0
- package/dist/common/ScreenReaderText.jsx +9 -0
- package/dist/common/WrapperTag.jsx +11 -0
- package/dist/common/file-icon.jsx +51 -0
- package/dist/common/icon.jsx +1 -1
- package/dist/components/Accordion/Accordion.jsx +102 -0
- package/dist/components/AspectBox/AspectBox.jsx +79 -0
- package/dist/components/BackToTop/BackToTop.jsx +27 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.jsx +28 -0
- package/dist/components/Button/Button.jsx +30 -0
- package/dist/components/Checkbox/Checkbox.jsx +62 -0
- package/dist/components/ConfirmationMessage/ConfirmationMessage.jsx +24 -0
- package/dist/components/ContentsNav/ContentsNav.jsx +33 -0
- package/dist/components/CookieBanner/CookieBanner.jsx +21 -0
- package/dist/components/DatePicker/DatePicker.jsx +54 -0
- package/dist/components/Details/Details.jsx +17 -0
- package/dist/components/ErrorMessage/ErrorMessage.jsx +12 -0
- package/dist/components/ErrorSummary/ErrorSummary.jsx +27 -0
- package/dist/components/FileDownload/FileDownload.jsx +50 -0
- package/dist/components/HideThisPage/HideThisPage.jsx +71 -0
- package/dist/components/InsetText/InsetText.jsx +14 -0
- package/dist/components/NotificationBanner/NotificationBanner.jsx +26 -0
- package/dist/components/NotificationPanel/NotificationPanel.jsx +21 -0
- package/dist/components/PageHeader/PageHeader.jsx +15 -0
- package/dist/components/PageMetadata/PageMetadata.jsx +26 -0
- package/dist/components/Pagination/Pagination.jsx +97 -0
- package/dist/components/PhaseBanner/PhaseBanner.jsx +23 -0
- package/dist/components/Question/Question.jsx +22 -0
- package/dist/components/RadioButton/RadioButton.jsx +43 -0
- package/dist/components/Select/Select.jsx +52 -0
- package/dist/components/SequentialNavigation/SequentialNavigation.jsx +31 -0
- package/dist/components/SideNavigation/SideNavigation.jsx +52 -0
- package/dist/components/SiteHeader/SiteHeader.jsx +68 -0
- package/dist/components/SiteNavigation/SiteNavigation.jsx +22 -0
- package/dist/components/SiteSearch/SiteSearch.jsx +55 -0
- package/dist/components/SkipLinks/SkipLinks.jsx +21 -0
- package/dist/components/SummaryCard/SummaryCard.jsx +67 -0
- package/dist/components/SummaryList/SummaryList.jsx +75 -0
- package/dist/components/Table/Table.jsx +24 -0
- package/dist/components/Tabs/Tabs.jsx +99 -0
- package/dist/components/Tag/Tag.jsx +13 -0
- package/dist/components/TaskList/TaskList.jsx +95 -0
- package/dist/components/TextInput/TextInput.jsx +58 -0
- package/dist/components/Textarea/Textarea.jsx +54 -0
- package/dist/components/WarningText/WarningText.jsx +16 -0
- package/dist/components/file-download/file-download.jsx +50 -0
- package/dist/images/documents/audio.jsx +47 -0
- package/dist/images/documents/csv.jsx +57 -0
- package/dist/images/documents/excel.jsx +57 -0
- package/dist/images/documents/file.jsx +48 -0
- package/dist/images/documents/generic.jsx +47 -0
- package/dist/images/documents/geodata.jsx +44 -0
- package/dist/images/documents/ical.jsx +48 -0
- package/dist/images/documents/ico.jsx +48 -0
- package/dist/images/documents/image.jsx +43 -0
- package/dist/images/documents/index.js +50 -0
- package/dist/images/documents/odf.jsx +46 -0
- package/dist/images/documents/odg.jsx +46 -0
- package/dist/images/documents/odp.jsx +45 -0
- package/dist/images/documents/ods.jsx +55 -0
- package/dist/images/documents/odt.jsx +46 -0
- package/dist/images/documents/pdf.jsx +48 -0
- package/dist/images/documents/ppt.jsx +47 -0
- package/dist/images/documents/rtf.jsx +48 -0
- package/dist/images/documents/text.jsx +48 -0
- package/dist/images/documents/video.jsx +47 -0
- package/dist/images/documents/word.jsx +48 -0
- package/dist/images/documents/xml.jsx +48 -0
- package/dist/images/documents/zip.jsx +48 -0
- package/dist/images/icons/arrow_upward.jsx +41 -0
- package/dist/images/icons/calendar_today.jsx +41 -0
- package/dist/images/icons/cancel.jsx +40 -0
- package/dist/images/icons/check_circle.jsx +41 -0
- package/dist/images/icons/chevron_left.jsx +41 -0
- package/dist/images/icons/chevron_right.jsx +41 -0
- package/dist/images/icons/close.jsx +41 -0
- package/dist/images/icons/description.jsx +41 -0
- package/dist/images/icons/double_chevron_left.jsx +40 -0
- package/dist/images/icons/double_chevron_right.jsx +40 -0
- package/dist/images/icons/error.jsx +41 -0
- package/dist/images/icons/expand_less.jsx +41 -0
- package/dist/images/icons/expand_more.jsx +41 -0
- package/dist/images/icons/index.js +40 -0
- package/dist/images/icons/list.jsx +44 -0
- package/dist/images/icons/menu.jsx +41 -0
- package/dist/images/icons/priority_high.jsx +42 -0
- package/dist/images/icons/search.jsx +41 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/common/{abstract-notification-banner.test.tsx → AbstractNotificationBanner.test.tsx} +11 -11
- package/src/common/{abstract-notification-banner.tsx → AbstractNotificationBanner.tsx} +2 -2
- package/src/common/{conditional-wrapper.test.tsx → ConditionalWrapper.test.tsx} +1 -1
- package/src/common/FileIcon.test.tsx +50 -0
- package/src/common/FileIcon.tsx +25 -0
- package/src/common/{hint-text.test.tsx → HintText.test.tsx} +12 -12
- package/src/common/{icon.test.tsx → Icon.test.tsx} +16 -16
- package/src/common/{icon.tsx → Icon.tsx} +1 -1
- package/src/common/{screen-reader-text.test.tsx → ScreenReaderText.test.tsx} +5 -5
- package/src/common/{wrapper-tag.test.tsx → WrapperTag.test.tsx} +5 -5
- package/src/components/{accordion/accordion.test.tsx → Accordion/Accordion.test.tsx} +35 -35
- package/src/components/{accordion/accordion.tsx → Accordion/Accordion.tsx} +5 -5
- package/src/components/{aspect-box/aspect-box.test.tsx → AspectBox/AspectBox.test.tsx} +2 -2
- package/src/components/{back-to-top/back-to-top.test.tsx → BackToTop/BackToTop.test.tsx} +1 -1
- package/src/components/{back-to-top/back-to-top.tsx → BackToTop/BackToTop.tsx} +1 -1
- package/src/components/{breadcrumbs/breadcrumbs.test.tsx → Breadcrumbs/Breadcrumbs.test.tsx} +7 -7
- package/src/components/{button/button.test.tsx → Button/Button.test.tsx} +1 -1
- package/src/components/{button/button.tsx → Button/Button.tsx} +3 -3
- package/src/components/{checkbox/checkbox.test.tsx → Checkbox/Checkbox.test.tsx} +16 -16
- package/src/components/{checkbox/checkbox.tsx → Checkbox/Checkbox.tsx} +1 -1
- package/src/components/{confirmation-message/confirmation-message.test.tsx → ConfirmationMessage/ConfirmationMessage.test.tsx} +12 -14
- package/src/components/{confirmation-message/confirmation-message.tsx → ConfirmationMessage/ConfirmationMessage.tsx} +4 -4
- package/src/components/{contents-nav/contents-nav.test.tsx → ContentsNav/ContentsNav.test.tsx} +21 -28
- package/src/components/{contents-nav/contents-nav.tsx → ContentsNav/ContentsNav.tsx} +1 -1
- package/src/components/{cookie-banner/cookie-banner.test.tsx → CookieBanner/CookieBanner.test.tsx} +3 -3
- package/src/components/{cookie-banner/cookie-banner.tsx → CookieBanner/CookieBanner.tsx} +1 -1
- package/src/components/{date-picker/date-picker.test.tsx → DatePicker/DatePicker.test.tsx} +76 -66
- package/src/components/{date-picker/date-picker.tsx → DatePicker/DatePicker.tsx} +2 -2
- package/src/components/{details/details.test.tsx → Details/Details.test.tsx} +10 -10
- package/src/components/{error-message/error-message.test.tsx → ErrorMessage/ErrorMessage.test.tsx} +10 -10
- package/src/components/{error-summary/error-summary.test.tsx → ErrorSummary/ErrorSummary.test.tsx} +13 -14
- package/src/components/{error-summary/error-summary.tsx → ErrorSummary/ErrorSummary.tsx} +1 -1
- package/src/components/FileDownload/FileDownload.test.tsx +167 -0
- package/src/components/FileDownload/FileDownload.tsx +67 -0
- package/src/components/{hide-this-page/hide-this-page.test.tsx → HideThisPage/HideThisPage.test.tsx} +4 -4
- package/src/components/{hide-this-page/hide-this-page.tsx → HideThisPage/HideThisPage.tsx} +3 -3
- package/src/components/{inset-text/inset-text.test.tsx → InsetText/InsetText.test.tsx} +1 -1
- package/src/components/{notification-banner/notification-banner.test.tsx → NotificationBanner/NotificationBanner.test.tsx} +4 -4
- package/src/components/{notification-banner/notification-banner.tsx → NotificationBanner/NotificationBanner.tsx} +1 -1
- package/src/components/{notification-panel/notification-panel.test.tsx → NotificationPanel/NotificationPanel.test.tsx} +24 -23
- package/src/components/{notification-panel/notification-panel.tsx → NotificationPanel/NotificationPanel.tsx} +3 -3
- package/src/components/{page-header/page-header.test.tsx → PageHeader/PageHeader.test.tsx} +9 -9
- package/src/components/{page-metadata/page-metadata.test.tsx → PageMetadata/PageMetadata.test.tsx} +9 -9
- package/src/components/{pagination/pagination.test.tsx → Pagination/Pagination.test.tsx} +56 -56
- package/src/components/{pagination/pagination.tsx → Pagination/Pagination.tsx} +1 -1
- package/src/components/{phase-banner/phase-banner.test.tsx → PhaseBanner/PhaseBanner.test.tsx} +9 -9
- package/src/components/{phase-banner/phase-banner.tsx → PhaseBanner/PhaseBanner.tsx} +1 -1
- package/src/components/{question/question.test.tsx → Question/Question.test.tsx} +10 -10
- package/src/components/{question/question.tsx → Question/Question.tsx} +3 -3
- package/src/components/{radio-button/radio-button.test.tsx → RadioButton/RadioButton.test.tsx} +23 -23
- package/src/components/{radio-button/radio-button.tsx → RadioButton/RadioButton.tsx} +1 -1
- package/src/components/{select/select.test.tsx → Select/Select.test.tsx} +67 -64
- package/src/components/{select/select.tsx → Select/Select.tsx} +2 -2
- package/src/components/{sequential-navigation/sequential-navigation.test.tsx → SequentialNavigation/SequentialNavigation.test.tsx} +18 -18
- package/src/components/{side-navigation/side-navigation.test.tsx → SideNavigation/SideNavigation.test.tsx} +8 -8
- package/src/components/{site-header/site-header.test.tsx → SiteHeader/SiteHeader.test.tsx} +25 -25
- package/src/components/{site-header/site-header.tsx → SiteHeader/SiteHeader.tsx} +4 -4
- package/src/components/{site-navigation/site-navigation.test.tsx → SiteNavigation/SiteNavigation.test.tsx} +8 -8
- package/src/components/{site-search/site-search.test.tsx → SiteSearch/SiteSearch.test.tsx} +16 -16
- package/src/components/{site-search/site-search.tsx → SiteSearch/SiteSearch.tsx} +1 -1
- package/src/components/{skip-links/skip-links.test.tsx → SkipLinks/SkipLinks.test.tsx} +15 -15
- package/src/components/{summary-card/summary-card.test.tsx → SummaryCard/SummaryCard.test.tsx} +28 -28
- package/src/components/{summary-card/summary-card.tsx → SummaryCard/SummaryCard.tsx} +4 -4
- package/src/components/{summary-list/summary-list.test.tsx → SummaryList/SummaryList.test.tsx} +55 -56
- package/src/components/{summary-list/summary-list.tsx → SummaryList/SummaryList.tsx} +2 -2
- package/src/components/{table/table.test.tsx → Table/Table.test.tsx} +4 -4
- package/src/components/{tabs/tabs.test.tsx → Tabs/Tabs.test.tsx} +22 -42
- package/src/components/{tabs/tabs.tsx → Tabs/Tabs.tsx} +3 -3
- package/src/components/{tag/tag.test.tsx → Tag/Tag.test.tsx} +10 -10
- package/src/components/{task-list/task-list.test.tsx → TaskList/TaskList.test.tsx} +109 -108
- package/src/components/{task-list/task-list.tsx → TaskList/TaskList.tsx} +4 -4
- package/src/components/{text-input/text-input.test.tsx → TextInput/TextInput.test.tsx} +92 -87
- package/src/components/{text-input/text-input.tsx → TextInput/TextInput.tsx} +4 -4
- package/src/components/{textarea/textarea.test.tsx → Textarea/Textarea.test.tsx} +71 -67
- package/src/components/{textarea/textarea.tsx → Textarea/Textarea.tsx} +3 -3
- package/src/components/{warning-text/warning-text.test.tsx → WarningText/WarningText.test.tsx} +1 -1
- package/src/images/documents/audio.tsx +34 -0
- package/src/images/documents/csv.tsx +39 -0
- package/src/images/documents/excel.tsx +39 -0
- package/src/images/documents/file.tsx +30 -0
- package/src/images/documents/generic.tsx +26 -0
- package/src/images/documents/geodata.tsx +29 -0
- package/src/images/documents/ical.tsx +30 -0
- package/src/images/documents/ico.tsx +30 -0
- package/src/images/documents/image.tsx +25 -0
- package/src/images/documents/index.ts +22 -0
- package/src/images/documents/odf.tsx +28 -0
- package/src/images/documents/odg.tsx +28 -0
- package/src/images/documents/odp.tsx +33 -0
- package/src/images/documents/ods.tsx +37 -0
- package/src/images/documents/odt.tsx +28 -0
- package/src/images/documents/pdf.tsx +30 -0
- package/src/images/documents/ppt.tsx +28 -0
- package/src/images/documents/rtf.tsx +30 -0
- package/src/images/documents/text.tsx +30 -0
- package/src/images/documents/video.tsx +34 -0
- package/src/images/documents/word.tsx +30 -0
- package/src/images/documents/xml.tsx +30 -0
- package/src/images/documents/zip.tsx +30 -0
- package/src/images/icons/index.ts +17 -0
- package/vite.config.ts +1 -1
- package/src/icons/index.ts +0 -17
- /package/src/common/{conditional-wrapper.tsx → ConditionalWrapper.tsx} +0 -0
- /package/src/common/{hint-text.tsx → HintText.tsx} +0 -0
- /package/src/common/{screen-reader-text.tsx → ScreenReaderText.tsx} +0 -0
- /package/src/common/{wrapper-tag.tsx → WrapperTag.tsx} +0 -0
- /package/src/components/{aspect-box/aspect-box.tsx → AspectBox/AspectBox.tsx} +0 -0
- /package/src/components/{breadcrumbs/breadcrumbs.tsx → Breadcrumbs/Breadcrumbs.tsx} +0 -0
- /package/src/components/{details/details.tsx → Details/Details.tsx} +0 -0
- /package/src/components/{error-message/error-message.tsx → ErrorMessage/ErrorMessage.tsx} +0 -0
- /package/src/components/{inset-text/inset-text.tsx → InsetText/InsetText.tsx} +0 -0
- /package/src/components/{page-header/page-header.tsx → PageHeader/PageHeader.tsx} +0 -0
- /package/src/components/{page-metadata/page-metadata.tsx → PageMetadata/PageMetadata.tsx} +0 -0
- /package/src/components/{sequential-navigation/sequential-navigation.tsx → SequentialNavigation/SequentialNavigation.tsx} +0 -0
- /package/src/components/{side-navigation/side-navigation.tsx → SideNavigation/SideNavigation.tsx} +0 -0
- /package/src/components/{site-navigation/site-navigation.tsx → SiteNavigation/SiteNavigation.tsx} +0 -0
- /package/src/components/{skip-links/skip-links.tsx → SkipLinks/SkipLinks.tsx} +0 -0
- /package/src/components/{table/table.tsx → Table/Table.tsx} +0 -0
- /package/src/components/{tag/tag.tsx → Tag/Tag.tsx} +0 -0
- /package/src/components/{warning-text/warning-text.tsx → WarningText/WarningText.tsx} +0 -0
- /package/src/{icons/ArrowUpward.tsx → images/icons/arrow_upward.tsx} +0 -0
- /package/src/{icons/CalendarToday.tsx → images/icons/calendar_today.tsx} +0 -0
- /package/src/{icons/Cancel.tsx → images/icons/cancel.tsx} +0 -0
- /package/src/{icons/CheckCircle.tsx → images/icons/check_circle.tsx} +0 -0
- /package/src/{icons/ChevronLeft.tsx → images/icons/chevron_left.tsx} +0 -0
- /package/src/{icons/ChevronRight.tsx → images/icons/chevron_right.tsx} +0 -0
- /package/src/{icons/Close.tsx → images/icons/close.tsx} +0 -0
- /package/src/{icons/Description.tsx → images/icons/description.tsx} +0 -0
- /package/src/{icons/DoubleChevronLeft.tsx → images/icons/double_chevron_left.tsx} +0 -0
- /package/src/{icons/DoubleChevronRight.tsx → images/icons/double_chevron_right.tsx} +0 -0
- /package/src/{icons/Error.tsx → images/icons/error.tsx} +0 -0
- /package/src/{icons/ExpandLess.tsx → images/icons/expand_less.tsx} +0 -0
- /package/src/{icons/ExpandMore.tsx → images/icons/expand_more.tsx} +0 -0
- /package/src/{icons/List.tsx → images/icons/list.tsx} +0 -0
- /package/src/{icons/Menu.tsx → images/icons/menu.tsx} +0 -0
- /package/src/{icons/PriorityHigh.tsx → images/icons/priority_high.tsx} +0 -0
- /package/src/{icons/Search.tsx → images/icons/search.tsx} +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Item = exports.Action = exports.Answer = void 0;
|
|
7
|
+
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
8
|
+
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
9
|
+
function escapedNewLineToLineBreakTag(string) {
|
|
10
|
+
if (typeof string === 'string') {
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
return string.split('\n').map((item, index) => {
|
|
13
|
+
return (index === 0) ? item : [<br key={index}/>, item];
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function convertToSlug(string) {
|
|
18
|
+
return string.toLowerCase()
|
|
19
|
+
.replace(/[^\w ]+/g, "")
|
|
20
|
+
.replace(/ +/g, "-");
|
|
21
|
+
}
|
|
22
|
+
const Answer = ({ value }) => {
|
|
23
|
+
const processedValue = escapedNewLineToLineBreakTag(value.toString());
|
|
24
|
+
return (<q className="ds_summary-list__answer">{processedValue}</q>);
|
|
25
|
+
};
|
|
26
|
+
exports.Answer = Answer;
|
|
27
|
+
const Action = ({ describedby, href, onclick, title, }) => {
|
|
28
|
+
let tagName = 'button';
|
|
29
|
+
if (href) {
|
|
30
|
+
tagName = 'a';
|
|
31
|
+
}
|
|
32
|
+
return (<WrapperTag_1.default aria-describedby={describedby} className="ds_link" href={href} onClick={onclick} tagName={tagName} type={tagName === 'button' ? 'button' : undefined}>
|
|
33
|
+
{title}
|
|
34
|
+
</WrapperTag_1.default>);
|
|
35
|
+
};
|
|
36
|
+
exports.Action = Action;
|
|
37
|
+
const Item = ({ actions, index = 1, title, value }) => {
|
|
38
|
+
let values = [];
|
|
39
|
+
if (Array.isArray(value)) {
|
|
40
|
+
values = value;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
values = [value || ''];
|
|
44
|
+
}
|
|
45
|
+
const describedById = `q${index + 1}-${convertToSlug(title)}`;
|
|
46
|
+
return (<li className="ds_summary-list__item">
|
|
47
|
+
<span className="ds_summary-list__key" id={describedById}>{title}</span>
|
|
48
|
+
<span className="ds_summary-list__value">
|
|
49
|
+
<ConditionalWrapper_1.default condition={values.length > 1} wrapper={(children) => <ul className="ds_no-bullets">{children}</ul>}>
|
|
50
|
+
{values && values.map((value, index) => (<ConditionalWrapper_1.default condition={values.length > 1} wrapper={(children) => <li>{children}</li>} key={'answer' + index}>
|
|
51
|
+
<exports.Answer value={value}/>
|
|
52
|
+
</ConditionalWrapper_1.default>))}
|
|
53
|
+
</ConditionalWrapper_1.default>
|
|
54
|
+
</span>
|
|
55
|
+
{actions &&
|
|
56
|
+
<div className="ds_summary-list__actions">
|
|
57
|
+
{actions && actions.map((action, index) => (<exports.Action describedby={describedById} href={action.href} onclick={action.onclick} title={action.title} key={'summarylistaction' + index}/>))}
|
|
58
|
+
</div>}
|
|
59
|
+
</li>);
|
|
60
|
+
};
|
|
61
|
+
exports.Item = Item;
|
|
62
|
+
const SummaryList = ({ className, items, noBorder, ...props }) => {
|
|
63
|
+
return (<ol className={[
|
|
64
|
+
'ds_summary-list',
|
|
65
|
+
noBorder && 'ds_summary-list--no-border',
|
|
66
|
+
className
|
|
67
|
+
].join(' ')} {...props}>
|
|
68
|
+
{items && items.map((item, index) => (<exports.Item actions={item.actions} title={item.title} value={item.value} index={index} key={'summarylistitem' + index}/>))}
|
|
69
|
+
</ol>);
|
|
70
|
+
};
|
|
71
|
+
SummaryList.displayName = 'SummaryList';
|
|
72
|
+
exports.Action.displayName = 'SummaryListAction';
|
|
73
|
+
exports.Answer.displayName = 'SumaryListAnswer';
|
|
74
|
+
exports.Item.displayName = 'SummaryListItem';
|
|
75
|
+
exports.default = SummaryList;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
const table_1 = __importDefault(require("@scottish-government/design-system/src/components/table/table"));
|
|
9
|
+
const Table = ({ children, className, smallscreen, ...props }) => {
|
|
10
|
+
const ref = (0, react_1.useRef)(null);
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
if (ref.current) {
|
|
13
|
+
new table_1.default().init();
|
|
14
|
+
}
|
|
15
|
+
}, [ref]);
|
|
16
|
+
return (<table className={[
|
|
17
|
+
'ds_table',
|
|
18
|
+
className
|
|
19
|
+
].join(' ')} data-smallscreen={smallscreen} ref={ref} {...props}>
|
|
20
|
+
{children}
|
|
21
|
+
</table>);
|
|
22
|
+
};
|
|
23
|
+
Table.displayName = 'Table';
|
|
24
|
+
exports.default = Table;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
40
|
+
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
const tabs_1 = __importDefault(require("@scottish-government/design-system/src/components/tabs/tabs"));
|
|
43
|
+
const slugify_1 = __importDefault(require("../../utils/slugify"));
|
|
44
|
+
const TabItem = ({ bordered, children, className, id, tabLabel, ...props }) => {
|
|
45
|
+
return (<div className={[
|
|
46
|
+
'ds_tabs__content',
|
|
47
|
+
bordered && 'ds_tabs__content--bordered',
|
|
48
|
+
className
|
|
49
|
+
].join(' ')} id={id} {...props}>
|
|
50
|
+
{children}
|
|
51
|
+
</div>);
|
|
52
|
+
};
|
|
53
|
+
const TabListItem = ({ title, href }) => {
|
|
54
|
+
return (<li className="ds_tabs__tab">
|
|
55
|
+
<a className="ds_tabs__tab-link" href={href}>{title}</a>
|
|
56
|
+
</li>);
|
|
57
|
+
};
|
|
58
|
+
const Tabs = ({ baseId = 'tabs', bordered = true, children, className, headingLevel = 'h2', manual = false, title = 'Contents', ...props }) => {
|
|
59
|
+
const ref = (0, react_1.useRef)(null);
|
|
60
|
+
const headingId = `${baseId}-heading`;
|
|
61
|
+
(0, react_1.useEffect)(() => {
|
|
62
|
+
if (ref.current) {
|
|
63
|
+
new tabs_1.default(ref.current).init();
|
|
64
|
+
}
|
|
65
|
+
}, [ref]);
|
|
66
|
+
const processedItems = react_1.Children.map(children, child => {
|
|
67
|
+
if ((0, react_1.isValidElement)(child) && child.type === TabItem) {
|
|
68
|
+
let thisChild = child;
|
|
69
|
+
return react_1.default.cloneElement(thisChild, {
|
|
70
|
+
bordered: bordered,
|
|
71
|
+
id: thisChild.props.id || `${baseId}-${(0, slugify_1.default)(thisChild.props.tabLabel)}`,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
const tabListItems = react_1.Children.map(processedItems, child => {
|
|
76
|
+
if ((0, react_1.isValidElement)(child) && child.type === TabItem) {
|
|
77
|
+
return react_1.default.createElement(TabListItem, { title: child.props.tabLabel, href: `#${child.props.id}` });
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return (<div className={[
|
|
81
|
+
'ds_tabs',
|
|
82
|
+
manual && 'ds_tabs--manual',
|
|
83
|
+
className
|
|
84
|
+
].join(' ')} ref={ref} {...props}>
|
|
85
|
+
<WrapperTag_1.default id={headingId} className="ds_tabs__title" tagName={headingLevel}>
|
|
86
|
+
{title}
|
|
87
|
+
</WrapperTag_1.default>
|
|
88
|
+
|
|
89
|
+
<ul className="ds_tabs__list" aria-labelledby={headingId}>
|
|
90
|
+
{tabListItems}
|
|
91
|
+
</ul>
|
|
92
|
+
|
|
93
|
+
{processedItems}
|
|
94
|
+
</div>);
|
|
95
|
+
};
|
|
96
|
+
Tabs.displayName = 'Tabs';
|
|
97
|
+
TabItem.displayName = 'Tabs.Item';
|
|
98
|
+
Tabs.Item = TabItem;
|
|
99
|
+
exports.default = Tabs;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Tag = ({ className, colour, title, ...props }) => {
|
|
4
|
+
return (<span className={[
|
|
5
|
+
'ds_tag',
|
|
6
|
+
className,
|
|
7
|
+
colour && `ds_tag--${colour}`,
|
|
8
|
+
].join(' ')} {...props}>
|
|
9
|
+
{title}
|
|
10
|
+
</span>);
|
|
11
|
+
};
|
|
12
|
+
Tag.displayName = 'Tag';
|
|
13
|
+
exports.default = Tag;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
8
|
+
const HintText_1 = __importDefault(require("../../common/HintText"));
|
|
9
|
+
const ScreenReaderText_1 = __importDefault(require("../../common/ScreenReaderText"));
|
|
10
|
+
const Tag_1 = __importDefault(require("../Tag/Tag"));
|
|
11
|
+
const TaskItem = ({ children, className, href, id, isComplete = false, statusText, tagColour = 'grey', title, ...props }) => {
|
|
12
|
+
if (isComplete) {
|
|
13
|
+
tagColour = 'green';
|
|
14
|
+
}
|
|
15
|
+
return (<li className={[
|
|
16
|
+
'ds_task-list__task',
|
|
17
|
+
className
|
|
18
|
+
].join(' ')} id={id} {...props}>
|
|
19
|
+
<div className="ds_task-list__task-details">
|
|
20
|
+
<h3 className="ds_task-list__task-heading">
|
|
21
|
+
<ConditionalWrapper_1.default condition={typeof href !== 'undefined'} wrapper={(children) => <a className="ds_task-list__task-link" href={href}>{children}</a>}>
|
|
22
|
+
{title}
|
|
23
|
+
{statusText && <ScreenReaderText_1.default>({statusText})</ScreenReaderText_1.default>}
|
|
24
|
+
</ConditionalWrapper_1.default>
|
|
25
|
+
</h3>
|
|
26
|
+
<HintText_1.default className="ds_task-list__task-summary">{children}</HintText_1.default>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
{typeof statusText !== 'undefined' &&
|
|
30
|
+
<Tag_1.default aria-hidden="true" colour={tagColour} title={statusText}/>}
|
|
31
|
+
</li>);
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @param {Object} props
|
|
35
|
+
* @param {string} props.intro - Intro text
|
|
36
|
+
* @param {string} props.title - The title of the task group
|
|
37
|
+
* @returns {JSX.Element} - The element
|
|
38
|
+
*/
|
|
39
|
+
const TaskGroup = ({ children, className, intro, title, ...props }) => {
|
|
40
|
+
return (<li className={[
|
|
41
|
+
'ds_task-list-group__section',
|
|
42
|
+
className
|
|
43
|
+
].join(' ')} {...props}>
|
|
44
|
+
<h2 className="ds_task-list-heading">{title}</h2>
|
|
45
|
+
{intro && <p className="ds_task-list-intro">{intro}</p>}
|
|
46
|
+
<ul className="ds_task-list">
|
|
47
|
+
{children}
|
|
48
|
+
</ul>
|
|
49
|
+
</li>);
|
|
50
|
+
};
|
|
51
|
+
const TaskList = ({ children, className, headingId = 'task-list', title, ...props }) => {
|
|
52
|
+
let taskCount = 0;
|
|
53
|
+
let incompleteTaskIds = [];
|
|
54
|
+
let completedTasksCount = 0;
|
|
55
|
+
function processChild(item) {
|
|
56
|
+
if (item.type.displayName === 'TaskList.Item') {
|
|
57
|
+
taskCount = taskCount + 1;
|
|
58
|
+
if (item.props.isComplete) {
|
|
59
|
+
completedTasksCount = completedTasksCount + 1;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
incompleteTaskIds.push(item.props.id);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else if (item.type.displayName === 'TaskList.Group') {
|
|
66
|
+
react_1.Children.forEach(item.props.children, child => {
|
|
67
|
+
processChild(child);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function firstIncompleteTaskLink() {
|
|
72
|
+
if (incompleteTaskIds.length > 0) {
|
|
73
|
+
return (<p><a href={'#' + incompleteTaskIds[0]} className="js-task-list-skip-link">Skip to first incomplete section</a></p>);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
react_1.Children.forEach(children, child => {
|
|
77
|
+
processChild(child);
|
|
78
|
+
});
|
|
79
|
+
return (<div className={className} {...props}>
|
|
80
|
+
<h2 id={`${headingId}-status`} className="ds_task-list-status-heading">{title}</h2>
|
|
81
|
+
<nav aria-labelledby={`${headingId}-status`} className="ds_task-list-status">
|
|
82
|
+
<p>You have completed {completedTasksCount} of {taskCount} sections.</p>
|
|
83
|
+
{firstIncompleteTaskLink()}
|
|
84
|
+
</nav>
|
|
85
|
+
<ul className="ds_task-list">
|
|
86
|
+
{children}
|
|
87
|
+
</ul>
|
|
88
|
+
</div>);
|
|
89
|
+
};
|
|
90
|
+
TaskList.displayName = 'TaskList';
|
|
91
|
+
TaskItem.displayName = 'TaskList.Item';
|
|
92
|
+
TaskGroup.displayName = 'TaskList.Group';
|
|
93
|
+
TaskList.Item = TaskItem;
|
|
94
|
+
TaskList.Group = TaskGroup;
|
|
95
|
+
exports.default = TaskList;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
const character_count_1 = __importDefault(require("@scottish-government/design-system/src/forms/character-count/character-count"));
|
|
9
|
+
const Button_1 = __importDefault(require("../Button/Button"));
|
|
10
|
+
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
11
|
+
const ErrorMessage_1 = __importDefault(require("../ErrorMessage/ErrorMessage"));
|
|
12
|
+
const HintText_1 = __importDefault(require("../../common/HintText"));
|
|
13
|
+
const TextInput = ({ buttonIcon, buttonText, children, className, countThreshold, width, currency, currencySymbol, error, errorMessage, hasButton = false, hintText, id, label, maxlength, name, onBlur, onChange, placeholder, type = 'text', value, ...props }) => {
|
|
14
|
+
const errorMessageId = `error-message-${id}`;
|
|
15
|
+
const hintTextId = `hint-text-${id}`;
|
|
16
|
+
const ref = (0, react_1.useRef)(null);
|
|
17
|
+
const inputWrapperClasses = `${hasButton ? 'ds_input__wrapper ds_input__wrapper--has-icon' : ''} ${currency ? 'ds_currency-wrapper' : ''}`;
|
|
18
|
+
const describedbys = [];
|
|
19
|
+
if (hintText) {
|
|
20
|
+
describedbys.push(hintTextId);
|
|
21
|
+
}
|
|
22
|
+
;
|
|
23
|
+
if (errorMessage) {
|
|
24
|
+
describedbys.push(errorMessageId);
|
|
25
|
+
}
|
|
26
|
+
;
|
|
27
|
+
(0, react_1.useEffect)(() => {
|
|
28
|
+
if (ref.current) {
|
|
29
|
+
new character_count_1.default(ref.current).init();
|
|
30
|
+
}
|
|
31
|
+
}, [ref]);
|
|
32
|
+
function handleBlur(event) {
|
|
33
|
+
if (typeof onBlur === 'function') {
|
|
34
|
+
onBlur(event);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function handleChange(event) {
|
|
38
|
+
if (typeof onChange === 'function') {
|
|
39
|
+
onChange(event);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return (<ConditionalWrapper_1.default condition={typeof maxlength !== 'undefined' && maxlength > 0} wrapper={(children) => <div ref={ref} data-threshold={countThreshold} data-module="ds-character-count">{children}</div>}>
|
|
43
|
+
<label className="ds_label" htmlFor={id}>{label}</label>
|
|
44
|
+
{hintText && <HintText_1.default id={hintTextId} text={hintText}/>}
|
|
45
|
+
{errorMessage && <ErrorMessage_1.default id={errorMessageId} text={errorMessage}/>}
|
|
46
|
+
<ConditionalWrapper_1.default condition={hasButton || typeof currency !== 'undefined' && currency} wrapper={(children) => <div className={inputWrapperClasses} data-symbol={currencySymbol}>{children}</div>}>
|
|
47
|
+
<input aria-describedby={describedbys.join(' ')} aria-invalid={error} className={[
|
|
48
|
+
'ds_input',
|
|
49
|
+
className,
|
|
50
|
+
error ? 'ds_input--error' : '',
|
|
51
|
+
width ? `ds_input--${width}` : '',
|
|
52
|
+
].join(' ')} defaultValue={value} id={id} maxLength={maxlength} name={name || id} onBlur={handleBlur} onChange={handleChange} placeholder={placeholder} type={type} {...props}/>
|
|
53
|
+
{hasButton && (buttonText || buttonIcon) && <Button_1.default iconOnly icon={buttonIcon}>{buttonText}</Button_1.default>}
|
|
54
|
+
</ConditionalWrapper_1.default>
|
|
55
|
+
</ConditionalWrapper_1.default>);
|
|
56
|
+
};
|
|
57
|
+
TextInput.displayName = 'TextInput';
|
|
58
|
+
exports.default = TextInput;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
const character_count_1 = __importDefault(require("@scottish-government/design-system/src/forms/character-count/character-count"));
|
|
9
|
+
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
10
|
+
const ErrorMessage_1 = __importDefault(require("../ErrorMessage/ErrorMessage"));
|
|
11
|
+
const HintText_1 = __importDefault(require("../../common/HintText"));
|
|
12
|
+
const Textarea = ({ className, countThreshold, error, errorMessage, hintText, id, label, maxlength, name, onBlur, onChange, placeholder, rows = 4, value, ...props }) => {
|
|
13
|
+
const errorMessageId = `error-message-${id}`;
|
|
14
|
+
const hintTextId = `hint-text-${id}`;
|
|
15
|
+
const ref = (0, react_1.useRef)(null);
|
|
16
|
+
const describedbys = [];
|
|
17
|
+
if (hintText) {
|
|
18
|
+
describedbys.push(hintTextId);
|
|
19
|
+
}
|
|
20
|
+
;
|
|
21
|
+
if (errorMessage) {
|
|
22
|
+
describedbys.push(errorMessageId);
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
(0, react_1.useEffect)(() => {
|
|
26
|
+
if (ref.current) {
|
|
27
|
+
new character_count_1.default(ref.current).init();
|
|
28
|
+
}
|
|
29
|
+
}, [ref]);
|
|
30
|
+
function handleBlur(event) {
|
|
31
|
+
if (typeof onBlur === 'function') {
|
|
32
|
+
onBlur(event);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function handleChange(event) {
|
|
36
|
+
if (typeof onChange === 'function') {
|
|
37
|
+
onChange(event);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return (<ConditionalWrapper_1.default condition={typeof maxlength !== 'undefined' && maxlength > 0} wrapper={(children) => <div ref={ref} data-threshold={countThreshold} data-module="ds-character-count">{children}</div>}>
|
|
41
|
+
<label className="ds_label" htmlFor={id}>{label}</label>
|
|
42
|
+
{hintText && <HintText_1.default id={hintTextId} text={hintText}/>}
|
|
43
|
+
{errorMessage && <ErrorMessage_1.default id={errorMessageId} text={errorMessage}/>}
|
|
44
|
+
|
|
45
|
+
<textarea aria-describedby={describedbys.join(' ')} aria-invalid={error} className={[
|
|
46
|
+
'ds_input',
|
|
47
|
+
error && 'ds_input--error',
|
|
48
|
+
className
|
|
49
|
+
].join(' ')} defaultValue={value} id={id} maxLength={maxlength} name={name || id} onBlur={handleBlur} onChange={handleChange} placeholder={placeholder} rows={rows} {...props}/>
|
|
50
|
+
|
|
51
|
+
</ConditionalWrapper_1.default>);
|
|
52
|
+
};
|
|
53
|
+
Textarea.displayName = 'Textarea';
|
|
54
|
+
exports.default = Textarea;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const WarningText = ({ children, className, ...props }) => {
|
|
4
|
+
return (<div className={[
|
|
5
|
+
'ds_warning-text',
|
|
6
|
+
className
|
|
7
|
+
].join(' ')} {...props}>
|
|
8
|
+
<strong className="ds_warning-text__icon" aria-hidden="true"></strong>
|
|
9
|
+
<strong className="visually-hidden">Warning</strong>
|
|
10
|
+
<div className="ds_warning-text__text">
|
|
11
|
+
{children}
|
|
12
|
+
</div>
|
|
13
|
+
</div>);
|
|
14
|
+
};
|
|
15
|
+
WarningText.displayName = 'WarningText';
|
|
16
|
+
exports.default = WarningText;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const file_icon_1 = __importDefault(require("../../common/file-icon"));
|
|
8
|
+
const FileDownload = ({ className, cover, highlighted, icon = 'Generic', fileSize, fileType, fileUrl, title, ...props }) => {
|
|
9
|
+
const hasMetadata = !!fileType || !!fileSize;
|
|
10
|
+
const metaContainerId = `file-download-${(0, react_1.useId)()}`;
|
|
11
|
+
return (<div className={[
|
|
12
|
+
'ds_file-download',
|
|
13
|
+
highlighted && 'ds_file-download--highlighted',
|
|
14
|
+
className
|
|
15
|
+
].join(' ')} {...props}>
|
|
16
|
+
<div className="ds_file-download__thumbnail">
|
|
17
|
+
<a className="ds_file-download__thumbnail-link" aria-hidden="true" tabIndex={-1} href={fileUrl}>
|
|
18
|
+
{cover ?
|
|
19
|
+
<img alt="" className="ds_file-download__thumbnail-image" src={cover}/>
|
|
20
|
+
:
|
|
21
|
+
<file_icon_1.default ariaLabel="" className="ds_file-download__thumbnail-image" icon={icon}/>}
|
|
22
|
+
</a>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div className="ds_file-download__content">
|
|
26
|
+
<a href={fileUrl} className="ds_file-download__title" aria-describedby={hasMetadata ? metaContainerId : undefined}>
|
|
27
|
+
{title}
|
|
28
|
+
</a>
|
|
29
|
+
|
|
30
|
+
{hasMetadata &&
|
|
31
|
+
<div id={metaContainerId} className="ds_file-download__details">
|
|
32
|
+
<dl className="ds_metadata ds_metadata--inline">
|
|
33
|
+
{fileType &&
|
|
34
|
+
<div className="ds_metadata__item">
|
|
35
|
+
<dt className="ds_metadata__key visually-hidden">File type</dt>
|
|
36
|
+
<dd className="ds_metadata__value">{fileType}<span className="visually-hidden">,</span></dd>
|
|
37
|
+
</div>}
|
|
38
|
+
|
|
39
|
+
{fileSize &&
|
|
40
|
+
<div className="ds_metadata__item">
|
|
41
|
+
<dt className="ds_metadata__key visually-hidden">File size</dt>
|
|
42
|
+
<dd className="ds_metadata__value">{fileSize}</dd>
|
|
43
|
+
</div>}
|
|
44
|
+
</dl>
|
|
45
|
+
</div>}
|
|
46
|
+
</div>
|
|
47
|
+
</div>);
|
|
48
|
+
};
|
|
49
|
+
FileDownload.displayName = 'FileDownload';
|
|
50
|
+
exports.default = FileDownload;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const React = __importStar(require("react"));
|
|
37
|
+
const SvgAudio = (props) => (<svg fill="none" viewBox="0 0 80 120" xmlns="http://www.w3.org/2000/svg" role="img" {...props}>
|
|
38
|
+
<path d="m1 119v-118h58.5857l19.4142 19.4142v98.5858z" fill="#fff" stroke="#5e5e5e" strokeWidth={2}/>
|
|
39
|
+
<path d="m80 20-20-20v20z" fill="#5e5e5e"/>
|
|
40
|
+
<path d="m1 119v-118h58.5857l19.4142 19.4142v98.5858z" fill="#fff" stroke="#5e5e5e" strokeWidth={2}/>
|
|
41
|
+
<path d="m80 20-20-20v20z" fill="#5e5e5e"/>
|
|
42
|
+
<path d="m9.99951 27.5h59.9999v27.5h-59.9999z" fill="#5e5e5e"/>
|
|
43
|
+
<path d="m23.2514 37.1863-3.3837 10.3137h-2.7259l4.6228-12.4414h1.7346zm2.8113 10.3137-3.3923-10.3137-.2734-2.1277h1.7517l4.6484 12.4414zm-.1538-4.6313v2.008h-6.571v-2.008zm9.2542 2.4182v-7.0325h2.4609v9.2456h-2.3157zm.2734-1.897.7263-.0171c0 .6152-.0712 1.1878-.2136 1.7175-.1424.5241-.3561.9799-.6409 1.3672-.2848.3817-.6437.6808-1.0766.8972-.433.2108-.9428.3162-1.5296.3162-.45 0-.8659-.0627-1.2475-.188-.376-.131-.7007-.3332-.9742-.6067-.2677-.2791-.4785-.6352-.6323-1.0681-.1481-.4386-.2222-.9656-.2222-1.5808v-5.9729h2.461v5.99c0 .2734.0313.5041.094.6921.0683.188.1623.3418.282.4615.1196.1196.2592.205.4187.2563.1652.0513.3475.0769.5468.0769.507 0 .9058-.1025 1.1963-.3076.2962-.2051.5042-.4842.6238-.8374.1253-.3589.188-.7577.188-1.1963zm9.5276 2.0935v-11.1084h2.478v13.125h-2.2302zm-5.8448-2.4951v-.1795c0-.7063.0798-1.3472.2393-1.9226.1595-.581.3931-1.0795.7007-1.4953.3076-.4159.6864-.7377 1.1365-.9656.45-.2279.9627-.3418 1.538-.3418.5412 0 1.014.1139 1.4185.3418.4102.2279.7576.5526 1.0425.9741.2905.4159.5241.9086.7007 1.4783.1766.564.3047 1.182.3845 1.8542v.3931c-.0798.6437-.2079 1.2419-.3845 1.7944-.1766.5526-.4102 1.0368-.7007 1.4527-.2849.4101-.6323.7291-1.0425.957s-.8887.3418-1.4355.3418c-.5754 0-1.0881-.1168-1.5381-.3503-.4444-.2336-.8203-.5612-1.128-.9827-.3019-.4216-.5326-.9172-.6921-1.4868-.1595-.5697-.2393-1.1906-.2393-1.8628zm2.461-.1795v.1795c0 .3817.0285.7377.0854 1.0681.0627.3304.1624.6238.2991.8801.1424.2507.3247.4472.5469.5896.2278.1367.5041.2051.8288.2051.4216 0 .7691-.094 1.0425-.282.2734-.1937.4814-.4586.6238-.7947.1481-.3361.2335-.7234.2563-1.1621v-1.1193c-.0171-.3589-.0683-.6808-.1538-.9656-.0797-.2905-.1994-.5383-.3589-.7434-.1538-.2051-.3475-.3646-.581-.4785-.2279-.114-.4985-.1709-.8118-.1709-.319 0-.5924.074-.8203.2221-.2279.1424-.413.339-.5554.5896-.1367.2507-.2393.5469-.3076.8887-.0627.3361-.094.7007-.094 1.0937zm10.382-4.5544v9.2456h-2.4694v-9.2456zm-2.6232-2.4097c0-.3588.1253-.6551.3759-.8886.2507-.2336.5868-.3504 1.0083-.3504.4159 0 .7491.1168.9998.3504.2563.2335.3845.5298.3845.8886 0 .3589-.1282.6552-.3845.8887-.2507.2336-.5839.3504-.9998.3504-.4215 0-.7576-.1168-1.0083-.3504-.2506-.2335-.3759-.5298-.3759-.8887zm4.2639 7.1265v-.1794c0-.6779.0968-1.3017.2905-1.8714.1937-.5753.4757-1.0738.8459-1.4953.3703-.4216.826-.7491 1.3672-.9827.5412-.2393 1.1621-.3589 1.8628-.3589s1.3245.1196 1.8713.3589c.5469.2336 1.0055.5611 1.3758.9827.376.4215.6608.92.8545 1.4953.1937.5697.2905 1.1935.2905 1.8714v.1794c0 .6722-.0968 1.296-.2905 1.8713-.1937.5697-.4785 1.0681-.8545 1.4954-.3703.4215-.826.7491-1.3672.9827-.5412.2335-1.1621.3503-1.8628.3503s-1.3245-.1168-1.8713-.3503c-.5412-.2336-.9998-.5612-1.3758-.9827-.3702-.4273-.6522-.9257-.8459-1.4954-.1937-.5753-.2905-1.1991-.2905-1.8713zm2.4609-.1794v.1794c0 .3874.0342.7491.1025 1.0852.0684.3361.1766.6323.3247.8887.1539.2506.3532.4472.5982.5896.2449.1424.544.2136.8972.2136.3418 0 .6352-.0712.8801-.2136.245-.1424.4415-.339.5896-.5896.1481-.2564.2564-.5526.3247-.8887.0741-.3361.1111-.6978.1111-1.0852v-.1794c0-.376-.037-.7292-.1111-1.0596-.0683-.3361-.1794-.6323-.3332-.8887-.1481-.262-.3447-.4671-.5896-.6152-.245-.1481-.5412-.2222-.8887-.2222s-.6437.0741-.8887.2222c-.2392.1481-.4357.3532-.5896.6152-.1481.2564-.2563.5526-.3247.8887-.0683.3304-.1025.6836-.1025 1.0596z" fill="#fff"/>
|
|
44
|
+
<circle cx={38.9619} cy={84.5315} fill="#5e5e5e" r={19.857}/>
|
|
45
|
+
<path d="m51.0889 84.1858-18.6227 10.6068v-21.2137z" fill="#fff"/>
|
|
46
|
+
</svg>);
|
|
47
|
+
exports.default = SvgAudio;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const React = __importStar(require("react"));
|
|
37
|
+
const SvgCsv = (props) => (<svg fill="none" viewBox="0 0 80 120" xmlns="http://www.w3.org/2000/svg" role="img" {...props}>
|
|
38
|
+
<path d="m1 119v-118h58.5858l19.4142 19.4142v98.5858z" fill="#fff" stroke="#428542" strokeWidth={2}/>
|
|
39
|
+
<g fill="#428542">
|
|
40
|
+
<path d="m80 20-20-20v20z"/>
|
|
41
|
+
<path d="m10 65h12.5v5h-12.5z"/>
|
|
42
|
+
<path d="m25.833 64.9999h12.5v5h-12.5z"/>
|
|
43
|
+
<path d="m41.667 64.9999h12.5v5h-12.5z"/>
|
|
44
|
+
<path d="m57.5 64.9999h12.5v5h-12.5z"/>
|
|
45
|
+
<path d="m10 74.9999h12.5v5h-12.5z"/>
|
|
46
|
+
<path d="m25.833 74.9999h12.5v5h-12.5z"/>
|
|
47
|
+
<path d="m41.667 74.9999h12.5v5h-12.5z"/>
|
|
48
|
+
<path d="m57.5 74.9999h12.5v5h-12.5z"/>
|
|
49
|
+
<path d="m10 84.9999h12.5v5h-12.5z"/>
|
|
50
|
+
<path d="m25.833 84.9999h12.5v5h-12.5z"/>
|
|
51
|
+
<path d="m41.667 84.9999h12.5v5h-12.5z"/>
|
|
52
|
+
<path d="m57.5 84.9999h12.5v5h-12.5z"/>
|
|
53
|
+
<path d="m10 28h60v27h-60z"/>
|
|
54
|
+
</g>
|
|
55
|
+
<path d="m31.4893 43.8728h2.5549c-.0513.8374-.282 1.5808-.6921 2.2302-.4045.6494-.9713 1.1564-1.7005 1.521-.7235.3646-1.595.5469-2.6147.5469-.7976 0-1.5125-.1367-2.1448-.4102-.6323-.2791-1.1735-.6779-1.6235-1.1962-.4444-.5184-.7833-1.1451-1.0169-1.8799-.2336-.7349-.3503-1.5581-.3503-2.4695v-.863c0-.9115.1196-1.7347.3589-2.4695.2449-.7406.5924-1.3701 1.0424-1.8885.4558-.5184.9998-.9171 1.6321-1.1962.6323-.2792 1.3387-.4187 2.1192-.4187 1.0367 0 1.9112.1879 2.6232.5639.7178.376 1.2732.8944 1.6663 1.5552.3988.6608.638 1.4128.7178 2.2559h-2.5635c-.0285-.5014-.1282-.9257-.2991-1.2732-.1709-.3532-.4301-.6181-.7776-.7947-.3418-.1823-.7975-.2735-1.3671-.2735-.4273 0-.8004.0798-1.1194.2393s-.5868.4016-.8033.7263c-.2164.3247-.3788.7349-.487 1.2305-.1026.4899-.1538 1.0653-.1538 1.7261v.8801c0 .6437.0484 1.2105.1452 1.7004.0969.4842.245.8944.4444 1.2305.2051.3304.4671.5811.7861.7519.3247.1653.7149.2479 1.1707.2479.5354 0 .9769-.0855 1.3244-.2564s.6124-.4244.7947-.7605c.188-.3361.2991-.7548.3333-1.2561zm10.7153.8716c0-.2222-.0342-.4216-.1025-.5982-.0627-.1823-.1823-.3475-.3589-.4956-.1766-.1538-.4244-.3047-.7434-.4528-.3191-.1482-.7321-.302-1.2391-.4615-.5639-.1823-1.0994-.3873-1.6064-.6152-.5013-.2279-.9456-.4928-1.333-.7947-.3817-.3076-.6836-.6636-.9058-1.0681-.2164-.4045-.3247-.8744-.3247-1.4099 0-.5184.114-.9884.3418-1.4099.2279-.4273.5469-.7919.957-1.0938.4102-.3076.8944-.544 1.4527-.7092.5639-.1652 1.182-.2478 1.8542-.2478.9172 0 1.7176.1652 2.4012.4956.6835.3304 1.2133.7833 1.5893 1.3586.3817.5754.5725 1.2334.5725 1.9739h-2.5464c0-.3646-.0769-.6836-.2307-.957-.1481-.2791-.376-.4985-.6836-.658-.3019-.1595-.6836-.2392-1.145-.2392-.4443 0-.8146.0683-1.1108.2051-.2963.131-.5184.3104-.6665.5383-.1481.2221-.2222.4728-.2222.7519 0 .2108.0513.4016.1538.5725.1082.1709.2677.3304.4785.4786.2108.1481.47.2876.7776.4187.3076.131.6637.2592 1.0681.3845.6779.2051 1.2732.4358 1.7859.6921.5184.2564.9513.544 1.2988.8631.3475.319.6096.6807.7862 1.0852.1766.4044.2649.863.2649 1.3757 0 .5412-.1054 1.0254-.3162 1.4526-.2108.4273-.5155.789-.9143 1.0852-.3988.2963-.8744.5213-1.427.6751s-1.1707.2307-1.8543.2307c-.6152 0-1.2219-.0798-1.82-.2393-.5982-.1652-1.1422-.413-1.6321-.7434-.4842-.3304-.8716-.7519-1.1621-1.2646s-.4358-1.1194-.4358-1.8201h2.572c0 .3874.0598.7149.1795.9827.1196.2677.2876.4842.5041.6494.2222.1652.4842.2848.7861.3589.3077.074.6438.1111 1.0083.1111.4444 0 .809-.0627 1.0938-.188.2905-.1253.5041-.2991.6409-.5213.1424-.2221.2136-.4728.2136-.7519zm8.7927.6579 2.9309-9.8437h2.854l-4.3322 12.4414h-1.8799zm-2.7002-9.8437 2.9224 9.8437.4443 2.5977h-1.897l-4.3066-12.4414z" fill="#fff"/>
|
|
56
|
+
</svg>);
|
|
57
|
+
exports.default = SvgCsv;
|