@pareto-engineering/design-system 2.0.0-alpha.6 → 2.0.0-alpha.60

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 (373) hide show
  1. package/.env.scripts.example +4 -0
  2. package/.eslintrc.js +25 -1
  3. package/babel.config.js +1 -0
  4. package/dist/cjs/a/Alert/Alert.js +141 -0
  5. package/dist/cjs/a/Alert/index.js +15 -0
  6. package/dist/cjs/a/Alert/styles.scss +74 -0
  7. package/dist/cjs/a/AppContext/Context.js +16 -0
  8. package/dist/cjs/a/AppContext/ContextProvider.js +96 -0
  9. package/dist/cjs/a/AppContext/index.js +39 -0
  10. package/dist/cjs/a/AppContext/useApp.js +16 -0
  11. package/dist/cjs/a/AppContext/useTheme.js +45 -0
  12. package/dist/cjs/a/BackgroundGradient/BackgroundGradient.js +77 -0
  13. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  14. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  15. package/dist/cjs/a/ContentTree/ContentTree.js +83 -0
  16. package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
  17. package/dist/cjs/a/ContentTree/common/Tree/index.js +15 -0
  18. package/dist/cjs/a/ContentTree/common/index.js +31 -0
  19. package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
  20. package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
  21. package/dist/cjs/a/ContentTree/index.js +15 -0
  22. package/dist/cjs/a/ContentTree/styles.scss +33 -0
  23. package/dist/cjs/a/Conversation/Conversation.js +14 -8
  24. package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
  25. package/dist/cjs/a/Conversation/styles.scss +132 -33
  26. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  27. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  28. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  29. package/dist/cjs/a/Popover/Popover.js +134 -0
  30. package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
  31. package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
  32. package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
  33. package/dist/cjs/a/Popover/common/Item/index.js +15 -0
  34. package/dist/cjs/a/Popover/common/index.js +21 -0
  35. package/dist/cjs/a/Popover/index.js +15 -0
  36. package/dist/cjs/a/Popover/styles.scss +33 -0
  37. package/dist/cjs/a/Shapes/Shapes.js +9 -1
  38. package/dist/cjs/a/Shapes/styles.scss +42 -9
  39. package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
  40. package/dist/cjs/a/SnapScroller/index.js +15 -0
  41. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  42. package/dist/cjs/a/index.js +57 -9
  43. package/dist/cjs/b/Button/Button.js +10 -4
  44. package/dist/cjs/b/Button/styles.scss +55 -10
  45. package/dist/cjs/b/Logo/Logo.js +41 -41
  46. package/dist/cjs/b/Logo/styles.scss +0 -138
  47. package/dist/cjs/b/Page/common/PageHelmet/PageHelmet.js +1 -1
  48. package/dist/cjs/b/Page/common/Section/Section.js +17 -3
  49. package/dist/cjs/b/SocialMediaButton/SocialMediaButton.js +4 -4
  50. package/dist/cjs/b/ThemeSelector/ThemeSelector.js +1 -1
  51. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  52. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  53. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  54. package/dist/cjs/c/SocialMediaShareButton/SocialMediaShareButton.js +111 -0
  55. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  56. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  57. package/dist/cjs/c/index.js +9 -1
  58. package/dist/cjs/f/FormInput/FormInput.js +26 -3
  59. package/dist/cjs/f/FormInput/styles.scss +11 -0
  60. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  61. package/dist/cjs/f/common/Description/Description.js +20 -14
  62. package/dist/cjs/f/common/Label/Label.js +1 -1
  63. package/dist/cjs/f/common/Label/styles.scss +1 -1
  64. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  65. package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  66. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  67. package/dist/cjs/f/fields/IntlTelInput/IntlTelInput.js +170 -0
  68. package/dist/cjs/f/fields/IntlTelInput/index.js +15 -0
  69. package/dist/cjs/f/fields/IntlTelInput/styles.scss +37 -0
  70. package/dist/cjs/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +180 -0
  71. package/dist/cjs/f/fields/PhoneIntlTelInput/index.js +15 -0
  72. package/dist/cjs/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  73. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +235 -0
  74. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +208 -0
  75. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  76. package/dist/cjs/f/fields/QueryCombobox/common/Menu/Menu.js +103 -0
  77. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  78. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +307 -0
  79. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  80. package/dist/cjs/f/fields/QueryCombobox/common/index.js +29 -0
  81. package/dist/cjs/f/fields/QueryCombobox/index.js +15 -0
  82. package/dist/cjs/f/fields/QueryCombobox/styles.scss +90 -0
  83. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +201 -0
  84. package/dist/cjs/f/fields/QuerySelect/index.js +15 -0
  85. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  86. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
  87. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  88. package/dist/cjs/f/fields/SelectInput/SelectInput.js +59 -14
  89. package/dist/cjs/f/fields/SelectInput/styles.scss +33 -13
  90. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  91. package/dist/cjs/f/fields/TextInput/TextInput.js +50 -13
  92. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  93. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +41 -15
  94. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  95. package/dist/cjs/f/fields/index.js +15 -23
  96. package/dist/cjs/form-reset.scss +1 -1
  97. package/dist/cjs/index.js +26 -0
  98. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  99. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  100. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +49 -0
  101. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  102. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  103. package/dist/cjs/test/QueryLoader/index.js +15 -0
  104. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  105. package/dist/cjs/test/index.js +13 -0
  106. package/dist/cjs/utils/hooks/index.js +23 -0
  107. package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
  108. package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
  109. package/dist/cjs/utils/index.js +19 -0
  110. package/dist/es/a/Alert/Alert.js +118 -0
  111. package/dist/es/a/Alert/index.js +2 -0
  112. package/dist/es/a/Alert/styles.scss +74 -0
  113. package/dist/es/a/AppContext/Context.js +2 -0
  114. package/dist/es/a/AppContext/ContextProvider.js +78 -0
  115. package/dist/es/a/AppContext/index.js +5 -0
  116. package/dist/es/a/AppContext/useApp.js +3 -0
  117. package/dist/es/a/AppContext/useTheme.js +34 -0
  118. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  119. package/dist/es/a/BackgroundGradient/index.js +2 -0
  120. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  121. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  122. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  123. package/dist/es/a/ContentTree/common/Tree/index.js +2 -0
  124. package/dist/es/a/ContentTree/common/index.js +3 -0
  125. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  126. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  127. package/dist/es/a/ContentTree/index.js +2 -0
  128. package/dist/es/a/ContentTree/styles.scss +33 -0
  129. package/dist/es/a/Conversation/Conversation.js +14 -8
  130. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  131. package/dist/es/a/Conversation/styles.scss +132 -33
  132. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  133. package/dist/es/a/OvalIllustration/index.js +2 -0
  134. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  135. package/dist/es/a/Popover/Popover.js +118 -0
  136. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  137. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  138. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  139. package/dist/es/a/Popover/common/Item/index.js +2 -0
  140. package/dist/es/a/Popover/common/index.js +2 -0
  141. package/dist/es/a/Popover/index.js +2 -0
  142. package/dist/es/a/Popover/styles.scss +33 -0
  143. package/dist/es/a/Shapes/Shapes.js +9 -1
  144. package/dist/es/a/Shapes/styles.scss +42 -9
  145. package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
  146. package/dist/es/a/SnapScroller/index.js +2 -0
  147. package/dist/es/a/SnapScroller/styles.scss +38 -0
  148. package/dist/es/a/index.js +8 -2
  149. package/dist/es/b/Button/Button.js +8 -2
  150. package/dist/es/b/Button/styles.scss +55 -10
  151. package/dist/es/b/Logo/Logo.js +41 -41
  152. package/dist/es/b/Logo/styles.scss +0 -138
  153. package/dist/es/b/Page/common/PageHelmet/PageHelmet.js +2 -2
  154. package/dist/es/b/Page/common/Section/Section.js +17 -3
  155. package/dist/es/b/SocialMediaButton/SocialMediaButton.js +5 -5
  156. package/dist/es/b/ThemeSelector/ThemeSelector.js +2 -2
  157. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  158. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  159. package/dist/es/c/ContentSlides/styles.scss +10 -4
  160. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +95 -0
  161. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  162. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  163. package/dist/es/c/index.js +2 -1
  164. package/dist/es/f/FormInput/FormInput.js +26 -3
  165. package/dist/es/f/FormInput/styles.scss +11 -0
  166. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  167. package/dist/es/f/common/Description/Description.js +19 -14
  168. package/dist/es/f/common/Label/Label.js +1 -1
  169. package/dist/es/f/common/Label/styles.scss +1 -1
  170. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  171. package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  172. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  173. package/dist/es/f/fields/IntlTelInput/IntlTelInput.js +152 -0
  174. package/dist/es/f/fields/IntlTelInput/index.js +2 -0
  175. package/dist/es/f/fields/IntlTelInput/styles.scss +37 -0
  176. package/dist/es/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +163 -0
  177. package/dist/es/f/fields/PhoneIntlTelInput/index.js +2 -0
  178. package/dist/es/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  179. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +212 -0
  180. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +188 -0
  181. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  182. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  183. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  184. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +279 -0
  185. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  186. package/dist/es/f/fields/QueryCombobox/common/index.js +3 -0
  187. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  188. package/dist/es/f/fields/QueryCombobox/styles.scss +90 -0
  189. package/dist/es/f/fields/QuerySelect/QuerySelect.js +179 -0
  190. package/dist/es/f/fields/QuerySelect/index.js +2 -0
  191. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  192. package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
  193. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  194. package/dist/es/f/fields/SelectInput/SelectInput.js +58 -14
  195. package/dist/es/f/fields/SelectInput/styles.scss +33 -13
  196. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  197. package/dist/es/f/fields/TextInput/TextInput.js +50 -13
  198. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  199. package/dist/es/f/fields/TextareaInput/TextareaInput.js +41 -15
  200. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  201. package/dist/es/f/fields/index.js +3 -4
  202. package/dist/es/form-reset.scss +1 -1
  203. package/dist/es/index.js +3 -1
  204. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  205. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  206. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  207. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  208. package/dist/es/test/QueryLoader/common/index.js +1 -0
  209. package/dist/es/test/QueryLoader/index.js +2 -0
  210. package/dist/es/test/QueryLoader/styles.scss +9 -0
  211. package/dist/es/test/index.js +1 -0
  212. package/dist/es/utils/hooks/index.js +2 -0
  213. package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
  214. package/dist/es/utils/hooks/useWindowSize.js +27 -0
  215. package/dist/es/utils/index.js +1 -0
  216. package/package.json +18 -4
  217. package/relay.config.js +12 -0
  218. package/schema.graphql +4075 -0
  219. package/scripts/fetchSchema.js +74 -0
  220. package/src/__snapshots__/Storyshots.test.js.snap +10152 -5495
  221. package/src/local.scss +4 -2
  222. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  223. package/src/stories/StyleGuide/helpers.js +16 -0
  224. package/src/stories/a/Alert.stories.jsx +75 -0
  225. package/src/stories/a/{SiteContext.stories.jsx → AppContext.stories.jsx} +8 -8
  226. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  227. package/src/stories/a/ContentTree.stories.jsx +662 -0
  228. package/src/stories/a/Conversation.stories.jsx +78 -1
  229. package/src/stories/a/DotInfo.stories.jsx +14 -13
  230. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  231. package/src/stories/a/Popover.stories.jsx +106 -0
  232. package/src/stories/a/ProgressBar.stories.jsx +16 -7
  233. package/src/stories/a/Shapes.stories.jsx +18 -0
  234. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  235. package/src/stories/a/Timestamp.stories.jsx +35 -39
  236. package/src/stories/b/Button.stories.jsx +27 -4
  237. package/src/stories/b/Logo.stories.jsx +23 -14
  238. package/src/stories/b/Page.stories.jsx +25 -1
  239. package/src/stories/b/QuestionDropdown.stories.jsx +20 -30
  240. package/src/stories/b/SocialMediaButton.stories.jsx +36 -53
  241. package/src/stories/b/ThemeSelector.stories.jsx +5 -5
  242. package/src/stories/b/Title.stories.jsx +13 -15
  243. package/src/stories/c/ContentSlides.stories.jsx +35 -151
  244. package/src/stories/c/Shortener.stories.jsx +9 -3
  245. package/src/stories/c/SocialMediaShareButton.stories.jsx +33 -0
  246. package/src/stories/f/ChoicesInput.stories.jsx +91 -129
  247. package/src/stories/f/Description.stories.jsx +22 -4
  248. package/src/stories/f/FormInput.stories.jsx +259 -0
  249. package/src/stories/f/QueryCombobox.stories.jsx +273 -0
  250. package/src/stories/f/QuerySelect.stories.jsx +135 -0
  251. package/src/stories/f/RatingsInput.stories.jsx +29 -22
  252. package/src/stories/f/SelectInput.stories.jsx +41 -49
  253. package/src/stories/f/TextInput.stories.jsx +63 -43
  254. package/src/stories/f/TextareaInput.stories.jsx +63 -19
  255. package/src/stories/f/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  256. package/src/stories/f/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  257. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  258. package/src/stories/f/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  259. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  260. package/src/stories/utils/generateNodeId.js +12 -0
  261. package/src/stories/utils/lorem.js +15 -0
  262. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  263. package/src/stories/utils/relay/environment.js +5 -0
  264. package/src/stories/utils/relay/index.js +4 -0
  265. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  266. package/src/stories/utils/relay/mockResolvers.js +299 -0
  267. package/src/stories/utils/testData.js +63 -0
  268. package/src/ui/a/Alert/Alert.jsx +144 -0
  269. package/src/ui/a/Alert/index.js +2 -0
  270. package/src/ui/a/Alert/styles.scss +74 -0
  271. package/src/ui/a/{SiteContext → AppContext}/Context.js +0 -0
  272. package/src/ui/a/{SiteContext → AppContext}/ContextProvider.jsx +8 -7
  273. package/src/ui/a/AppContext/index.js +5 -0
  274. package/src/ui/a/{SiteContext/useSite.js → AppContext/useApp.js} +0 -0
  275. package/src/ui/a/{SiteContext → AppContext}/useTheme.js +0 -0
  276. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  277. package/src/ui/a/BackgroundGradient/index.js +2 -0
  278. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  279. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  280. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  281. package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
  282. package/src/ui/a/ContentTree/common/index.js +3 -0
  283. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  284. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  285. package/src/ui/a/ContentTree/index.js +2 -0
  286. package/src/ui/a/ContentTree/styles.scss +33 -0
  287. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  288. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  289. package/src/ui/a/Conversation/styles.scss +132 -33
  290. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  291. package/src/ui/a/OvalIllustration/index.js +2 -0
  292. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  293. package/src/ui/a/Popover/Popover.jsx +157 -0
  294. package/src/ui/a/Popover/index.js +2 -0
  295. package/src/ui/a/Popover/styles.scss +33 -0
  296. package/src/ui/a/Shapes/Shapes.jsx +10 -0
  297. package/src/ui/a/Shapes/styles.scss +42 -9
  298. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  299. package/src/ui/a/SnapScroller/index.js +2 -0
  300. package/src/ui/a/SnapScroller/styles.scss +38 -0
  301. package/src/ui/a/index.js +10 -4
  302. package/src/ui/b/Button/Button.jsx +9 -1
  303. package/src/ui/b/Button/styles.scss +55 -10
  304. package/src/ui/b/Logo/Logo.jsx +41 -41
  305. package/src/ui/b/Logo/styles.scss +0 -138
  306. package/src/ui/b/Page/common/PageHelmet/PageHelmet.jsx +2 -2
  307. package/src/ui/b/Page/common/Section/Section.jsx +19 -2
  308. package/src/ui/b/SocialMediaButton/SocialMediaButton.jsx +4 -4
  309. package/src/ui/b/ThemeSelector/ThemeSelector.jsx +2 -2
  310. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
  311. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  312. package/src/ui/c/ContentSlides/styles.scss +10 -4
  313. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +121 -0
  314. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  315. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  316. package/src/ui/c/index.js +1 -0
  317. package/src/ui/f/FormInput/FormInput.jsx +38 -1
  318. package/src/ui/f/FormInput/styles.scss +11 -0
  319. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  320. package/src/ui/f/common/Description/Description.jsx +34 -29
  321. package/src/ui/f/common/Label/Label.jsx +1 -1
  322. package/src/ui/f/common/Label/styles.scss +1 -1
  323. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  324. package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +10 -2
  325. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  326. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +227 -0
  327. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +218 -0
  328. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  329. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  330. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  331. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +314 -0
  332. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  333. package/src/ui/f/fields/QueryCombobox/common/index.js +3 -0
  334. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  335. package/src/ui/f/fields/QueryCombobox/styles.scss +90 -0
  336. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +200 -0
  337. package/src/ui/f/fields/QuerySelect/index.js +2 -0
  338. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
  339. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  340. package/src/ui/f/fields/SelectInput/SelectInput.jsx +66 -8
  341. package/src/ui/f/fields/SelectInput/styles.scss +33 -13
  342. package/src/ui/f/fields/TextInput/TextInput.jsx +44 -10
  343. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  344. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +42 -21
  345. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  346. package/src/ui/f/fields/index.js +2 -3
  347. package/src/ui/form-reset.scss +1 -1
  348. package/src/ui/index.js +2 -0
  349. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  350. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  351. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  352. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  353. package/src/ui/test/QueryLoader/common/index.js +1 -0
  354. package/src/ui/test/QueryLoader/index.js +2 -0
  355. package/src/ui/test/index.js +1 -0
  356. package/src/ui/utils/hooks/index.js +2 -0
  357. package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
  358. package/src/ui/utils/hooks/useWindowSize.js +32 -0
  359. package/src/ui/utils/index.js +1 -0
  360. package/stylelint.config.js +13 -13
  361. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  362. package/src/stories/f/RadioInput.stories.jsx +0 -37
  363. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  364. package/src/ui/a/SiteContext/index.js +0 -5
  365. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  366. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  367. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  368. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  369. package/src/ui/f/fields/RadioInput/index.js +0 -2
  370. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  371. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  372. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  373. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -7,29 +7,29 @@ import { SVG } from "../../a"; // Local Definitions
