@ably/ui 13.3.0 → 14.0.0-dev.fbce38f

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 (402) hide show
  1. package/README.md +25 -152
  2. package/core/Accordion/component.js +1 -0
  3. package/core/Code/component.css +1 -72
  4. package/core/Code/component.js +1 -1
  5. package/core/ConnectStateWrapper/component.js +1 -1
  6. package/core/ContactFooter/component.css +7 -10
  7. package/core/ContactFooter/component.js +1 -1
  8. package/core/CookieMessage/component.css +10 -13
  9. package/core/CookieMessage/component.js +1 -1
  10. package/core/CustomerLogos/component.js +1 -1
  11. package/core/DropdownMenu/component.js +1 -1
  12. package/core/FeaturedLink/component.js +1 -1
  13. package/core/Flash/component.css +19 -22
  14. package/core/Flash/component.js +1 -1
  15. package/core/Footer/component.css +22 -25
  16. package/core/Footer/component.js +1 -1
  17. package/core/Icon/component.js +1 -1
  18. package/core/Loader/component.js +1 -1
  19. package/core/Logo/component.js +1 -1
  20. package/core/Meganav/component.css +103 -106
  21. package/core/Meganav/component.js +1 -1
  22. package/core/MeganavBlogPostsList/component.js +1 -2
  23. package/core/MeganavContentCompany/component.js +1 -1
  24. package/core/MeganavContentDevelopers/component.js +1 -1
  25. package/core/MeganavContentProducts/component.js +1 -1
  26. package/core/MeganavContentUseCases/component.js +1 -1
  27. package/core/MeganavControl/component.js +1 -1
  28. package/core/MeganavControlMobileDropdown/component.js +1 -1
  29. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  30. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  31. package/core/MeganavItemsDesktop/component.js +1 -1
  32. package/core/MeganavItemsMobile/component.js +1 -1
  33. package/core/MeganavItemsSignedIn/component.js +1 -1
  34. package/core/MeganavSearch/component.js +1 -1
  35. package/core/MeganavSearchAutocomplete/component.js +1 -1
  36. package/core/MeganavSearchPanel/component.js +1 -1
  37. package/core/MeganavSearchSuggestions/component.js +1 -1
  38. package/core/Notice/component.css +4 -7
  39. package/core/Notice/component.js +1 -1
  40. package/core/SignOutLink/component.js +1 -1
  41. package/core/Slider/component.css +4 -7
  42. package/core/Slider/component.js +1 -1
  43. package/core/Table/Table.js +1 -0
  44. package/core/Table/TableCell.js +1 -0
  45. package/core/Table/TableRow.js +1 -0
  46. package/core/Table/index.js +1 -0
  47. package/core/Table/stories/data.js +1 -0
  48. package/core/Tooltip/component.js +1 -0
  49. package/core/css.js +1 -0
  50. package/core/dom-query.js +1 -0
  51. package/core/hubspot-chat-toggle.js +1 -0
  52. package/core/icons/discord.svg +10 -0
  53. package/core/icons/facebook.svg +4 -0
  54. package/core/icons/github.svg +3 -0
  55. package/core/icons/glassdoor.svg +3 -0
  56. package/core/icons/google.svg +3 -0
  57. package/core/icons/icon-display-48hrs.svg +3 -0
  58. package/core/icons/icon-display-about-ably-col.svg +4 -0
  59. package/core/icons/icon-display-api-keys.svg +3 -0
  60. package/core/icons/icon-display-api.svg +3 -0
  61. package/core/icons/icon-display-asset-tracking-col.svg +18 -0
  62. package/core/icons/icon-display-browser.svg +10 -0
  63. package/core/icons/icon-display-calendar.svg +3 -0
  64. package/core/icons/icon-display-call-mobile.svg +3 -0
  65. package/core/icons/icon-display-careers-col.svg +9 -0
  66. package/core/icons/icon-display-case-studies-col.svg +5 -0
  67. package/core/icons/icon-display-chat-col.svg +4 -0
  68. package/core/icons/icon-display-chat-stack-col.svg +4 -0
  69. package/core/icons/icon-display-chat-stack.svg +4 -0
  70. package/core/icons/icon-display-cloud-servers.svg +3 -0
  71. package/core/icons/icon-display-compare-tech-col.svg +9 -0
  72. package/core/icons/icon-display-customers-col.svg +15 -0
  73. package/core/icons/icon-display-data-broadcast-col.svg +26 -0
  74. package/core/icons/icon-display-data-synchronization-col.svg +14 -0
  75. package/core/icons/icon-display-docs-col.svg +7 -0
  76. package/core/icons/icon-display-documentation.svg +3 -0
  77. package/core/icons/icon-display-events-col.svg +13 -0
  78. package/core/icons/icon-display-examples-col.svg +11 -0
  79. package/core/icons/icon-display-gdpr.svg +3 -0
  80. package/core/icons/icon-display-general-comms.svg +3 -0
  81. package/core/icons/icon-display-hipaa.svg +10 -0
  82. package/core/icons/icon-display-integrations-col.svg +8 -0
  83. package/core/icons/icon-display-it-support-access.svg +3 -0
  84. package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
  85. package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  86. package/core/icons/icon-display-laptop.svg +10 -0
  87. package/core/icons/icon-display-lightbulb-col.svg +10 -0
  88. package/core/icons/icon-display-live-chat.svg +3 -0
  89. package/core/icons/icon-display-map-pin.svg +3 -0
  90. package/core/icons/icon-display-message.svg +3 -0
  91. package/core/icons/icon-display-padlock-closed.svg +3 -0
  92. package/core/icons/icon-display-platform.svg +22 -0
  93. package/core/icons/icon-display-play.svg +3 -0
  94. package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
  95. package/core/icons/icon-display-push-notifications-col.svg +6 -0
  96. package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  97. package/core/icons/icon-display-resources-col.svg +21 -0
  98. package/core/icons/icon-display-sdks-col.svg +11 -0
  99. package/core/icons/icon-display-servers.svg +3 -0
  100. package/core/icons/icon-display-shopping-cart.svg +10 -0
  101. package/core/icons/icon-display-sla.svg +3 -0
  102. package/core/icons/icon-display-soc2-type2.svg +3 -0
  103. package/core/icons/icon-display-tech-account-comms.svg +3 -0
  104. package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  105. package/core/icons/icon-display-virtual-events-col.svg +12 -0
  106. package/core/icons/icon-display-virtual-events.svg +12 -0
  107. package/core/icons/icon-gui-ably-badge.svg +3 -0
  108. package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
  109. package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
  110. package/core/icons/icon-gui-arrow-down.svg +3 -0
  111. package/core/icons/icon-gui-arrow-left.svg +3 -0
  112. package/core/icons/icon-gui-arrow-right.svg +3 -0
  113. package/core/icons/icon-gui-arrow-up.svg +3 -0
  114. package/core/icons/icon-gui-burger-menu.svg +5 -0
  115. package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  116. package/core/icons/icon-gui-check-circled-fill.svg +4 -0
  117. package/core/icons/icon-gui-check-circled.svg +3 -0
  118. package/core/icons/icon-gui-checklist-checked.svg +3 -0
  119. package/core/icons/icon-gui-clock.svg +3 -0
  120. package/core/icons/icon-gui-close.svg +3 -0
  121. package/core/icons/icon-gui-copy.svg +10 -0
  122. package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
  123. package/core/icons/icon-gui-cross-circled.svg +3 -0
  124. package/core/icons/icon-gui-dash-circled.svg +3 -0
  125. package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
  126. package/core/icons/icon-gui-document-generic.svg +3 -0
  127. package/core/icons/icon-gui-enlarge.svg +3 -0
  128. package/core/icons/icon-gui-external-link.svg +3 -0
  129. package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  130. package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  131. package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  132. package/core/icons/icon-gui-history.svg +3 -0
  133. package/core/icons/icon-gui-info.svg +3 -0
  134. package/core/icons/icon-gui-link-arrow.svg +3 -0
  135. package/core/icons/icon-gui-link.svg +4 -0
  136. package/core/icons/icon-gui-live-chat.svg +3 -0
  137. package/core/icons/icon-gui-minus.svg +3 -0
  138. package/core/icons/icon-gui-plus.svg +3 -0
  139. package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
  140. package/core/icons/icon-gui-refresh.svg +10 -0
  141. package/core/icons/icon-gui-resources.svg +3 -0
  142. package/core/icons/icon-gui-search.svg +3 -0
  143. package/core/icons/icon-gui-tick.svg +3 -0
  144. package/core/icons/icon-gui-warning.svg +5 -0
  145. package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
  146. package/core/icons/icon-multi-user-spaces-col.svg +13 -0
  147. package/core/icons/icon-social-x.svg +3 -0
  148. package/core/icons/icon-tech-apachekafka.svg +3 -0
  149. package/core/icons/linkedin.svg +3 -0
  150. package/core/icons/quote.svg +3 -0
  151. package/core/icons/stackoverflow.svg +3 -0
  152. package/core/icons/twitter.svg +3 -0
  153. package/core/icons/youtube.svg +11 -0
  154. package/core/icons.js +1 -0
  155. package/core/load-sprites.js +1 -0
  156. package/core/react-renderer.js +1 -0
  157. package/core/remote-blogs-posts.js +1 -0
  158. package/core/remote-data-store.js +1 -0
  159. package/core/remote-data-util.js +1 -0
  160. package/core/remote-session-data.js +1 -0
  161. package/core/scripts.js +1 -2
  162. package/core/sprites.svg +1 -525
  163. package/core/styles/buttons.css +122 -0
  164. package/core/styles/forms.css +62 -0
  165. package/core/styles/layout.css +19 -0
  166. package/core/styles/properties.css +276 -0
  167. package/core/styles/text.css +166 -0
  168. package/core/styles.base.css +1 -0
  169. package/core/styles.components.css +33 -0
  170. package/core/styles.css +2 -699
  171. package/core/url-base.js +1 -0
  172. package/core/utils/syntax-highlighter-registry.js +1 -0
  173. package/core/utils/syntax-highlighter.css +67 -0
  174. package/core/utils/syntax-highlighter.js +1 -0
  175. package/package.json +39 -34
  176. package/reset/scripts.js +1 -1
  177. package/reset/styles/normalize.css +353 -0
  178. package/reset/styles/reset.css +129 -0
  179. package/reset/styles.css +2 -477
  180. package/src/core/Accordion/Accordion.stories.tsx +39 -0
  181. package/src/core/Accordion/component.tsx +147 -0
  182. package/src/core/Code/Code.stories.tsx +71 -0
  183. package/src/core/Code/component.tsx +45 -0
  184. package/src/core/ConnectStateWrapper/{component.jsx → component.tsx} +7 -3
  185. package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
  186. package/src/core/ContactFooter/component.css +7 -9
  187. package/src/core/ContactFooter/component.tsx +92 -0
  188. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  189. package/src/core/CookieMessage/component.css +10 -12
  190. package/src/core/CookieMessage/{component.jsx → component.tsx} +15 -10
  191. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  192. package/src/core/CustomerLogos/component.tsx +35 -0
  193. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  194. package/src/core/DropdownMenu/{component.jsx → component.tsx} +64 -36
  195. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  196. package/src/core/FeaturedLink/{component.jsx → component.tsx} +26 -18
  197. package/src/core/Flash/Flash.stories.tsx +37 -0
  198. package/src/core/Flash/component.css +19 -21
  199. package/src/core/Flash/{component.jsx → component.tsx} +78 -39
  200. package/src/core/Footer/Footer.stories.tsx +26 -0
  201. package/src/core/Footer/component.css +22 -24
  202. package/src/core/Footer/{component.jsx → component.tsx} +237 -70
  203. package/src/core/Icon/Icon.stories.tsx +150 -0
  204. package/src/core/Icon/component.tsx +26 -0
  205. package/src/core/Loader/Loader.stories.tsx +21 -0
  206. package/src/core/Loader/{component.jsx → component.tsx} +11 -8
  207. package/src/core/Logo/Logo.stories.tsx +12 -0
  208. package/src/core/Logo/component.tsx +29 -0
  209. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  210. package/src/core/Meganav/component.css +103 -105
  211. package/src/core/Meganav/component.js +6 -7
  212. package/src/core/Meganav/component.tsx +228 -0
  213. package/src/core/MeganavBlogPostsList/{component.jsx → component.tsx} +15 -14
  214. package/src/core/MeganavContentCompany/{component.jsx → component.tsx} +82 -33
  215. package/src/core/MeganavContentDevelopers/{component.jsx → component.tsx} +98 -34
  216. package/src/core/MeganavContentProducts/component.tsx +165 -0
  217. package/src/core/MeganavContentUseCases/component.tsx +244 -0
  218. package/src/core/MeganavControl/{component.jsx → component.tsx} +18 -12
  219. package/src/core/MeganavControlMobileDropdown/{component.jsx → component.tsx} +3 -7
  220. package/src/core/MeganavControlMobilePanelClose/{component.jsx → component.tsx} +16 -9
  221. package/src/core/MeganavControlMobilePanelOpen/component.tsx +32 -0
  222. package/src/core/MeganavItemsDesktop/component.tsx +68 -0
  223. package/src/core/MeganavItemsMobile/component.tsx +197 -0
  224. package/src/core/MeganavItemsSignedIn/{component.jsx → component.tsx} +59 -23
  225. package/src/core/MeganavSearch/component.tsx +36 -0
  226. package/src/core/MeganavSearchAutocomplete/component.tsx +12 -0
  227. package/src/core/MeganavSearchPanel/component.tsx +52 -0
  228. package/src/core/MeganavSearchSuggestions/component.tsx +62 -0
  229. package/src/core/Notice/component.css +4 -6
  230. package/src/core/Notice/component.js +1 -1
  231. package/src/core/Notice/component.tsx +104 -0
  232. package/src/core/SignOutLink/component.tsx +51 -0
  233. package/src/core/Slider/Slider.stories.tsx +45 -0
  234. package/src/core/Slider/component.css +4 -6
  235. package/src/core/Slider/component.tsx +112 -0
  236. package/src/core/Table/Table.tsx +30 -0
  237. package/src/core/Table/TableCell.tsx +84 -0
  238. package/src/core/Table/TableRow.tsx +25 -0
  239. package/src/core/Table/index.ts +24 -0
  240. package/src/core/Table/stories/Table.stories.tsx +12 -0
  241. package/src/core/Table/stories/data.tsx +113 -0
  242. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  243. package/src/core/Tooltip/component.tsx +60 -0
  244. package/src/core/icons.js +6 -0
  245. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  246. package/src/core/styles/buttons.css +121 -123
  247. package/src/core/styles/forms.css +49 -51
  248. package/src/core/styles/layout.css +14 -16
  249. package/src/core/styles/properties.css +250 -259
  250. package/src/core/styles/text.css +165 -167
  251. package/src/core/styles.components.css +22 -24
  252. package/src/core/utils/syntax-highlighter.css +55 -59
  253. package/src/pages/Buttons.mdx +121 -0
  254. package/src/pages/Chips.mdx +136 -0
  255. package/src/pages/Colour.mdx +23 -0
  256. package/src/pages/Forms.mdx +173 -0
  257. package/src/pages/Layout.mdx +58 -0
  258. package/src/pages/Typography.mdx +206 -0
  259. package/src/pages/utils.ts +70 -0
  260. package/tailwind.config.js +1 -7
  261. package/tailwind.extend.js +1 -1
  262. package/core/.gitignore +0 -1
  263. package/core/Code.jsx +0 -684
  264. package/core/CompanyAutocomplete/component.css +0 -46
  265. package/core/CompanyAutocomplete/component.js +0 -2
  266. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  267. package/core/ConnectStateWrapper.jsx +0 -222
  268. package/core/ContactFooter.jsx +0 -342
  269. package/core/CookieMessage.jsx +0 -204
  270. package/core/CustomerLogos.jsx +0 -144
  271. package/core/DropdownMenu.jsx +0 -313
  272. package/core/FeatureFooter/component.css +0 -13
  273. package/core/FeatureFooter/component.js +0 -1
  274. package/core/FeaturedLink.jsx +0 -241
  275. package/core/Flash.jsx +0 -622
  276. package/core/Footer.jsx +0 -587
  277. package/core/Icon.jsx +0 -152
  278. package/core/Loader.jsx +0 -154
  279. package/core/Logo.jsx +0 -147
  280. package/core/Meganav.jsx +0 -4151
  281. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  282. package/core/MeganavBlogPostsList.jsx +0 -296
  283. package/core/MeganavContentCompany.jsx +0 -1058
  284. package/core/MeganavContentDevelopers.jsx +0 -334
  285. package/core/MeganavContentProducts.jsx +0 -373
  286. package/core/MeganavContentUseCases.jsx +0 -341
  287. package/core/MeganavControl.jsx +0 -199
  288. package/core/MeganavControlMobileDropdown.jsx +0 -197
  289. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  290. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  291. package/core/MeganavItemsDesktop.jsx +0 -279
  292. package/core/MeganavItemsMobile.jsx +0 -689
  293. package/core/MeganavItemsSignedIn.jsx +0 -643
  294. package/core/MeganavSearch.jsx +0 -434
  295. package/core/MeganavSearchAutocomplete.jsx +0 -117
  296. package/core/MeganavSearchPanel.jsx +0 -386
  297. package/core/MeganavSearchSuggestions.jsx +0 -299
  298. package/core/Notice.jsx +0 -914
  299. package/core/Showcase/component.css +0 -31
  300. package/core/Showcase/component.js +0 -1
  301. package/core/Showcase.jsx +0 -17
  302. package/core/SignOutLink.jsx +0 -157
  303. package/core/Slider.jsx +0 -400
  304. package/core/Uptime/component.css +0 -128
  305. package/core/Uptime/component.js +0 -1
  306. package/core/Uptime.jsx +0 -895
  307. package/core/scripts.js.LICENSE.txt +0 -1
  308. package/preview/tmp/.keep +0 -0
  309. package/preview/tmp/pids/.keep +0 -0
  310. package/reset/.gitignore +0 -1
  311. package/src/core/Code/component.html.erb +0 -3
  312. package/src/core/Code/component.jsx +0 -31
  313. package/src/core/Code/component.rb +0 -12
  314. package/src/core/CompanyAutocomplete/component.css +0 -45
  315. package/src/core/CompanyAutocomplete/component.js +0 -204
  316. package/src/core/ContactFooter/component.html.erb +0 -32
  317. package/src/core/ContactFooter/component.jsx +0 -66
  318. package/src/core/ContactFooter/component.rb +0 -13
  319. package/src/core/CustomerLogos/component.html.erb +0 -9
  320. package/src/core/CustomerLogos/component.jsx +0 -28
  321. package/src/core/CustomerLogos/component.rb +0 -14
  322. package/src/core/FeatureFooter/component.css +0 -12
  323. package/src/core/FeatureFooter/component.html.erb +0 -54
  324. package/src/core/FeatureFooter/component.js +0 -7
  325. package/src/core/FeatureFooter/component.rb +0 -30
  326. package/src/core/FeaturedLink/component.html.erb +0 -15
  327. package/src/core/FeaturedLink/component.rb +0 -21
  328. package/src/core/Footer/component.html.erb +0 -256
  329. package/src/core/Footer/component.rb +0 -14
  330. package/src/core/Icon/component.html.erb +0 -3
  331. package/src/core/Icon/component.jsx +0 -19
  332. package/src/core/Icon/component.rb +0 -25
  333. package/src/core/Loader/component.html.erb +0 -18
  334. package/src/core/Loader/component.rb +0 -19
  335. package/src/core/Logo/component.html.erb +0 -3
  336. package/src/core/Logo/component.jsx +0 -20
  337. package/src/core/Logo/component.rb +0 -31
  338. package/src/core/Meganav/component.html.erb +0 -31
  339. package/src/core/Meganav/component.jsx +0 -123
  340. package/src/core/Meganav/component.rb +0 -60
  341. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  342. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  343. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  344. package/src/core/MeganavContentCompany/component.rb +0 -14
  345. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  346. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  347. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  348. package/src/core/MeganavContentProducts/component.jsx +0 -105
  349. package/src/core/MeganavContentProducts/component.rb +0 -14
  350. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  351. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  352. package/src/core/MeganavContentUseCases/component.rb +0 -13
  353. package/src/core/MeganavControl/component.html.erb +0 -6
  354. package/src/core/MeganavControl/component.rb +0 -20
  355. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  356. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  357. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  358. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  359. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  360. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  361. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  362. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  363. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  364. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  365. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  366. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  367. package/src/core/MeganavItemsMobile/component.rb +0 -21
  368. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  369. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  370. package/src/core/MeganavSearch/component.html.erb +0 -15
  371. package/src/core/MeganavSearch/component.jsx +0 -33
  372. package/src/core/MeganavSearch/component.rb +0 -13
  373. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  374. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  375. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  376. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  377. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  378. package/src/core/MeganavSearchPanel/component.rb +0 -13
  379. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  380. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  381. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  382. package/src/core/Notice/component.html.erb +0 -16
  383. package/src/core/Notice/component.jsx +0 -71
  384. package/src/core/Notice/component.rb +0 -29
  385. package/src/core/Showcase/component.css +0 -30
  386. package/src/core/Showcase/component.html.erb +0 -76
  387. package/src/core/Showcase/component.js +0 -180
  388. package/src/core/Showcase/component.jsx +0 -0
  389. package/src/core/Showcase/component.rb +0 -190
  390. package/src/core/SignOutLink/component.html.erb +0 -1
  391. package/src/core/SignOutLink/component.jsx +0 -32
  392. package/src/core/SignOutLink/component.rb +0 -17
  393. package/src/core/Slider/component.html.erb +0 -28
  394. package/src/core/Slider/component.jsx +0 -86
  395. package/src/core/Slider/component.rb +0 -38
  396. package/src/core/Uptime/component.css +0 -127
  397. package/src/core/Uptime/component.html.erb +0 -0
  398. package/src/core/Uptime/component.js +0 -1
  399. package/src/core/Uptime/component.jsx +0 -183
  400. package/src/core/Uptime/component.rb +0 -7
  401. package/src/core/core.rb +0 -81
  402. /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