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

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 (373) 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/Alert/Alert.js +141 -0
  5. package/dist/cjs/a/Alert/index.js +15 -0
  6. package/dist/cjs/a/Alert/styles.scss +74 -0
  7. package/dist/cjs/a/AppContext/Context.js +16 -0
  8. package/dist/cjs/a/AppContext/ContextProvider.js +96 -0
  9. package/dist/cjs/a/AppContext/index.js +39 -0
  10. package/dist/cjs/a/AppContext/useApp.js +16 -0
  11. package/dist/cjs/a/AppContext/useTheme.js +45 -0
  12. package/dist/cjs/a/BackgroundGradient/BackgroundGradient.js +77 -0
  13. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  14. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  15. package/dist/cjs/a/ContentTree/ContentTree.js +83 -0
  16. package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
  17. package/dist/cjs/a/ContentTree/common/Tree/index.js +15 -0
  18. package/dist/cjs/a/ContentTree/common/index.js +31 -0
  19. package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
  20. package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
  21. package/dist/cjs/a/ContentTree/index.js +15 -0
  22. package/dist/cjs/a/ContentTree/styles.scss +33 -0
  23. package/dist/cjs/a/Conversation/Conversation.js +14 -8
  24. package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
  25. package/dist/cjs/a/Conversation/styles.scss +132 -33
  26. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  27. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  28. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  29. package/dist/cjs/a/Popover/Popover.js +134 -0
  30. package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
  31. package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
  32. package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
  33. package/dist/cjs/a/Popover/common/Item/index.js +15 -0
  34. package/dist/cjs/a/Popover/common/index.js +21 -0
  35. package/dist/cjs/a/Popover/index.js +15 -0
  36. package/dist/cjs/a/Popover/styles.scss +33 -0
  37. package/dist/cjs/a/Shapes/Shapes.js +9 -1
  38. package/dist/cjs/a/Shapes/styles.scss +42 -9
  39. package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
  40. package/dist/cjs/a/SnapScroller/index.js +15 -0
  41. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  42. package/dist/cjs/a/index.js +57 -9
  43. package/dist/cjs/b/Button/Button.js +10 -4
  44. package/dist/cjs/b/Button/styles.scss +55 -10
  45. package/dist/cjs/b/Logo/Logo.js +41 -41
  46. package/dist/cjs/b/Logo/styles.scss +0 -138
  47. package/dist/cjs/b/Page/common/PageHelmet/PageHelmet.js +1 -1
  48. package/dist/cjs/b/Page/common/Section/Section.js +17 -3
  49. package/dist/cjs/b/SocialMediaButton/SocialMediaButton.js +4 -4
  50. package/dist/cjs/b/ThemeSelector/ThemeSelector.js +1 -1
  51. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  52. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  53. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  54. package/dist/cjs/c/SocialMediaShareButton/SocialMediaShareButton.js +111 -0
  55. package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
  56. package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
  57. package/dist/cjs/c/index.js +9 -1
  58. package/dist/cjs/f/FormInput/FormInput.js +26 -3
  59. package/dist/cjs/f/FormInput/styles.scss +11 -0
  60. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  61. package/dist/cjs/f/common/Description/Description.js +20 -14
  62. package/dist/cjs/f/common/Label/Label.js +1 -1
  63. package/dist/cjs/f/common/Label/styles.scss +1 -1
  64. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  65. package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  66. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  67. package/dist/cjs/f/fields/IntlTelInput/IntlTelInput.js +170 -0
  68. package/dist/cjs/f/fields/IntlTelInput/index.js +15 -0
  69. package/dist/cjs/f/fields/IntlTelInput/styles.scss +37 -0
  70. package/dist/cjs/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +180 -0
  71. package/dist/cjs/f/fields/PhoneIntlTelInput/index.js +15 -0
  72. package/dist/cjs/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  73. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +235 -0
  74. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +208 -0
  75. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  76. package/dist/cjs/f/fields/QueryCombobox/common/Menu/Menu.js +103 -0
  77. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  78. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +307 -0
  79. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  80. package/dist/cjs/f/fields/QueryCombobox/common/index.js +29 -0
  81. package/dist/cjs/f/fields/QueryCombobox/index.js +15 -0
  82. package/dist/cjs/f/fields/QueryCombobox/styles.scss +90 -0
  83. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +201 -0
  84. package/dist/cjs/f/fields/QuerySelect/index.js +15 -0
  85. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  86. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
  87. package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
  88. package/dist/cjs/f/fields/SelectInput/SelectInput.js +59 -14
  89. package/dist/cjs/f/fields/SelectInput/styles.scss +33 -13
  90. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  91. package/dist/cjs/f/fields/TextInput/TextInput.js +50 -13
  92. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  93. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +41 -15
  94. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  95. package/dist/cjs/f/fields/index.js +15 -23
  96. package/dist/cjs/form-reset.scss +1 -1
  97. package/dist/cjs/index.js +26 -0
  98. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  99. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  100. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +49 -0
  101. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  102. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  103. package/dist/cjs/test/QueryLoader/index.js +15 -0
  104. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  105. package/dist/cjs/test/index.js +13 -0
  106. package/dist/cjs/utils/hooks/index.js +23 -0
  107. package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
  108. package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
  109. package/dist/cjs/utils/index.js +19 -0
  110. package/dist/es/a/Alert/Alert.js +118 -0
  111. package/dist/es/a/Alert/index.js +2 -0
  112. package/dist/es/a/Alert/styles.scss +74 -0
  113. package/dist/es/a/AppContext/Context.js +2 -0
  114. package/dist/es/a/AppContext/ContextProvider.js +78 -0
  115. package/dist/es/a/AppContext/index.js +5 -0
  116. package/dist/es/a/AppContext/useApp.js +3 -0
  117. package/dist/es/a/AppContext/useTheme.js +34 -0
  118. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  119. package/dist/es/a/BackgroundGradient/index.js +2 -0
  120. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  121. package/dist/es/a/ContentTree/ContentTree.js +67 -0
  122. package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
  123. package/dist/es/a/ContentTree/common/Tree/index.js +2 -0
  124. package/dist/es/a/ContentTree/common/index.js +3 -0
  125. package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
  126. package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
  127. package/dist/es/a/ContentTree/index.js +2 -0
  128. package/dist/es/a/ContentTree/styles.scss +33 -0
  129. package/dist/es/a/Conversation/Conversation.js +14 -8
  130. package/dist/es/a/Conversation/common/Message/Message.js +32 -6
  131. package/dist/es/a/Conversation/styles.scss +132 -33
  132. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  133. package/dist/es/a/OvalIllustration/index.js +2 -0
  134. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  135. package/dist/es/a/Popover/Popover.js +118 -0
  136. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  137. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  138. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  139. package/dist/es/a/Popover/common/Item/index.js +2 -0
  140. package/dist/es/a/Popover/common/index.js +2 -0
  141. package/dist/es/a/Popover/index.js +2 -0
  142. package/dist/es/a/Popover/styles.scss +33 -0
  143. package/dist/es/a/Shapes/Shapes.js +9 -1
  144. package/dist/es/a/Shapes/styles.scss +42 -9
  145. package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
  146. package/dist/es/a/SnapScroller/index.js +2 -0
  147. package/dist/es/a/SnapScroller/styles.scss +38 -0
  148. package/dist/es/a/index.js +8 -2
  149. package/dist/es/b/Button/Button.js +8 -2
  150. package/dist/es/b/Button/styles.scss +55 -10
  151. package/dist/es/b/Logo/Logo.js +41 -41
  152. package/dist/es/b/Logo/styles.scss +0 -138
  153. package/dist/es/b/Page/common/PageHelmet/PageHelmet.js +2 -2
  154. package/dist/es/b/Page/common/Section/Section.js +17 -3
  155. package/dist/es/b/SocialMediaButton/SocialMediaButton.js +5 -5
  156. package/dist/es/b/ThemeSelector/ThemeSelector.js +2 -2
  157. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
  158. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  159. package/dist/es/c/ContentSlides/styles.scss +10 -4
  160. package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +95 -0
  161. package/dist/es/c/SocialMediaShareButton/index.js +2 -0
  162. package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
  163. package/dist/es/c/index.js +2 -1
  164. package/dist/es/f/FormInput/FormInput.js +26 -3
  165. package/dist/es/f/FormInput/styles.scss +11 -0
  166. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  167. package/dist/es/f/common/Description/Description.js +19 -14
  168. package/dist/es/f/common/Label/Label.js +1 -1
  169. package/dist/es/f/common/Label/styles.scss +1 -1
  170. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  171. package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +5 -2
  172. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  173. package/dist/es/f/fields/IntlTelInput/IntlTelInput.js +152 -0
  174. package/dist/es/f/fields/IntlTelInput/index.js +2 -0
  175. package/dist/es/f/fields/IntlTelInput/styles.scss +37 -0
  176. package/dist/es/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +163 -0
  177. package/dist/es/f/fields/PhoneIntlTelInput/index.js +2 -0
  178. package/dist/es/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  179. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +212 -0
  180. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +188 -0
  181. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  182. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  183. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  184. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +279 -0
  185. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  186. package/dist/es/f/fields/QueryCombobox/common/index.js +3 -0
  187. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  188. package/dist/es/f/fields/QueryCombobox/styles.scss +90 -0
  189. package/dist/es/f/fields/QuerySelect/QuerySelect.js +179 -0
  190. package/dist/es/f/fields/QuerySelect/index.js +2 -0
  191. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  192. package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
  193. package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
  194. package/dist/es/f/fields/SelectInput/SelectInput.js +58 -14
  195. package/dist/es/f/fields/SelectInput/styles.scss +33 -13
  196. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  197. package/dist/es/f/fields/TextInput/TextInput.js +50 -13
  198. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  199. package/dist/es/f/fields/TextareaInput/TextareaInput.js +41 -15
  200. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  201. package/dist/es/f/fields/index.js +3 -4
  202. package/dist/es/form-reset.scss +1 -1
  203. package/dist/es/index.js +3 -1
  204. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  205. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  206. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  207. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  208. package/dist/es/test/QueryLoader/common/index.js +1 -0
  209. package/dist/es/test/QueryLoader/index.js +2 -0
  210. package/dist/es/test/QueryLoader/styles.scss +9 -0
  211. package/dist/es/test/index.js +1 -0
  212. package/dist/es/utils/hooks/index.js +2 -0
  213. package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
  214. package/dist/es/utils/hooks/useWindowSize.js +27 -0
  215. package/dist/es/utils/index.js +1 -0
  216. package/package.json +18 -4
  217. package/relay.config.js +12 -0
  218. package/schema.graphql +4075 -0
  219. package/scripts/fetchSchema.js +74 -0
  220. package/src/__snapshots__/Storyshots.test.js.snap +10152 -5495
  221. package/src/local.scss +4 -2
  222. package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
  223. package/src/stories/StyleGuide/helpers.js +16 -0
  224. package/src/stories/a/Alert.stories.jsx +75 -0
  225. package/src/stories/a/{SiteContext.stories.jsx → AppContext.stories.jsx} +8 -8
  226. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  227. package/src/stories/a/ContentTree.stories.jsx +662 -0
  228. package/src/stories/a/Conversation.stories.jsx +78 -1
  229. package/src/stories/a/DotInfo.stories.jsx +14 -13
  230. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  231. package/src/stories/a/Popover.stories.jsx +106 -0
  232. package/src/stories/a/ProgressBar.stories.jsx +16 -7
  233. package/src/stories/a/Shapes.stories.jsx +18 -0
  234. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  235. package/src/stories/a/Timestamp.stories.jsx +35 -39
  236. package/src/stories/b/Button.stories.jsx +27 -4
  237. package/src/stories/b/Logo.stories.jsx +23 -14
  238. package/src/stories/b/Page.stories.jsx +25 -1
  239. package/src/stories/b/QuestionDropdown.stories.jsx +20 -30
  240. package/src/stories/b/SocialMediaButton.stories.jsx +36 -53
  241. package/src/stories/b/ThemeSelector.stories.jsx +5 -5
  242. package/src/stories/b/Title.stories.jsx +13 -15
  243. package/src/stories/c/ContentSlides.stories.jsx +35 -151
  244. package/src/stories/c/Shortener.stories.jsx +9 -3
  245. package/src/stories/c/SocialMediaShareButton.stories.jsx +33 -0
  246. package/src/stories/f/ChoicesInput.stories.jsx +91 -129
  247. package/src/stories/f/Description.stories.jsx +22 -4
  248. package/src/stories/f/FormInput.stories.jsx +259 -0
  249. package/src/stories/f/QueryCombobox.stories.jsx +273 -0
  250. package/src/stories/f/QuerySelect.stories.jsx +135 -0
  251. package/src/stories/f/RatingsInput.stories.jsx +29 -22
  252. package/src/stories/f/SelectInput.stories.jsx +41 -49
  253. package/src/stories/f/TextInput.stories.jsx +63 -43
  254. package/src/stories/f/TextareaInput.stories.jsx +63 -19
  255. package/src/stories/f/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  256. package/src/stories/f/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  257. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  258. package/src/stories/f/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  259. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  260. package/src/stories/utils/generateNodeId.js +12 -0
  261. package/src/stories/utils/lorem.js +15 -0
  262. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  263. package/src/stories/utils/relay/environment.js +5 -0
  264. package/src/stories/utils/relay/index.js +4 -0
  265. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  266. package/src/stories/utils/relay/mockResolvers.js +299 -0
  267. package/src/stories/utils/testData.js +63 -0
  268. package/src/ui/a/Alert/Alert.jsx +144 -0
  269. package/src/ui/a/Alert/index.js +2 -0
  270. package/src/ui/a/Alert/styles.scss +74 -0
  271. package/src/ui/a/{SiteContext → AppContext}/Context.js +0 -0
  272. package/src/ui/a/{SiteContext → AppContext}/ContextProvider.jsx +8 -7
  273. package/src/ui/a/AppContext/index.js +5 -0
  274. package/src/ui/a/{SiteContext/useSite.js → AppContext/useApp.js} +0 -0
  275. package/src/ui/a/{SiteContext → AppContext}/useTheme.js +0 -0
  276. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  277. package/src/ui/a/BackgroundGradient/index.js +2 -0
  278. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  279. package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
  280. package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
  281. package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
  282. package/src/ui/a/ContentTree/common/index.js +3 -0
  283. package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
  284. package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
  285. package/src/ui/a/ContentTree/index.js +2 -0
  286. package/src/ui/a/ContentTree/styles.scss +33 -0
  287. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  288. package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
  289. package/src/ui/a/Conversation/styles.scss +132 -33
  290. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  291. package/src/ui/a/OvalIllustration/index.js +2 -0
  292. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  293. package/src/ui/a/Popover/Popover.jsx +157 -0
  294. package/src/ui/a/Popover/index.js +2 -0
  295. package/src/ui/a/Popover/styles.scss +33 -0
  296. package/src/ui/a/Shapes/Shapes.jsx +10 -0
  297. package/src/ui/a/Shapes/styles.scss +42 -9
  298. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  299. package/src/ui/a/SnapScroller/index.js +2 -0
  300. package/src/ui/a/SnapScroller/styles.scss +38 -0
  301. package/src/ui/a/index.js +10 -4
  302. package/src/ui/b/Button/Button.jsx +9 -1
  303. package/src/ui/b/Button/styles.scss +55 -10
  304. package/src/ui/b/Logo/Logo.jsx +41 -41
  305. package/src/ui/b/Logo/styles.scss +0 -138
  306. package/src/ui/b/Page/common/PageHelmet/PageHelmet.jsx +2 -2
  307. package/src/ui/b/Page/common/Section/Section.jsx +19 -2
  308. package/src/ui/b/SocialMediaButton/SocialMediaButton.jsx +4 -4
  309. package/src/ui/b/ThemeSelector/ThemeSelector.jsx +2 -2
  310. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
  311. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  312. package/src/ui/c/ContentSlides/styles.scss +10 -4
  313. package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +121 -0
  314. package/src/ui/c/SocialMediaShareButton/index.js +2 -0
  315. package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
  316. package/src/ui/c/index.js +1 -0
  317. package/src/ui/f/FormInput/FormInput.jsx +38 -1
  318. package/src/ui/f/FormInput/styles.scss +11 -0
  319. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  320. package/src/ui/f/common/Description/Description.jsx +34 -29
  321. package/src/ui/f/common/Label/Label.jsx +1 -1
  322. package/src/ui/f/common/Label/styles.scss +1 -1
  323. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  324. package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +10 -2
  325. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  326. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +227 -0
  327. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +218 -0
  328. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  329. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  330. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  331. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +314 -0
  332. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  333. package/src/ui/f/fields/QueryCombobox/common/index.js +3 -0
  334. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  335. package/src/ui/f/fields/QueryCombobox/styles.scss +90 -0
  336. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +200 -0
  337. package/src/ui/f/fields/QuerySelect/index.js +2 -0
  338. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
  339. package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
  340. package/src/ui/f/fields/SelectInput/SelectInput.jsx +66 -8
  341. package/src/ui/f/fields/SelectInput/styles.scss +33 -13
  342. package/src/ui/f/fields/TextInput/TextInput.jsx +44 -10
  343. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  344. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +42 -21
  345. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  346. package/src/ui/f/fields/index.js +2 -3
  347. package/src/ui/form-reset.scss +1 -1
  348. package/src/ui/index.js +2 -0
  349. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  350. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  351. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  352. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  353. package/src/ui/test/QueryLoader/common/index.js +1 -0
  354. package/src/ui/test/QueryLoader/index.js +2 -0
  355. package/src/ui/test/index.js +1 -0
  356. package/src/ui/utils/hooks/index.js +2 -0
  357. package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
  358. package/src/ui/utils/hooks/useWindowSize.js +32 -0
  359. package/src/ui/utils/index.js +1 -0
  360. package/stylelint.config.js +13 -13
  361. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  362. package/src/stories/f/RadioInput.stories.jsx +0 -37
  363. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  364. package/src/ui/a/SiteContext/index.js +0 -5
  365. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  366. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  367. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  368. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  369. package/src/ui/f/fields/RadioInput/index.js +0 -2
  370. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  371. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  372. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  373. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