7
7
 
8
8
  const baseClassName = styleNames.base;
9
9
  const componentClassName = 'logo';
10
- const defaultTargets = [{
11
- id: 'logo__p',
12
- target: 'logo__p'
13
- }, {
14
- id: 'logo__areto',
15
- target: 'logo__areto'
10
+ const defaultTargetssquare = [{
11
+ id: 'logo',
12
+ target: 'logo'
13
+ }];
14
+ const contentMapSquare = {
15
+ default: {
16
+ sprite: '/logo_square.svg',
17
+ viewBox: '0 0 39 39',
18
+ targets: defaultTargetssquare
19
+ }
20
+ };
21
+ const defaultTargetsWithName = [{
22
+ id: 'logo_squares',
23
+ target: 'logo_squares'
16
24
  }, {
17
- id: 'logo__t',
18
- target: 'logo__t'
25
+ id: 'logo_pareto',
26
+ target: 'logo_pareto'
19
27
  }];
20
- const contentMap = {
28
+ const contentMapWithName = {
21
29
  default: {
22
- sprite: '/logo_parts.svg',
23
- viewBox: '0 0 688 250',
24
- targets: defaultTargets
25
- },
26
- beta: {
27
- sprite: '/logo_parts_beta.svg',
28
- viewBox: '0 0 1000 300',
29
- targets: [...defaultTargets, {
30
- id: 'logo__beta',
31
- target: 'logo__beta'
32
- }]
30
+ sprite: '/logo.svg',
31
+ viewBox: '0 0 156 30',
32
+ targets: defaultTargetsWithName
33
33
  }
34
34
  };
35
35
  /**
@@ -41,16 +41,17 @@ const Logo = ({
41
41
  className: userClassName,
42
42
  style,
43
43
  color,
44
- animated,
45
- loop,
46
44
  height,
47
45
  width,
48
- variant // ...otherProps
46
+ variant,
47
+ strokeColor,
48
+ square // ...otherProps
49
49
 
50
50
  }) => {
51
51
  useLayoutEffect(() => {
52
52
  import("./styles.scss");
53
53
  }, []);
54
+ const contentMap = square ? contentMapSquare : contentMapWithName;
54
55
  const svgConfig = useMemo(() => contentMap[variant], [variant]);
55
56
  return /*#__PURE__*/React.createElement(SVG, {
56
57
  height: height,
@@ -59,9 +60,8 @@ const Logo = ({
59
60
  targets: svgConfig.targets,
60
61
  sprite: svgConfig.sprite,
61
62
  id: id,
62
- className: [baseClassName, componentClassName, `x-${color}`, userClassName, loop && 'loop'].filter(e => e).join(' '),
63
- style: style,
64
- animated: animated // {...otherProps}
63
+ className: [baseClassName, componentClassName, `x-${color}`, `y-${strokeColor}`, userClassName].filter(e => e).join(' '),
64
+ style: style // {...otherProps}
65
65
 
66
66
  });
67
67
  };
@@ -88,35 +88,35 @@ Logo.propTypes = {
88
88
  color: PropTypes.string,
89
89
 
90
90
  /**
91
- * Whether the logo is animated
91
+ * The height of the element
92
92
  */
93
- animated: PropTypes.bool,
93
+ height: PropTypes.string,
94
94
 
95
95
  /**
96
- * Whether the animation loops
96
+ * The width of the element
97
97
  */
98
- loop: PropTypes.bool,
98
+ width: PropTypes.string,
99
99
 
100
100
  /**
101
- * The height of the element
101
+ * The variant to display. At the moment only `beta` is available.
102
102
  */
103
- height: PropTypes.string,
103
+ variant: PropTypes.string,
104
104
 
105
105
  /**
106
- * The width of the element
106
+ * The color of the svg stroke
107
107
  */
108
- width: PropTypes.string,
108
+ strokeColor: PropTypes.string,
109
109
 
110
110
  /**
111
- * The variant to display. At the moment only `beta` is available.
111
+ * Whether the logo should have a name.
112
112
  */
113
- variant: PropTypes.string
113
+ square: PropTypes.bool
114
114
  };
115
115
  Logo.defaultProps = {
116
- color: 'primary',
117
- animated: false,
118
- loop: false,
119
- height: '4em',
120
- variant: 'default'
116
+ color: 'paragraph',
117
+ height: '2em',
118
+ variant: 'default',
119
+ strokeColor: 'transparent',
120
+ square: false
121
121
  };
122
122
  export default Logo;
@@ -1,147 +1,9 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
2
 
3
- /* stylelint-disable selector-id-pattern, selector-max-id -- because of the custom svg */
4
-
5
3
  @use "@pareto-engineering/bem";
6
4
 
7
- // Main animation - finishes after the drawing
8
-
9
- @keyframes draw-logo-p {
10
- 0% {
11
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
12
- }
13
-
14
- 20%,
15
- 100% {
16
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
17
- }
18
- }
19
- @keyframes draw-logo-areto {
20
- 0%,
21
- 20% {
22
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
23
- }
24
-
25
- 90%,
26
- 100% {
27
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
28
- }
29
- }
30
- @keyframes draw-logo-t {
31
- 0%,
32
- 90% {
33
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
34
- }
35
-
36
- 100% {
37
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
38
- }
39
- }
40
-
41
- // Alt animation - looping
42
-
43
- @keyframes draw-alt-logo-p {
44
- 0% {
45
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
46
- }
47
-
48
- 10%,
49
- 50% {
50
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
51
- }
52
-
53
- 60%,
54
- 100% {
55
- stroke-dashoffset: var(--svg-final-stroke-dashoffset, 1000);
56
- }
57
- }
58
- @keyframes draw-alt-logo-areto {
59
- 0%,
60
- 10% {
61
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
62
- }
63
-
64
- 45%,
65
- 60% {
66
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
67
- }
68
-
69
- 95%,
70
- 100% {
71
- stroke-dashoffset: var(--svg-final-stroke-dashoffset, 1000);
72
- }
73
- }
74
- @keyframes draw-alt-logo-t {
75
- 0%,
76
- 45% {
77
- stroke-dashoffset: var(--svg-origin-stroke-dashoffset, 1000);
78
- }
79
-
80
- 50%,
81
- 95% {
82
- stroke-dashoffset: var(--svg-target-stroke-dashoffset, 0);
83
- }
84
-
85
- 100% {
86
- stroke-dashoffset: var(--svg-final-stroke-dashoffset, 1000);
87
- }
88
- }
89
-
90
5
  .#{bem.$base}.logo {
91
- &.animated.animated {
92
- --svg-animation-repeats: 1;
93
- --svg-animation-time: 3.5s;
94
-
95
- &:hover,
96
- &:focus {
97
- //--path-animation: dash-a 1s linear 0s 1 forwards;
98
- }
99
-
100
- use#logo__p {
101
- //--svg-animation-delay: 0;
102
- --svg-dasharray: 1000;
103
- --svg-origin-stroke-dashoffset: -1000;
104
- //--svg-target-stroke-dashoffset: 0;
105
- --svg-final-stroke-dashoffset: 1000;
106
- animation-name: draw-logo-p;
107
- }
108
-
109
- use#logo__areto {
110
- --svg-dasharray: 2000;
111
- --svg-origin-stroke-dashoffset: 2000;
112
- //--svg-target-stroke-dashoffset: 0;
113
- --svg-final-stroke-dashoffset: -2000;
114
- animation-name: draw-logo-areto;
115
- }
116
-
117
- use#logo__t {
118
- --svg-dasharray: 200;
119
- --svg-origin-stroke-dashoffset: 200;
120
- //--svg-target-stroke-dashoffset: 0;
121
- --svg-final-stroke-dashoffset: -200;
122
- animation-name: draw-logo-t;
123
- }
124
-
125
- &.loop.loop {
126
- --svg-animation-time: 6s;
127
- --svg-animation-repeats: infinite;
128
-
129
- use#logo__p {
130
- --svg-final-stroke-dashoffset: 1000;
131
- animation-name: draw-alt-logo-p;
132
- }
133
-
134
- use#logo__areto {
135
- --svg-final-stroke-dashoffset: -2000;
136
- animation-name: draw-alt-logo-areto;
137
- }
138
6
 
139
- use#logo__t {
140
- --svg-final-stroke-dashoffset: -200;
141
- animation-name: draw-alt-logo-t;
142
- }
143
- }
144
- }
145
7
  }
