@scottish-government/designsystem-react 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/@types/components/Accordion.d.ts +2 -2
  2. package/@types/components/ConfirmationMessage.d.ts +1 -1
  3. package/@types/components/NotificationPanel.d.ts +1 -1
  4. package/@types/components/SummaryCard.d.ts +1 -1
  5. package/@types/components/Tabs.d.ts +1 -1
  6. package/@types/sgds.d.ts +1 -1
  7. package/CHANGELOG.md +81 -0
  8. package/README.md +4 -0
  9. package/dist/common/{abstract-notification-banner.jsx → AbstractNotificationBanner.jsx} +5 -5
  10. package/dist/components/{accordion/accordion.jsx → Accordion/Accordion.jsx} +6 -6
  11. package/dist/components/{back-to-top/back-to-top.jsx → BackToTop/BackToTop.jsx} +2 -2
  12. package/dist/components/{button/button.jsx → Button/Button.jsx} +7 -7
  13. package/dist/components/{checkbox/checkbox.jsx → Checkbox/Checkbox.jsx} +2 -2
  14. package/dist/components/{confirmation-message/confirmation-message.jsx → ConfirmationMessage/ConfirmationMessage.jsx} +6 -6
  15. package/dist/components/{contents-nav/contents-nav.jsx → ContentsNav/ContentsNav.jsx} +3 -3
  16. package/dist/components/{cookie-banner/cookie-banner.jsx → CookieBanner/CookieBanner.jsx} +4 -4
  17. package/dist/components/{date-picker/date-picker.jsx → DatePicker/DatePicker.jsx} +7 -7
  18. package/dist/components/{error-summary/error-summary.jsx → ErrorSummary/ErrorSummary.jsx} +2 -2
  19. package/dist/components/{file-download/file-download.jsx → FileDownload/FileDownload.jsx} +2 -2
  20. package/dist/components/{hide-this-page/hide-this-page.jsx → HideThisPage/HideThisPage.jsx} +3 -3
  21. package/dist/components/{notification-banner/notification-banner.jsx → NotificationBanner/NotificationBanner.jsx} +4 -4
  22. package/dist/components/{notification-panel/notification-panel.jsx → NotificationPanel/NotificationPanel.jsx} +4 -4
  23. package/dist/components/{pagination/pagination.jsx → Pagination/Pagination.jsx} +3 -3
  24. package/dist/components/{phase-banner/phase-banner.jsx → PhaseBanner/PhaseBanner.jsx} +2 -2
  25. package/dist/components/{question/question.jsx → Question/Question.jsx} +7 -7
  26. package/dist/components/{radio-button/radio-button.jsx → RadioButton/RadioButton.jsx} +2 -2
  27. package/dist/components/{select/select.jsx → Select/Select.jsx} +4 -4
  28. package/dist/components/{site-header/site-header.jsx → SiteHeader/SiteHeader.jsx} +13 -13
  29. package/dist/components/{site-search/site-search.jsx → SiteSearch/SiteSearch.jsx} +2 -2
  30. package/dist/components/{summary-card/summary-card.jsx → SummaryCard/SummaryCard.jsx} +6 -6
  31. package/dist/components/{summary-list/summary-list.jsx → SummaryList/SummaryList.jsx} +8 -8
  32. package/dist/components/{tabs/tabs.jsx → Tabs/Tabs.jsx} +4 -4
  33. package/dist/components/{task-list/task-list.jsx → TaskList/TaskList.jsx} +9 -9
  34. package/dist/components/{text-input/text-input.jsx → TextInput/TextInput.jsx} +11 -11
  35. package/dist/components/{textarea/textarea.jsx → Textarea/Textarea.jsx} +7 -7
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
  38. package/src/common/{abstract-notification-banner.test.tsx → AbstractNotificationBanner.test.tsx} +11 -11
  39. package/src/common/{abstract-notification-banner.tsx → AbstractNotificationBanner.tsx} +2 -2
  40. package/src/common/{conditional-wrapper.test.tsx → ConditionalWrapper.test.tsx} +1 -1
  41. package/src/common/{file-icon.test.tsx → FileIcon.test.tsx} +10 -10
  42. package/src/common/{hint-text.test.tsx → HintText.test.tsx} +12 -12
  43. package/src/common/{icon.test.tsx → Icon.test.tsx} +16 -16
  44. package/src/common/{screen-reader-text.test.tsx → ScreenReaderText.test.tsx} +5 -5
  45. package/src/common/{wrapper-tag.test.tsx → WrapperTag.test.tsx} +5 -5
  46. package/src/components/{accordion/accordion.test.tsx → Accordion/Accordion.test.tsx} +35 -35
  47. package/src/components/{accordion/accordion.tsx → Accordion/Accordion.tsx} +5 -5
  48. package/src/components/{aspect-box/aspect-box.test.tsx → AspectBox/AspectBox.test.tsx} +2 -2
  49. package/src/components/{back-to-top/back-to-top.test.tsx → BackToTop/BackToTop.test.tsx} +1 -1
  50. package/src/components/{back-to-top/back-to-top.tsx → BackToTop/BackToTop.tsx} +1 -1
  51. package/src/components/{breadcrumbs/breadcrumbs.test.tsx → Breadcrumbs/Breadcrumbs.test.tsx} +7 -7
  52. package/src/components/{button/button.test.tsx → Button/Button.test.tsx} +1 -1
  53. package/src/components/{button/button.tsx → Button/Button.tsx} +3 -3
  54. package/src/components/{checkbox/checkbox.test.tsx → Checkbox/Checkbox.test.tsx} +16 -16
  55. package/src/components/{checkbox/checkbox.tsx → Checkbox/Checkbox.tsx} +1 -1
  56. package/src/components/{confirmation-message/confirmation-message.test.tsx → ConfirmationMessage/ConfirmationMessage.test.tsx} +12 -14
  57. package/src/components/{confirmation-message/confirmation-message.tsx → ConfirmationMessage/ConfirmationMessage.tsx} +4 -4
  58. package/src/components/{contents-nav/contents-nav.test.tsx → ContentsNav/ContentsNav.test.tsx} +21 -28
  59. package/src/components/{contents-nav/contents-nav.tsx → ContentsNav/ContentsNav.tsx} +1 -1
  60. package/src/components/{cookie-banner/cookie-banner.test.tsx → CookieBanner/CookieBanner.test.tsx} +3 -3
  61. package/src/components/{cookie-banner/cookie-banner.tsx → CookieBanner/CookieBanner.tsx} +1 -1
  62. package/src/components/{date-picker/date-picker.test.tsx → DatePicker/DatePicker.test.tsx} +76 -66
  63. package/src/components/{date-picker/date-picker.tsx → DatePicker/DatePicker.tsx} +2 -2
  64. package/src/components/{details/details.test.tsx → Details/Details.test.tsx} +10 -10
  65. package/src/components/{error-message/error-message.test.tsx → ErrorMessage/ErrorMessage.test.tsx} +10 -10
  66. package/src/components/{error-summary/error-summary.test.tsx → ErrorSummary/ErrorSummary.test.tsx} +13 -14
  67. package/src/components/{error-summary/error-summary.tsx → ErrorSummary/ErrorSummary.tsx} +1 -1
  68. package/src/components/{file-download/file-download.test.tsx → FileDownload/FileDownload.test.tsx} +21 -21
  69. package/src/components/{file-download/file-download.tsx → FileDownload/FileDownload.tsx} +1 -1
  70. package/src/components/{hide-this-page/hide-this-page.test.tsx → HideThisPage/HideThisPage.test.tsx} +4 -4
  71. package/src/components/{hide-this-page/hide-this-page.tsx → HideThisPage/HideThisPage.tsx} +3 -3
  72. package/src/components/{inset-text/inset-text.test.tsx → InsetText/InsetText.test.tsx} +1 -1
  73. package/src/components/{notification-banner/notification-banner.test.tsx → NotificationBanner/NotificationBanner.test.tsx} +4 -4
  74. package/src/components/{notification-banner/notification-banner.tsx → NotificationBanner/NotificationBanner.tsx} +1 -1
  75. package/src/components/{notification-panel/notification-panel.test.tsx → NotificationPanel/NotificationPanel.test.tsx} +24 -23
  76. package/src/components/{notification-panel/notification-panel.tsx → NotificationPanel/NotificationPanel.tsx} +3 -3
  77. package/src/components/{page-header/page-header.test.tsx → PageHeader/PageHeader.test.tsx} +9 -9
  78. package/src/components/{page-metadata/page-metadata.test.tsx → PageMetadata/PageMetadata.test.tsx} +9 -9
  79. package/src/components/{pagination/pagination.test.tsx → Pagination/Pagination.test.tsx} +56 -56
  80. package/src/components/{pagination/pagination.tsx → Pagination/Pagination.tsx} +1 -1
  81. package/src/components/{phase-banner/phase-banner.test.tsx → PhaseBanner/PhaseBanner.test.tsx} +9 -9
  82. package/src/components/{phase-banner/phase-banner.tsx → PhaseBanner/PhaseBanner.tsx} +1 -1
  83. package/src/components/{question/question.test.tsx → Question/Question.test.tsx} +10 -10
  84. package/src/components/{question/question.tsx → Question/Question.tsx} +3 -3
  85. package/src/components/{radio-button/radio-button.test.tsx → RadioButton/RadioButton.test.tsx} +23 -23
  86. package/src/components/{radio-button/radio-button.tsx → RadioButton/RadioButton.tsx} +1 -1
  87. package/src/components/{select/select.test.tsx → Select/Select.test.tsx} +67 -64
  88. package/src/components/{select/select.tsx → Select/Select.tsx} +2 -2
  89. package/src/components/{sequential-navigation/sequential-navigation.test.tsx → SequentialNavigation/SequentialNavigation.test.tsx} +18 -18
  90. package/src/components/{side-navigation/side-navigation.test.tsx → SideNavigation/SideNavigation.test.tsx} +8 -8
  91. package/src/components/{site-header/site-header.test.tsx → SiteHeader/SiteHeader.test.tsx} +25 -25
  92. package/src/components/{site-header/site-header.tsx → SiteHeader/SiteHeader.tsx} +4 -4
  93. package/src/components/{site-navigation/site-navigation.test.tsx → SiteNavigation/SiteNavigation.test.tsx} +8 -8
  94. package/src/components/{site-search/site-search.test.tsx → SiteSearch/SiteSearch.test.tsx} +16 -16
  95. package/src/components/{site-search/site-search.tsx → SiteSearch/SiteSearch.tsx} +1 -1
  96. package/src/components/{skip-links/skip-links.test.tsx → SkipLinks/SkipLinks.test.tsx} +15 -15
  97. package/src/components/{summary-card/summary-card.test.tsx → SummaryCard/SummaryCard.test.tsx} +28 -28
  98. package/src/components/{summary-card/summary-card.tsx → SummaryCard/SummaryCard.tsx} +4 -4
  99. package/src/components/{summary-list/summary-list.test.tsx → SummaryList/SummaryList.test.tsx} +55 -56
  100. package/src/components/{summary-list/summary-list.tsx → SummaryList/SummaryList.tsx} +2 -2
  101. package/src/components/{table/table.test.tsx → Table/Table.test.tsx} +4 -4
  102. package/src/components/{tabs/tabs.test.tsx → Tabs/Tabs.test.tsx} +22 -42
  103. package/src/components/{tabs/tabs.tsx → Tabs/Tabs.tsx} +3 -3
  104. package/src/components/{tag/tag.test.tsx → Tag/Tag.test.tsx} +10 -10
  105. package/src/components/{task-list/task-list.test.tsx → TaskList/TaskList.test.tsx} +109 -108
  106. package/src/components/{task-list/task-list.tsx → TaskList/TaskList.tsx} +4 -4
  107. package/src/components/{text-input/text-input.test.tsx → TextInput/TextInput.test.tsx} +92 -87
  108. package/src/components/{text-input/text-input.tsx → TextInput/TextInput.tsx} +4 -4
  109. package/src/components/{textarea/textarea.test.tsx → Textarea/Textarea.test.tsx} +71 -67
  110. package/src/components/{textarea/textarea.tsx → Textarea/Textarea.tsx} +3 -3
  111. package/src/components/{warning-text/warning-text.test.tsx → WarningText/WarningText.test.tsx} +1 -1
  112. package/dist/icons/ArrowUpward.jsx +0 -41
  113. package/dist/icons/CalendarToday.jsx +0 -41
  114. package/dist/icons/Cancel.jsx +0 -40
  115. package/dist/icons/CheckCircle.jsx +0 -41
  116. package/dist/icons/ChevronLeft.jsx +0 -41
  117. package/dist/icons/ChevronRight.jsx +0 -41
  118. package/dist/icons/Close.jsx +0 -41
  119. package/dist/icons/Description.jsx +0 -41
  120. package/dist/icons/DoubleChevronLeft.jsx +0 -40
  121. package/dist/icons/DoubleChevronRight.jsx +0 -40
  122. package/dist/icons/Error.jsx +0 -41
  123. package/dist/icons/ExpandLess.jsx +0 -41
  124. package/dist/icons/ExpandMore.jsx +0 -41
  125. package/dist/icons/List.jsx +0 -44
  126. package/dist/icons/Menu.jsx +0 -41
  127. package/dist/icons/PriorityHigh.jsx +0 -42
  128. package/dist/icons/Search.jsx +0 -41
  129. package/dist/icons/index.js +0 -40
  130. /package/dist/common/{conditional-wrapper.jsx → ConditionalWrapper.jsx} +0 -0
  131. /package/dist/common/{file-icon.jsx → FileIcon.jsx} +0 -0
  132. /package/dist/common/{hint-text.jsx → HintText.jsx} +0 -0
  133. /package/dist/common/{icon.jsx → Icon.jsx} +0 -0
  134. /package/dist/common/{screen-reader-text.jsx → ScreenReaderText.jsx} +0 -0
  135. /package/dist/common/{wrapper-tag.jsx → WrapperTag.jsx} +0 -0
  136. /package/dist/components/{aspect-box/aspect-box.jsx → AspectBox/AspectBox.jsx} +0 -0
  137. /package/dist/components/{breadcrumbs/breadcrumbs.jsx → Breadcrumbs/Breadcrumbs.jsx} +0 -0
  138. /package/dist/components/{details/details.jsx → Details/Details.jsx} +0 -0
  139. /package/dist/components/{error-message/error-message.jsx → ErrorMessage/ErrorMessage.jsx} +0 -0
  140. /package/dist/components/{inset-text/inset-text.jsx → InsetText/InsetText.jsx} +0 -0
  141. /package/dist/components/{page-header/page-header.jsx → PageHeader/PageHeader.jsx} +0 -0
  142. /package/dist/components/{page-metadata/page-metadata.jsx → PageMetadata/PageMetadata.jsx} +0 -0
  143. /package/dist/components/{sequential-navigation/sequential-navigation.jsx → SequentialNavigation/SequentialNavigation.jsx} +0 -0
  144. /package/dist/components/{side-navigation/side-navigation.jsx → SideNavigation/SideNavigation.jsx} +0 -0
  145. /package/dist/components/{site-navigation/site-navigation.jsx → SiteNavigation/SiteNavigation.jsx} +0 -0
  146. /package/dist/components/{skip-links/skip-links.jsx → SkipLinks/SkipLinks.jsx} +0 -0
  147. /package/dist/components/{table/table.jsx → Table/Table.jsx} +0 -0
  148. /package/dist/components/{tag/tag.jsx → Tag/Tag.jsx} +0 -0
  149. /package/dist/components/{warning-text/warning-text.jsx → WarningText/WarningText.jsx} +0 -0
  150. /package/src/common/{conditional-wrapper.tsx → ConditionalWrapper.tsx} +0 -0
  151. /package/src/common/{file-icon.tsx → FileIcon.tsx} +0 -0
  152. /package/src/common/{hint-text.tsx → HintText.tsx} +0 -0
  153. /package/src/common/{icon.tsx → Icon.tsx} +0 -0
  154. /package/src/common/{screen-reader-text.tsx → ScreenReaderText.tsx} +0 -0
  155. /package/src/common/{wrapper-tag.tsx → WrapperTag.tsx} +0 -0
  156. /package/src/components/{aspect-box/aspect-box.tsx → AspectBox/AspectBox.tsx} +0 -0
  157. /package/src/components/{breadcrumbs/breadcrumbs.tsx → Breadcrumbs/Breadcrumbs.tsx} +0 -0
  158. /package/src/components/{details/details.tsx → Details/Details.tsx} +0 -0
  159. /package/src/components/{error-message/error-message.tsx → ErrorMessage/ErrorMessage.tsx} +0 -0
  160. /package/src/components/{inset-text/inset-text.tsx → InsetText/InsetText.tsx} +0 -0
  161. /package/src/components/{page-header/page-header.tsx → PageHeader/PageHeader.tsx} +0 -0
  162. /package/src/components/{page-metadata/page-metadata.tsx → PageMetadata/PageMetadata.tsx} +0 -0
  163. /package/src/components/{sequential-navigation/sequential-navigation.tsx → SequentialNavigation/SequentialNavigation.tsx} +0 -0
  164. /package/src/components/{side-navigation/side-navigation.tsx → SideNavigation/SideNavigation.tsx} +0 -0
  165. /package/src/components/{site-navigation/site-navigation.tsx → SiteNavigation/SiteNavigation.tsx} +0 -0
  166. /package/src/components/{skip-links/skip-links.tsx → SkipLinks/SkipLinks.tsx} +0 -0
  167. /package/src/components/{table/table.tsx → Table/Table.tsx} +0 -0
  168. /package/src/components/{tag/tag.tsx → Tag/Tag.tsx} +0 -0
  169. /package/src/components/{warning-text/warning-text.tsx → WarningText/WarningText.tsx} +0 -0
