@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,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _downshift = require("downshift");
13
+
14
+ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
15
+
16
+ var _ = require("../../../..");
17
+
18
+ var _a = require("../../../../../a");
19
+
20
+ var _Menu = require("../Menu");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
+
30
+ var baseClassName = _bem.default.base;
31
+ var componentClassName = 'combobox';
32
+ /**
33
+ * This is the component description.
34
+ */
35
+
36
+ var Combobox = _ref => {
37
+ var {
38
+ id,
39
+ className: userClassName,
40
+ style,
41
+ label,
42
+ name,
43
+ options: items,
44
+ getOptions,
45
+ setValue,
46
+ description,
47
+ value,
48
+ color,
49
+ minLength,
50
+ isFetching,
51
+ transformSearch,
52
+ disabled // ...otherProps
53
+
54
+ } = _ref;
55
+ var {
56
+ isOpen,
57
+ selectItem,
58
+ selectedItem,
59
+ getLabelProps,
60
+ getMenuProps,
61
+ getInputProps,
62
+ highlightedIndex,
63
+ getComboboxProps,
64
+ getItemProps
65
+ } = (0, _downshift.useCombobox)({
66
+ items,
67
+ initialSelectedItem: value,
68
+ itemToString: item => item ? item.label : '',
69
+ onInputValueChange: _ref2 => {
70
+ var {
71
+ inputValue
72
+ } = _ref2;
73
+ var transformedInput = transformSearch(inputValue);
74
+
75
+ if (transformedInput.length > minLength) {
76
+ getOptions(transformedInput);
77
+ }
78
+ }
79
+ }); // If the user has selected an item, we'll set the value of the field
80
+ // or if the combobox state has a selected item, we'll set the value to the formik state
81
+
82
+ (0, React.useEffect)(() => {
83
+ if (selectedItem) {
84
+ setValue(selectedItem);
85
+ }
86
+ }, [selectedItem]); // If the formik state has a value, we'll set the selected item to the combobox state
87
+
88
+ (0, React.useEffect)(() => {
89
+ if ((value === null || value === void 0 ? void 0 : value.value) !== (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value)) {
90
+ selectItem(value);
91
+ }
92
+ }, [value]);
93
+ var parentRef = (0, React.useRef)(null);
94
+ return /*#__PURE__*/React.createElement("div", {
95
+ id: id,
96
+ className: [baseClassName, componentClassName, userClassName, "y-".concat(color)].filter(e => e).join(' '),
97
+ style: style,
98
+ ref: parentRef
99
+ }, /*#__PURE__*/React.createElement(_.FormLabel, _extends({}, getLabelProps(), {
100
+ name: name
101
+ }), label), /*#__PURE__*/React.createElement("div", _extends({}, getComboboxProps(), {
102
+ className: "input-wrapper"
103
+ }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(), {
104
+ className: "input",
105
+ disabled: disabled
106
+ })), isFetching && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
107
+ className: "x-main2"
108
+ })), /*#__PURE__*/React.createElement(_a.Popover, {
109
+ isOpen: isOpen,
110
+ parentRef: parentRef
111
+ }, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
112
+ isOpen: isOpen,
113
+ getItemProps: getItemProps,
114
+ highlightedIndex: highlightedIndex,
115
+ items: items
116
+ }, getMenuProps()))), /*#__PURE__*/React.createElement(_.FormDescription, {
117
+ className: "v50 mt-v s-1",
118
+ description: description,
119
+ name: name
120
+ }));
121
+ };
122
+
123
+ Combobox.propTypes = {
124
+ /**
125
+ * The HTML id for this element
126
+ */
127
+ id: _propTypes.default.string,
128
+
129
+ /**
130
+ * The HTML class names for this element
131
+ */
132
+ className: _propTypes.default.string,
133
+
134
+ /**
135
+ * The React-written, css properties for this element.
136
+ */
137
+ style: _propTypes.default.objectOf(_propTypes.default.string),
138
+
139
+ /**
140
+ * The label of the custom select input
141
+ */
142
+ label: _propTypes.default.string,
143
+
144
+ /**
145
+ * The custom select input options from the backend
146
+ */
147
+ options: _propTypes.default.arrayOf(_propTypes.default.shape({
148
+ value: _propTypes.default.string,
149
+ label: _propTypes.default.string
150
+ })),
151
+
152
+ /**
153
+ * The name of the custom select input
154
+ */
155
+ name: _propTypes.default.string,
156
+
157
+ /**
158
+ * The function to fetch the options from the backend
159
+ */
160
+ getOptions: _propTypes.default.func,
161
+
162
+ /**
163
+ * The function to set the value of the custom select input
164
+ */
165
+ setValue: _propTypes.default.func.isRequired,
166
+
167
+ /**
168
+ * The custom select input description
169
+ */
170
+ description: _propTypes.default.string,
171
+
172
+ /**
173
+ * The value of the custom select input
174
+ */
175
+ value: _propTypes.default.shape({
176
+ value: _propTypes.default.string,
177
+ label: _propTypes.default.string
178
+ }),
179
+
180
+ /**
181
+ * The base color of the combobox custom select input
182
+ */
183
+ color: _propTypes.default.string,
184
+
185
+ /**
186
+ * Whether the query getting the combobox options is inFlight
187
+ */
188
+ isFetching: _propTypes.default.bool.isRequired,
189
+
190
+ /**
191
+ * The minimum length of the search input to start fetching the options
192
+ */
193
+ minLength: _propTypes.default.number,
194
+
195
+ /**
196
+ * The function to transform the search input
197
+ */
198
+ transformSearch: _propTypes.default.func,
199
+
200
+ /**
201
+ * Whether the input filed shpuld be disabled
202
+ */
203
+ disabled: _propTypes.default.bool
204
+ };
205
+ Combobox.defaultProps = {// someProp: false
206
+ };
207
+ var _default = Combobox;
208
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Combobox", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Combobox.default;
10
+ }
11
+ });
12
+
13
+ var _Combobox = _interopRequireDefault(require("./Combobox"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -11,13 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
13
13
 
14
- var _b = require("../../b");
15
-
16
- var _reactRouterDom = require("react-router-dom");
17
-
18
- var _BlogContext = require("../BlogContext");
19
-
20
- var _excluded = ["id", "className", "style", "children", "categorySlug"];
14
+ var _excluded = ["id", "className", "style", "items", "isOpen", "highlightedIndex", "getItemProps"];
21
15
 
22
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
17
 
@@ -33,37 +27,38 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
33
27
 
34
28
  // Local Definitions
35
29
  var baseClassName = _bem.default.base;
36
- var componentClassName = 'blog-category-button';
30
+ var componentClassName = 'menu';
37
31
  /**
38
32
  * This is the component description.
39
33
  */
40
34
 
41
- var BlogCategoryButton = _ref => {
35
+ var Menu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
42
36
  var {
43
37
  id,
44
38
  className: userClassName,
45
39
  style,
46
- children,
47
- categorySlug
40
+ items,
41
+ isOpen,
42
+ highlightedIndex,
43
+ getItemProps
48
44
  } = _ref,
49
45
  otherProps = _objectWithoutProperties(_ref, _excluded);
50
46
 
51
- var {
52
- generateBlogPath
53
- } = (0, _BlogContext.useBlog)();
54
- return /*#__PURE__*/React.createElement(_reactRouterDom.Link, {
55
- to: generateBlogPath('LIST_CATEGORY', {
56
- category: categorySlug
57
- })
58
- }, /*#__PURE__*/React.createElement(_b.Button, _extends({
47
+ return /*#__PURE__*/React.createElement("ul", _extends({
59
48
  id: id,
60
- isCompact: true,
61
49
  className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
62
- style: style
63
- }, otherProps), children));
64
- };
65
-
66
- BlogCategoryButton.propTypes = {
50
+ style: style,
51
+ ref: ref
52
+ }, otherProps), isOpen && items.map((item, index) => /*#__PURE__*/React.createElement("li", _extends({
53
+ key: item.label
54
+ }, getItemProps({
55
+ item,
56
+ index
57
+ }), {
58
+ className: ['item', highlightedIndex === index && _bem.default.modifierActive].filter(Boolean).join(' ')
59
+ }), /*#__PURE__*/React.createElement("p", null, item.label))));
60
+ });
61
+ Menu.propTypes = {
67
62
  /**
68
63
  * The HTML id for this element
69
64
  */
@@ -80,16 +75,29 @@ BlogCategoryButton.propTypes = {
80
75
  style: _propTypes.default.objectOf(_propTypes.default.string),
81
76
 
82
77
  /**
83
- * The children JSX
78
+ * The items to be displayed in the menu
79
+ */
80
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
81
+ value: _propTypes.default.string,
82
+ label: _propTypes.default.string
83
+ })),
84
+
85
+ /**
86
+ * Whether or not the menu is open
87
+ */
88
+ isOpen: _propTypes.default.bool,
89
+
90
+ /**
91
+ * The index of the highlighted item
84
92
  */