@@ -0,0 +1,118 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useRef, useLayoutEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
6
+
7
+ import { useDynamicPosition } from "../../utils";
8
+ const baseClassName = styleNames.base;
9
+ const componentClassName = 'popover';
10
+ /**
11
+ * This is the component description.
12
+ */
13
+
14
+ const Popover = ({
15
+ id,
16
+ className: userClassName,
17
+ style,
18
+ color,
19
+ children,
20
+ isOpen,
21
+ parentRef,
22
+ preferredPrimaryOrder,
23
+ preferredSecondaryOrder,
24
+ offsetXPx,
25
+ offsetYPx // ...otherProps
26
+
27
+ }) => {
28
+ useLayoutEffect(() => {
29
+ import("./styles.scss");
30
+ }, []);
31
+ const popoverRef = useRef(null);
32
+ const {
33
+ primaryPosition,
34
+ secondaryPosition
35
+ } = useDynamicPosition({
36
+ preferredPrimaryOrder,
37
+ preferredSecondaryOrder,
38
+ elementRef: popoverRef,
39
+ parentRef,
40
+ offsetXPx,
41
+ offsetYPx
42
+ });
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ id: id,
45
+ className: [baseClassName, componentClassName, userClassName, isOpen && 'open', `x-${color}`, primaryPosition, secondaryPosition].filter(e => e).join(' '),
46
+ style: style,
47
+ ref: popoverRef // {...otherProps}
48
+
49
+ }, children);
50
+ };
51
+
52
+ Popover.propTypes = {
53
+ /**
54
+ * The HTML id for this element
55
+ */
56
+ id: PropTypes.string,
57
+
58
+ /**
59
+ * The HTML class names for this element
60
+ */
61
+ className: PropTypes.string,
62
+
63
+ /**
64
+ * The React-written, css properties for this element.
65
+ */
66
+ style: PropTypes.objectOf(PropTypes.string),
67
+
68
+ /**
69
+ * The children JSX
70
+ */
71
+ children: PropTypes.node,
72
+
73
+ /**
74
+ * The base color of the popover
75
+ */
76
+ color: PropTypes.string,
77
+
78
+ /**
79
+ * Whether the popover should be visible or not
80
+ */
81
+ isOpen: PropTypes.bool,
82
+
83
+ /**
84
+ * The preferred primary position order of the popover
85
+ */
86
+ preferredPrimaryOrder: PropTypes.arrayOf(PropTypes.oneOf(['bottom', 'top', 'right', 'left'])),
87
+
88
+ /**
89
+ * The preferred secondary position order of the popover
90
+ */
91
+ preferredSecondaryOrder: PropTypes.arrayOf(PropTypes.oneOf(['left', 'right', 'bottom', 'top'])),
92
+
93
+ /**
94
+ * The horizonal offset in pixels from the anchor point to the popover
95
+ */
96
+ offsetXPx: PropTypes.number,
97
+
98
+ /**
99
+ * The vertical offset in pixels from the anchor point to the popover
100
+ */
101
+ offsetYPx: PropTypes.number,
102
+
103
+ /**
104
+ * The reference to the parent element
105
+ */
106
+ parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
107
+ current: PropTypes.instanceOf(Element)
108
+ })])
109
+ };
110
+ Popover.defaultProps = {
111
+ color: 'background1',
112
+ isOpen: false,
113
+ preferredPrimaryOrder: ['bottom', 'top', 'right', 'left'],
114
+ preferredSecondaryOrder: ['left', 'right', 'bottom', 'top'],
115
+ offsetXPx: 16,
116
+ offsetYPx: 0
117
+ };
118
+ export default Popover;
@@ -0,0 +1,47 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
5
+
6
+ const baseClassName = styleNames.base;
7
+ const componentClassName = 'divider';
8
+ /**
9
+ * This is the component description.
10
+ */
11
+
12
+ const Divider = ({
13
+ id,
14
+ className: userClassName,
15
+ style,
16
+ children // ...otherProps
17
+
18
+ }) => /*#__PURE__*/React.createElement("div", {
19
+ id: id,
20
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
21
+ style: style
22
+ }, children);
23
+
24
+ Divider.propTypes = {
25
+ /**
26
+ * The HTML id for this element
27
+ */
28
+ id: PropTypes.string,
29
+
30
+ /**
31
+ * The HTML class names for this element
32
+ */
33
+ className: PropTypes.string,
34
+
35
+ /**
36
+ * The React-written, css properties for this element.
37
+ */
38
+ style: PropTypes.objectOf(PropTypes.string),
39
+
40
+ /**
41
+ * The children JSX
42
+ */
43
+ children: PropTypes.node
44
+ };
45
+ Divider.defaultProps = {// someProp:false
46
+ };
47
+ export default Divider;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as Divider } from "./Divider";
@@ -0,0 +1,47 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
5
+
6
+ const baseClassName = styleNames.base;
7
+ const componentClassName = 'item';
8
+ /**
9
+ * This is the component description.
10
+ */
11
+
12
+ const Item = ({
13
+ id,
14
+ className: userClassName,
15
+ style,
16
+ children // ...otherProps
17
+
18
+ }) => /*#__PURE__*/React.createElement("div", {
19
+ id: id,
20
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
21
+ style: style
22
+ }, children);
23
+
24
+ Item.propTypes = {
25
+ /**
26
+ * The HTML id for this element
27
+ */
28
+ id: PropTypes.string,
29
+
30
+ /**
31
+ * The HTML class names for this element
32
+ */
33
+ className: PropTypes.string,
34
+
35
+ /**
36
+ * The React-written, css properties for this element.
37
+ */
38
+ style: PropTypes.objectOf(PropTypes.string),
39
+
40
+ /**
41
+ * The children JSX
42
+ */
43
+ children: PropTypes.node
44
+ };
45
+ Item.defaultProps = {// someProp:false
46
+ };
47
+ export default Item;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as Item } from "./Item";
@@ -0,0 +1,2 @@
1
+ export { Item } from "./Item";
2
+ export { Divider } from "./Divider";
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as Popover } from "./Popover";
@@ -0,0 +1,33 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-border: var(--theme-border-style) var(--metadata);
5
+
6
+ .#{bem.$base}.popover {
7
+ position: absolute;
8
+ z-index: 1;
9
+ background-color: var(--x);
10
+ border: $default-border;
11
+
12
+ &:not(.open) {
13
+ display: none;
14
+ }
15
+
16
+ &.bottom {
17
+ top: 100%;
18
+ // bottom: 0;
19
+ }
20
+
21
+ &.left {
22
+ left: 0;
23
+ }
24
+
25
+ &.right {
26
+ right: 0;
27
+ }
28
+
29
+ &.top {
30
+ bottom: 100%;
31
+ top: auto;
32
+ }
33
+ }
@@ -36,6 +36,8 @@ const Shapes = ({
36
36
 
37
37
  }, shape === 'triangle' && /*#__PURE__*/React.createElement("div", {
38
38
  className: "triangle"
39
+ }), shape === 'inverted-triangle' && /*#__PURE__*/React.createElement("div", {
40
+ className: "inverted-triangle"
39
41
  }), shape === 'half-ellipses' && /*#__PURE__*/React.createElement("div", {
40
42
  className: "half-ellipses"
41
43
  }, /*#__PURE__*/React.createElement("div", {
@@ -88,6 +90,12 @@ const Shapes = ({
88
90
  className: "ellipse-one"
89
91
  }), /*#__PURE__*/React.createElement("div", {
90
92
  className: "ellipse-two"
93
+ })), shape === 'intersecting-circles' && /*#__PURE__*/React.createElement("div", {
94
+ className: "intersecting-circles"
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ className: "left"
97
+ }), /*#__PURE__*/React.createElement("div", {
98
+ className: "right"
91
99
  })));
92
100
  };
