@pareto-engineering/design-system 2.0.0-alpha.4 → 2.0.0-alpha.40

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 (322) hide show
  1. package/dist/cjs/{c/SiteFooter/common/Section/Section.js → a/BackgroundGradient/BackgroundGradient.js} +20 -38
  2. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  3. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  4. package/dist/cjs/{c/SiteFooter/SiteFooter.js → a/ContentTree/ContentTree.js} +22 -12
  5. package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
  6. package/dist/cjs/{c/BlogPostsList/common/Card → a/ContentTree/common/Tree}/index.js +3 -3
  7. package/dist/cjs/a/ContentTree/common/index.js +31 -0
  8. package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
  9. package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
  10. package/dist/cjs/{c/SiteMission → a/ContentTree}/index.js +3 -3
  11. package/dist/cjs/a/ContentTree/styles.scss +33 -0
  12. package/dist/cjs/a/Conversation/Conversation.js +14 -8
  13. package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
  14. package/dist/cjs/a/Conversation/styles.scss +132 -33
  15. package/dist/cjs/{experimental/GradientBackground/GradientBackground.js → a/OvalIllustration/OvalIllustration.js} +61 -26
  16. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  17. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  18. package/dist/cjs/a/Shapes/Shapes.js +39 -9
  19. package/dist/cjs/a/Shapes/styles.scss +78 -22
  20. package/dist/cjs/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +15 -11
  21. package/dist/cjs/{c/SiteFooter/common/Section → a/SnapScroller}/index.js +3 -3
  22. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  23. package/dist/cjs/a/index.js +41 -1
  24. package/dist/cjs/b/Button/Button.js +10 -4
  25. package/dist/cjs/b/Button/styles.scss +55 -10
  26. package/dist/cjs/b/Logo/Logo.js +41 -41
  27. package/dist/cjs/b/Logo/styles.scss +0 -138
  28. package/dist/cjs/b/Page/common/Section/Section.js +56 -5
  29. package/dist/cjs/b/Page/styles.scss +8 -2
  30. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +5 -5
  31. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  32. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  33. package/dist/cjs/c/{SiteOnboardingStep/SiteOnboardingStep.js → SocialMediaShareButton/SocialMediaShareButton.js} +48 -41
  34. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  35. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  36. package/dist/cjs/c/index.js +9 -1
  37. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  38. package/dist/cjs/f/common/Label/Label.js +1 -1
  39. package/dist/cjs/f/common/Label/styles.scss +1 -1
  40. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  41. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  42. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +30 -5
  43. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  44. package/dist/cjs/f/fields/SelectInput/SelectInput.js +36 -10
  45. package/dist/cjs/f/fields/SelectInput/styles.scss +13 -8
  46. package/dist/cjs/f/fields/TextInput/TextInput.js +28 -7
  47. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  48. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +15 -8
  49. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  50. package/dist/cjs/f/fields/index.js +0 -24
  51. package/dist/cjs/form-reset.scss +1 -1
  52. package/dist/es/{c/SiteFooter/SiteFooter.js → a/BackgroundGradient/BackgroundGradient.js} +14 -15
  53. package/dist/es/a/BackgroundGradient/index.js +2 -0
  54. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  55. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  56. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  57. package/dist/es/{c/BlogPostsList/common/Card → a/ContentTree/common/Tree}/index.js +1 -1
  58. package/dist/es/a/ContentTree/common/index.js +3 -0
  59. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  60. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  61. package/dist/es/a/ContentTree/index.js +2 -0
  62. package/dist/es/a/ContentTree/styles.scss +33 -0
  63. package/dist/es/a/Conversation/Conversation.js +14 -8
  64. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  65. package/dist/es/a/Conversation/styles.scss +132 -33
  66. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  67. package/dist/es/a/OvalIllustration/index.js +2 -0
  68. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  69. package/dist/es/a/Shapes/Shapes.js +39 -9
  70. package/dist/es/a/Shapes/styles.scss +78 -22
  71. package/dist/es/{c/BlogPostsList/BlogPostsList.js → a/SnapScroller/SnapScroller.js} +16 -11
  72. package/dist/es/a/SnapScroller/index.js +2 -0
  73. package/dist/es/a/SnapScroller/styles.scss +38 -0
  74. package/dist/es/a/index.js +6 -1
  75. package/dist/es/b/Button/Button.js +8 -2
  76. package/dist/es/b/Button/styles.scss +55 -10
  77. package/dist/es/b/Logo/Logo.js +41 -41
  78. package/dist/es/b/Logo/styles.scss +0 -138
  79. package/dist/es/b/Page/common/Section/Section.js +55 -4
  80. package/dist/es/b/Page/styles.scss +8 -2
  81. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +5 -5
  82. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  83. package/dist/es/c/ContentSlides/styles.scss +10 -4
  84. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +89 -0
  85. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  86. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  87. package/dist/es/c/index.js +2 -1
  88. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  89. package/dist/es/f/common/Label/Label.js +1 -1
  90. package/dist/es/f/common/Label/styles.scss +1 -1
  91. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  92. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  93. package/dist/es/f/fields/RatingsInput/RatingsInput.js +29 -5
  94. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  95. package/dist/es/f/fields/SelectInput/SelectInput.js +36 -10
  96. package/dist/es/f/fields/SelectInput/styles.scss +13 -8
  97. package/dist/es/f/fields/TextInput/TextInput.js +28 -7
  98. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  99. package/dist/es/f/fields/TextareaInput/TextareaInput.js +15 -8
  100. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  101. package/dist/es/f/fields/index.js +0 -3
  102. package/dist/es/form-reset.scss +1 -1
  103. package/package.json +4 -3
  104. package/src/__snapshots__/Storyshots.test.js.snap +4366 -1757
  105. package/src/local.scss +2 -0
  106. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  107. package/src/stories/StyleGuide/helpers.js +16 -0
  108. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  109. package/src/stories/a/ContentTree.stories.jsx +662 -0
  110. package/src/stories/a/Conversation.stories.jsx +78 -1
  111. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  112. package/src/stories/a/Shapes.stories.jsx +143 -0
  113. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  114. package/src/stories/b/Button.stories.jsx +27 -4
  115. package/src/stories/b/Logo.stories.jsx +17 -9
  116. package/src/stories/b/Page.stories.jsx +51 -1
  117. package/src/stories/c/ContentSlides.stories.jsx +154 -2
  118. package/src/stories/c/SocialMediaShareButton.stories.jsx +25 -0
  119. package/src/stories/f/RatingsInput.stories.jsx +3 -2
  120. package/src/stories/f/SelectInput.stories.jsx +36 -5
  121. package/src/stories/f/TextInput.stories.jsx +15 -4
  122. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  123. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  124. package/src/ui/a/BackgroundGradient/index.js +2 -0
  125. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  126. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  127. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  128. package/{dist/es/c/SiteFooter/common/Section → src/ui/a/ContentTree/common/Tree}/index.js +1 -1
  129. package/src/ui/a/ContentTree/common/index.js +3 -0
  130. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  131. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  132. package/src/ui/a/ContentTree/index.js +2 -0
  133. package/src/ui/a/ContentTree/styles.scss +33 -0
  134. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  135. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  136. package/src/ui/a/Conversation/styles.scss +132 -33
  137. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  138. package/src/ui/a/OvalIllustration/index.js +2 -0
  139. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  140. package/src/ui/a/Shapes/Shapes.jsx +191 -0
  141. package/{dist/es/f/fields/TextArea → src/ui/a/Shapes}/index.js +1 -1
  142. package/src/ui/a/Shapes/styles.scss +255 -0
  143. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  144. package/src/ui/a/SnapScroller/index.js +2 -0
  145. package/src/ui/a/SnapScroller/styles.scss +38 -0
  146. package/src/ui/a/index.js +5 -0
  147. package/src/ui/b/Button/Button.jsx +9 -1
  148. package/src/ui/b/Button/styles.scss +55 -10
  149. package/src/ui/b/Logo/Logo.jsx +41 -41
  150. package/src/ui/b/Logo/styles.scss +0 -138
  151. package/src/ui/b/Page/common/Section/Section.jsx +68 -2
  152. package/src/ui/b/Page/styles.scss +8 -2
  153. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +4 -4
  154. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  155. package/src/ui/c/ContentSlides/styles.scss +10 -4
  156. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +113 -0
  157. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  158. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  159. package/src/ui/c/index.js +1 -0
  160. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  161. package/src/ui/f/common/Label/Label.jsx +1 -1
  162. package/src/ui/f/common/Label/styles.scss +1 -1
  163. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +1 -1
  164. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  165. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +44 -17
  166. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  167. package/src/ui/f/fields/SelectInput/SelectInput.jsx +43 -5
  168. package/src/ui/f/fields/SelectInput/styles.scss +13 -8
  169. package/src/ui/f/fields/TextInput/TextInput.jsx +24 -3
  170. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  171. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +24 -13
  172. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  173. package/src/ui/f/fields/index.js +0 -3
  174. package/src/ui/form-reset.scss +1 -1
  175. package/stylelint.config.js +13 -13
  176. package/dist/cjs/a/GradientBackground/GradientBackground.js +0 -140
  177. package/dist/cjs/a/GradientBackground/index.js +0 -15
  178. package/dist/cjs/a/GradientBackground/styles.scss +0 -191
  179. package/dist/cjs/c/AcceptCookies/AcceptCookies.js +0 -134
  180. package/dist/cjs/c/AcceptCookies/index.js +0 -15
  181. package/dist/cjs/c/AcceptCookies/styles.scss +0 -49
  182. package/dist/cjs/c/BlogCategoryButton/BlogCategoryButton.js +0 -95
  183. package/dist/cjs/c/BlogCategoryButton/index.js +0 -15
  184. package/dist/cjs/c/BlogContext/BlogContextProvider.js +0 -63
  185. package/dist/cjs/c/BlogContext/Context.js +0 -16
  186. package/dist/cjs/c/BlogContext/ContextProvider.js +0 -63
  187. package/dist/cjs/c/BlogContext/index.js +0 -31
  188. package/dist/cjs/c/BlogContext/useBlog.js +0 -16
  189. package/dist/cjs/c/BlogPost/BlogPost.js +0 -147
  190. package/dist/cjs/c/BlogPost/index.js +0 -15
  191. package/dist/cjs/c/BlogPost/styles.scss +0 -33
  192. package/dist/cjs/c/BlogPostsList/common/Card/Card.js +0 -170
  193. package/dist/cjs/c/BlogPostsList/common/index.js +0 -13
  194. package/dist/cjs/c/BlogPostsList/index.js +0 -15
  195. package/dist/cjs/c/BlogPostsList/styles.scss +0 -72
  196. package/dist/cjs/c/SiteFooter/common/index.js +0 -13
  197. package/dist/cjs/c/SiteFooter/index.js +0 -15
  198. package/dist/cjs/c/SiteFooter/styles.scss +0 -34
  199. package/dist/cjs/c/SiteHeaderCTA/SiteHeaderCTA.js +0 -108
  200. package/dist/cjs/c/SiteHeaderCTA/index.js +0 -15
  201. package/dist/cjs/c/SiteHeaderCTA/styles.scss +0 -44
  202. package/dist/cjs/c/SiteMission/SiteMission.js +0 -113
  203. package/dist/cjs/c/SiteMission/styles.scss +0 -30
  204. package/dist/cjs/c/SiteNavigation/SiteNavigation.js +0 -130
  205. package/dist/cjs/c/SiteNavigation/index.js +0 -15
  206. package/dist/cjs/c/SiteNavigation/styles.scss +0 -118
  207. package/dist/cjs/c/SiteOnboardingStep/index.js +0 -15
  208. package/dist/cjs/c/SiteOnboardingStep/styles.scss +0 -51
  209. package/dist/cjs/c/SitePricing/SitePricing.js +0 -108
  210. package/dist/cjs/c/SitePricing/index.js +0 -15
  211. package/dist/cjs/c/SitePricing/styles.scss +0 -73
  212. package/dist/cjs/c/SiteServices/SiteServices.js +0 -211
  213. package/dist/cjs/c/SiteServices/index.js +0 -15
  214. package/dist/cjs/c/SiteServices/styles.scss +0 -138
  215. package/dist/cjs/c/TeamGallery/TeamGallery.js +0 -80
  216. package/dist/cjs/c/TeamGallery/common/PersonCard/PersonCard.js +0 -84
  217. package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +0 -15
  218. package/dist/cjs/c/TeamGallery/common/index.js +0 -13
  219. package/dist/cjs/c/TeamGallery/index.js +0 -15
  220. package/dist/cjs/c/TeamGallery/styles.scss +0 -100
  221. package/dist/cjs/c/Testimonials/Testimonials.js +0 -119
  222. package/dist/cjs/c/Testimonials/index.js +0 -15
  223. package/dist/cjs/c/Testimonials/styles.scss +0 -112
  224. package/dist/cjs/experimental/GradientBackground/index.js +0 -15
  225. package/dist/cjs/experimental/GradientBackground/styles.scss +0 -64
  226. package/dist/cjs/experimental/index.js +0 -13
  227. package/dist/cjs/f/fields/CheckboxInput/CheckboxInput.js +0 -105
  228. package/dist/cjs/f/fields/CheckboxInput/index.js +0 -15
  229. package/dist/cjs/f/fields/CheckboxInput/styles.scss +0 -28
  230. package/dist/cjs/f/fields/RadioInput/RadioInput.js +0 -110
  231. package/dist/cjs/f/fields/RadioInput/index.js +0 -15
  232. package/dist/cjs/f/fields/RadioInput/styles.scss +0 -26
  233. package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +0 -129
  234. package/dist/cjs/f/fields/TaskRecommendation/index.js +0 -15
  235. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +0 -37
  236. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +0 -131
  237. package/dist/cjs/f/fields/TaskRecommendationInput/index.js +0 -15
  238. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +0 -41
  239. package/dist/cjs/f/fields/TextArea/TextArea.js +0 -141
  240. package/dist/cjs/f/fields/TextArea/index.js +0 -15
  241. package/dist/cjs/f/fields/TextArea/styles.scss +0 -19
  242. package/dist/es/a/GradientBackground/GradientBackground.js +0 -118
  243. package/dist/es/a/GradientBackground/index.js +0 -2
  244. package/dist/es/a/GradientBackground/styles.scss +0 -191
  245. package/dist/es/c/AcceptCookies/AcceptCookies.js +0 -117
  246. package/dist/es/c/AcceptCookies/index.js +0 -2
  247. package/dist/es/c/AcceptCookies/styles.scss +0 -49
  248. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +0 -68
  249. package/dist/es/c/BlogCategoryButton/index.js +0 -2
  250. package/dist/es/c/BlogContext/BlogContextProvider.js +0 -45
  251. package/dist/es/c/BlogContext/Context.js +0 -2
  252. package/dist/es/c/BlogContext/ContextProvider.js +0 -45
  253. package/dist/es/c/BlogContext/index.js +0 -4
  254. package/dist/es/c/BlogContext/useBlog.js +0 -3
  255. package/dist/es/c/BlogPost/BlogPost.js +0 -128
  256. package/dist/es/c/BlogPost/index.js +0 -2
  257. package/dist/es/c/BlogPost/styles.scss +0 -33
  258. package/dist/es/c/BlogPostsList/common/Card/Card.js +0 -143
  259. package/dist/es/c/BlogPostsList/common/index.js +0 -1
  260. package/dist/es/c/BlogPostsList/index.js +0 -2
  261. package/dist/es/c/BlogPostsList/styles.scss +0 -72
  262. package/dist/es/c/SiteFooter/common/Section/Section.js +0 -73
  263. package/dist/es/c/SiteFooter/common/index.js +0 -1
  264. package/dist/es/c/SiteFooter/index.js +0 -2
  265. package/dist/es/c/SiteFooter/styles.scss +0 -34
  266. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +0 -92
  267. package/dist/es/c/SiteHeaderCTA/index.js +0 -2
  268. package/dist/es/c/SiteHeaderCTA/styles.scss +0 -44
  269. package/dist/es/c/SiteMission/SiteMission.js +0 -96
  270. package/dist/es/c/SiteMission/index.js +0 -2
  271. package/dist/es/c/SiteMission/styles.scss +0 -30
  272. package/dist/es/c/SiteNavigation/SiteNavigation.js +0 -111
  273. package/dist/es/c/SiteNavigation/index.js +0 -2
  274. package/dist/es/c/SiteNavigation/styles.scss +0 -118
  275. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +0 -81
  276. package/dist/es/c/SiteOnboardingStep/index.js +0 -2
  277. package/dist/es/c/SiteOnboardingStep/styles.scss +0 -51
  278. package/dist/es/c/SitePricing/SitePricing.js +0 -91
  279. package/dist/es/c/SitePricing/index.js +0 -2
  280. package/dist/es/c/SitePricing/styles.scss +0 -73
  281. package/dist/es/c/SiteServices/SiteServices.js +0 -195
  282. package/dist/es/c/SiteServices/index.js +0 -2
  283. package/dist/es/c/SiteServices/styles.scss +0 -138
  284. package/dist/es/c/TeamGallery/TeamGallery.js +0 -64
  285. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +0 -64
  286. package/dist/es/c/TeamGallery/common/PersonCard/index.js +0 -2
  287. package/dist/es/c/TeamGallery/common/index.js +0 -1
  288. package/dist/es/c/TeamGallery/index.js +0 -2
  289. package/dist/es/c/TeamGallery/styles.scss +0 -100
  290. package/dist/es/c/Testimonials/Testimonials.js +0 -99
  291. package/dist/es/c/Testimonials/index.js +0 -2
  292. package/dist/es/c/Testimonials/styles.scss +0 -112
  293. package/dist/es/experimental/GradientBackground/GradientBackground.js +0 -76
  294. package/dist/es/experimental/GradientBackground/index.js +0 -2
  295. package/dist/es/experimental/GradientBackground/styles.scss +0 -64
  296. package/dist/es/experimental/index.js +0 -1
  297. package/dist/es/f/fields/CheckboxInput/CheckboxInput.js +0 -85
  298. package/dist/es/f/fields/CheckboxInput/index.js +0 -2
  299. package/dist/es/f/fields/CheckboxInput/styles.scss +0 -28
  300. package/dist/es/f/fields/RadioInput/RadioInput.js +0 -90
  301. package/dist/es/f/fields/RadioInput/index.js +0 -2
  302. package/dist/es/f/fields/RadioInput/styles.scss +0 -26
  303. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +0 -111
  304. package/dist/es/f/fields/TaskRecommendation/index.js +0 -2
  305. package/dist/es/f/fields/TaskRecommendation/styles.scss +0 -37
  306. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +0 -111
  307. package/dist/es/f/fields/TaskRecommendationInput/index.js +0 -2
  308. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +0 -41
  309. package/dist/es/f/fields/TextArea/TextArea.js +0 -124
  310. package/dist/es/f/fields/TextArea/styles.scss +0 -19
  311. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  312. package/src/stories/f/RadioInput.stories.jsx +0 -37
  313. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  314. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  315. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  316. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  317. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  318. package/src/ui/f/fields/RadioInput/index.js +0 -2
  319. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  320. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  321. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  322. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -0,0 +1,138 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { useState, useEffect, useMemo } from 'react'
