@pareto-engineering/design-system 2.0.0-alpha.7 → 2.0.0-alpha.70

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 (536) 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/ModalContextProvider/Context.js +16 -0
  33. package/dist/cjs/{c/BlogContext/ContextProvider.js → a/ModalContextProvider/ModalContextProvider.js} +27 -25
  34. package/dist/cjs/a/ModalContextProvider/common/ModalRoot/ModalRoot.js +53 -0
  35. package/dist/cjs/a/ModalContextProvider/common/ModalRoot/index.js +15 -0
  36. package/dist/cjs/a/ModalContextProvider/common/ModalRoot/styles.scss +14 -0
  37. package/dist/cjs/{c/BlogPostsList → a/ModalContextProvider}/common/index.js +3 -3
  38. package/dist/cjs/a/ModalContextProvider/index.js +31 -0
  39. package/dist/cjs/a/ModalContextProvider/useModal.js +16 -0
  40. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +35 -4
  41. package/dist/cjs/a/OvalIllustration/styles.scss +13 -16
  42. package/dist/cjs/{c/AcceptCookies/AcceptCookies.js → a/Popover/Popover.js} +57 -57
  43. package/dist/cjs/{c/BlogPost → a/Popover}/index.js +3 -3
  44. package/dist/cjs/a/Popover/styles.scss +33 -0
  45. package/dist/cjs/a/Shapes/Shapes.js +9 -1
  46. package/dist/cjs/a/Shapes/styles.scss +42 -9
  47. package/dist/cjs/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +15 -11
  48. package/dist/cjs/{c/SiteFooter → a/SnapScroller}/index.js +3 -3
  49. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  50. package/dist/cjs/a/index.js +57 -9
  51. package/dist/cjs/b/Button/Button.js +10 -4
  52. package/dist/cjs/b/Button/styles.scss +55 -10
  53. package/dist/cjs/b/Logo/Logo.js +41 -41
  54. package/dist/cjs/b/Logo/styles.scss +0 -138
  55. package/dist/cjs/b/Page/common/PageHelmet/PageHelmet.js +1 -1
  56. package/dist/cjs/b/Page/common/Section/Section.js +17 -3
  57. package/dist/cjs/b/SocialMediaButton/SocialMediaButton.js +4 -4
  58. package/dist/cjs/b/ThemeSelector/ThemeSelector.js +1 -1
  59. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  60. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  61. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  62. package/dist/cjs/c/{SiteOnboardingStep/SiteOnboardingStep.js → Modal/Modal.js} +45 -35
  63. package/dist/cjs/c/Modal/common/ModalHeader/ModalHeader.js +88 -0
  64. package/dist/cjs/c/{TeamGallery → Modal/common/ModalHeader}/index.js +3 -3
  65. package/dist/cjs/c/{TeamGallery → Modal}/common/index.js +3 -3
  66. package/dist/cjs/c/Modal/index.js +15 -0
  67. package/dist/cjs/c/Modal/styles.scss +46 -0
  68. package/dist/cjs/c/{BlogContext/BlogContextProvider.js → ModalButton/ModalButton.js} +28 -25
  69. package/dist/cjs/c/ModalButton/index.js +15 -0
  70. package/dist/cjs/c/{SiteMission/SiteMission.js → ObjectButton/ObjectButton.js} +59 -43
  71. package/dist/cjs/c/ObjectButton/index.js +15 -0
  72. package/dist/cjs/c/ObjectButton/styles.scss +52 -0
  73. package/dist/cjs/c/{SiteHeaderCTA/SiteHeaderCTA.js → SocialMediaShareButton/SocialMediaShareButton.js} +46 -43
  74. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  75. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  76. package/dist/cjs/c/index.js +17 -1
  77. package/dist/cjs/{c/TeamGallery/common/PersonCard/PersonCard.js → d/Modal/Modal.js} +35 -25
  78. package/dist/cjs/d/Modal/common/ModalFooter/ModalFooter.js +77 -0
  79. package/dist/cjs/d/Modal/common/ModalFooter/index.js +15 -0
  80. package/dist/cjs/d/Modal/common/ModalHeader/ModalHeader.js +79 -0
  81. package/dist/cjs/d/Modal/common/ModalHeader/index.js +15 -0
  82. package/dist/cjs/d/Modal/common/index.js +21 -0
  83. package/dist/cjs/d/Modal/index.js +15 -0
  84. package/dist/cjs/d/Modal/styles.scss +52 -0
  85. package/dist/cjs/f/FormInput/FormInput.js +33 -3
  86. package/dist/cjs/f/FormInput/styles.scss +11 -0
  87. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  88. package/dist/cjs/f/common/Description/Description.js +20 -14
  89. package/dist/cjs/f/common/Label/Label.js +11 -5
  90. package/dist/cjs/f/common/Label/styles.scss +2 -5
  91. package/dist/cjs/f/fields/{TaskRecommendation/TaskRecommendation.js → Checkbox/Checkbox.js} +36 -48
  92. package/dist/cjs/f/fields/Checkbox/index.js +15 -0
  93. package/dist/cjs/f/fields/Checkbox/styles.scss +14 -0
  94. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +11 -4
  95. package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  96. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  97. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +251 -0
  98. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +229 -0
  99. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  100. package/dist/cjs/{c/BlogCategoryButton/BlogCategoryButton.js → f/fields/QueryCombobox/common/Menu/Menu.js} +39 -31
  101. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  102. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +326 -0
  103. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  104. package/dist/cjs/f/fields/QueryCombobox/common/index.js +29 -0
  105. package/dist/cjs/{c/AcceptCookies → f/fields/QueryCombobox}/index.js +3 -3
  106. package/dist/cjs/f/fields/QueryCombobox/styles.scss +91 -0
  107. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +217 -0
  108. package/dist/cjs/f/fields/QuerySelect/index.js +15 -0
  109. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
  110. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +11 -2
  111. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  112. package/dist/cjs/f/fields/SelectInput/SelectInput.js +67 -15
  113. package/dist/cjs/f/fields/SelectInput/styles.scss +33 -13
  114. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +2 -2
  115. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +0 -4
  116. package/dist/cjs/f/fields/TextInput/TextInput.js +50 -13
  117. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  118. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +48 -15
  119. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  120. package/dist/cjs/f/fields/index.js +18 -18
  121. package/dist/cjs/form-reset.scss +1 -1
  122. package/dist/cjs/index.js +26 -0
  123. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  124. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  125. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +49 -0
  126. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  127. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  128. package/dist/cjs/test/QueryLoader/index.js +15 -0
  129. package/dist/cjs/{c/SiteFooter/common → test}/index.js +3 -3
  130. package/dist/cjs/utils/hooks/index.js +23 -0
  131. package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
  132. package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
  133. package/dist/cjs/utils/index.js +19 -0
  134. package/dist/cjs/utils/relay/EnvironmentProvider.js +23 -0
  135. package/dist/cjs/utils/relay/environment.js +12 -0
  136. package/dist/cjs/utils/relay/index.js +39 -0
  137. package/dist/cjs/utils/relay/mockRelayOperation.js +23 -0
  138. package/dist/cjs/utils/relay/mockResolvers.js +282 -0
  139. package/dist/es/a/Alert/Alert.js +118 -0
  140. package/dist/es/{c/SiteFooter/common/Section → a/Alert}/index.js +1 -1
  141. package/dist/es/a/Alert/styles.scss +74 -0
  142. package/dist/es/{c/BlogContext → a/AppContext}/Context.js +0 -0
  143. package/dist/es/a/AppContext/ContextProvider.js +78 -0
  144. package/dist/es/a/AppContext/index.js +5 -0
  145. package/dist/es/{c/BlogContext/useBlog.js → a/AppContext/useApp.js} +0 -0
  146. package/dist/es/a/AppContext/useTheme.js +34 -0
  147. package/dist/es/{c/SiteFooter/SiteFooter.js → a/BackgroundGradient/BackgroundGradient.js} +14 -15
  148. package/dist/es/a/BackgroundGradient/index.js +2 -0
  149. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  150. package/dist/es/a/ColumnLabel/ColumnLabel.js +78 -0
  151. package/dist/es/a/ColumnLabel/index.js +2 -0
  152. package/dist/es/a/ColumnLabel/styles.scss +22 -0
  153. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  154. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  155. package/dist/es/{c/BlogPostsList/common/Card → a/ContentTree/common/Tree}/index.js +1 -1
  156. package/dist/es/a/ContentTree/common/index.js +3 -0
  157. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  158. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  159. package/dist/es/a/ContentTree/index.js +2 -0
  160. package/dist/es/a/ContentTree/styles.scss +33 -0
  161. package/dist/es/a/Conversation/Conversation.js +14 -8
  162. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  163. package/dist/es/a/Conversation/styles.scss +132 -33
  164. package/dist/es/{c/TeamGallery/TeamGallery.js → a/Label/Label.js} +30 -23
  165. package/dist/es/{f/fields/TextArea → a/Label}/index.js +1 -1
  166. package/dist/es/a/Label/styles.scss +34 -0
  167. package/dist/es/a/ModalContextProvider/Context.js +2 -0
  168. package/dist/es/a/ModalContextProvider/ModalContextProvider.js +47 -0
  169. package/dist/es/a/ModalContextProvider/common/ModalRoot/ModalRoot.js +36 -0
  170. package/dist/es/a/ModalContextProvider/common/ModalRoot/index.js +2 -0
  171. package/dist/es/a/ModalContextProvider/common/ModalRoot/styles.scss +14 -0
  172. package/dist/es/{c/BlogPost → a/ModalContextProvider/common}/index.js +1 -1
  173. package/dist/es/a/ModalContextProvider/index.js +4 -0
  174. package/dist/es/a/ModalContextProvider/useModal.js +3 -0
  175. package/dist/es/a/OvalIllustration/OvalIllustration.js +29 -4
  176. package/dist/es/a/OvalIllustration/styles.scss +13 -16
  177. package/dist/es/a/Popover/Popover.js +118 -0
  178. package/dist/es/a/Popover/index.js +2 -0
  179. package/dist/es/a/Popover/styles.scss +33 -0
  180. package/dist/es/a/Shapes/Shapes.js +9 -1
  181. package/dist/es/a/Shapes/styles.scss +42 -9
  182. package/dist/es/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +16 -11
  183. package/dist/es/a/SnapScroller/index.js +2 -0
  184. package/dist/es/a/SnapScroller/styles.scss +38 -0
  185. package/dist/es/a/index.js +8 -2
  186. package/dist/es/b/Button/Button.js +8 -2
  187. package/dist/es/b/Button/styles.scss +55 -10
  188. package/dist/es/b/Logo/Logo.js +41 -41
  189. package/dist/es/b/Logo/styles.scss +0 -138
  190. package/dist/es/b/Page/common/PageHelmet/PageHelmet.js +2 -2
  191. package/dist/es/b/Page/common/Section/Section.js +17 -3
  192. package/dist/es/b/SocialMediaButton/SocialMediaButton.js +5 -5
  193. package/dist/es/b/ThemeSelector/ThemeSelector.js +2 -2
  194. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  195. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  196. package/dist/es/c/ContentSlides/styles.scss +10 -4
  197. package/dist/es/c/Modal/Modal.js +91 -0
  198. package/dist/es/c/Modal/common/ModalHeader/ModalHeader.js +67 -0
  199. package/dist/es/c/Modal/common/ModalHeader/index.js +1 -0
  200. package/dist/es/c/Modal/common/index.js +1 -0
  201. package/dist/es/c/Modal/index.js +2 -0
  202. package/dist/es/c/Modal/styles.scss +46 -0
  203. package/dist/es/c/ModalButton/ModalButton.js +48 -0
  204. package/dist/es/c/ModalButton/index.js +2 -0
  205. package/dist/es/c/ObjectButton/ObjectButton.js +111 -0
  206. package/dist/es/c/ObjectButton/index.js +2 -0
  207. package/dist/es/c/ObjectButton/styles.scss +52 -0
  208. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +95 -0
  209. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  210. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  211. package/dist/es/c/index.js +3 -1
  212. package/dist/es/d/Modal/Modal.js +77 -0
  213. package/dist/es/d/Modal/common/ModalFooter/ModalFooter.js +56 -0
  214. package/dist/es/d/Modal/common/ModalFooter/index.js +1 -0
  215. package/dist/es/d/Modal/common/ModalHeader/ModalHeader.js +60 -0
  216. package/dist/es/d/Modal/common/ModalHeader/index.js +1 -0
  217. package/dist/es/d/Modal/common/index.js +2 -0
  218. package/dist/es/d/Modal/index.js +2 -0
  219. package/dist/es/d/Modal/styles.scss +52 -0
  220. package/dist/es/f/FormInput/FormInput.js +33 -3
  221. package/dist/es/f/FormInput/styles.scss +11 -0
  222. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  223. package/dist/es/f/common/Description/Description.js +19 -14
  224. package/dist/es/f/common/Label/Label.js +11 -5
  225. package/dist/es/f/common/Label/styles.scss +2 -5
  226. package/dist/es/f/fields/Checkbox/Checkbox.js +99 -0
  227. package/dist/es/f/fields/Checkbox/index.js +2 -0
  228. package/dist/es/f/fields/Checkbox/styles.scss +14 -0
  229. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +11 -4
  230. package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  231. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  232. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +228 -0
  233. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +208 -0
  234. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  235. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  236. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  237. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +298 -0
  238. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  239. package/dist/es/f/fields/QueryCombobox/common/index.js +3 -0
  240. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  241. package/dist/es/f/fields/QueryCombobox/styles.scss +91 -0
  242. package/dist/es/f/fields/QuerySelect/QuerySelect.js +195 -0
  243. package/dist/es/f/fields/QuerySelect/index.js +2 -0
  244. package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
  245. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +11 -2
  246. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  247. package/dist/es/f/fields/SelectInput/SelectInput.js +66 -15
  248. package/dist/es/f/fields/SelectInput/styles.scss +33 -13
  249. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +2 -2
  250. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +0 -4
  251. package/dist/es/f/fields/TextInput/TextInput.js +50 -13
  252. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  253. package/dist/es/f/fields/TextareaInput/TextareaInput.js +48 -15
  254. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  255. package/dist/es/f/fields/index.js +4 -4
  256. package/dist/es/form-reset.scss +1 -1
  257. package/dist/es/index.js +3 -1
  258. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  259. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  260. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  261. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  262. package/dist/es/test/QueryLoader/common/index.js +1 -0
  263. package/dist/es/test/QueryLoader/index.js +2 -0
  264. package/dist/es/test/index.js +1 -0
  265. package/dist/es/utils/hooks/index.js +2 -0
  266. package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
  267. package/dist/es/utils/hooks/useWindowSize.js +27 -0
  268. package/dist/es/utils/index.js +1 -0
  269. package/dist/es/utils/relay/EnvironmentProvider.js +11 -0
  270. package/dist/es/utils/relay/environment.js +3 -0
  271. package/dist/es/utils/relay/index.js +4 -0
  272. package/dist/es/utils/relay/mockRelayOperation.js +9 -0
  273. package/dist/es/utils/relay/mockResolvers.js +275 -0
  274. package/package.json +18 -4
  275. package/relay.config.js +12 -0
  276. package/schema.graphql +4075 -0
  277. package/scripts/fetchSchema.js +74 -0
  278. package/src/__snapshots__/Storyshots.test.js.snap +13491 -7157
  279. package/src/local.scss +4 -2
  280. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  281. package/src/stories/StyleGuide/helpers.js +16 -0
  282. package/src/stories/a/Alert.stories.jsx +75 -0
  283. package/src/stories/a/{SiteContext.stories.jsx → AppContext.stories.jsx} +8 -8
  284. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  285. package/src/stories/a/ContentTree.stories.jsx +662 -0
  286. package/src/stories/a/Conversation.stories.jsx +78 -1
  287. package/src/stories/a/DotInfo.stories.jsx +14 -13
  288. package/src/stories/a/Label.stories.jsx +49 -0
  289. package/src/stories/a/OvalIllustration.stories.jsx +39 -16
  290. package/src/stories/a/Popover.stories.jsx +106 -0
  291. package/src/stories/a/ProgressBar.stories.jsx +16 -7
  292. package/src/stories/a/Shapes.stories.jsx +18 -0
  293. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  294. package/src/stories/a/Timestamp.stories.jsx +35 -39
  295. package/src/stories/b/Button.stories.jsx +27 -4
  296. package/src/stories/b/Logo.stories.jsx +23 -14
  297. package/src/stories/b/Page.stories.jsx +25 -1
  298. package/src/stories/b/QuestionDropdown.stories.jsx +20 -30
  299. package/src/stories/b/SocialMediaButton.stories.jsx +36 -53
  300. package/src/stories/b/ThemeSelector.stories.jsx +5 -5
  301. package/src/stories/b/Title.stories.jsx +13 -15
  302. package/src/stories/c/ContentSlides.stories.jsx +35 -151
  303. package/src/stories/c/Modal.stories.jsx +66 -0
  304. package/src/stories/c/Shortener.stories.jsx +9 -3
  305. package/src/stories/c/SocialMediaShareButton.stories.jsx +33 -0
  306. package/src/stories/f/Checkbox.stories.jsx +95 -0
  307. package/src/stories/f/ChoicesInput.stories.jsx +100 -128
  308. package/src/stories/f/Description.stories.jsx +22 -4
  309. package/src/stories/f/FormInput.stories.jsx +264 -0
  310. package/src/stories/f/Label.stories.jsx +8 -3
  311. package/src/stories/f/QueryCombobox.stories.jsx +279 -0
  312. package/src/stories/f/QuerySelect.stories.jsx +142 -0
  313. package/src/stories/f/RatingsInput.stories.jsx +36 -22
  314. package/src/stories/f/SelectInput.stories.jsx +48 -49
  315. package/src/stories/f/TextInput.stories.jsx +70 -43
  316. package/src/stories/f/TextareaInput.stories.jsx +70 -19
  317. package/src/stories/f/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  318. package/src/stories/f/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  319. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  320. package/src/stories/f/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  321. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  322. package/src/stories/utils/generateNodeId.js +12 -0
  323. package/src/stories/utils/lorem.js +15 -0
  324. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  325. package/src/stories/utils/relay/environment.js +5 -0
  326. package/src/stories/utils/relay/index.js +4 -0
  327. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  328. package/src/stories/utils/relay/mockResolvers.js +299 -0
  329. package/src/stories/utils/testData.js +63 -0
  330. package/src/ui/a/Alert/Alert.jsx +144 -0
  331. package/src/ui/a/Alert/index.js +2 -0
  332. package/src/ui/a/Alert/styles.scss +74 -0
  333. package/src/ui/a/{SiteContext → AppContext}/Context.js +0 -0
  334. package/src/ui/a/{SiteContext → AppContext}/ContextProvider.jsx +8 -7
  335. package/src/ui/a/AppContext/index.js +5 -0
  336. package/src/ui/a/{SiteContext/useSite.js → AppContext/useApp.js} +0 -0
  337. package/src/ui/a/{SiteContext → AppContext}/useTheme.js +0 -0
  338. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  339. package/src/ui/a/BackgroundGradient/index.js +2 -0
  340. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  341. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  342. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  343. package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
  344. package/src/ui/a/ContentTree/common/index.js +3 -0
  345. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  346. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  347. package/src/ui/a/ContentTree/index.js +2 -0
  348. package/src/ui/a/ContentTree/styles.scss +33 -0
  349. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  350. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  351. package/src/ui/a/Conversation/styles.scss +132 -33
  352. package/src/ui/a/Label/Label.jsx +93 -0
  353. package/src/ui/a/Label/index.js +2 -0
  354. package/src/ui/a/Label/styles.scss +34 -0
  355. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +28 -2
  356. package/src/ui/a/OvalIllustration/styles.scss +13 -16
  357. package/src/ui/a/Popover/Popover.jsx +157 -0
  358. package/src/ui/a/Popover/index.js +2 -0
  359. package/src/ui/a/Popover/styles.scss +33 -0
  360. package/src/ui/a/Shapes/Shapes.jsx +10 -0
  361. package/src/ui/a/Shapes/styles.scss +42 -9
  362. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  363. package/src/ui/a/SnapScroller/index.js +2 -0
  364. package/src/ui/a/SnapScroller/styles.scss +38 -0
  365. package/src/ui/a/index.js +10 -4
  366. package/src/ui/b/Button/Button.jsx +9 -1
  367. package/src/ui/b/Button/styles.scss +55 -10
  368. package/src/ui/b/Logo/Logo.jsx +41 -41
  369. package/src/ui/b/Logo/styles.scss +0 -138
  370. package/src/ui/b/Page/common/PageHelmet/PageHelmet.jsx +2 -2
  371. package/src/ui/b/Page/common/Section/Section.jsx +19 -2
  372. package/src/ui/b/SocialMediaButton/SocialMediaButton.jsx +4 -4
  373. package/src/ui/b/ThemeSelector/ThemeSelector.jsx +2 -2
  374. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
  375. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  376. package/src/ui/c/ContentSlides/styles.scss +10 -4
  377. package/src/ui/{f/fields/RadioInput/RadioInput.jsx → c/Modal/Modal.jsx} +34 -34
  378. package/src/ui/c/Modal/common/ModalHeader/ModalHeader.jsx +89 -0
  379. package/src/ui/c/Modal/common/ModalHeader/index.js +1 -0
  380. package/src/ui/c/Modal/common/index.js +1 -0
  381. package/src/ui/c/Modal/index.js +2 -0
  382. package/src/ui/c/Modal/styles.scss +46 -0
  383. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +121 -0
  384. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  385. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  386. package/src/ui/c/index.js +2 -0
  387. package/src/ui/f/FormInput/FormInput.jsx +50 -1
  388. package/src/ui/f/FormInput/styles.scss +11 -0
  389. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  390. package/src/ui/f/common/Description/Description.jsx +34 -29
  391. package/src/ui/f/common/Label/Label.jsx +10 -4
  392. package/src/ui/f/common/Label/styles.scss +2 -5
  393. package/src/ui/f/fields/{CheckboxInput/CheckboxInput.jsx → Checkbox/Checkbox.jsx} +43 -32
  394. package/src/ui/f/fields/Checkbox/index.js +2 -0
  395. package/src/ui/f/fields/Checkbox/styles.scss +14 -0
  396. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +9 -3
  397. package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +10 -2
  398. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  399. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +240 -0
  400. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +241 -0
  401. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  402. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  403. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  404. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +340 -0
  405. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  406. package/src/ui/f/fields/QueryCombobox/common/index.js +3 -0
  407. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  408. package/src/ui/f/fields/QueryCombobox/styles.scss +91 -0
  409. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +213 -0
  410. package/src/ui/f/fields/QuerySelect/index.js +2 -0
  411. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
  412. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +7 -1
  413. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  414. package/src/ui/f/fields/SelectInput/SelectInput.jsx +72 -8
  415. package/src/ui/f/fields/SelectInput/styles.scss +33 -13
  416. package/src/ui/f/fields/TextInput/TextInput.jsx +44 -10
  417. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  418. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +49 -21
  419. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  420. package/src/ui/f/fields/index.js +3 -3
  421. package/src/ui/form-reset.scss +1 -1
  422. package/src/ui/index.js +2 -0
  423. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  424. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  425. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  426. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  427. package/src/ui/test/QueryLoader/common/index.js +1 -0
  428. package/src/ui/test/QueryLoader/index.js +2 -0
  429. package/src/ui/test/index.js +1 -0
  430. package/src/ui/utils/hooks/index.js +2 -0
  431. package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
  432. package/src/ui/utils/hooks/useWindowSize.js +32 -0
  433. package/src/ui/utils/index.js +1 -0
  434. package/stylelint.config.js +13 -13
  435. package/dist/cjs/a/GradientBackground/index.js +0 -15
  436. package/dist/cjs/a/GradientBackground/styles.scss +0 -191
  437. package/dist/cjs/c/AcceptCookies/styles.scss +0 -49
  438. package/dist/cjs/c/BlogCategoryButton/index.js +0 -15
  439. package/dist/cjs/c/BlogPost/BlogPost.js +0 -147
  440. package/dist/cjs/c/BlogPost/styles.scss +0 -33
  441. package/dist/cjs/c/BlogPostsList/common/Card/Card.js +0 -170
  442. package/dist/cjs/c/BlogPostsList/index.js +0 -15
  443. package/dist/cjs/c/BlogPostsList/styles.scss +0 -72
  444. package/dist/cjs/c/SiteFooter/styles.scss +0 -34
  445. package/dist/cjs/c/SiteHeaderCTA/index.js +0 -15
  446. package/dist/cjs/c/SiteHeaderCTA/styles.scss +0 -44
  447. package/dist/cjs/c/SiteMission/styles.scss +0 -30
  448. package/dist/cjs/c/SiteNavigation/SiteNavigation.js +0 -130
  449. package/dist/cjs/c/SiteNavigation/index.js +0 -15
  450. package/dist/cjs/c/SiteNavigation/styles.scss +0 -118
  451. package/dist/cjs/c/SiteOnboardingStep/index.js +0 -15
  452. package/dist/cjs/c/SiteOnboardingStep/styles.scss +0 -51
  453. package/dist/cjs/c/SitePricing/SitePricing.js +0 -108
  454. package/dist/cjs/c/SitePricing/styles.scss +0 -73
  455. package/dist/cjs/c/SiteServices/SiteServices.js +0 -211
  456. package/dist/cjs/c/SiteServices/index.js +0 -15
  457. package/dist/cjs/c/SiteServices/styles.scss +0 -138
  458. package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +0 -15
  459. package/dist/cjs/c/TeamGallery/styles.scss +0 -100
  460. package/dist/cjs/c/Testimonials/Testimonials.js +0 -119
  461. package/dist/cjs/c/Testimonials/index.js +0 -15
  462. package/dist/cjs/c/Testimonials/styles.scss +0 -112
  463. package/dist/cjs/experimental/GradientBackground/index.js +0 -15
  464. package/dist/cjs/experimental/GradientBackground/styles.scss +0 -64
  465. package/dist/cjs/experimental/index.js +0 -13
  466. package/dist/cjs/f/fields/TaskRecommendation/index.js +0 -15
  467. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +0 -37
  468. package/dist/cjs/f/fields/TextArea/TextArea.js +0 -141
  469. package/dist/cjs/f/fields/TextArea/styles.scss +0 -19
  470. package/dist/es/a/GradientBackground/GradientBackground.js +0 -118
  471. package/dist/es/a/GradientBackground/index.js +0 -2
  472. package/dist/es/a/GradientBackground/styles.scss +0 -191
  473. package/dist/es/c/AcceptCookies/AcceptCookies.js +0 -117
  474. package/dist/es/c/AcceptCookies/index.js +0 -2
  475. package/dist/es/c/AcceptCookies/styles.scss +0 -49
  476. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +0 -68
  477. package/dist/es/c/BlogCategoryButton/index.js +0 -2
  478. package/dist/es/c/BlogContext/BlogContextProvider.js +0 -45
  479. package/dist/es/c/BlogContext/ContextProvider.js +0 -45
  480. package/dist/es/c/BlogContext/index.js +0 -4
  481. package/dist/es/c/BlogPost/BlogPost.js +0 -128
  482. package/dist/es/c/BlogPost/styles.scss +0 -33
  483. package/dist/es/c/BlogPostsList/common/Card/Card.js +0 -143
  484. package/dist/es/c/BlogPostsList/common/index.js +0 -1
  485. package/dist/es/c/BlogPostsList/index.js +0 -2
  486. package/dist/es/c/BlogPostsList/styles.scss +0 -72
  487. package/dist/es/c/SiteFooter/common/Section/Section.js +0 -73
  488. package/dist/es/c/SiteFooter/common/index.js +0 -1
  489. package/dist/es/c/SiteFooter/index.js +0 -2
  490. package/dist/es/c/SiteFooter/styles.scss +0 -34
  491. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +0 -92
  492. package/dist/es/c/SiteHeaderCTA/index.js +0 -2
  493. package/dist/es/c/SiteHeaderCTA/styles.scss +0 -44
  494. package/dist/es/c/SiteMission/SiteMission.js +0 -96
  495. package/dist/es/c/SiteMission/index.js +0 -2
  496. package/dist/es/c/SiteMission/styles.scss +0 -30
  497. package/dist/es/c/SiteNavigation/SiteNavigation.js +0 -111
  498. package/dist/es/c/SiteNavigation/index.js +0 -2
  499. package/dist/es/c/SiteNavigation/styles.scss +0 -118
  500. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +0 -81
  501. package/dist/es/c/SiteOnboardingStep/index.js +0 -2
  502. package/dist/es/c/SiteOnboardingStep/styles.scss +0 -51
  503. package/dist/es/c/SitePricing/SitePricing.js +0 -91
  504. package/dist/es/c/SitePricing/index.js +0 -2
  505. package/dist/es/c/SitePricing/styles.scss +0 -73
  506. package/dist/es/c/SiteServices/SiteServices.js +0 -195
  507. package/dist/es/c/SiteServices/index.js +0 -2
  508. package/dist/es/c/SiteServices/styles.scss +0 -138
  509. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +0 -64
  510. package/dist/es/c/TeamGallery/common/PersonCard/index.js +0 -2
  511. package/dist/es/c/TeamGallery/common/index.js +0 -1
  512. package/dist/es/c/TeamGallery/index.js +0 -2
  513. package/dist/es/c/TeamGallery/styles.scss +0 -100
  514. package/dist/es/c/Testimonials/Testimonials.js +0 -99
  515. package/dist/es/c/Testimonials/index.js +0 -2
  516. package/dist/es/c/Testimonials/styles.scss +0 -112
  517. package/dist/es/experimental/GradientBackground/GradientBackground.js +0 -76
  518. package/dist/es/experimental/GradientBackground/index.js +0 -2
  519. package/dist/es/experimental/GradientBackground/styles.scss +0 -64
  520. package/dist/es/experimental/index.js +0 -1
  521. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +0 -111
  522. package/dist/es/f/fields/TaskRecommendation/index.js +0 -2
  523. package/dist/es/f/fields/TaskRecommendation/styles.scss +0 -37
  524. package/dist/es/f/fields/TextArea/TextArea.js +0 -124
  525. package/dist/es/f/fields/TextArea/styles.scss +0 -19
  526. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  527. package/src/stories/f/RadioInput.stories.jsx +0 -37
  528. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  529. package/src/ui/a/SiteContext/index.js +0 -5
  530. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  531. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  532. package/src/ui/f/fields/RadioInput/index.js +0 -2
  533. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  534. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  535. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  536. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -17,6 +17,11 @@ export default {
17
17
  },
