@ably/ui 13.2.2 → 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} +28 -17
  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 -236
  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 -4146
  281. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  282. package/core/MeganavBlogPostsList.jsx +0 -291
  283. package/core/MeganavContentCompany.jsx +0 -1053
  284. package/core/MeganavContentDevelopers.jsx +0 -334
  285. package/core/MeganavContentProducts.jsx +0 -368
  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 -684
  293. package/core/MeganavItemsSignedIn.jsx +0 -638
  294. package/core/MeganavSearch.jsx +0 -429
  295. package/core/MeganavSearchAutocomplete.jsx +0 -117
  296. package/core/MeganavSearchPanel.jsx +0 -381
  297. package/core/MeganavSearchSuggestions.jsx +0 -294
  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 -890
  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
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import Flash, { reducerFlashes } from "./component.tsx";
3
+
4
+ import {
5
+ attachStoreToWindow,
6
+ createRemoteDataStore,
7
+ } from "../remote-data-store.js";
8
+ import { reducerBlogPosts } from "../remote-blogs-posts.js";
9
+ import { reducerSessionData } from "../remote-session-data.js";
10
+
11
+ export default {
12
+ title: "Components/Flash",
13
+ component: Flash,
14
+ args: {
15
+ flashes: [
16
+ ["success", "Congratulations! You've won the Oscar"],
17
+ ["notice", "This is a notice"],
18
+ ["error", "This is an error, very bad"],
19
+ ["alert", "This is an alert"],
20
+ ["info", "Some useful information, you are welcome"],
21
+ ],
22
+ },
23
+ };
24
+
25
+ export const Default = {
26
+ render: (args) => {
27
+ const store = createRemoteDataStore({
28
+ ...reducerBlogPosts,
29
+ ...reducerSessionData,
30
+ ...reducerFlashes,
31
+ });
32
+
33
+ attachStoreToWindow(store);
34
+
35
+ return <Flash {...args} />;
36
+ },
37
+ };
@@ -1,25 +1,23 @@
1
- @layer components {
2
- .ui-flash {
3
- @apply w-full fixed;
4
- top: 5.5rem;
5
- z-index: calc(var(--stacking-context-page-meganav) - 10);
6
- transition: margin-top 200ms;
7
- }
1
+ .ui-flash {
2
+ @apply w-full fixed;
3
+ top: 5.5rem;
4
+ z-index: calc(var(--stacking-context-page-meganav) - 10);
5
+ transition: margin-top 200ms;
6
+ }
8
7
 
9
- .ui-flash-message {
10
- @apply font-sans font-light antialiased max-w-screen-xl mx-auto mt-8 opacity-0 relative;
11
- transition: opacity 200ms, transform 200ms, height 200ms 200ms,
12
- margin-top 200ms 200ms;
13
- transform: translateY(-200%) rotateX(-90deg);
14
- }
8
+ .ui-flash-message {
9
+ @apply font-sans font-light antialiased max-w-screen-xl mx-auto mt-8 opacity-0 relative;
10
+ transition: opacity 200ms, transform 200ms, height 200ms 200ms,
11
+ margin-top 200ms 200ms;
12
+ transform: translateY(-200%) rotateX(-90deg);
13
+ }
15
14
 
16
- /* dynamic content inside flash, can't add classes */
17
- .ui-flash-text a {
18
- @apply underline;
19
- }
15
+ /* dynamic content inside flash, can't add classes */
16
+ .ui-flash-text a {
17
+ @apply underline;
18
+ }
20
19
 
21
- .ui-flash-message-enter {
22
- @apply opacity-100;
23
- transform: translateY(0) rotateX(0);
24
- }
20
+ .ui-flash-message-enter {
21
+ @apply opacity-100;
22
+ transform: translateY(0) rotateX(0);
25
23
  }
@@ -1,11 +1,27 @@
1
1
  import React, { useEffect, useState, useRef } from "react";
2
2
  import DOMPurify from "dompurify";
3
- import T from "prop-types";
4
3
  import { nanoid } from "nanoid/non-secure";
5
4
 
6
- import { getRemoteDataStore } from "../remote-data-store";
7
- import ConnectStateWrapper from "../ConnectStateWrapper/component.jsx";
8
- import Icon from "../Icon/component.jsx";
5
+ import { getRemoteDataStore } from "../remote-data-store.js";
6
+ import ConnectStateWrapper from "../ConnectStateWrapper/component.tsx";
7
+ import Icon from "../Icon/component.tsx";
8
+ import "./component.css";
9
+
10
+ type FlashProps = {
11
+ id: string;
12
+ removed: boolean;
13
+ type: "error" | "success" | "notice" | "info" | "alert";
14
+ content: string;
15
+ removeFlash: (id: string) => void;
16
+ };
17
+
18
+ type FlashesProps = {
19
+ flashes: { items: FlashProps[] };
20
+ };
21
+
22
+ type BackendFlashesProps = {
23
+ flashes: string[][];
24
+ };
9
25
 
10
26
  const REDUCER_KEY = "flashes";
11
27
  const FLASH_DATA_ID = "ui-flashes";
@@ -16,7 +32,9 @@ const reducerFlashes = {
16
32
  [REDUCER_KEY]: (state = initialState, action) => {
17
33
  switch (action.type) {
18
34
  case "flash/push": {
19
- const flashes = Array.isArray(action.payload) ? action.payload : [action.payload];
35
+ const flashes = Array.isArray(action.payload)
36
+ ? action.payload
37
+ : [action.payload];
20
38
  return { items: [...state.items, ...flashes] };
21
39
  }
22
40
  default:
@@ -27,11 +45,6 @@ const reducerFlashes = {
27
45
 
28
46
  const selectFlashes = (store) => store.getState()[REDUCER_KEY];
29
47
 
30
- const FlashT = {
31
- type: T.oneOf(["error", "success", "notice", "info", "alert"]),
32
- content: T.string,
33
- };
34
-
35
48
  const FLASH_BG_COLOR = {
36
49
  error: "bg-gui-error",
37
50
  success: "bg-zingy-green",
@@ -52,7 +65,7 @@ const AUTO_HIDE = ["success", "info", "notice"];
52
65
  const AUTO_HIDE_TIME = 8000;
53
66
 
54
67
  const useAutoHide = (type, closeFlash) => {
55
- const timeoutId = useRef(null);
68
+ const timeoutId = useRef<ReturnType<typeof setTimeout> | null>(null);
56
69
 
57
70
  useEffect(() => {
58
71
  if (AUTO_HIDE.includes(type)) {
@@ -69,8 +82,8 @@ const useAutoHide = (type, closeFlash) => {
69
82
  }, []);
70
83
  };
71
84
 
72
- const Flash = ({ id, type, content, removeFlash }) => {
73
- const ref = useRef(null);
85
+ const Flash = ({ id, type, content, removeFlash }: FlashProps) => {
86
+ const ref = useRef<HTMLDivElement>(null);
74
87
  const [closed, setClosed] = useState(false);
75
88
  const [flashHeight, setFlashHeight] = useState(0);
76
89
  const [triggerEntryAnimation, setTriggerEntryAnimation] = useState(false);
@@ -83,7 +96,7 @@ const Flash = ({ id, type, content, removeFlash }) => {
83
96
  setClosed(true);
84
97
 
85
98
  setTimeout(() => {
86
- removeFlash(id);
99
+ id && removeFlash(id);
87
100
  }, 100);
88
101
  };
89
102
 
@@ -122,30 +135,62 @@ const Flash = ({ id, type, content, removeFlash }) => {
122
135
  };
123
136
 
124
137
  return (
125
- <div className={`ui-flash-message ui-grid-px ${animateEntry ? "ui-flash-message-enter" : ""}`} style={style} ref={ref} data-id="ui-flash">
126
- <div className={`${FLASH_BG_COLOR[type]} p-32 flex align-center rounded shadow-container-subtle`}>
127
- {withIcons[type] && <Icon name={withIcons[type]} color={iconColor[type]} size="1.5rem" additionalCSS="mr-16 self-baseline" />}
128
- <p className={`ui-text-p1 mr-16 ${FLASH_TEXT_COLOR[type]}`} dangerouslySetInnerHTML={{ __html: safeContent }} />
129
- <button type="button" className="p-0 ml-auto self-start focus:outline-none" onClick={closeFlash}>
130
- <Icon name="icon-gui-close" color={iconColor[type]} size="1.5rem" additionalCSS="transition-colors" />
138
+ <div
139
+ className={`ui-flash-message ui-grid-px ${
140
+ animateEntry ? "ui-flash-message-enter" : ""
141
+ }`}
142
+ style={style}
143
+ ref={ref}
144
+ data-id="ui-flash"
145
+ >
146
+ <div
147
+ className={`${FLASH_BG_COLOR[type]} p-32 flex align-center rounded shadow-container-subtle`}
148
+ >
149
+ {withIcons[type] && (
150
+ <Icon
151
+ name={withIcons[type]}
152
+ color={iconColor[type]}
153
+ size="1.5rem"
154
+ additionalCSS="mr-16 self-baseline"
155
+ />
156
+ )}
157
+ <p
158
+ className={`ui-text-p1 mr-16 ${FLASH_TEXT_COLOR[type]}`}
159
+ dangerouslySetInnerHTML={{ __html: safeContent }}
160
+ />
161
+ <button
162
+ type="button"
163
+ className="p-0 ml-auto self-start focus:outline-none"
164
+ onClick={closeFlash}
165
+ >
166
+ <Icon
167
+ name="icon-gui-close"
168
+ color={iconColor[type]}
169
+ size="1.5rem"
170
+ additionalCSS="transition-colors"
171
+ />
131
172
  </button>
132
173
  </div>
133
174
  </div>
134
175
  );
135
176
  };
136
177
 
137
- Flash.propTypes = {
138
- ...FlashT,
139
- };
140
-
141
- const Flashes = ({ flashes }) => {
142
- const [flashesWithIds, setFlashesWithIds] = useState([]);
178
+ const Flashes = ({ flashes }: FlashesProps) => {
179
+ const [flashesWithIds, setFlashesWithIds] = useState<FlashProps[]>([]);
143
180
 
144
- const removeFlash = (flashId) => setFlashesWithIds((items) => items.filter((item) => item.id !== flashId));
181
+ const removeFlash = (flashId) =>
182
+ setFlashesWithIds((items) => items.filter((item) => item.id !== flashId));
145
183
 
146
184
  useEffect(() => {
147
185
  setFlashesWithIds((state) => {
148
- return [...state, ...(flashes?.items || []).map((flash) => ({ ...flash, id: nanoid(), removed: false }))];
186
+ return [
187
+ ...state,
188
+ ...(flashes?.items).map((flash) => ({
189
+ ...flash,
190
+ id: nanoid(),
191
+ removed: false,
192
+ })),
193
+ ];
149
194
  });
150
195
  }, [flashes]);
151
196
 
@@ -154,17 +199,13 @@ const Flashes = ({ flashes }) => {
154
199
  {flashesWithIds
155
200
  .filter((item) => !item.removed)
156
201
  .map((flash) => (
157
- <Flash removeFlash={removeFlash} key={flash.id} {...flash} />
202
+ <Flash key={flash.id} {...flash} removeFlash={removeFlash} />
158
203
  ))}
159
204
  </div>
160
205
  );
161
206
  };
162
207
 
163
- Flashes.propTypes = {
164
- flashes: T.shape({ items: T.arrayOf(T.shape(FlashT)) }),
165
- };
166
-
167
- const BackendFlashes = ({ flashes }) => {
208
+ const BackendFlashes = ({ flashes }: BackendFlashesProps) => {
168
209
  useEffect(() => {
169
210
  const transformedFlashes =
170
211
  flashes.map((flash) => {
@@ -182,14 +223,12 @@ const BackendFlashes = ({ flashes }) => {
182
223
  }
183
224
  }, []);
184
225
 
185
- const WrappedFlashes = ConnectStateWrapper(Flashes, { flashes: selectFlashes });
226
+ const WrappedFlashes = ConnectStateWrapper(Flashes, {
227
+ flashes: selectFlashes,
228
+ });
186
229
 
187
230
  return <WrappedFlashes />;
188
231
  };
189
232
 
190
- BackendFlashes.propTypes = {
191
- flashes: T.arrayOf(T.arrayOf(T.string)),
192
- };
193
-
194
233
  export { reducerFlashes, FLASH_DATA_ID, Flashes };
195
234
  export default BackendFlashes;
@@ -0,0 +1,26 @@
1
+ import Footer from "./component.tsx";
2
+
3
+ import ablyStack from "../images/ably-stack.svg";
4
+ import highestPerformer from "../images/high-performer-2023.svg";
5
+ import bestSupport from "../images/best-support-2023.svg";
6
+ import fastestImplementation from "../images/fastest-implementation-2023.svg";
7
+ import highestUserAdoption from "../images/highest-user-adoption-2023.svg";
8
+
9
+ export default {
10
+ title: "Components/Footer",
11
+ component: Footer,
12
+ parameters: {
13
+ layout: "fullscreen",
14
+ },
15
+ args: {
16
+ paths: {
17
+ ablyStack,
18
+ highestPerformer,
19
+ bestSupport,
20
+ fastestImplementation,
21
+ highestUserAdoption,
22
+ },
23
+ },
24
+ };
25
+
26
+ export const Default = {};
@@ -1,33 +1,31 @@
1
- @layer components {
2
- .ui-footer-col-title {
3
- @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
4
- }
1
+ .ui-footer-col-title {
2
+ @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
3
+ }
5
4
 
6
- .ui-footer-menu-row-link {
7
- @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
8
- }
5
+ .ui-footer-menu-row-link {
6
+ @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
7
+ }
9
8
 
10
- .ui-footer-link {
11
- @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
12
- }
9
+ .ui-footer-link {
10
+ @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
11
+ }
13
12
 
14
- .ui-footer-compliance-text {
15
- font-size: 12px;
16
- }
13
+ .ui-footer-compliance-text {
14
+ font-size: 12px;
15
+ }
17
16
 
18
- .ui-footer-tick-icon {
19
- min-width: 1.5rem;
20
- }
17
+ .ui-footer-tick-icon {
18
+ min-width: 1.5rem;
19
+ }
21
20
 
22
- @media (max-width: 1040px) {
23
- .ui-footer-bottom-links {
24
- @apply pb-40;
25
- }
21
+ @media (max-width: 1040px) {
22
+ .ui-footer-bottom-links {
23
+ @apply pb-40;
26
24
  }
25
+ }
27
26
 
28
- @media screen {
29
- .ui-footer-glassdoor {
30
- display: none;
31
- }
27
+ @media screen {
28
+ .ui-footer-glassdoor {
29
+ display: none;
32
30
  }
33
31
  }