@ably/ui 13.3.0 → 14.0.0-dev.3f64b93

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 (510) 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 +7 -10
  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 +10 -13
  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 +19 -22
  26. package/core/Flash.js +1 -0
  27. package/core/Footer/.DS_Store +0 -0
  28. package/core/Footer/component.css +22 -25
  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 +103 -106
  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 +4 -7
  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 +34 -5
  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 +122 -0
  203. package/core/styles/forms.css +62 -0
  204. package/core/styles/layout.css +19 -0
  205. package/core/styles/properties.css +276 -0
  206. package/core/styles/text.css +166 -0
  207. package/core/styles.base.css +1 -0
  208. package/core/styles.components.css +33 -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 +67 -0
  213. package/core/utils/syntax-highlighter.js +1 -0
  214. package/package.json +38 -34
  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.css +7 -9
  231. package/src/core/ContactFooter.tsx +92 -0
  232. package/src/core/CookieMessage/.DS_Store +0 -0
  233. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  234. package/src/core/CookieMessage/component.css +10 -12
  235. package/src/core/{CookieMessage/component.jsx → CookieMessage.tsx} +16 -11
  236. package/src/core/CustomerLogos/.DS_Store +0 -0
  237. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  238. package/src/core/CustomerLogos.tsx +35 -0
  239. package/src/core/DropdownMenu/.DS_Store +0 -0
  240. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  241. package/src/core/{DropdownMenu/component.jsx → DropdownMenu.tsx} +64 -36
  242. package/src/core/Expander/Expander.stories.tsx +132 -0
  243. package/src/core/Expander.tsx +54 -0
  244. package/src/core/FeaturedLink/.DS_Store +0 -0
  245. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  246. package/src/core/{FeaturedLink/component.jsx → FeaturedLink.tsx} +26 -18
  247. package/src/core/Flash/.DS_Store +0 -0
  248. package/src/core/Flash/Flash.stories.tsx +37 -0
  249. package/src/core/Flash/component.css +19 -21
  250. package/src/core/{Flash/component.jsx → Flash.tsx} +78 -39
  251. package/src/core/Footer/.DS_Store +0 -0
  252. package/src/core/Footer/Footer.stories.tsx +26 -0
  253. package/src/core/Footer/component.css +22 -24
  254. package/src/core/{Footer/component.jsx → Footer.tsx} +237 -70
  255. package/src/core/Icon/.DS_Store +0 -0
  256. package/src/core/Icon/Icon.stories.tsx +151 -0
  257. package/src/core/Icon.tsx +26 -0
  258. package/src/core/Loader/.DS_Store +0 -0
  259. package/src/core/Loader/Loader.stories.tsx +21 -0
  260. package/src/core/{Loader/component.jsx → Loader.tsx} +11 -8
  261. package/src/core/Logo/.DS_Store +0 -0
  262. package/src/core/Logo/Logo.stories.tsx +12 -0
  263. package/src/core/Logo.tsx +29 -0
  264. package/src/core/Meganav/.DS_Store +0 -0
  265. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  266. package/src/core/Meganav/component.css +103 -105
  267. package/src/core/Meganav/component.js +6 -7
  268. package/src/core/Meganav.tsx +226 -0
  269. package/src/core/MeganavBlogPostsList/.DS_Store +0 -0
  270. package/src/core/{MeganavBlogPostsList/component.jsx → MeganavBlogPostsList.tsx} +15 -14
  271. package/src/core/{MeganavContentCompany/component.jsx → MeganavContentCompany.tsx} +82 -33
  272. package/src/core/{MeganavContentDevelopers/component.jsx → MeganavContentDevelopers.tsx} +98 -34
  273. package/src/core/MeganavContentProducts.tsx +165 -0
  274. package/src/core/MeganavContentUseCases.tsx +244 -0
  275. package/src/core/MeganavControl/.DS_Store +0 -0
  276. package/src/core/{MeganavControl/component.jsx → MeganavControl.tsx} +18 -12
  277. package/src/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  278. package/src/core/{MeganavControlMobileDropdown/component.jsx → MeganavControlMobileDropdown.tsx} +3 -7
  279. package/src/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  280. package/src/core/{MeganavControlMobilePanelClose/component.jsx → MeganavControlMobilePanelClose.tsx} +15 -9
  281. package/src/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  282. package/src/core/MeganavControlMobilePanelOpen.tsx +31 -0
  283. package/src/core/MeganavItemsDesktop.tsx +68 -0
  284. package/src/core/MeganavItemsMobile.tsx +197 -0
  285. package/src/core/{MeganavItemsSignedIn/component.jsx → MeganavItemsSignedIn.tsx} +55 -23
  286. package/src/core/MeganavSearch.tsx +36 -0
  287. package/src/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  288. package/src/core/MeganavSearchAutocomplete.tsx +12 -0
  289. package/src/core/MeganavSearchPanel.tsx +52 -0
  290. package/src/core/MeganavSearchSuggestions/.DS_Store +0 -0
  291. package/src/core/MeganavSearchSuggestions.tsx +62 -0
  292. package/src/core/Notice/.DS_Store +0 -0
  293. package/src/core/Notice/component.css +4 -6
  294. package/src/core/Notice/component.js +1 -1
  295. package/src/core/Notice.tsx +103 -0
  296. package/src/core/SignOutLink.tsx +51 -0
  297. package/src/core/Slider/.DS_Store +0 -0
  298. package/src/core/Slider/Slider.stories.tsx +98 -0
  299. package/src/core/Slider/component.css +35 -5
  300. package/src/core/Slider.tsx +193 -0
  301. package/src/core/Table/.DS_Store +0 -0
  302. package/src/core/Table/Table.stories.tsx +12 -0
  303. package/src/core/Table/Table.tsx +59 -0
  304. package/src/core/Table/TableCell.tsx +109 -0
  305. package/src/core/Table/TableRow.tsx +25 -0
  306. package/src/core/Table/data.tsx +113 -0
  307. package/src/core/Table.tsx +26 -0
  308. package/src/core/Tooltip/.DS_Store +0 -0
  309. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  310. package/src/core/Tooltip.tsx +88 -0
  311. package/src/core/icons/icon-gui-partial.svg +4 -0
  312. package/src/core/icons.js +6 -0
  313. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  314. package/src/core/styles/buttons.css +121 -123
  315. package/src/core/styles/forms.css +49 -51
  316. package/src/core/styles/layout.css +14 -16
  317. package/src/core/styles/properties.css +250 -259
  318. package/src/core/styles/text.css +165 -167
  319. package/src/core/styles.components.css +22 -24
  320. package/src/core/utils/syntax-highlighter.css +55 -59
  321. package/src/pages/Buttons.mdx +121 -0
  322. package/src/pages/Chips.mdx +136 -0
  323. package/src/pages/Colour.mdx +23 -0
  324. package/src/pages/Forms.mdx +173 -0
  325. package/src/pages/Layout.mdx +58 -0
  326. package/src/pages/Typography.mdx +206 -0
  327. package/src/pages/utils.ts +70 -0
  328. package/tailwind.config.js +1 -7
  329. package/tailwind.extend.js +1 -1
  330. package/core/.gitignore +0 -1
  331. package/core/Code.jsx +0 -684
  332. package/core/CompanyAutocomplete/component.css +0 -46
  333. package/core/CompanyAutocomplete/component.js +0 -2
  334. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  335. package/core/ConnectStateWrapper/component.js +0 -1
  336. package/core/ConnectStateWrapper.jsx +0 -222
  337. package/core/ContactFooter.jsx +0 -342
  338. package/core/CookieMessage/component.js +0 -1
  339. package/core/CookieMessage.jsx +0 -204
  340. package/core/CustomerLogos/component.js +0 -1
  341. package/core/CustomerLogos.jsx +0 -144
  342. package/core/DropdownMenu/component.js +0 -1
  343. package/core/DropdownMenu.jsx +0 -313
  344. package/core/FeatureFooter/component.css +0 -13
  345. package/core/FeatureFooter/component.js +0 -1
  346. package/core/FeaturedLink/component.js +0 -1
  347. package/core/FeaturedLink.jsx +0 -241
  348. package/core/Flash/component.js +0 -1
  349. package/core/Flash.jsx +0 -622
  350. package/core/Footer/component.js +0 -1
  351. package/core/Footer.jsx +0 -587
  352. package/core/Icon/component.js +0 -1
  353. package/core/Icon.jsx +0 -152
  354. package/core/Loader/component.js +0 -1
  355. package/core/Loader.jsx +0 -154
  356. package/core/Logo/component.js +0 -1
  357. package/core/Logo.jsx +0 -147
  358. package/core/Meganav.jsx +0 -4151
  359. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  360. package/core/MeganavBlogPostsList.jsx +0 -296
  361. package/core/MeganavContentCompany/component.js +0 -1
  362. package/core/MeganavContentCompany.jsx +0 -1058
  363. package/core/MeganavContentDevelopers/component.js +0 -1
  364. package/core/MeganavContentDevelopers.jsx +0 -334
  365. package/core/MeganavContentProducts/component.js +0 -1
  366. package/core/MeganavContentProducts.jsx +0 -373
  367. package/core/MeganavContentUseCases/component.js +0 -1
  368. package/core/MeganavContentUseCases.jsx +0 -341
  369. package/core/MeganavControl.jsx +0 -199
  370. package/core/MeganavControlMobileDropdown.jsx +0 -197
  371. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  372. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  373. package/core/MeganavItemsDesktop/component.js +0 -1
  374. package/core/MeganavItemsDesktop.jsx +0 -279
  375. package/core/MeganavItemsMobile/component.js +0 -1
  376. package/core/MeganavItemsMobile.jsx +0 -689
  377. package/core/MeganavItemsSignedIn/component.js +0 -1
  378. package/core/MeganavItemsSignedIn.jsx +0 -643
  379. package/core/MeganavSearch/component.js +0 -1
  380. package/core/MeganavSearch.jsx +0 -434
  381. package/core/MeganavSearchAutocomplete.jsx +0 -117
  382. package/core/MeganavSearchPanel/component.js +0 -1
  383. package/core/MeganavSearchPanel.jsx +0 -386
  384. package/core/MeganavSearchSuggestions.jsx +0 -299
  385. package/core/Notice.jsx +0 -914
  386. package/core/Showcase/component.css +0 -31
  387. package/core/Showcase/component.js +0 -1
  388. package/core/Showcase.jsx +0 -17
  389. package/core/SignOutLink/component.js +0 -1
  390. package/core/SignOutLink.jsx +0 -157
  391. package/core/Slider.jsx +0 -400
  392. package/core/Uptime/component.css +0 -128
  393. package/core/Uptime/component.js +0 -1
  394. package/core/Uptime.jsx +0 -895
  395. package/core/scripts.js.LICENSE.txt +0 -1
  396. package/preview/log/.keep +0 -0
  397. package/preview/tmp/.keep +0 -0
  398. package/preview/tmp/pids/.keep +0 -0
  399. package/reset/.gitignore +0 -1
  400. package/src/core/Code/component.html.erb +0 -3
  401. package/src/core/Code/component.jsx +0 -31
  402. package/src/core/Code/component.rb +0 -12
  403. package/src/core/CompanyAutocomplete/component.css +0 -45
  404. package/src/core/CompanyAutocomplete/component.js +0 -204
  405. package/src/core/ConnectStateWrapper/component.js +0 -0
  406. package/src/core/ContactFooter/component.html.erb +0 -32
  407. package/src/core/ContactFooter/component.jsx +0 -66
  408. package/src/core/ContactFooter/component.rb +0 -13
  409. package/src/core/CookieMessage/component.js +0 -1
  410. package/src/core/CustomerLogos/component.html.erb +0 -9
  411. package/src/core/CustomerLogos/component.js +0 -0
  412. package/src/core/CustomerLogos/component.jsx +0 -28
  413. package/src/core/CustomerLogos/component.rb +0 -14
  414. package/src/core/DropdownMenu/component.js +0 -0
  415. package/src/core/FeatureFooter/component.css +0 -12
  416. package/src/core/FeatureFooter/component.html.erb +0 -54
  417. package/src/core/FeatureFooter/component.js +0 -7
  418. package/src/core/FeatureFooter/component.rb +0 -30
  419. package/src/core/FeaturedLink/component.html.erb +0 -15
  420. package/src/core/FeaturedLink/component.js +0 -0
  421. package/src/core/FeaturedLink/component.rb +0 -21
  422. package/src/core/Flash/component.js +0 -1
  423. package/src/core/Footer/component.html.erb +0 -256
  424. package/src/core/Footer/component.js +0 -1
  425. package/src/core/Footer/component.rb +0 -14
  426. package/src/core/Icon/component.html.erb +0 -3
  427. package/src/core/Icon/component.js +0 -0
  428. package/src/core/Icon/component.jsx +0 -19
  429. package/src/core/Icon/component.rb +0 -25
  430. package/src/core/Loader/component.html.erb +0 -18
  431. package/src/core/Loader/component.js +0 -0
  432. package/src/core/Loader/component.rb +0 -19
  433. package/src/core/Logo/component.html.erb +0 -3
  434. package/src/core/Logo/component.js +0 -0
  435. package/src/core/Logo/component.jsx +0 -20
  436. package/src/core/Logo/component.rb +0 -31
  437. package/src/core/Meganav/component.html.erb +0 -31
  438. package/src/core/Meganav/component.jsx +0 -123
  439. package/src/core/Meganav/component.rb +0 -60
  440. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  441. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  442. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  443. package/src/core/MeganavContentCompany/component.js +0 -0
  444. package/src/core/MeganavContentCompany/component.rb +0 -14
  445. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  446. package/src/core/MeganavContentDevelopers/component.js +0 -0
  447. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  448. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  449. package/src/core/MeganavContentProducts/component.js +0 -0
  450. package/src/core/MeganavContentProducts/component.jsx +0 -105
  451. package/src/core/MeganavContentProducts/component.rb +0 -14
  452. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  453. package/src/core/MeganavContentUseCases/component.js +0 -1
  454. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  455. package/src/core/MeganavContentUseCases/component.rb +0 -13
  456. package/src/core/MeganavControl/component.html.erb +0 -6
  457. package/src/core/MeganavControl/component.rb +0 -20
  458. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  459. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  460. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  461. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  462. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  463. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  464. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  465. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  466. package/src/core/MeganavItemsDesktop/component.js +0 -0
  467. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  468. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  469. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  470. package/src/core/MeganavItemsMobile/component.js +0 -0
  471. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  472. package/src/core/MeganavItemsMobile/component.rb +0 -21
  473. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  474. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  475. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  476. package/src/core/MeganavSearch/component.html.erb +0 -15
  477. package/src/core/MeganavSearch/component.js +0 -0
  478. package/src/core/MeganavSearch/component.jsx +0 -33
  479. package/src/core/MeganavSearch/component.rb +0 -13
  480. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  481. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  482. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  483. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  484. package/src/core/MeganavSearchPanel/component.js +0 -0
  485. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  486. package/src/core/MeganavSearchPanel/component.rb +0 -13
  487. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  488. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  489. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  490. package/src/core/Notice/component.html.erb +0 -16
  491. package/src/core/Notice/component.jsx +0 -71
  492. package/src/core/Notice/component.rb +0 -29
  493. package/src/core/Showcase/component.css +0 -30
  494. package/src/core/Showcase/component.html.erb +0 -76
  495. package/src/core/Showcase/component.js +0 -180
  496. package/src/core/Showcase/component.jsx +0 -0
  497. package/src/core/Showcase/component.rb +0 -190
  498. package/src/core/SignOutLink/component.html.erb +0 -1
  499. package/src/core/SignOutLink/component.js +0 -0
  500. package/src/core/SignOutLink/component.jsx +0 -32
  501. package/src/core/SignOutLink/component.rb +0 -17
  502. package/src/core/Slider/component.html.erb +0 -28
  503. package/src/core/Slider/component.jsx +0 -86
  504. package/src/core/Slider/component.rb +0 -38
  505. package/src/core/Uptime/component.css +0 -127
  506. package/src/core/Uptime/component.html.erb +0 -0
  507. package/src/core/Uptime/component.js +0 -1
  508. package/src/core/Uptime/component.jsx +0 -183
  509. package/src/core/Uptime/component.rb +0 -7
  510. package/src/core/core.rb +0 -81