18
18
  }
19
19
 
20
- export const Base = () => (
21
- <Label>Sample Label</Label>
22
- )
20
+ const Template = (args) => <Label {...args}>Sample Label</Label>
21
+
22
+ export const Base = Template.bind()
23
+
24
+ export const Optional = Template.bind({})
25
+ Optional.args = {
26
+ optional:true,
27
+ }
@@ -0,0 +1,279 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { Formik, Form, useField } from 'formik'
5
+
6
+ import { Button, FormDebugger, QueryCombobox } from 'ui'
7
+
8
+ import { fruits } from '../utils/testData'
9
+
10
+ import generateNodeId from '../utils/generateNodeId'
11
+
12
+ import {
13
+ RelayEnvironmentProvider,
14
+ mockRelayOperation,
15
+ // environment,
16
+ } from '../utils/relay'
17
+
18
+ export default {
19
+ title :'f/fields/QueryCombobox',
20
+ component :QueryCombobox,
21
+ subcomponents:{
22
+ // Item:QueryCombobox.Item
23
+ },
24
+ decorators:[
25
+ (storyfn) => (
26
+ <RelayEnvironmentProvider>
27
+ { storyfn() }
28
+ </RelayEnvironmentProvider>
29
+ ),
30
+ ],
31
+ argTypes:{
32
+ // backgroundColor:{ control: 'color' },
33
+ multiple:{ control: 'boolean' },
34
+ disabled:{ control: 'boolean' },
35
+ optional:{ control: 'boolean' },
36
+ },
37
+ }
38
+
39
+ const allTeamsMockData = {
40
+ PageInfo() {
41
+ return {
42
+ hasNextPage :true,
43
+ hasPreviousPage:true,
44
+ }
45
+ },
46
+ TeamNodeConnection:(args) => {
47
+ const edges = fruits.map((fruit) => ({
48
+ node:{
49
+ id :generateNodeId('TeamNode'),
50
+ name:fruit,
51
+ },
52
+ }))
53
+
54
+ // eslint-disable-next-line camelcase
55
+ const { name_Icontains } = args?.args || {}
56
+
57
+ return ({
58
+ pageInfo:{
59
+ hasNextPage :true,
60
+ hasPreviousPage:true,
61
+ },
62
+ // eslint-disable-next-line camelcase
63
+ edges:name_Icontains?.trim()
64
+ ? edges.filter(({ node }) => node.name
65
+ .toLowerCase()
66
+ .includes(name_Icontains.toLowerCase()))
67
+ : [],
68
+ })
69
+ },
70
+ }
71
+
72
+ const FETCH_TEAMS_QUERY = graphql`
73
+ query QueryComboboxAllTeamsQuery($name_Icontains: String) {
74
+ allTeams(name_Icontains: $name_Icontains) {
75
+ edges {
76
+ node {
77
+ id
78
+ name
79
+ }
80
+ }
81
+ }
82
+ }
83
+ `
84
+
85
+ // eslint-disable-next-line react/prop-types
86
+ const ResolvedTemplate = ({ defaultFormikState, ...otherProps }) => {
87
+ mockRelayOperation(allTeamsMockData)
88
+ mockRelayOperation(allTeamsMockData)
89
+ mockRelayOperation(allTeamsMockData)
90
+
91
+ const { multiple } = otherProps
92
+
93
+ const Content = () => {
94
+ const name = multiple ? 'teams' : 'team'
95
+
96
+ const [, meta, helpers] = useField(name)
97
+
98
+ const { value } = meta
99
+
100
+ const { setValue } = helpers
101
+
102
+ const updateFormikState = () => {
103
+ if (multiple) {
104
+ setValue([
105
+ ...(value || []),
106
+ {
107
+ value:'VGVhbU5vZGU6MDAxZTIyOGEtYzA5My00MGI0LWE1MTUtYTNkMTM1NTE1MDNk',
108
+ label:'Matomoko',
109
+ },
110
+ {
111
+ value:'VGVhbU5vZGU6MDAxZTIyOGEtYzA5My00MGI0LWE1MTUtYTNkMTM1NTE1MDNp',
112
+ label:'Chungwa',
113
+ },
114
+ ])
115
+ } else {
116
+ setValue({
117
+ value:'VGVhbU5vZGU6MDAxZTIyOGEtYzA5My00MGI0LWE1MTUtYTNkMTM1NTE1MDNk',
118
+ label:'Kafagoho',
119
+ })
120
+ }
121
+ }
122
+
123
+ return (
124
+ <>
125
+ <QueryCombobox
126
+ label="Search for a team"
127
+ optionsKeyMap={{
128
+ value :'id',
129
+ getLabel:(node) => node.name,
130
+ }}
131
+ query={{
132
+ graphql :FETCH_TEAMS_QUERY,
133
+ accessor:'allTeams',
134
+ }}
135
+ name={name}
136
+ searchVariable="name_Icontains"
137
+ {...otherProps}
138
+ />
139
+ <div
140
+ style={{
141
+ display :'flex',
142
+ alignItems :'flex-end',
143
+ flexDirection:'column',
144
+ }}
145
+ >
146
+ <FormDebugger />
147
+ <Button
148
+ onClick={updateFormikState}
149
+ >
150
+ {multiple ? 'Add formik values' : 'Replace formik value'}
151
+ </Button>
152
+ </div>
153
+ </>
154
+ )
155
+ }
156
+
157
+ let initialValues = defaultFormikState
158
+
159
+ if (!defaultFormikState && multiple) {
160
+ initialValues = []
161
+ } else if (!defaultFormikState && !multiple) {
162
+ initialValues = {}
163
+ }
164
+
165
+ return (
166
+ <Formik
167
+ initialValues={initialValues}
168
+ >
169
+ <Form>
170
+ <Content />
171
+ </Form>
172
+ </Formik>
173
+ )
174
+ }
175
+
176
+ export const Optional = ResolvedTemplate.bind({})
177
+ Optional.args = {
178
+ optional:true,
179
+ }
180
+
181
+ export const SingleSelect = ResolvedTemplate.bind({})
182
+ SingleSelect.args = {
183
+ multiple:false,
184
+ }
185
+
186
+ export const SingleSelectWithDefaultFormikState = ResolvedTemplate.bind({})
187
+ SingleSelectWithDefaultFormikState.args = {
188
+ multiple :false,
189
+ defaultFormikState:{
190
+ team:{
191
+ value:'VGVhbU5vZGU6MDAxZTIyOGEtYzA5My00MGI0LWE1MTUtYTNkMTM1NTE1MDNl',
192
+ label:'Apple',
193
+ },
194
+ },
195
+ }
196
+
197
+ export const MultipleSelect = ResolvedTemplate.bind({})
198
+ MultipleSelect.args = {
199
+ multiple :true,
200
+ defaultFormikState:{ teams: [] },
201
+ }
202
+
203
+ export const MultipleSelectWithDefaultFormikState = ResolvedTemplate.bind({})
204
+ MultipleSelectWithDefaultFormikState.args = {
205
+ multiple :true,
206
+ defaultFormikState:{
207
+ teams:[
208
+ {
209
+ value:'VGVhbU5vZGU6MDAxZTIyOGEtYzA5My00MGI0LWE1MTUtYTNkMTM1NTE1MDNl',
210
+ label:'Apple',
211
+ },
212
+ {
213
+ value:'VGVhbU5vZGU6MDA0N2U4MzktODY0Zi00N2U5LTg3ZjgtZGUwMmM2Yzg1YWJm',
214
+ label:'Pear',
215
+ },
216
+ ],
217
+ },
218
+ }
219
+
220
+ // eslint-disable-next-line react/prop-types
221
+ // const RejectedTemplate = ({ multiple }) => {
222
+ // const Content = () => {
223
+ // environment.mock.queuePendingOperation(
224
+ // FETCH_TEAMS_QUERY,
225
+ // { name_Icontains: 'a' },
226
+ // )
227
+
228
+ // environment.mock.rejectMostRecentOperation('An error has occured while fetching the teams')
229
+
230
+ // const name = multiple ? 'teams' : 'team'
231
+
232
+ // const [, meta, helpers] = useField(name)
233
+
234
+ // const { setValue, setError } = helpers
235
+
236
+ // const { error } = meta
237
+
238
+ // return (
239
+ // <>
240
+ // <QueryCombobox
241
+ // query={FETCH_TEAMS_QUERY}
242
+ // label="Search for a team"
243
+ // optionsKeyMap={{
244
+ // value:'id',
245
+ // label:'name',
246
+ // }}
247
+ // error={error}
248
+ // setValue={setValue}
249
+ // setError={setError}
250
+ // name={name}
251
+ // multiple={multiple}
252
+ // graphQlNode="allTeams"
253
+ // searchVariable="name_Icontains"
254
+ // />
255
+ // <FormDebugger />
256
+ // </>
257
+ // )
258
+ // }
259
+
260
+ // return (
261
+ // <Formik
262
+ // initialValues={{ team: '' }}
263
+ // >
264
+ // <Form>
265
+ // <Content />
266
+ // </Form>
267
+ // </Formik>
268
+ // )
269
+ // }
270
+
271
+ // export const SingleSelectWithError = RejectedTemplate.bind({})
272
+ // SingleSelectWithError.args = {
273
+ // multiple:false,
274
+ // }
275
+
276
+ // export const MultipleSelectWithError = RejectedTemplate.bind({})
277
+ // MultipleSelectWithError.args = {
278
+ // multiple:true,
279
+ // }
@@ -0,0 +1,142 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { QuerySelect, FormDebugger } from 'ui'
5
+
6
+ import { Formik, Form } from 'formik'
7
+
8
+ import generateNodeId from '../utils/generateNodeId'
9
+
10
+ import {
11
+ RelayEnvironmentProvider,
12
+ mockRelayOperation,
13
+ environment,
14
+ } from '../utils/relay'
15
+
16
+ export default {
17
+ title :'f/fields/QuerySelect',
18
+ component :QuerySelect,
19
+ subcomponents:{
20
+ // Item:QuerySelect.Item
21
+ },
22
+ decorators:[
23
+ // storyfn => <div className="">{ storyfn() }</div>,
24
+ (storyfn) => (
25
+ <RelayEnvironmentProvider>
26
+ { storyfn() }
27
+ </RelayEnvironmentProvider>
28
+ ),
29
+ ],
30
+ argTypes:{
31
+ // backgroundColor:{ control: 'color' },
32
+ isLoading:{ control: 'boolean' },
33
+ optional :{ control: 'boolean' },
34
+ },
35
+ }
36
+ const statuses = [
37
+ 'Backlog',
38
+ 'In Review',
39
+ 'In Progress',
40
+ 'Requested',
41
+ 'Blocked',
42
+ 'Completed',
43
+ ]
44
+ const allTaskStatusesMockData = {
45
+ PageInfo() {
46
+ return {
47
+ hasNextPage :true,
48
+ hasPreviousPage:true,
49
+ }
50
+ },
51
+ TaskStatusNodeConnection:() => ({
52
+ pageInfo:{
53
+ hasNextPage :true,
54
+ hasPreviousPage:true,
55
+ },
56
+
57
+ edges:statuses.map((status) => ({
58
+ node:{
59
+ id:generateNodeId('TaskStatusNode'),
60
+ status,
61
+ },
62
+ })),
63
+ }),
64
+ }
65
+
66
+ const FETCH_ALL_TASK_STATUSES = graphql`
67
+ query QuerySelectAllTaskStatusesQuery {
68
+ allTaskStatuses {
69
+ edges {
70
+ node {
71
+ id
72
+ status
73
+ }
74
+ }
75
+ }
76
+ }
77
+ `
78
+
79
+ // eslint-disable-next-line react/prop-types
80
+ const Template = ({ isLoading, defaultFormikState, ...args }) => {
81
+ if (isLoading) {
82
+ setTimeout(() => {
83
+ mockRelayOperation(allTaskStatusesMockData)
84
+ environment.mock.queuePendingOperation(
85
+ FETCH_ALL_TASK_STATUSES,
86
+ )
87
+ }, 500)
88
+ } else {
89
+ mockRelayOperation(allTaskStatusesMockData)
90
+ environment.mock.queuePendingOperation(
91
+ FETCH_ALL_TASK_STATUSES,
92
+ )
93
+ }
94
+
95
+ const Content = () => (
96
+ <>
97
+ <QuerySelect
98
+ name="status"
99
+ label="Select Task Status"
100
+ query={{
101
+ graphql :FETCH_ALL_TASK_STATUSES,
102
+ accessor:'allTaskStatuses',
103
+ }}
104
+ optionsKeyMap={{
105
+ value :'id',
106
+ getLabel:(node) => node.status,
107
+ }}
108
+ {...args}
109
+ />
110
+ <FormDebugger />
111
+ </>
112
+ )
113
+
114
+ const initialValues = defaultFormikState ?? { status: '' }
115
+
116
+ return (
117
+ <Formik
118
+ initialValues={initialValues}
119
+ >
120
+ <Form>
121
+ <Content />
122
+ </Form>
123
+ </Formik>
124
+ )
125
+ }
126
+
127
+ export const Base = Template.bind({})
128
+ export const WithDefaultValue = Template.bind({})
129
+ WithDefaultValue.args = {
130
+ defaultFormikState:{
131
+ status:'VGFza1N0YXR1c05vZGU6NGRiYjNlMmItMGIxYy00ZjIxLTk0MmUtZTNjZGQwMjdiNjU3',
132
+ },
133
+ }
134
+ export const LoadingOptions = Template.bind({})
135
+ LoadingOptions.args = {
136
+ isLoading:true,
137
+ }
138
+
139
+ export const Optional = Template.bind({})
140
+ Optional.args = {
141
+ optional:true,
142
+ }
@@ -23,34 +23,48 @@ export default {
23
23
  ),