85
- children: _propTypes.default.node,
93
+ highlightedIndex: _propTypes.default.number,
86
94
 
87
95
  /**
88
- * The slug of the category
96
+ * The function to get the item props
89
97
  */
90
- categorySlug: _propTypes.default.string.isRequired
98
+ getItemProps: _propTypes.default.func
91
99
  };
92
- BlogCategoryButton.defaultProps = {// someProp:false
100
+ Menu.defaultProps = {// someProp:false
93
101
  };
94
- var _default = BlogCategoryButton;
102
+ var _default = Menu;
95
103
  exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Menu", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Menu.default;
10
+ }
11
+ });
12
+
13
+ var _Menu = _interopRequireDefault(require("./Menu"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
13
+
14
+ var _downshift = require("downshift");
15
+
16
+ var _b = require("../../../../../b");
17
+
18
+ var _a = require("../../../../../a");
19
+
20
+ var _ = require("../../../..");
21
+
22
+ var _Menu = require("../Menu");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
+
36
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
+
38
+ var baseClassName = _bem.default.base;
39
+ var componentClassName = 'multiple-combobox';
40
+ /**
41
+ * @param {Array[Object]} first - first array to check if it has an item not in the second array.
42
+ * @param {Array[Object]} second - second array to check against the first array.
43
+ *
44
+ * @returns {Boolean} - true if the first array has an item not in the second array.
45
+ */
46
+
47
+ var testIfArraysAreUnique = (first, second) => first.filter(objInFirstArray => !second.some(objInSecondArray => objInFirstArray.value === objInSecondArray.value)).length > 0;
48
+ /**
49
+ * This is the component description.
50
+ */
51
+
52
+
53
+ var MultipleCombobox = _ref => {
54
+ var {
55
+ id,
56
+ className: userClassName,
57
+ style,
58
+ label,
59
+ name,
60
+ options: items,
61
+ getOptions,
62
+ setValue,
63
+ description,
64
+ value,
65
+ color,
66
+ isFetching,
67
+ minLength,
68
+ transformSearch,
69
+ disabled // ...otherProps
70
+
71
+ } = _ref;
72
+ var [searchInputValue, setSearchInputValue] = (0, React.useState)('');
73
+ var {
74
+ getSelectedItemProps,
75
+ getDropdownProps,
76
+ addSelectedItem,
77
+ removeSelectedItem,
78
+ setSelectedItems,
79
+ selectedItems
80
+ } = (0, _downshift.useMultipleSelection)({
81
+ initialSelectedItems: value || []
82
+ });
83
+ /**
84
+ * @returns {Boolean} - Unique items from the options array so that the combobox
85
+ * shows only the options that are not yet selected.
86
+ */
87
+
88
+ var getFilteredItems = () => items.filter(item => selectedItems.findIndex(e => e.label === item.label) < 0);
89
+
90
+ var {
91
+ isOpen,
92
+ getLabelProps,
93
+ getMenuProps,
94
+ getInputProps,
95
+ getComboboxProps,
96
+ highlightedIndex,
97
+ getItemProps
98
+ } = (0, _downshift.useCombobox)({
99
+ searchInputValue,
100
+ defaultHighlightedIndex: 0,
101
+ // after selection, highlight the first item.
102
+ selectedItem: null,
103
+ items: getFilteredItems(),
104
+ circularNavigation: true,
105
+ stateReducer: (state, actionAndChanges) => {
106
+ var {
107
+ changes,
108
+ type
109
+ } = actionAndChanges;
110
+
111
+ switch (type) {
112
+ case _downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
113
+ case _downshift.useCombobox.stateChangeTypes.ItemClick:
114
+ return _objectSpread(_objectSpread({}, changes), {}, {
115
+ isOpen: true // keep the menu open after selection.
116
+
117
+ });
118
+
119
+ default:
120
+ break;
121
+ }
122
+
123
+ return changes;
124
+ },
125
+ onStateChange: _ref2 => {
126
+ var {
127
+ inputValue: newSearchInputValue,
128
+ type,
129
+ selectedItem
130
+ } = _ref2;
131
+
132
+ switch (type) {
133
+ case _downshift.useCombobox.stateChangeTypes.InputChange:
134
+ {
135
+ var transformedInput = transformSearch(newSearchInputValue);
136
+
137
+ if (transformedInput.length > minLength) {
138
+ getOptions(transformedInput);
139
+ }
140
+
141
+ setSearchInputValue(newSearchInputValue);
142
+ break;
143
+ }
144
+
145
+ case _downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
146
+ case _downshift.useCombobox.stateChangeTypes.ItemClick:
147
+ case _downshift.useCombobox.stateChangeTypes.InputBlur:
148
+ if (selectedItem) {
149
+ setSearchInputValue('');
150
+ addSelectedItem(selectedItem);
151
+ }
152
+
153
+ break;
154
+
155
+ default:
156
+ break;
157
+ }
158
+ }
159
+ });
160
+ (0, React.useEffect)(() => {
161
+ if ((selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0) {
162
+ setValue(selectedItems);
163
+ }
164
+ }, [selectedItems]);
165
+ (0, React.useEffect)(() => {
166
+ if ((value === null || value === void 0 ? void 0 : value.length) > 0 && (testIfArraysAreUnique(value, selectedItems) || testIfArraysAreUnique(selectedItems, value))) {
167
+ setSelectedItems(value);
168
+ }
169
+ }, [value]);
170
+ var parentRef = (0, React.useRef)(null);
171
+ return /*#__PURE__*/React.createElement("div", {
172
+ id: id,
173
+ className: [baseClassName, componentClassName, userClassName, "y-".concat(color)].filter(e => e).join(' '),
174
+ style: style
175
+ }, /*#__PURE__*/React.createElement(_.FormLabel, _extends({}, getLabelProps(), {
176
+ name: name
177
+ }), label), (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 && /*#__PURE__*/React.createElement("div", {
178
+ className: "selected-items"
179
+ }, selectedItems.map((selectedItem, index) => /*#__PURE__*/React.createElement("div", _extends({
180
+ key: selectedItem.label
181
+ }, getSelectedItemProps({
182
+ selectedItem,
183
+ index
184
+ }), {
185
+ className: "item"
186
+ }), /*#__PURE__*/React.createElement(_b.Button, {
187
+ onClick: e => {
188
+ e.stopPropagation();
189
+ removeSelectedItem(selectedItem);
190
+ },
191
+ isCompact: true,
192
+ isSimple: true,
193
+ color: color
194
+ }, /*#__PURE__*/React.createElement("span", {
195
+ className: "v25 mr-v"
196
+ }, selectedItem.label), /*#__PURE__*/React.createElement("span", {
197
+ className: "f-icons close"
198
+ }, "Y"))))), /*#__PURE__*/React.createElement("div", _extends({}, getComboboxProps(), {
199
+ className: "input-wrapper"
200
+ }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(getDropdownProps({
201
+ preventKeyAction: isOpen
202
+ })), {
203
+ className: "input",
204
+ disabled: disabled
205
+ })), isFetching && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
206
+ className: "x-main2"
207
+ })), /*#__PURE__*/React.createElement(_a.Popover, {
208
+ isOpen: isOpen,
209
+ parentRef: parentRef
210
+ }, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
211
+ isOpen: isOpen,
212
+ getItemProps: getItemProps,
213
+ highlightedIndex: highlightedIndex,
214
+ items: getFilteredItems()
215
+ }, getMenuProps()))), /*#__PURE__*/React.createElement(_.FormDescription, {
216
+ className: "v50 mt-v s-1",
217
+ description: description,
218
+ name: name
219
+ }));
220
+ };
221
+
222
+ MultipleCombobox.propTypes = {
223
+ /**
224
+ * The HTML id for this element
225
+ */
226
+ id: _propTypes.default.string,
227
+
228
+ /**
229
+ * The HTML class names for this element
230
+ */
231
+ className: _propTypes.default.string,
232
+
233
+ /**
234
+ * The React-written, css properties for this element.
235
+ */
236
+ style: _propTypes.default.objectOf(_propTypes.default.string),
237
+
238
+ /**
239
+ * The label of the custom select input
240
+ */
241
+ label: _propTypes.default.string,
242
+
243
+ /**
244
+ * The custom select input options from the backend
245
+ */
246
+ options: _propTypes.default.arrayOf(_propTypes.default.shape({
247
+ value: _propTypes.default.string,
248
+ label: _propTypes.default.string
249
+ })),
250
+
251
+ /**
252
+ * The name of the custom select input
253
+ */
254
+ name: _propTypes.default.string,
255
+
256
+ /**
257
+ * The function to fetch the options from the backend
258
+ */
259
+ getOptions: _propTypes.default.func,
260
+
261
+ /**
262
+ * The function to set the value of the custom select input
263
+ */
264
+ setValue: _propTypes.default.func.isRequired,
265
+
266
+ /**
267
+ * The custom select input description
268
+ */
269
+ description: _propTypes.default.string,
270
+
271
+ /**
272
+ * The value of the custom select input
273
+ */
274
+ value: _propTypes.default.arrayOf(_propTypes.default.shape({
275
+ value: _propTypes.default.string,
276
+ label: _propTypes.default.string
277
+ })),
278
+
279
+ /**
280
+ * The base color of the custom select input
281
+ */
282
+ color: _propTypes.default.string,
283
+
284
+ /**
285
+ * Whether the query getting the combobox options is inFlight
286
+ */
287
+ isFetching: _propTypes.default.bool.isRequired,
288
+
289
+ /**
290
+ * The minimum length of the search input to start fetching the options
291
+ */
292
+ minLength: _propTypes.default.number,
293
+
294
+ /**
295
+ * The function to transform the search input
296
+ */
297
+ transformSearch: _propTypes.default.func,
298
+
299
+ /**
300
+ * Whether the input filed shpuld be disabled
301
+ */
302
+ disabled: _propTypes.default.bool
303
+ };
304
+ MultipleCombobox.defaultProps = {// someProp: false
305
+ };
306
+ var _default = MultipleCombobox;
307
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "MultipleCombobox", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _MultipleCombobox.default;
10
+ }
11
+ });
12
+
13
+ var _MultipleCombobox = _interopRequireDefault(require("./MultipleCombobox"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Menu", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Menu.Menu;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Combobox", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Combobox.Combobox;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "MultipleCombobox", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _MultipleCombobox.MultipleCombobox;
22
+ }
23
+ });
24
+
25
+ var _Menu = require("./Menu");
26
+
27
+ var _Combobox = require("./Combobox");
28
+
29
+ var _MultipleCombobox = require("./MultipleCombobox");