@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
@@ -0,0 +1,84 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import Icon from "../Icon/component.tsx";
3
+
4
+ type TableCellProps = {
5
+ isRowHeader?: boolean;
6
+ } & React.TdHTMLAttributes<HTMLTableCellElement>;
7
+
8
+ const Supported = () => (
9
+ <Icon
10
+ name="icon-gui-check-circled-fill"
11
+ size="1.5rem"
12
+ color="text-gui-success"
13
+ additionalCSS="flex-grow-0 flex-shrink-0"
14
+ data-testid="supported-icon"
15
+ />
16
+ );
17
+
18
+ const Unsupported = () => (
19
+ <Icon
20
+ name="icon-gui-cross-circled-fill"
21
+ size="1.5rem"
22
+ color="text-gui-error"
23
+ additionalCSS="flex-grow-0 flex-shrink-0"
24
+ data-testid="unsupported-icon"
25
+ />
26
+ );
27
+
28
+ const LabelCell = ({
29
+ children,
30
+ ...rest
31
+ }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => {
32
+ const classes = `
33
+ ui-text-p1 !font-bold pt-24 pb-8 border-light-grey sm:p-24 sm:relative sm:top-2 flex sm:table-cell ${
34
+ rest.className ?? ""
35
+ }
36
+ `;
37
+
38
+ return (
39
+ <td {...rest} className={classes}>
40
+ {children}
41
+ </td>
42
+ );
43
+ };
44
+
45
+ const TableCell = ({
46
+ children,
47
+ isRowHeader,
48
+ ...rest
49
+ }: PropsWithChildren<TableCellProps>) => (
50
+ <td
51
+ {...rest}
52
+ className={`
53
+ border-light-grey sm:p-24 leading-none flex sm:table-cell
54
+ ${
55
+ isRowHeader
56
+ ? "rounded-l-none rounded-r sm:rounded-lg py-20 px-24"
57
+ : "py-6"
58
+ }
59
+ ${rest.className ?? ""}
60
+ `}
61
+ >
62
+ {children}
63
+ </td>
64
+ );
65
+
66
+ const HeaderCell = ({
67
+ children,
68
+ ...rest
69
+ }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => (
70
+ <td {...rest} className="ui-text-h3 px-24 py-24 hidden sm:table-cell">
71
+ {children}
72
+ </td>
73
+ );
74
+
75
+ const CtaCell = ({
76
+ children,
77
+ ...rest
78
+ }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => (
79
+ <td {...rest} className="pt-24 hidden sm:table-cell">
80
+ {children}
81
+ </td>
82
+ );
83
+
84
+ export { TableCell, LabelCell, HeaderCell, CtaCell, Supported, Unsupported };
@@ -0,0 +1,25 @@
1
+ import React, { PropsWithChildren } from "react";
2
+
3
+ const CtaRow = ({ children }: PropsWithChildren) => (
4
+ <tr>
5
+ <td className="hidden sm:block"></td>
6
+ {children}
7
+ </tr>
8
+ );
9
+
10
+ type RowProps = {
11
+ isHeader?: boolean;
12
+ } & React.HTMLAttributes<HTMLTableRowElement>;
13
+
14
+ const TableRow = ({
15
+ children,
16
+ isHeader,
17
+ ...rest
18
+ }: PropsWithChildren<RowProps>) => (
19
+ <tr {...rest}>
20
+ {isHeader && <td className="bg-white" />}
21
+ {children}
22
+ </tr>
23
+ );
24
+
25
+ export { TableRow, CtaRow };
@@ -0,0 +1,24 @@
1
+ import { Table, TableRowHeader, TableHeader, TableBody } from "./Table";
2
+ import { TableRow } from "./TableRow";
3
+ import {
4
+ TableCell,
5
+ LabelCell,
6
+ HeaderCell,
7
+ CtaCell,
8
+ Supported,
9
+ Unsupported,
10
+ } from "./TableCell";
11
+
12
+ export default {
13
+ Root: Table,
14
+ Row: TableRow,
15
+ Cell: TableCell,
16
+ LabelCell,
17
+ HeaderCell,
18
+ CtaCell,
19
+ RowHeader: TableRowHeader,
20
+ Body: TableBody,
21
+ Header: TableHeader,
22
+ Supported,
23
+ Unsupported,
24
+ };
@@ -0,0 +1,12 @@
1
+ import { PricingPageTable } from "./data";
2
+
3
+ export default {
4
+ title: "Components/Table",
5
+ component: PricingPageTable,
6
+ tags: ["autodocs"],
7
+ parameters: {
8
+ layout: "fullscreen",
9
+ },
10
+ };
11
+
12
+ export const PricingPage = {};
@@ -0,0 +1,113 @@
1
+ import React, { Fragment } from "react";
2
+
3
+ import Tooltip from "../../Tooltip/component";
4
+ import { Supported, Unsupported } from "../TableCell";
5
+ import Table from "..";
6
+
7
+ const testRow = (index) => ({
8
+ label: `Label ${index + 1}`,
9
+ cells: [
10
+ { label: "text", content: "Cell content", column: "Free" },
11
+ {
12
+ label: "yes",
13
+ content: (
14
+ <div className="flex items-center sm:flex-col sm:items-start">
15
+ <span className="sm:order-1 px-6 sm:py-6 sm:px-0">Supported</span>
16
+ <span className="sm:order-0">
17
+ <Supported />
18
+ </span>
19
+ </div>
20
+ ),
21
+ column: "PAYG",
22
+ },
23
+ {
24
+ label: "no",
25
+ content: (
26
+ <div className="flex items-center sm:flex-col sm:items-start">
27
+ <span className="sm:order-1 px-6 sm:py-6 sm:px-0">Unsupported</span>
28
+ <span className="sm:order-0">
29
+ <Unsupported />
30
+ </span>
31
+ </div>
32
+ ),
33
+ column: "Custom",
34
+ },
35
+ ],
36
+ });
37
+
38
+ const sections = ["Features", "Support", "Technical Support"].map((label) => ({
39
+ label,
40
+ rows: [...Array(5)].map((_, i) => testRow(i)),
41
+ }));
42
+
43
+ export const PricingPageTable = () => {
44
+ return (
45
+ <div className="ui-standard-container">
46
+ <h2 className="ui-text-h2 text-center m-32">Pricing Page Table</h2>
47
+ <p className="text-center m-32">Example content</p>
48
+ <Table.Root>
49
+ <Table.Header>
50
+ <Table.Row>
51
+ <Table.Cell>
52
+ <span className="ui-text-h3 hidden sm:block">Free</span>
53
+ </Table.Cell>
54
+ <Table.Cell>
55
+ <span className="ui-text-h3 hidden sm:block">PAYG</span>
56
+ </Table.Cell>
57
+ <Table.Cell>
58
+ <span className="ui-text-h3 hidden sm:block">Custom</span>
59
+ </Table.Cell>
60
+ </Table.Row>
61
+ </Table.Header>
62
+ <Table.Body>
63
+ {sections.map((section) => (
64
+ <Fragment key={section.label}>
65
+ <Table.RowHeader>
66
+ <Table.Cell colSpan={4}>{section.label}</Table.Cell>
67
+ </Table.RowHeader>
68
+ {section.rows.map((row) => (
69
+ <Table.Row key={row.label}>
70
+ <Table.LabelCell
71
+ key={row.label}
72
+ className="border-t border-light-grey"
73
+ >
74
+ <a className="ui-link" href="#">
75
+ {row.label}
76
+ </a>
77
+ <Tooltip>Example tooltip</Tooltip>
78
+ </Table.LabelCell>
79
+ {row.cells.map((cell) => (
80
+ <Table.Cell key={cell.label} className="last:mb-16 sm:mb-0">
81
+ <div className="flex-1 sm:hidden !text-dark-grey ui-text-overline2">
82
+ {cell.column}
83
+ </div>
84
+ {cell.content}
85
+ </Table.Cell>
86
+ ))}
87
+ </Table.Row>
88
+ ))}
89
+ </Fragment>
90
+ ))}
91
+ <Table.Row>
92
+ <Table.Cell></Table.Cell>
93
+ <Table.CtaCell>
94
+ <a href="#" className="ui-btn-secondary">
95
+ Get started
96
+ </a>
97
+ </Table.CtaCell>
98
+ <Table.CtaCell>
99
+ <a href="#" className="ui-btn-secondary">
100
+ Get started
101
+ </a>
102
+ </Table.CtaCell>
103
+ <Table.CtaCell>
104
+ <a href="#" className="ui-btn">
105
+ Contact sales
106
+ </a>
107
+ </Table.CtaCell>
108
+ </Table.Row>
109
+ </Table.Body>
110
+ </Table.Root>
111
+ </div>
112
+ );
113
+ };
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import Tooltip from "./component";
3
+
4
+ export default {
5
+ title: "Components/Tooltip",
6
+ component: Tooltip,
7
+ tags: ["autodocs"],
8
+ args: {
9
+ children: "Example content",
10
+ },
11
+ };
12
+
13
+ export const Central = {
14
+ render: (args) => (
15
+ <div className="w-256 h-256 flex items-center justify-center m-24 border">
16
+ <Tooltip>{args.children}</Tooltip>
17
+ </div>
18
+ ),
19
+ };
20
+
21
+ export const LeftBound = {
22
+ render: (args) => (
23
+ <div className="w-256 h-256 flex items-center m-24 border">
24
+ <Tooltip>{args.children}</Tooltip>
25
+ </div>
26
+ ),
27
+ };
@@ -0,0 +1,60 @@
1
+ import React, { PropsWithChildren, useEffect, useRef, useState } from "react";
2
+ import Icon from "../Icon/component.tsx";
3
+
4
+ const Tooltip = ({ children }: PropsWithChildren) => {
5
+ const [open, setOpen] = useState(false);
6
+ const [position, setPosition] = useState({ x: 0, y: 0 });
7
+ const offset = 8;
8
+ const reference = useRef<HTMLButtonElement>(null);
9
+ const floating = useRef<HTMLDivElement>(null);
10
+
11
+ useEffect(() => {
12
+ if (open) {
13
+ const floatingRect = floating.current?.getBoundingClientRect();
14
+ const referenceRect = reference.current?.getBoundingClientRect();
15
+
16
+ if (floatingRect && referenceRect) {
17
+ setPosition({
18
+ x:
19
+ Math.min(floatingRect.width / 2, floatingRect.left) -
20
+ referenceRect.width / 2,
21
+ y: Math.min(floatingRect.height, floatingRect.top) + offset,
22
+ });
23
+ }
24
+ } else {
25
+ setPosition({ x: 0, y: 0 });
26
+ }
27
+ }, [open]);
28
+
29
+ return (
30
+ <div className="relative inline-block align-top h-16">
31
+ <button
32
+ onMouseEnter={() => setOpen(true)}
33
+ onMouseLeave={() => setOpen(false)}
34
+ className="ml-8 p-0 relative top-1 focus:outline-none"
35
+ type="button"
36
+ ref={reference}
37
+ aria-describedby="tooltip"
38
+ >
39
+ <Icon name="icon-gui-info" size="1rem" />
40
+ </button>
41
+
42
+ {open ? (
43
+ <div
44
+ className="bg-light-grey p-12 rounded pointer-events-none absolute z-20"
45
+ role="tooltip"
46
+ ref={floating}
47
+ style={{
48
+ top: -position.y,
49
+ left: -position.x,
50
+ boxShadow: "4px 4px 15px rgba(0, 0, 0, 0.2)",
51
+ }}
52
+ >
53
+ <div className="w-256">{children}</div>
54
+ </div>
55
+ ) : null}
56
+ </div>
57
+ );
58
+ };
59
+
60
+ export default Tooltip;
@@ -0,0 +1,6 @@
1
+ import { loadSprites } from "./scripts";
2
+ import sprites from "../../core/sprites.svg";
3
+
4
+ const loadIcons = () => loadSprites(sprites);
5
+
6
+ export default loadIcons;
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import ReactDOM from "react-dom";
2
+ import { createRoot } from "react-dom/client";
3
3
 
4
- const renderComponent = (Component, props, node) =>
5
- // eslint-disable-next-line react/no-render-return-value
6
- ReactDOM.render(<Component {...props} />, node);
4
+ const renderComponent = (Component, props, node) => {
5
+ const root = createRoot(node);
6
+ root.render(<Component {...props} />);
7
+ };
7
8
 
8
9
  export { renderComponent };
9
10
 
@@ -11,15 +12,16 @@ export default function reactRenderer(components) {
11
12
  const reactComponents = document.querySelectorAll("[data-react]");
12
13
 
13
14
  Array.from(reactComponents).forEach((node) => {
14
- const className = node.getAttribute("data-react");
15
+ const className = node.getAttribute("data-react") ?? "";
15
16
  const Constructor = components[className];
16
17
 
17
18
  if (!Constructor) return;
18
19
 
19
20
  const propsJson = node.getAttribute("data-react-props");
20
- const props = propsJson && JSON.parse(propsJson || {});
21
+ const props = propsJson && JSON.parse(propsJson || "");
21
22
 
22
- ReactDOM.render(<Constructor {...props} />, node);
23
+ const root = createRoot(node);
24
+ root.render(<Constructor {...props} />);
23
25
 
24
26
  node.removeAttribute("data-react");
25
27
  node.removeAttribute("data-react-props");
@@ -1,124 +1,122 @@
1
- @layer components {
2
- .ui-btn {
3
- @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block rounded p-btn;
4
- @apply hover:text-white hover:bg-active-orange;
5
- @apply active:text-white active:bg-red-orange;
6
- @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
7
- @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
8
- @apply transition-colors;
9
- @apply inline-flex items-center justify-center;
10
- }
11
-
12
- .ui-btn-alt {
13
- transition: background-position 0.2s;
14
- background: linear-gradient(
15
- 61.2deg,
16
- var(--color-active-orange) 5%,
17
- #fe5215 19%,
18
- #fc4a13 27%,
19
- #f73c10 33%,
20
- #f1280a 39%,
21
- #e90f04 44%,
22
- var(--color-red-orange) 50%
23
- );
24
- background-size: 200% 100%;
25
- background-position: 0% 0%;
26
-
27
- @apply text-white text-btn2 font-sans font-bold inline-block rounded p-btn;
28
- @apply focus:outline-gui-focus;
29
- @apply inline-flex items-center justify-center;
30
- }
31
-
32
- .ui-btn-alt:hover,
33
- .ui-btn-alt:focus {
34
- background-position: 100% 0%;
35
- }
36
-
37
- .ui-btn-alt:disabled {
38
- background: linear-gradient(var(--gradient-transparent));
39
- @apply bg-gui-unavailable text-mid-grey cursor-not-allowed;
40
- }
41
-
42
- .ui-btn-invert {
43
- @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block rounded p-btn;
44
- @apply hover:text-white hover:bg-active-orange;
45
- @apply active:text-white active:bg-red-orange;
46
- @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
47
- @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
48
- @apply transition-colors;
49
- @apply inline-flex items-center justify-center;
50
- }
51
-
52
- .ui-btn-secondary {
53
- @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block border-btn border-cool-black rounded p-btn;
54
- @apply hover:text-cool-black hover:border-active-orange hover:bg-white;
55
- @apply active:border-red-orange active:bg-white;
56
- @apply focus:border-cool-black focus:bg-white focus:outline-gui-focus;
57
- @apply disabled:text-gui-unavailable disabled:border-gui-unavailable disabled:bg-white disabled:cursor-not-allowed;
58
- @apply transition-colors;
59
- @apply inline-flex items-center justify-center;
60
- }
61
-
62
- .ui-btn-secondary-invert {
63
- @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block border-btn border-mid-grey rounded p-btn;
64
- @apply hover:text-white hover:border-active-orange;
65
- @apply active:border-red-orange;
66
- @apply focus:outline-gui-focus;
67
- @apply disabled:text-gui-unavailable disabled:border-gui-unavailable disabled:cursor-not-allowed;
68
- @apply transition-colors;
69
- @apply inline-flex items-center justify-center;
70
- }
71
-
72
- .ui-btn-icon {
73
- @apply w-24 h-24 mr-16;
74
- }
75
-
76
- .ui-btn-icon-small {
77
- @apply w-20 h-20 mr-12;
78
- }
79
-
80
- .ui-btn-icon-xsmall {
81
- @apply w-16 h-16 mr-8;
82
- }
83
-
84
- .ui-chip {
85
- @apply text-btn3 p-chip rounded text-cool-black;
86
- @apply hover:bg-mid-grey;
87
- @apply active:bg-red-orange active:text-white;
88
- @apply focus:bg-red-orange focus:text-white focus:outline-none;
89
- @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
90
- @apply transition-colors;
91
- }
92
-
93
- .ui-chip[data-selected] {
94
- @apply bg-active-orange text-white;
95
- }
96
-
97
- .ui-chip[data-selected]:hover {
98
- @apply bg-mid-grey text-cool-black;
99
- }
100
-
101
- .ui-chip[data-selected]:focus {
102
- @apply bg-red-orange text-white;
103
- }
104
-
105
- .ui-chip-alt {
106
- @apply text-btn3 p-chip rounded text-white;
107
- @apply hover:bg-gui-hover;
108
- @apply active:bg-gui-active active:text-white;
109
- @apply focus:bg-gui-active focus:text-white focus:outline-none;
110
- @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
111
- @apply transition-colors;
112
- }
113
-
114
- .ui-chip-alt[data-selected] {
115
- @apply bg-dark-grey text-white;
116
- }
117
- .ui-chip-alt[data-selected]:hover {
118
- @apply bg-gui-hover text-white;
119
- }
120
-
121
- .ui-chip-alt[data-selected]:focus {
122
- @apply bg-gui-active text-white;
123
- }
1
+ .ui-btn {
2
+ @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block rounded p-btn;
3
+ @apply hover:text-white hover:bg-active-orange;
4
+ @apply active:text-white active:bg-red-orange;
5
+ @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
6
+ @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
7
+ @apply transition-colors;
8
+ @apply inline-flex items-center justify-center;
9
+ }
10
+
11
+ .ui-btn-alt {
12
+ transition: background-position 0.2s;
13
+ background: linear-gradient(
14
+ 61.2deg,
15
+ var(--color-active-orange) 5%,
16
+ #fe5215 19%,
17
+ #fc4a13 27%,
18
+ #f73c10 33%,
19
+ #f1280a 39%,
20
+ #e90f04 44%,
21
+ var(--color-red-orange) 50%
22
+ );
23
+ background-size: 200% 100%;
24
+ background-position: 0% 0%;
25
+
26
+ @apply text-white text-btn2 font-sans font-bold inline-block rounded p-btn;
27
+ @apply focus:outline-gui-focus;
28
+ @apply inline-flex items-center justify-center;
29
+ }
30
+
31
+ .ui-btn-alt:hover,
32
+ .ui-btn-alt:focus {
33
+ background-position: 100% 0%;
34
+ }
35
+
36
+ .ui-btn-alt:disabled {
37
+ background: linear-gradient(var(--gradient-transparent));
38
+ @apply bg-gui-unavailable text-mid-grey cursor-not-allowed;
39
+ }
40
+
41
+ .ui-btn-invert {
42
+ @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block rounded p-btn;
43
+ @apply hover:text-white hover:bg-active-orange;
44
+ @apply active:text-white active:bg-red-orange;
45
+ @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
46
+ @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
47
+ @apply transition-colors;
48
+ @apply inline-flex items-center justify-center;
49
+ }
50
+
51
+ .ui-btn-secondary {
52
+ @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block border-btn border-cool-black rounded p-btn;
53
+ @apply hover:text-cool-black hover:border-active-orange hover:bg-white;
54
+ @apply active:border-red-orange active:bg-white;
55
+ @apply focus:border-cool-black focus:bg-white focus:outline-gui-focus;
56
+ @apply disabled:text-gui-unavailable disabled:border-gui-unavailable disabled:bg-white disabled:cursor-not-allowed;
57
+ @apply transition-colors;
58
+ @apply inline-flex items-center justify-center;
59
+ }
60
+
61
+ .ui-btn-secondary-invert {
62
+ @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block border-btn border-mid-grey rounded p-btn;
63
+ @apply hover:text-white hover:border-active-orange;
64
+ @apply active:border-red-orange;
65
+ @apply focus:outline-gui-focus;
66
+ @apply disabled:text-gui-unavailable disabled:border-gui-unavailable disabled:cursor-not-allowed;
67
+ @apply transition-colors;
68
+ @apply inline-flex items-center justify-center;
69
+ }
70
+
71
+ .ui-btn-icon {
72
+ @apply w-24 h-24 mr-16;
73
+ }
74
+
75
+ .ui-btn-icon-small {
76
+ @apply w-20 h-20 mr-12;
77
+ }
78
+
79
+ .ui-btn-icon-xsmall {
80
+ @apply w-16 h-16 mr-8;
81
+ }
82
+
83
+ .ui-chip {
84
+ @apply text-btn3 p-chip rounded text-cool-black;
85
+ @apply hover:bg-mid-grey;
86
+ @apply active:bg-red-orange active:text-white;
87
+ @apply focus:bg-red-orange focus:text-white focus:outline-none;
88
+ @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
89
+ @apply transition-colors;
90
+ }
91
+
92
+ .ui-chip[data-selected] {
93
+ @apply bg-active-orange text-white;
94
+ }
95
+
96
+ .ui-chip[data-selected]:hover {
97
+ @apply bg-mid-grey text-cool-black;
98
+ }
99
+
100
+ .ui-chip[data-selected]:focus {
101
+ @apply bg-red-orange text-white;
102
+ }
103
+
104
+ .ui-chip-alt {
105
+ @apply text-btn3 p-chip rounded text-white;
106
+ @apply hover:bg-gui-hover;
107
+ @apply active:bg-gui-active active:text-white;
108
+ @apply focus:bg-gui-active focus:text-white focus:outline-none;
109
+ @apply disabled:text-mid-grey disabled:bg-gui-unavailable disabled:cursor-not-allowed;
110
+ @apply transition-colors;
111
+ }
112
+
113
+ .ui-chip-alt[data-selected] {
114
+ @apply bg-dark-grey text-white;
115
+ }
116
+ .ui-chip-alt[data-selected]:hover {
117
+ @apply bg-gui-hover text-white;
118
+ }
119
+
120
+ .ui-chip-alt[data-selected]:focus {
121
+ @apply bg-gui-active text-white;
124
122
  }