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

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 (460) 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/{GradientBackground/GradientBackground.js → Alert/Alert.js} +68 -67
  5. package/dist/cjs/{c/SiteFooter/common/Section → a/Alert}/index.js +3 -3
  6. package/dist/cjs/a/Alert/styles.scss +74 -0
  7. package/dist/cjs/{c/BlogContext → a/AppContext}/Context.js +0 -0
  8. package/dist/cjs/a/AppContext/ContextProvider.js +96 -0
  9. package/dist/cjs/{c/BlogContext → a/AppContext}/index.js +13 -5
  10. package/dist/cjs/{c/BlogContext/useBlog.js → a/AppContext/useApp.js} +0 -0
  11. package/dist/cjs/a/AppContext/useTheme.js +45 -0
  12. package/dist/cjs/{c/SiteFooter/common/Section/Section.js → a/BackgroundGradient/BackgroundGradient.js} +20 -38
  13. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  14. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  15. package/dist/cjs/{experimental/GradientBackground/GradientBackground.js → a/ColumnLabel/ColumnLabel.js} +32 -30
  16. package/dist/cjs/{c/SiteMission → a/ColumnLabel}/index.js +3 -3
  17. package/dist/cjs/a/ColumnLabel/styles.scss +22 -0
  18. package/dist/cjs/{c/TeamGallery/TeamGallery.js → a/ContentTree/ContentTree.js} +23 -20
  19. package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
  20. package/dist/cjs/{c/BlogPostsList/common/Card → a/ContentTree/common/Tree}/index.js +3 -3
  21. package/dist/cjs/a/ContentTree/common/index.js +31 -0
  22. package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
  23. package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
  24. package/dist/cjs/{c/SitePricing → a/ContentTree}/index.js +3 -3
  25. package/dist/cjs/a/ContentTree/styles.scss +33 -0
  26. package/dist/cjs/a/Conversation/Conversation.js +14 -8
  27. package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
  28. package/dist/cjs/a/Conversation/styles.scss +132 -33
  29. package/dist/cjs/{c/SiteFooter/SiteFooter.js → a/Label/Label.js} +28 -14
  30. package/dist/cjs/{f/fields/TextArea → a/Label}/index.js +3 -3
  31. package/dist/cjs/a/Label/styles.scss +34 -0
  32. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  33. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  34. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  35. package/dist/cjs/{c/AcceptCookies/AcceptCookies.js → a/Popover/Popover.js} +57 -57
  36. package/dist/cjs/{c/BlogPost → a/Popover}/index.js +3 -3
  37. package/dist/cjs/a/Popover/styles.scss +33 -0
  38. package/dist/cjs/a/Shapes/Shapes.js +9 -1
  39. package/dist/cjs/a/Shapes/styles.scss +42 -9
  40. package/dist/cjs/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +15 -11
  41. package/dist/cjs/{c/SiteFooter → a/SnapScroller}/index.js +3 -3
  42. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  43. package/dist/cjs/a/index.js +65 -9
  44. package/dist/cjs/b/Button/Button.js +10 -4
  45. package/dist/cjs/b/Button/styles.scss +55 -10
  46. package/dist/cjs/b/Logo/Logo.js +41 -41
  47. package/dist/cjs/b/Logo/styles.scss +0 -138
  48. package/dist/cjs/b/Page/common/PageHelmet/PageHelmet.js +1 -1
  49. package/dist/cjs/b/Page/common/Section/Section.js +17 -3
  50. package/dist/cjs/b/SocialMediaButton/SocialMediaButton.js +4 -4
  51. package/dist/cjs/b/ThemeSelector/ThemeSelector.js +1 -1
  52. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  53. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  54. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  55. package/dist/cjs/c/{SiteHeaderCTA/SiteHeaderCTA.js → SocialMediaShareButton/SocialMediaShareButton.js} +46 -43
  56. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  57. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  58. package/dist/cjs/c/index.js +9 -1
  59. package/dist/cjs/f/FormInput/FormInput.js +26 -3
  60. package/dist/cjs/f/FormInput/styles.scss +11 -0
  61. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  62. package/dist/cjs/f/common/Description/Description.js +20 -14
  63. package/dist/cjs/f/common/Label/Label.js +1 -1
  64. package/dist/cjs/f/common/Label/styles.scss +1 -1
  65. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  66. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  67. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +235 -0
  68. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +208 -0
  69. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  70. package/dist/cjs/{c/BlogCategoryButton/BlogCategoryButton.js → f/fields/QueryCombobox/common/Menu/Menu.js} +39 -31
  71. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  72. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +307 -0
  73. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  74. package/dist/cjs/f/fields/QueryCombobox/common/index.js +29 -0
  75. package/dist/cjs/{c/AcceptCookies → f/fields/QueryCombobox}/index.js +3 -3
  76. package/dist/cjs/f/fields/QueryCombobox/styles.scss +90 -0
  77. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +201 -0
  78. package/dist/cjs/{c/TeamGallery → f/fields/QuerySelect}/index.js +3 -3
  79. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
  80. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  81. package/dist/cjs/f/fields/SelectInput/SelectInput.js +59 -14
  82. package/dist/cjs/f/fields/SelectInput/styles.scss +33 -13
  83. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +2 -2
  84. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +0 -4
  85. package/dist/cjs/f/fields/TextInput/TextInput.js +50 -13
  86. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  87. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +41 -15
  88. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  89. package/dist/cjs/f/fields/index.js +15 -23
  90. package/dist/cjs/form-reset.scss +1 -1
  91. package/dist/cjs/index.js +26 -0
  92. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  93. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  94. package/dist/cjs/{c/BlogContext/ContextProvider.js → test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js} +13 -27
  95. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  96. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  97. package/dist/cjs/test/QueryLoader/index.js +15 -0
  98. package/dist/cjs/{c/TeamGallery/common → test}/index.js +3 -3
  99. package/dist/cjs/utils/hooks/index.js +23 -0
  100. package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
  101. package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
  102. package/dist/cjs/utils/index.js +19 -0
  103. package/dist/es/a/Alert/Alert.js +118 -0
  104. package/dist/es/{c/SiteFooter/common/Section → a/Alert}/index.js +1 -1
  105. package/dist/es/a/Alert/styles.scss +74 -0
  106. package/dist/es/{c/BlogContext → a/AppContext}/Context.js +0 -0
  107. package/dist/es/a/AppContext/ContextProvider.js +78 -0
  108. package/dist/es/a/AppContext/index.js +5 -0
  109. package/dist/es/{c/BlogContext/useBlog.js → a/AppContext/useApp.js} +0 -0
  110. package/dist/es/a/AppContext/useTheme.js +34 -0
  111. package/dist/es/{c/SiteFooter/SiteFooter.js → a/BackgroundGradient/BackgroundGradient.js} +14 -15
  112. package/dist/es/a/BackgroundGradient/index.js +2 -0
  113. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  114. package/dist/es/a/ColumnLabel/ColumnLabel.js +78 -0
  115. package/dist/es/a/ColumnLabel/index.js +2 -0
  116. package/dist/es/a/ColumnLabel/styles.scss +22 -0
  117. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  118. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  119. package/dist/es/{c/BlogPostsList/common/Card → a/ContentTree/common/Tree}/index.js +1 -1
  120. package/dist/es/a/ContentTree/common/index.js +3 -0
  121. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  122. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  123. package/dist/es/a/ContentTree/index.js +2 -0
  124. package/dist/es/a/ContentTree/styles.scss +33 -0
  125. package/dist/es/a/Conversation/Conversation.js +14 -8
  126. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  127. package/dist/es/a/Conversation/styles.scss +132 -33
  128. package/dist/es/{c/TeamGallery/TeamGallery.js → a/Label/Label.js} +30 -23
  129. package/dist/es/{f/fields/TextArea → a/Label}/index.js +1 -1
  130. package/dist/es/a/Label/styles.scss +34 -0
  131. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  132. package/dist/es/a/OvalIllustration/index.js +2 -0
  133. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  134. package/dist/es/a/Popover/Popover.js +118 -0
  135. package/dist/es/{c/BlogPost → a/Popover}/index.js +1 -1
  136. package/dist/es/a/Popover/styles.scss +33 -0
  137. package/dist/es/a/Shapes/Shapes.js +9 -1
  138. package/dist/es/a/Shapes/styles.scss +42 -9
  139. package/dist/es/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +16 -11
  140. package/dist/es/a/SnapScroller/index.js +2 -0
  141. package/dist/es/a/SnapScroller/styles.scss +38 -0
  142. package/dist/es/a/index.js +9 -2
  143. package/dist/es/b/Button/Button.js +8 -2
  144. package/dist/es/b/Button/styles.scss +55 -10
  145. package/dist/es/b/Logo/Logo.js +41 -41
  146. package/dist/es/b/Logo/styles.scss +0 -138
  147. package/dist/es/b/Page/common/PageHelmet/PageHelmet.js +2 -2
  148. package/dist/es/b/Page/common/Section/Section.js +17 -3
  149. package/dist/es/b/SocialMediaButton/SocialMediaButton.js +5 -5
  150. package/dist/es/b/ThemeSelector/ThemeSelector.js +2 -2
  151. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  152. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  153. package/dist/es/c/ContentSlides/styles.scss +10 -4
  154. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +95 -0
  155. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  156. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  157. package/dist/es/c/index.js +2 -1
  158. package/dist/es/f/FormInput/FormInput.js +26 -3
  159. package/dist/es/f/FormInput/styles.scss +11 -0
  160. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  161. package/dist/es/f/common/Description/Description.js +19 -14
  162. package/dist/es/f/common/Label/Label.js +1 -1
  163. package/dist/es/f/common/Label/styles.scss +1 -1
  164. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  165. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  166. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +212 -0
  167. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +188 -0
  168. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  169. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  170. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  171. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +279 -0
  172. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  173. package/dist/es/f/fields/QueryCombobox/common/index.js +3 -0
  174. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  175. package/dist/es/f/fields/QueryCombobox/styles.scss +90 -0
  176. package/dist/es/f/fields/QuerySelect/QuerySelect.js +179 -0
  177. package/dist/es/f/fields/QuerySelect/index.js +2 -0
  178. package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
  179. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  180. package/dist/es/f/fields/SelectInput/SelectInput.js +58 -14
  181. package/dist/es/f/fields/SelectInput/styles.scss +33 -13
  182. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +2 -2
  183. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +0 -4
  184. package/dist/es/f/fields/TextInput/TextInput.js +50 -13
  185. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  186. package/dist/es/f/fields/TextareaInput/TextareaInput.js +41 -15
  187. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  188. package/dist/es/f/fields/index.js +3 -4
  189. package/dist/es/form-reset.scss +1 -1
  190. package/dist/es/index.js +3 -1
  191. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  192. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  193. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  194. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  195. package/dist/es/test/QueryLoader/common/index.js +1 -0
  196. package/dist/es/test/QueryLoader/index.js +2 -0
  197. package/dist/es/test/index.js +1 -0
  198. package/dist/es/utils/hooks/index.js +2 -0
  199. package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
  200. package/dist/es/utils/hooks/useWindowSize.js +27 -0
  201. package/dist/es/utils/index.js +1 -0
  202. package/package.json +18 -4
  203. package/relay.config.js +12 -0
  204. package/schema.graphql +4075 -0
  205. package/scripts/fetchSchema.js +74 -0
  206. package/src/__snapshots__/Storyshots.test.js.snap +12174 -7164
  207. package/src/local.scss +4 -2
  208. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  209. package/src/stories/StyleGuide/helpers.js +16 -0
  210. package/src/stories/a/Alert.stories.jsx +75 -0
  211. package/src/stories/a/{SiteContext.stories.jsx → AppContext.stories.jsx} +8 -8
  212. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  213. package/src/stories/a/ContentTree.stories.jsx +662 -0
  214. package/src/stories/a/Conversation.stories.jsx +78 -1
  215. package/src/stories/a/DotInfo.stories.jsx +14 -13
  216. package/src/stories/a/Label.stories.jsx +49 -0
  217. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  218. package/src/stories/a/Popover.stories.jsx +106 -0
  219. package/src/stories/a/ProgressBar.stories.jsx +16 -7
  220. package/src/stories/a/Shapes.stories.jsx +18 -0
  221. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  222. package/src/stories/a/Timestamp.stories.jsx +35 -39
  223. package/src/stories/b/Button.stories.jsx +27 -4
  224. package/src/stories/b/Logo.stories.jsx +23 -14
  225. package/src/stories/b/Page.stories.jsx +25 -1
  226. package/src/stories/b/QuestionDropdown.stories.jsx +20 -30
  227. package/src/stories/b/SocialMediaButton.stories.jsx +36 -53
  228. package/src/stories/b/ThemeSelector.stories.jsx +5 -5
  229. package/src/stories/b/Title.stories.jsx +13 -15
  230. package/src/stories/c/ContentSlides.stories.jsx +35 -151
  231. package/src/stories/c/Shortener.stories.jsx +9 -3
  232. package/src/stories/c/SocialMediaShareButton.stories.jsx +33 -0
  233. package/src/stories/f/ChoicesInput.stories.jsx +66 -130
  234. package/src/stories/f/Description.stories.jsx +22 -4
  235. package/src/stories/f/FormInput.stories.jsx +259 -0
  236. package/src/stories/f/QueryCombobox.stories.jsx +273 -0
  237. package/src/stories/f/QuerySelect.stories.jsx +135 -0
  238. package/src/stories/f/RatingsInput.stories.jsx +29 -22
  239. package/src/stories/f/SelectInput.stories.jsx +41 -49
  240. package/src/stories/f/TextInput.stories.jsx +63 -43
  241. package/src/stories/f/TextareaInput.stories.jsx +63 -19
  242. package/src/stories/f/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  243. package/src/stories/f/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  244. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  245. package/src/stories/f/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  246. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  247. package/src/stories/utils/generateNodeId.js +12 -0
  248. package/src/stories/utils/lorem.js +15 -0
  249. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  250. package/src/stories/utils/relay/environment.js +5 -0
  251. package/src/stories/utils/relay/index.js +4 -0
  252. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  253. package/src/stories/utils/relay/mockResolvers.js +299 -0
  254. package/src/stories/utils/testData.js +63 -0
  255. package/src/ui/a/Alert/Alert.jsx +144 -0
  256. package/src/ui/a/Alert/index.js +2 -0
  257. package/src/ui/a/Alert/styles.scss +74 -0
  258. package/src/ui/a/{SiteContext → AppContext}/Context.js +0 -0
  259. package/src/ui/a/{SiteContext → AppContext}/ContextProvider.jsx +8 -7
  260. package/src/ui/a/AppContext/index.js +5 -0
  261. package/src/ui/a/{SiteContext/useSite.js → AppContext/useApp.js} +0 -0
  262. package/src/ui/a/{SiteContext → AppContext}/useTheme.js +0 -0
  263. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  264. package/src/ui/a/BackgroundGradient/index.js +2 -0
  265. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  266. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  267. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  268. package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
  269. package/src/ui/a/ContentTree/common/index.js +3 -0
  270. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  271. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  272. package/src/ui/a/ContentTree/index.js +2 -0
  273. package/src/ui/a/ContentTree/styles.scss +33 -0
  274. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  275. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  276. package/src/ui/a/Conversation/styles.scss +132 -33
  277. package/src/ui/a/Label/Label.jsx +93 -0
  278. package/src/ui/a/Label/index.js +2 -0
  279. package/src/ui/a/Label/styles.scss +34 -0
  280. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  281. package/src/ui/a/OvalIllustration/index.js +2 -0
  282. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  283. package/src/ui/a/Popover/Popover.jsx +157 -0
  284. package/src/ui/a/Popover/index.js +2 -0
  285. package/src/ui/a/Popover/styles.scss +33 -0
  286. package/src/ui/a/Shapes/Shapes.jsx +10 -0
  287. package/src/ui/a/Shapes/styles.scss +42 -9
  288. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  289. package/src/ui/a/SnapScroller/index.js +2 -0
  290. package/src/ui/a/SnapScroller/styles.scss +38 -0
  291. package/src/ui/a/index.js +11 -4
  292. package/src/ui/b/Button/Button.jsx +9 -1
  293. package/src/ui/b/Button/styles.scss +55 -10
  294. package/src/ui/b/Logo/Logo.jsx +41 -41
  295. package/src/ui/b/Logo/styles.scss +0 -138
  296. package/src/ui/b/Page/common/PageHelmet/PageHelmet.jsx +2 -2
  297. package/src/ui/b/Page/common/Section/Section.jsx +19 -2
  298. package/src/ui/b/SocialMediaButton/SocialMediaButton.jsx +4 -4
  299. package/src/ui/b/ThemeSelector/ThemeSelector.jsx +2 -2
  300. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
  301. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  302. package/src/ui/c/ContentSlides/styles.scss +10 -4
  303. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +121 -0
  304. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  305. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  306. package/src/ui/c/index.js +1 -0
  307. package/src/ui/f/FormInput/FormInput.jsx +38 -1
  308. package/src/ui/f/FormInput/styles.scss +11 -0
  309. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  310. package/src/ui/f/common/Description/Description.jsx +34 -29
  311. package/src/ui/f/common/Label/Label.jsx +1 -1
  312. package/src/ui/f/common/Label/styles.scss +1 -1
  313. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +1 -1
  314. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  315. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +227 -0
  316. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +218 -0
  317. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  318. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  319. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  320. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +314 -0
  321. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  322. package/src/ui/f/fields/QueryCombobox/common/index.js +3 -0
  323. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  324. package/src/ui/f/fields/QueryCombobox/styles.scss +90 -0
  325. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +200 -0
  326. package/src/ui/f/fields/QuerySelect/index.js +2 -0
  327. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
  328. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  329. package/src/ui/f/fields/SelectInput/SelectInput.jsx +66 -8
  330. package/src/ui/f/fields/SelectInput/styles.scss +33 -13
  331. package/src/ui/f/fields/TextInput/TextInput.jsx +44 -10
  332. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  333. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +42 -21
  334. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  335. package/src/ui/f/fields/index.js +2 -3
  336. package/src/ui/form-reset.scss +1 -1
  337. package/src/ui/index.js +2 -0
  338. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  339. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  340. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  341. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  342. package/src/ui/test/QueryLoader/common/index.js +1 -0
  343. package/src/ui/test/QueryLoader/index.js +2 -0
  344. package/src/ui/test/index.js +1 -0
  345. package/src/ui/utils/hooks/index.js +2 -0
  346. package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
  347. package/src/ui/utils/hooks/useWindowSize.js +32 -0
  348. package/src/ui/utils/index.js +1 -0
  349. package/stylelint.config.js +13 -13
  350. package/dist/cjs/a/GradientBackground/index.js +0 -15
  351. package/dist/cjs/a/GradientBackground/styles.scss +0 -191
  352. package/dist/cjs/c/AcceptCookies/styles.scss +0 -49
  353. package/dist/cjs/c/BlogCategoryButton/index.js +0 -15
  354. package/dist/cjs/c/BlogContext/BlogContextProvider.js +0 -63
  355. package/dist/cjs/c/BlogPost/BlogPost.js +0 -147
  356. package/dist/cjs/c/BlogPost/styles.scss +0 -33
  357. package/dist/cjs/c/BlogPostsList/common/Card/Card.js +0 -170
  358. package/dist/cjs/c/BlogPostsList/common/index.js +0 -13
  359. package/dist/cjs/c/BlogPostsList/index.js +0 -15
  360. package/dist/cjs/c/BlogPostsList/styles.scss +0 -72
  361. package/dist/cjs/c/SiteFooter/common/index.js +0 -13
  362. package/dist/cjs/c/SiteFooter/styles.scss +0 -34
  363. package/dist/cjs/c/SiteHeaderCTA/index.js +0 -15
  364. package/dist/cjs/c/SiteHeaderCTA/styles.scss +0 -44
  365. package/dist/cjs/c/SiteMission/SiteMission.js +0 -113
  366. package/dist/cjs/c/SiteMission/styles.scss +0 -30
  367. package/dist/cjs/c/SiteNavigation/SiteNavigation.js +0 -130
  368. package/dist/cjs/c/SiteNavigation/index.js +0 -15
  369. package/dist/cjs/c/SiteNavigation/styles.scss +0 -118
  370. package/dist/cjs/c/SiteOnboardingStep/SiteOnboardingStep.js +0 -98
  371. package/dist/cjs/c/SiteOnboardingStep/index.js +0 -15
  372. package/dist/cjs/c/SiteOnboardingStep/styles.scss +0 -51
  373. package/dist/cjs/c/SitePricing/SitePricing.js +0 -108
  374. package/dist/cjs/c/SitePricing/styles.scss +0 -73
  375. package/dist/cjs/c/SiteServices/SiteServices.js +0 -211
  376. package/dist/cjs/c/SiteServices/index.js +0 -15
  377. package/dist/cjs/c/SiteServices/styles.scss +0 -138
  378. package/dist/cjs/c/TeamGallery/common/PersonCard/PersonCard.js +0 -84
  379. package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +0 -15
  380. package/dist/cjs/c/TeamGallery/styles.scss +0 -100
  381. package/dist/cjs/c/Testimonials/Testimonials.js +0 -119
  382. package/dist/cjs/c/Testimonials/index.js +0 -15
  383. package/dist/cjs/c/Testimonials/styles.scss +0 -112
  384. package/dist/cjs/experimental/GradientBackground/index.js +0 -15
  385. package/dist/cjs/experimental/GradientBackground/styles.scss +0 -64
  386. package/dist/cjs/experimental/index.js +0 -13
  387. package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +0 -129
  388. package/dist/cjs/f/fields/TaskRecommendation/index.js +0 -15
  389. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +0 -37
  390. package/dist/cjs/f/fields/TextArea/TextArea.js +0 -141
  391. package/dist/cjs/f/fields/TextArea/styles.scss +0 -19
  392. package/dist/es/a/GradientBackground/GradientBackground.js +0 -118
  393. package/dist/es/a/GradientBackground/index.js +0 -2
  394. package/dist/es/a/GradientBackground/styles.scss +0 -191
  395. package/dist/es/c/AcceptCookies/AcceptCookies.js +0 -117
  396. package/dist/es/c/AcceptCookies/index.js +0 -2
  397. package/dist/es/c/AcceptCookies/styles.scss +0 -49
  398. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +0 -68
  399. package/dist/es/c/BlogCategoryButton/index.js +0 -2
  400. package/dist/es/c/BlogContext/BlogContextProvider.js +0 -45
  401. package/dist/es/c/BlogContext/ContextProvider.js +0 -45
  402. package/dist/es/c/BlogContext/index.js +0 -4
  403. package/dist/es/c/BlogPost/BlogPost.js +0 -128
  404. package/dist/es/c/BlogPost/styles.scss +0 -33
  405. package/dist/es/c/BlogPostsList/common/Card/Card.js +0 -143
  406. package/dist/es/c/BlogPostsList/common/index.js +0 -1
  407. package/dist/es/c/BlogPostsList/index.js +0 -2
  408. package/dist/es/c/BlogPostsList/styles.scss +0 -72
  409. package/dist/es/c/SiteFooter/common/Section/Section.js +0 -73
  410. package/dist/es/c/SiteFooter/common/index.js +0 -1
  411. package/dist/es/c/SiteFooter/index.js +0 -2
  412. package/dist/es/c/SiteFooter/styles.scss +0 -34
  413. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +0 -92
  414. package/dist/es/c/SiteHeaderCTA/index.js +0 -2
  415. package/dist/es/c/SiteHeaderCTA/styles.scss +0 -44
  416. package/dist/es/c/SiteMission/SiteMission.js +0 -96
  417. package/dist/es/c/SiteMission/index.js +0 -2
  418. package/dist/es/c/SiteMission/styles.scss +0 -30
  419. package/dist/es/c/SiteNavigation/SiteNavigation.js +0 -111
  420. package/dist/es/c/SiteNavigation/index.js +0 -2
  421. package/dist/es/c/SiteNavigation/styles.scss +0 -118
  422. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +0 -81
  423. package/dist/es/c/SiteOnboardingStep/index.js +0 -2
  424. package/dist/es/c/SiteOnboardingStep/styles.scss +0 -51
  425. package/dist/es/c/SitePricing/SitePricing.js +0 -91
  426. package/dist/es/c/SitePricing/index.js +0 -2
  427. package/dist/es/c/SitePricing/styles.scss +0 -73
  428. package/dist/es/c/SiteServices/SiteServices.js +0 -195
  429. package/dist/es/c/SiteServices/index.js +0 -2
  430. package/dist/es/c/SiteServices/styles.scss +0 -138
  431. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +0 -64
  432. package/dist/es/c/TeamGallery/common/PersonCard/index.js +0 -2
  433. package/dist/es/c/TeamGallery/common/index.js +0 -1
  434. package/dist/es/c/TeamGallery/index.js +0 -2
  435. package/dist/es/c/TeamGallery/styles.scss +0 -100
  436. package/dist/es/c/Testimonials/Testimonials.js +0 -99
  437. package/dist/es/c/Testimonials/index.js +0 -2
  438. package/dist/es/c/Testimonials/styles.scss +0 -112
  439. package/dist/es/experimental/GradientBackground/GradientBackground.js +0 -76
  440. package/dist/es/experimental/GradientBackground/index.js +0 -2
  441. package/dist/es/experimental/GradientBackground/styles.scss +0 -64
  442. package/dist/es/experimental/index.js +0 -1
  443. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +0 -111
  444. package/dist/es/f/fields/TaskRecommendation/index.js +0 -2
  445. package/dist/es/f/fields/TaskRecommendation/styles.scss +0 -37
  446. package/dist/es/f/fields/TextArea/TextArea.js +0 -124
  447. package/dist/es/f/fields/TextArea/styles.scss +0 -19
  448. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  449. package/src/stories/f/RadioInput.stories.jsx +0 -37
  450. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  451. package/src/ui/a/SiteContext/index.js +0 -5
  452. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  453. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  454. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  455. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  456. package/src/ui/f/fields/RadioInput/index.js +0 -2
  457. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  458. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  459. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  460. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _throttle = _interopRequireDefault(require("lodash/throttle"));
