@eeacms/volto-eea-design-system 0.9.5 → 1.0.0-alpha.2

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 (322) hide show
  1. package/.coverage.babel.config.js +1 -5
  2. package/.i18n.babel.config.js +1 -0
  3. package/.project.eslintrc.js +4 -5
  4. package/CHANGELOG.md +38 -9
  5. package/README.md +1 -105
  6. package/RELEASE.md +74 -0
  7. package/babel.config.js +17 -0
  8. package/cypress.config.js +26 -0
  9. package/jest-addon.config.js +4 -4
  10. package/package.json +15 -14
  11. package/src/ui/Accordion/Accordion.stories.js +167 -0
  12. package/src/ui/Comment/Comment.stories.js +117 -0
  13. package/src/ui/Confirm/Confirm.stories.js +97 -0
  14. package/src/ui/Container/Container.stories.js +62 -0
  15. package/src/ui/ContentBox/ContentBox.stories.js +66 -0
  16. package/src/ui/Footer/Footer.stories.js +100 -0
  17. package/src/ui/Form/Checkbox.stories.js +211 -0
  18. package/src/ui/Form/Dropdown.stories.js +183 -0
  19. package/src/ui/Form/FileUpload.stories.js +46 -0
  20. package/src/ui/Form/Input.stories.js +219 -0
  21. package/src/ui/Form/Radio.stories.js +256 -0
  22. package/src/ui/Form/Textarea.stories.js +126 -0
  23. package/src/ui/Form/Toggle.stories.js +68 -0
  24. package/src/ui/Grid/ComponentGrid.stories.js +41 -0
  25. package/src/ui/Header/Header.stories.js +1526 -0
  26. package/src/ui/Heading/Heading.stories.js +62 -0
  27. package/src/ui/Item/Item.stories.js +242 -0
  28. package/src/ui/Item/ItemGroupWithIcons.stories.js +195 -0
  29. package/src/ui/Label/Label.stories.js +129 -0
  30. package/src/ui/List/DefaultList.stories.js +33 -0
  31. package/src/ui/List/DescriptionList.stories.js +77 -0
  32. package/src/ui/List/OrderedList.stories.js +140 -0
  33. package/src/ui/List/UnorderedList.stories.js +73 -0
  34. package/src/ui/Logo/Logo.stories.js +31 -0
  35. package/src/ui/Media/Image.stories.js +237 -0
  36. package/src/ui/Message/Message.stories.js +171 -0
  37. package/src/ui/Modal/Modal.stories.js +136 -0
  38. package/src/ui/Pagination/Pagination.stories.js +97 -0
  39. package/src/ui/Progress/Progress.stories.js +195 -0
  40. package/src/ui/Statistic/Statistic.stories.js +464 -0
  41. package/src/ui/Tab/Tab.stories.js +202 -0
  42. package/src/ui/Table/Table.stories.js +395 -0
  43. package/templates/eea.hbs +33 -1
  44. package/theme/themes/eea/assets/logo/climate-health.svg +42 -49
  45. package/theme/themes/eea/extras/footer.less +22 -3
  46. package/theme/themes/eea/extras/footer.variables +7 -2
  47. package/theme/themes/eea/globals/utilities.less +3 -3
  48. package/website/.eslintrc +59 -0
  49. package/website/README.md +33 -0
  50. package/website/babel.config.js +3 -0
  51. package/website/docs/0-intro.md +21 -0
  52. package/website/docs/2-whatsnew.md +2054 -0
  53. package/website/docs/dataguide/0-intro.md +15 -0
  54. package/website/docs/dataguide/_category_.yml +10 -0
  55. package/website/docs/pubguide/0-writing.md +12 -0
  56. package/website/docs/pubguide/1-design.md +16 -0
  57. package/website/docs/pubguide/_category_.yml +10 -0
  58. package/website/docs/webcontent/0-intro.md +10 -0
  59. package/website/docs/webcontent/_category_.yml +10 -0
  60. package/website/docs/webdev/3-Guidelines/0-intro.md +17 -0
  61. package/website/docs/webdev/3-Guidelines/1-typography.mdx +270 -0
  62. package/website/docs/webdev/3-Guidelines/2-colours.md +915 -0
  63. package/website/docs/webdev/3-Guidelines/3-images.md +81 -0
  64. package/website/docs/webdev/3-Guidelines/4-iconography.mdx +16298 -0
  65. package/website/docs/webdev/3-Guidelines/5-spacing.md +116 -0
  66. package/website/docs/webdev/3-Guidelines/_category_.yml +8 -0
  67. package/website/docs/webdev/4-Templates/1-Grid.mdx +12 -0
  68. package/website/docs/webdev/4-Templates/2-SiteHeader.mdx +12 -0
  69. package/website/docs/webdev/4-Templates/3-SiteFooter.mdx +12 -0
  70. package/website/docs/webdev/4-Templates/4-PageHeader.mdx +12 -0
  71. package/website/docs/webdev/4-Templates/_category_.yml +8 -0
  72. package/website/docs/webdev/5-Components/0-Accordion.mdx +12 -0
  73. package/website/docs/webdev/5-Components/1-Callout.mdx +11 -0
  74. package/website/docs/webdev/5-Components/10-Item.mdx +12 -0
  75. package/website/docs/webdev/5-Components/11-Labeled-icons.mdx +11 -0
  76. package/website/docs/webdev/5-Components/12-Labels.mdx +13 -0
  77. package/website/docs/webdev/5-Components/13-Lists.mdx +13 -0
  78. package/website/docs/webdev/5-Components/14-Logo.mdx +12 -0
  79. package/website/docs/webdev/5-Components/15-Image.mdx +12 -0
  80. package/website/docs/webdev/5-Components/16-Loader.mdx +11 -0
  81. package/website/docs/webdev/5-Components/17-Messages.mdx +14 -0
  82. package/website/docs/webdev/5-Components/18-Modal.mdx +14 -0
  83. package/website/docs/webdev/5-Components/19-Pagination.mdx +14 -0
  84. package/website/docs/webdev/5-Components/2-Breadcrumb.mdx +14 -0
  85. package/website/docs/webdev/5-Components/20-Popup.mdx +14 -0
  86. package/website/docs/webdev/5-Components/21-Progress.mdx +14 -0
  87. package/website/docs/webdev/5-Components/21-Quote/1-Quote.mdx +14 -0
  88. package/website/docs/webdev/5-Components/21-Quote/2-Testimonial.mdx +14 -0
  89. package/website/docs/webdev/5-Components/21-Quote/_category_.yml +8 -0
  90. package/website/docs/webdev/5-Components/22-Segment.mdx +14 -0
  91. package/website/docs/webdev/5-Components/23-Statistic.mdx +14 -0
  92. package/website/docs/webdev/5-Components/24-Search/0-Filters.mdx +12 -0
  93. package/website/docs/webdev/5-Components/24-Search/1-Suggestions.mdx +11 -0
  94. package/website/docs/webdev/5-Components/24-Search/2-Searchbox.mdx +11 -0
  95. package/website/docs/webdev/5-Components/24-Search/_category_.yml +8 -0
  96. package/website/docs/webdev/5-Components/24-Tab.mdx +14 -0
  97. package/website/docs/webdev/5-Components/25-Table.mdx +14 -0
  98. package/website/docs/webdev/5-Components/25-Visuals/0-Dashboard.mdx +11 -0
  99. package/website/docs/webdev/5-Components/25-Visuals/1-Charts.mdx +11 -0
  100. package/website/docs/webdev/5-Components/25-Visuals/2-Maps.mdx +11 -0
  101. package/website/docs/webdev/5-Components/25-Visuals/_category_.yml +8 -0
  102. package/website/docs/webdev/5-Components/26-Content.mdx +13 -0
  103. package/website/docs/webdev/5-Components/27-Tags.mdx +13 -0
  104. package/website/docs/webdev/5-Components/28-Timeline.mdx +13 -0
  105. package/website/docs/webdev/5-Components/3-Buttons.mdx +13 -0
  106. package/website/docs/webdev/5-Components/3-Callout.mdx +11 -0
  107. package/website/docs/webdev/5-Components/4-Cards.mdx +13 -0
  108. package/website/docs/webdev/5-Components/5-Comment.mdx +12 -0
  109. package/website/docs/webdev/5-Components/6-Confirm.mdx +12 -0
  110. package/website/docs/webdev/5-Components/7-Divider.mdx +12 -0
  111. package/website/docs/webdev/5-Components/7-Forms/0-Checkbox.mdx +11 -0
  112. package/website/docs/webdev/5-Components/7-Forms/1-Dropdown.mdx +12 -0
  113. package/website/docs/webdev/5-Components/7-Forms/2-TextInput.mdx +11 -0
  114. package/website/docs/webdev/5-Components/7-Forms/3-Radio.mdx +12 -0
  115. package/website/docs/webdev/5-Components/7-Forms/4-TextArea.mdx +12 -0
  116. package/website/docs/webdev/5-Components/7-Forms/_category_.yml +8 -0
  117. package/website/docs/webdev/5-Components/8-Headings.mdx +12 -0
  118. package/website/docs/webdev/5-Components/9-Inpage-Navigation.mdx +12 -0
  119. package/website/docs/webdev/5-Components/_category_.yml +10 -0
  120. package/website/docs/webdev/7-Utilities/_category_.yml +8 -0
  121. package/website/docs/webdev/7-Utilities/intro.md +1 -0
  122. package/website/docs/webdev/8-Resources/_category_.yml +8 -0
  123. package/website/docs/webdev/8-Resources/developer-guidelines.md +149 -0
  124. package/website/docs/webdev/8-Resources/theming-guidelines.md +285 -0
  125. package/website/docs/webdev/_category_.yml +10 -0
  126. package/website/docs/webdev/md_components/accordion_components/api_markdown.md +25 -0
  127. package/website/docs/webdev/md_components/accordion_components/showcase_markdown.md +3 -0
  128. package/website/docs/webdev/md_components/accordion_components/usage_markdown.md +27 -0
  129. package/website/docs/webdev/md_components/breadcrumb_components/api_markdown.md +42 -0
  130. package/website/docs/webdev/md_components/breadcrumb_components/showcase_markdown.md +6 -0
  131. package/website/docs/webdev/md_components/breadcrumb_components/usage_markdown.md +18 -0
  132. package/website/docs/webdev/md_components/button_components/showcase_markdown.md +25 -0
  133. package/website/docs/webdev/md_components/button_components/usage_markdown.md +53 -0
  134. package/website/docs/webdev/md_components/callout_components/showcase_markdown.md +3 -0
  135. package/website/docs/webdev/md_components/callout_components/usage_markdown.md +20 -0
  136. package/website/docs/webdev/md_components/card_components/showcase_markdown.md +3 -0
  137. package/website/docs/webdev/md_components/card_components/usage_markdown.md +36 -0
  138. package/website/docs/webdev/md_components/charts_components/usage_markdown.md +18 -0
  139. package/website/docs/webdev/md_components/checkbox_components/showcase_markdown.md +17 -0
  140. package/website/docs/webdev/md_components/checkbox_components/usage_markdown.md +31 -0
  141. package/website/docs/webdev/md_components/comment_components/api_markdown.md +25 -0
  142. package/website/docs/webdev/md_components/comment_components/showcase_markdown.md +3 -0
  143. package/website/docs/webdev/md_components/comment_components/usage_markdown.md +1 -0
  144. package/website/docs/webdev/md_components/component_grid_components/api_markdown.md +25 -0
  145. package/website/docs/webdev/md_components/component_grid_components/showcase_markdown.md +9 -0
  146. package/website/docs/webdev/md_components/component_grid_components/usage_markdown.md +87 -0
  147. package/website/docs/webdev/md_components/confirm_components/api_markdown.md +25 -0
  148. package/website/docs/webdev/md_components/confirm_components/showcase_markdown.md +3 -0
  149. package/website/docs/webdev/md_components/confirm_components/usage_markdown.md +9 -0
  150. package/website/docs/webdev/md_components/content_components/usage_markdown.md +21 -0
  151. package/website/docs/webdev/md_components/dashboard_components/usage_markdown.md +20 -0
  152. package/website/docs/webdev/md_components/divider_components/showcase_markdown.md +5 -0
  153. package/website/docs/webdev/md_components/divider_components/usage_markdown.md +39 -0
  154. package/website/docs/webdev/md_components/dropdown_components/api_markdown.md +34 -0
  155. package/website/docs/webdev/md_components/dropdown_components/showcase_markdown.md +5 -0
  156. package/website/docs/webdev/md_components/dropdown_components/usage_markdown.md +24 -0
  157. package/website/docs/webdev/md_components/filters_components/usage_markdown.md +39 -0
  158. package/website/docs/webdev/md_components/grid_components/api_markdown.md +25 -0
  159. package/website/docs/webdev/md_components/grid_components/showcase_markdown.md +9 -0
  160. package/website/docs/webdev/md_components/grid_components/usage_markdown.md +89 -0
  161. package/website/docs/webdev/md_components/heading_components/api_markdown.md +25 -0
  162. package/website/docs/webdev/md_components/heading_components/showcase_markdown.md +3 -0
  163. package/website/docs/webdev/md_components/heading_components/usage_markdown.md +9 -0
  164. package/website/docs/webdev/md_components/iframe_component.mdx +14 -0
  165. package/website/docs/webdev/md_components/inpage_navigation_components/api_markdown.md +46 -0
  166. package/website/docs/webdev/md_components/inpage_navigation_components/showcase_markdown.md +3 -0
  167. package/website/docs/webdev/md_components/inpage_navigation_components/usage_markdown.md +18 -0
  168. package/website/docs/webdev/md_components/item_components/api_markdown.md +25 -0
  169. package/website/docs/webdev/md_components/item_components/showcase_markdown.md +9 -0
  170. package/website/docs/webdev/md_components/item_components/usage_markdown.md +1 -0
  171. package/website/docs/webdev/md_components/label_components/showcase_markdown.md +17 -0
  172. package/website/docs/webdev/md_components/label_components/usage_markdown.md +18 -0
  173. package/website/docs/webdev/md_components/labeled-icons_components/showcase_markdown.md +14 -0
  174. package/website/docs/webdev/md_components/labeled-icons_components/usage_markdown.md +13 -0
  175. package/website/docs/webdev/md_components/list_components/showcase_markdown.md +13 -0
  176. package/website/docs/webdev/md_components/list_components/usage_markdown.md +75 -0
  177. package/website/docs/webdev/md_components/loader_components/showcase_markdown.md +7 -0
  178. package/website/docs/webdev/md_components/loader_components/usage_markdown.md +13 -0
  179. package/website/docs/webdev/md_components/logo_components/api_markdown.md +25 -0
  180. package/website/docs/webdev/md_components/logo_components/showcase_markdown.md +3 -0
  181. package/website/docs/webdev/md_components/logo_components/usage_markdown.md +4 -0
  182. package/website/docs/webdev/md_components/maps_components/usage_markdown.md +64 -0
  183. package/website/docs/webdev/md_components/media_container_image_components/api_markdown.md +25 -0
  184. package/website/docs/webdev/md_components/media_container_image_components/showcase_markdown.md +7 -0
  185. package/website/docs/webdev/md_components/media_container_image_components/usage_markdown.md +10 -0
  186. package/website/docs/webdev/md_components/message_components/api_markdown.md +30 -0
  187. package/website/docs/webdev/md_components/message_components/showcase_markdown.md +17 -0
  188. package/website/docs/webdev/md_components/message_components/usage_markdown.md +22 -0
  189. package/website/docs/webdev/md_components/modal_components/api_markdown.md +36 -0
  190. package/website/docs/webdev/md_components/modal_components/showcase_markdown.md +3 -0
  191. package/website/docs/webdev/md_components/modal_components/usage_markdown.md +11 -0
  192. package/website/docs/webdev/md_components/page_header_components/api_markdown.md +25 -0
  193. package/website/docs/webdev/md_components/page_header_components/showcase_markdown.md +5 -0
  194. package/website/docs/webdev/md_components/page_header_components/usage_markdown.md +30 -0
  195. package/website/docs/webdev/md_components/pagination_components/api_markdown.md +36 -0
  196. package/website/docs/webdev/md_components/pagination_components/showcase_markdown.md +3 -0
  197. package/website/docs/webdev/md_components/pagination_components/usage_markdown.md +17 -0
  198. package/website/docs/webdev/md_components/popup_components/api_markdown.md +36 -0
  199. package/website/docs/webdev/md_components/popup_components/showcase_markdown.md +9 -0
  200. package/website/docs/webdev/md_components/popup_components/usage_markdown.md +15 -0
  201. package/website/docs/webdev/md_components/progress_components/api_markdown.md +36 -0
  202. package/website/docs/webdev/md_components/progress_components/showcase_markdown.md +13 -0
  203. package/website/docs/webdev/md_components/progress_components/usage_markdown.md +9 -0
  204. package/website/docs/webdev/md_components/quote_components/api_markdown.md +27 -0
  205. package/website/docs/webdev/md_components/quote_components/showcase_markdown.md +13 -0
  206. package/website/docs/webdev/md_components/quote_components/usage_markdown.md +8 -0
  207. package/website/docs/webdev/md_components/radio_components/api_markdown.md +34 -0
  208. package/website/docs/webdev/md_components/radio_components/showcase_markdown.md +15 -0
  209. package/website/docs/webdev/md_components/radio_components/usage_markdown.md +26 -0
  210. package/website/docs/webdev/md_components/searchbox_components/usage_markdown.md +15 -0
  211. package/website/docs/webdev/md_components/segment_components/api_markdown.md +36 -0
  212. package/website/docs/webdev/md_components/segment_components/showcase_markdown.md +3 -0
  213. package/website/docs/webdev/md_components/segment_components/usage_markdown.md +1 -0
  214. package/website/docs/webdev/md_components/site_footer_components/api_markdown.md +25 -0
  215. package/website/docs/webdev/md_components/site_footer_components/showcase_markdown.md +3 -0
  216. package/website/docs/webdev/md_components/site_footer_components/usage_markdown.md +26 -0
  217. package/website/docs/webdev/md_components/site_header_components/api_markdown.md +25 -0
  218. package/website/docs/webdev/md_components/site_header_components/showcase_markdown.md +3 -0
  219. package/website/docs/webdev/md_components/site_header_components/usage_markdown.md +51 -0
  220. package/website/docs/webdev/md_components/static/8px_spacing.png +0 -0
  221. package/website/docs/webdev/md_components/static/EEA_logo.png +0 -0
  222. package/website/docs/webdev/md_components/static/PXuse.png +0 -0
  223. package/website/docs/webdev/md_components/static/colors1.png +0 -0
  224. package/website/docs/webdev/md_components/static/columns1.png +0 -0
  225. package/website/docs/webdev/md_components/static/columns2.png +0 -0
  226. package/website/docs/webdev/md_components/static/columns3.png +0 -0
  227. package/website/docs/webdev/md_components/static/componenetPX.png +0 -0
  228. package/website/docs/webdev/md_components/static/desktop-mid-grid.png +0 -0
  229. package/website/docs/webdev/md_components/static/desktop_grid.png +0 -0
  230. package/website/docs/webdev/md_components/static/font-size1.png +0 -0
  231. package/website/docs/webdev/md_components/static/font-size2.png +0 -0
  232. package/website/docs/webdev/md_components/static/grid1.png +0 -0
  233. package/website/docs/webdev/md_components/static/grid2.png +0 -0
  234. package/website/docs/webdev/md_components/static/grid3.png +0 -0
  235. package/website/docs/webdev/md_components/static/grid4.png +0 -0
  236. package/website/docs/webdev/md_components/static/height150.png +0 -0
  237. package/website/docs/webdev/md_components/static/layoutPX.png +0 -0
  238. package/website/docs/webdev/md_components/static/line-height.png +0 -0
  239. package/website/docs/webdev/md_components/static/mobile-mid-grid.png +0 -0
  240. package/website/docs/webdev/md_components/static/mobile_grid.png +0 -0
  241. package/website/docs/webdev/md_components/static/spacing1.png +0 -0
  242. package/website/docs/webdev/md_components/static/spacing2.png +0 -0
  243. package/website/docs/webdev/md_components/static/tablet-mid-grid.png +0 -0
  244. package/website/docs/webdev/md_components/static/tablet_grid.png +0 -0
  245. package/website/docs/webdev/md_components/statistic_components/api_markdown.md +36 -0
  246. package/website/docs/webdev/md_components/statistic_components/showcase_markdown.md +8 -0
  247. package/website/docs/webdev/md_components/statistic_components/usage_markdown.md +1 -0
  248. package/website/docs/webdev/md_components/suggestions_components/usage_markdown.md +13 -0
  249. package/website/docs/webdev/md_components/tab_component.mdx +21 -0
  250. package/website/docs/webdev/md_components/tab_components/api_markdown.md +29 -0
  251. package/website/docs/webdev/md_components/tab_components/showcase_markdown.md +9 -0
  252. package/website/docs/webdev/md_components/tab_components/usage_markdown.md +26 -0
  253. package/website/docs/webdev/md_components/table_components/api_markdown.md +27 -0
  254. package/website/docs/webdev/md_components/table_components/showcase_markdown.md +3 -0
  255. package/website/docs/webdev/md_components/table_components/usage_markdown.md +22 -0
  256. package/website/docs/webdev/md_components/tags_components/showcase_markdown.md +6 -0
  257. package/website/docs/webdev/md_components/tags_components/usage_markdown.md +11 -0
  258. package/website/docs/webdev/md_components/testimonial_components/api_markdown.md +27 -0
  259. package/website/docs/webdev/md_components/testimonial_components/showcase_markdown.md +7 -0
  260. package/website/docs/webdev/md_components/testimonial_components/usage_markdown.md +7 -0
  261. package/website/docs/webdev/md_components/text_input_components/showcase_markdown.md +14 -0
  262. package/website/docs/webdev/md_components/text_input_components/usage_markdown.md +32 -0
  263. package/website/docs/webdev/md_components/textarea_components/api_markdown.md +34 -0
  264. package/website/docs/webdev/md_components/textarea_components/showcase_markdown.md +5 -0
  265. package/website/docs/webdev/md_components/textarea_components/usage_markdown.md +16 -0
  266. package/website/docs/webdev/md_components/timeline_components/api_markdown.md +27 -0
  267. package/website/docs/webdev/md_components/timeline_components/showcase_markdown.md +17 -0
  268. package/website/docs/webdev/md_components/timeline_components/usage_markdown.md +2 -0
  269. package/website/docusaurus.config.js +127 -0
  270. package/website/package.json +52 -0
  271. package/website/sidebars.js +24 -0
  272. package/website/src/components/HomepageFeatures.js +71 -0
  273. package/website/src/components/HomepageFeatures.module.css +13 -0
  274. package/website/src/css/custom.css +226 -0
  275. package/website/src/pages/index.js +43 -0
  276. package/website/src/pages/index.module.css +25 -0
  277. package/website/static/.nojekyll +0 -0
  278. package/website/static/fonts/roboto/LICENSE.txt +202 -0
  279. package/website/static/fonts/roboto/Roboto-Black.ttf +0 -0
  280. package/website/static/fonts/roboto/Roboto-BlackItalic.ttf +0 -0
  281. package/website/static/fonts/roboto/Roboto-Bold.ttf +0 -0
  282. package/website/static/fonts/roboto/Roboto-BoldItalic.ttf +0 -0
  283. package/website/static/fonts/roboto/Roboto-Italic.ttf +0 -0
  284. package/website/static/fonts/roboto/Roboto-Light.ttf +0 -0
  285. package/website/static/fonts/roboto/Roboto-LightItalic.ttf +0 -0
  286. package/website/static/fonts/roboto/Roboto-Medium.ttf +0 -0
  287. package/website/static/fonts/roboto/Roboto-MediumItalic.ttf +0 -0
  288. package/website/static/fonts/roboto/Roboto-Regular.ttf +0 -0
  289. package/website/static/fonts/roboto/Roboto-Thin.ttf +0 -0
  290. package/website/static/fonts/roboto/Roboto-ThinItalic.ttf +0 -0
  291. package/website/static/img/eea_icon.png +0 -0
  292. package/website/static/img/favicon.ico +0 -0
  293. package/website/static/img/logo.svg +1 -0
  294. package/website/static/img/undraw_add_information_j2wg.svg +1 -0
  295. package/website/static/img/undraw_add_post_re_174w.svg +1 -0
  296. package/website/static/img/undraw_all_the_data_re_hh4w.svg +1 -0
  297. package/website/static/img/undraw_book_lover_re_rwjy.svg +1 -0
  298. package/website/static/img/undraw_books_re_8gea.svg +1 -0
  299. package/website/static/img/undraw_content_creator_re_pt5b.svg +1 -0
  300. package/website/static/img/undraw_data_re_80ws.svg +1 -0
  301. package/website/static/img/undraw_data_trends_re_2cdy.svg +1 -0
  302. package/website/static/img/undraw_design_data_re_0s26.svg +1 -0
  303. package/website/static/img/undraw_designer_girl_re_h54c.svg +1 -0
  304. package/website/static/img/undraw_designer_life_re_6ywf.svg +1 -0
  305. package/website/static/img/undraw_designer_re_5v95.svg +1 -0
  306. package/website/static/img/undraw_dev_focus_re_6iwt.svg +1 -0
  307. package/website/static/img/undraw_developer_activity_re_39tg.svg +1 -0
  308. package/website/static/img/undraw_docusaurus_mountain.svg +170 -0
  309. package/website/static/img/undraw_docusaurus_react.svg +169 -0
  310. package/website/static/img/undraw_docusaurus_tree.svg +1 -0
  311. package/website/static/img/undraw_education_f8ru.svg +1 -0
  312. package/website/static/img/undraw_my_documents_re_13dc.svg +1 -0
  313. package/website/static/img/undraw_online_articles_re_yrkj.svg +1 -0
  314. package/website/static/img/undraw_personal_notebook_re_d7dc.svg +1 -0
  315. package/website/static/img/undraw_programmer_re_owql.svg +1 -0
  316. package/website/static/img/undraw_programming_re_kg9v.svg +1 -0
  317. package/website/static/img/undraw_proud_coder_re_exuy.svg +1 -0
  318. package/website/static/img/undraw_static_website_re_x70h.svg +1 -0
  319. package/website/static/img/undraw_typewriter_re_u9i2.svg +1 -0
  320. package/website/static/img/undraw_visual_data_re_mxxo.svg +1 -0
  321. package/website/static/img/undraw_web_development_0l6v.svg +1 -0
  322. package/cypress.json +0 -17