93
101
 
@@ -125,7 +133,7 @@ Shapes.propTypes = {
125
133
  /**
126
134
  * The options of a shape to use
127
135
  */
128
- shape: PropTypes.oneOf(['triangle', 'ellipse', 'half-ellipse', 'half-ellipses', 'spiral', 'diamonds', 'circle', 'half-circle', 'ellipses', 'rectangles', 'rotated-ellipses']),
136
+ shape: PropTypes.oneOf(['triangle', 'ellipse', 'half-ellipse', 'half-ellipses', 'spiral', 'diamonds', 'circle', 'half-circle', 'ellipses', 'rectangles', 'rotated-ellipses', 'inverted-triangle', 'intersecting-circles']),
129
137
 
130
138
  /**
131
139
  * The overflow of the shape.
@@ -22,13 +22,21 @@ $default-shapes-opacity:.8;
22
22
  width: 100%;
23
23
 
24
24
  .triangle {
25
- background-image: linear-gradient(transparent, var(--dark-y));
25
+ background-image: linear-gradient(var(--light-y), var(--dark-y));
26
26
  clip-path: polygon(0 0, 50% 100%, 100% 0);
27
27
  height: calc(var(--shape-height, #{$default-triangle-height}) * 0.86);
28
28
  opacity: $default-shapes-opacity;
29
29
  width: var(--shape-height, #{$default-triangle-height});
30
30
  }
31
31
 
32
+ .inverted-triangle {
33
+ background-image: linear-gradient(var(--dark-y), var(--light-y));
34
+ clip-path: polygon(50% 0, 0 100%, 100% 100%);
35
+ height: calc(var(--shape-height, #{$default-triangle-height}) * 0.86);
36
+ opacity: $default-shapes-opacity;
37
+ width: var(--shape-height, #{$default-triangle-height});
38
+ }
39
+
32
40
  .half-ellipses {
33
41
  height: var(--shape-height, #{$default-ellipse-height});
34
42
  opacity: $default-shapes-opacity;
@@ -48,11 +56,10 @@ $default-shapes-opacity:.8;
48
56
  }
49
57
 
50
58
  .ellipse {
51
- background-image: linear-gradient(to top left, var(--dark-y), var(--light-y), var(--dark-y));
52
- clip-path: ellipse(50% 25% at 50% 50%);
59
+ background-image: linear-gradient(var(--dark-y), var(--light-y));
60
+ clip-path: ellipse(50% 50% at 50% 50%);
53
61
  height: var(--shape-height, #{$default-ellipse-height});
54
62
  opacity: $default-shapes-opacity;
55
- transform: rotate3d(0, 0, -1, 10deg);
56
63
  width: calc(var(--shape-height, #{$default-ellipse-height}) * 2);
57
64
  }
58
65
 
@@ -110,7 +117,7 @@ $default-shapes-opacity:.8;
110
117
  }
111
118
 
112
119
  .half-ellipse {
113
- background-image: radial-gradient(ellipse at center bottom, var(--y) 10%, transparent 65%);
120
+ background-image: radial-gradient(ellipse at center bottom, var(--y) 10%, var(--light-y) 65%);
114
121
  clip-path: ellipse(60% 100% at 50% 0%);
115
122
  height: var(--shape-height, #{$default-ellipse-height});
116
123
  opacity: $default-shapes-opacity;
@@ -118,7 +125,7 @@ $default-shapes-opacity:.8;
118
125
  }
119
126
 
120
127
  .circle {
121
- background-image: linear-gradient(var(--light-y), var(--dark-y));
128
+ background-image: linear-gradient(var(--dark-y), var(--light-y));
122
129
  clip-path: circle(50% at 50% 50%);
123
130
  height: var(--shape-height, #{$default-circle-height});
124
131
  opacity: $default-shapes-opacity;
@@ -140,7 +147,7 @@ $default-shapes-opacity:.8;
140
147
  width: var(--shape-height, #{$default-ellipse-height});
141
148
 
142
149
  .first {
143
- background-image: linear-gradient(to top, var(--dark-y), var(--y), var(--light-y) 50%, transparent);
150
+ background-image: linear-gradient(to top, var(--dark-y), var(--y), var(--light-y) 50%, var(--background1));
144
151
  clip-path: ellipse(50% 20% at 50% 60%);
145
152
  height: 100%;
146
153
  position: absolute;
@@ -149,7 +156,7 @@ $default-shapes-opacity:.8;
149
156
  }
150
157
 
151
158
  .second {
152
- background-image: linear-gradient(to bottom,var(--dark-y), var(--y), var(--light-y) 45%, transparent);
159
+ background-image: linear-gradient(to bottom,var(--dark-y), var(--y), var(--light-y) 45%, var(--background1));
153
160
  clip-path: ellipse(50% 20% at 50% 40%);
154
161
  height: 100%;
155
162
  position: absolute;
@@ -168,7 +175,7 @@ $default-shapes-opacity:.8;
168
175
 
169
176
  > * {
170
177
  border-radius: 50%;
171
- background: radial-gradient(ellipse at center bottom ,var(--dark-y) 10%, transparent 60%);
178
+ background: radial-gradient(ellipse at center bottom, var(--dark-y) 10%, var(--light-y) 60%);
172
179
  position: absolute;
173
180
  opacity: .5;
174
181
  }
@@ -219,4 +226,30 @@ $default-shapes-opacity:.8;
219
226
  clip-path: ellipse(50% 35% at 50% 50%);
220
227
  }
221
228
  }
229
+
230
+ .intersecting-circles {
231
+ height: var(--shape-height, #{$default-circle-height});
232
+ opacity: $default-shapes-opacity;
233
+ width: calc(var(--shape-height, #{$default-circle-height}) * 2);
234
+ display: grid;
235
+ grid-template-columns: repeat(7, 1fr);
236
+ position: relative;
237
+
238
+ > * {
239
+ border-radius: 50%;
240
+ height: 100%;
241
+ width: 100%;
242
+ position: absolute;
243
+ opacity: .8;
244
+ }
245
+
246
+ .left {
247
+ background-image: linear-gradient(to right ,var(--dark-y),var(--y), var(--light-y));
248
+ grid-column: 1 / 5;
249
+ }
250
+ .right {
251
+ background-image: linear-gradient(to left, var(--dark-y), var(--y), var(--light-y));
252
+ grid-column: 4 / 8;
253
+ }
254
+ }
222
255
  }
@@ -0,0 +1,61 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useLayoutEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
6
+
7
+ const baseClassName = styleNames.base;
8
+ const componentClassName = 'snap-scroller';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const SnapScroller = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ children,
18
+ noScrollOnDesktop // ...otherProps
19
+
20
+ }) => {
21
+ useLayoutEffect(() => {
22
+ import("./styles.scss");
23
+ }, []);
24
+ return /*#__PURE__*/React.createElement("div", {
25
+ id: id,
26
+ className: [baseClassName, componentClassName, userClassName, noScrollOnDesktop && 'desktop-no-scroll'].filter(e => e).join(' '),
27
+ style: style // {...otherProps}
28
+
29
+ }, children);
30
+ };
31
+
32
+ SnapScroller.propTypes = {
33
+ /**
34
+ * The HTML id for this element
35
+ */
36
+ id: PropTypes.string,
37
+
38
+ /**
39
+ * The HTML class names for this element
40
+ */
41
+ className: PropTypes.string,
42
+
43
+ /**
44
+ * The React-written, css properties for this element.
45
+ */
46
+ style: PropTypes.objectOf(PropTypes.string),
47
+
48
+ /**
49
+ * The children JSX
50
+ */
51
+ children: PropTypes.node,
52
+
53
+ /**
54
+ * Whether to snap scroll on desktop (false will enable a flexbox)
55
+ */
56
+ noScrollOnDesktop: PropTypes.bool
57
+ };
58
+ SnapScroller.defaultProps = {
59
+ noScrollOnDesktop: false
60
+ };
61
+ export default SnapScroller;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SnapScroller } from "./SnapScroller";
@@ -0,0 +1,38 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+ @use "@aztlan/stylebook/src/mixins";
5
+ @use "@aztlan/stylebook/src/globals" as *;
6
+
7
+ $default-spacing:var(--spacing, var(--u));
8
+
9
+ .#{bem.$base}.snap-scroller {
10
+ display: flex;
11
+ -ms-overflow-style: none; /* for Internet Explorer, Edge */
12
+ overflow-x: auto;
13
+ scroll-padding: calc(#{$default-spacing} *2);
14
+ scroll-snap-type: x mandatory;
15
+ scrollbar-width: none;
16
+
17
+
18
+ > * {
19
+ &:first-child {
20
+ margin-left: $default-spacing;
21
+ }
22
+ display: inline-block;
23
+ margin-right: $default-spacing;
24
+ scroll-snap-align: start;
25
+ }
26
+
27
+
28
+ @include mixins.media($from:$sm-md) {
29
+ &.desktop-no-scroll {
30
+ overflow: auto;
31
+ -ms-overflow-style: unset; /* for Internet Explorer, Edge */
32
+ scroll-snap-type: none;
33
+ scrollbar-width: unset;
34
+ }
35
+ }
36
+ }
37
+
38
+
@@ -1,7 +1,7 @@
1
1
  export { SVG } from "./SVG";
