@ably/ui 13.3.0 → 14.0.0-dev.58ef698

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 (407) hide show
  1. package/README.md +25 -152
  2. package/core/.DS_Store +0 -0
  3. package/core/Accordion/component.js +1 -0
  4. package/core/Code/component.css +1 -72
  5. package/core/Code/component.js +1 -1
  6. package/core/ConnectStateWrapper/component.js +1 -1
  7. package/core/ContactFooter/component.css +7 -10
  8. package/core/ContactFooter/component.js +1 -1
  9. package/core/CookieMessage/component.css +10 -13
  10. package/core/CookieMessage/component.js +1 -1
  11. package/core/CustomerLogos/component.js +1 -1
  12. package/core/DropdownMenu/component.js +1 -1
  13. package/core/FeaturedLink/component.js +1 -1
  14. package/core/Flash/component.css +19 -22
  15. package/core/Flash/component.js +1 -1
  16. package/core/Footer/component.css +22 -25
  17. package/core/Footer/component.js +1 -1
  18. package/core/Icon/component.js +1 -1
  19. package/core/Loader/component.js +1 -1
  20. package/core/Logo/component.js +1 -1
  21. package/core/Meganav/.DS_Store +0 -0
  22. package/core/Meganav/component.css +103 -106
  23. package/core/Meganav/component.js +1 -1
  24. package/core/MeganavBlogPostsList/component.js +1 -2
  25. package/core/MeganavContentCompany/component.js +1 -1
  26. package/core/MeganavContentDevelopers/component.js +1 -1
  27. package/core/MeganavContentProducts/component.js +1 -1
  28. package/core/MeganavContentUseCases/component.js +1 -1
  29. package/core/MeganavControl/component.js +1 -1
  30. package/core/MeganavControlMobileDropdown/component.js +1 -1
  31. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  32. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  33. package/core/MeganavItemsDesktop/component.js +1 -1
  34. package/core/MeganavItemsMobile/component.js +1 -1
  35. package/core/MeganavItemsSignedIn/component.js +1 -1
  36. package/core/MeganavSearch/component.js +1 -1
  37. package/core/MeganavSearchAutocomplete/component.js +1 -1
  38. package/core/MeganavSearchPanel/component.js +1 -1
  39. package/core/MeganavSearchSuggestions/component.js +1 -1
  40. package/core/Notice/component.css +4 -7
  41. package/core/Notice/component.js +1 -1
  42. package/core/SignOutLink/component.js +1 -1
  43. package/core/Slider/component.css +4 -7
  44. package/core/Slider/component.js +1 -1
  45. package/core/Table/Table.js +1 -0
  46. package/core/Table/TableCell.js +1 -0
  47. package/core/Table/TableRow.js +1 -0
  48. package/core/Table/index.js +1 -0
  49. package/core/Table/stories/data.js +1 -0
  50. package/core/Tooltip/component.js +1 -0
  51. package/core/css.js +1 -0
  52. package/core/dom-query.js +1 -0
  53. package/core/hubspot-chat-toggle.js +1 -0
  54. package/core/icons/discord.svg +10 -0
  55. package/core/icons/facebook.svg +4 -0
  56. package/core/icons/github.svg +3 -0
  57. package/core/icons/glassdoor.svg +3 -0
  58. package/core/icons/google.svg +3 -0
  59. package/core/icons/icon-display-48hrs.svg +3 -0
  60. package/core/icons/icon-display-about-ably-col.svg +4 -0
  61. package/core/icons/icon-display-api-keys.svg +3 -0
  62. package/core/icons/icon-display-api.svg +3 -0
  63. package/core/icons/icon-display-asset-tracking-col.svg +18 -0
  64. package/core/icons/icon-display-browser.svg +10 -0
  65. package/core/icons/icon-display-calendar.svg +3 -0
  66. package/core/icons/icon-display-call-mobile.svg +3 -0
  67. package/core/icons/icon-display-careers-col.svg +9 -0
  68. package/core/icons/icon-display-case-studies-col.svg +5 -0
  69. package/core/icons/icon-display-chat-col.svg +4 -0
  70. package/core/icons/icon-display-chat-stack-col.svg +4 -0
  71. package/core/icons/icon-display-chat-stack.svg +4 -0
  72. package/core/icons/icon-display-cloud-servers.svg +3 -0
  73. package/core/icons/icon-display-compare-tech-col.svg +9 -0
  74. package/core/icons/icon-display-customers-col.svg +15 -0
  75. package/core/icons/icon-display-data-broadcast-col.svg +26 -0
  76. package/core/icons/icon-display-data-synchronization-col.svg +14 -0
  77. package/core/icons/icon-display-docs-col.svg +7 -0
  78. package/core/icons/icon-display-documentation.svg +3 -0
  79. package/core/icons/icon-display-events-col.svg +13 -0
  80. package/core/icons/icon-display-examples-col.svg +11 -0
  81. package/core/icons/icon-display-gdpr.svg +3 -0
  82. package/core/icons/icon-display-general-comms.svg +3 -0
  83. package/core/icons/icon-display-hipaa.svg +10 -0
  84. package/core/icons/icon-display-integrations-col.svg +8 -0
  85. package/core/icons/icon-display-it-support-access.svg +3 -0
  86. package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
  87. package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  88. package/core/icons/icon-display-laptop.svg +10 -0
  89. package/core/icons/icon-display-lightbulb-col.svg +10 -0
  90. package/core/icons/icon-display-live-chat.svg +3 -0
  91. package/core/icons/icon-display-map-pin.svg +3 -0
  92. package/core/icons/icon-display-message.svg +3 -0
  93. package/core/icons/icon-display-padlock-closed.svg +3 -0
  94. package/core/icons/icon-display-platform.svg +22 -0
  95. package/core/icons/icon-display-play.svg +3 -0
  96. package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
  97. package/core/icons/icon-display-push-notifications-col.svg +6 -0
  98. package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  99. package/core/icons/icon-display-resources-col.svg +21 -0
  100. package/core/icons/icon-display-sdks-col.svg +11 -0
  101. package/core/icons/icon-display-servers.svg +3 -0
  102. package/core/icons/icon-display-shopping-cart.svg +10 -0
  103. package/core/icons/icon-display-sla.svg +3 -0
  104. package/core/icons/icon-display-soc2-type2.svg +3 -0
  105. package/core/icons/icon-display-tech-account-comms.svg +3 -0
  106. package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  107. package/core/icons/icon-display-virtual-events-col.svg +12 -0
  108. package/core/icons/icon-display-virtual-events.svg +12 -0
  109. package/core/icons/icon-gui-ably-badge.svg +3 -0
  110. package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
  111. package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
  112. package/core/icons/icon-gui-arrow-down.svg +3 -0
  113. package/core/icons/icon-gui-arrow-left.svg +3 -0
  114. package/core/icons/icon-gui-arrow-right.svg +3 -0
  115. package/core/icons/icon-gui-arrow-up.svg +3 -0
  116. package/core/icons/icon-gui-burger-menu.svg +5 -0
  117. package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  118. package/core/icons/icon-gui-check-circled-fill.svg +4 -0
  119. package/core/icons/icon-gui-check-circled.svg +3 -0
  120. package/core/icons/icon-gui-checklist-checked.svg +3 -0
  121. package/core/icons/icon-gui-clock.svg +3 -0
  122. package/core/icons/icon-gui-close.svg +3 -0
  123. package/core/icons/icon-gui-copy.svg +10 -0
  124. package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
  125. package/core/icons/icon-gui-cross-circled.svg +3 -0
  126. package/core/icons/icon-gui-dash-circled.svg +3 -0
  127. package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
  128. package/core/icons/icon-gui-document-generic.svg +3 -0
  129. package/core/icons/icon-gui-enlarge.svg +3 -0
  130. package/core/icons/icon-gui-external-link.svg +3 -0
  131. package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  132. package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  133. package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  134. package/core/icons/icon-gui-history.svg +3 -0
  135. package/core/icons/icon-gui-info.svg +3 -0
  136. package/core/icons/icon-gui-link-arrow.svg +3 -0
  137. package/core/icons/icon-gui-link.svg +4 -0
  138. package/core/icons/icon-gui-live-chat.svg +3 -0
  139. package/core/icons/icon-gui-minus.svg +3 -0
  140. package/core/icons/icon-gui-plus.svg +3 -0
  141. package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
  142. package/core/icons/icon-gui-refresh.svg +10 -0
  143. package/core/icons/icon-gui-resources.svg +3 -0
  144. package/core/icons/icon-gui-search.svg +3 -0
  145. package/core/icons/icon-gui-tick.svg +3 -0
  146. package/core/icons/icon-gui-warning.svg +5 -0
  147. package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
  148. package/core/icons/icon-multi-user-spaces-col.svg +13 -0
  149. package/core/icons/icon-social-x.svg +3 -0
  150. package/core/icons/icon-tech-apachekafka.svg +3 -0
  151. package/core/icons/linkedin.svg +3 -0
  152. package/core/icons/quote.svg +3 -0
  153. package/core/icons/stackoverflow.svg +3 -0
  154. package/core/icons/twitter.svg +3 -0
  155. package/core/icons/youtube.svg +11 -0
  156. package/core/icons.js +1 -0
  157. package/core/load-sprites.js +1 -0
  158. package/core/react-renderer.js +1 -0
  159. package/core/remote-blogs-posts.js +1 -0
  160. package/core/remote-data-store.js +1 -0
  161. package/core/remote-data-util.js +1 -0
  162. package/core/remote-session-data.js +1 -0
  163. package/core/scripts.js +1 -2
  164. package/core/sprites.svg +1 -525
  165. package/core/styles/buttons.css +122 -0
  166. package/core/styles/forms.css +62 -0
  167. package/core/styles/layout.css +19 -0
  168. package/core/styles/properties.css +276 -0
  169. package/core/styles/text.css +166 -0
  170. package/core/styles.base.css +1 -0
  171. package/core/styles.components.css +33 -0
  172. package/core/styles.css +2 -699
  173. package/core/url-base.js +1 -0
  174. package/core/utils/syntax-highlighter-registry.js +1 -0
  175. package/core/utils/syntax-highlighter.css +67 -0
  176. package/core/utils/syntax-highlighter.js +1 -0
  177. package/package.json +39 -34
  178. package/reset/scripts.js +1 -1
  179. package/reset/styles/normalize.css +353 -0
  180. package/reset/styles/reset.css +129 -0
  181. package/reset/styles.css +2 -477
  182. package/src/.DS_Store +0 -0
  183. package/src/core/.DS_Store +0 -0
  184. package/src/core/Accordion/Accordion.stories.tsx +39 -0
  185. package/src/core/Accordion/component.tsx +147 -0
  186. package/src/core/Code/Code.stories.tsx +71 -0
  187. package/src/core/Code/component.tsx +45 -0
  188. package/src/core/ConnectStateWrapper/{component.jsx → component.tsx} +7 -3
  189. package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
  190. package/src/core/ContactFooter/component.css +7 -9
  191. package/src/core/ContactFooter/component.tsx +92 -0
  192. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  193. package/src/core/CookieMessage/component.css +10 -12
  194. package/src/core/CookieMessage/{component.jsx → component.tsx} +15 -10
  195. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  196. package/src/core/CustomerLogos/component.tsx +35 -0
  197. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  198. package/src/core/DropdownMenu/{component.jsx → component.tsx} +64 -36
  199. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  200. package/src/core/FeaturedLink/{component.jsx → component.tsx} +26 -18
  201. package/src/core/Flash/Flash.stories.tsx +37 -0
  202. package/src/core/Flash/component.css +19 -21
  203. package/src/core/Flash/{component.jsx → component.tsx} +78 -39
  204. package/src/core/Footer/Footer.stories.tsx +26 -0
  205. package/src/core/Footer/component.css +22 -24
  206. package/src/core/Footer/{component.jsx → component.tsx} +237 -70
  207. package/src/core/Icon/Icon.stories.tsx +150 -0
  208. package/src/core/Icon/component.tsx +26 -0
  209. package/src/core/Loader/Loader.stories.tsx +21 -0
  210. package/src/core/Loader/{component.jsx → component.tsx} +11 -8
  211. package/src/core/Logo/Logo.stories.tsx +12 -0
  212. package/src/core/Logo/component.tsx +29 -0
  213. package/src/core/Meganav/.DS_Store +0 -0
  214. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  215. package/src/core/Meganav/component.css +103 -105
  216. package/src/core/Meganav/component.js +6 -7
  217. package/src/core/Meganav/component.tsx +228 -0
  218. package/src/core/MeganavBlogPostsList/{component.jsx → component.tsx} +15 -14
  219. package/src/core/MeganavContentCompany/{component.jsx → component.tsx} +82 -33
  220. package/src/core/MeganavContentDevelopers/{component.jsx → component.tsx} +98 -34
  221. package/src/core/MeganavContentProducts/component.tsx +165 -0
  222. package/src/core/MeganavContentUseCases/component.tsx +244 -0
  223. package/src/core/MeganavControl/{component.jsx → component.tsx} +18 -12
  224. package/src/core/MeganavControlMobileDropdown/{component.jsx → component.tsx} +3 -7
  225. package/src/core/MeganavControlMobilePanelClose/{component.jsx → component.tsx} +16 -9
  226. package/src/core/MeganavControlMobilePanelOpen/component.tsx +32 -0
  227. package/src/core/MeganavItemsDesktop/component.tsx +68 -0
  228. package/src/core/MeganavItemsMobile/component.tsx +197 -0
  229. package/src/core/MeganavItemsSignedIn/{component.jsx → component.tsx} +59 -23
  230. package/src/core/MeganavSearch/component.tsx +36 -0
  231. package/src/core/MeganavSearchAutocomplete/component.tsx +12 -0
  232. package/src/core/MeganavSearchPanel/component.tsx +52 -0
  233. package/src/core/MeganavSearchSuggestions/component.tsx +62 -0
  234. package/src/core/Notice/component.css +4 -6
  235. package/src/core/Notice/component.js +1 -1
  236. package/src/core/Notice/component.tsx +104 -0
  237. package/src/core/SignOutLink/component.tsx +51 -0
  238. package/src/core/Slider/Slider.stories.tsx +45 -0
  239. package/src/core/Slider/component.css +4 -6
  240. package/src/core/Slider/component.tsx +112 -0
  241. package/src/core/Table/Table.tsx +30 -0
  242. package/src/core/Table/TableCell.tsx +84 -0
  243. package/src/core/Table/TableRow.tsx +25 -0
  244. package/src/core/Table/index.ts +24 -0
  245. package/src/core/Table/stories/Table.stories.tsx +12 -0
  246. package/src/core/Table/stories/data.tsx +113 -0
  247. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  248. package/src/core/Tooltip/component.tsx +60 -0
  249. package/src/core/icons.js +6 -0
  250. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  251. package/src/core/styles/buttons.css +121 -123
  252. package/src/core/styles/forms.css +49 -51
  253. package/src/core/styles/layout.css +14 -16
  254. package/src/core/styles/properties.css +250 -259
  255. package/src/core/styles/text.css +165 -167
  256. package/src/core/styles.components.css +22 -24
  257. package/src/core/utils/syntax-highlighter.css +55 -59
  258. package/src/pages/Buttons.mdx +121 -0
  259. package/src/pages/Chips.mdx +136 -0
  260. package/src/pages/Colour.mdx +23 -0
  261. package/src/pages/Forms.mdx +173 -0
  262. package/src/pages/Layout.mdx +58 -0
  263. package/src/pages/Typography.mdx +206 -0
  264. package/src/pages/utils.ts +70 -0
  265. package/tailwind.config.js +1 -7
  266. package/tailwind.extend.js +1 -1
  267. package/core/.gitignore +0 -1
  268. package/core/Code.jsx +0 -684
  269. package/core/CompanyAutocomplete/component.css +0 -46
  270. package/core/CompanyAutocomplete/component.js +0 -2
  271. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  272. package/core/ConnectStateWrapper.jsx +0 -222
  273. package/core/ContactFooter.jsx +0 -342
  274. package/core/CookieMessage.jsx +0 -204
  275. package/core/CustomerLogos.jsx +0 -144
  276. package/core/DropdownMenu.jsx +0 -313
  277. package/core/FeatureFooter/component.css +0 -13
  278. package/core/FeatureFooter/component.js +0 -1
  279. package/core/FeaturedLink.jsx +0 -241
  280. package/core/Flash.jsx +0 -622
  281. package/core/Footer.jsx +0 -587
  282. package/core/Icon.jsx +0 -152
  283. package/core/Loader.jsx +0 -154
  284. package/core/Logo.jsx +0 -147
  285. package/core/Meganav.jsx +0 -4151
  286. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  287. package/core/MeganavBlogPostsList.jsx +0 -296
  288. package/core/MeganavContentCompany.jsx +0 -1058
  289. package/core/MeganavContentDevelopers.jsx +0 -334
  290. package/core/MeganavContentProducts.jsx +0 -373
  291. package/core/MeganavContentUseCases.jsx +0 -341
  292. package/core/MeganavControl.jsx +0 -199
  293. package/core/MeganavControlMobileDropdown.jsx +0 -197
  294. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  295. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  296. package/core/MeganavItemsDesktop.jsx +0 -279
  297. package/core/MeganavItemsMobile.jsx +0 -689
  298. package/core/MeganavItemsSignedIn.jsx +0 -643
  299. package/core/MeganavSearch.jsx +0 -434
  300. package/core/MeganavSearchAutocomplete.jsx +0 -117
  301. package/core/MeganavSearchPanel.jsx +0 -386
  302. package/core/MeganavSearchSuggestions.jsx +0 -299
  303. package/core/Notice.jsx +0 -914
  304. package/core/Showcase/component.css +0 -31
  305. package/core/Showcase/component.js +0 -1
  306. package/core/Showcase.jsx +0 -17
  307. package/core/SignOutLink.jsx +0 -157
  308. package/core/Slider.jsx +0 -400
  309. package/core/Uptime/component.css +0 -128
  310. package/core/Uptime/component.js +0 -1
  311. package/core/Uptime.jsx +0 -895
  312. package/core/scripts.js.LICENSE.txt +0 -1
  313. package/preview/tmp/.keep +0 -0
  314. package/preview/tmp/pids/.keep +0 -0
  315. package/reset/.gitignore +0 -1
  316. package/src/core/Code/component.html.erb +0 -3
  317. package/src/core/Code/component.jsx +0 -31
  318. package/src/core/Code/component.rb +0 -12
  319. package/src/core/CompanyAutocomplete/component.css +0 -45
  320. package/src/core/CompanyAutocomplete/component.js +0 -204
  321. package/src/core/ContactFooter/component.html.erb +0 -32
  322. package/src/core/ContactFooter/component.jsx +0 -66
  323. package/src/core/ContactFooter/component.rb +0 -13
  324. package/src/core/CustomerLogos/component.html.erb +0 -9
  325. package/src/core/CustomerLogos/component.jsx +0 -28
  326. package/src/core/CustomerLogos/component.rb +0 -14
  327. package/src/core/FeatureFooter/component.css +0 -12
  328. package/src/core/FeatureFooter/component.html.erb +0 -54
  329. package/src/core/FeatureFooter/component.js +0 -7
  330. package/src/core/FeatureFooter/component.rb +0 -30
  331. package/src/core/FeaturedLink/component.html.erb +0 -15
  332. package/src/core/FeaturedLink/component.rb +0 -21
  333. package/src/core/Footer/component.html.erb +0 -256
  334. package/src/core/Footer/component.rb +0 -14
  335. package/src/core/Icon/component.html.erb +0 -3
  336. package/src/core/Icon/component.jsx +0 -19
  337. package/src/core/Icon/component.rb +0 -25
  338. package/src/core/Loader/component.html.erb +0 -18
  339. package/src/core/Loader/component.rb +0 -19
  340. package/src/core/Logo/component.html.erb +0 -3
  341. package/src/core/Logo/component.jsx +0 -20
  342. package/src/core/Logo/component.rb +0 -31
  343. package/src/core/Meganav/component.html.erb +0 -31
  344. package/src/core/Meganav/component.jsx +0 -123
  345. package/src/core/Meganav/component.rb +0 -60
  346. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  347. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  348. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  349. package/src/core/MeganavContentCompany/component.rb +0 -14
  350. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  351. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  352. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  353. package/src/core/MeganavContentProducts/component.jsx +0 -105
  354. package/src/core/MeganavContentProducts/component.rb +0 -14
  355. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  356. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  357. package/src/core/MeganavContentUseCases/component.rb +0 -13
  358. package/src/core/MeganavControl/component.html.erb +0 -6
  359. package/src/core/MeganavControl/component.rb +0 -20
  360. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  361. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  362. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  363. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  364. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  365. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  366. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  367. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  368. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  369. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  370. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  371. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  372. package/src/core/MeganavItemsMobile/component.rb +0 -21
  373. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  374. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  375. package/src/core/MeganavSearch/component.html.erb +0 -15
  376. package/src/core/MeganavSearch/component.jsx +0 -33
  377. package/src/core/MeganavSearch/component.rb +0 -13
  378. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  379. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  380. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  381. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  382. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  383. package/src/core/MeganavSearchPanel/component.rb +0 -13
  384. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  385. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  386. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  387. package/src/core/Notice/component.html.erb +0 -16
  388. package/src/core/Notice/component.jsx +0 -71
  389. package/src/core/Notice/component.rb +0 -29
  390. package/src/core/Showcase/component.css +0 -30
  391. package/src/core/Showcase/component.html.erb +0 -76
  392. package/src/core/Showcase/component.js +0 -180
  393. package/src/core/Showcase/component.jsx +0 -0
  394. package/src/core/Showcase/component.rb +0 -190
  395. package/src/core/SignOutLink/component.html.erb +0 -1
  396. package/src/core/SignOutLink/component.jsx +0 -32
  397. package/src/core/SignOutLink/component.rb +0 -17
  398. package/src/core/Slider/component.html.erb +0 -28
  399. package/src/core/Slider/component.jsx +0 -86
  400. package/src/core/Slider/component.rb +0 -38
  401. package/src/core/Uptime/component.css +0 -127
  402. package/src/core/Uptime/component.html.erb +0 -0
  403. package/src/core/Uptime/component.js +0 -1
  404. package/src/core/Uptime/component.jsx +0 -183
  405. package/src/core/Uptime/component.rb +0 -7
  406. package/src/core/core.rb +0 -81
  407. /package/{preview/log/.keep → src/core/Accordion/component.js} +0 -0