11
+
12
+ var _useWindowSize = _interopRequireDefault(require("./useWindowSize"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ var verticalPositions = ['top', 'bottom'];
17
+ var horizontalPositions = ['left', 'right'];
18
+
19
+ var findCompatiblePositions = (primary, secondaryArray) => {
20
+ if (verticalPositions.includes(primary)) {
21
+ return secondaryArray.filter(secondary => horizontalPositions.includes(secondary));
22
+ }
23
+
24
+ if (horizontalPositions.includes(primary)) {
25
+ return secondaryArray.filter(secondary => verticalPositions.includes(secondary));
26
+ }
27
+
28
+ return [];
29
+ };
30
+
31
+ var useDynamicPosition = _ref => {
32
+ var {
33
+ elementRef,
34
+ parentRef,
35
+ preferredPrimaryOrder,
36
+ preferredSecondaryOrder,
37
+ // offsetYPx,
38
+ offsetXPx,
39
+ throttleMs = 200
40
+ } = _ref;
41
+ var isClient = typeof window === 'object';
42
+ var {
43
+ height: currentHeight,
44
+ width: currentWidth
45
+ } = (0, _useWindowSize.default)();
46
+ var [primaryPosition, setPrimaryPosition] = (0, _react.useState)(preferredPrimaryOrder[0]);
47
+ var compatibleSecondaryPositions = (0, _react.useMemo)(() => findCompatiblePositions(primaryPosition, preferredSecondaryOrder), [primaryPosition, preferredSecondaryOrder]);
48
+ var [secondaryPosition, setSecondaryPosition] = (0, _react.useState)(compatibleSecondaryPositions[0]);
49
+ var handle = (0, _react.useCallback)((0, _throttle.default)(() => {
50
+ var parentNode = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;
51
+ var elementNode = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
52
+ var {
53
+ top: parentTop,
54
+ bottom: parentBottom,
55
+ right: parentRight,
56
+ left: parentLeft
57
+ } = (parentNode === null || parentNode === void 0 ? void 0 : parentNode.getBoundingClientRect()) || {};
58
+ var {
59
+ width: elementWidth,
60
+ height: elementHeight
61
+ } = (elementNode === null || elementNode === void 0 ? void 0 : elementNode.getBoundingClientRect()) || {};
62
+ var availablePositions = {
63
+ top: parentTop >= elementHeight,
64
+ bottom: currentHeight - parentBottom >= elementHeight,
65
+ right: parentRight >= elementWidth,
66
+ left: currentWidth - parentLeft >= elementWidth
67
+ };
68
+
69
+ for (var i = 0; i < preferredPrimaryOrder.length; i += 1) {
70
+ var position = preferredPrimaryOrder[i];
71
+
72
+ if (availablePositions[position]) {
73
+ setPrimaryPosition(position);
74
+ break;
75
+ }
76
+ }
77
+
78
+ for (var _i = 0; _i < compatibleSecondaryPositions.length; _i += 1) {
79
+ var _position = compatibleSecondaryPositions[_i];
80
+
81
+ if (availablePositions[_position]) {
82
+ setSecondaryPosition(_position);
83
+ break;
84
+ }
85
+ }
86
+ }, throttleMs), [elementRef, offsetXPx, throttleMs]);
87
+ (0, _react.useEffect)(() => {
88
+ if (!isClient) {
89
+ return false;
90
+ }
91
+
92
+ handle();
93
+ window.addEventListener('scroll', handle);
94
+ window.addEventListener('resize', handle);
95
+ return () => {
96
+ window.removeEventListener('scroll', handle);
97
+ window.removeEventListener('resize', handle);
98
+ };
99
+ }, [handle]);
100
+ return {
101
+ primaryPosition,
102
+ secondaryPosition
103
+ };
104
+ };
105
+
106
+ var _default = useDynamicPosition;
107
+ exports.default = _default;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var useWindowSize = function useWindowSize() {
15
+ var debounceMs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 700;
16
+ var isClient = typeof window === 'object';
17
+
18
+ var getSize = () => ({
19
+ width: isClient ? window.innerWidth : undefined,
20
+ height: isClient ? window.innerHeight : undefined
21
+ });
22
+
23
+ var [windowSize, setWindowSize] = (0, _react.useState)(getSize);
24
+ var handle = (0, _react.useCallback)((0, _debounce.default)(() => {
25
+ setWindowSize(getSize());
26
+ }, debounceMs));
27
+ (0, _react.useEffect)(() => {
28
+ if (!isClient) {
29
+ return false;
30
+ }
31
+
32
+ window.addEventListener('resize', handle);
33
+ return () => window.removeEventListener('resize', handle);
34
+ }, [getSize, handle, isClient]);
35
+ return windowSize;
36
+ };
37
+
38
+ var _default = useWindowSize;
39
+ exports.default = _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useWindowSize", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _hooks.useWindowSize;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useDynamicPosition", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _hooks.useDynamicPosition;
16
+ }
17
+ });
18
+
19
+ var _hooks = require("./hooks");
@@ -0,0 +1,118 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useState, useEffect, useLayoutEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { Button } from "../../b";
6
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
7
+
8
+ const baseClassName = styleNames.base;
9
+ const componentClassName = 'alert';
10
+ /**
11
+ * This is the component description.
12
+ */
13
+
14
+ const Alert = ({
15
+ id,
16
+ className: userClassName,
17
+ style,
18
+ children,
19
+ type,
20
+ withCloseIcon,
21
+ primaryPosition,
22
+ secondaryPosition,
23
+ autoCloseMs,
24
+ width // ...otherProps
25
+
26
+ }) => {
27
+ useLayoutEffect(() => {
28
+ import("./styles.scss");
29
+ }, []);
30
+ const [hideAlert, setHideAlert] = useState(false);
31
+
32
+ const handleCloseAlert = () => setHideAlert(true);
33
+
34
+ useEffect(() => {
35
+ if (autoCloseMs) {
36
+ setTimeout(() => {
37
+ setHideAlert(true);
38
+ }, autoCloseMs);
39
+ }
40
+ }, [autoCloseMs]);
41
+ return /*#__PURE__*/React.createElement("div", {
42
+ id: id,
43
+ className: [baseClassName, componentClassName, userClassName, `x-${type}`, hideAlert && 'hide', primaryPosition, secondaryPosition].filter(e => e).join(' '),
44
+ style: { ...style,
45
+ '--width': width
46
+ } // {...otherProps}
47
+
48
+ }, /*#__PURE__*/React.createElement("div", {
49
+ className: "bar"
50
+ }), withCloseIcon && /*#__PURE__*/React.createElement("div", {
51
+ className: "close"
52
+ }, /*#__PURE__*/React.createElement(Button, {
53
+ isSimple: true,
54
+ color: "heading",
55
+ onClick: handleCloseAlert
56
+ }, /*#__PURE__*/React.createElement("span", {
57
+ className: "f-icons"
58
+ }, "Y"))), /*#__PURE__*/React.createElement("div", {
59
+ className: "content"
60
+ }, children));
61
+ };
62
+
63
+ Alert.propTypes = {
64
+ /**
65
+ * The HTML id for this element
66
+ */
67
+ id: PropTypes.string,
68
+
69
+ /**
70
+ * The HTML class names for this element
71
+ */
72
+ className: PropTypes.string,
73
+
74
+ /**
75
+ * The React-written, css properties for this element.
76
+ */
77
+ style: PropTypes.objectOf(PropTypes.string),
78
+
79
+ /**
80
+ * The children JSX
81
+ */
82
+ children: PropTypes.node,
83
+
84
+ /**
85
+ * Whether the alert should have a close Icon
86
+ */
87
+ withCloseIcon: PropTypes.bool,
88
+
89
+ /**
90
+ * The primary position of the alert
91
+ */
92
+ primaryPosition: PropTypes.oneOf(['top', 'bottom', 'center']),
93
+
94
+ /**
95
+ * The secondary position of the alert
96
+ */
97
+ secondaryPosition: PropTypes.oneOf(['left', 'right']),
98
+
99
+ /**
100
+ * The number milisseconds to wait for before closing the alert
101
+ */
102
+ autoCloseMs: PropTypes.number,
103
+
104
+ /**
105
+ * The type of the alert
106
+ */
107
+ type: PropTypes.oneOf(['success', 'warning', 'error']),
108
+
109
+ /**
110
+ * The width of the alert
111
+ */
112
+ width: PropTypes.number
113
+ };
114
+ Alert.defaultProps = {
115
+ withCloseIcon: true,
116
+ primaryPosition: 'top'
117
+ };
118
+ export default Alert;
@@ -1,2 +1,2 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
- export { default as Section } from "./Section";
2
+ export { default as Alert } from "./Alert";
@@ -0,0 +1,74 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+ @use "@aztlan/stylebook/src/mixins";
4
+ @use "@aztlan/stylebook/src/globals" as *;
5
+
6
+ $default-padding: 1em;
7
+ $default-bar-height: .3em;
8
+ $default-alert-desktop-width: var(--width, 30em);
9
+
10
+ .#{bem.$base}.alert {
11
+ border: var(--theme-border);
12
+ padding-bottom: $default-padding * 1.5;
13
+ width: 100%;
14
+ position: absolute;
15
+ z-index: 1;
16
+
17
+ &.center {
18
+ top: 50%;
19
+ left: 50%;
20
+ transform: translate(-50%, -50%);
21
+ }
22
+
23
+ &.top {
24
+ top: 0;
25
+ }
26
+
27
+ &.bottom {
28
+ bottom: 0;
29
+ }
30
+
31
+ &.right {
32
+ right: 0;
33
+ }
34
+
35
+ &.left {
36
+ left: 0;
37
+ }
38
+
39
+ &.hide {
40
+ display: none;
41
+ }
42
+
43
+ >.bar {
44
+ background-color: var(--x);
45
+ height: $default-bar-height;
46
+ }
47
+
48
+ >.close {
49
+ display: flex;
50
+ justify-content: flex-end;
51
+
52
+ span {
53
+ padding: $default-padding / 2;
54
+ font-size: calc(var(--s-2) * 1em);
55
+ }
56
+ }
57
+
58
+ .bar+.content {
59
+ padding-top: $default-padding * 1.5;
60
+ }
61
+
62
+ >.content {
63
+ padding-inline: $default-padding;
64
+
65
+ .icon {
66
+ color: var(--x)
67
+ }
68
+ }
69
+
70
+ // Desktop styles
71
+ @include mixins.media($from: $sm-md) {
72
+ width: $default-alert-desktop-width;
73
+ }
74
+ }
@@ -0,0 +1,78 @@
1
+ /* @pareto-engineering/generator-front 0.2.3 */
2
+ import * as React from 'react';
3
+ import { useReducer } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import useTheme from "./useTheme"; // Package-level Imports
6
+
7
+ import Context from "./Context"; // Component-level imports
8
+ // Helper Definitions
9
+
10
+ const reducer = (state, action) => {
11
+ switch (action.type) {
12
+ case 'UPDATE_STATE':
13
+ return { ...state,
14
+ ...action.payload
15
+ };
16
+
17
+ default:
18
+ return state;
19
+ }
20
+ };
21
+
22
+ const AppContextProvider = ({
23
+ children,
24
+ initialTheme,
25
+ config,
26
+ initialState // ...otherProps
27
+
28
+ }) => {
29
+ const theme = useTheme(initialTheme);
30
+ const [state, dispatch] = useReducer(reducer, initialState);
31
+ return /*#__PURE__*/React.createElement(Context.Provider, {
32
+ value: {
33
+ state,
34
+ dispatch,
35
+ ...config,
36
+ ...theme
37
+ }
38
+ }, children);
39
+ };
40
+
41
+ AppContextProvider.propTypes = {
42
+ /**
43
+ * The children JSX
44
+ */
45
+ children: PropTypes.node,
46
+
47
+ /**
48
+ * The initial theme for the website. If undefined, fallbacks on system preference.
49
+ */
50
+ initialTheme: PropTypes.string,
51
+
52
+ /**
53
+ * A dictionnary containing settings and preferences to be used application-wide
54
+ */
55
+ config: PropTypes.shape({
56
+ APP: PropTypes.shape({
57
+ NAME: PropTypes.string.isRequired,
58
+ CANONICAL: PropTypes.string.isRequired,
59
+ SUPPORT_EMAIL: PropTypes.string,
60
+ TITLE_SUFFIX: PropTypes.string
61
+ }),
62
+ SOCIAL: PropTypes.shape({
63
+ FACEBOOK: PropTypes.string,
64
+ INSTAGRAM: PropTypes.string,
65
+ YOUTUBE: PropTypes.string
66
+ }),
67
+ CONSTANTS: PropTypes.shape({})
68
+ }).isRequired,
69
+
70
+ /**
71
+ * Application context initial state
72
+ */
73
+ initialState: PropTypes.objectOf(PropTypes.string)
74
+ };
75
+ AppContextProvider.defaultProps = {
76
+ initialState: {}
77
+ };
78
+ export default AppContextProvider;
@@ -0,0 +1,5 @@
1
+ /* @pareto-engineering/generator-front 0.2.3 */
2
+ export { default as AppContext } from "./Context";
3
+ export { default as AppContextProvider } from "./ContextProvider";
4
+ export { default as useApp } from "./useApp";
5
+ export { default as useTheme } from "./useTheme";
@@ -0,0 +1,34 @@
1
+ import { useCallback, useState, useEffect } from 'react';
2
+ export default ((initialTheme, storageKey = 'theme') => {
3
+ const isClient = typeof window === 'object';
4
+ const [preferredTheme, setPreferredTheme] = useState(initialTheme);
5
+ const [userTheme, setUserTheme] = useState();
6
+ useEffect(() => {
7
+ const storage = window.localStorage;
8
+
9
+ if (isClient) {
10
+ const storedTheme = window.localStorage.getItem(storageKey); // console.log(storedTheme, storedTheme != userTheme)
11
+
12
+ if (storedTheme && storedTheme !== userTheme) {
13
+ // console.warn('Theme load')
14
+ setPreferredTheme(storedTheme);
15
+ setUserTheme(storedTheme);
16
+ } else if (preferredTheme && preferredTheme.length && preferredTheme !== 'system') {
17
+ setUserTheme(preferredTheme);
18
+ storage.setItem(storageKey, preferredTheme); // console.warn('theme change', preferredTheme)
19
+ } else {
20
+ setUserTheme(window.matchMedia('(prefers-color-scheme:dark)').matches ? 'dark' : 'light');
21
+ storage.removeItem(storageKey); // console.warn('theme reset')
22
+ }
23
+ } else {
24
+ setUserTheme('light');
25
+ }
26
+ }, [preferredTheme, isClient]);
27
+ const isTheme = useCallback(theme => userTheme === theme || undefined, [userTheme]);
28
+ return {
29
+ userTheme,
30
+ preferredTheme,
31
+ setPreferredTheme,
32
+ isTheme
33
+ };
34
+ });
@@ -2,34 +2,34 @@
2
2
  import * as React from 'react';