@@ -1,46 +1,46 @@
1
1
  import { test, expect } from 'vitest';
2
2
  import { render, screen, within } from '@testing-library/react';
3
- import TaskList from './task-list';
3
+ import TaskList from './TaskList';
4
4
 
5
- const taskListHeadingText = 'Application incomplete';
5
+ const TASK_LIST_HEADING_TEXT = 'Application incomplete';
6
6
 
7
- const tasks = [
7
+ const TASKS = [
8
8
  { id: 'task-conditions', statusText: 'Cannot start yet', title: 'Conditions' },
9
9
  { id: 'task-medications', statusText: 'Cannot start yet', title: 'Medications' },
10
10
  { id: 'task-contacts', statusText: 'Cannot start yet', title: 'Contacts and supporting information' },
11
11
  ];
12
- const taskItem = {
12
+ const TASK_ITEM = {
13
13
  id: 'task-conditions',
14
14
  statusText: 'Cannot start yet',
15
15
  title: 'Conditions',
16
16
  href: '#foo'
17
17
  };
18
- const taskSummaryContent = 'Tell us about your conditions, symptoms and any sensory issues you have.';
18
+ const TASK_SUMMARY_CONTENT = 'Tell us about your conditions, symptoms and any sensory issues you have.';
19
19
 
20
20
 
21
21
  test('task list renders correctly', () => {
22
22
  render(
23
23
  <TaskList
24
- title={taskListHeadingText}
24
+ title={TASK_LIST_HEADING_TEXT}
25
25
  >
26
26
  <TaskList.Item
27
- id={tasks[0].id}
28
- statusText={tasks[0].statusText}
29
- title={tasks[0].title}
27
+ id={TASKS[0].id}
28
+ statusText={TASKS[0].statusText}
29
+ title={TASKS[0].title}
30
30
  >
31
31
  Tell us about your conditions, symptoms and any sensory issues you have.
32
32
  </TaskList.Item>
33
33
  <TaskList.Item
34
- id={tasks[1].id}
35
- statusText={tasks[1].statusText}
36
- title={tasks[1].title}
34
+ id={TASKS[1].id}
35
+ statusText={TASKS[1].statusText}
36
+ title={TASKS[1].title}
37
37
  >
38
38
  Tell us about any medication you need.
39
39
  </TaskList.Item>
40
40
  <TaskList.Item
41
- id={tasks[2].id}
42
- statusText={tasks[2].statusText}
43
- title={tasks[2].title}
41
+ id={TASKS[2].id}
42
+ statusText={TASKS[2].statusText}
43
+ title={TASKS[2].title}
44
44
  >
45
45
  Share any supporting documents and provide details of people we can talk to about you.
46
46
  </TaskList.Item>
@@ -57,7 +57,7 @@ test('task list renders correctly', () => {
57
57
 
58
58
  expect(taskListHeading).toHaveClass('ds_task-list-status-heading');
59
59
  expect(taskListHeading).toHaveAttribute('id', 'task-list-status');
60
- expect(taskListHeading.textContent).toEqual(taskListHeadingText);
60
+ expect(taskListHeading.textContent).toEqual(TASK_LIST_HEADING_TEXT);
61
61
 
62
62
  expect(taskListStatus).toHaveClass('ds_task-list-status');
63
63
  expect(taskListStatus).toHaveAttribute('aria-labelledby', taskListHeading.id);
@@ -67,19 +67,20 @@ test('task list renders correctly', () => {
67
67
  expect(taskListStatus2.tagName).toEqual('P');
68
68
  expect(taskListStatusLink.tagName).toEqual('A');
69
69
  expect(taskListStatusLink.textContent).toEqual('Skip to first incomplete section');
70
- expect(taskListStatusLink).toHaveAttribute('href', `#${tasks[0].id}`);
70
+ expect(taskListStatusLink).toHaveAttribute('href', `#${TASKS[0].id}`);
71
71
 
72
72
  expect(taskList).toHaveClass('ds_task-list');
73
73
  expect(taskList.tagName).toEqual('UL');
74
- expect(taskList.children.length).toEqual(tasks.length);
74
+ expect(taskList.children.length).toEqual(TASKS.length);
75
75
  });
76
76
 
77
77
  test('task list with custom ID', () => {
78
- const headingId = 'my-id';
78
+ const TASKLIST_HEADING_ID = 'my-id';
79
+
79
80
  render(
80
81
  <TaskList
81
- title={taskListHeadingText}
82
- headingId={headingId}
82
+ title={TASK_LIST_HEADING_TEXT}
83
+ headingId={TASKLIST_HEADING_ID}
83
84
  >
84
85
  </TaskList>
85
86
  );
@@ -87,35 +88,35 @@ test('task list with custom ID', () => {
87
88
  const taskListStatus = screen.getByRole('navigation');
88
89
  const taskListHeading = screen.getAllByRole('heading')[0];
89
90
 
90
- expect(taskListHeading).toHaveAttribute('id', `${headingId}-status`);
91
+ expect(taskListHeading).toHaveAttribute('id', `${TASKLIST_HEADING_ID}-status`);
91
92
  expect(taskListStatus).toHaveAttribute('aria-labelledby', taskListHeading.id);
92
93
  });
93
94
 
94
95
  test('task list with completed tasks', () => {
95
96
  render(
96
97
  <TaskList
97
- title={taskListHeadingText}
98
+ title={TASK_LIST_HEADING_TEXT}
98
99
  >
99
100
  <TaskList.Item
100
- id={tasks[0].id}
101
- statusText={tasks[0].statusText}
102
- title={tasks[0].title}
101
+ id={TASKS[0].id}
102
+ statusText={TASKS[0].statusText}
103
+ title={TASKS[0].title}
103
104
  isComplete
104
105
  >
105
106
  Tell us about your conditions, symptoms and any sensory issues you have.
106
107
  </TaskList.Item>
107
108
  <TaskList.Item
108
- id={tasks[1].id}
109
- statusText={tasks[1].statusText}
110
- title={tasks[1].title}
109
+ id={TASKS[1].id}
110
+ statusText={TASKS[1].statusText}
111
+ title={TASKS[1].title}
111
112
  isComplete
112
113
  >
113
114
  Tell us about any medication you need.
114
115
  </TaskList.Item>
115
116
  <TaskList.Item
116
- id={tasks[2].id}
117
- statusText={tasks[2].statusText}
118
- title={tasks[2].title}
117
+ id={TASKS[2].id}
118
+ statusText={TASKS[2].statusText}
119
+ title={TASKS[2].title}
119
120
  >
120
121
  Share any supporting documents and provide details of people we can talk to about you.
121
122
  </TaskList.Item>
@@ -127,17 +128,17 @@ test('task list with completed tasks', () => {
127
128
  const taskListStatusLink = within(taskListStatus).getByRole('link');
128
129
 
129
130
  expect(taskListStatus1.textContent).toEqual('You have completed 2 of 3 sections.');
130
- expect(taskListStatusLink).toHaveAttribute('href', `#${tasks[2].id}`);
131
+ expect(taskListStatusLink).toHaveAttribute('href', `#${TASKS[2].id}`);
131
132
  });
132
133
 
133
134
  test('task renders correctly', () => {
134
135
  render(
135
136
  <TaskList.Item
136
- id={taskItem.id}
137
- statusText={taskItem.statusText}
138
- title={taskItem.title}
137
+ id={TASK_ITEM.id}
138
+ statusText={TASK_ITEM.statusText}
139
+ title={TASK_ITEM.title}
139
140
  >
140
- {taskSummaryContent}
141
+ {TASK_SUMMARY_CONTENT}
141
142
  </TaskList.Item>
142
143
  );
143
144
 
@@ -148,7 +149,7 @@ test('task renders correctly', () => {
148
149
  const taskSummary = taskHeading.nextElementSibling;
149
150
 
150
151
  expect(task).toHaveClass('ds_task-list__task');
151
- expect(task).toHaveAttribute('id', taskItem.id);
152
+ expect(task).toHaveAttribute('id', TASK_ITEM.id);
152
153
 
153
154
  expect(taskDetails).toHaveClass('ds_task-list__task-details');
154
155
  expect(taskDetails?.parentElement).toEqual(task);
@@ -156,27 +157,27 @@ test('task renders correctly', () => {
156
157
 
157
158
  expect(taskHeading).toHaveClass('ds_task-list__task-heading');
158
159
  expect(taskHeading.tagName).toEqual('H3');
159
- expect(taskHeading.textContent).toEqual(`${taskItem.title}(${taskItem.statusText})`);
160
+ expect(taskHeading.textContent).toEqual(`${TASK_ITEM.title}(${TASK_ITEM.statusText})`);
160
161
 
161
162
  expect(taskSummary).toHaveClass('ds_task-list__task-summary');
162
163
  expect(taskSummary?.tagName).toEqual('P');
163
- expect(taskSummary?.textContent).toEqual(taskSummaryContent);
164
+ expect(taskSummary?.textContent).toEqual(TASK_SUMMARY_CONTENT);
164
165
 
165
166
  expect(tag).toHaveAttribute('aria-hidden', 'true');
166
- expect(tag?.textContent).toEqual(taskItem.statusText);
167
+ expect(tag?.textContent).toEqual(TASK_ITEM.statusText);
167
168
  });
168
169
 
169
170
  test('task with link', () => {
170
- const href = '#foo';
171
+ const TASK_HREF = '#foo';
171
172
 
172
173
  render(
173
174
  <TaskList.Item
174
- id={taskItem.id}
175
- statusText={taskItem.statusText}
176
- title={taskItem.title}
177
- href={href}
175
+ id={TASK_ITEM.id}
176
+ statusText={TASK_ITEM.statusText}
177
+ title={TASK_ITEM.title}
178
+ href={TASK_HREF}
178
179
  >
179
- {taskSummaryContent}
180
+ {TASK_SUMMARY_CONTENT}
180
181
  </TaskList.Item>
181
182
  );
182
183
 
@@ -185,8 +186,8 @@ test('task with link', () => {
185
186
  const link = within(task).getByRole('link');
186
187
 
187
188
  expect(link).toHaveClass('ds_task-list__task-link');
188
- expect(link).toHaveAttribute('href', href);
189
- expect(link.textContent).toEqual(`${taskItem.title}(${taskItem.statusText})`);
189
+ expect(link).toHaveAttribute('href', TASK_HREF);
190
+ expect(link.textContent).toEqual(`${TASK_ITEM.title}(${TASK_ITEM.statusText})`);
190
191
  expect(link.parentElement).toEqual(taskHeading);
191
192
  expect(link.textContent).toEqual(taskHeading.textContent);
192
193
  });
@@ -194,12 +195,12 @@ test('task with link', () => {
194
195
  test('completed task has green tag', () => {
195
196
  render(
196
197
  <TaskList.Item
197
- id={taskItem.id}
198
- statusText={taskItem.statusText}
199
- title={taskItem.title}
198
+ id={TASK_ITEM.id}
199
+ statusText={TASK_ITEM.statusText}
200
+ title={TASK_ITEM.title}
200
201
  isComplete
201
202
  >
202
- {taskSummaryContent}
203
+ {TASK_SUMMARY_CONTENT}
203
204
  </TaskList.Item>
204
205
  );
205
206
 
@@ -209,31 +210,31 @@ test('completed task has green tag', () => {
209
210
  });
210
211
 
211
212
  test('specific tag colour', () => {
212
- const tagColour = 'red';
213
+ const TAG_COLOUR = 'red';
213
214
 
214
215
  render(
215
216
  <TaskList.Item
216
- id={taskItem.id}
217
- statusText={taskItem.statusText}
218
- title={taskItem.title}
219
- tagColour={tagColour}
217
+ id={TASK_ITEM.id}
218
+ statusText={TASK_ITEM.statusText}
219
+ title={TASK_ITEM.title}
220
+ tagColour={TAG_COLOUR}
220
221
  >
221
- {taskSummaryContent}
222
+ {TASK_SUMMARY_CONTENT}
222
223
  </TaskList.Item>
223
224
  );
224
225
 
225
226
  const tag = document.querySelector('.ds_tag');
226
227
 
227
- expect(tag).toHaveClass(`ds_tag--${tagColour}`);
228
+ expect(tag).toHaveClass(`ds_tag--${TAG_COLOUR}`);
228
229
  });
229
230
 
230
231
  test('no status tag when no status text provided', () => {
231
232
  render(
232
233
  <TaskList.Item
233
- id={taskItem.id}
234
- title={taskItem.title}
234
+ id={TASK_ITEM.id}
235
+ title={TASK_ITEM.title}
235
236
  >
236
- {taskSummaryContent}
237
+ {TASK_SUMMARY_CONTENT}
237
238
  </TaskList.Item>
238
239
  );
239
240
 
@@ -243,28 +244,28 @@ test('no status tag when no status text provided', () => {
243
244
  });
244
245
 
245
246
  test('task group renders correctly', () => {
246
- const taskGroupHeadingText = 'Provide your health details';
247
+ const TASK_GROUP_HEADING_TEXT = 'Provide your health details';
247
248
 
248
249
  render(
249
- <TaskList.Group title={taskGroupHeadingText}>
250
+ <TaskList.Group title={TASK_GROUP_HEADING_TEXT}>
250
251
  <TaskList.Item
251
- id={tasks[0].id}
252
- statusText={tasks[0].statusText}
253
- title={tasks[0].title}
252
+ id={TASKS[0].id}
253
+ statusText={TASKS[0].statusText}
254
+ title={TASKS[0].title}
254
255
  >
255
256
  Tell us about your conditions, symptoms and any sensory issues you have.
256
257
  </TaskList.Item>
257
258
  <TaskList.Item
258
- id={tasks[1].id}
259
- statusText={tasks[1].statusText}
260
- title={tasks[1].title}
259
+ id={TASKS[1].id}
260
+ statusText={TASKS[1].statusText}
261
+ title={TASKS[1].title}
261
262
  >
262
263
  Tell us about any medication you need.
263
264
  </TaskList.Item>
264
265
  <TaskList.Item
265
- id={tasks[2].id}
266
- statusText={tasks[2].statusText}
267
- title={tasks[2].title}
266
+ id={TASKS[2].id}
267
+ statusText={TASKS[2].statusText}
268
+ title={TASKS[2].title}
268
269
  >
269
270
  Share any supporting documents and provide details of people we can talk to about you.
270
271
  </TaskList.Item>
@@ -279,35 +280,35 @@ test('task group renders correctly', () => {
279
280
  expect(taskGroup?.tagName).toEqual('LI');
280
281
 
281
282
  expect(taskGroupHeading?.tagName).toEqual('H2');
282
- expect(taskGroupHeading?.textContent).toEqual(taskGroupHeadingText);
283
+ expect(taskGroupHeading?.textContent).toEqual(TASK_GROUP_HEADING_TEXT);
283
284
 
284
285
  // a bit hacky, but list should be last child
285
286
  expect(taskGroup?.children[taskGroup.children.length - 1]).toEqual(innerTaskList);
286
287
  });
287
288
 
288
289
  test('task group with intro text', () => {
289
- const taskGroupIntroText = 'This information will be used to check what additional benefits you may be able to apply for.';
290
+ const TASK_GROUP_INTRO_TEXT = 'This information will be used to check what additional benefits you may be able to apply for.';
290
291
 
291
292
  render(
292
- <TaskList.Group title="Provide your health details" intro={taskGroupIntroText}>
293
+ <TaskList.Group title="Provide your health details" intro={TASK_GROUP_INTRO_TEXT}>
293
294
  <TaskList.Item
294
- id={tasks[0].id}
295
- statusText={tasks[0].statusText}
296
- title={tasks[0].title}
295
+ id={TASKS[0].id}
296
+ statusText={TASKS[0].statusText}
297
+ title={TASKS[0].title}
297
298
  >
298
299
  Tell us about your conditions, symptoms and any sensory issues you have.
299
300
  </TaskList.Item>
300
301
  <TaskList.Item
301
- id={tasks[1].id}
302
- statusText={tasks[1].statusText}
303
- title={tasks[1].title}
302
+ id={TASKS[1].id}
303
+ statusText={TASKS[1].statusText}
304
+ title={TASKS[1].title}
304
305
  >
305
306
  Tell us about any medication you need.
306
307
  </TaskList.Item>
307
308
  <TaskList.Item
308
- id={tasks[2].id}
309
- statusText={tasks[2].statusText}
310
- title={tasks[2].title}
309
+ id={TASKS[2].id}
310
+ statusText={TASKS[2].statusText}
311
+ title={TASKS[2].title}
311
312
  >
312
313
  Share any supporting documents and provide details of people we can talk to about you.
313
314
  </TaskList.Item>
@@ -318,7 +319,7 @@ test('task group with intro text', () => {
318
319
  const taskGroupHeading = taskGroup?.querySelector('.ds_task-list-heading');
319
320
  const taskGroupIntro = taskGroup?.querySelector('.ds_task-list-intro');
320
321
 
321
- expect(taskGroupIntro?.textContent).toEqual(taskGroupIntroText);
322
+ expect(taskGroupIntro?.textContent).toEqual(TASK_GROUP_INTRO_TEXT);
322
323
  expect(taskGroupIntro?.previousSibling).toEqual(taskGroupHeading);
323
324
  });
324
325
 
@@ -327,25 +328,25 @@ test('task list counts completed items from all groups for its status text and t
327
328
  <TaskList>
328
329
  <TaskList.Group title="Provide your health details">
329
330
  <TaskList.Item
330
- id={tasks[0].id}
331
- statusText={tasks[0].statusText}
332
- title={tasks[0].title}
331
+ id={TASKS[0].id}
332
+ statusText={TASKS[0].statusText}
333
+ title={TASKS[0].title}
333
334
  isComplete
334
335
  >
335
336
  Tell us about your conditions, symptoms and any sensory issues you have.
336
337
  </TaskList.Item>
337
338
  <TaskList.Item
338
- id={tasks[1].id}
339
- statusText={tasks[1].statusText}
340
- title={tasks[1].title}
339
+ id={TASKS[1].id}
340
+ statusText={TASKS[1].statusText}
341
+ title={TASKS[1].title}
341
342
  isComplete
342
343
  >
343
344
  Tell us about any medication you need.
344
345
  </TaskList.Item>
345
346
  <TaskList.Item
346
- id={tasks[2].id}
347
- statusText={tasks[2].statusText}
348
- title={tasks[2].title}
347
+ id={TASKS[2].id}
348
+ statusText={TASKS[2].statusText}
349
+ title={TASKS[2].title}
349
350
  isComplete
350
351
  >
351
352
  Share any supporting documents and provide details of people we can talk to about you.
@@ -353,23 +354,23 @@ test('task list counts completed items from all groups for its status text and t
353
354
  </TaskList.Group>
354
355
  <TaskList.Group title="Provide your health details">
355
356
  <TaskList.Item
356
- id={tasks[0].id + '2'}
357
- statusText={tasks[0].statusText}
358
- title={tasks[0].title}
357
+ id={TASKS[0].id + '2'}
358
+ statusText={TASKS[0].statusText}
359
+ title={TASKS[0].title}
359
360
  >
360
361
  Tell us about your conditions, symptoms and any sensory issues you have.
361
362
  </TaskList.Item>
362
363
  <TaskList.Item
363
- id={tasks[1].id + '2'}
364
- statusText={tasks[1].statusText}
365
- title={tasks[1].title}
364
+ id={TASKS[1].id + '2'}
365
+ statusText={TASKS[1].statusText}
366
+ title={TASKS[1].title}
366
367
  >
367
368
  Tell us about any medication you need.
368
369
  </TaskList.Item>
369
370
  <TaskList.Item
370
- id={tasks[2].id + '2'}
371
- statusText={tasks[2].statusText}
372
- title={tasks[2].title}
371
+ id={TASKS[2].id + '2'}
372
+ statusText={TASKS[2].statusText}
373
+ title={TASKS[2].title}
373
374
  isComplete
374
375
  >
375
376
  Share any supporting documents and provide details of people we can talk to about you.
@@ -383,13 +384,13 @@ test('task list counts completed items from all groups for its status text and t
383
384
  const taskListStatusLink = within(taskListStatus).getByRole('link');
384
385
 
385
386
  expect(taskListStatus1.textContent).toEqual('You have completed 4 of 6 sections.');
386
- expect(taskListStatusLink).toHaveAttribute('href', `#${tasks[0].id + '2'}`);
387
+ expect(taskListStatusLink).toHaveAttribute('href', `#${TASKS[0].id + '2'}`);
387
388
  });
388
389
 
389
390
  test('passing additional props to task list', () => {
390
391
  render(
391
392
  <TaskList
392
- title={taskListHeadingText}
393
+ title={TASK_LIST_HEADING_TEXT}
393
394
  data-test="foo"
394
395
  />
395
396
  );
@@ -422,7 +423,7 @@ test('passing additional props to task', () => {
422
423
  test('passing additional CSS classes to task list', () => {
423
424
  render(
424
425
  <TaskList
425
- title={taskListHeadingText}
426
+ title={TASK_LIST_HEADING_TEXT}
426
427
  className="foo"
427
428
  />
428
429
  );
@@ -1,8 +1,8 @@
1
1
  import { Children } from 'react';
2
- import ConditionalWrapper from '../../common/conditional-wrapper';
3
- import HintText from '../../common/hint-text';
4
- import ScreenReaderText from '../../common/screen-reader-text';
5
- import Tag from '../tag/tag';
2
+ import ConditionalWrapper from '../../common/ConditionalWrapper';
3
+ import HintText from '../../common/HintText';
4
+ import ScreenReaderText from '../../common/ScreenReaderText';
5
+ import Tag from '../Tag/Tag';
6
6
 
7
7
  const TaskItem: React.FC<SGDS.Component.TaskList.Item> = ({
8
8
  children,