146
8
 
147
9
 
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { useMemo } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { Helmet } from 'react-helmet';
6
- import { useSite } from "../../../../a";
6
+ import { useApp } from "../../../../a";
7
7
  const helmetMap = [{
8
8
  variables: ['robots'],
9
9
  render: v => /*#__PURE__*/React.createElement("meta", {
@@ -117,7 +117,7 @@ const helmetMap = [{
117
117
  const PageHelmet = ({ ...props
118
118
  }) => {
119
119
  // const intl = useIntl()
120
- const context = useSite();
120
+ const context = useApp();
121
121
  const HelmetContent = useMemo(() => helmetMap.reduce(
122
122
  /* eslint-disable no-unused-vars -- TODO add test or ssr mode */
123
123
  (a, {
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import styleNames from '@pareto-engineering/bem'; // Local Definitions
7
7
 
8
- import { Shapes } from "../../../../a";
8
+ import { Shapes, BackgroundGradient } from "../../../../a";
9
9
  import usePage from "../../usePage";
10
10
  const baseClassName = styleNames.base;
11
11
  const componentClassName = 'section';
@@ -16,6 +16,8 @@ const Section = ({
16
16
  style,
17
17
  children,
18
18
  backgroundShape,
19
+ backgroundGradient,
20
+ backgroundGradientHeight,
19
21
  backgroundVerticalAlign,
20
22
  backgroundHorizontalAlign,
21
23
  backgroundHeight,
@@ -33,9 +35,11 @@ const Section = ({
33
35
  }, otherProps), children, backgroundShape && /*#__PURE__*/React.createElement(Shapes, {
34
36
  verticalAlign: backgroundVerticalAlign,
35
37
  horizontalAlign: backgroundHorizontalAlign,
36
- backgroundOverflow: backgroundOverflow,
38
+ overflow: backgroundOverflow,
37
39
  height: backgroundHeight,
38
40
  shape: backgroundShape
41
+ }), backgroundGradient && /*#__PURE__*/React.createElement(BackgroundGradient, {
42
+ height: backgroundGradientHeight
39
43
  }));
40
44
  };
41
45
 
@@ -83,7 +87,17 @@ Section.propTypes = {
83
87
  /**
84
88
  * The background overflow to use for if the background shape is set.
85
89
  */
86
- backgroundOverflow: PropTypes.oneOf(['visible', 'hidden', 'scroll'])
90
+ backgroundOverflow: PropTypes.oneOf(['visible', 'hidden', 'scroll']),
91
+
92
+ /**
93
+ * The background gradient to use for if the background gradient is set.
94
+ */
95
+ backgroundGradient: PropTypes.bool,
96
+
97
+ /**
98
+ * The background gradient height to use for if the background gradient is set.
99
+ */
100
+ backgroundGradientHeight: PropTypes.string
87
101
  };
88
102
  Section.defaultProps = {// someProp:false
89
103
  };
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import { useLayoutEffect } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import styleNames from '@pareto-engineering/bem';
8
- import { useSite } from "../../a"; // Local Definitions
8
+ import { useApp } from "../../a"; // Local Definitions
9
9
 
10
10
  const baseClassName = styleNames.base;
11
11
  const componentClassName = 'social-media-button';
@@ -30,7 +30,7 @@ const defaultsMap = {
30
30
  /**
31
31
  * This is the component description.
32
32
  * This component takes `y` as the default color and `x` as the hover color.
33
- * This components needs to be wrapped within a `SiteContextProvider`.
33
+ * This components needs to be wrapped within a `AppContextProvider`.
34
34
  */
35
35
 
36
36
  const SocialMediaButton = ({
@@ -44,14 +44,14 @@ const SocialMediaButton = ({
44
44
  isTransparent,
45
45
  ...otherProps
46
46
  }) => {
47
- var _siteContext$SOCIAL;
47
+ var _applicationContext$S;
48
48
 
49
- const siteContext = useSite();
49
+ const applicationContext = useApp();
50
50
  useLayoutEffect(() => {
51
51
  import("./styles.scss");
52
52
  }, []);
53
53
  const content = type && defaultsMap[type];
54
- const href = link || (siteContext === null || siteContext === void 0 ? void 0 : (_siteContext$SOCIAL = siteContext.SOCIAL) === null || _siteContext$SOCIAL === void 0 ? void 0 : _siteContext$SOCIAL[content.link]);
54
+ const href = link || (applicationContext === null || applicationContext === void 0 ? void 0 : (_applicationContext$S = applicationContext.SOCIAL) === null || _applicationContext$S === void 0 ? void 0 : _applicationContext$S[content.link]);
55
55
  return /*#__PURE__*/React.createElement("a", {
56
56
  href: href,
57
57
  target: "_blank",
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { useLayoutEffect, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import styleNames from '@pareto-engineering/bem';
6
- import { useSite } from "../../a"; // Local Definitions
6
+ import { useApp } from "../../a"; // Local Definitions
7
7
 
8
8
  const baseClassName = styleNames.base;
9
9
  const componentClassName = 'theme-selector';
@@ -22,7 +22,7 @@ const ThemeSelector = ({
22
22
  const {
23
23
  userTheme,
24
24
  setPreferredTheme
25
- } = useSite();
25
+ } = useApp();
26
26
  useLayoutEffect(() => {
27
27
  import("./styles.scss");
28
28
  }, []);
@@ -19,7 +19,8 @@ const HorizontalMenu = ({
19
19
  logoColor,
20
20
  hideBackIcon,
21
21
  stepsBackwards,
22
- customPrevStep // ...otherProps
22
+ customPrevStep,
23
+ color // ...otherProps
23
24
 
24
25
  }) => {
25
26
  const {
@@ -48,25 +49,25 @@ const HorizontalMenu = ({
48
49
  progress: currentStep.progress,
49
50
  attached: true,
50
51
  height: ".4em",
51
- color: "main2",
52
+ color: color,
52
53
  className: "y-background1 b-dark-y"
53
54
  }), /*#__PURE__*/React.createElement("div", {
54
55
  className: styleNames.elementContent
55
56
  }, /*#__PURE__*/React.createElement("div", {
56
57
  className: "left"
57
58
  }, !isFirstStep && !hideBackIcon && /*#__PURE__*/React.createElement("span", {
58
- className: "f-icons pointer",
59
+ className: "prev-button pointer",
59
60
  onClick: mobilePreviousStep,
60
61
  role: "button",
61
62
  onKeyDown: mobilePreviousStep,
62
63
  tabIndex: 0
63
- }, "H")), /*#__PURE__*/React.createElement("div", {
64
+ }, '<--')), /*#__PURE__*/React.createElement("div", {
64
65
  className: "title"
65
66
  }, /*#__PURE__*/React.createElement("span", {
66
67
  className: "md-h lg-h"
67
68
  }, currentStep === null || currentStep === void 0 ? void 0 : currentStep.title), /*#__PURE__*/React.createElement(Logo, {
68
- className: "xs-h sm-h",
69
- height: "2em",
69
+ className: "xs-h sm-h y-transparent",
70
+ height: "1.1em",
70
71
  color: logoColor
71
72
  }))));
72
73
  };
@@ -105,10 +106,16 @@ HorizontalMenu.propTypes = {
105
106
  /**
106
107
  * Hide back icon boolean
107
108
  */
108
- hideBackIcon: PropTypes.bool
109
+ hideBackIcon: PropTypes.bool,
110
+
111
+ /**
112
+ * String that will represent color for Progress bar
113
+ */
114
+ color: PropTypes.string
109
115
  };
110
116
  HorizontalMenu.defaultProps = {
111
- logoColor: 'main2',
112
- stepsBackwards: 1
117
+ logoColor: 'paragraph',
118
+ stepsBackwards: 1,
119
+ color: 'main2'
113
120
  };
114
121
  export default HorizontalMenu;
@@ -56,7 +56,8 @@ const Navigator = ({
56
56
  } else {
57
57
  setNextStepIndex(stepsForward);
58
58
  }
59
- }
59
+ },
60
+ isCompact: true
60
61
  }, "Next") : /*#__PURE__*/React.createElement("span", null));
61
62
  };
62
63
 
@@ -118,8 +119,8 @@ Navigator.propTypes = {
118
119
  };
119
120
  Navigator.defaultProps = {
120
121
  canMoveForward: true,
121
- previousColor: 'main1',
122
- nextColor: 'main1',
122
+ previousColor: 'main2',
123
+ nextColor: 'main2',
123
124
  stepsForward: 1,
124
125
  stepsBackwards: 1
125
126
  };
@@ -14,7 +14,7 @@ $class-navigator:navigator;
14
14
  $default-sidebar-width:minmax(250px, 330px);
15
15
  $default-border:none;//2px solid var(--grid);
16
16
  $default-border-radius:var(--theme-border-radius);
17
- $default-content-background:var(--y);
17
+ $default-content-background: var(--background1);
18
18
  $default-padding:var(--u);
19
19
 
20
20
  $mobile-content-margin:6em;
@@ -61,7 +61,6 @@ $mobile-content-margin:6em;
61
61
 
62
62
  //.#{$class-main-container} {
63
63
  main {
64
- background: var(--dark-y);
65
64
  overflow: hidden;
66
65
  position: relative;
67
66
 
@@ -79,7 +78,7 @@ $mobile-content-margin:6em;
79
78
  .#{bem.$element-content} {
80
79
  background: $default-content-background;
81
80
 
82
- border: $default-border;
81
+ border: var(--theme-border);
83
82
  border-radius: $default-border-radius;
84
83
  max-width: 600px;
85
84
  padding: $default-padding;
@@ -108,8 +107,9 @@ $mobile-content-margin:6em;
108
107
 
109
108
  .#{$class-horizontal-menu} {
110
109
  background: $default-content-background;
111
- border-bottom: $default-border;
110
+ border-bottom: var(--theme-border);
112
111
  color: var(--heading);
112
+ z-index: 1;
113
113
 
114
114
  .#{bem.$element-content} {
115
115
  display: grid;
@@ -124,6 +124,11 @@ $mobile-content-margin:6em;
124
124
 
125
125
  .left {
126
126
  text-align: left;
127
+
128
+ .prev-button {
129
+ font-family: var(--theme-default-paragraph);
130
+ font-size: calc(var(--s2) * 1em);
131
+ }
127
132
  }
128
133
 
129
134
  .right {
@@ -210,6 +215,7 @@ $mobile-content-margin:6em;
210
215
 
211
216
  .next {
212
217
  flex-grow: 1;
218
+ justify-content: flex-end;
213
219
  }
214
220
  }
215
221
  }
@@ -0,0 +1,95 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useLayoutEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
6
+
7
+ const baseClassName = styleNames.base;
8
+ const componentClassName = 'social-media-share-button';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const SocialMediaShareButton = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ icon,
18
+ // children,
19
+ type,
20
+ color
21
+ }) => {
22
+ useLayoutEffect(() => {
23
+ import("./styles.scss");
24
+ }, []);
25
+ const isServer = typeof window === 'undefined';
26
+ const link = isServer ? '' : window.location.href; // We can pass additional text to the social media share buttons such as the title.
27
+ // See commented code below for an example on how to pass text.
28
+ // It is important we encode the text with the encodeURIComponent function to pass
29
+ // special characters (such as |, &, etc.) properly through the URL.
30
+ // const title = isServer ? '' : encodeURIComponent(document.title)
31
+
32
+ const defaultsMap = {
33
+ facebook: {
34
+ icon: 'f',
35
+ link: `https://www.facebook.com/sharer/sharer.php?u=${link}` // link: `https://www.facebook.com/sharer/sharer.php?u=${link}&quote=${title}`,
36
+
37
+ },
38
+ twitter: {
39
+ icon: 't',
40
+ link: `https://twitter.com/intent/tweet?url=${link}` // link: `https://twitter.com/intent/tweet?text=${title}&url=${link}`,
41
+
42
+ }
43
+ };
44
+ return /*#__PURE__*/React.createElement("a", {
45
+ href: defaultsMap[type].link,
46
+ target: "_blank",
47
+ rel: "noreferrer",
48
+ id: id,
49
+ className: [baseClassName, componentClassName, `x-${color || type}`, userClassName].filter(e => e).join(' '),
50
+ style: style
51
+ }, /*#__PURE__*/React.createElement("button", {
52
+ type: "button"
53
+ }, icon || defaultsMap[type].icon));
54
+ };
55
+
56
+ SocialMediaShareButton.propTypes = {
57
+ /**
58
+ * The HTML id for this element
59
+ */
60
+ id: PropTypes.string,
61
+
62
+ /**
63
+ * The HTML class names for this element
64
+ */
65
+ className: PropTypes.string,
66
+
67
+ /**
68
+ * The React-written, css properties for this element.
69
+ */
70
+ style: PropTypes.objectOf(PropTypes.string),
71
+
72
+ /**
73
+ * The children JSX
74
+ */
75
+ // children:PropTypes.node,
76
+
77
+ /**
78
+ * The Social Media to Target.
79
+ * If blank, you need to provide both an icon letter (from glyphter) and a link.
80
+ */
81
+ type: PropTypes.oneOf(['twitter', 'facebook']),
82
+
83
+ /**
84
+ * The icon of the social media
85
+ */
86
+ icon: PropTypes.string,
87
+
88
+ /**
89
+ * The button color
90
+ */
91
+ color: PropTypes.string
92
+ };
93
+ SocialMediaShareButton.defaultProps = {// someProp:false
94
+ };
95
+ export default SocialMediaShareButton;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SocialMediaShareButton } from "./SocialMediaShareButton";
@@ -0,0 +1,39 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+ @use "@aztlan/stylebook/src/mixins";
5
+ @use "@aztlan/stylebook/src/globals" as *;
6
+
7
+ $default-dimensions: 2em;
8
+ $mobile-dimensions: 2.75em;
9
+
10
+ .#{bem.$base}.social-media-share-button{
11
+
12
+ > button {
13
+ appearance: none;
14
+ background: transparent;
15
+ border: 0;
16
+ border-radius: 3em;
17
+ color: var(--x);
18
+ cursor: pointer;
19
+ font-family: "icons", sans-serif;
20
+ height: $default-dimensions;
21
+ transition: all .3s;
22
+ width: $default-dimensions;
23
+
24
+ @include mixins.media($to:$sm-md) {
25
+ height: $mobile-dimensions;
26
+ width: $mobile-dimensions;
27
+ }
28
+
29
+ &:hover {
30
+ background: var(--x);
31
+ color: var(--on-x);
32
+ }
33
+
34
+ &:focus, &:active {
35
+ background: var(--light-x);
36
+ color: var(--on-x);
37
+ }
38
+ }
39
+ }
@@ -1,3 +1,4 @@
1
1
  export { Hero } from "./Hero";
2
2
  export { ContentSlides, useContentSlides } from "./ContentSlides";
3
- export { Shortener } from "./Shortener";
3
+ export { Shortener } from "./Shortener";
4
+ export { SocialMediaShareButton } from "./SocialMediaShareButton";