@@ -1 +0,0 @@
1
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
package/preview/log/.keep DELETED
File without changes
package/preview/tmp/.keep DELETED
File without changes
File without changes
package/reset/.gitignore DELETED
@@ -1 +0,0 @@
1
- *
@@ -1,3 +0,0 @@
1
- <%= tag.div class: "hljs p-32 overflow-auto", data: { id: "code" } do %>
2
- <%= tag.pre lang: @language do %><%= tag.code class: "language-#{@language} #{@text_size}" do %><%= @snippet %><% end %><% end %>
3
- <% end %>
@@ -1,31 +0,0 @@
1
- import React from "react";
2
- import T from "prop-types";
3
-
4
- import "../utils/syntax-highlighter.css";
5
- import { highlightSnippet, registerDefaultLanguages } from "../utils/syntax-highlighter";
6
- import languagesRegistry from "../utils/syntax-highlighter-registry";
7
-
8
- registerDefaultLanguages(languagesRegistry);
9
-
10
- const Code = ({ language, snippet, textSize = "ui-text-code", padding = "p-32", additionalCSS = "" }) => {
11
- const HTMLraw = highlightSnippet(language, `${snippet}`.trim());
12
- const className = `language-${language} ${textSize}`;
13
-
14
- return (
15
- <div className={`hljs overflow-auto ${padding} ${additionalCSS}`} data-id="code">
16
- <pre lang={language}>
17
- <code className={className} dangerouslySetInnerHTML={{ __html: HTMLraw }} />
18
- </pre>
19
- </div>
20
- );
21
- };
22
-
23
- Code.propTypes = {
24
- language: T.string,
25
- snippet: T.string,
26
- textSize: T.string,
27
- padding: T.string,
28
- additionalCSS: T.string,
29
- };
30
-
31
- export default Code;
@@ -1,12 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class Code < ViewComponent::Base
4
- include AblyUi::Core::Util
5
- def initialize(language:, snippet:, text_size: 'ui-text-code')
6
- @language = language
7
- @snippet = snippet.try(:strip)
8
- @text_size = text_size
9
- end
10
- end
11
- end
12
- end
@@ -1,45 +0,0 @@
1
- @layer components {
2
- .ui-company-autocomplete-container {
3
- @apply shadow-container absolute bg-white w-full z-10 font-sans;
4
- }
5
-
6
- .ui-company-autocomplete-list {
7
- @apply border border-mid-grey border-t-0;
8
- }
9
-
10
- .ui-company-autocomplete-listitem {
11
- @apply border-b border-mid-grey h-48;
12
- }
13
-
14
- .ui-company-autocomplete-btn {
15
- @apply h-full w-full flex items-center py-4 px-12;
16
- }
17
-
18
- .ui-company-autocomplete-btn:focus {
19
- @apply focus:text-gui-focus;
20
- }
21
-
22
- .ui-company-autocomplete-listitem:last-child {
23
- @apply border-b-0;
24
- }
25
-
26
- .ui-company-autocomplete-listitem:hover {
27
- @apply bg-light-grey cursor-pointer;
28
- }
29
-
30
- .ui-company-autocomplete-listitem:hover .ui-company-autocomplete-name {
31
- @apply text-gui-hover;
32
- }
33
-
34
- .ui-company-autocomplete-logo {
35
- @apply w-32;
36
- }
37
-
38
- .ui-company-autocomplete-name {
39
- @apply font-sans font-light text-cool-black ml-8 text-p3 text-left;
40
- }
41
-
42
- .ui-company-autocomplete-domain {
43
- @apply font-sans font-light text-dark-grey ml-auto text-p3;
44
- }
45
- }
@@ -1,204 +0,0 @@
1
- import "./component.css";
2
-
3
- import throttle from "lodash.throttle";
4
-
5
- const COMPANY_AUTOCOMPLETE_DROPDOWN = "[data-id=company-autocomplete-dropdown]";
6
-
7
- const getContainer = (input) =>
8
- input.parentNode.querySelector(COMPANY_AUTOCOMPLETE_DROPDOWN);
9
- const getItems = (container) =>
10
- container ? container.querySelectorAll("li > button") : [];
11
- const getFocusedItemIndex = (items) =>
12
- Array.from(items).indexOf(document.activeElement);
13
-
14
- const clearList = (input) => {
15
- const container = getContainer(input);
16
-
17
- if (container) {
18
- container.classList.add("hidden");
19
- container.querySelector("ol").innerHTML = "";
20
- }
21
- };
22
-
23
- const renderItems = (data) =>
24
- data.map((element) => {
25
- const listItem = document.createElement("li");
26
- listItem.classList.add("ui-company-autocomplete-listitem");
27
-
28
- const btn = document.createElement("button");
29
- btn.classList.add("ui-company-autocomplete-btn");
30
- btn.dataset.name = element.name;
31
-
32
- const logo = document.createElement("img");
33
- logo.alt = `${element.name} logo`;
34
- logo.src = element.logo;
35
- logo.classList.add("ui-company-autocomplete-logo");
36
-
37
- const name = document.createElement("p");
38
- name.textContent = element.name;
39
- name.classList.add("ui-company-autocomplete-name");
40
-
41
- const domain = document.createElement("p");
42
- domain.textContent = element.domain;
43
- domain.classList.add("ui-company-autocomplete-domain");
44
-
45
- btn.append(logo);
46
- btn.append(name);
47
- btn.append(domain);
48
- listItem.append(btn);
49
-
50
- return listItem;
51
- });
52
-
53
- const renderContainer = (input) => {
54
- let container = getContainer(input);
55
-
56
- if (!container) {
57
- input.parentNode.style.position = "relative";
58
-
59
- container = document.createElement("div");
60
- container.dataset.id = "company-autocomplete-dropdown";
61
- container.classList.add("ui-company-autocomplete-container");
62
-
63
- const list = document.createElement("ol");
64
- list.classList.add("ui-company-autocomplete-list");
65
-
66
- return { container, list };
67
- }
68
-
69
- return { container, list: container.querySelector("ol") };
70
- };
71
-
72
- const renderDropdown = (input, data) => {
73
- const parent = input.parentNode;
74
- const { container, list } = renderContainer(input);
75
- const items = renderItems(data);
76
-
77
- clearList(input);
78
-
79
- items.forEach((item, index) => {
80
- list.append(item);
81
- item.addEventListener("click", (event) => {
82
- input.value = data[index].name;
83
- event.preventDefault();
84
- });
85
- });
86
-
87
- container.append(list);
88
- container.classList.remove("hidden");
89
- parent.append(container);
90
- };
91
-
92
- const fetchData = async (url, query) => {
93
- try {
94
- if (!query) {
95
- return [];
96
- }
97
-
98
- const res = await fetch(`${url}?query=${query}`);
99
- const payload = await res.json();
100
-
101
- return payload;
102
- } catch (e) {
103
- // eslint-disable-next-line no-console
104
- console.error(e);
105
- return [];
106
- }
107
- };
108
-
109
- const handleDownArrow = (input, event) => {
110
- const container = getContainer(input);
111
- const items = getItems(container);
112
- const focusedItemIndex = getFocusedItemIndex(items);
113
-
114
- if (items.length === 0) {
115
- return;
116
- } else if (document.activeElement === input) {
117
- items[0].focus();
118
- } else if (focusedItemIndex >= 0 && focusedItemIndex < items.length - 1) {
119
- items[focusedItemIndex + 1].focus();
120
- }
121
-
122
- event.preventDefault();
123
- };
124
-
125
- const handleUpArrow = (input, event) => {
126
- const container = getContainer(input);
127
- const items = getItems(container);
128
- const focusedItemIndex = getFocusedItemIndex(items);
129
-
130
- if (items.length === 0) {
131
- return;
132
- } else if (focusedItemIndex === 0) {
133
- input.focus();
134
- } else if (focusedItemIndex > 0) {
135
- items[focusedItemIndex - 1].focus();
136
- }
137
-
138
- event.preventDefault();
139
- };
140
-
141
- const handleTab = (input, event) => {
142
- const container = getContainer(input);
143
- const items = getItems(container);
144
- const focusedItemIndex = getFocusedItemIndex(items);
145
-
146
- if (document.activeElement === input && event.shiftKey) {
147
- clearList(input);
148
- } else if (focusedItemIndex === items.length - 1) {
149
- clearList(input);
150
- }
151
- };
152
-
153
- const handleEnter = (input, event) => {
154
- if (event.target.dataset.name) {
155
- input.value = event.target.dataset.name;
156
- clearList(input);
157
- input.focus();
158
- event.preventDefault();
159
- }
160
- };
161
-
162
- const CompanyAutocomplete = (input, url) => {
163
- if (!input || !url) return;
164
-
165
- input.setAttribute("autocomplete", "off");
166
-
167
- input.addEventListener(
168
- "keyup",
169
- throttle(
170
- async (event) => {
171
- if (["Enter", "Space", "Tab", "Escape"].includes(event.code)) return;
172
-
173
- const query = event.target.value;
174
- const data = await fetchData(url, query);
175
-
176
- if (data && data.length > 0) {
177
- renderDropdown(input, data);
178
- }
179
- },
180
- 100,
181
- { trailing: true }
182
- )
183
- );
184
-
185
- input.parentNode.addEventListener("keydown", (event) => {
186
- if (event.code === "ArrowDown") {
187
- handleDownArrow(input, event);
188
- } else if (event.code === "ArrowUp") {
189
- handleUpArrow(input, event);
190
- } else if (event.code === "Enter" || event.code === "Space") {
191
- handleEnter(input, event);
192
- } else if (event.code === "Tab") {
193
- handleTab(input, event);
194
- } else if (event.code === "Escape") {
195
- clearList(input);
196
- }
197
- });
198
-
199
- document.body.addEventListener("click", () => {
200
- clearList(input);
201
- });
202
- };
203
-
204
- export default CompanyAutocomplete;
File without changes
@@ -1,32 +0,0 @@
1
- <div class="ui-contact-footer font-sans antialiased" data-id="contact-footer">
2
- <div class="w-full bp-lg max-w-screen-xl mx-auto py-64 grid grid-cols-1 md:grid-cols-3 ui-grid-gap ui-grid-px">
3
- <div class="ui-contact-footer-box">
4
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-live-chat", size: "3rem", additional_css: "block mb-16")) %>
5
- <div>
6
- <div class="ui-text-h3 mb-24">Live Chat</div>
7
- <p class="ui-text-p1">Reach out team of experts over chat powered by Ably.</p>
8
- </div>
9
- <%= tag.button type: "button", class: "ui-btn-secondary self-start mt-16", data: { id: "open-chat-widget", enabled_label: "Start a live chat", disabled_label: "Live chat unavailable" }, disabled: true do %>
10
- Live chat unavailable
11
- <% end %>
12
- </div>
13
- <div class="ui-contact-footer-box">
14
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-call-mobile", size: "3rem", additional_css: "block mb-16")) %>
15
- <div class="flex-grow">
16
- <div class="ui-text-h3 mb-24">Call us</div>
17
- <p class="ui-text-p1">
18
- <span class="block"><strong class="font-bold">+1 877 434 5287</strong> (USA, toll free) </span>
19
- <span class="block"><strong class="font-bold">+44 20 3318 4689</strong> (UK) </span>
20
- </p>
21
- </div>
22
- </div>
23
- <div class="ui-contact-footer-box">
24
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-tech-account-comms", size: "3rem", additional_css: "block mb-16")) %>
25
- <div>
26
- <div class="ui-text-h3 mb-24">Technical and account support</div>
27
- <p class="ui-text-p1">We&apos;re standing by to help with any questions or code.</p>
28
- </div>
29
- <%= link_to 'Get support now', abs_url("/support"), class: "ui-btn-secondary self-start p-btn mt-16" %>
30
- </div>
31
- </div>
32
- </div>
@@ -1,66 +0,0 @@
1
- import React, { useEffect } from "react";
2
- import T from "prop-types";
3
-
4
- import Icon from "../Icon/component.jsx";
5
- import _absUrl from "../url-base";
6
-
7
- import toggleChatWidget from "./component.js";
8
-
9
- export default function ContactFooter({ urlBase }) {
10
- useEffect(() => toggleChatWidget(), []);
11
- const absUrl = (path) => _absUrl(path, urlBase);
12
-
13
- return (
14
- <div className="ui-contact-footer font-sans antialiased" data-id="contact-footer">
15
- <div className="w-full bp-lg max-w-screen-xl mx-auto py-64 grid grid-cols-1 md:grid-cols-3 ui-grid-gap ui-grid-px">
16
- <div className="ui-contact-footer-box">
17
- <Icon name="icon-display-live-chat" size="3rem" additionalCSS="block mb-16" />
18
- <div>
19
- <div className="ui-text-h3 mb-24">Live Chat</div>
20
- <p className="ui-text-p1">Reach out team of experts over chat powered by Ably.</p>
21
- </div>
22
- <button
23
- type="button"
24
- className="ui-btn-secondary self-start mt-16"
25
- disabled
26
- data-id="open-chat-widget"
27
- data-enabled-label="Start a live chat"
28
- data-disabled-label="Live chat unavailable"
29
- >
30
- Live chat unavailable
31
- </button>
32
- </div>
33
-
34
- <div className="ui-contact-footer-box">
35
- <Icon name="icon-display-call-mobile" size="3rem" additionalCSS="block mb-16" />
36
- <div className="flex-grow">
37
- <div className="ui-text-h3 mb-24">Call us</div>
38
- <p className="ui-text-p1">
39
- <span className="block">
40
- <strong className="font-bold">+1 877 434 5287</strong> (USA, toll free)
41
- </span>
42
- <span className="block">
43
- <strong className="font-bold">+44 20 3318 4689</strong> (UK)
44
- </span>
45
- </p>
46
- </div>
47
- </div>
48
-
49
- <div className="ui-contact-footer-box">
50
- <Icon name="icon-display-tech-account-comms" size="3rem" additionalCSS="block mb-16" />
51
- <div>
52
- <div className="ui-text-h3 mb-24">Technical and account support</div>
53
- <p className="ui-text-p1">We&apos;re standing by to help with any questions or code.</p>
54
- </div>
55
- <a className="ui-btn-secondary self-start p-btn mt-16" href={absUrl("/support")}>
56
- Get support now
57
- </a>
58
- </div>
59
- </div>
60
- </div>
61
- );
62
- }
63
-
64
- ContactFooter.propTypes = {
65
- urlBase: T.string,
66
- };
@@ -1,13 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class ContactFooter < ViewComponent::Base
4
- include AblyUi::Core::Util
5
-
6
- attr_reader :url_base
7
-
8
- def initialize(url_base: AblyUi::Core::Util::DEFAULT_URL_BASE)
9
- @url_base = url_base
10
- end
11
- end
12
- end
13
- end
@@ -1 +0,0 @@
1
- import "./component.css";
@@ -1,9 +0,0 @@
1
- <section class="w-full bg-white">
2
- <%= tag.ul class: "py-64 flex flex-row flex-wrap md:flex-nowrap content-between m-auto items-center #{@additional_css}" do %>
3
- <% companies.each do |company| %>
4
- <li class="flex-auto text-center sm:w-1/3 w-1/2">
5
- <%= image_tag company[:logo], alt: "#{company[:label]} logo", class: 'mx-auto' %>
6
- </li>
7
- <% end %>
8
- <% end %>
9
- </section>
File without changes
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import T from "prop-types";
3
-
4
- const CustomerLogos = ({ companies, additionalCss = "" }) => {
5
- return (
6
- <section className="w-full bg-white">
7
- <ul className={`py-64 flex flex-row flex-wrap md:flex-nowrap content-between m-auto items-center ${additionalCss}`}>
8
- {companies.map((company) => (
9
- <li key={company.label} className="flex-auto text-center sm:w-1/3 w-1/2">
10
- <img alt={company.label} src={company.logo} className="mx-auto" />
11
- </li>
12
- ))}
13
- </ul>
14
- </section>
15
- );
16
- };
17
-
18
- CustomerLogos.propTypes = {
19
- companies: T.arrayOf(
20
- T.shape({
21
- label: T.string,
22
- logo: T.string,
23
- })
24
- ),
25
- additionalCss: T.string,
26
- };
27
-
28
- export default CustomerLogos;
@@ -1,14 +0,0 @@
1
- require 'json'
2
-
3
- module AblyUi
4
- module Core
5
- class CustomerLogos < ViewComponent::Base
6
- attr_reader :companies
7
-
8
- def initialize(companies:, additional_css: '')
9
- @companies = companies
10
- @additional_css = additional_css
11
- end
12
- end
13
- end
14
- end
File without changes
@@ -1,12 +0,0 @@
1
- @layer components {
2
- .ui-feature-footer {
3
- background: var(--gradient-active-orange);
4
- background-size: 100% 100%;
5
- background-position: right center;
6
- @apply w-full font-sans antialiased bg-gradient-active-orange;
7
- }
8
-
9
- .ui-feature-footer-box {
10
- @apply p-24 sm:p-32 xl:p-40 flex flex-col justify-between rounded-sm;
11
- }
12
- }
@@ -1,54 +0,0 @@
1
- <%- @image_url ||= asset_path('ably_ui/core/images/technical-support-01-800x533.jpg') %>
2
- <div class="ui-feature-footer" data-id="feature-footer">
3
- <div class="w-full bp-lg max-w-screen-xl mx-auto py-64 md:grid grid-cols-3 ui-grid-gap ui-grid-px">
4
- <div class="col-span-2 bg-cool-black text-white rounded-lg overflow-hidden sm:flex flex-row mb-24 md:mb-0">
5
- <%= tag.div class: 'ui-feature-image flex-0 bg-center bg-cover w-full h-256 sm:w-1/2 sm:h-auto', style: "background-image:url(#{@image_url})" %>
6
- <div class="p-24 sm:p-32 flex-1 h-full">
7
- <div class="flex flex-col h-full space-between">
8
- <span class="flex-1">
9
- <div class="ui-text-h3 text-white mb-24 flex-1"><%= @title %> </div>
10
- <p class="ui-text-p1 text-white"><%= @subtitle %></p>
11
- <%= tag.button type: "button", class: "ui-btn-secondary-invert self-start mt-24", data: { id: "open-chat-widget", enabled_label: live_chat_label, disabled_label: live_chat_disabled_label }, disabled: true do %>
12
- <%= live_chat_disabled_label %>
13
- <% end %>
14
- </span>
15
- <span class="flex-0 mt-24 md:mt-0">
16
- <p class="ui-text-p1 text-white">
17
- Don’t want to chat?
18
- <%= link_to 'Get in touch via our contact page', abs_url("/contact"), class: "text-white underline font-medium hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus" %>
19
- </p>
20
- </span>
21
- </div>
22
- </div>
23
- </div>
24
- <div class="bg-white rounded-lg p-24 sm:p-32 w-auto">
25
- <div class="flex flex-col h-full space-between">
26
- <span class="flex-1">
27
- <div class="ui-text-h3 mb-24">Try our APIs for free</div>
28
- <p class="ui-text-p1 mb-16">Our free plan includes</p>
29
- <ul class="relative ml-24 ui-text-p1">
30
- <li>
31
- <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
32
- 6m messages per month
33
- </li>
34
- <li>
35
- <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
36
- 200 peak connections
37
- </li>
38
- <li>
39
- <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
40
- 200 peak channels
41
- </li>
42
- <li>
43
- <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
44
- Loads of features
45
- </li>
46
- </ul>
47
- </span>
48
- <span class="flex-0">
49
- <%= link_to 'Start building', abs_url("/sign-up"), class: "ui-btn-secondary self-start mt-24" %>
50
- </span>
51
- </div>
52
- </div>
53
- </div>
54
- </div>
@@ -1,7 +0,0 @@
1
- import toggleChatWidget from "../hubspot-chat-toggle";
2
- import "./component.css";
3
-
4
- export default () =>
5
- toggleChatWidget({
6
- dataId: "feature-footer",
7
- });
@@ -1,30 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class FeatureFooter < ViewComponent::Base
4
- include AblyUi::Core::Util
5
-
6
- attr_reader :url_base,
7
- :image_url,
8
- :title,
9
- :subtitle,
10
- :live_chat_label,
11
- :live_chat_disabled_label
12
-
13
- def initialize(
14
- url_base: AblyUi::Core::Util::DEFAULT_URL_BASE,
15
- image_url: nil,
16
- title: 'Talk to our technical team',
17
- subtitle: "If you're having technical or account issues just get in touch.",
18
- live_chat_label: 'Start a live chat',
19
- live_chat_disabled_label: 'Live chat unavailable'
20
- )
21
- @url_base = url_base
22
- @image_url = image_url
23
- @title = title
24
- @subtitle = subtitle
25
- @live_chat_label = live_chat_label
26
- @live_chat_disabled_label = live_chat_disabled_label
27
- end
28
- end
29
- end
30
- end
@@ -1,15 +0,0 @@
1
- <%= link_to(@url, class: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-#{@text_size} #{@flush ? '' : 'py-8'} #{@additional_css}", style: "--featured-link-icon-size: var(#{@text_size.gsub("text", "--fs")})") do %>
2
- <% if @reverse %>
3
- <%= render(AblyUi::Core::Icon.new(name: "icon-gui-link-arrow",
4
- size: "calc(var(--featured-link-icon-size) * 1.25)",
5
- color: @icon_color,
6
- additional_css: "align-middle mr-8 relative -top-1 -right-4 transition-all group-hover:right-0 transform rotate-180")) %>
7
- <%= content -%>
8
- <% else %>
9
- <%= content -%><%= render(AblyUi::Core::Icon.new(name: "icon-gui-link-arrow",
10
- size: "calc(var(--featured-link-icon-size) * 1.25)",
11
- color: @icon_color,
12
- additional_css: "align-middle ml-8 relative -top-1 -left-4 transition-all group-hover:left-0")) %>
13
- <% end %>
14
-
15
- <% end %>
File without changes
@@ -1,21 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class FeaturedLink < ViewComponent::Base
4
- def initialize(
5
- url:,
6
- text_size: 'text-p2',
7
- icon_color: 'text-cool-black',
8
- flush: false,
9
- reverse: false,
10
- additional_css: ''
11
- )
12
- @url = url
13
- @text_size = text_size
14
- @icon_color = icon_color
15
- @flush = flush
16
- @reverse = reverse
17
- @additional_css = additional_css
18
- end
19
- end
20
- end
21
- end
@@ -1 +0,0 @@
1
- import "./component.css";