@@ -0,0 +1,64 @@
1
+ ### Static
2
+
3
+ There are five main design principles in map design.
4
+
5
+ - legibility
6
+ - visual contrast
7
+ - figure-ground organization
8
+ - hierarchical organization, and
9
+ - balance
10
+
11
+ Together these principles form a system for seeing and understanding the relative importance of the content in the map and on the page.
12
+
13
+ What are the qualities of a good map?
14
+
15
+ - clear idea of what the map is trying to demonstrate
16
+ - easy to interpret legend or key
17
+ - good use of symbols to demonstrate a clear point
18
+ - good sources/metadata
19
+ - clear features not overcrowded
20
+
21
+ #### Styles
22
+
23
+ - do not use underlined text! This is difficult for low-vision users to read and indicates a possible hyperlink
24
+ - italics should be used as little as possible, for water labels and short labels only
25
+ - bolding of fonts is a good way to call out features, but avoid it for continuous, readable text
26
+ - although ALL CAPS labels stand out, they are harder to read and should be used sparingly
27
+
28
+ #### Map Objects
29
+
30
+ - avoid overlapping points or annotations, when possible. Try to place them offset from a line
31
+ - there should be visible whitespace between symbols; touching symbols blend together for users with low vision
32
+ - there should be a 2x size difference in levels of information
33
+
34
+ #### Colors
35
+
36
+ - **use a limited color palette.** Limited color palette works the best for all UIs, and map UI is not an exception. It’s much easier to create visual harmony with a limited color palette. You should use between 10 to 12 colors for a full-body color palette, depending on the complexity of your map. Choose colors for individuals with visual impairments such as color-blindness (i.e. don’t use red-green color schemes)
37
+ - **try to use the same hue for similar features.** For example, features related to transportation (bus stops, railway stations, etc.) should share the same hue. The same hue will help users to decode visual elements without reading text, and this will help you to create a more cohesive UI.
38
+ - **always consider accessibility.** Many people have limited color vision, so you also need to take this into account when selecting colors to ensure that you have a proper contrast ratio
39
+
40
+ #### Text
41
+
42
+ - choose fonts that have a variety of styles, such as bold, extra bold, italic, bold italic light, etc to differentiate between different kinds of features on your map
43
+ - use one version of fonts for the map body and one for the explainer text outside the map
44
+
45
+ ### Interactive Maps
46
+
47
+ Interactive maps are high risk, high reward. Highly interactive maps can be too difficult for new users, yet they can also allow users to learn and explore at their own pace. It is always important to test designs on multiple people with varying degrees of technical expertise to see how they interact differently with the layout. Interactive map design should reflect what the cartographer is trying to convey (beauty vs. function) and never sacrifice visual hierarchy or great styling for interactivity.
48
+
49
+ Tips for designing effective interactive maps:
50
+
51
+ - simplify the interface
52
+ - panels should be the minimum possible size so they don’t clutter the space
53
+ - don’t innovate to the point where users don’t know what to do
54
+ - use panel opacity and margins to help them blend with your basemap and look cohesive
55
+ - leave space for the maps to be used on mobile devices. This means avoiding permanent panels
56
+
57
+ #### Pop-ups and markers
58
+
59
+ - keep pop-ups concise
60
+ - only one pop-up on the screen at a time (generally)
61
+ - cluster markers for better readability
62
+ - use a legend when you have multiple types of markers
63
+ - remove unnecessary padding and margins from popups
64
+ - use a slight shadow to “lift” pop-ups off the map
@@ -0,0 +1,25 @@
1
+ ## API
2
+
3
+ <AccordionJSDoc />
4
+
5
+ ## Setup
6
+
7
+ There are 2 ways to initialise the component.
8
+
9
+ ### Automatic
10
+
11
+ Add `data-ecl-auto-init="Accordion"` attribute to component's markup:
12
+
13
+ ```html
14
+ <div class="ecl-accordion" data-ecl-accordion data-ecl-auto-init="Accordion">
15
+ ...
16
+ </div>
17
+ ```
18
+
19
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
20
+
21
+ ### Manual
22
+
23
+ Get target element, create an instance and invoke `init()`.
24
+
25
+ Given you have 1 element with an attribute `data-ecl-accordion` on the page:
@@ -0,0 +1,7 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Image
4
+
5
+ <Iframe id='components-media-container-image--default' height="500"> </Iframe>
6
+
7
+
@@ -0,0 +1,10 @@
1
+ Images must have natural snapshots that show unique situations.
2
+
3
+ ### Do’s
4
+ - use stylistic tools such as light, perspective, color, focus and composition to tell stories that are authentic and believable.
5
+ - the content of the photographs should be positive, optimistic, natural, realistic, warm, and welcoming. Framing should be playful and feel spontaneous
6
+ ### Don’ts
7
+ - do not use images that are too dark or do not have enough contrast
8
+ - do not use overlaying gradients
9
+ - images that are too static or that appear too symmetrical should not be used
10
+ - do not Use images that are over exposed or over saturated
@@ -0,0 +1,30 @@
1
+ ## API
2
+
3
+ <MessageJSDoc />
4
+
5
+ ## Setup
6
+
7
+ There are 2 ways to initialise the component.
8
+
9
+ ### Automatic
10
+
11
+ Add `data-ecl-auto-init="Message"` attribute to component's markup:
12
+
13
+ ```html
14
+ <div
15
+ role="alert"
16
+ class="ecl-message ecl-message--info"
17
+ data-ecl-message
18
+ data-ecl-auto-init="Message"
19
+ >
20
+ ...
21
+ </div>
22
+ ```
23
+
24
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
25
+
26
+ ### Manual
27
+
28
+ Get target element, create an instance and invoke `init()`.
29
+
30
+ Given you have 1 element with an attribute `data-ecl-message` on the page:
@@ -0,0 +1,17 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Default
4
+ <Iframe id='components-message--default' height="120"> </Iframe>
5
+
6
+ ## Success
7
+ <Iframe id='components-message--success' height="120"> </Iframe>
8
+
9
+ ## Warning
10
+ <Iframe id='components-message--warning' height="120"> </Iframe>
11
+
12
+ ## Error
13
+ <Iframe id='components-message--error' height="120"> </Iframe>
14
+
15
+ ## Info
16
+ <Iframe id='components-message--info' height="120"> </Iframe>
17
+
@@ -0,0 +1,22 @@
1
+ Messages component contains important information to alert users to take a certain actions.
2
+
3
+ ### Do's
4
+
5
+ - keep the message brief and clear
6
+ - use consistent messages for the same information/success/warning/error throughout your site
7
+
8
+ ### Don'ts
9
+
10
+ - overuse messages - users may ignore them and they can get in the way of a user completing their task
11
+ - write messages that are neutral. For example, instead of _The postal code you entered is invalid,_ the message should say _Please enter a valid postal code_
12
+
13
+ ### When to use
14
+
15
+ - when the information is essential to convey to the users in order to go to the next step
16
+ - success message: the user has performed an action which was successfully completed
17
+ - warning message: the user needs to know about the potential dangers of completing their task (for example: "you are about replace/erase your data")
18
+ - error message: the user tried to perform an action that failed because of a problem (for example: a file could not be uploaded because it wasn't the correct type of file)
19
+
20
+ ### When not to use
21
+
22
+ - don't use to show non critical information
@@ -0,0 +1,36 @@
1
+ ## API
2
+
3
+ <MenuJSDoc />
4
+
5
+ ## Force close
6
+
7
+ For javascript based pages or applications, you can use the css class `ecl-menu--forced-close` to manually close the menu on desktop view (on mobile a close function is already provided).
8
+ Feel free to add/remove this class when needed.
9
+
10
+ Note: for a better display, you may want to remove/add the css class `ecl-menu--transition` when manually changing the close/open status of the menu.
11
+
12
+ ## Setup
13
+
14
+ There are 2 ways to initialise the component.
15
+
16
+ ### Automatic
17
+
18
+ Add `data-ecl-auto-init` attribute to component's markup
19
+
20
+ ```html
21
+ <nav class="ecl-menu" data-ecl-menu data-ecl-auto-init="Menu">...</nav>
22
+ ```
23
+
24
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
25
+
26
+ ### Manual
27
+
28
+ Get target element, create an instance and invoke `init()`.
29
+
30
+ Given you have 1 element with an attribute `data-ecl-menu` on the page:
31
+
32
+ ```js
33
+ var elt = document.querySelector('[data-ecl-menu]');
34
+ var menu = new ECL.menu(elt);
35
+ menu.init();
36
+ ```
@@ -0,0 +1,3 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ <Iframe id='components-modal--default' > </Iframe>
@@ -0,0 +1,11 @@
1
+ Modals appear on top of the main content and require user interaction. This dialog disables the main content until the user explicitly interacts with the modal dialog.
2
+
3
+ ### Do’s
4
+ - use modal dialogs for important warnings, to prevent or correct critical errors
5
+ - use modal dialogs to request the user to enter information critical to continuing the current process
6
+ - modal dialogs can be used to fragment a complex workflow into simpler steps
7
+
8
+ ### Don’ts
9
+ - do not use modal dialogs for nonessential information that is not related to the current user flow
10
+ - avoid modal dialogs that interrupt high-stake processes
11
+ - avoid modal dialogues for complex decision making that require additional sources of information unavailable in the modal
@@ -0,0 +1,25 @@
1
+ ## API
2
+
3
+ <AccordionJSDoc />
4
+
5
+ ## Setup
6
+
7
+ There are 2 ways to initialise the component.
8
+
9
+ ### Automatic
10
+
11
+ Add `data-ecl-auto-init="Accordion"` attribute to component's markup:
12
+
13
+ ```html
14
+ <div class="ecl-accordion" data-ecl-accordion data-ecl-auto-init="Accordion">
15
+ ...
16
+ </div>
17
+ ```
18
+
19
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
20
+
21
+ ### Manual
22
+
23
+ Get target element, create an instance and invoke `init()`.
24
+
25
+ Given you have 1 element with an attribute `data-ecl-accordion` on the page:
@@ -0,0 +1,5 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ <Iframe id='components-page-header--default' height="500" > </Iframe>
4
+
5
+ <Iframe id='components-page-header--default&args=image:false' height="500" > </Iframe>
@@ -0,0 +1,30 @@
1
+ The page header component provides users the context of the page. It is always placed just below the site header.
2
+
3
+ ### Anatomy
4
+
5
+ | **Components** | **Mandatory** | **Optional** |
6
+ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------ |
7
+ | **Page title** | yes | no |
8
+ | **Meta( content type, published date, modified date, reading time )** | no | yes |
9
+ | **Download - Bookmark actions** | no | yes |
10
+ | **Breadcrumb**<br />Breadcrumb component provides information on the page and its relationship to the site's hierarchy and structure.<br />It is optional if your website's navigational structure has less than 3 levels. | no | yes |
11
+
12
+
13
+ ### Do's
14
+
15
+ - ensure the pages contain all the components and elements in the anatomy table above
16
+ - always use a page header when building your internal pages
17
+ - when choosing a background image, make sure it highlights the main object related to the content, and it is meaningful
18
+
19
+ ### Don'ts
20
+
21
+ - don't use more than one page header per page
22
+ - do not use a background image unless there is a communication need, as it might be a distraction
23
+
24
+ ### When to use
25
+
26
+ - to highlight the topic of the page, or to show important information about the page
27
+
28
+ ### When not to use
29
+
30
+ - page header is not used for homepage of the website
@@ -0,0 +1,36 @@
1
+ ## API
2
+
3
+ <MenuJSDoc />
4
+
5
+ ## Force close
6
+
7
+ For javascript based pages or applications, you can use the css class `ecl-menu--forced-close` to manually close the menu on desktop view (on mobile a close function is already provided).
8
+ Feel free to add/remove this class when needed.
9
+
10
+ Note: for a better display, you may want to remove/add the css class `ecl-menu--transition` when manually changing the close/open status of the menu.
11
+
12
+ ## Setup
13
+
14
+ There are 2 ways to initialise the component.
15
+
16
+ ### Automatic
17
+
18
+ Add `data-ecl-auto-init` attribute to component's markup
19
+
20
+ ```html
21
+ <nav class="ecl-menu" data-ecl-menu data-ecl-auto-init="Menu">...</nav>
22
+ ```
23
+
24
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
25
+
26
+ ### Manual
27
+
28
+ Get target element, create an instance and invoke `init()`.
29
+
30
+ Given you have 1 element with an attribute `data-ecl-menu` on the page:
31
+
32
+ ```js
33
+ var elt = document.querySelector('[data-ecl-menu]');
34
+ var menu = new ECL.menu(elt);
35
+ menu.init();
36
+ ```
@@ -0,0 +1,3 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ <Iframe id='components-pagination--default' > </Iframe>
@@ -0,0 +1,17 @@
1
+ Pagination component is the control to navigate through multiple pages.
2
+
3
+ ### Do's
4
+
5
+ - place the pagination below the list of items
6
+
7
+ ### Don'ts
8
+
9
+ - don't replace this component with an "infinite scrolling" feature
10
+
11
+ ### When to use
12
+
13
+ - to show long lists otherwise redundant scrolling in one page
14
+
15
+ ### When not to use
16
+
17
+ - don't use to break unrelated content on different pages
@@ -0,0 +1,36 @@
1
+ ## API
2
+
3
+ <MenuJSDoc />
4
+
5
+ ## Force close
6
+
7
+ For javascript based pages or applications, you can use the css class `ecl-menu--forced-close` to manually close the menu on desktop view (on mobile a close function is already provided).
8
+ Feel free to add/remove this class when needed.
9
+
10
+ Note: for a better display, you may want to remove/add the css class `ecl-menu--transition` when manually changing the close/open status of the menu.
11
+
12
+ ## Setup
13
+
14
+ There are 2 ways to initialise the component.
15
+
16
+ ### Automatic
17
+
18
+ Add `data-ecl-auto-init` attribute to component's markup
19
+
20
+ ```html
21
+ <nav class="ecl-menu" data-ecl-menu data-ecl-auto-init="Menu">...</nav>
22
+ ```
23
+
24
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
25
+
26
+ ### Manual
27
+
28
+ Get target element, create an instance and invoke `init()`.
29
+
30
+ Given you have 1 element with an attribute `data-ecl-menu` on the page:
31
+
32
+ ```js
33
+ var elt = document.querySelector('[data-ecl-menu]');
34
+ var menu = new ECL.menu(elt);
35
+ menu.init();
36
+ ```
@@ -0,0 +1,9 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Button Popup
4
+
5
+ <Iframe id='components-popup--button-popup'height="400" > </Iframe>
6
+
7
+ ## Image Popup
8
+
9
+ <Iframe id='components-popup--image-popup'height="400" > </Iframe>
@@ -0,0 +1,15 @@
1
+ A popup (also known as an overlay) is a window or dialog that appears on top of the page content.
2
+ A popup can be classified according to two dimensions:
3
+ - whether the user can interact with the rest of the page, and it is called 'Modal' when the content on the page is disabled until the user explicitly interacts with the overlay or 'Nonmodal' when users can still interact with the background content (for example, by selecting links or tapping buttons) while the overlay remains visible
4
+ - whether the background is dimmed the popup is called a 'Lightbox'
5
+
6
+
7
+ ### Do’s
8
+ - present the content in the popup when it’s contextually relevant to the user
9
+ - if you must present critical information (e.g., important warnings to prevent or correct errors) in a popup, be sure to show only one at a time
10
+
11
+ ### Don’ts
12
+ - do not show a popup before the main page content loads
13
+ - do not display a popup right after the user logs in
14
+ - you should not ask for feedback before people have done anything meaningful
15
+ - do not show multiple popups one after another
@@ -0,0 +1,36 @@
1
+ ## API
2
+
3
+ <MenuJSDoc />
4
+
5
+ ## Force close
6
+
7
+ For javascript based pages or applications, you can use the css class `ecl-menu--forced-close` to manually close the menu on desktop view (on mobile a close function is already provided).
8
+ Feel free to add/remove this class when needed.
9
+
10
+ Note: for a better display, you may want to remove/add the css class `ecl-menu--transition` when manually changing the close/open status of the menu.
11
+
12
+ ## Setup
13
+
14
+ There are 2 ways to initialise the component.
15
+
16
+ ### Automatic
17
+
18
+ Add `data-ecl-auto-init` attribute to component's markup
19
+
20
+ ```html
21
+ <nav class="ecl-menu" data-ecl-menu data-ecl-auto-init="Menu">...</nav>
22
+ ```
23
+
24
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
25
+
26
+ ### Manual
27
+
28
+ Get target element, create an instance and invoke `init()`.
29
+
30
+ Given you have 1 element with an attribute `data-ecl-menu` on the page:
31
+
32
+ ```js
33
+ var elt = document.querySelector('[data-ecl-menu]');
34
+ var menu = new ECL.menu(elt);
35
+ menu.init();
36
+ ```
@@ -0,0 +1,13 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Default
4
+
5
+ <Iframe id='components-progress--default'height="120" > </Iframe>
6
+
7
+ ## Progress with Value
8
+
9
+ <Iframe id='components-progress--progress-with-value' height="120"> </Iframe>
10
+
11
+ ## Custom Color
12
+
13
+ <Iframe id='components-progress--custom-color'height="120" > </Iframe>
@@ -0,0 +1,9 @@
1
+ Progress indicators tell users that more time is needed to process the last user action (for instance, to load a file, or to install a new update), and how much time remains.
2
+
3
+ ### Do’s
4
+ - use a progress indicator for any action that takes longer than about 1.0 second
5
+ - use Looped animation only for fast actions. The animated-spinner icon is an example of this common progress indicator. This indicator should be used for actions that take between 2-10 seconds
6
+ - percent-done animation: Use for actions that take 10 seconds or more.
7
+
8
+ ### Don’ts
9
+ - do not use static progress indicators
@@ -0,0 +1,27 @@
1
+ ## API
2
+
3
+ <TableJSDoc />
4
+
5
+ ## Setup
6
+
7
+ Add `data-ecl-table-sort-toggle` attribute on table headings for which you want to activate sorting.
8
+
9
+ There are 2 ways to initialise the component for sort table.
10
+
11
+ ### Automatic
12
+
13
+ Add `data-ecl-auto-init="Table"` attribute to component's markup:
14
+
15
+ ```html
16
+ <table data-ecl-auto-init="Table" class="ecl-table">
17
+ ...
18
+ </table>
19
+ ```
20
+
21
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
22
+
23
+ ### Manual
24
+
25
+ Get target element, create an instance and invoke `init()`.
26
+
27
+ Given you have 1 element with an attribute `data-ecl-table` on the page:
@@ -0,0 +1,13 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Default
4
+
5
+ <Iframe id='components-quote--default'height="700" > </Iframe>
6
+
7
+
8
+ <br/><br/>
9
+
10
+ ## Reversed
11
+
12
+ <Iframe id='components-quote--reversed' height="700"> </Iframe>
13
+
@@ -0,0 +1,8 @@
1
+ Quote is a key phrase, quotation, or excerpt that has been pulled from an article and used as a page layout graphic element, serving to entice readers into the article or to highlight a key topic.
2
+
3
+
4
+ ### Dont's
5
+
6
+ - Do not use more than one quote per page
7
+ - Do not use long text or job title
8
+
@@ -0,0 +1,34 @@
1
+ ## API
2
+
3
+ <SelectJSDoc />
4
+
5
+ ## Setup
6
+
7
+ There are 2 ways to initialise the select multiple component.
8
+
9
+ ### Automatic
10
+
11
+ Add `data-ecl-auto-init="Select"` attribute to component's markup:
12
+
13
+ Use the `ECL` library's `autoInit()` (`ECL.autoInit()`) when your page is ready or other custom event you want to hook onto.
14
+
15
+ ### Manual
16
+
17
+ Get target element, create an instance and invoke `init()`.
18
+
19
+ Given you have 1 element with an attribute `data-ecl-select-multiple` on the page:
20
+
21
+ ```js
22
+ var elt = document.querySelector('[data-ecl-select-multiple]');
23
+ var select = new ECL.Select(elt);
24
+ select.init();
25
+ ```
26
+
27
+ It's also possible to use the `Select`'s `autoInit` method and pass specific labels for the element:
28
+
29
+ ```js
30
+ var select = ECL.Select.autoInit(
31
+ document.querySelector('[data-ecl-select-multiple]'),
32
+ { defaultText: 'string', searchText: 'string', selectAllText: 'string' },
33
+ );
34
+ ```
@@ -0,0 +1,15 @@
1
+ import Iframe from '../iframe_component.mdx';
2
+
3
+ ## Default
4
+
5
+ <Iframe id='components-forms-radio--default' > </Iframe>
6
+
7
+
8
+ ## Invalid
9
+
10
+ <Iframe id='components-forms-radio--invalid' height="400"> </Iframe>
11
+
12
+
13
+ ## Binary
14
+
15
+ <Iframe id='components-forms-radio--binary' > </Iframe>
@@ -0,0 +1,26 @@
1
+ Radio buttons provides a selection with two or more options. Only one option can be selected.
2
+
3
+ ### Do's
4
+
5
+ - use labels as click targets (clicking the label will select that option)
6
+ - group related fields
7
+ - order logically (e.g. ages 18-25, ages 25-35, ages, 35-50, over 65)
8
+ - indicate whether the input group is optional - _if it's mandatory, have a neutral option (e.g. other, n/a) selected by default_
9
+ - make use of helper text if there are further directions or hints the users may need in completing their goal
10
+ - write specific and clear error messages, so users understand how to address the error
11
+
12
+ ### Don'ts
13
+
14
+ - don't add them without grouping first
15
+ - don't nest elements under radio buttons - keep all the options on the same level
16
+
17
+ ### When to use
18
+
19
+ - when you have under 10 items
20
+ - when users need to select options or toggle settings, for example
21
+ - in forms with multiple non-exclusive options (e.g. search filters)
22
+ - only one selection can be made
23
+
24
+ ### When not to use
25
+
26
+ - avoid when more than one option can be selected - use checkboxes instead
@@ -0,0 +1,15 @@
1
+ Search lets users assert independence from websites' attempt to direct how they use it. Therefore, many users go straight to the homepage search function.
2
+
3
+ Search is also users' escape hatch when they are stuck in navigation. When they cannot find a reasonable place to go next, they often turn to the site's search function. This is why you should make search available from every page on the site; you cannot predict where users will be when they decide they are lost.
4
+
5
+ ### Do's
6
+
7
+ - **use placeholder text.** Placeholder text provides context as to what can be searched and describes the action of the input
8
+
9
+ - **use a magnifying glass icon.** The magnifying glass is universally recognized as a symbol for search and one which users can easily identify
10
+
11
+ - **provide a button to submit search queries.** Inputs should be accessible. Ensure users can return results using their keyboard as well as clicking a button or the magnifying glass icon
12
+
13
+ - **consider the search icon position.** In most cases, it is beneficial to place the Icon to the right of placeholder text. This allows the Icon to act as the submit button and makes more sense hierarchically as queries are entered first, and results returned after
14
+
15
+ - **use input widths which are appropriate for the typical query length.** The width of the Input field should be wide enough to contain the typical search query. If an Input field is too narrow, it results in scrolling and decreases usability. It is recommended to use a minimum width of 27 characters