@eeacms/volto-eea-design-system 0.2.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 (263) hide show
  1. package/.coverage.babel.config.js +13 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +50 -0
  4. package/.github/workflows/node.js.yml +59 -0
  5. package/.prettierignore +4 -0
  6. package/.project.eslintrc.js +45 -0
  7. package/.release-it.json +17 -0
  8. package/.storybook/manager.js +15 -0
  9. package/CHANGELOG.md +1025 -0
  10. package/DEVELOP.md +51 -0
  11. package/LICENSE.md +9 -0
  12. package/README.md +196 -0
  13. package/bootstrap +41 -0
  14. package/cypress.json +17 -0
  15. package/jest-addon.config.js +36 -0
  16. package/locales/volto.pot +0 -0
  17. package/mockups/README.md +1 -0
  18. package/package.json +49 -0
  19. package/razzle.extend.js +23 -0
  20. package/src/helpers/index.js +2 -0
  21. package/src/helpers/useClickOutside.js +30 -0
  22. package/src/helpers/usePrevious.js +9 -0
  23. package/src/i18n.js +180 -0
  24. package/src/index.js +6 -0
  25. package/src/semantic.less +262 -0
  26. package/src/ui/Avatar/Avatar.jsx +32 -0
  27. package/src/ui/Avatar/Avatar.stories.jsx +61 -0
  28. package/src/ui/AvatarGrid/AvatarGrid.jsx +49 -0
  29. package/src/ui/AvatarGrid/AvatarGrid.stories.jsx +66 -0
  30. package/src/ui/Banner/Banner.jsx +59 -0
  31. package/src/ui/Banner/Banner.stories.jsx +121 -0
  32. package/src/ui/Blockquote/Blockquote.jsx +16 -0
  33. package/src/ui/Blockquote/Blockquote.stories.jsx +48 -0
  34. package/src/ui/Breadcrumbs/Breadcrumb.stories.jsx +76 -0
  35. package/src/ui/Breadcrumbs/Breadcrumbs.jsx +67 -0
  36. package/src/ui/Breadcrumbs/Breadcrumbs.stories.jsx +30 -0
  37. package/src/ui/Button/Button.stories.jsx +169 -0
  38. package/src/ui/Divider/Divider.jsx +7 -0
  39. package/src/ui/Footer/Contact.jsx +28 -0
  40. package/src/ui/Footer/Footer.jsx +52 -0
  41. package/src/ui/Footer/FooterActions.jsx +22 -0
  42. package/src/ui/Footer/FooterHeader.jsx +10 -0
  43. package/src/ui/Footer/FooterSites.jsx +33 -0
  44. package/src/ui/Footer/Social.jsx +25 -0
  45. package/src/ui/Footer/SubFooter.jsx +9 -0
  46. package/src/ui/FormFieldWrapper/FormFieldWrapper.jsx +51 -0
  47. package/src/ui/Header/Header.jsx +224 -0
  48. package/src/ui/Header/HeaderMenuPopUp.js +79 -0
  49. package/src/ui/Header/HeaderSearchPopUp.js +33 -0
  50. package/src/ui/InpageNavigation/InpageNavigation.jsx +61 -0
  51. package/src/ui/InpageNavigation/InpageNavigation.stories.jsx +166 -0
  52. package/src/ui/KeyContent/KeyContent.jsx +22 -0
  53. package/src/ui/KeyContent/KeyContent.stories.jsx +62 -0
  54. package/src/ui/Loader/Loader.stories.jsx +45 -0
  55. package/src/ui/Logo/Logo.jsx +31 -0
  56. package/src/ui/Popup/Popup.stories.jsx +97 -0
  57. package/src/ui/PublicationCard/PublicationCard.jsx +27 -0
  58. package/src/ui/PublicationCard/PublicationCard.stories.jsx +69 -0
  59. package/src/ui/Pullquote/Pullquote.jsx +44 -0
  60. package/src/ui/Pullquote/Pullquote.stories.jsx +101 -0
  61. package/src/ui/RelatedContent/RelatedContent.jsx +90 -0
  62. package/src/ui/RelatedContent/RelatedContent.stories.jsx +80 -0
  63. package/src/ui/Segment/Segment.stories.jsx +163 -0
  64. package/src/ui/Tag/Tag.jsx +13 -0
  65. package/src/ui/Tag/Tag.stories.jsx +21 -0
  66. package/src/ui/TagList/TagList.jsx +23 -0
  67. package/src/ui/TagList/TagList.stories.jsx +63 -0
  68. package/src/ui/Testimonial/Testimonial.jsx +53 -0
  69. package/src/ui/Testimonial/Testimonial.stories.jsx +51 -0
  70. package/src/ui/Timeline/Timeline.jsx +44 -0
  71. package/src/ui/Timeline/Timeline.stories.jsx +322 -0
  72. package/src/ui/index.js +31 -0
  73. package/templates/eea.hbs +50 -0
  74. package/theme/theme.config +122 -0
  75. package/theme/theme.less +64 -0
  76. package/theme/themes/eea/assets/images/EEA_Logo_Vertical.png +0 -0
  77. package/theme/themes/eea/assets/images/Footer/EEALogo.png +0 -0
  78. package/theme/themes/eea/assets/images/Footer/EULogo.png +0 -0
  79. package/theme/themes/eea/assets/images/Footer/Extras/Logo1.png +0 -0
  80. package/theme/themes/eea/assets/images/Footer/Extras/Logo10.png +0 -0
  81. package/theme/themes/eea/assets/images/Footer/Extras/Logo2.png +0 -0
  82. package/theme/themes/eea/assets/images/Footer/Extras/Logo3.png +0 -0
  83. package/theme/themes/eea/assets/images/Footer/Extras/Logo4.png +0 -0
  84. package/theme/themes/eea/assets/images/Footer/Extras/Logo5.png +0 -0
  85. package/theme/themes/eea/assets/images/Footer/Extras/Logo6.png +0 -0
  86. package/theme/themes/eea/assets/images/Footer/Extras/Logo7.png +0 -0
  87. package/theme/themes/eea/assets/images/Footer/Extras/Logo8.png +0 -0
  88. package/theme/themes/eea/assets/images/Footer/Extras/Logo9.png +0 -0
  89. package/theme/themes/eea/assets/images/Footer/Extras/abstract-visual.svg +32 -0
  90. package/theme/themes/eea/assets/images/Footer/Extras/footervisual.svg +1755 -0
  91. package/theme/themes/eea/assets/images/Footer/Vector1.png +0 -0
  92. package/theme/themes/eea/assets/images/Footer/Vector2.png +0 -0
  93. package/theme/themes/eea/assets/images/Header/EeaLogo.png +0 -0
  94. package/theme/themes/eea/assets/images/Header/Vector.png +0 -0
  95. package/theme/themes/eea/assets/images/Header/close-line.svg +1 -0
  96. package/theme/themes/eea/assets/images/Header/close.png +0 -0
  97. package/theme/themes/eea/assets/images/Header/down-arrow.png +0 -0
  98. package/theme/themes/eea/assets/images/Header/eea-logo.svg +14 -0
  99. package/theme/themes/eea/assets/images/Header/eea.png +0 -0
  100. package/theme/themes/eea/assets/images/Header/eeaIcon.png +0 -0
  101. package/theme/themes/eea/assets/images/Header/global-line.svg +1 -0
  102. package/theme/themes/eea/assets/images/Header/globeIcon.png +0 -0
  103. package/theme/themes/eea/assets/images/Header/hamburgerMenuIcon.png +0 -0
  104. package/theme/themes/eea/assets/images/Header/menu-left-arrow.svg +3 -0
  105. package/theme/themes/eea/assets/images/Header/menu-line.svg +1 -0
  106. package/theme/themes/eea/assets/images/Header/search-line.svg +1 -0
  107. package/theme/themes/eea/assets/images/Header/search.png +0 -0
  108. package/theme/themes/eea/assets/images/Header/searchIcon.png +0 -0
  109. package/theme/themes/eea/assets/images/arrow-down.svg +10 -0
  110. package/theme/themes/eea/assets/images/avatar.png +0 -0
  111. package/theme/themes/eea/assets/images/banner.png +0 -0
  112. package/theme/themes/eea/assets/images/eea-logo.png +0 -0
  113. package/theme/themes/eea/assets/images/eea_icon.png +0 -0
  114. package/theme/themes/eea/assets/images/europe-flag.svg +4 -0
  115. package/theme/themes/eea/assets/images/home-icon.svg +3 -0
  116. package/theme/themes/eea/assets/images/loaderImage.png +0 -0
  117. package/theme/themes/eea/assets/images/mega-menu-arrow.svg +3 -0
  118. package/theme/themes/eea/assets/logo/EEA-Logo-White-2.svg +9 -0
  119. package/theme/themes/eea/assets/logo/EEA-Logo-white.svg +9 -0
  120. package/theme/themes/eea/assets/logo/EIONETLogo.png +0 -0
  121. package/theme/themes/eea/assets/logo/bise.svg +47 -0
  122. package/theme/themes/eea/assets/logo/cca.svg +20 -0
  123. package/theme/themes/eea/assets/logo/copernicus.svg +62 -0
  124. package/theme/themes/eea/assets/logo/energy.svg +77 -0
  125. package/theme/themes/eea/assets/logo/fise.svg +37 -0
  126. package/theme/themes/eea/assets/logo/freshwater.svg +48 -0
  127. package/theme/themes/eea/assets/logo/industry.svg +40 -0
  128. package/theme/themes/eea/assets/logo/insitu.svg +43 -0
  129. package/theme/themes/eea/assets/logo/ipchem.svg +23 -0
  130. package/theme/themes/eea/assets/logo/marine.svg +63 -0
  131. package/theme/themes/eea/collections/breadcrumb.overrides +44 -0
  132. package/theme/themes/eea/collections/breadcrumb.variables +49 -0
  133. package/theme/themes/eea/collections/form.overrides +56 -0
  134. package/theme/themes/eea/collections/form.variables +211 -0
  135. package/theme/themes/eea/collections/grid.overrides +17 -0
  136. package/theme/themes/eea/collections/grid.variables +103 -0
  137. package/theme/themes/eea/collections/menu.overrides +84 -0
  138. package/theme/themes/eea/collections/menu.variables +471 -0
  139. package/theme/themes/eea/collections/message.overrides +34 -0
  140. package/theme/themes/eea/collections/message.variables +142 -0
  141. package/theme/themes/eea/collections/table.overrides +30 -0
  142. package/theme/themes/eea/collections/table.variables +249 -0
  143. package/theme/themes/eea/definitions/elements/icon.less +499 -0
  144. package/theme/themes/eea/elements/button.overrides +199 -0
  145. package/theme/themes/eea/elements/button.variables +405 -0
  146. package/theme/themes/eea/elements/container.overrides +98 -0
  147. package/theme/themes/eea/elements/container.variables +66 -0
  148. package/theme/themes/eea/elements/divider.overrides +17 -0
  149. package/theme/themes/eea/elements/divider.variables +53 -0
  150. package/theme/themes/eea/elements/flag.overrides +1235 -0
  151. package/theme/themes/eea/elements/flag.variables +13 -0
  152. package/theme/themes/eea/elements/header.overrides +205 -0
  153. package/theme/themes/eea/elements/header.variables +151 -0
  154. package/theme/themes/eea/elements/icon.overrides +5589 -0
  155. package/theme/themes/eea/elements/icon.variables +95 -0
  156. package/theme/themes/eea/elements/image.overrides +3 -0
  157. package/theme/themes/eea/elements/image.variables +44 -0
  158. package/theme/themes/eea/elements/input.overrides +83 -0
  159. package/theme/themes/eea/elements/input.variables +104 -0
  160. package/theme/themes/eea/elements/label.overrides +49 -0
  161. package/theme/themes/eea/elements/label.variables +267 -0
  162. package/theme/themes/eea/elements/list.overrides +28 -0
  163. package/theme/themes/eea/elements/list.variables +233 -0
  164. package/theme/themes/eea/elements/loader.overrides +3 -0
  165. package/theme/themes/eea/elements/loader.variables +73 -0
  166. package/theme/themes/eea/elements/placeholder.overrides +3 -0
  167. package/theme/themes/eea/elements/placeholder.variables +55 -0
  168. package/theme/themes/eea/elements/rail.overrides +3 -0
  169. package/theme/themes/eea/elements/rail.variables +34 -0
  170. package/theme/themes/eea/elements/reveal.overrides +3 -0
  171. package/theme/themes/eea/elements/reveal.variables +18 -0
  172. package/theme/themes/eea/elements/segment.overrides +8 -0
  173. package/theme/themes/eea/elements/segment.variables +154 -0
  174. package/theme/themes/eea/elements/step.overrides +18 -0
  175. package/theme/themes/eea/elements/step.variables +130 -0
  176. package/theme/themes/eea/extras/avatar.less +97 -0
  177. package/theme/themes/eea/extras/avatar.variables +34 -0
  178. package/theme/themes/eea/extras/avatarGrid.less +43 -0
  179. package/theme/themes/eea/extras/avatarGrid.variables +20 -0
  180. package/theme/themes/eea/extras/banner.less +213 -0
  181. package/theme/themes/eea/extras/banner.variables +77 -0
  182. package/theme/themes/eea/extras/blockquote.less +89 -0
  183. package/theme/themes/eea/extras/blockquote.variables +35 -0
  184. package/theme/themes/eea/extras/custom.overrides +0 -0
  185. package/theme/themes/eea/extras/custom.variables +0 -0
  186. package/theme/themes/eea/extras/divider.less +14 -0
  187. package/theme/themes/eea/extras/divider.variables +9 -0
  188. package/theme/themes/eea/extras/footer.less +273 -0
  189. package/theme/themes/eea/extras/footer.variables +109 -0
  190. package/theme/themes/eea/extras/header.less +691 -0
  191. package/theme/themes/eea/extras/header.variables +149 -0
  192. package/theme/themes/eea/extras/inpageNavigation.less +57 -0
  193. package/theme/themes/eea/extras/inpageNavigation.variables +30 -0
  194. package/theme/themes/eea/extras/keyContent.less +36 -0
  195. package/theme/themes/eea/extras/keyContent.variables +18 -0
  196. package/theme/themes/eea/extras/main.overrides +31 -0
  197. package/theme/themes/eea/extras/main.variables +33 -0
  198. package/theme/themes/eea/extras/publicationCard.less +62 -0
  199. package/theme/themes/eea/extras/publicationCard.variables +24 -0
  200. package/theme/themes/eea/extras/pullquote.less +76 -0
  201. package/theme/themes/eea/extras/pullquote.variables +34 -0
  202. package/theme/themes/eea/extras/select.overrides +0 -0
  203. package/theme/themes/eea/extras/select.variables +0 -0
  204. package/theme/themes/eea/extras/tag.less +37 -0
  205. package/theme/themes/eea/extras/tag.variables +22 -0
  206. package/theme/themes/eea/extras/tagList.less +50 -0
  207. package/theme/themes/eea/extras/tagList.variables +13 -0
  208. package/theme/themes/eea/extras/testimonial.less +28 -0
  209. package/theme/themes/eea/extras/testimonial.variables +13 -0
  210. package/theme/themes/eea/extras/timeline.less +114 -0
  211. package/theme/themes/eea/extras/timeline.variables +40 -0
  212. package/theme/themes/eea/globals/reset.overrides +454 -0
  213. package/theme/themes/eea/globals/reset.variables +6 -0
  214. package/theme/themes/eea/globals/site.overrides +27 -0
  215. package/theme/themes/eea/globals/site.variables +1135 -0
  216. package/theme/themes/eea/modules/accordion.overrides +83 -0
  217. package/theme/themes/eea/modules/accordion.variables +114 -0
  218. package/theme/themes/eea/modules/chatroom.overrides +3 -0
  219. package/theme/themes/eea/modules/chatroom.variables +3 -0
  220. package/theme/themes/eea/modules/checkbox.overrides +67 -0
  221. package/theme/themes/eea/modules/checkbox.variables +194 -0
  222. package/theme/themes/eea/modules/dimmer.overrides +3 -0
  223. package/theme/themes/eea/modules/dimmer.variables +58 -0
  224. package/theme/themes/eea/modules/dropdown.overrides +53 -0
  225. package/theme/themes/eea/modules/dropdown.variables +390 -0
  226. package/theme/themes/eea/modules/embed.overrides +3 -0
  227. package/theme/themes/eea/modules/embed.variables +53 -0
  228. package/theme/themes/eea/modules/modal.overrides +3 -0
  229. package/theme/themes/eea/modules/modal.variables +193 -0
  230. package/theme/themes/eea/modules/nag.overrides +3 -0
  231. package/theme/themes/eea/modules/nag.variables +74 -0
  232. package/theme/themes/eea/modules/popup.overrides +83 -0
  233. package/theme/themes/eea/modules/popup.variables +153 -0
  234. package/theme/themes/eea/modules/progress.overrides +3 -0
  235. package/theme/themes/eea/modules/progress.variables +113 -0
  236. package/theme/themes/eea/modules/rating.overrides +74 -0
  237. package/theme/themes/eea/modules/rating.variables +103 -0
  238. package/theme/themes/eea/modules/search.overrides +3 -0
  239. package/theme/themes/eea/modules/search.variables +163 -0
  240. package/theme/themes/eea/modules/shape.overrides +3 -0
  241. package/theme/themes/eea/modules/shape.variables +40 -0
  242. package/theme/themes/eea/modules/sidebar.overrides +3 -0
  243. package/theme/themes/eea/modules/sidebar.variables +45 -0
  244. package/theme/themes/eea/modules/sticky.overrides +3 -0
  245. package/theme/themes/eea/modules/sticky.variables +7 -0
  246. package/theme/themes/eea/modules/tab.overrides +13 -0
  247. package/theme/themes/eea/modules/tab.variables +17 -0
  248. package/theme/themes/eea/modules/transition.overrides +1087 -0
  249. package/theme/themes/eea/modules/transition.variables +10 -0
  250. package/theme/themes/eea/modules/video.overrides +3 -0
  251. package/theme/themes/eea/modules/video.variables +16 -0
  252. package/theme/themes/eea/views/ad.overrides +3 -0
  253. package/theme/themes/eea/views/ad.variables +13 -0
  254. package/theme/themes/eea/views/card.overrides +73 -0
  255. package/theme/themes/eea/views/card.variables +237 -0
  256. package/theme/themes/eea/views/comment.overrides +3 -0
  257. package/theme/themes/eea/views/comment.variables +98 -0
  258. package/theme/themes/eea/views/feed.overrides +3 -0
  259. package/theme/themes/eea/views/feed.variables +141 -0
  260. package/theme/themes/eea/views/item.overrides +8 -0
  261. package/theme/themes/eea/views/item.variables +157 -0
  262. package/theme/themes/eea/views/statistic.overrides +19 -0
  263. package/theme/themes/eea/views/statistic.variables +105 -0
