@pareto-engineering/design-system 2.0.0-alpha.5 → 2.0.0-alpha.52

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 (309) 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/BackgroundGradient/BackgroundGradient.js +77 -0
  5. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  6. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  7. package/dist/cjs/a/ContentTree/ContentTree.js +83 -0
  8. package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
  9. package/dist/cjs/a/ContentTree/common/Tree/index.js +15 -0
  10. package/dist/cjs/a/ContentTree/common/index.js +31 -0
  11. package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
  12. package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
  13. package/dist/cjs/a/ContentTree/index.js +15 -0
  14. package/dist/cjs/a/ContentTree/styles.scss +33 -0
  15. package/dist/cjs/a/Conversation/Conversation.js +14 -8
  16. package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
  17. package/dist/cjs/a/Conversation/styles.scss +132 -33
  18. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  19. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  20. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  21. package/dist/cjs/a/Popover/Popover.js +134 -0
  22. package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
  23. package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
  24. package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
  25. package/dist/cjs/a/Popover/common/Item/index.js +15 -0
  26. package/dist/cjs/a/Popover/common/index.js +21 -0
  27. package/dist/cjs/a/Popover/index.js +15 -0
  28. package/dist/cjs/a/Popover/styles.scss +33 -0
  29. package/dist/cjs/a/Shapes/Shapes.js +39 -9
  30. package/dist/cjs/a/Shapes/styles.scss +79 -23
  31. package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
  32. package/dist/cjs/a/SnapScroller/index.js +15 -0
  33. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  34. package/dist/cjs/a/index.js +41 -1
  35. package/dist/cjs/b/Button/Button.js +10 -4
  36. package/dist/cjs/b/Button/styles.scss +55 -10
  37. package/dist/cjs/b/Logo/Logo.js +41 -41
  38. package/dist/cjs/b/Logo/styles.scss +0 -138
  39. package/dist/cjs/b/Page/common/Section/Section.js +35 -7
  40. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  41. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  42. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  43. package/dist/cjs/c/SocialMediaShareButton/SocialMediaShareButton.js +111 -0
  44. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  45. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  46. package/dist/cjs/c/index.js +9 -1
  47. package/dist/cjs/f/FormInput/FormInput.js +20 -3
  48. package/dist/cjs/f/FormInput/styles.scss +11 -0
  49. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  50. package/dist/cjs/f/common/Label/Label.js +1 -1
  51. package/dist/cjs/f/common/Label/styles.scss +1 -1
  52. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  53. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  54. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +236 -0
  55. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +205 -0
  56. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  57. package/dist/cjs/f/fields/QueryCombobox/common/Menu/Menu.js +103 -0
  58. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  59. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +304 -0
  60. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  61. package/dist/cjs/f/fields/QueryCombobox/common/index.js +29 -0
  62. package/dist/cjs/f/fields/QueryCombobox/index.js +15 -0
  63. package/dist/cjs/f/fields/QueryCombobox/styles.scss +90 -0
  64. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +201 -0
  65. package/dist/cjs/f/fields/QuerySelect/index.js +15 -0
  66. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  67. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
  68. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  69. package/dist/cjs/f/fields/SelectInput/SelectInput.js +50 -13
  70. package/dist/cjs/f/fields/SelectInput/styles.scss +33 -13
  71. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  72. package/dist/cjs/f/fields/TextInput/TextInput.js +35 -7
  73. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  74. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +15 -8
  75. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  76. package/dist/cjs/f/fields/index.js +15 -23
  77. package/dist/cjs/form-reset.scss +1 -1
  78. package/dist/cjs/index.js +26 -0
  79. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  80. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  81. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +49 -0
  82. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  83. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  84. package/dist/cjs/test/QueryLoader/index.js +15 -0
  85. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  86. package/dist/cjs/test/index.js +13 -0
  87. package/dist/cjs/utils/hooks/index.js +23 -0
  88. package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
  89. package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
  90. package/dist/cjs/utils/index.js +19 -0
  91. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  92. package/dist/es/a/BackgroundGradient/index.js +2 -0
  93. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  94. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  95. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  96. package/dist/es/a/ContentTree/common/Tree/index.js +2 -0
  97. package/dist/es/a/ContentTree/common/index.js +3 -0
  98. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  99. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  100. package/dist/es/a/ContentTree/index.js +2 -0
  101. package/dist/es/a/ContentTree/styles.scss +33 -0
  102. package/dist/es/a/Conversation/Conversation.js +14 -8
  103. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  104. package/dist/es/a/Conversation/styles.scss +132 -33
  105. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  106. package/dist/es/a/OvalIllustration/index.js +2 -0
  107. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  108. package/dist/es/a/Popover/Popover.js +118 -0
  109. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  110. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  111. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  112. package/dist/es/a/Popover/common/Item/index.js +2 -0
  113. package/dist/es/a/Popover/common/index.js +2 -0
  114. package/dist/es/a/Popover/index.js +2 -0
  115. package/dist/es/a/Popover/styles.scss +33 -0
  116. package/dist/es/a/Shapes/Shapes.js +39 -9
  117. package/dist/es/a/Shapes/styles.scss +79 -23
  118. package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
  119. package/dist/es/a/SnapScroller/index.js +2 -0
  120. package/dist/es/a/SnapScroller/styles.scss +38 -0
  121. package/dist/es/a/index.js +6 -1
  122. package/dist/es/b/Button/Button.js +8 -2
  123. package/dist/es/b/Button/styles.scss +55 -10
  124. package/dist/es/b/Logo/Logo.js +41 -41
  125. package/dist/es/b/Logo/styles.scss +0 -138
  126. package/dist/es/b/Page/common/Section/Section.js +34 -6
  127. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  128. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  129. package/dist/es/c/ContentSlides/styles.scss +10 -4
  130. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +95 -0
  131. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  132. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  133. package/dist/es/c/index.js +2 -1
  134. package/dist/es/f/FormInput/FormInput.js +20 -3
  135. package/dist/es/f/FormInput/styles.scss +11 -0
  136. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  137. package/dist/es/f/common/Label/Label.js +1 -1
  138. package/dist/es/f/common/Label/styles.scss +1 -1
  139. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  140. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  141. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +213 -0
  142. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +185 -0
  143. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  144. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  145. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  146. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +276 -0
  147. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  148. package/dist/es/f/fields/QueryCombobox/common/index.js +3 -0
  149. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  150. package/dist/es/f/fields/QueryCombobox/styles.scss +90 -0
  151. package/dist/es/f/fields/QuerySelect/QuerySelect.js +179 -0
  152. package/dist/es/f/fields/QuerySelect/index.js +2 -0
  153. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  154. package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
  155. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  156. package/dist/es/f/fields/SelectInput/SelectInput.js +49 -13
  157. package/dist/es/f/fields/SelectInput/styles.scss +33 -13
  158. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  159. package/dist/es/f/fields/TextInput/TextInput.js +35 -7
  160. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  161. package/dist/es/f/fields/TextareaInput/TextareaInput.js +15 -8
  162. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  163. package/dist/es/f/fields/index.js +3 -4
  164. package/dist/es/form-reset.scss +1 -1
  165. package/dist/es/index.js +3 -1
  166. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  167. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  168. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  169. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  170. package/dist/es/test/QueryLoader/common/index.js +1 -0
  171. package/dist/es/test/QueryLoader/index.js +2 -0
  172. package/dist/es/test/QueryLoader/styles.scss +9 -0
  173. package/dist/es/test/index.js +1 -0
  174. package/dist/es/utils/hooks/index.js +2 -0
  175. package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
  176. package/dist/es/utils/hooks/useWindowSize.js +27 -0
  177. package/dist/es/utils/index.js +1 -0
  178. package/package.json +18 -4
  179. package/relay.config.js +12 -0
  180. package/schema.graphql +4075 -0
  181. package/scripts/fetchSchema.js +74 -0
  182. package/src/__snapshots__/Storyshots.test.js.snap +7018 -3507
  183. package/src/local.scss +4 -2
  184. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  185. package/src/stories/StyleGuide/helpers.js +16 -0
  186. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  187. package/src/stories/a/ContentTree.stories.jsx +662 -0
  188. package/src/stories/a/Conversation.stories.jsx +78 -1
  189. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  190. package/src/stories/a/Popover.stories.jsx +106 -0
  191. package/src/stories/a/Shapes.stories.jsx +74 -43
  192. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  193. package/src/stories/b/Button.stories.jsx +27 -4
  194. package/src/stories/b/Logo.stories.jsx +17 -9
  195. package/src/stories/b/Page.stories.jsx +27 -2
  196. package/src/stories/c/ContentSlides.stories.jsx +154 -2
  197. package/src/stories/c/SocialMediaShareButton.stories.jsx +25 -0
  198. package/src/stories/f/FormInput.stories.jsx +233 -0
  199. package/src/stories/f/QueryCombobox.stories.jsx +269 -0
  200. package/src/stories/f/QuerySelect.stories.jsx +134 -0
  201. package/src/stories/f/RatingsInput.stories.jsx +3 -2
  202. package/src/stories/f/SelectInput.stories.jsx +36 -5
  203. package/src/stories/f/TextInput.stories.jsx +15 -4
  204. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  205. package/src/stories/f/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  206. package/src/stories/f/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  207. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  208. package/src/stories/f/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  209. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  210. package/src/stories/utils/generateNodeId.js +12 -0
  211. package/src/stories/utils/lorem.js +15 -0
  212. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  213. package/src/stories/utils/relay/environment.js +5 -0
  214. package/src/stories/utils/relay/index.js +4 -0
  215. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  216. package/src/stories/utils/relay/mockResolvers.js +299 -0
  217. package/src/stories/utils/testData.js +63 -0
  218. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  219. package/src/ui/a/BackgroundGradient/index.js +2 -0
  220. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  221. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  222. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  223. package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
  224. package/src/ui/a/ContentTree/common/index.js +3 -0
  225. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  226. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  227. package/src/ui/a/ContentTree/index.js +2 -0
  228. package/src/ui/a/ContentTree/styles.scss +33 -0
  229. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  230. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  231. package/src/ui/a/Conversation/styles.scss +132 -33
  232. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  233. package/src/ui/a/OvalIllustration/index.js +2 -0
  234. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  235. package/src/ui/a/Popover/Popover.jsx +157 -0
  236. package/src/ui/a/Popover/index.js +2 -0
  237. package/src/ui/a/Popover/styles.scss +33 -0
  238. package/src/ui/a/Shapes/Shapes.jsx +44 -7
  239. package/src/ui/a/Shapes/styles.scss +79 -23
  240. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  241. package/src/ui/a/SnapScroller/index.js +2 -0
  242. package/src/ui/a/SnapScroller/styles.scss +38 -0
  243. package/src/ui/a/index.js +5 -0
  244. package/src/ui/b/Button/Button.jsx +9 -1
  245. package/src/ui/b/Button/styles.scss +55 -10
  246. package/src/ui/b/Logo/Logo.jsx +41 -41
  247. package/src/ui/b/Logo/styles.scss +0 -138
  248. package/src/ui/b/Page/common/Section/Section.jsx +39 -5
  249. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
  250. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  251. package/src/ui/c/ContentSlides/styles.scss +10 -4
  252. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +121 -0
  253. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  254. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  255. package/src/ui/c/index.js +1 -0
  256. package/src/ui/f/FormInput/FormInput.jsx +26 -1
  257. package/src/ui/f/FormInput/styles.scss +11 -0
  258. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  259. package/src/ui/f/common/Label/Label.jsx +1 -1
  260. package/src/ui/f/common/Label/styles.scss +1 -1
  261. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +1 -1
  262. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  263. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +227 -0
  264. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +222 -0
  265. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  266. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  267. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  268. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +318 -0
  269. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  270. package/src/ui/f/fields/QueryCombobox/common/index.js +3 -0
  271. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  272. package/src/ui/f/fields/QueryCombobox/styles.scss +90 -0
  273. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +200 -0
  274. package/src/ui/f/fields/QuerySelect/index.js +2 -0
  275. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
  276. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  277. package/src/ui/f/fields/SelectInput/SelectInput.jsx +59 -8
  278. package/src/ui/f/fields/SelectInput/styles.scss +33 -13
  279. package/src/ui/f/fields/TextInput/TextInput.jsx +31 -3
  280. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  281. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +24 -13
  282. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  283. package/src/ui/f/fields/index.js +2 -3
  284. package/src/ui/form-reset.scss +1 -1
  285. package/src/ui/index.js +2 -0
  286. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  287. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  288. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  289. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  290. package/src/ui/test/QueryLoader/common/index.js +1 -0
  291. package/src/ui/test/QueryLoader/index.js +2 -0
  292. package/src/ui/test/index.js +1 -0
  293. package/src/ui/utils/hooks/index.js +2 -0
  294. package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
  295. package/src/ui/utils/hooks/useWindowSize.js +32 -0
  296. package/src/ui/utils/index.js +1 -0
  297. package/stylelint.config.js +13 -13
  298. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  299. package/src/stories/f/RadioInput.stories.jsx +0 -37
  300. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  301. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  302. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  303. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  304. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  305. package/src/ui/f/fields/RadioInput/index.js +0 -2
  306. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  307. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  308. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  309. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -0,0 +1,4 @@
