@ably/ui 13.3.0 → 14.0.0-dev.1939f45

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 (501) hide show
  1. package/README.md +26 -155
  2. package/core/.DS_Store +0 -0
  3. package/core/Accordion/.DS_Store +0 -0
  4. package/core/Accordion.js +1 -0
  5. package/core/Code/.DS_Store +0 -0
  6. package/core/Code/component.css +1 -72
  7. package/core/Code/component.js +1 -1
  8. package/core/Code.js +1 -0
  9. package/core/ConnectStateWrapper.js +1 -0
  10. package/core/ContactFooter/.DS_Store +0 -0
  11. package/core/ContactFooter/component.css +0 -1
  12. package/core/ContactFooter/component.js +1 -1
  13. package/core/ContactFooter.js +1 -0
  14. package/core/CookieMessage/.DS_Store +0 -0
  15. package/core/CookieMessage/component.css +0 -1
  16. package/core/CookieMessage.js +1 -0
  17. package/core/CustomerLogos/.DS_Store +0 -0
  18. package/core/CustomerLogos.js +1 -0
  19. package/core/DropdownMenu/.DS_Store +0 -0
  20. package/core/DropdownMenu.js +1 -0
  21. package/core/Expander.js +1 -0
  22. package/core/FeaturedLink/.DS_Store +0 -0
  23. package/core/FeaturedLink.js +1 -0
  24. package/core/Flash/.DS_Store +0 -0
  25. package/core/Flash/component.css +0 -1
  26. package/core/Flash.js +1 -0
  27. package/core/Footer/.DS_Store +0 -0
  28. package/core/Footer/component.css +0 -1
  29. package/core/Footer.js +1 -0
  30. package/core/Icon/.DS_Store +0 -0
  31. package/core/Icon.js +1 -0
  32. package/core/Loader/.DS_Store +0 -0
  33. package/core/Loader.js +13 -0
  34. package/core/Logo/.DS_Store +0 -0
  35. package/core/Logo.js +1 -0
  36. package/core/Meganav/.DS_Store +0 -0
  37. package/core/Meganav/component.css +2 -3
  38. package/core/Meganav/component.js +1 -1
  39. package/core/Meganav.js +1 -0
  40. package/core/MeganavBlogPostsList/.DS_Store +0 -0
  41. package/core/MeganavBlogPostsList/component.js +1 -2
  42. package/core/MeganavBlogPostsList.js +1 -0
  43. package/core/MeganavContentCompany.js +1 -0
  44. package/core/MeganavContentDevelopers.js +1 -0
  45. package/core/MeganavContentProducts.js +1 -0
  46. package/core/MeganavContentUseCases.js +1 -0
  47. package/core/MeganavControl/.DS_Store +0 -0
  48. package/core/MeganavControl/component.js +1 -1
  49. package/core/MeganavControl.js +1 -0
  50. package/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  51. package/core/MeganavControlMobileDropdown/component.js +1 -1
  52. package/core/MeganavControlMobileDropdown.js +1 -0
  53. package/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  54. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  55. package/core/MeganavControlMobilePanelClose.js +1 -0
  56. package/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  57. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  58. package/core/MeganavControlMobilePanelOpen.js +1 -0
  59. package/core/MeganavItemsDesktop.js +1 -0
  60. package/core/MeganavItemsMobile.js +1 -0
  61. package/core/MeganavItemsSignedIn.js +1 -0
  62. package/core/MeganavSearch.js +1 -0
  63. package/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  64. package/core/MeganavSearchAutocomplete/component.js +1 -1
  65. package/core/MeganavSearchAutocomplete.js +1 -0
  66. package/core/MeganavSearchPanel.js +1 -0
  67. package/core/MeganavSearchSuggestions/.DS_Store +0 -0
  68. package/core/MeganavSearchSuggestions/component.js +1 -1
  69. package/core/MeganavSearchSuggestions.js +1 -0
  70. package/core/Notice/.DS_Store +0 -0
  71. package/core/Notice/component.css +0 -1
  72. package/core/Notice/component.js +1 -1
  73. package/core/Notice.js +1 -0
  74. package/core/SignOutLink.js +1 -0
  75. package/core/Slider/.DS_Store +0 -0
  76. package/core/Slider/component.css +32 -1
  77. package/core/Slider/component.js +1 -1
  78. package/core/Slider.js +1 -0
  79. package/core/Table/.DS_Store +0 -0
  80. package/core/Table/Table.js +1 -0
  81. package/core/Table/TableCell.js +7 -0
  82. package/core/Table/TableRow.js +1 -0
  83. package/core/Table/data.js +1 -0
  84. package/core/Table.js +1 -0
  85. package/core/Tooltip/.DS_Store +0 -0
  86. package/core/Tooltip.js +1 -0
  87. package/core/css.js +1 -0
  88. package/core/dom-query.js +1 -0
  89. package/core/hubspot-chat-toggle.js +1 -0
  90. package/core/icons/discord.svg +10 -0
  91. package/core/icons/facebook.svg +4 -0
  92. package/core/icons/github.svg +3 -0
  93. package/core/icons/glassdoor.svg +3 -0
  94. package/core/icons/google.svg +3 -0
  95. package/core/icons/icon-display-48hrs.svg +3 -0
  96. package/core/icons/icon-display-about-ably-col.svg +4 -0
  97. package/core/icons/icon-display-api-keys.svg +3 -0
  98. package/core/icons/icon-display-api.svg +3 -0
  99. package/core/icons/icon-display-asset-tracking-col.svg +18 -0
  100. package/core/icons/icon-display-browser.svg +10 -0
  101. package/core/icons/icon-display-calendar.svg +3 -0
  102. package/core/icons/icon-display-call-mobile.svg +3 -0
  103. package/core/icons/icon-display-careers-col.svg +9 -0
  104. package/core/icons/icon-display-case-studies-col.svg +5 -0
  105. package/core/icons/icon-display-chat-col.svg +4 -0
  106. package/core/icons/icon-display-chat-stack-col.svg +4 -0
  107. package/core/icons/icon-display-chat-stack.svg +4 -0
  108. package/core/icons/icon-display-cloud-servers.svg +3 -0
  109. package/core/icons/icon-display-compare-tech-col.svg +9 -0
  110. package/core/icons/icon-display-customers-col.svg +15 -0
  111. package/core/icons/icon-display-data-broadcast-col.svg +26 -0
  112. package/core/icons/icon-display-data-synchronization-col.svg +14 -0
  113. package/core/icons/icon-display-docs-col.svg +7 -0
  114. package/core/icons/icon-display-documentation.svg +3 -0
  115. package/core/icons/icon-display-events-col.svg +13 -0
  116. package/core/icons/icon-display-examples-col.svg +11 -0
  117. package/core/icons/icon-display-gdpr.svg +3 -0
  118. package/core/icons/icon-display-general-comms.svg +3 -0
  119. package/core/icons/icon-display-hipaa.svg +10 -0
  120. package/core/icons/icon-display-integrations-col.svg +8 -0
  121. package/core/icons/icon-display-it-support-access.svg +3 -0
  122. package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
  123. package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  124. package/core/icons/icon-display-laptop.svg +10 -0
  125. package/core/icons/icon-display-lightbulb-col.svg +10 -0
  126. package/core/icons/icon-display-live-chat.svg +3 -0
  127. package/core/icons/icon-display-map-pin.svg +3 -0
  128. package/core/icons/icon-display-message.svg +3 -0
  129. package/core/icons/icon-display-padlock-closed.svg +3 -0
  130. package/core/icons/icon-display-platform.svg +22 -0
  131. package/core/icons/icon-display-play.svg +3 -0
  132. package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
  133. package/core/icons/icon-display-push-notifications-col.svg +6 -0
  134. package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  135. package/core/icons/icon-display-resources-col.svg +21 -0
  136. package/core/icons/icon-display-sdks-col.svg +11 -0
  137. package/core/icons/icon-display-servers.svg +3 -0
  138. package/core/icons/icon-display-shopping-cart.svg +10 -0
  139. package/core/icons/icon-display-sla.svg +3 -0
  140. package/core/icons/icon-display-soc2-type2.svg +3 -0
  141. package/core/icons/icon-display-tech-account-comms.svg +3 -0
  142. package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  143. package/core/icons/icon-display-virtual-events-col.svg +12 -0
  144. package/core/icons/icon-display-virtual-events.svg +12 -0
  145. package/core/icons/icon-gui-ably-badge.svg +3 -0
  146. package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
  147. package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
  148. package/core/icons/icon-gui-arrow-down.svg +3 -0
  149. package/core/icons/icon-gui-arrow-left.svg +3 -0
  150. package/core/icons/icon-gui-arrow-right.svg +3 -0
  151. package/core/icons/icon-gui-arrow-up.svg +3 -0
  152. package/core/icons/icon-gui-burger-menu.svg +5 -0
  153. package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  154. package/core/icons/icon-gui-check-circled-fill.svg +4 -0
  155. package/core/icons/icon-gui-check-circled.svg +3 -0
  156. package/core/icons/icon-gui-checklist-checked.svg +3 -0
  157. package/core/icons/icon-gui-clock.svg +3 -0
  158. package/core/icons/icon-gui-close.svg +3 -0
  159. package/core/icons/icon-gui-copy.svg +10 -0
  160. package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
  161. package/core/icons/icon-gui-cross-circled.svg +3 -0
  162. package/core/icons/icon-gui-dash-circled.svg +3 -0
  163. package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
  164. package/core/icons/icon-gui-document-generic.svg +3 -0
  165. package/core/icons/icon-gui-enlarge.svg +3 -0
  166. package/core/icons/icon-gui-external-link.svg +3 -0
  167. package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  168. package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  169. package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  170. package/core/icons/icon-gui-history.svg +3 -0
  171. package/core/icons/icon-gui-info.svg +3 -0
  172. package/core/icons/icon-gui-link-arrow.svg +3 -0
  173. package/core/icons/icon-gui-link.svg +4 -0
  174. package/core/icons/icon-gui-live-chat.svg +3 -0
  175. package/core/icons/icon-gui-minus.svg +3 -0
  176. package/core/icons/icon-gui-partial.svg +4 -0
  177. package/core/icons/icon-gui-plus.svg +3 -0
  178. package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
  179. package/core/icons/icon-gui-refresh.svg +10 -0
  180. package/core/icons/icon-gui-resources.svg +3 -0
  181. package/core/icons/icon-gui-search.svg +3 -0
  182. package/core/icons/icon-gui-tick.svg +3 -0
  183. package/core/icons/icon-gui-warning.svg +5 -0
  184. package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
  185. package/core/icons/icon-multi-user-spaces-col.svg +13 -0
  186. package/core/icons/icon-social-x.svg +3 -0
  187. package/core/icons/icon-tech-apachekafka.svg +3 -0
  188. package/core/icons/linkedin.svg +3 -0
  189. package/core/icons/quote.svg +3 -0
  190. package/core/icons/stackoverflow.svg +3 -0
  191. package/core/icons/twitter.svg +3 -0
  192. package/core/icons/youtube.svg +11 -0
  193. package/core/icons.js +1 -0
  194. package/core/load-sprites.js +1 -0
  195. package/core/react-renderer.js +1 -0
  196. package/core/remote-blogs-posts.js +1 -0
  197. package/core/remote-data-store.js +1 -0
  198. package/core/remote-data-util.js +1 -0
  199. package/core/remote-session-data.js +1 -0
  200. package/core/scripts.js +1 -2
  201. package/core/sprites.svg +1 -525
  202. package/core/styles/buttons.css +124 -0
  203. package/core/styles/forms.css +64 -0
  204. package/core/styles/layout.css +21 -0
  205. package/core/styles/properties.css +278 -0
  206. package/core/styles/text.css +168 -0
  207. package/core/styles.base.css +1 -0
  208. package/core/styles.components.css +35 -0
  209. package/core/styles.css +2 -699
  210. package/core/url-base.js +1 -0
  211. package/core/utils/syntax-highlighter-registry.js +1 -0
  212. package/core/utils/syntax-highlighter.css +74 -0
  213. package/core/utils/syntax-highlighter.js +1 -0
  214. package/package.json +39 -35
  215. package/reset/scripts.js +1 -1
  216. package/reset/styles/normalize.css +353 -0
  217. package/reset/styles/reset.css +129 -0
  218. package/reset/styles.css +2 -477
  219. package/src/.DS_Store +0 -0
  220. package/src/core/.DS_Store +0 -0
  221. package/src/core/Accordion/.DS_Store +0 -0
  222. package/src/core/Accordion/Accordion.stories.tsx +39 -0
  223. package/src/core/Accordion.tsx +147 -0
  224. package/src/core/Code/.DS_Store +0 -0
  225. package/src/core/Code/Code.stories.tsx +71 -0
  226. package/src/core/Code.tsx +45 -0
  227. package/src/core/{ConnectStateWrapper/component.jsx → ConnectStateWrapper.tsx} +8 -4
  228. package/src/core/ContactFooter/.DS_Store +0 -0
  229. package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
  230. package/src/core/{ContactFooter/component.jsx → ContactFooter.tsx} +44 -19
  231. package/src/core/CookieMessage/.DS_Store +0 -0
  232. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  233. package/src/core/{CookieMessage/component.jsx → CookieMessage.tsx} +15 -11
  234. package/src/core/CustomerLogos/.DS_Store +0 -0
  235. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  236. package/src/core/CustomerLogos.tsx +35 -0
  237. package/src/core/DropdownMenu/.DS_Store +0 -0
  238. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  239. package/src/core/{DropdownMenu/component.jsx → DropdownMenu.tsx} +64 -36
  240. package/src/core/Expander/Expander.stories.tsx +132 -0
  241. package/src/core/Expander.tsx +54 -0
  242. package/src/core/FeaturedLink/.DS_Store +0 -0
  243. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  244. package/src/core/{FeaturedLink/component.jsx → FeaturedLink.tsx} +26 -18
  245. package/src/core/Flash/.DS_Store +0 -0
  246. package/src/core/Flash/Flash.stories.tsx +37 -0
  247. package/src/core/{Flash/component.jsx → Flash.tsx} +77 -39
  248. package/src/core/Footer/.DS_Store +0 -0
  249. package/src/core/Footer/Footer.stories.tsx +26 -0
  250. package/src/core/{Footer/component.jsx → Footer.tsx} +236 -70
  251. package/src/core/Icon/.DS_Store +0 -0
  252. package/src/core/Icon/Icon.stories.tsx +151 -0
  253. package/src/core/Icon.tsx +26 -0
  254. package/src/core/Loader/.DS_Store +0 -0
  255. package/src/core/Loader/Loader.stories.tsx +21 -0
  256. package/src/core/{Loader/component.jsx → Loader.tsx} +11 -8
  257. package/src/core/Logo/.DS_Store +0 -0
  258. package/src/core/Logo/Logo.stories.tsx +12 -0
  259. package/src/core/Logo.tsx +29 -0
  260. package/src/core/Meganav/.DS_Store +0 -0
  261. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  262. package/src/core/Meganav/component.css +2 -2
  263. package/src/core/Meganav/component.js +6 -9
  264. package/src/core/Meganav.tsx +225 -0
  265. package/src/core/MeganavBlogPostsList/.DS_Store +0 -0
  266. package/src/core/{MeganavBlogPostsList/component.jsx → MeganavBlogPostsList.tsx} +15 -14
  267. package/src/core/{MeganavContentCompany/component.jsx → MeganavContentCompany.tsx} +82 -33
  268. package/src/core/{MeganavContentDevelopers/component.jsx → MeganavContentDevelopers.tsx} +98 -34
  269. package/src/core/MeganavContentProducts.tsx +165 -0
  270. package/src/core/MeganavContentUseCases.tsx +244 -0
  271. package/src/core/MeganavControl/.DS_Store +0 -0
  272. package/src/core/{MeganavControl/component.jsx → MeganavControl.tsx} +18 -12
  273. package/src/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  274. package/src/core/{MeganavControlMobileDropdown/component.jsx → MeganavControlMobileDropdown.tsx} +3 -7
  275. package/src/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  276. package/src/core/{MeganavControlMobilePanelClose/component.jsx → MeganavControlMobilePanelClose.tsx} +15 -9
  277. package/src/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  278. package/src/core/MeganavControlMobilePanelOpen.tsx +31 -0
  279. package/src/core/MeganavItemsDesktop.tsx +68 -0
  280. package/src/core/MeganavItemsMobile.tsx +197 -0
  281. package/src/core/{MeganavItemsSignedIn/component.jsx → MeganavItemsSignedIn.tsx} +55 -23
  282. package/src/core/MeganavSearch.tsx +36 -0
  283. package/src/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  284. package/src/core/MeganavSearchAutocomplete.tsx +12 -0
  285. package/src/core/MeganavSearchPanel.tsx +52 -0
  286. package/src/core/MeganavSearchSuggestions/.DS_Store +0 -0
  287. package/src/core/MeganavSearchSuggestions.tsx +62 -0
  288. package/src/core/Notice/.DS_Store +0 -0
  289. package/src/core/Notice/component.js +1 -2
  290. package/src/core/Notice.tsx +102 -0
  291. package/src/core/SignOutLink.tsx +51 -0
  292. package/src/core/Slider/.DS_Store +0 -0
  293. package/src/core/Slider/Slider.stories.tsx +98 -0
  294. package/src/core/Slider/component.css +32 -0
  295. package/src/core/Slider/component.js +0 -2
  296. package/src/core/Slider.tsx +192 -0
  297. package/src/core/Table/.DS_Store +0 -0
  298. package/src/core/Table/Table.stories.tsx +12 -0
  299. package/src/core/Table/Table.tsx +59 -0
  300. package/src/core/Table/TableCell.tsx +109 -0
  301. package/src/core/Table/TableRow.tsx +25 -0
  302. package/src/core/Table/data.tsx +113 -0
  303. package/src/core/Table.tsx +26 -0
  304. package/src/core/Tooltip/.DS_Store +0 -0
  305. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  306. package/src/core/Tooltip.tsx +88 -0
  307. package/src/core/icons/icon-gui-partial.svg +4 -0
  308. package/src/core/icons.js +6 -0
  309. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  310. package/src/core/scripts.js +0 -2
  311. package/src/core/styles/properties.css +0 -7
  312. package/src/core/utils/syntax-highlighter.css +3 -0
  313. package/src/pages/Buttons.mdx +121 -0
  314. package/src/pages/Chips.mdx +136 -0
  315. package/src/pages/Colour.mdx +23 -0
  316. package/src/pages/Forms.mdx +173 -0
  317. package/src/pages/Layout.mdx +58 -0
  318. package/src/pages/Typography.mdx +206 -0
  319. package/src/pages/utils.ts +70 -0
  320. package/tailwind.config.js +1 -7
  321. package/tailwind.extend.js +1 -1
  322. package/core/.gitignore +0 -1
  323. package/core/Code.jsx +0 -684
  324. package/core/CompanyAutocomplete/component.css +0 -46
  325. package/core/CompanyAutocomplete/component.js +0 -2
  326. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  327. package/core/ConnectStateWrapper/component.js +0 -1
  328. package/core/ConnectStateWrapper.jsx +0 -222
  329. package/core/ContactFooter.jsx +0 -342
  330. package/core/CookieMessage/component.js +0 -1
  331. package/core/CookieMessage.jsx +0 -204
  332. package/core/CustomerLogos/component.js +0 -1
  333. package/core/CustomerLogos.jsx +0 -144
  334. package/core/DropdownMenu/component.js +0 -1
  335. package/core/DropdownMenu.jsx +0 -313
  336. package/core/FeatureFooter/component.css +0 -13
  337. package/core/FeatureFooter/component.js +0 -1
  338. package/core/FeaturedLink/component.js +0 -1
  339. package/core/FeaturedLink.jsx +0 -241
  340. package/core/Flash/component.js +0 -1
  341. package/core/Flash.jsx +0 -622
  342. package/core/Footer/component.js +0 -1
  343. package/core/Footer.jsx +0 -587
  344. package/core/Icon/component.js +0 -1
  345. package/core/Icon.jsx +0 -152
  346. package/core/Loader/component.js +0 -1
  347. package/core/Loader.jsx +0 -154
  348. package/core/Logo/component.js +0 -1
  349. package/core/Logo.jsx +0 -147
  350. package/core/Meganav.jsx +0 -4151
  351. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  352. package/core/MeganavBlogPostsList.jsx +0 -296
  353. package/core/MeganavContentCompany/component.js +0 -1
  354. package/core/MeganavContentCompany.jsx +0 -1058
  355. package/core/MeganavContentDevelopers/component.js +0 -1
  356. package/core/MeganavContentDevelopers.jsx +0 -334
  357. package/core/MeganavContentProducts/component.js +0 -1
  358. package/core/MeganavContentProducts.jsx +0 -373
  359. package/core/MeganavContentUseCases/component.js +0 -1
  360. package/core/MeganavContentUseCases.jsx +0 -341
  361. package/core/MeganavControl.jsx +0 -199
  362. package/core/MeganavControlMobileDropdown.jsx +0 -197
  363. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  364. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  365. package/core/MeganavItemsDesktop/component.js +0 -1
  366. package/core/MeganavItemsDesktop.jsx +0 -279
  367. package/core/MeganavItemsMobile/component.js +0 -1
  368. package/core/MeganavItemsMobile.jsx +0 -689
  369. package/core/MeganavItemsSignedIn/component.js +0 -1
  370. package/core/MeganavItemsSignedIn.jsx +0 -643
  371. package/core/MeganavSearch/component.js +0 -1
  372. package/core/MeganavSearch.jsx +0 -434
  373. package/core/MeganavSearchAutocomplete.jsx +0 -117
  374. package/core/MeganavSearchPanel/component.js +0 -1
  375. package/core/MeganavSearchPanel.jsx +0 -386
  376. package/core/MeganavSearchSuggestions.jsx +0 -299
  377. package/core/Notice.jsx +0 -914
  378. package/core/Showcase/component.css +0 -31
  379. package/core/Showcase/component.js +0 -1
  380. package/core/Showcase.jsx +0 -17
  381. package/core/SignOutLink/component.js +0 -1
  382. package/core/SignOutLink.jsx +0 -157
  383. package/core/Slider.jsx +0 -400
  384. package/core/Uptime/component.css +0 -128
  385. package/core/Uptime/component.js +0 -1
  386. package/core/Uptime.jsx +0 -895
  387. package/core/scripts.js.LICENSE.txt +0 -1
  388. package/preview/log/.keep +0 -0
  389. package/preview/tmp/.keep +0 -0
  390. package/preview/tmp/pids/.keep +0 -0
  391. package/reset/.gitignore +0 -1
  392. package/src/core/Code/component.html.erb +0 -3
  393. package/src/core/Code/component.jsx +0 -31
  394. package/src/core/Code/component.rb +0 -12
  395. package/src/core/CompanyAutocomplete/component.css +0 -45
  396. package/src/core/CompanyAutocomplete/component.js +0 -204
  397. package/src/core/ConnectStateWrapper/component.js +0 -0
  398. package/src/core/ContactFooter/component.html.erb +0 -32
  399. package/src/core/ContactFooter/component.rb +0 -13
  400. package/src/core/CookieMessage/component.js +0 -1
  401. package/src/core/CustomerLogos/component.html.erb +0 -9
  402. package/src/core/CustomerLogos/component.js +0 -0
  403. package/src/core/CustomerLogos/component.jsx +0 -28
  404. package/src/core/CustomerLogos/component.rb +0 -14
  405. package/src/core/DropdownMenu/component.js +0 -0
  406. package/src/core/FeatureFooter/component.css +0 -12
  407. package/src/core/FeatureFooter/component.html.erb +0 -54
  408. package/src/core/FeatureFooter/component.js +0 -7
  409. package/src/core/FeatureFooter/component.rb +0 -30
  410. package/src/core/FeaturedLink/component.html.erb +0 -15
  411. package/src/core/FeaturedLink/component.js +0 -0
  412. package/src/core/FeaturedLink/component.rb +0 -21
  413. package/src/core/Flash/component.js +0 -1
  414. package/src/core/Footer/component.html.erb +0 -256
  415. package/src/core/Footer/component.js +0 -1
  416. package/src/core/Footer/component.rb +0 -14
  417. package/src/core/Icon/component.html.erb +0 -3
  418. package/src/core/Icon/component.js +0 -0
  419. package/src/core/Icon/component.jsx +0 -19
  420. package/src/core/Icon/component.rb +0 -25
  421. package/src/core/Loader/component.html.erb +0 -18
  422. package/src/core/Loader/component.js +0 -0
  423. package/src/core/Loader/component.rb +0 -19
  424. package/src/core/Logo/component.html.erb +0 -3
  425. package/src/core/Logo/component.js +0 -0
  426. package/src/core/Logo/component.jsx +0 -20
  427. package/src/core/Logo/component.rb +0 -31
  428. package/src/core/Meganav/component.html.erb +0 -31
  429. package/src/core/Meganav/component.jsx +0 -123
  430. package/src/core/Meganav/component.rb +0 -60
  431. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  432. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  433. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  434. package/src/core/MeganavContentCompany/component.js +0 -0
  435. package/src/core/MeganavContentCompany/component.rb +0 -14
  436. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  437. package/src/core/MeganavContentDevelopers/component.js +0 -0
  438. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  439. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  440. package/src/core/MeganavContentProducts/component.js +0 -0
  441. package/src/core/MeganavContentProducts/component.jsx +0 -105
  442. package/src/core/MeganavContentProducts/component.rb +0 -14
  443. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  444. package/src/core/MeganavContentUseCases/component.js +0 -1
  445. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  446. package/src/core/MeganavContentUseCases/component.rb +0 -13
  447. package/src/core/MeganavControl/component.html.erb +0 -6
  448. package/src/core/MeganavControl/component.rb +0 -20
  449. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  450. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  451. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  452. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  453. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  454. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  455. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  456. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  457. package/src/core/MeganavItemsDesktop/component.js +0 -0
  458. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  459. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  460. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  461. package/src/core/MeganavItemsMobile/component.js +0 -0
  462. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  463. package/src/core/MeganavItemsMobile/component.rb +0 -21
  464. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  465. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  466. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  467. package/src/core/MeganavSearch/component.html.erb +0 -15
  468. package/src/core/MeganavSearch/component.js +0 -0
  469. package/src/core/MeganavSearch/component.jsx +0 -33
  470. package/src/core/MeganavSearch/component.rb +0 -13
  471. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  472. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  473. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  474. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  475. package/src/core/MeganavSearchPanel/component.js +0 -0
  476. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  477. package/src/core/MeganavSearchPanel/component.rb +0 -13
  478. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  479. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  480. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  481. package/src/core/Notice/component.html.erb +0 -16
  482. package/src/core/Notice/component.jsx +0 -71
  483. package/src/core/Notice/component.rb +0 -29
  484. package/src/core/Showcase/component.css +0 -30
  485. package/src/core/Showcase/component.html.erb +0 -76
  486. package/src/core/Showcase/component.js +0 -180
  487. package/src/core/Showcase/component.jsx +0 -0
  488. package/src/core/Showcase/component.rb +0 -190
  489. package/src/core/SignOutLink/component.html.erb +0 -1
  490. package/src/core/SignOutLink/component.js +0 -0
  491. package/src/core/SignOutLink/component.jsx +0 -32
  492. package/src/core/SignOutLink/component.rb +0 -17
  493. package/src/core/Slider/component.html.erb +0 -28
  494. package/src/core/Slider/component.jsx +0 -86
  495. package/src/core/Slider/component.rb +0 -38
  496. package/src/core/Uptime/component.css +0 -127
  497. package/src/core/Uptime/component.html.erb +0 -0
  498. package/src/core/Uptime/component.js +0 -1
  499. package/src/core/Uptime/component.jsx +0 -183
  500. package/src/core/Uptime/component.rb +0 -7
  501. package/src/core/core.rb +0 -81