3
3
  import { useLayoutEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import styleNames from '@pareto-engineering/bem';
6
- import { Section } from "./common"; // Local Definitions
5
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
7
6
 
8
7
  const baseClassName = styleNames.base;
9
- const componentClassName = 'site-footer';
8
+ const componentClassName = 'background-gradient';
10
9
  /**
11
10
  * This is the component description.
12
11
  */
13
12
 
14
- const SiteFooter = ({
13
+ const BackgroundGradient = ({
15
14
  id,
16
15
  className: userClassName,
17
16
  style,
18
- children // ...otherProps
17
+ height // ...otherProps
19
18
 
20
19
  }) => {
21
20
  useLayoutEffect(() => {
22
21
  import("./styles.scss");
23
22
  }, []);
24
- return /*#__PURE__*/React.createElement("footer", {
23
+ return /*#__PURE__*/React.createElement("div", {
25
24
  id: id,
26
25
  className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
27
- style: style // {...otherProps}
28
-
29
- }, children);
26
+ style: { ...style,
27
+ '--gradient-height': height
28
+ }
29
+ });
30
30
  };
31
31
 
32
- SiteFooter.propTypes = {
32
+ BackgroundGradient.propTypes = {
33
33
  /**
34
34
  * The HTML id for this element
35
35
  */
@@ -46,11 +46,10 @@ SiteFooter.propTypes = {
46
46
  style: PropTypes.objectOf(PropTypes.string),
47
47
 
48
48
  /**
49
- * The children JSX
49
+ * The height of the shape.
50
50
  */
51
- children: PropTypes.node
51
+ height: PropTypes.string
52
52
  };
53
- SiteFooter.defaultProps = {// someProp:false
53
+ BackgroundGradient.defaultProps = {// someProp: false,
54
54
  };
55
- SiteFooter.Section = Section;
56
- export default SiteFooter;
55
+ export default BackgroundGradient;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as BackgroundGradient } from "./BackgroundGradient";
@@ -0,0 +1,16 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ .#{bem.$base}.background-gradient{
5
+ position: absolute;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100%;
9
+ height: var(--gradient-height);
10
+ background-image: linear-gradient(var(--background1), var(--y) 25%, var(--light-y) 75%, var(--background1));
11
+ opacity: .4;
12
+ z-index: -1;
13
+ }
14
+
15
+
16
+
@@ -0,0 +1,78 @@
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 = 'column-label';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const ColumnLabel = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ value,
18
+ color: FontColor,
19
+ getColor,
20
+ image
21
+ }) => {
22
+ useLayoutEffect(() => {
23
+ import("./styles.scss");
24
+ }, []);
25
+ const color = getColor ? getColor(value) : FontColor;
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ id: id,
28
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
29
+ style: { ...style,
30
+ color
31
+ }
32
+ }, image && /*#__PURE__*/React.createElement("img", {
33
+ className: "image v50 mr-v",
34
+ src: image,
35
+ alt: `${value}`
36
+ }), value);
37
+ };
38
+
39
+ ColumnLabel.propTypes = {
40
+ /**
41
+ * The HTML id for this element
42
+ */
43
+ id: PropTypes.string,
44
+
45
+ /**
46
+ * The HTML class names for this element
47
+ */
48
+ className: PropTypes.string,
49
+
50
+ /**
51
+ * The React-written, css properties for this element.
52
+ */
53
+ style: PropTypes.objectOf(PropTypes.string),
54
+
55
+ /**
56
+ * The value to display for the label
57
+ */
58
+ value: PropTypes.string,
59
+
60
+ /**
61
+ * The default font color to display for the label
62
+ */
63
+ color: PropTypes.string,
64
+
65
+ /**
66
+ * The function passed to decide the color of the label
67
+ */
68
+ getColor: PropTypes.func,
69
+
70
+ /**
71
+ * The image to be displayed if passed
72
+ */
73
+ image: PropTypes.string
74
+ };
75
+ ColumnLabel.defaultProps = {
76
+ color: 'var(--on-x)'
77
+ };
78
+ export default ColumnLabel;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as ColumnLabel } from "./ColumnLabel";
@@ -0,0 +1,22 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-image-size: 2em;
5
+ $default-font-size: calc(1 em * var(--s-1));
6
+ $default-padding: .5em;
7
+
8
+ .#{bem.$base}.column-label{
9
+ align-items: center;
10
+ background: var(--x);
11
+ border-radius: 3em;
12
+ display: inline-flex;
13
+ font-size: $default-font-size;
14
+ padding: $default-padding;
15
+ white-space: nowrap;
16
+
17
+ img {
18
+ border-radius: 50%;
19
+ height: $default-image-size;
20
+ width: $default-image-size;
21
+ }
22
+ }