@@ -0,0 +1,262 @@
1
+ /*
2
+
3
+ ███████╗███████╗███╗ ███╗ █████╗ ███╗ ██╗████████╗██╗ ██████╗ ██╗ ██╗██╗
4
+ ██╔════╝██╔════╝████╗ ████║██╔══██╗████╗ ██║╚══██╔══╝██║██╔════╝ ██║ ██║██║
5
+ ███████╗█████╗ ██╔████╔██║███████║██╔██╗ ██║ ██║ ██║██║ ██║ ██║██║
6
+ ╚════██║██╔══╝ ██║╚██╔╝██║██╔══██║██║╚██╗██║ ██║ ██║██║ ██║ ██║██║
7
+ ███████║███████╗██║ ╚═╝ ██║██║ ██║██║ ╚████║ ██║ ██║╚██████╗ ╚██████╔╝██║
8
+ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝
9
+
10
+ Import this file into your LESS project to use Semantic UI without build tools
11
+ */
12
+
13
+ /* Remix Icons */
14
+ & {
15
+ @import (less) 'remixicon/fonts/remixicon.css';
16
+ }
17
+
18
+ /* Global */
19
+ & {
20
+ @import '~semantic-ui-less/definitions/globals/reset';
21
+ }
22
+
23
+ & {
24
+ @import '~semantic-ui-less/definitions/globals/site';
25
+ }
26
+
27
+ /* Elements */
28
+ & {
29
+ @import '~semantic-ui-less/definitions/elements/button';
30
+ }
31
+
32
+ & {
33
+ @import '~semantic-ui-less/definitions/elements/container';
34
+ }
35
+
36
+ & {
37
+ @import '~semantic-ui-less/definitions/elements/divider';
38
+ }
39
+
40
+ & {
41
+ @import '~semantic-ui-less/definitions/elements/header';
42
+ }
43
+
44
+ & {
45
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/definitions/elements/icon';
46
+ }
47
+
48
+ & {
49
+ @import '~semantic-ui-less/definitions/elements/image';
50
+ }
51
+
52
+ & {
53
+ @import '~semantic-ui-less/definitions/elements/input';
54
+ }
55
+
56
+ & {
57
+ @import '~semantic-ui-less/definitions/elements/label';
58
+ }
59
+
60
+ & {
61
+ @import '~semantic-ui-less/definitions/elements/list';
62
+ }
63
+
64
+ & {
65
+ @import '~semantic-ui-less/definitions/elements/loader';
66
+ }
67
+
68
+ & {
69
+ @import '~semantic-ui-less/definitions/elements/placeholder';
70
+ }
71
+
72
+ & {
73
+ @import '~semantic-ui-less/definitions/elements/rail';
74
+ }
75
+
76
+ //& {
77
+ // @import '~semantic-ui-less/definitions/elements/reveal';
78
+ //}
79
+
80
+ & {
81
+ @import '~semantic-ui-less/definitions/elements/segment';
82
+ }
83
+
84
+ //& {
85
+ // @import '~semantic-ui-less/definitions/elements/step';
86
+ //}
87
+
88
+ /* Collections */
89
+ & {
90
+ @import '~semantic-ui-less/definitions/collections/breadcrumb';
91
+ }
92
+
93
+ & {
94
+ @import '~semantic-ui-less/definitions/collections/form';
95
+ }
96
+
97
+ & {
98
+ @import '~semantic-ui-less/definitions/collections/grid';
99
+ }
100
+
101
+ & {
102
+ @import '~semantic-ui-less/definitions/collections/menu';
103
+ }
104
+
105
+ & {
106
+ @import '~semantic-ui-less/definitions/collections/message';
107
+ }
108
+
109
+ & {
110
+ @import '~semantic-ui-less/definitions/collections/table';
111
+ }
112
+
113
+ /* Views */
114
+ //& {
115
+ // @import '~semantic-ui-less/definitions/views/ad';
116
+ //}
117
+
118
+ & {
119
+ @import '~semantic-ui-less/definitions/views/card';
120
+ }
121
+
122
+ & {
123
+ @import '~semantic-ui-less/definitions/views/comment';
124
+ }
125
+
126
+ //& {
127
+ // @import '~semantic-ui-less/definitions/views/feed';
128
+ //}
129
+
130
+ & {
131
+ @import '~semantic-ui-less/definitions/views/item';
132
+ }
133
+
134
+ & {
135
+ @import '~semantic-ui-less/definitions/views/statistic';
136
+ }
137
+
138
+ /* Modules */
139
+ & {
140
+ @import '~semantic-ui-less/definitions/modules/accordion';
141
+ }
142
+
143
+ & {
144
+ @import '~semantic-ui-less/definitions/modules/checkbox';
145
+ }
146
+
147
+ & {
148
+ @import '~semantic-ui-less/definitions/modules/dimmer';
149
+ }
150
+
151
+ & {
152
+ @import '~semantic-ui-less/definitions/modules/dropdown';
153
+ }
154
+
155
+ & {
156
+ @import '~semantic-ui-less/definitions/modules/embed';
157
+ }
158
+
159
+ & {
160
+ @import '~semantic-ui-less/definitions/modules/modal';
161
+ }
162
+
163
+ //& {
164
+ // @import '~semantic-ui-less/definitions/modules/nag';
165
+ //}
166
+
167
+ & {
168
+ @import '~semantic-ui-less/definitions/modules/popup';
169
+ }
170
+
171
+ & {
172
+ @import '~semantic-ui-less/definitions/modules/progress';
173
+ }
174
+
175
+ //& {
176
+ // @import '~semantic-ui-less/definitions/modules/rating';
177
+ //}
178
+
179
+ & {
180
+ @import '~semantic-ui-less/definitions/modules/search';
181
+ }
182
+
183
+ //& {
184
+ // @import '~semantic-ui-less/definitions/modules/shape';
185
+ //}
186
+
187
+ & {
188
+ @import '~semantic-ui-less/definitions/modules/sidebar';
189
+ }
190
+
191
+ & {
192
+ @import '~semantic-ui-less/definitions/modules/sticky';
193
+ }
194
+
195
+ & {
196
+ @import '~semantic-ui-less/definitions/modules/tab';
197
+ }
198
+
199
+ & {
200
+ @import '~semantic-ui-less/definitions/modules/transition';
201
+ }
202
+
203
+ // EEA Design custom components
204
+ & {
205
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/blockquote';
206
+ }
207
+
208
+ & {
209
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/pullquote';
210
+ }
211
+
212
+ & {
213
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/banner';
214
+ }
215
+
216
+ & {
217
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/timeline';
218
+ }
219
+
220
+ & {
221
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/footer';
222
+ }
223
+
224
+ & {
225
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/header';
226
+ }
227
+
228
+ & {
229
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/inpageNavigation';
230
+ }
231
+
232
+ & {
233
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/avatar';
234
+ }
235
+
236
+ & {
237
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/divider';
238
+ }
239
+
240
+ & {
241
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/testimonial';
242
+ }
243
+
244
+ & {
245
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/tag';
246
+ }
247
+
248
+ & {
249
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/tagList';
250
+ }
251
+
252
+ & {
253
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/avatarGrid';
254
+ }
255
+
256
+ & {
257
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/keyContent';
258
+ }
259
+
260
+ & {
261
+ @import '@eeacms/volto-eea-design-system/../theme/themes/eea/extras/publicationCard';
262
+ }
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+
4
+ Avatar.propTypes = {
5
+ title: PropTypes.string,
6
+ info: PropTypes.string,
7
+ };
8
+
9
+ function Avatar({ image_url, children, ...rest }) {
10
+ return (
11
+ <div className={`eea avatar ${rest.avatarSize}`} {...rest}>
12
+ <div className="wrapper">
13
+ <div className="image-wrapper">
14
+ <div
15
+ className="image"
16
+ style={{ backgroundImage: `url(${image_url})` }}
17
+ ></div>
18
+ </div>
19
+ <div className="content-wrapper">{children}</div>
20
+ </div>
21
+ </div>
22
+ );
23
+ }
24
+
25
+ Avatar.Content = ({ children }) => {
26
+ return <div className="content">{children}</div>;
27
+ };
28
+
29
+ Avatar.Title = ({ children }) => <p className="title">{children}</p>;
30
+ Avatar.Metadata = ({ children }) => <p className="metadata">{children}</p>;
31
+
32
+ export default Avatar;
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import Avatar from './Avatar';
3
+ // eslint-disable-next-line import/no-unresolved
4
+ import imgUrl from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/avatar.png';
5
+
6
+ export default {
7
+ title: 'Components/Avatar',
8
+ component: Avatar,
9
+ argTypes: {
10
+ title: {
11
+ description: 'avatar title',
12
+ table: {
13
+ defaultValue: { summary: '""' },
14
+ type: { summary: 'string' },
15
+ },
16
+ },
17
+ info: {
18
+ description: 'avatar secondary info',
19
+ table: {
20
+ defaultValue: { summary: '""' },
21
+ type: { summary: 'string' },
22
+ },
23
+ },
24
+ image: {
25
+ description: 'avatar image',
26
+ table: {
27
+ defaultValue: { summary: '""' },
28
+ },
29
+ },
30
+ },
31
+ };
32
+
33
+ const DefaultTemplate = (args) => (
34
+ <Avatar avatarSize="big" {...args} image_url={imgUrl}>
35
+ <Avatar.Content>
36
+ <Avatar.Title>{args.title}</Avatar.Title>
37
+ <Avatar.Metadata>{args.info}</Avatar.Metadata>
38
+ </Avatar.Content>
39
+ </Avatar>
40
+ );
41
+
42
+ export const Default = DefaultTemplate.bind({});
43
+ Default.args = {
44
+ title: 'Lorem ipsum',
45
+ info: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
46
+ };
47
+
48
+ const SmallTemplate = (args) => (
49
+ <Avatar avatarSize="small" {...args} image_url={imgUrl}>
50
+ <Avatar.Content>
51
+ <Avatar.Title>{args.title}</Avatar.Title>
52
+ <Avatar.Metadata>{args.info}</Avatar.Metadata>
53
+ </Avatar.Content>
54
+ </Avatar>
55
+ );
56
+
57
+ export const Small = SmallTemplate.bind({});
58
+ Small.args = {
59
+ title: 'Lorem ipsum',
60
+ info: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
61
+ };
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Avatar from '../Avatar/Avatar';
4
+ import { Grid } from 'semantic-ui-react';
5
+
6
+ AvatarGrid.propTypes = {
7
+ title: PropTypes.string,
8
+ };
9
+
10
+ function AvatarGrid({ children, ...rest }) {
11
+ return (
12
+ <div className="eea avatar-grid" {...rest}>
13
+ <div className="wrapper">{children}</div>
14
+ </div>
15
+ );
16
+ }
17
+
18
+ AvatarGrid.Content = ({ children }) => {
19
+ return <div className="content">{children}</div>;
20
+ };
21
+
22
+ AvatarGrid.Title = ({ children, ...rest }) => (
23
+ <p className={`grid-title ${rest.showTitle ? '' : 'hidden'}`}>{children}</p>
24
+ );
25
+ AvatarGrid.Group = ({ children, ...rest }) => {
26
+ let avatars = rest.avatars;
27
+ if (rest.avatars.length > 3) {
28
+ avatars = avatars.slice(0, 3);
29
+ }
30
+ return (
31
+ <div className="avatar group">
32
+ <Grid>
33
+ {avatars.map((avatar) => (
34
+ <Grid.Column mobile={12} tablet={4} computer={4}>
35
+ <div className="avatar-wrapper">
36
+ <Avatar {...rest} image_url={avatar.image_url} avatarSize="big">
37
+ <Avatar.Content>
38
+ <Avatar.Title>{avatar.title}</Avatar.Title>
39
+ <Avatar.Metadata>{avatar.metadata}</Avatar.Metadata>
40
+ </Avatar.Content>
41
+ </Avatar>
42
+ </div>
43
+ </Grid.Column>
44
+ ))}
45
+ </Grid>
46
+ </div>
47
+ );
48
+ };
49
+ export default AvatarGrid;
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ // eslint-disable-next-line import/no-unresolved
3
+ import imgUrl from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/avatar.png';
4
+ import AvatarGrid from './AvatarGrid';
5
+
6
+ export default {
7
+ title: 'Components/Avatar Grid',
8
+ component: AvatarGrid,
9
+ argTypes: {
10
+ showTitle: {
11
+ description: 'show / hide title',
12
+ table: {
13
+ type: { summary: 'boolean' },
14
+ defaultValue: { summary: true },
15
+ },
16
+ },
17
+ title: {
18
+ description: 'avatar grid title',
19
+ table: {
20
+ defaultValue: { summary: '""' },
21
+ type: { summary: 'string' },
22
+ },
23
+ },
24
+ avatars: {
25
+ description: 'avatar data',
26
+ table: {
27
+ type: { summary: 'Object' },
28
+ defaultValue: { summary: ' "" ' },
29
+ },
30
+ },
31
+ },
32
+ };
33
+
34
+ const GridTemplate = (args) => (
35
+ <AvatarGrid>
36
+ <AvatarGrid.Content>
37
+ <AvatarGrid.Title showTitle={args.showTitle}>
38
+ {args.title}
39
+ </AvatarGrid.Title>
40
+ <AvatarGrid.Group avatars={args.avatars}></AvatarGrid.Group>
41
+ </AvatarGrid.Content>
42
+ </AvatarGrid>
43
+ );
44
+
45
+ export const Default = GridTemplate.bind({});
46
+ Default.args = {
47
+ title: 'Amet - Lorem ipsum dolor sit amet',
48
+ showTitle: true,
49
+ avatars: [
50
+ {
51
+ image_url: imgUrl,
52
+ title: 'Lorem ipsum',
53
+ metadata: 'Urna auctor pharetra aenean sed gravida quam',
54
+ },
55
+ {
56
+ image_url: imgUrl,
57
+ title: 'Lorem ipsum',
58
+ metadata: 'Duis vel eu placerat proin diam id enim suspendisse erat',
59
+ },
60
+ {
61
+ image_url: imgUrl,
62
+ title: 'Lorem ipsum',
63
+ metadata: 'Egetisi gravida pellentesque volutpat diamon',
64
+ },
65
+ ],
66
+ };
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import { Container, Icon, Button, Grid } from 'semantic-ui-react';
3
+ import PropTypes from 'prop-types';
4
+
5
+ Banner.propTypes = {
6
+ title: PropTypes.string,
7
+ image: PropTypes.bool,
8
+ };
9
+
10
+ function Banner({ image_url, image, children }) {
11
+ return (
12
+ <div className="eea banner">
13
+ <div
14
+ className={image ? 'image' : ''}
15
+ style={image ? { backgroundImage: `url(${image_url})` } : {}}
16
+ >
17
+ <div className="gradient">
18
+ <Container>{children}</Container>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ );
23
+ }
24
+
25
+ Banner.Action = function ({ id, title, icon, onClick, className, color }) {
26
+ return (
27
+ <div className="action">
28
+ <Button className={className} basic inverted onClick={onClick}>
29
+ <Icon className={icon} color={color}></Icon>
30
+ <span className="mobile hidden">{title}</span>
31
+ </Button>
32
+ </div>
33
+ );
34
+ };
35
+
36
+ Banner.Content = ({ children, actions }) => {
37
+ return (
38
+ <div className="content">
39
+ <Grid>
40
+ <Grid.Column mobile={10} tablet={9} computer={9}>
41
+ {children}
42
+ </Grid.Column>
43
+ <Grid.Column mobile={2} tablet={3} computer={3} className="actions">
44
+ {actions}
45
+ </Grid.Column>
46
+ </Grid>
47
+ </div>
48
+ );
49
+ };
50
+
51
+ Banner.Title = ({ children }) => <p className="title">{children}</p>;
52
+ Banner.Metadata = ({ children }) => <p className="metadata">{children}</p>;
53
+
54
+ Banner.MetadataField = ({ hidden, type = 'text', label, value, title }) => {
55
+ if (hidden || !value) return '';
56
+ return <span className={`field ${type}`}>{value}</span>;
57
+ };
58
+
59
+ export default Banner;
@@ -0,0 +1,121 @@
1
+ import React from 'react';
2
+ import Banner from './Banner';
3
+ // eslint-disable-next-line import/no-unresolved
4
+ import imgUrl from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/banner.png';
5
+ import { Popup } from 'semantic-ui-react';
6
+
7
+ export default {
8
+ title: 'Components/Page Header',
9
+ component: Banner,
10
+ argTypes: {
11
+ title: {
12
+ description: 'banner title',
13
+ table: {
14
+ defaultValue: { summary: '""' },
15
+ type: { summary: 'string' },
16
+ },
17
+ },
18
+ metadata: {
19
+ description: 'banner metadata',
20
+ table: {
21
+ defaultValue: { summary: '""' },
22
+ type: { summary: 'object' },
23
+ },
24
+ },
25
+ image: {
26
+ description: 'set or unset banner image',
27
+ table: {
28
+ defaultValue: { summary: '""' },
29
+ type: { summary: 'boolean' },
30
+ },
31
+ },
32
+ hideShareButton: {
33
+ description: 'hide/show share button',
34
+ table: {
35
+ defaultValue: { summary: '""' },
36
+ type: { summary: 'boolean' },
37
+ },
38
+ },
39
+ hideDownloadButton: {
40
+ description: 'hide/show download button',
41
+ table: {
42
+ defaultValue: { summary: '""' },
43
+ type: { summary: 'boolean' },
44
+ },
45
+ },
46
+ },
47
+ };
48
+
49
+ const Template = (args) => (
50
+ <Banner {...args} image_url={args.image ? imgUrl : null}>
51
+ <Banner.Content
52
+ actions={
53
+ <>
54
+ {' '}
55
+ {!args.hideShareButton && (
56
+ <Popup
57
+ className="share-popup"
58
+ trigger={
59
+ <Banner.Action
60
+ icon="ri-share-fill"
61
+ title="Share"
62
+ className="share"
63
+ />
64
+ }
65
+ content={() => (
66
+ <>
67
+ <p>Share to:</p>
68
+ <div className="actions">
69
+ <Banner.Action icon="ri-facebook-fill" />
70
+ <Banner.Action icon="ri-twitter-fill" />
71
+ <Banner.Action icon="ri-linkedin-fill" />
72
+ <Banner.Action icon="blogger b" />
73
+ <Banner.Action icon="ri-reddit-line" />
74
+ <Banner.Action icon="stumbleupon circle" />
75
+ </div>
76
+ </>
77
+ )}
78
+ position="top center"
79
+ basic
80
+ />
81
+ )}
82
+ {!args.hideDownloadButton && (
83
+ <Banner.Action
84
+ icon="ri-download-2-line"
85
+ title="Download"
86
+ className="download"
87
+ />
88
+ )}
89
+ </>
90
+ }
91
+ >
92
+ <Banner.Title>{args.title}</Banner.Title>
93
+ {args.metadata && (
94
+ <Banner.Metadata>
95
+ <>
96
+ {args.metadata.map((meta, index) => (
97
+ <Banner.MetadataField
98
+ {...meta}
99
+ key={index}
100
+ ></Banner.MetadataField>
101
+ ))}
102
+ </>
103
+ </Banner.Metadata>
104
+ )}
105
+ </Banner.Content>
106
+ </Banner>
107
+ );
108
+
109
+ export const Default = Template.bind({});
110
+ Default.args = {
111
+ title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
112
+ metadata: [
113
+ { hidden: false, value: 'Briefing', type: 'type' },
114
+ { hidden: false, value: 'Published Date', type: 'date' },
115
+ { hidden: false, value: 'Modified Date', type: 'date' },
116
+ { hidden: false, value: '5 min read', type: '' },
117
+ ],
118
+ image: true,
119
+ hideShareButton: false,
120
+ hideDownloadButton: false,
121
+ };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+
3
+ function Blockquote({ children, className, ...rest }) {
4
+ return (
5
+ <div className="eea blockquote" {...rest}>
6
+ <blockquote className="quote">{children}</blockquote>
7
+ </div>
8
+ );
9
+ }
10
+
11
+ Blockquote.Content = ({ children, as: As, ...rest }) =>
12
+ As ? <As {...rest}>{children}</As> : children;
13
+
14
+ Blockquote.Meta = ({ children }) => <div className="meta">{children}</div>;
15
+
16
+ export default Blockquote;