@@ -1,27 +1,52 @@
1
1
  import React from "react";
2
- import T from "prop-types";
3
2
 
4
- import MeganavControl from "../MeganavControl/component.jsx";
5
- import SignOutLink from "../SignOutLink/component.jsx";
6
- import MeganavSearch from "../MeganavSearch/component.jsx";
3
+ import MeganavControl from "./MeganavControl";
4
+ import SignOutLink from "./SignOutLink";
5
+ import MeganavSearch from "./MeganavSearch";
6
+ import { AbsUrl, MeganavSessionState, MeganavTheme } from "./Meganav";
7
+
8
+ type MeganavItemsSignedIn = {
9
+ sessionState: MeganavSessionState;
10
+ theme: MeganavTheme;
11
+ absUrl: AbsUrl;
12
+ };
7
13
 
8
14
  const truncate = (string, length) => {
9
- return string?.length && string.length > length ? `${string.slice(0, length - 1)}…` : string;
15
+ return string?.length && string.length > length
16
+ ? `${string.slice(0, length - 1)}…`
17
+ : string;
10
18
  };
11
19
 
12
- const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
13
- const links = sessionState.account ? Object.keys(sessionState.account.links).map((key) => sessionState.account.links[key]) : [];
20
+ const MeganavItemsSignedIn = ({
21
+ sessionState,
22
+ theme,
23
+ absUrl,
24
+ }: MeganavItemsSignedIn) => {
25
+ const links = sessionState.account
26
+ ? Object.keys(sessionState.account.links).map(
27
+ (key) => sessionState.account.links[key]
28
+ )
29
+ : [];
14
30
  const accountName = truncate(sessionState.accountName, 20);
15
31
  const preferredEmail = truncate(sessionState.preferredEmail, 20);
16
32
 
17
33
  return (
18
34
  <ul className="hidden md:flex items-center">
19
35
  <li className="ui-meganav-item relative">
20
- <MeganavControl ariaControls="account-panel" ariaLabel="Account" theme={theme} additionalCSS="mr-0">
36
+ <MeganavControl
37
+ ariaControls="account-panel"
38
+ ariaLabel="Account"
39
+ theme={theme}
40
+ additionalCSS="mr-0"
41
+ >
21
42
  {accountName}
22
43
  </MeganavControl>
23
44
 
24
- <div className="ui-meganav-panel-account invisible" id="account-panel" data-id="meganav-panel">
45
+ <div
46
+ className="ui-meganav-panel-account invisible"
47
+ id="account-panel"
48
+ data-id="meganav-panel"
49
+ >
25
50
  {/* Users exist without accounts in which case there is no links here */}
26
51
  {sessionState.account && (
27
52
  <>
@@ -29,7 +54,10 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
29
54
  <ul className="mb-16 mx-16">
30
55
  {links.map((item) => (
31
56
  <li key={item.href}>
32
- <a className="ui-meganav-account-link" href={absUrl(item.href)}>
57
+ <a
58
+ className="ui-meganav-account-link"
59
+ href={absUrl(item.href)}
60
+ >
33
61
  {item.text}
34
62
  </a>
35
63
  </li>
@@ -41,13 +69,19 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
41
69
  <p className="ui-meganav-overline mx-16">{preferredEmail}</p>
42
70
  <ul className="mb-8 mx-16">
43
71
  <li>
44
- <a href={absUrl(sessionState.mySettings.href)} className="ui-meganav-account-link">
72
+ <a
73
+ href={absUrl(sessionState.mySettings.href)}
74
+ className="ui-meganav-account-link"
75
+ >
45
76
  {sessionState.mySettings.text}
46
77
  </a>
47
78
  </li>
48
79
  {sessionState.myAccessTokens && (
49
80
  <li>
50
- <a href={absUrl(sessionState.myAccessTokens.href)} className="ui-meganav-account-link">
81
+ <a
82
+ href={absUrl(sessionState.myAccessTokens.href)}
83
+ className="ui-meganav-account-link"
84
+ >
51
85
  {sessionState.myAccessTokens.text}
52
86
  <span className="ui-version-tag">preview</span>
53
87
  </a>
@@ -61,7 +95,11 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
61
95
  <div className="mb-16 px-16">
62
96
  <SignOutLink absUrl={absUrl} {...sessionState.logOut}>
63
97
  {({ text, href, onClick }) => (
64
- <a onClick={onClick} href={absUrl(href)} className="ui-meganav-account-link">
98
+ <a
99
+ onClick={onClick}
100
+ href={absUrl(href)}
101
+ className="ui-meganav-account-link"
102
+ >
65
103
  {text}
66
104
  </a>
67
105
  )}
@@ -77,7 +115,10 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
77
115
 
78
116
  {sessionState.account && (
79
117
  <li>
80
- <a href={absUrl(sessionState.account.links.dashboard.href)} className="ui-btn-secondary p-btn-small">
118
+ <a
119
+ href={absUrl(sessionState.account.links.dashboard.href)}
120
+ className="ui-btn-secondary p-btn-small"
121
+ >
81
122
  Dashboard
82
123
  </a>
83
124
  </li>
@@ -86,13 +127,4 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
86
127
  );
87
128
  };
88
129
 
89
- MeganavItemsSignedIn.propTypes = {
90
- sessionState: T.object,
91
- paths: T.shape({
92
- iconSprites: T.string,
93
- }),
94
- theme: T.object,
95
- absUrl: T.func,
96
- };
97
-
98
130
  export default MeganavItemsSignedIn;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+
3
+ import Icon from "./Icon";
4
+ import MeganavSearchPanel from "./MeganavSearchPanel";
5
+ import { AbsUrl } from "./Meganav";
6
+
7
+ const MeganavSearch = ({ absUrl }: { absUrl: AbsUrl }) => (
8
+ <>
9
+ <button
10
+ type="button"
11
+ data-id="meganav-control"
12
+ data-control="search"
13
+ className="h-64 w-24 px-24 pr-48 py-20 group focus:outline-none"
14
+ aria-expanded="false"
15
+ aria-controls="panel-search"
16
+ aria-label={`Show Search Panel`}
17
+ >
18
+ <Icon
19
+ name="icon-gui-search"
20
+ color="text-cool-black"
21
+ size="1.5rem"
22
+ additionalCSS="group-hover:text-gui-hover group-focus:text-gui-focus"
23
+ />
24
+ </button>
25
+
26
+ <div
27
+ className="ui-meganav-panel invisible"
28
+ id="panel-search"
29
+ data-id="meganav-panel"
30
+ >
31
+ <MeganavSearchPanel absUrl={absUrl} />
32
+ </div>
33
+ </>
34
+ );
35
+
36
+ export default MeganavSearch;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+
3
+ const MeganavSearchAutocomplete = () => (
4
+ <div
5
+ className="absolute w-full mt-8 z-10 hidden shadow-container rounded-lg bg-white border border-mid-grey"
6
+ data-id="meganav-search-autocomplete-container"
7
+ >
8
+ <ol className="m-16" data-id="meganav-search-autocomplete-list"></ol>
9
+ </div>
10
+ );
11
+
12
+ export default MeganavSearchAutocomplete;
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+
3
+ import Icon from "./Icon";
4
+ import MeganavSearchSuggestions from "./MeganavSearchSuggestions";
5
+ import MeganavSearchAutocomplete from "./MeganavSearchAutocomplete";
6
+ import { AbsUrl } from "./Meganav";
7
+
8
+ const MeganavSearchPanel = ({ absUrl }: { absUrl: AbsUrl }) => (
9
+ <section className="ui-meganav-content grid-cols-12">
10
+ <div className="col-span-8">
11
+ <div className="mb-32">
12
+ <form
13
+ className="flex items-start"
14
+ action={absUrl("/search")}
15
+ method="get"
16
+ >
17
+ <div className="relative w-full">
18
+ <Icon
19
+ name="icon-gui-search"
20
+ color="text-cool-black"
21
+ size="1.5rem"
22
+ additionalCSS="absolute top-12 left-16"
23
+ />
24
+ <input
25
+ type="search"
26
+ name="q"
27
+ className="ui-input pl-48 h-48"
28
+ placeholder="Search"
29
+ autoComplete="off"
30
+ data-id="meganav-search-input"
31
+ />
32
+
33
+ <MeganavSearchAutocomplete />
34
+ </div>
35
+
36
+ <button
37
+ type="submit"
38
+ className="ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32"
39
+ >
40
+ Search
41
+ </button>
42
+ </form>
43
+ </div>
44
+ </div>
45
+
46
+ <div className="col-span-12">
47
+ <MeganavSearchSuggestions displaySupportLink={true} absUrl={absUrl} />
48
+ </div>
49
+ </section>
50
+ );
51
+
52
+ export default MeganavSearchPanel;
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+
3
+ import FeaturedLink from "./FeaturedLink";
4
+ import { AbsUrl } from "./Meganav";
5
+
6
+ type MeganavSearchSuggestionsProps = {
7
+ absUrl: AbsUrl;
8
+ displaySupportLink: boolean;
9
+ };
10
+
11
+ const MeganavSearchSuggestions = ({
12
+ absUrl,
13
+ displaySupportLink,
14
+ }: MeganavSearchSuggestionsProps) => (
15
+ <>
16
+ <p className="ui-text-overline2 text-cool-black py-12">Popular pages</p>
17
+
18
+ <div className="flex justify-between items-center overflow-hidden">
19
+ <ul className="flex transition-transform">
20
+ <li className="py-12 pr-8 flex-shrink-0">
21
+ <a
22
+ href={absUrl("/docs/how-ably-works")}
23
+ className="ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
24
+ >
25
+ How does Ably work?
26
+ </a>
27
+ </li>
28
+ <li className="py-12 px-8 flex-shrink-0">
29
+ <a
30
+ href={absUrl("/docs/quick-start-guide")}
31
+ className="ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
32
+ >
33
+ Quickstart guide
34
+ </a>
35
+ </li>
36
+ <li className="py-12 px-8 flex-shrink-0">
37
+ <a
38
+ href={absUrl("/docs/core-features/pubsub")}
39
+ className="ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
40
+ >
41
+ Publish/Subscribe Messaging
42
+ </a>
43
+ </li>
44
+ <li className="py-12 pl-8 flex-shrink-0">
45
+ <a
46
+ href={absUrl("/platform")}
47
+ className="ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
48
+ >
49
+ Platform
50
+ </a>
51
+ </li>
52
+ </ul>
53
+ {displaySupportLink ? (
54
+ <FeaturedLink url={absUrl("/support")} textSize="text-p2">
55
+ Support
56
+ </FeaturedLink>
57
+ ) : null}
58
+ </div>
59
+ </>
60
+ );
61
+
62
+ export default MeganavSearchSuggestions;
Binary file
@@ -1,9 +1,8 @@
1
- import "./component.css";
2
1
  import Cookie from "js-cookie";
3
2
  import throttle from "lodash.throttle";
4
3
 
5
4
  import { queryId } from "../dom-query";
6
- import { FLASH_DATA_ID } from "../Flash/component.jsx";
5
+ import { FLASH_DATA_ID } from "../Flash";
7
6
 
8
7
  const COOKIE_EXPIRY = 90;
9
8
  const COLLAPSE_TRIGGER_DISTANCE = 5;
@@ -0,0 +1,102 @@
1
+ import React, { ReactNode, useEffect } from "react";
2
+
3
+ import NoticeScripts from "./Notice/component.js";
4
+ import Icon from "./Icon";
5
+ type ContentWrapperProps = {
6
+ buttonLink: string;
7
+ children: ReactNode;
8
+ };
9
+
10
+ // TODO(jamiehenson):
11
+ // This type is a bit messed up currently due to the NoticeScripts import being interpreted as NoticeProps.
12
+ // Plan is to TS-ify the JS assets too, so this can be rectified then. The NoticeScripts-oriented props are
13
+ // the ones after the line break.
14
+ type NoticeProps = {
15
+ buttonLink?: string;
16
+ buttonLabel?: string;
17
+ bodyText?: string;
18
+ title?: string;
19
+ closeBtn?: boolean;
20
+ config?: {
21
+ collapse: boolean;
22
+ noticeId: string;
23
+ cookieId: string;
24
+ };
25
+ bgColor?: string;
26
+ textColor?: string;
27
+
28
+ bannerContainer?: Element | null;
29
+ cookieId?: string;
30
+ noticeId?: string;
31
+ options?: { collapse: boolean };
32
+ };
33
+
34
+ const contentWrapperClasses = "w-full pr-8 ui-text-p3 self-center";
35
+
36
+ const ContentWrapper = ({ buttonLink, children }: ContentWrapperProps) =>
37
+ buttonLink ? (
38
+ <a href={buttonLink} className={contentWrapperClasses}>
39
+ {children}
40
+ </a>
41
+ ) : (
42
+ <div className={contentWrapperClasses}>{children}</div>
43
+ );
44
+
45
+ const Notice = ({
46
+ buttonLink,
47
+ buttonLabel,
48
+ bodyText,
49
+ title,
50
+ config,
51
+ closeBtn,
52
+ bgColor = "bg-gradient-active-orange",
53
+ textColor = "text-white",
54
+ }: NoticeProps) => {
55
+ useEffect(() => {
56
+ NoticeScripts({
57
+ bannerContainer: document.querySelector('[data-id="ui-notice"]'),
58
+ cookieId: config?.cookieId,
59
+ noticeId: config?.noticeId,
60
+ options: {
61
+ collapse: config?.collapse || false,
62
+ },
63
+ });
64
+ }, []);
65
+
66
+ const wrapperClasses = ["ui-announcement", bgColor, textColor].join(" ");
67
+
68
+ return (
69
+ <div
70
+ className={wrapperClasses}
71
+ data-id="ui-notice"
72
+ style={{ maxHeight: 0, overflow: "hidden" }}
73
+ >
74
+ <div className="ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start">
75
+ <ContentWrapper buttonLink={buttonLink ?? "#"}>
76
+ <strong className="font-bold whitespace-nowrap pr-4">{title}</strong>
77
+ <span className="pr-4">{bodyText}</span>
78
+ {buttonLabel && (
79
+ <span className="underline cursor-pointer whitespace-nowrap">
80
+ {buttonLabel}
81
+ </span>
82
+ )}
83
+ </ContentWrapper>
84
+
85
+ {closeBtn && (
86
+ <button
87
+ type="button"
88
+ className="ml-auto h-20 w-20 border-none bg-none self-baseline"
89
+ >
90
+ <Icon
91
+ name="icon-gui-close"
92
+ size="1.25rem"
93
+ color="text-cool-black"
94
+ />
95
+ </button>
96
+ )}
97
+ </div>
98
+ </div>
99
+ );
100
+ };
101
+
102
+ export default Notice;
@@ -0,0 +1,51 @@
1
+ import React, { MouseEventHandler, ReactNode, useRef } from "react";
2
+ import { AbsUrl } from "./Meganav";
3
+
4
+ type SignOutLinkProps = {
5
+ token: string;
6
+ href: string;
7
+ text: string;
8
+ children: ({
9
+ href,
10
+ text,
11
+ onClick,
12
+ }: {
13
+ href: string;
14
+ text: string;
15
+ onClick: MouseEventHandler<HTMLAnchorElement>;
16
+ }) => ReactNode;
17
+ absUrl: AbsUrl;
18
+ };
19
+
20
+ const SignOutLink = ({
21
+ token,
22
+ href,
23
+ text,
24
+ children,
25
+ absUrl,
26
+ }: SignOutLinkProps) => {
27
+ const formRef = useRef<HTMLFormElement>(null);
28
+
29
+ const onClick = (e) => {
30
+ formRef.current?.submit();
31
+ e.preventDefault();
32
+ };
33
+
34
+ return (
35
+ <>
36
+ <form
37
+ ref={formRef}
38
+ method="post"
39
+ action={absUrl(href)}
40
+ className="hidden"
41
+ >
42
+ <input name="_method" value="delete" type="hidden" />
43
+ <input name="authenticity_token" value={token} type="hidden" />
44
+ </form>
45
+
46
+ {children({ href, text, onClick })}
47
+ </>
48
+ );
49
+ };
50
+
51
+ export default SignOutLink;
Binary file
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ import Slider from "../Slider";
3
+ import Icon from "../Icon";
4
+
5
+ const Slide = ({ name }: { name: string }) => (
6
+ <div className="relative ">
7
+ <div className="relative w-full sm:w-[560px] md:w-[784px] lg:w-[960px] bg-white overflow-hidden flex gap-40 rounded-3xl shadow-container-subtle">
8
+ <div className="w-full md:w-2/3 flex flex-col gap-24 pr-40 md:pr-0 pt-40 pl-40 pb-40 sm:pb-[120px] md:pb-40">
9
+ <h2 className="ui-text-h2 font-medium text-neutral-1000">
10
+ “Ably seamlessly absorbs sudden bursts in load during unexpected
11
+ client events. The integration was easy and we were live in under a
12
+ month.”
13
+ </h2>
14
+ <div className="flex flex-col sm:flex-row gap-32">
15
+ <div className="flex gap-8">
16
+ <div className="static self-center sm:absolute sm:-bottom-48 sm:-right-[56px] rounded-full bg-gradient-to-l from-neutral-200 to-50% to-neutral-500 w-[48px] h-[48px] sm:w-[201px] sm:h-[201px] md:w-[257px] md:h-[257px] lg:w-[280px] lg:h-[280px] overflow-hidden flex items-center justify-center sm:border-[16px] border-neutral-200">
17
+ <img src="https://picsum.photos/id/64/200" alt="test-image" />
18
+ </div>
19
+ <div className="sm:py-16">
20
+ <p className="ui-text-p1 text-neutral-1300">{name}</p>
21
+ <p className="ui-text-p3 text-neutral-800">
22
+ Co-Founder & Technical Leader
23
+ </p>
24
+ </div>
25
+ </div>
26
+
27
+ <div className="w-[80px] h-1 sm:w-1 sm:h-full bg-neutral-500"></div>
28
+ <div className="flex items-center gap-4">
29
+ <img src="https://picsum.photos/id/145/40" alt="test-image" />
30
+ <p className="ui-text-h4 font-bold">Mentimeter</p>
31
+ </div>
32
+ </div>
33
+ <a href="/case-study" className="ui-btn self-start">
34
+ Read case study
35
+ <Icon
36
+ name="icon-gui-arrow-right"
37
+ size="1.25rem"
38
+ additionalCSS="ml-4"
39
+ />
40
+ </a>
41
+ </div>
42
+ </div>
43
+
44
+ <div className="absolute h-256 -z-10 -bottom-48 -left-36 w-1/5 rounded-full blur-xl opacity-50 transform -rotate-45 bg-gradient-to-bl from-bg-glow-green to-bg-glow-teal"></div>
45
+ <div className="absolute h-256 -z-10 -top-48 -right-48 w-3/5 rounded-full blur-xl opacity-50 transform rotate-12 bg-gradient-to-br from-bg-glow-green to-bg-glow-teal"></div>
46
+ </div>
47
+ );
48
+
49
+ const slides = [
50
+ <Slide key="1" name={"Johan Bengtsson"} />,
51
+ <Slide key="2" name={"Mirko Bergman"} />,
52
+ <Slide key="3" name={"Stefania Lombardo"} />,
53
+ <Slide key="4" name={"Aleksandar Kostadinov"} />,
54
+ ];
55
+
56
+ export default {
57
+ title: "Components/Slider",
58
+ component: Slider,
59
+ args: {
60
+ children: slides,
61
+ options: {
62
+ interval: 10000,
63
+ intervalIndicator: true,
64
+ controlPosition: "floating",
65
+ },
66
+ },
67
+ };
68
+
69
+ export const FloatingControlPosition = {
70
+ args: {
71
+ children: slides,
72
+ options: {
73
+ interval: 10000,
74
+ intervalIndicator: true,
75
+ controlPosition: "floating",
76
+ },
77
+ },
78
+ };
79
+
80
+ export const InlineControlPosition = {
81
+ args: {
82
+ options: {
83
+ interval: 10000,
84
+ intervalIndicator: true,
85
+ controlPosition: "inline",
86
+ },
87
+ },
88
+ };
89
+
90
+ export const WithoutIntervalIndicator = {
91
+ args: {
92
+ options: {
93
+ interval: 10000,
94
+ intervalIndicator: false,
95
+ controlPosition: "floating",
96
+ },
97
+ },
98
+ };
@@ -5,4 +5,36 @@
5
5
 
6
6
  @apply leading-none px-4 relative;
7
7
  }
8
+
9
+ @keyframes fillAnimation {
10
+ 0% {
11
+ width: 0%;
12
+ }
13
+ 100% {
14
+ width: 100%;
15
+ }
16
+ }
17
+
18
+ .ui-icon-cta {
19
+ @apply cursor-pointer overflow-hidden;
20
+ @apply rounded border-2 border-mid-grey hover:border-active-orange;
21
+ transition: all 0.4s;
22
+ }
23
+
24
+ @screen sm {
25
+ .ui-icon-cta-left:hover .ui-icon-cta-holder {
26
+ transform: translateX(-120%);
27
+ }
28
+ .ui-icon-cta-right .ui-icon-cta-holder {
29
+ transform: translateX(-120%);
30
+ }
31
+ .ui-icon-cta-right:hover .ui-icon-cta-holder {
32
+ transform: translateX(0%);
33
+ }
34
+ }
35
+
36
+ .ui-icon-cta-holder {
37
+ @apply w-full h-full;
38
+ transition: all 0.4s;
39
+ }
8
40
  }
@@ -1,5 +1,3 @@
1
- import "./component.css";
2
-
3
1
  import throttle from "lodash.throttle";
4
2
 
5
3
  import { queryId, queryIdAll } from "../dom-query";