24
24
  ],
25
25
  argTypes:{
26
- backgroundColor:{ control: 'color' },
26
+ // backgroundColor:{ control: 'color' },
27
+ ratingCount :{ control: 'number' },
28
+ name :{ control: 'text' },
29
+ label :{ control: 'text' },
30
+ showRatingValue :{ control: 'boolean' },
31
+ displayRatingsLabel:{ control: 'boolean' },
32
+ labelMax :{ control: 'text' },
33
+ labelMin :{ control: 'text' },
34
+ optional :{ control: 'boolean' },
27
35
  },
28
36
  }
29
37
 
30
- export const Base = () => (
38
+ const Template = (args) => (
31
39
  <>
32
- <RatingsInput ratingCount={5} name="ratings" />
40
+ <RatingsInput {...args} />
33
41
  <FormDebugger />
34
42
  </>
35
43
  )
36
44
 
37
- export const Numbers = () => (
38
- <>
39
- <RatingsInput ratingCount={10} name="ratings" showRatingValue />
40
- <FormDebugger />
41
- </>
42
- )
45
+ export const Base = Template.bind({})
46
+ Base.args = {
47
+ ratingCount:5,
48
+ name :'ratings',
49
+ label :'Your Rating',
50
+ }
43
51
 
44
- export const Labels = () => (
45
- <>
46
- <RatingsInput
47
- labelMax="very satisfied."
48
- labelMin="not satisfied."
49
- ratingCount={10}
50
- name="ratings"
51
- showRatingValue
52
- displayRatingsLabel
53
- />
54
- <FormDebugger />
55
- </>
56
- )
52
+ export const Optional = Template.bind({})
53
+ Optional.args = {
54
+ ...Base.args,
55
+ optional:true,
56
+ }
57
+
58
+ export const Numbers = Template.bind({})
59
+ Numbers.args = {
60
+ ...Base.args,
61
+ showRatingValue:true,
62
+ }
63
+
64
+ export const Labels = Template.bind({})
65
+ Labels.args = {
66
+ ...Numbers.args,
67
+ labelMax :'very satisfied.',
68
+ labelMin :'not satisfied.',
69
+ displayRatingsLabel:true,
70
+ }
@@ -13,69 +13,68 @@ export default {
13
13
  decorators:[
14
14
  (storyfn) => (
15
15
  <Formik
16
- initialValues={{ workType: 'Work' }}
16
+ initialValues={{ workType: '' }}
17
17
  >
18
18
  <Form>
19
-
20
19
  { storyfn() }
21
20
  </Form>
22
21
  </Formik>
23
22
  ),
24
23
  ],
25
24
  argTypes:{
26
- backgroundColor:{ control: 'color' },
25
+ // backgroundColor:{ control: 'color' },
26
+ disabled:{ control: 'boolean' },
27
+ optional:{ control: 'boolean' },
27
28
  },
28
29
  }
29
30
 
30
- export const Base = () => (
31
+ const Template = (args) => (
31
32
  <>
32
- <SelectInput
33
- name="workType"
34
- label="Work Type"
35
- options={['Work', 'Managing', 'Training']}
36
- />
33
+ <SelectInput {...args} />
37
34
  <FormDebugger />
38
35
  </>
39
36
  )
40
37
 
41
- export const Objects = () => (
42
- <>
43
- <SelectInput
44
- name="workType"
45
- label="Work Type"
46
- options={[
47
- { value: '20th Aug 2020 to 19th Sept, 2020', label: '20th Aug 2020 to 19th Sept, 2020' },
48
- { value: '20th Sept 2020 to 19th Oct, 2020', label: '20th Sept 2020 to 19th Oct, 2020' },
49
- ]}
50
- />
51
- <FormDebugger />
52
- </>
53
- )
38
+ export const Base = Template.bind({})
39
+ Base.args = {
40
+ name :'workType',
41
+ label :'Work Type',
42
+ options:[
43
+ { value: '', label: 'Select an option', disabled: true },
44
+ { value: 'Work', label: 'Work' },
45
+ { value: 'Managing', label: 'Managing' },
46
+ { value: 'Training', label: 'Training' },
47
+ ],
48
+ }
54
49
 
55
- export const StringAndObjects = () => (
56
- <>
57
- <SelectInput
58
- name="workType"
59
- label="Work Type"
60
- options={['Work', 'Managing', 'Training',
61
- { value: '20th Aug 2020 to 19th Sept, 2020', label: '20th Aug 2020 to 19th Sept, 2020' },
62
- { value: '20th Sept 2020 to 19th Oct, 2020', label: '20th Sept 2020 to 19th Oct, 2020' },
63
- ]}
64
- />
65
- <FormDebugger />
66
- </>
67
- )
68
- export const DisabledSelectInput = () => (
69
- <>
70
- <SelectInput
71
- name="workType"
72
- label="Work Type"
73
- options={['Work', 'Managing', 'Training',
74
- { value: '20th Aug 2020 to 19th Sept, 2020', label: '20th Aug 2020 to 19th Sept, 2020' },
75
- { value: '20th Sept 2020 to 19th Oct, 2020', label: '20th Sept 2020 to 19th Oct, 2020' },
76
- ]}
77
- disabled
78
- />
79
- <FormDebugger />
80
- </>
81
- )
50
+ export const Optional = Template.bind({})
51
+ Optional.args = {
52
+ ...Base.args,
53
+ optional:true,
54
+ }
55
+
56
+ export const StringAndObjects = Template.bind({})
57
+ StringAndObjects.args = {
58
+ ...Base.args,
59
+ options:[...Base.args.options, 'Option1', 'Option2', 'Option3'],
60
+ }
61
+
62
+ const requiredInput = (inputValue) => {
63
+ let error = ''
64
+
65
+ if (!inputValue || !inputValue?.length === 0) {
66
+ error = 'This information is required'
67
+ }
68
+ return error
69
+ }
70
+ export const Required = Template.bind({})
71
+ Required.args = {
72
+ ...Base.args,
73
+ validate:requiredInput,
74
+ }
75
+
76
+ export const DisabledSelectInput = Template.bind({})
77
+ DisabledSelectInput.args = {
78
+ ...Base.args,
79
+ disabled:true,
80
+ }