2
2
  export { DashboardNavbar } from "./DashboardNavbar";
3
3
  export { IconList } from "./IconList";
4
- export { SiteContext, SiteContextProvider, useSite, useTheme } from "./SiteContext";
4
+ export { AppContext, AppContextProvider, useApp, useTheme } from "./AppContext";
5
5
  export { ProgressBar } from "./ProgressBar";
6
6
  export { TeamInfo } from "./TeamInfo";
7
7
  export { AnimatedCounter } from "./AnimatedCounter";
@@ -18,4 +18,10 @@ export { Quote } from "./Quote";
18
18
  export { ContentCard } from "./ContentCard";
19
19
  export { DotInfo } from "./DotInfo";
20
20
  export { Timestamp } from "./Timestamp";
21
- export { Shapes } from "./Shapes";
21
+ export { Shapes } from "./Shapes";
22
+ export { OvalIllustration } from "./OvalIllustration";
23
+ export { SnapScroller } from "./SnapScroller";
24
+ export { BackgroundGradient } from "./BackgroundGradient";
25
+ export { ContentTree } from "./ContentTree";
26
+ export { Popover } from "./Popover";
27
+ export { Alert } from "./Alert";
@@ -23,6 +23,7 @@ const Button = ({
23
23
  isCompact,
24
24
  isGhost,
25
25
  isSimple,
26
+ arrowDirection,
26
27
  ...otherProps
27
28
  }) => {
28
29
  useLayoutEffect(() => {
@@ -30,7 +31,7 @@ const Button = ({
30
31
  }, []);
31
32
  return /*#__PURE__*/React.createElement("button", _extends({
32
33
  id: id,
33
- className: [baseClassName, componentClassName, userClassName, `x-${color}`, isGhost && styleNames.modifierGhost, isCompact && styleNames.modifierCompact, isSimple && styleNames.modifierSimple].filter(e => e).join(' '),
34
+ className: [baseClassName, componentClassName, userClassName, `x-${color}`, isGhost && styleNames.modifierGhost, isCompact && styleNames.modifierCompact, isSimple && styleNames.modifierSimple, arrowDirection && `arrow-${arrowDirection}`].filter(e => e).join(' '),
34
35
  style: style,
35
36
  type: "button"
36
37
  }, otherProps), isLoading ? /*#__PURE__*/React.createElement(LoadingCircle, {
@@ -85,7 +86,12 @@ Button.propTypes = {
85
86
  /**
86
87
  * Button loading state
87
88
  */
88
- isLoading: PropTypes.bool
89
+ isLoading: PropTypes.bool,
90
+
91
+ /**
92
+ * The direction of the arrow if the button has one
93
+ */
94
+ arrowDirection: PropTypes.string
89
95
  };
90
96
  Button.defaultProps = {
91
97
  color: 'main1'
@@ -6,28 +6,63 @@ $default-padding: 1em 1em .84em;
6
6
  $compact-padding: .6em .6em .48em;
7
7
  $default-color:primary;
8
8
  $font-weight:bold;
9
+ $default-margin:.5em;
10
+ $default-animation-time: .3s;
9
11
 
10
12
  .#{bem.$base}.button {
11
13
  background: var(--x, var(--#{$default-color}));
12
14
  border: transparent;
13
15
  border-radius: var(--theme-border-radius);
14
16
  color: var(--on-x, var(--on-#{$default-color}));
15
- font-weight: 600;
17
+ display: inline-flex;
18
+ font-family: var(--theme-default-paragraph);
19
+ font-weight: 400;
20
+ justify-content: space-between;
16
21
  padding: $default-padding;
17
22
  transition: all .25s;
18
23
 
24
+ &.arrow-right {
25
+ &::after {
26
+ content: "-->";
27
+ margin-left: $default-margin;
28
+ vertical-align: middle;
29
+ }
30
+
31
+ &:hover {
32
+ &::after {
33
+ --final-position: 50%;
34
+ animation: animateArrow $default-animation-time forwards;
35
+ }
36
+ }
37
+ }
38
+
39
+ &.arrow-left {
40
+ &::before {
41
+ content: "<--";
42
+ margin-right: $default-margin;
43
+ vertical-align: middle;
44
+ }
45
+
46
+ &:hover {
47
+ &::before {
48
+ --final-position: -50%;
49
+ animation: animateArrow $default-animation-time forwards;
50
+ }
51
+ }
52
+ }
53
+
19
54
  &:not(:disabled) {
20
55
  cursor: pointer;
21
56
 
22
57
  &:hover {
23
58
  background: var(--light-x, var(--light-#{$default-color}));
24
59
  }
60
+
25
61
  &:focus {
26
62
  background: var(--dark-x, var(--dark-#{$default-color}));
27
63
  }
28
64
  }
29
65
 
30
-
31
66
  &.#{bem.$modifier-compact} {
32
67
  padding: $compact-padding;
33
68
  }
@@ -39,7 +74,7 @@ $font-weight:bold;
39
74
 
40
75
  &:hover,
41
76
  &:focus,
42
- &:disabled{
77
+ &:disabled {
43
78
  background: transparent;
44
79
  }
45
80
 
@@ -55,7 +90,7 @@ $font-weight:bold;
55
90
  }
56
91
  }
57
92
 
58
- &:disabled{
93
+ &:disabled {
59
94
  border: 1px solid var(--x, var(--#{$default-color}));
60
95
  color: var(--x, var(--#{$default-color}));
61
96
  }
@@ -65,6 +100,7 @@ $font-weight:bold;
65
100
  background: transparent;
66
101
  border: 1px solid transparent;
67
102
  color: var(--x, var(--#{$default-color}));
103
+ padding: 0;
68
104
 
69
105
  &:disabled,
70
106
  &:hover,
@@ -73,13 +109,13 @@ $font-weight:bold;
73
109
  }
74
110
 
75
111
  &:not(:disabled) {
76
- &:hover {
77
- color: var(--light-x, var(--light-#{$default-color}));
78
- }
112
+ &:hover {
113
+ color: var(--light-x, var(--light-#{$default-color}));
114
+ }
79
115
 
80
- &:focus {
81
- color: var(--dark-x, var(--dark-#{$default-color}));
82
- }
116
+ &:focus {
117
+ color: var(--dark-x, var(--dark-#{$default-color}));
118
+ }
83
119
  }
84
120
 
85
121
  &:disabled {
@@ -94,3 +130,12 @@ $font-weight:bold;
94
130
  }
95
131
 
96
132
 
133
+ @keyframes animateArrow {
134
+ from {
135
+ transform: translateX(0);
136
+ }
137
+
138
+ to {
139
+ transform: translateX(var(--final-position));
140
+ }
141
+ }