5
+
6
+ import PropTypes from 'prop-types'
7
+
8
+ import styleNames from '@pareto-engineering/bem'
9
+
10
+ // Local Definitions
11
+
12
+ import useFirstVisibleNode from '../useFirstVisibleNode'
13
+
14
+ const baseClassName = styleNames.base
15
+
16
+ const componentClassName = 'tree'
17
+
18
+ /**
19
+ * This is the component description.
20
+ */
21
+ const Tree = ({
22
+ id,
23
+ className:userClassName,
24
+ style,
25
+ tree,
26
+ displayDepth,
27
+ // ...otherProps
28
+ }) => {
29
+ // The nodeIds to be used to get the first visible node
30
+ const [nodeIds, setNodeIds] = useState([])
31
+
32
+ // current visible nodeId
33
+ const visibleNodeId = useFirstVisibleNode(nodeIds)
34
+
35
+ useEffect(() => {
36
+ const node = document.getElementsByClassName(visibleNodeId)[0]
37
+ node?.classList.add(styleNames.modifierActive)
38
+
39
+ return () => {
40
+ node?.classList.remove(styleNames.modifierActive)
41
+ }
42
+ }, [visibleNodeId])
43
+
44
+ // Generate the tree structure from the content tree data depending on the display depth
45
+ const getNestedTree = (node, depth) => {
46
+ setNodeIds((prev) => [...prev, node.id])
47
+ if (depth <= 1) {
48
+ return (
49
+ <li key={node.id}>
50
+ <a
51
+ className={node.id}
52
+ href={node.id}
53
+ >
54
+ {node.text}
55
+ </a>
56
+ </li>
57
+ )
58
+ }
59
+ return (
60
+ <li key={node.id}>
61
+ <p>
62
+ <a
63
+ href={node.id}
64
+ className={node.id}
65
+ >
66
+ {node.text}
67
+ </a>
68
+ </p>
69
+ {node.children.length > 0 && (
70
+ <ul>
71
+ {node.children.map((child) => getNestedTree(child, depth - 1))}
72
+ </ul>
73
+ )}
74
+ </li>
75
+ )
76
+ }
77
+
78
+ const ContentTree = useMemo(
79
+ () => tree.map((node) => getNestedTree(node, displayDepth)),
80
+ [tree],
81
+ )
82
+
83
+ return (
84
+ <ul
85
+ id={id}
86
+ className={[
87
+
88
+ baseClassName,
89
+
90
+ componentClassName,
91
+ userClassName,
92
+ ]
93
+ .filter((e) => e)
94
+ .join(' ')}
95
+ style={style}
96
+ >
97
+ {ContentTree}
98
+ </ul>
99
+ )
100
+ }
101
+ Tree.propTypes = {
102
+ /**
103
+ * The HTML id for this element
104
+ */
105
+ id:PropTypes.string,
106
+
107
+ /**
108
+ * The HTML class names for this element
109
+ */
110
+ className:PropTypes.string,
111
+
112
+ /**
113
+ * The React-written, css properties for this element.
114
+ */
115
+ style:PropTypes.objectOf(PropTypes.string),
116
+
117
+ /**
118
+ * The tree to render.
119
+ */
120
+ tree:PropTypes.arrayOf(PropTypes.shape({
121
+ text :PropTypes.string,
122
+ id :PropTypes.string,
123
+ children:PropTypes.arrayOf(PropTypes.shape({
124
+ text:PropTypes.string, id:PropTypes.string,
125
+ })),
126
+ })),
127
+
128
+ /**
129
+ * The levels of the tree to display.
130
+ */
131
+ displayDepth:PropTypes.number,
132
+ }
133
+
134
+ Tree.defaultProps = {
135
+ displayDepth:4,
136
+ }
137
+
138
+ export default Tree
@@ -1,2 +1,2 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
- export { default as Section } from "./Section";
2
+ export { default as Tree } from './Tree'
@@ -0,0 +1,3 @@
1
+ export { default as useContentTree } from './useContentTree'
2
+ export { default as useFirstVisibleNode } from './useFirstVisibleNode'
3
+ export { Tree } from './Tree'
@@ -0,0 +1,83 @@
1
+ import { useState, useEffect, useCallback } from 'react'
2
+
3
+ const useContentTree = (target, selectors) => {
4
+ const [contentTree, setContentTree] = useState([])
5
+
6
+ const getNodes = useCallback((parentTag) => {
7
+ const nodeList = parentTag.querySelectorAll(selectors.join(', '))
8
+ const nodes = []
9
+
10
+ nodeList.forEach((nodeNode) => {
11
+ const { id, innerText, tagName } = nodeNode
12
+
13
+ nodes.push({
14
+ id :`#${id}`,
15
+ text :innerText,
16
+ level:selectors.indexOf(tagName.toLowerCase()),
17
+ })
18
+ })
19
+
20
+ return nodes
21
+ }, [selectors])
22
+
23
+ const buildTree = useCallback((nodes) => {
24
+ // Track the nodes we've seen so far in the same level
25
+ const currentSameLevelNodes = []
26
+ // Track nodes of the next level which will be children of the current node
27
+ let nextLevelNodes = []
28
+ // Track the current node level
29
+ let lastLevel = -1
30
+
31
+ // If the nodes are empty, return an empty tree
32
+ if (nodes.length === 0) {
33
+ return []
34
+ }
35
+
36
+ const buildSubTree = () => {
37
+ if (nextLevelNodes.length > 0) {
38
+ currentSameLevelNodes[currentSameLevelNodes.length - 1].children.push(
39
+ ...buildTree(nextLevelNodes),
40
+ )
41
+ }
42
+ }
43
+
44
+ nodes.forEach((node) => {
45
+ // If the node is of a greater level, we need to build the sub tree
46
+ if (lastLevel !== -1 && lastLevel < node.level) {
47
+ nextLevelNodes.push(node)
48
+ return
49
+ }
50
+
51
+ // build a subtree
52
+ buildSubTree()
53
+
54
+ // reset the next level nodes
55
+ lastLevel = node.level
56
+ // add the current node to the current level nodes
57
+ currentSameLevelNodes.push({
58
+ id :node.id,
59
+ text :node.text,
60
+ children:[],
61
+ })
62
+ // reset the next level nodes after building the subtree
63
+ nextLevelNodes = []
64
+ })
65
+
66
+ // build subtree
67
+ buildSubTree()
68
+
69
+ return currentSameLevelNodes
70
+ }, [])
71
+
72
+ useEffect(() => {
73
+ if (target.current) {
74
+ const nodes = getNodes(target.current)
75
+ const tree = buildTree(nodes)
76
+ setContentTree(tree)
77
+ }
78
+ }, [target.current])
79
+
80
+ return contentTree
81
+ }
82
+
83
+ export default useContentTree
@@ -0,0 +1,59 @@
1
+ import {
2
+ useState, useEffect, useMemo, useCallback,
3
+ } from 'react'
4
+ import debounce from 'lodash/debounce'
5
+
6
+ const useFirstVisibleNode = (nodeIds, config) => {
7
+ const [visibleNodeId, setVisibleNodeId] = useState(null)
8
+
9
+ const { debounceMs = 25 } = config || {}
10
+
11
+ // get headlines nodes - Should only be recalculated when the ids change
12
+ const nodes = useMemo(() => {
13
+ if (nodeIds?.length > 0) {
14
+ return Array.from(document.querySelectorAll(nodeIds.join(',')))
15
+ }
16
+ return []
17
+ }, [nodeIds])
18
+
19
+ const getVisibleNodeId = useCallback(debounce(() => {
20
+ // Get the top postion of each headline node relative to the viewport
21
+ const topOffsets = nodes.map((node) => node.getBoundingClientRect().top)
22
+
23
+ // Get the node closer to zero (the top of the viewport)
24
+ // We have the default offset as Infinity so it's always greater that the first node Y position
25
+ const visibleNode = topOffsets.reduce(
26
+ (prev, currentOffset, currentIndex) => {
27
+ const node = Math.abs(currentOffset - 0) < Math.abs(prev.offset - 0)
28
+ ? { node: nodes[currentIndex], offset: currentOffset }
29
+ : prev
30
+
31
+ return node
32
+ }, { node: nodes[0], offset: Infinity },
33
+ )
34
+
35
+ // Set the visible node id
36
+ setVisibleNodeId(`#${visibleNode?.node?.id}`)
37
+ }, debounceMs), [nodes])
38
+
39
+ // Recalculate the visible node id when the page is scrolled
40
+ useEffect(() => {
41
+ window.addEventListener('scroll', getVisibleNodeId)
42
+
43
+ return () => {
44
+ window.removeEventListener('scroll', getVisibleNodeId)
45
+ }
46
+ }, [getVisibleNodeId])
47
+
48
+ // Recalculate the visible node id when the page is resized
49
+ useEffect(() => {
50
+ window.addEventListener('resize', getVisibleNodeId)
51
+ return () => {
52
+ window.removeEventListener('resize', getVisibleNodeId)
53
+ }
54
+ }, [getVisibleNodeId])
55
+
56
+ return visibleNodeId
57
+ }
58
+
59
+ export default useFirstVisibleNode
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as ContentTree } from './ContentTree'
@@ -0,0 +1,33 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-margin: 1em;
5
+ $default-padding: 1em;
6
+
7
+ .#{bem.$base}.content-tree{
8
+
9
+ ul {
10
+ list-style: none;
11
+ }
12
+
13
+ .#{bem.$base}.tree {
14
+ position: sticky;
15
+ top: 0;
16
+ padding: 0;
17
+
18
+ .#{bem.$modifier-active} {
19
+ color: var(--main2);
20
+ transition: color 0.2s;
21
+ }
22
+
23
+ li:not(:last-child) {
24
+ margin-bottom: $default-margin;
25
+ ul {
26
+ padding-left: $default-padding;
27
+ }
28
+ }
29
+ }
30
+ }
31
+
32
+
33
+
@@ -28,14 +28,13 @@ const Conversation = ({
28
28
  ourColor,
29
29
  theirColor,
30
30
  children,
31
+ hasTriangle,
31
32
  // ...otherProps
32
33
  }) => {
33
34
  useLayoutEffect(() => {
34
35
  import('./styles.scss')
35
36
  }, [])
36
37
 
37
- // const messageColors = { ours: color, theirs: 'main2' }
38
-
39
38
  return (
40
39
  <ConversationContext.Provider
41
40
  value={{
@@ -49,6 +48,7 @@ const Conversation = ({
49
48
  baseClassName,
50
49
  componentClassName,
51
50
  userClassName,
51
+ hasTriangle && 'has-triangle',
52
52
  `y-${backgroundColor}`,
53
53
  'u1',
54
54
  ]
@@ -76,11 +76,13 @@ Conversation.propTypes = {
76
76
  /**
77
77
  * The React-written, css properties for this element.
78
78
  */
79
- style :PropTypes.objectOf(PropTypes.string),
79
+ style:PropTypes.objectOf(PropTypes.string),
80
+
80
81
  /**
81
82
  * The base color to our messages component
82
83
  */
83
- ourColor :PropTypes.string,
84
+ ourColor:PropTypes.string,
85
+
84
86
  /**
85
87
  * The base color to their messages component
86
88
  */
@@ -94,12 +96,18 @@ Conversation.propTypes = {
94
96
  * The children JSX
95
97
  */
96
98
  children :PropTypes.node,
99
+
100
+ /**
101
+ * whether to add triangle to bubble chats
102
+ */
103
+ hasTriangle:PropTypes.bool,
97
104
  }
98
105
 
99
106
  Conversation.defaultProps = {
100
- backgroundColor:'background',
101
- ourColor :'main2',
102
- theirColor :'background2',
107
+ backgroundColor:'background2',
108
+ ourColor :'background1',
109
+ theirColor :'background1',
110
+ hasTriangle :false,
103
111
  }
104
112
 
105
113
  Conversation.Message = Message
@@ -23,6 +23,9 @@ const Message = ({
23
23
  message,
24
24
  sender,
25
25
  from,
26
+ attachment,
27
+ attachmentIcon,
28
+ attachmentColor,
26
29
  // ...otherProps
27
30
  }) => {
28
31
  const { ourColor, theirColor } = useConversation()
@@ -36,6 +39,7 @@ const Message = ({
36
39
  userClassName,
37
40
  `x-${from === 'ours' ? ourColor : theirColor}`,
38
41
  from === 'ours' && 'ours',
42
+ 'v1',
39
43
  ]
40
44
  .filter((e) => e)
41
45
  .join(' ')}
@@ -49,11 +53,19 @@ const Message = ({
49
53
  <p>
50
54
  {message}
51
55
  </p>
56
+ {attachment
57
+ && (
58
+ <div className={`attachment y-${attachmentColor}`}>
59
+ <span className="f-icons">{attachmentIcon}</span>
60
+ <p className="ml-v">
61
+ {attachment}
62
+ </p>
63
+ </div>
64
+ )}
52
65
  </div>
53
66
  </div>
54
67
  )
55
68
  }
56
-
57
69
  Message.propTypes = {
58
70
  /**
59
71
  * The HTML id for this element
@@ -65,26 +77,46 @@ Message.propTypes = {
65
77
  */
66
78
  className:PropTypes.string,
67
79
 
80
+ /**
81
+ * The React-written, css properties for this element.
82
+ */
83
+ style:PropTypes.objectOf(PropTypes.string),
84
+
68
85
  /**
69
86
  * The message in the conversation
70
87
  */
71
88
  message:PropTypes.string.isRequired,
89
+
72
90
  /**
73
91
  * The sender of the message
74
92
  */
75
- sender :PropTypes.string.isRequired,
93
+ sender:PropTypes.string.isRequired,
94
+
76
95
  /**
77
96
  * The owner of the message
78
97
  */
79
- from :PropTypes.oneOf(['ours', 'theirs']),
98
+ from:PropTypes.oneOf(['ours', 'theirs']),
99
+
80
100
  /**
81
- * The React-written, css properties for this element.
101
+ * name of the attachment file
102
+ */
103
+ attachment:PropTypes.string,
104
+
105
+ /**
106
+ * source of the attachment icon
107
+ */
108
+ attachmentIcon:PropTypes.string,
109
+
110
+ /**
111
+ * background color of the attachment box
82
112
  */
83
- style :PropTypes.objectOf(PropTypes.string),
113
+ attachmentColor:PropTypes.string,
84
114
  }
85
115
 
86
116
  Message.defaultProps = {
87
- from:'theirs',
117
+ from :'theirs',
118
+ attachmentIcon :'A',
119
+ attachmentColor:'main4',
88
120
  }
89
121
 
90
122
  export default Message
@@ -1,54 +1,153 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
+
2
3
  @use "@pareto-engineering/bem";
3
4
  @use "@aztlan/stylebook/src/mixins";
4
5
  @use "@aztlan/stylebook/src/globals" as *;
5
6
 
6
7
  $default-padding: var(--u);
7
8
  $default-conversation-background: var(--y);
8
- $default-message-max-width: calc(100% - #{$default-padding});
9
+ $default-message-max-width: calc(100% - 4 * #{$default-padding});
9
10
  $default-message-min-width: 12em;
10
11
  $default-message-border: var(--theme-border);
12
+ $triangle-border-size: 15px;
13
+ $triangle-border-style: $triangle-border-size solid;
14
+ $triangle-border-style-subtracted: ($triangle-border-size - 1px) solid;
15
+ $triangle-border1: $triangle-border-style var(--paragraph);
16
+ $triangle-border2: $triangle-border-style transparent;
17
+ $triangle-border3: $triangle-border-style-subtracted var(--x);
18
+ $triangle-border4: $triangle-border-style-subtracted transparent;
19
+ $triangle-before-side:24px;
20
+ $triangle-before-bottom:-30px;
21
+ $triangle-after-bottom:-27px;
22
+ $triangle-after-side:25px;
11
23
 
12
24
  .#{bem.$base}.conversation {
13
- display: flex;
14
- flex-direction: column;
15
- background-color: $default-conversation-background;
16
- padding: $default-padding;
17
- border-radius: var(--theme-border-radius);
25
+ background-color: $default-conversation-background;
26
+ border-radius: var(--theme-border-radius);
27
+ display: flex;
28
+ flex-direction: column;
29
+ padding: $default-padding;
18
30
 
19
- >:not(:last-child) {
20
- margin-bottom: $default-padding;
21
- }
31
+ >:not(:last-child) {
32
+ margin-bottom: $default-padding;
33
+ }
34
+
35
+ // >:nth-child(1) {
36
+ // animation-delay: 1s;
37
+ // }
38
+ // >:nth-child(2) {
39
+ // animation-delay: 3s;
40
+ // }
22
41
 
42
+ &.has-triangle {
43
+ padding-bottom: calc(#{$default-padding} * 2);
23
44
  .#{bem.$base}.message {
24
- min-width: $default-message-min-width;
25
- max-width: $default-message-max-width;
26
- padding: $default-padding;
27
- border-radius: var(--theme-border-radius);
28
- background-color: var(--x);
29
- align-self: flex-start;
30
- border: $default-message-border;
31
-
32
- .#{bem.$element-content} {
33
- display: flex;
34
- flex-direction: column;
35
-
36
- >p {
37
- color: var(--on-x);
38
- }
39
-
40
- .sender {
41
- font-weight: 800;
42
- margin-bottom: .5em;
43
- }
45
+ ::before {
46
+ border-bottom: $triangle-border2;
47
+ border-left: $triangle-border2;
48
+ border-right: $triangle-border1;
49
+ border-top: $triangle-border1;
50
+ bottom: $triangle-before-bottom;
51
+ content: "";
52
+ height: 0;
53
+ position: absolute;
54
+ right: $triangle-before-side;
55
+ width: 0;
56
+ }
57
+
58
+ ::after {
59
+ border-bottom: $triangle-border4;
60
+ border-left: $triangle-border4;
61
+ border-right: $triangle-border3;
62
+ border-top: $triangle-border3;
63
+ bottom: $triangle-after-bottom;
64
+ content: "";
65
+ height: 0;
66
+ position: absolute;
67
+ right: $triangle-after-side;
68
+ width: 0;
69
+ }
70
+
71
+ &:not(.ours) {
72
+ ::before {
73
+ border-bottom: $triangle-border2;
74
+ border-left: $triangle-border1;
75
+ border-right: $triangle-border2;
76
+ border-top: $triangle-border1;
77
+ bottom: $triangle-before-bottom;
78
+ content: "";
79
+ height: 0;
80
+ left: $triangle-before-side;
81
+ position: absolute;
82
+ width: 0;
44
83
  }
45
- }
46
84
 
47
- .#{bem.$base}.ours {
48
- align-self: flex-end;
85
+ ::after {
86
+ border-bottom: $triangle-border4;
87
+ border-left: $triangle-border3;
88
+ border-right: $triangle-border4;
89
+ border-top: $triangle-border3;
90
+ bottom: $triangle-after-bottom;
91
+ content: "";
92
+ height: 0;
93
+ left: $triangle-after-side;
94
+ position: absolute;
95
+ width: 0;
96
+ }
97
+ }
49
98
  }
99
+ }
50
100
 
51
- }
101
+ .#{bem.$base}.message {
102
+ align-self: flex-start;
103
+ background-color: var(--x);
104
+ // animation: fadeIn 1s ease-in both;
105
+ border: $default-message-border;
106
+ border-radius: var(--theme-border-radius);
107
+ max-width: $default-message-max-width;
108
+ min-width: $default-message-min-width;
109
+ padding: $default-padding;
110
+ position: relative;
52
111
 
112
+ .#{bem.$element-content} {
113
+ display: flex;
114
+ flex-direction: column;
53
115
 
116
+ >p {
117
+ color: var(--on-x);
118
+ }
54
119
 
120
+ .sender {
121
+ font-weight: 800;
122
+ margin-bottom: .5em;
123
+ }
124
+
125
+ .attachment {
126
+ align-self: baseline;
127
+ background-color: var(--y);
128
+ display: flex;
129
+ flex-direction: row;
130
+ padding: .5em 1em;
131
+
132
+ > p {
133
+ margin-bottom: 0;
134
+ }
135
+
136
+ > img {
137
+ width: 40px;
138
+ }
139
+ }
140
+ }
141
+ &.#{bem.$base}.ours {
142
+ align-self: flex-end;
143
+ }
144
+
145
+
146
+ // mobile style
147
+ @include mixins.media($to:$sm-md) {
148
+ .message {
149
+ margin-top: 2em;
150
+ }
151
+ }
152
+ }
153
+ }