@@ -1,127 +0,0 @@
1
- @layer components {
2
- .ui-uptime-widget {
3
- --status-up: var(--uptime-color-up);
4
- --status-trouble: var(--uptime-color-trouble);
5
- --status-down: var(--uptime-color-down);
6
- --ui-uptime-key-size: 1.625rem;
7
- --tooltip-offset: 3.5rem;
8
-
9
- @apply font-sans antialiased;
10
- }
11
-
12
- .ui-uptime-list {
13
- @apply flex flex-wrap flex-row list-none p-0 m-0 items-center;
14
- }
15
-
16
- .ui-uptime-day {
17
- @apply h-40 relative flex-auto p-0 my-0 mx-1 bg-cool-black;
18
- }
19
-
20
- .ui-uptime-day span {
21
- @apply absolute text-p3 border rounded-lg border-light-grey;
22
- @apply py-12 px-16 shadow-tooltip text-cool-black;
23
- @apply bg-white text-left z-10 hidden;
24
- @apply overflow-y-hidden not-italic leading-tight;
25
- @apply whitespace-nowrap;
26
-
27
- transform: translateX(-50%);
28
- max-height: 12rem;
29
- bottom: 130%;
30
- }
31
-
32
- .ui-uptime-day:hover {
33
- @apply z-10 brightness-125;
34
- }
35
-
36
- .ui-uptime-day:hover span {
37
- display: block;
38
- }
39
-
40
- .ui-uptime-day.ui-uptime-align-left span {
41
- left: 0;
42
- }
43
-
44
- .ui-uptime-day.ui-uptime-align-right span {
45
- right: 0;
46
- }
47
-
48
- .ui-uptime-day .ui-uptime-width-wide {
49
- @apply whitespace-normal;
50
- width: 8rem;
51
- }
52
-
53
- .ui-uptime-day .ui-uptime-width-extra-wide {
54
- @apply whitespace-normal;
55
- width: 12rem;
56
- }
57
-
58
- .ui-uptime-seperator {
59
- @apply my-12 h-1 w-full relative;
60
- @apply sm:w-32 sm:h-80 sm:m-0 sm:bg-none;
61
- }
62
-
63
- .ui-uptime-seperator:before {
64
- content: "";
65
- left: 48%;
66
- @apply sm:absolute sm:h-full sm:w-1 sm:bg-dark-grey sm:z-0;
67
- }
68
-
69
- .ui-uptime-up {
70
- background: var(--status-up);
71
- }
72
-
73
- .ui-uptime-trouble {
74
- background: var(--status-trouble);
75
- }
76
-
77
- .ui-uptime-down {
78
- background: var(--status-down);
79
- }
80
-
81
- .ui-uptime-legend {
82
- @apply flex flex-col sm:flex-row sm:items-center;
83
- }
84
-
85
- .ui-uptime-key {
86
- @apply block mt-16 mr-20 bg-transparent;
87
- @apply sm:inline-block sm:mt-0;
88
- @apply font-medium text-p2 text-white block sm:inline-flex items-center;
89
- }
90
-
91
- .ui-uptime-key:first-child {
92
- @apply mt-0;
93
- }
94
-
95
- .ui-uptime-key::before {
96
- content: " ";
97
- width: var(--ui-uptime-key-size);
98
- height: var(--ui-uptime-key-size);
99
- @apply inline-block mr-16 bg-cool-black align-text-bottom rounded-full;
100
- }
101
-
102
- .ui-uptime-key.ui-uptime-up:before {
103
- background: var(--status-up);
104
- }
105
-
106
- .ui-uptime-key.ui-uptime-trouble:before {
107
- background: var(--status-trouble);
108
- }
109
-
110
- .ui-uptime-key.ui-uptime-down:before {
111
- background: var(--status-down);
112
- }
113
-
114
- .ui-uptime-footer {
115
- @apply mt-40 flex justify-between items-start flex-col;
116
- @apply sm:flex-row sm:items-center;
117
- }
118
-
119
- .ui-uptime-link-back {
120
- @apply mt-40 whitespace-nowrap;
121
- @apply sm:mt-0;
122
- }
123
-
124
- .ui-uptime-link-back a {
125
- @apply text-p1 text-gui-default font-medium no-underline;
126
- }
127
- }
File without changes
@@ -1 +0,0 @@
1
- import "./component.css";
@@ -1,183 +0,0 @@
1
- import React, { useState, useEffect } from "react";
2
- import T from "prop-types";
3
-
4
- import FeaturedLink from "../FeaturedLink/component.jsx";
5
-
6
- export const themes = {
7
- light: {
8
- text: "text-cool-black",
9
- iconColor: "text-cool-black",
10
- },
11
- dark: {
12
- text: "text-white",
13
- iconColor: "text-white",
14
- },
15
- };
16
-
17
- export const ThemeContext = React.createContext();
18
-
19
- function StatusLegend({ metadata, textColor }) {
20
- const items = Object.entries(metadata[0]).map((e) => {
21
- const [id, text] = e;
22
- const classname = `ui-uptime-key ui-uptime-${id} ${textColor}`;
23
- return (
24
- <span key={id} className={classname}>
25
- {text}
26
- </span>
27
- );
28
- });
29
- return <div className="ui-uptime-legend">{items}</div>;
30
- }
31
-
32
- function applyAlignment(value, i, count = 8) {
33
- const before = i < value + count;
34
- const after = i > value - count;
35
-
36
- if (i > 0 && !(before && after)) return null;
37
-
38
- const align = i === 0 || i > value ? "left" : "right";
39
- const diff = value - i;
40
- const amount = Math.abs(diff) || 0;
41
- const sign = i > value ? -1 : 1;
42
-
43
- return { align, amount, sign };
44
- }
45
-
46
- function UptimeGraph({ collection }) {
47
- // add 30 day split deliminators
48
- collection.splice(29, 0, null);
49
- collection.splice(60, 0, null);
50
-
51
- const MAX_TOOLTIP_CHAR_LENGTH = 80;
52
-
53
- const items = collection.map((row, i) => {
54
- if (!row) return <li key={i} className="ui-uptime-seperator"></li>;
55
-
56
- const [alignment = {}] = [0, 29, 60, 91].map((value) => applyAlignment(value, i)).filter((s) => s);
57
- const { align = null, amount = null, sign = null } = alignment;
58
- const labelAlign = alignment && `ui-uptime-align-${align}`;
59
- const classname = `ui-uptime-day ui-uptime-${row.class} ${labelAlign}`.trim();
60
-
61
- const { label } = row;
62
- const { length } = label.trim();
63
-
64
- const tooltext = length < MAX_TOOLTIP_CHAR_LENGTH ? label : label.slice(0, MAX_TOOLTIP_CHAR_LENGTH - 1) + "…";
65
- const width = (length > MAX_TOOLTIP_CHAR_LENGTH - 10 && "extra-wide") || (length > MAX_TOOLTIP_CHAR_LENGTH / 2 && "wide") || "normal";
66
- const translateX = Math.min((Math.max(amount - 1, 0) * 10) >> 0, 50) * sign;
67
- const transform = align ? { transform: `translateX(${translateX}%)` } : {};
68
-
69
- return (
70
- <li key={i} className={classname}>
71
- <span className={`ui-uptime-width-${width}`} style={transform}>
72
- {tooltext}
73
- </span>
74
- </li>
75
- );
76
- });
77
-
78
- return (
79
- <div className="ui-uptime-graph">
80
- <ul className="ui-uptime-list">{items}</ul>
81
- </div>
82
- );
83
- }
84
-
85
- function StatusCtaLink({ href, text }) {
86
- return (
87
- <div className="ui-uptime-link-back">
88
- <ThemeContext.Consumer>
89
- {({ iconColor }) => (
90
- <FeaturedLink url={href} iconColor={iconColor}>
91
- {text}
92
- </FeaturedLink>
93
- )}
94
- </ThemeContext.Consumer>
95
- </div>
96
- );
97
- }
98
-
99
- function StatusFooter({ metadata, href, text }) {
100
- return (
101
- <div className="ui-uptime-footer">
102
- <ThemeContext.Consumer>{({ text }) => <StatusLegend {...{ metadata }} textColor={text} />}</ThemeContext.Consumer>
103
- <StatusCtaLink {...{ href, text }} />
104
- </div>
105
- );
106
- }
107
-
108
- function handleError(err) {
109
- // output a message and normalise schema
110
- console.warn("Uptime Error", err);
111
- const { message } = err || {};
112
- return { error: true, message };
113
- }
114
-
115
- export default function Uptime({ serverUrl, linkTo = null, theme = "light" }) {
116
- if (!serverUrl) throw new Error("Server endpoint URL required");
117
-
118
- const [data, setData] = useState(null);
119
- const { collection, metadata } = data || {};
120
- const showFooterRow = linkTo?.href && linkTo?.text;
121
-
122
- useEffect(() => {
123
- const fetchEndpointJson = async () => {
124
- let payload = null;
125
- try {
126
- payload = await fetch(serverUrl);
127
- payload = await payload.json();
128
- const { chart_data: collection, chart_legend: metadata } = payload;
129
- payload = { collection, metadata };
130
- } catch (err) {
131
- payload = handleError(err);
132
- }
133
-
134
- setData(payload);
135
- };
136
-
137
- fetchEndpointJson();
138
- }, []);
139
-
140
- if (data && data.error) {
141
- return (
142
- <div className={`flex sm:flex-row justify-center items-center p-24 border rounded ui-text-p2 ${themes[theme].text}`} data-id="uptime-error">
143
- Sorry, we can’t retrieve uptime data right now.
144
- </div>
145
- );
146
- }
147
-
148
- return (
149
- data && (
150
- <ThemeContext.Provider value={themes[theme]}>
151
- <div className="ui-uptime-widget" data-id="uptime">
152
- <UptimeGraph {...{ collection }} />
153
- {showFooterRow && <StatusFooter {...{ metadata, ...linkTo }} />}
154
- </div>
155
- </ThemeContext.Provider>
156
- )
157
- );
158
- }
159
- UptimeGraph.propTypes = {
160
- collection: T.array,
161
- };
162
-
163
- StatusLegend.propTypes = {
164
- metadata: T.array,
165
- textColor: T.string,
166
- };
167
-
168
- StatusFooter.propTypes = {
169
- metadata: T.array,
170
- href: T.string,
171
- text: T.string,
172
- };
173
-
174
- StatusCtaLink.propTypes = {
175
- href: T.string,
176
- text: T.string,
177
- };
178
-
179
- Uptime.propTypes = {
180
- serverUrl: T.string,
181
- linkTo: T.object,
182
- theme: T.oneOf(["light", "dark"]),
183
- };
@@ -1,7 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class Uptime < ViewComponent::Base
4
- include AblyUi::Core::Util
5
- end
6
- end
7
- end
package/src/core/core.rb DELETED
@@ -1,81 +0,0 @@
1
- require 'json'
2
-
3
- MEGANAV_DATA =
4
- JSON.parse(
5
- File.read(File.join(File.dirname(__FILE__), 'meganav', 'component.json'))
6
- )
7
-
8
- module AblyUi
9
- module Core
10
- module MeganavConfig
11
- def theme_setup(theme_name)
12
- @theme_name = theme_name
13
- end
14
-
15
- def themes
16
- MEGANAV_DATA['themes'].deep_transform_keys do |key|
17
- key.underscore.to_sym
18
- end
19
- end
20
-
21
- def panels
22
- MEGANAV_DATA['panels'].map do |panel|
23
- panel.deep_transform_keys { |key| key.underscore.to_sym }
24
- end
25
- end
26
-
27
- def theme(style)
28
- themes[@theme_name][style]
29
- end
30
- end
31
-
32
- module SharedAssets
33
- def ably_logo
34
- asset_path 'ably_ui/core/images/ably-logo.png'
35
- end
36
-
37
- def ably_stack_path
38
- asset_path 'ably_ui/core/images/ably-stack.svg'
39
- end
40
-
41
- def aws_logo_path
42
- asset_path 'ably_ui/core/images/icon-tech-aws.svg'
43
- end
44
-
45
- def highest_performer
46
- asset_path 'ably_ui/core/images/high-performer-2023.svg'
47
- end
48
-
49
- def highest_user_adoption
50
- asset_path 'ably_ui/core/images/highest-user-adoption-2023.svg'
51
- end
52
-
53
- def best_support
54
- asset_path 'ably_ui/core/images/best-support-2023.svg'
55
- end
56
-
57
- def fastest_implementation
58
- asset_path 'ably_ui/core/images/fastest-implementation-2023.svg'
59
- end
60
- end
61
-
62
- module Util
63
- # For components which use relative links we need an option to set a base URL because they might be used
64
- # on a different domain (like pages.ably.com). The below sets a default method to be used in templates but
65
- # requires the definition of url_base.
66
- DEFAULT_URL_BASE = ''
67
-
68
- def abs_url(path)
69
- "#{url_base}#{path}"
70
- end
71
-
72
- # This is useful where we need to use an HTML id (like in aria-controls attribute) but we know the component
73
- # might be used multiple times per page so we can't just hard code one in HTML.
74
- # eg. my-component -> my-component-uur0cj2h
75
- # credits https://gist.github.com/mbajur/2aba832a6df3fc31fe7a82d3109cb626
76
- def append_random_postfix(id)
77
- "#{id}-#{rand(36**8).to_s(36)}"
78
- end
79
- end
80
- end
81
- end