1
+ DEBUG=False
2
+ GITHUB_BACKEND_ORG=
3
+ GITHUB_BACKEND_REPO=
4
+ GITHUB_READONLY_PAT=
package/.eslintrc.js CHANGED
@@ -1,3 +1,5 @@
1
+ const fs = require('fs')
2
+
1
3
  module.exports = {
2
4
  settings:{
3
5
  'import/resolver':{
@@ -8,9 +10,15 @@ module.exports = {
8
10
  browser:true,
9
11
  node :true,
10
12
  },
13
+ globals:{
14
+ graphql:'readonly',
15
+ },
11
16
  parser :'@babel/eslint-parser',
12
17
  extends:['airbnb'],
13
- rules :{
18
+ plugins:[
19
+ 'graphql',
20
+ ],
21
+ rules:{
14
22
  semi:[
15
23
  2,
16
24
  'never',
@@ -37,5 +45,21 @@ module.exports = {
37
45
  'import/prefer-default-export':[
38
46
  0,
39
47
  ],
48
+ 'graphql/template-strings':[2, {
49
+ // Import default settings for your GraphQL client. Supported values:
50
+ // 'apollo', 'relay', 'lokka', 'fraql', 'literal'
51
+ env:'relay',
52
+ // Import your schema JSON here
53
+ // schemaJson: require('./schema.graphql'),
54
+
55
+ // OR provide absolute path to your schema JSON (but not if using `eslint --cache`!)
56
+ // schemaJsonFilepath: path.resolve(__dirname, './schema.json'),
57
+
58
+ // OR provide the schema in the Schema Language format
59
+ schemaString:fs.readFileSync('./schema.graphql', { encoding: 'utf8', flag: 'r' }),
60
+
61
+ tagName:'graphql',
62
+ // tagName is set for you to Relay.QL
63
+ }],
40
64
  },
41
65
  }
package/babel.config.js CHANGED
@@ -29,6 +29,7 @@ module.exports = function (api) {
29
29
  '@babel/preset-react',
30
30
  ]
31
31
  const plugins = [
32
+ 'relay',
32
33
  ['module-resolver', {
33
34
  root:['./src'],
34
35
  }],
@@ -0,0 +1,77 @@
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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ // Local Definitions
27
+ var baseClassName = _bem.default.base;
28
+ var componentClassName = 'background-gradient';
29
+ /**
30
+ * This is the component description.
31
+ */
32
+
33
+ var BackgroundGradient = _ref => {
34
+ var {
35
+ id,
36
+ className: userClassName,
37
+ style,
38
+ height // ...otherProps
39
+
40
+ } = _ref;
41
+ (0, React.useLayoutEffect)(() => {
42
+ Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
+ }, []);
44
+ return /*#__PURE__*/React.createElement("div", {
45
+ id: id,
46
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
47
+ style: _objectSpread(_objectSpread({}, style), {}, {
48
+ '--gradient-height': height
49
+ })
50
+ });
51
+ };
52
+
53
+ BackgroundGradient.propTypes = {
54
+ /**
55
+ * The HTML id for this element
56
+ */
57
+ id: _propTypes.default.string,
58
+
59
+ /**
60
+ * The HTML class names for this element
61
+ */
62
+ className: _propTypes.default.string,
63
+
64
+ /**
65
+ * The React-written, css properties for this element.
66
+ */
67
+ style: _propTypes.default.objectOf(_propTypes.default.string),
68
+
69
+ /**
70
+ * The height of the shape.
71
+ */
72
+ height: _propTypes.default.string
73
+ };
74
+ BackgroundGradient.defaultProps = {// someProp: false,
75
+ };
76
+ var _default = BackgroundGradient;
77
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BackgroundGradient", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _BackgroundGradient.default;
10
+ }
11
+ });
12
+
13
+ var _BackgroundGradient = _interopRequireDefault(require("./BackgroundGradient"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,16 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ .#{bem.$base}.background-gradient{
5
+ position: absolute;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100%;
9
+ height: var(--gradient-height);
10
+ background-image: linear-gradient(var(--background1), var(--y) 25%, var(--light-y) 75%, var(--background1));
11
+ opacity: .4;
12
+ z-index: -1;
13
+ }
14
+
15
+
16
+
@@ -0,0 +1,83 @@
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 _common = require("./common");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ var baseClassName = _bem.default.base;
23
+ var componentClassName = 'content-tree';
24
+ /**
25
+ * This is the component description.
26
+ */
27
+
28
+ var ContentTree = _ref => {
29
+ var {
30
+ id,
31
+ className: userClassName,
32
+ style,
33
+ target,
34
+ selectors // ...otherProps
35
+
36
+ } = _ref;
37
+ (0, React.useLayoutEffect)(() => {
38
+ Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
39
+ }, []);
40
+ var contentTree = (0, _common.useContentTree)(target, selectors);
41
+ return /*#__PURE__*/React.createElement("div", {
42
+ id: id,
43
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
44
+ style: style // {...otherProps}
45
+
46
+ }, /*#__PURE__*/React.createElement(_common.Tree, {
47
+ tree: contentTree
48
+ }));
49
+ };
50
+
51
+ ContentTree.propTypes = {
52
+ /**
53
+ * The HTML id for this element
54
+ */
55
+ id: _propTypes.default.string,
56
+
57
+ /**
58
+ * The HTML class names for this element
59
+ */
60
+ className: _propTypes.default.string,
61
+
62
+ /**
63
+ * The React-written, css properties for this element.
64
+ */
65
+ style: _propTypes.default.objectOf(_propTypes.default.string),
66
+
67
+ /**
68
+ * The selectors to use to extract the navigation tree from the content.
69
+ */
70
+ selectors: _propTypes.default.arrayOf(_propTypes.default.string),
71
+
72
+ /**
73
+ * The reference to the parent element.
74
+ */
75
+ target: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
76
+ current: _propTypes.default.instanceOf(Element)
77
+ })])
78
+ };
79
+ ContentTree.defaultProps = {
80
+ selectors: ['h2', 'h3']
81
+ };
82
+ var _default = ContentTree;
83
+ exports.default = _default;
@@ -0,0 +1,116 @@
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 _useFirstVisibleNode = _interopRequireDefault(require("../useFirstVisibleNode"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ /* @pareto-engineering/generator-front 1.0.12 */
23
+ // Local Definitions
24
+ var baseClassName = _bem.default.base;
25
+ var componentClassName = 'tree';
26
+ /**
27
+ * This is the component description.
28
+ */
29
+
30
+ var Tree = _ref => {
31
+ var {
32
+ id,
33
+ className: userClassName,
34
+ style,
35
+ tree,
36
+ displayDepth // ...otherProps
37
+
38
+ } = _ref;
39
+ // The nodeIds to be used to get the first visible node
40
+ var [nodeIds, setNodeIds] = (0, React.useState)([]); // current visible nodeId
41
+
42
+ var visibleNodeId = (0, _useFirstVisibleNode.default)(nodeIds);
43
+ (0, React.useEffect)(() => {
44
+ var node = document.getElementsByClassName(visibleNodeId)[0];
45
+ node === null || node === void 0 ? void 0 : node.classList.add(_bem.default.modifierActive);
46
+ return () => {
47
+ node === null || node === void 0 ? void 0 : node.classList.remove(_bem.default.modifierActive);
48
+ };
49
+ }, [visibleNodeId]); // Generate the tree structure from the content tree data depending on the display depth
50
+
51
+ var getNestedTree = (node, depth) => {
52
+ setNodeIds(prev => [...prev, node.id]);
53
+
54
+ if (depth <= 1) {
55
+ return /*#__PURE__*/React.createElement("li", {
56
+ key: node.id
57
+ }, /*#__PURE__*/React.createElement("a", {
58
+ className: node.id,
59
+ href: node.id
60
+ }, node.text));
61
+ }
62
+
63
+ return /*#__PURE__*/React.createElement("li", {
64
+ key: node.id
65
+ }, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("a", {
66
+ href: node.id,
67
+ className: node.id
68
+ }, node.text)), node.children.length > 0 && /*#__PURE__*/React.createElement("ul", null, node.children.map(child => getNestedTree(child, depth - 1))));
69
+ };
70
+
71
+ var ContentTree = (0, React.useMemo)(() => tree.map(node => getNestedTree(node, displayDepth)), [tree]);
72
+ return /*#__PURE__*/React.createElement("ul", {
73
+ id: id,
74
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
75
+ style: style
76
+ }, ContentTree);
77
+ };
78
+
79
+ Tree.propTypes = {
80
+ /**
81
+ * The HTML id for this element
82
+ */
83
+ id: _propTypes.default.string,
84
+
85
+ /**
86
+ * The HTML class names for this element
87
+ */
88
+ className: _propTypes.default.string,
89
+
90
+ /**
91
+ * The React-written, css properties for this element.
92
+ */
93
+ style: _propTypes.default.objectOf(_propTypes.default.string),
94
+
95
+ /**
96
+ * The tree to render.
97
+ */
98
+ tree: _propTypes.default.arrayOf(_propTypes.default.shape({
99
+ text: _propTypes.default.string,
100
+ id: _propTypes.default.string,
101
+ children: _propTypes.default.arrayOf(_propTypes.default.shape({
102
+ text: _propTypes.default.string,
103
+ id: _propTypes.default.string
104
+ }))
105
+ })),
106
+
107
+ /**
108
+ * The levels of the tree to display.
109
+ */
110
+ displayDepth: _propTypes.default.number
111
+ };
112
+ Tree.defaultProps = {
113
+ displayDepth: 4
114
+ };
115
+ var _default = Tree;
116
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Tree", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Tree.default;
10
+ }
11
+ });
12
+
13
+ var _Tree = _interopRequireDefault(require("./Tree"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useContentTree", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useContentTree.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useFirstVisibleNode", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useFirstVisibleNode.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "Tree", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _Tree.Tree;
22
+ }
23
+ });
24
+
25
+ var _useContentTree = _interopRequireDefault(require("./useContentTree"));
26
+
27
+ var _useFirstVisibleNode = _interopRequireDefault(require("./useFirstVisibleNode"));
28
+
29
+ var _Tree = require("./Tree");
30
+
31
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var useContentTree = (target, selectors) => {
11
+ var [contentTree, setContentTree] = (0, _react.useState)([]);
12
+ var getNodes = (0, _react.useCallback)(parentTag => {
13
+ var nodeList = parentTag.querySelectorAll(selectors.join(', '));
14
+ var nodes = [];
15
+ nodeList.forEach(nodeNode => {
16
+ var {
17
+ id,
18
+ innerText,
19
+ tagName
20
+ } = nodeNode;
21
+ nodes.push({
22
+ id: "#".concat(id),
23
+ text: innerText,
24
+ level: selectors.indexOf(tagName.toLowerCase())
25
+ });
26
+ });
27
+ return nodes;
28
+ }, [selectors]);
29
+ var buildTree = (0, _react.useCallback)(nodes => {
30
+ // Track the nodes we've seen so far in the same level
31
+ var currentSameLevelNodes = []; // Track nodes of the next level which will be children of the current node
32
+
33
+ var nextLevelNodes = []; // Track the current node level
34
+
35
+ var lastLevel = -1; // If the nodes are empty, return an empty tree
36
+
37
+ if (nodes.length === 0) {
38
+ return [];
39
+ }
40
+
41
+ var buildSubTree = () => {
42
+ if (nextLevelNodes.length > 0) {
43
+ currentSameLevelNodes[currentSameLevelNodes.length - 1].children.push(...buildTree(nextLevelNodes));
44
+ }
45
+ };
46
+
47
+ nodes.forEach(node => {
48
+ // If the node is of a greater level, we need to build the sub tree
49
+ if (lastLevel !== -1 && lastLevel < node.level) {
50
+ nextLevelNodes.push(node);
51
+ return;
52
+ } // build a subtree
53
+
54
+
55
+ buildSubTree(); // reset the next level nodes
56
+
57
+ lastLevel = node.level; // add the current node to the current level nodes
58
+
59
+ currentSameLevelNodes.push({
60
+ id: node.id,
61
+ text: node.text,
62
+ children: []
63
+ }); // reset the next level nodes after building the subtree
64
+
65
+ nextLevelNodes = [];
66
+ }); // build subtree
67
+
68
+ buildSubTree();
69
+ return currentSameLevelNodes;
70
+ }, []);
71
+ (0, _react.useEffect)(() => {
72
+ if (target.current) {
73
+ var nodes = getNodes(target.current);
74
+ var tree = buildTree(nodes);
75
+ setContentTree(tree);
76
+ }
77
+ }, [target.current]);
78
+ return contentTree;
79
+ };
80
+
81
+ var _default = useContentTree;
82
+ exports.default = _default;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var useFirstVisibleNode = (nodeIds, config) => {
15
+ var [visibleNodeId, setVisibleNodeId] = (0, _react.useState)(null);
16
+ var {
17
+ debounceMs = 25
18
+ } = config || {}; // get headlines nodes - Should only be recalculated when the ids change
19
+
20
+ var nodes = (0, _react.useMemo)(() => {
21
+ if ((nodeIds === null || nodeIds === void 0 ? void 0 : nodeIds.length) > 0) {
22
+ return Array.from(document.querySelectorAll(nodeIds.join(',')));
23
+ }
24
+
25
+ return [];
26
+ }, [nodeIds]);
27
+ var getVisibleNodeId = (0, _react.useCallback)((0, _debounce.default)(() => {
28
+ var _visibleNode$node;
29
+
30
+ // Get the top postion of each headline node relative to the viewport
31
+ var topOffsets = nodes.map(node => node.getBoundingClientRect().top); // Get the node closer to zero (the top of the viewport)
32
+ // We have the default offset as Infinity so it's always greater that the first node Y position
33
+
34
+ var visibleNode = topOffsets.reduce((prev, currentOffset, currentIndex) => {
35
+ var node = Math.abs(currentOffset - 0) < Math.abs(prev.offset - 0) ? {
36
+ node: nodes[currentIndex],
37
+ offset: currentOffset
38
+ } : prev;
39
+ return node;
40
+ }, {
41
+ node: nodes[0],
42
+ offset: Infinity
43
+ }); // Set the visible node id
44
+
45
+ setVisibleNodeId("#".concat(visibleNode === null || visibleNode === void 0 ? void 0 : (_visibleNode$node = visibleNode.node) === null || _visibleNode$node === void 0 ? void 0 : _visibleNode$node.id));
46
+ }, debounceMs), [nodes]); // Recalculate the visible node id when the page is scrolled
47
+
48
+ (0, _react.useEffect)(() => {
49
+ window.addEventListener('scroll', getVisibleNodeId);
50
+ return () => {
51
+ window.removeEventListener('scroll', getVisibleNodeId);
52
+ };
53
+ }, [getVisibleNodeId]); // Recalculate the visible node id when the page is resized
54
+
55
+ (0, _react.useEffect)(() => {
56
+ window.addEventListener('resize', getVisibleNodeId);
57
+ return () => {
58
+ window.removeEventListener('resize', getVisibleNodeId);
59
+ };
60
+ }, [getVisibleNodeId]);
61
+ return visibleNodeId;
62
+ };
63
+
64
+ var _default = useFirstVisibleNode;
65
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ContentTree", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _ContentTree.default;
10
+ }
11
+ });
12
+
13
+ var _ContentTree = _interopRequireDefault(require("./ContentTree"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -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
+
@@ -35,13 +35,13 @@ var Conversation = _ref => {
35
35
  backgroundColor,
36
36
  ourColor,
37
37
  theirColor,
38
- children // ...otherProps
38
+ children,
39
+ hasTriangle // ...otherProps
39
40
 
40
41
  } = _ref;
41
42
  (0, React.useLayoutEffect)(() => {
42
43
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
- }, []); // const messageColors = { ours: color, theirs: 'main2' }
44
-
44
+ }, []);
45
45
  return /*#__PURE__*/React.createElement(_Context.default.Provider, {
46
46
  value: {
47
47
  ourColor,
@@ -49,7 +49,7 @@ var Conversation = _ref => {
49
49
  }
50
50
  }, /*#__PURE__*/React.createElement("div", {
51
51
  id: id,
52
- className: [baseClassName, componentClassName, userClassName, "y-".concat(backgroundColor), 'u1'].filter(e => e).join(' '),
52
+ className: [baseClassName, componentClassName, userClassName, hasTriangle && 'has-triangle', "y-".concat(backgroundColor), 'u1'].filter(e => e).join(' '),
53
53
  style: style
54
54
  }, children));
55
55
  };
@@ -88,12 +88,18 @@ Conversation.propTypes = {
88
88
  /**
89
89
  * The children JSX
90
90
  */
91
- children: _propTypes.default.node
91
+ children: _propTypes.default.node,
92
+
93
+ /**
94
+ * whether to add triangle to bubble chats
95
+ */
96
+ hasTriangle: _propTypes.default.bool
92
97
  };
93
98
  Conversation.defaultProps = {
94
- backgroundColor: 'background',
95
- ourColor: 'main2',
96
- theirColor: 'background2'
99
+ backgroundColor: 'background2',
100
+ ourColor: 'background1',
101
+ theirColor: 'background1',
102
+ hasTriangle: false
97
103
  };
98
104
  Conversation.Message = _common.Message;
99
105
  var _default = Conversation;