@ably/ui 13.3.0 → 14.0.0-dev.58ef698
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -152
- package/core/.DS_Store +0 -0
- package/core/Accordion/component.js +1 -0
- package/core/Code/component.css +1 -72
- package/core/Code/component.js +1 -1
- package/core/ConnectStateWrapper/component.js +1 -1
- package/core/ContactFooter/component.css +7 -10
- package/core/ContactFooter/component.js +1 -1
- package/core/CookieMessage/component.css +10 -13
- package/core/CookieMessage/component.js +1 -1
- package/core/CustomerLogos/component.js +1 -1
- package/core/DropdownMenu/component.js +1 -1
- package/core/FeaturedLink/component.js +1 -1
- package/core/Flash/component.css +19 -22
- package/core/Flash/component.js +1 -1
- package/core/Footer/component.css +22 -25
- package/core/Footer/component.js +1 -1
- package/core/Icon/component.js +1 -1
- package/core/Loader/component.js +1 -1
- package/core/Logo/component.js +1 -1
- package/core/Meganav/.DS_Store +0 -0
- package/core/Meganav/component.css +103 -106
- package/core/Meganav/component.js +1 -1
- package/core/MeganavBlogPostsList/component.js +1 -2
- package/core/MeganavContentCompany/component.js +1 -1
- package/core/MeganavContentDevelopers/component.js +1 -1
- package/core/MeganavContentProducts/component.js +1 -1
- package/core/MeganavContentUseCases/component.js +1 -1
- package/core/MeganavControl/component.js +1 -1
- package/core/MeganavControlMobileDropdown/component.js +1 -1
- package/core/MeganavControlMobilePanelClose/component.js +1 -1
- package/core/MeganavControlMobilePanelOpen/component.js +1 -1
- package/core/MeganavItemsDesktop/component.js +1 -1
- package/core/MeganavItemsMobile/component.js +1 -1
- package/core/MeganavItemsSignedIn/component.js +1 -1
- package/core/MeganavSearch/component.js +1 -1
- package/core/MeganavSearchAutocomplete/component.js +1 -1
- package/core/MeganavSearchPanel/component.js +1 -1
- package/core/MeganavSearchSuggestions/component.js +1 -1
- package/core/Notice/component.css +4 -7
- package/core/Notice/component.js +1 -1
- package/core/SignOutLink/component.js +1 -1
- package/core/Slider/component.css +4 -7
- package/core/Slider/component.js +1 -1
- package/core/Table/Table.js +1 -0
- package/core/Table/TableCell.js +1 -0
- package/core/Table/TableRow.js +1 -0
- package/core/Table/index.js +1 -0
- package/core/Table/stories/data.js +1 -0
- package/core/Tooltip/component.js +1 -0
- package/core/css.js +1 -0
- package/core/dom-query.js +1 -0
- package/core/hubspot-chat-toggle.js +1 -0
- package/core/icons/discord.svg +10 -0
- package/core/icons/facebook.svg +4 -0
- package/core/icons/github.svg +3 -0
- package/core/icons/glassdoor.svg +3 -0
- package/core/icons/google.svg +3 -0
- package/core/icons/icon-display-48hrs.svg +3 -0
- package/core/icons/icon-display-about-ably-col.svg +4 -0
- package/core/icons/icon-display-api-keys.svg +3 -0
- package/core/icons/icon-display-api.svg +3 -0
- package/core/icons/icon-display-asset-tracking-col.svg +18 -0
- package/core/icons/icon-display-browser.svg +10 -0
- package/core/icons/icon-display-calendar.svg +3 -0
- package/core/icons/icon-display-call-mobile.svg +3 -0
- package/core/icons/icon-display-careers-col.svg +9 -0
- package/core/icons/icon-display-case-studies-col.svg +5 -0
- package/core/icons/icon-display-chat-col.svg +4 -0
- package/core/icons/icon-display-chat-stack-col.svg +4 -0
- package/core/icons/icon-display-chat-stack.svg +4 -0
- package/core/icons/icon-display-cloud-servers.svg +3 -0
- package/core/icons/icon-display-compare-tech-col.svg +9 -0
- package/core/icons/icon-display-customers-col.svg +15 -0
- package/core/icons/icon-display-data-broadcast-col.svg +26 -0
- package/core/icons/icon-display-data-synchronization-col.svg +14 -0
- package/core/icons/icon-display-docs-col.svg +7 -0
- package/core/icons/icon-display-documentation.svg +3 -0
- package/core/icons/icon-display-events-col.svg +13 -0
- package/core/icons/icon-display-examples-col.svg +11 -0
- package/core/icons/icon-display-gdpr.svg +3 -0
- package/core/icons/icon-display-general-comms.svg +3 -0
- package/core/icons/icon-display-hipaa.svg +10 -0
- package/core/icons/icon-display-integrations-col.svg +8 -0
- package/core/icons/icon-display-it-support-access.svg +3 -0
- package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
- package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
- package/core/icons/icon-display-laptop.svg +10 -0
- package/core/icons/icon-display-lightbulb-col.svg +10 -0
- package/core/icons/icon-display-live-chat.svg +3 -0
- package/core/icons/icon-display-map-pin.svg +3 -0
- package/core/icons/icon-display-message.svg +3 -0
- package/core/icons/icon-display-padlock-closed.svg +3 -0
- package/core/icons/icon-display-platform.svg +22 -0
- package/core/icons/icon-display-play.svg +3 -0
- package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
- package/core/icons/icon-display-push-notifications-col.svg +6 -0
- package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
- package/core/icons/icon-display-resources-col.svg +21 -0
- package/core/icons/icon-display-sdks-col.svg +11 -0
- package/core/icons/icon-display-servers.svg +3 -0
- package/core/icons/icon-display-shopping-cart.svg +10 -0
- package/core/icons/icon-display-sla.svg +3 -0
- package/core/icons/icon-display-soc2-type2.svg +3 -0
- package/core/icons/icon-display-tech-account-comms.svg +3 -0
- package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
- package/core/icons/icon-display-virtual-events-col.svg +12 -0
- package/core/icons/icon-display-virtual-events.svg +12 -0
- package/core/icons/icon-gui-ably-badge.svg +3 -0
- package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
- package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
- package/core/icons/icon-gui-arrow-down.svg +3 -0
- package/core/icons/icon-gui-arrow-left.svg +3 -0
- package/core/icons/icon-gui-arrow-right.svg +3 -0
- package/core/icons/icon-gui-arrow-up.svg +3 -0
- package/core/icons/icon-gui-burger-menu.svg +5 -0
- package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
- package/core/icons/icon-gui-check-circled-fill.svg +4 -0
- package/core/icons/icon-gui-check-circled.svg +3 -0
- package/core/icons/icon-gui-checklist-checked.svg +3 -0
- package/core/icons/icon-gui-clock.svg +3 -0
- package/core/icons/icon-gui-close.svg +3 -0
- package/core/icons/icon-gui-copy.svg +10 -0
- package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
- package/core/icons/icon-gui-cross-circled.svg +3 -0
- package/core/icons/icon-gui-dash-circled.svg +3 -0
- package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
- package/core/icons/icon-gui-document-generic.svg +3 -0
- package/core/icons/icon-gui-enlarge.svg +3 -0
- package/core/icons/icon-gui-external-link.svg +3 -0
- package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
- package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
- package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
- package/core/icons/icon-gui-history.svg +3 -0
- package/core/icons/icon-gui-info.svg +3 -0
- package/core/icons/icon-gui-link-arrow.svg +3 -0
- package/core/icons/icon-gui-link.svg +4 -0
- package/core/icons/icon-gui-live-chat.svg +3 -0
- package/core/icons/icon-gui-minus.svg +3 -0
- package/core/icons/icon-gui-plus.svg +3 -0
- package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
- package/core/icons/icon-gui-refresh.svg +10 -0
- package/core/icons/icon-gui-resources.svg +3 -0
- package/core/icons/icon-gui-search.svg +3 -0
- package/core/icons/icon-gui-tick.svg +3 -0
- package/core/icons/icon-gui-warning.svg +5 -0
- package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
- package/core/icons/icon-multi-user-spaces-col.svg +13 -0
- package/core/icons/icon-social-x.svg +3 -0
- package/core/icons/icon-tech-apachekafka.svg +3 -0
- package/core/icons/linkedin.svg +3 -0
- package/core/icons/quote.svg +3 -0
- package/core/icons/stackoverflow.svg +3 -0
- package/core/icons/twitter.svg +3 -0
- package/core/icons/youtube.svg +11 -0
- package/core/icons.js +1 -0
- package/core/load-sprites.js +1 -0
- package/core/react-renderer.js +1 -0
- package/core/remote-blogs-posts.js +1 -0
- package/core/remote-data-store.js +1 -0
- package/core/remote-data-util.js +1 -0
- package/core/remote-session-data.js +1 -0
- package/core/scripts.js +1 -2
- package/core/sprites.svg +1 -525
- package/core/styles/buttons.css +122 -0
- package/core/styles/forms.css +62 -0
- package/core/styles/layout.css +19 -0
- package/core/styles/properties.css +276 -0
- package/core/styles/text.css +166 -0
- package/core/styles.base.css +1 -0
- package/core/styles.components.css +33 -0
- package/core/styles.css +2 -699
- package/core/url-base.js +1 -0
- package/core/utils/syntax-highlighter-registry.js +1 -0
- package/core/utils/syntax-highlighter.css +67 -0
- package/core/utils/syntax-highlighter.js +1 -0
- package/package.json +39 -34
- package/reset/scripts.js +1 -1
- package/reset/styles/normalize.css +353 -0
- package/reset/styles/reset.css +129 -0
- package/reset/styles.css +2 -477
- package/src/.DS_Store +0 -0
- package/src/core/.DS_Store +0 -0
- package/src/core/Accordion/Accordion.stories.tsx +39 -0
- package/src/core/Accordion/component.tsx +147 -0
- package/src/core/Code/Code.stories.tsx +71 -0
- package/src/core/Code/component.tsx +45 -0
- package/src/core/ConnectStateWrapper/{component.jsx → component.tsx} +7 -3
- package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
- package/src/core/ContactFooter/component.css +7 -9
- package/src/core/ContactFooter/component.tsx +92 -0
- package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
- package/src/core/CookieMessage/component.css +10 -12
- package/src/core/CookieMessage/{component.jsx → component.tsx} +15 -10
- package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
- package/src/core/CustomerLogos/component.tsx +35 -0
- package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
- package/src/core/DropdownMenu/{component.jsx → component.tsx} +64 -36
- package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
- package/src/core/FeaturedLink/{component.jsx → component.tsx} +26 -18
- package/src/core/Flash/Flash.stories.tsx +37 -0
- package/src/core/Flash/component.css +19 -21
- package/src/core/Flash/{component.jsx → component.tsx} +78 -39
- package/src/core/Footer/Footer.stories.tsx +26 -0
- package/src/core/Footer/component.css +22 -24
- package/src/core/Footer/{component.jsx → component.tsx} +237 -70
- package/src/core/Icon/Icon.stories.tsx +150 -0
- package/src/core/Icon/component.tsx +26 -0
- package/src/core/Loader/Loader.stories.tsx +21 -0
- package/src/core/Loader/{component.jsx → component.tsx} +11 -8
- package/src/core/Logo/Logo.stories.tsx +12 -0
- package/src/core/Logo/component.tsx +29 -0
- package/src/core/Meganav/.DS_Store +0 -0
- package/src/core/Meganav/Meganav.stories.tsx +86 -0
- package/src/core/Meganav/component.css +103 -105
- package/src/core/Meganav/component.js +6 -7
- package/src/core/Meganav/component.tsx +228 -0
- package/src/core/MeganavBlogPostsList/{component.jsx → component.tsx} +15 -14
- package/src/core/MeganavContentCompany/{component.jsx → component.tsx} +82 -33
- package/src/core/MeganavContentDevelopers/{component.jsx → component.tsx} +98 -34
- package/src/core/MeganavContentProducts/component.tsx +165 -0
- package/src/core/MeganavContentUseCases/component.tsx +244 -0
- package/src/core/MeganavControl/{component.jsx → component.tsx} +18 -12
- package/src/core/MeganavControlMobileDropdown/{component.jsx → component.tsx} +3 -7
- package/src/core/MeganavControlMobilePanelClose/{component.jsx → component.tsx} +16 -9
- package/src/core/MeganavControlMobilePanelOpen/component.tsx +32 -0
- package/src/core/MeganavItemsDesktop/component.tsx +68 -0
- package/src/core/MeganavItemsMobile/component.tsx +197 -0
- package/src/core/MeganavItemsSignedIn/{component.jsx → component.tsx} +59 -23
- package/src/core/MeganavSearch/component.tsx +36 -0
- package/src/core/MeganavSearchAutocomplete/component.tsx +12 -0
- package/src/core/MeganavSearchPanel/component.tsx +52 -0
- package/src/core/MeganavSearchSuggestions/component.tsx +62 -0
- package/src/core/Notice/component.css +4 -6
- package/src/core/Notice/component.js +1 -1
- package/src/core/Notice/component.tsx +104 -0
- package/src/core/SignOutLink/component.tsx +51 -0
- package/src/core/Slider/Slider.stories.tsx +45 -0
- package/src/core/Slider/component.css +4 -6
- package/src/core/Slider/component.tsx +112 -0
- package/src/core/Table/Table.tsx +30 -0
- package/src/core/Table/TableCell.tsx +84 -0
- package/src/core/Table/TableRow.tsx +25 -0
- package/src/core/Table/index.ts +24 -0
- package/src/core/Table/stories/Table.stories.tsx +12 -0
- package/src/core/Table/stories/data.tsx +113 -0
- package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
- package/src/core/Tooltip/component.tsx +60 -0
- package/src/core/icons.js +6 -0
- package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
- package/src/core/styles/buttons.css +121 -123
- package/src/core/styles/forms.css +49 -51
- package/src/core/styles/layout.css +14 -16
- package/src/core/styles/properties.css +250 -259
- package/src/core/styles/text.css +165 -167
- package/src/core/styles.components.css +22 -24
- package/src/core/utils/syntax-highlighter.css +55 -59
- package/src/pages/Buttons.mdx +121 -0
- package/src/pages/Chips.mdx +136 -0
- package/src/pages/Colour.mdx +23 -0
- package/src/pages/Forms.mdx +173 -0
- package/src/pages/Layout.mdx +58 -0
- package/src/pages/Typography.mdx +206 -0
- package/src/pages/utils.ts +70 -0
- package/tailwind.config.js +1 -7
- package/tailwind.extend.js +1 -1
- package/core/.gitignore +0 -1
- package/core/Code.jsx +0 -684
- package/core/CompanyAutocomplete/component.css +0 -46
- package/core/CompanyAutocomplete/component.js +0 -2
- package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
- package/core/ConnectStateWrapper.jsx +0 -222
- package/core/ContactFooter.jsx +0 -342
- package/core/CookieMessage.jsx +0 -204
- package/core/CustomerLogos.jsx +0 -144
- package/core/DropdownMenu.jsx +0 -313
- package/core/FeatureFooter/component.css +0 -13
- package/core/FeatureFooter/component.js +0 -1
- package/core/FeaturedLink.jsx +0 -241
- package/core/Flash.jsx +0 -622
- package/core/Footer.jsx +0 -587
- package/core/Icon.jsx +0 -152
- package/core/Loader.jsx +0 -154
- package/core/Logo.jsx +0 -147
- package/core/Meganav.jsx +0 -4151
- package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
- package/core/MeganavBlogPostsList.jsx +0 -296
- package/core/MeganavContentCompany.jsx +0 -1058
- package/core/MeganavContentDevelopers.jsx +0 -334
- package/core/MeganavContentProducts.jsx +0 -373
- package/core/MeganavContentUseCases.jsx +0 -341
- package/core/MeganavControl.jsx +0 -199
- package/core/MeganavControlMobileDropdown.jsx +0 -197
- package/core/MeganavControlMobilePanelClose.jsx +0 -198
- package/core/MeganavControlMobilePanelOpen.jsx +0 -193
- package/core/MeganavItemsDesktop.jsx +0 -279
- package/core/MeganavItemsMobile.jsx +0 -689
- package/core/MeganavItemsSignedIn.jsx +0 -643
- package/core/MeganavSearch.jsx +0 -434
- package/core/MeganavSearchAutocomplete.jsx +0 -117
- package/core/MeganavSearchPanel.jsx +0 -386
- package/core/MeganavSearchSuggestions.jsx +0 -299
- package/core/Notice.jsx +0 -914
- package/core/Showcase/component.css +0 -31
- package/core/Showcase/component.js +0 -1
- package/core/Showcase.jsx +0 -17
- package/core/SignOutLink.jsx +0 -157
- package/core/Slider.jsx +0 -400
- package/core/Uptime/component.css +0 -128
- package/core/Uptime/component.js +0 -1
- package/core/Uptime.jsx +0 -895
- package/core/scripts.js.LICENSE.txt +0 -1
- package/preview/tmp/.keep +0 -0
- package/preview/tmp/pids/.keep +0 -0
- package/reset/.gitignore +0 -1
- package/src/core/Code/component.html.erb +0 -3
- package/src/core/Code/component.jsx +0 -31
- package/src/core/Code/component.rb +0 -12
- package/src/core/CompanyAutocomplete/component.css +0 -45
- package/src/core/CompanyAutocomplete/component.js +0 -204
- package/src/core/ContactFooter/component.html.erb +0 -32
- package/src/core/ContactFooter/component.jsx +0 -66
- package/src/core/ContactFooter/component.rb +0 -13
- package/src/core/CustomerLogos/component.html.erb +0 -9
- package/src/core/CustomerLogos/component.jsx +0 -28
- package/src/core/CustomerLogos/component.rb +0 -14
- package/src/core/FeatureFooter/component.css +0 -12
- package/src/core/FeatureFooter/component.html.erb +0 -54
- package/src/core/FeatureFooter/component.js +0 -7
- package/src/core/FeatureFooter/component.rb +0 -30
- package/src/core/FeaturedLink/component.html.erb +0 -15
- package/src/core/FeaturedLink/component.rb +0 -21
- package/src/core/Footer/component.html.erb +0 -256
- package/src/core/Footer/component.rb +0 -14
- package/src/core/Icon/component.html.erb +0 -3
- package/src/core/Icon/component.jsx +0 -19
- package/src/core/Icon/component.rb +0 -25
- package/src/core/Loader/component.html.erb +0 -18
- package/src/core/Loader/component.rb +0 -19
- package/src/core/Logo/component.html.erb +0 -3
- package/src/core/Logo/component.jsx +0 -20
- package/src/core/Logo/component.rb +0 -31
- package/src/core/Meganav/component.html.erb +0 -31
- package/src/core/Meganav/component.jsx +0 -123
- package/src/core/Meganav/component.rb +0 -60
- package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
- package/src/core/MeganavBlogPostsList/component.rb +0 -13
- package/src/core/MeganavContentCompany/component.html.erb +0 -90
- package/src/core/MeganavContentCompany/component.rb +0 -14
- package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
- package/src/core/MeganavContentDevelopers/component.rb +0 -13
- package/src/core/MeganavContentProducts/component.html.erb +0 -83
- package/src/core/MeganavContentProducts/component.jsx +0 -105
- package/src/core/MeganavContentProducts/component.rb +0 -14
- package/src/core/MeganavContentUseCases/component.html.erb +0 -135
- package/src/core/MeganavContentUseCases/component.jsx +0 -147
- package/src/core/MeganavContentUseCases/component.rb +0 -13
- package/src/core/MeganavControl/component.html.erb +0 -6
- package/src/core/MeganavControl/component.rb +0 -20
- package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
- package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
- package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
- package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
- package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
- package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
- package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
- package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
- package/src/core/MeganavItemsDesktop/component.jsx +0 -49
- package/src/core/MeganavItemsDesktop/component.rb +0 -23
- package/src/core/MeganavItemsMobile/component.html.erb +0 -75
- package/src/core/MeganavItemsMobile/component.jsx +0 -137
- package/src/core/MeganavItemsMobile/component.rb +0 -21
- package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
- package/src/core/MeganavItemsSignedIn/component.rb +0 -33
- package/src/core/MeganavSearch/component.html.erb +0 -15
- package/src/core/MeganavSearch/component.jsx +0 -33
- package/src/core/MeganavSearch/component.rb +0 -13
- package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
- package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
- package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
- package/src/core/MeganavSearchPanel/component.html.erb +0 -22
- package/src/core/MeganavSearchPanel/component.jsx +0 -39
- package/src/core/MeganavSearchPanel/component.rb +0 -13
- package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
- package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
- package/src/core/MeganavSearchSuggestions/component.rb +0 -18
- package/src/core/Notice/component.html.erb +0 -16
- package/src/core/Notice/component.jsx +0 -71
- package/src/core/Notice/component.rb +0 -29
- package/src/core/Showcase/component.css +0 -30
- package/src/core/Showcase/component.html.erb +0 -76
- package/src/core/Showcase/component.js +0 -180
- package/src/core/Showcase/component.jsx +0 -0
- package/src/core/Showcase/component.rb +0 -190
- package/src/core/SignOutLink/component.html.erb +0 -1
- package/src/core/SignOutLink/component.jsx +0 -32
- package/src/core/SignOutLink/component.rb +0 -17
- package/src/core/Slider/component.html.erb +0 -28
- package/src/core/Slider/component.jsx +0 -86
- package/src/core/Slider/component.rb +0 -38
- package/src/core/Uptime/component.css +0 -127
- package/src/core/Uptime/component.html.erb +0 -0
- package/src/core/Uptime/component.js +0 -1
- package/src/core/Uptime/component.jsx +0 -183
- package/src/core/Uptime/component.rb +0 -7
- package/src/core/core.rb +0 -81
- /package/{preview/log/.keep → src/core/Accordion/component.js} +0 -0
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import T from "prop-types";
|
|
3
2
|
|
|
4
|
-
import FeaturedLink from "../FeaturedLink/component.
|
|
3
|
+
import FeaturedLink from "../FeaturedLink/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
type MeganavBlogPostsListProps = {
|
|
7
|
+
recentBlogPosts: {
|
|
8
|
+
link: string;
|
|
9
|
+
title: string;
|
|
10
|
+
pubDate: string;
|
|
11
|
+
}[];
|
|
12
|
+
absUrl: AbsUrl;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const MeganavBlogPostsList = ({
|
|
16
|
+
recentBlogPosts,
|
|
17
|
+
absUrl,
|
|
18
|
+
}: MeganavBlogPostsListProps) =>
|
|
7
19
|
recentBlogPosts ? (
|
|
8
20
|
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
9
21
|
<h3 className="ui-meganav-overline" id="meganav-company-panel-list-blog">
|
|
@@ -26,15 +38,4 @@ const MeganavBlogPostsList = ({ recentBlogPosts, absUrl }) =>
|
|
|
26
38
|
</div>
|
|
27
39
|
) : null;
|
|
28
40
|
|
|
29
|
-
MeganavBlogPostsList.propTypes = {
|
|
30
|
-
recentBlogPosts: T.arrayOf(
|
|
31
|
-
T.shape({
|
|
32
|
-
link: T.string,
|
|
33
|
-
title: T.string,
|
|
34
|
-
pubDate: T.string,
|
|
35
|
-
})
|
|
36
|
-
),
|
|
37
|
-
absUrl: T.func,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
41
|
export default MeganavBlogPostsList;
|
|
@@ -1,58 +1,91 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import T from "prop-types";
|
|
3
2
|
|
|
4
|
-
import MeganavBlogPostsList from "../MeganavBlogPostsList/component.
|
|
5
|
-
import ConnectStateWrapper from "../ConnectStateWrapper/component.
|
|
3
|
+
import MeganavBlogPostsList from "../MeganavBlogPostsList/component.tsx";
|
|
4
|
+
import ConnectStateWrapper from "../ConnectStateWrapper/component.tsx";
|
|
5
|
+
import { selectRecentBlogPosts } from "../remote-blogs-posts.js";
|
|
6
|
+
import Icon from "../Icon/component.tsx";
|
|
7
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
type MeganavContentCompanyProps = {
|
|
10
|
+
absUrl: AbsUrl;
|
|
11
|
+
paths: {
|
|
12
|
+
awsLogo: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
10
15
|
|
|
11
|
-
const MeganavContentCompany = ({
|
|
12
|
-
|
|
16
|
+
const MeganavContentCompany = ({
|
|
17
|
+
paths,
|
|
18
|
+
absUrl,
|
|
19
|
+
}: MeganavContentCompanyProps) => {
|
|
20
|
+
const BlogPostsList = ConnectStateWrapper(MeganavBlogPostsList, {
|
|
21
|
+
recentBlogPosts: selectRecentBlogPosts,
|
|
22
|
+
});
|
|
13
23
|
|
|
14
24
|
return (
|
|
15
25
|
<div className="flex max-w-screen-xl mx-auto">
|
|
16
26
|
<div className="ui-meganav-content-spacer"></div>
|
|
17
27
|
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
18
28
|
<div className="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
19
|
-
<h3
|
|
29
|
+
<h3
|
|
30
|
+
className="ui-meganav-overline"
|
|
31
|
+
id="meganav-company-panel-list-why-companies"
|
|
32
|
+
>
|
|
20
33
|
Why companies choose Ably
|
|
21
34
|
</h3>
|
|
22
35
|
<ul aria-labelledby="meganav-company-panel-list-why-companies">
|
|
23
36
|
<li>
|
|
24
|
-
<a
|
|
37
|
+
<a
|
|
38
|
+
href={absUrl("/customers")}
|
|
39
|
+
className="ui-meganav-media-with-image group"
|
|
40
|
+
>
|
|
25
41
|
<Icon name="icon-display-customers-col" size="2.5rem" />
|
|
26
42
|
<div className="flex flex-col justify-center">
|
|
27
43
|
<p className="ui-meganav-media-heading">Customers</p>
|
|
28
|
-
<p className="ui-meganav-media-copy">
|
|
44
|
+
<p className="ui-meganav-media-copy">
|
|
45
|
+
Ably supports customers across multiple industries.
|
|
46
|
+
</p>
|
|
29
47
|
</div>
|
|
30
48
|
</a>
|
|
31
49
|
</li>
|
|
32
50
|
<li>
|
|
33
|
-
<a
|
|
51
|
+
<a
|
|
52
|
+
href={absUrl("/case-studies")}
|
|
53
|
+
className="ui-meganav-media-with-image group"
|
|
54
|
+
>
|
|
34
55
|
<Icon name="icon-display-case-studies-col" size="2.5rem" />
|
|
35
56
|
<div className="flex flex-col justify-center">
|
|
36
57
|
<p className="ui-meganav-media-heading">Case studies</p>
|
|
37
|
-
<p className="ui-meganav-media-copy">
|
|
58
|
+
<p className="ui-meganav-media-copy">
|
|
59
|
+
Discover how customers are benefiting from Ably.
|
|
60
|
+
</p>
|
|
38
61
|
</div>
|
|
39
62
|
</a>
|
|
40
63
|
</li>
|
|
41
64
|
<li>
|
|
42
|
-
<a
|
|
65
|
+
<a
|
|
66
|
+
href={absUrl("/compare")}
|
|
67
|
+
className="ui-meganav-media-with-image group"
|
|
68
|
+
>
|
|
43
69
|
<Icon name="icon-display-compare-tech-col" size="2.5rem" />
|
|
44
70
|
<div className="flex flex-col justify-center">
|
|
45
71
|
<p className="ui-meganav-media-heading">Compare our tech</p>
|
|
46
|
-
<p className="ui-meganav-media-copy">
|
|
72
|
+
<p className="ui-meganav-media-copy">
|
|
73
|
+
Choose the right realtime service.
|
|
74
|
+
</p>
|
|
47
75
|
</div>
|
|
48
76
|
</a>
|
|
49
77
|
</li>
|
|
50
78
|
<li>
|
|
51
|
-
<a
|
|
79
|
+
<a
|
|
80
|
+
href={absUrl("/aws")}
|
|
81
|
+
className="ui-meganav-media-with-image group"
|
|
82
|
+
>
|
|
52
83
|
<img src={paths.awsLogo} alt="AWS logo" />
|
|
53
84
|
<div className="flex flex-col justify-center">
|
|
54
85
|
<p className="ui-meganav-media-heading">Partners</p>
|
|
55
|
-
<p className="ui-meganav-media-copy">
|
|
86
|
+
<p className="ui-meganav-media-copy">
|
|
87
|
+
Ably collaborates and integrates with AWS.
|
|
88
|
+
</p>
|
|
56
89
|
</div>
|
|
57
90
|
</a>
|
|
58
91
|
</li>
|
|
@@ -60,40 +93,63 @@ const MeganavContentCompany = ({ paths, absUrl }) => {
|
|
|
60
93
|
</div>
|
|
61
94
|
|
|
62
95
|
<div className="col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
63
|
-
<ul
|
|
96
|
+
<ul
|
|
97
|
+
className="md:mt-40"
|
|
98
|
+
aria-labelledby="meganav-company-panel-list-why-companies"
|
|
99
|
+
>
|
|
64
100
|
<li>
|
|
65
|
-
<a
|
|
101
|
+
<a
|
|
102
|
+
href={absUrl("/resources")}
|
|
103
|
+
className="ui-meganav-media-with-image group"
|
|
104
|
+
>
|
|
66
105
|
<Icon name="icon-display-resources-col" size="2.5rem" />
|
|
67
106
|
<div className="flex flex-col justify-center">
|
|
68
107
|
<p className="ui-meganav-media-heading">Resources</p>
|
|
69
|
-
<p className="ui-meganav-media-copy">
|
|
108
|
+
<p className="ui-meganav-media-copy">
|
|
109
|
+
Learn more about realtime with our handy resources.
|
|
110
|
+
</p>
|
|
70
111
|
</div>
|
|
71
112
|
</a>
|
|
72
113
|
</li>
|
|
73
114
|
<li>
|
|
74
|
-
<a
|
|
115
|
+
<a
|
|
116
|
+
href={absUrl("/about")}
|
|
117
|
+
className="ui-meganav-media-with-image group"
|
|
118
|
+
>
|
|
75
119
|
<Icon name="icon-display-about-ably-col" size="2.5rem" />
|
|
76
120
|
<div className="flex flex-col justify-center">
|
|
77
121
|
<p className="ui-meganav-media-heading">About Ably</p>
|
|
78
|
-
<p className="ui-meganav-media-copy">
|
|
122
|
+
<p className="ui-meganav-media-copy">
|
|
123
|
+
Find out more about Ably’s mission.
|
|
124
|
+
</p>
|
|
79
125
|
</div>
|
|
80
126
|
</a>
|
|
81
127
|
</li>
|
|
82
128
|
<li>
|
|
83
|
-
<a
|
|
129
|
+
<a
|
|
130
|
+
href={absUrl("/careers")}
|
|
131
|
+
className="ui-meganav-media-with-image group"
|
|
132
|
+
>
|
|
84
133
|
<Icon name="icon-display-careers-col" size="2.5rem" />
|
|
85
134
|
<div className="flex flex-col justify-center">
|
|
86
135
|
<p className="ui-meganav-media-heading">Careers</p>
|
|
87
|
-
<p className="ui-meganav-media-copy">
|
|
136
|
+
<p className="ui-meganav-media-copy">
|
|
137
|
+
Discover our open roles and core Ably values.
|
|
138
|
+
</p>
|
|
88
139
|
</div>
|
|
89
140
|
</a>
|
|
90
141
|
</li>
|
|
91
142
|
<li>
|
|
92
|
-
<a
|
|
143
|
+
<a
|
|
144
|
+
href={absUrl("/events")}
|
|
145
|
+
className="ui-meganav-media-with-image group"
|
|
146
|
+
>
|
|
93
147
|
<Icon name="icon-display-events-col" size="2.5rem" />
|
|
94
148
|
<div className="flex flex-col justify-center">
|
|
95
149
|
<p className="ui-meganav-media-heading">Events</p>
|
|
96
|
-
<p className="ui-meganav-media-copy">
|
|
150
|
+
<p className="ui-meganav-media-copy">
|
|
151
|
+
Join Ably at upcoming events.
|
|
152
|
+
</p>
|
|
97
153
|
</div>
|
|
98
154
|
</a>
|
|
99
155
|
</li>
|
|
@@ -107,11 +163,4 @@ const MeganavContentCompany = ({ paths, absUrl }) => {
|
|
|
107
163
|
);
|
|
108
164
|
};
|
|
109
165
|
|
|
110
|
-
MeganavContentCompany.propTypes = {
|
|
111
|
-
absUrl: T.func,
|
|
112
|
-
paths: T.shape({
|
|
113
|
-
awsLogo: T.string,
|
|
114
|
-
}),
|
|
115
|
-
};
|
|
116
|
-
|
|
117
166
|
export default MeganavContentCompany;
|
|
@@ -1,50 +1,73 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import T from "prop-types";
|
|
3
2
|
|
|
4
|
-
import Icon from "../Icon/component.
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
|
-
const MeganavContentDevelopers = ({ absUrl }) => (
|
|
6
|
+
const MeganavContentDevelopers = ({ absUrl }: { absUrl: AbsUrl }) => (
|
|
7
7
|
<div className="flex max-w-screen-xl mx-auto">
|
|
8
8
|
<div className="ui-meganav-content-spacer"></div>
|
|
9
9
|
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
10
10
|
<div className="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
11
|
-
<h3
|
|
11
|
+
<h3
|
|
12
|
+
className="ui-meganav-overline uppercase"
|
|
13
|
+
id="meganav-developers-panel-explore"
|
|
14
|
+
>
|
|
12
15
|
Explore
|
|
13
16
|
</h3>
|
|
14
17
|
<ul aria-labelledby="meganav-developers-panel-explore">
|
|
15
18
|
<li>
|
|
16
|
-
<a
|
|
19
|
+
<a
|
|
20
|
+
href={absUrl("/docs")}
|
|
21
|
+
className="ui-meganav-media-with-image group"
|
|
22
|
+
>
|
|
17
23
|
<Icon name="icon-display-docs-col" size="2.5rem" />
|
|
18
24
|
<div className="flex flex-col justify-center">
|
|
19
25
|
<p className="ui-meganav-media-heading">Documentation</p>
|
|
20
|
-
<p className="ui-meganav-media-copy">
|
|
26
|
+
<p className="ui-meganav-media-copy">
|
|
27
|
+
Technical guides to help you build with Ably.
|
|
28
|
+
</p>
|
|
21
29
|
</div>
|
|
22
30
|
</a>
|
|
23
31
|
</li>
|
|
24
32
|
<li>
|
|
25
|
-
<a
|
|
33
|
+
<a
|
|
34
|
+
href={absUrl("/docs/quick-start-guide")}
|
|
35
|
+
className="ui-meganav-media-with-image group"
|
|
36
|
+
>
|
|
26
37
|
<Icon name="icon-display-quickstart-guides-col" size="2.5rem" />
|
|
27
38
|
<div className="flex flex-col justify-center">
|
|
28
39
|
<p className="ui-meganav-media-heading">Quickstart guides</p>
|
|
29
|
-
<p className="ui-meganav-media-copy">
|
|
40
|
+
<p className="ui-meganav-media-copy">
|
|
41
|
+
Documentation to help you get started quickly.
|
|
42
|
+
</p>
|
|
30
43
|
</div>
|
|
31
44
|
</a>
|
|
32
45
|
</li>
|
|
33
46
|
<li>
|
|
34
|
-
<a
|
|
47
|
+
<a
|
|
48
|
+
href={absUrl("/integrations")}
|
|
49
|
+
className="ui-meganav-media-with-image group"
|
|
50
|
+
>
|
|
35
51
|
<Icon name="icon-display-integrations-col" size="2.5rem" />
|
|
36
52
|
<div className="flex flex-col justify-center">
|
|
37
53
|
<p className="ui-meganav-media-heading">Integrations</p>
|
|
38
|
-
<p className="ui-meganav-media-copy">
|
|
54
|
+
<p className="ui-meganav-media-copy">
|
|
55
|
+
Find out more about Ably integrations.{" "}
|
|
56
|
+
</p>
|
|
39
57
|
</div>
|
|
40
58
|
</a>
|
|
41
59
|
</li>
|
|
42
60
|
<li>
|
|
43
|
-
<a
|
|
61
|
+
<a
|
|
62
|
+
href={absUrl("/examples")}
|
|
63
|
+
className="ui-meganav-media-with-image group"
|
|
64
|
+
>
|
|
44
65
|
<Icon name="icon-display-examples-col" size="2.5rem" />
|
|
45
66
|
<div className="flex flex-col justify-center">
|
|
46
67
|
<p className="ui-meganav-media-heading">Live examples</p>
|
|
47
|
-
<p className="ui-meganav-media-copy">
|
|
68
|
+
<p className="ui-meganav-media-copy">
|
|
69
|
+
Discover our features and their use cases.
|
|
70
|
+
</p>
|
|
48
71
|
</div>
|
|
49
72
|
</a>
|
|
50
73
|
</li>
|
|
@@ -52,40 +75,67 @@ const MeganavContentDevelopers = ({ absUrl }) => (
|
|
|
52
75
|
</div>
|
|
53
76
|
|
|
54
77
|
<div className="col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
55
|
-
<ul
|
|
78
|
+
<ul
|
|
79
|
+
className="md:mt-40"
|
|
80
|
+
aria-labelledby="meganav-developers-panel-explore"
|
|
81
|
+
>
|
|
56
82
|
<li>
|
|
57
|
-
<a
|
|
83
|
+
<a
|
|
84
|
+
href={absUrl("/docs/sdks")}
|
|
85
|
+
className="ui-meganav-media-with-image group"
|
|
86
|
+
>
|
|
58
87
|
<Icon name="icon-display-sdks-col" size="2.5rem" />
|
|
59
88
|
<div className="flex flex-col justify-center">
|
|
60
89
|
<p className="ui-meganav-media-heading">SDKs</p>
|
|
61
|
-
<p className="ui-meganav-media-copy">
|
|
90
|
+
<p className="ui-meganav-media-copy">
|
|
91
|
+
Download an SDK to help you build realtime apps faster.
|
|
92
|
+
</p>
|
|
62
93
|
</div>
|
|
63
94
|
</a>
|
|
64
95
|
</li>
|
|
65
96
|
<li>
|
|
66
|
-
<a
|
|
97
|
+
<a
|
|
98
|
+
href={absUrl("/tutorials")}
|
|
99
|
+
className="ui-meganav-media-with-image group"
|
|
100
|
+
>
|
|
67
101
|
<Icon name="icon-display-tutorials-demos-col" size="2.5rem" />
|
|
68
102
|
<div className="flex flex-col justify-center">
|
|
69
103
|
<p className="ui-meganav-media-heading">Tutorials & Demos</p>
|
|
70
|
-
<p className="ui-meganav-media-copy">
|
|
104
|
+
<p className="ui-meganav-media-copy">
|
|
105
|
+
Get stuck in with our hands-on resources.
|
|
106
|
+
</p>
|
|
71
107
|
</div>
|
|
72
108
|
</a>
|
|
73
109
|
</li>
|
|
74
110
|
<li>
|
|
75
|
-
<a
|
|
111
|
+
<a
|
|
112
|
+
href={absUrl("/reference-guide-chat")}
|
|
113
|
+
className="ui-meganav-media-with-image group"
|
|
114
|
+
>
|
|
76
115
|
<Icon name="icon-display-chat-col" size="2.5rem" />
|
|
77
116
|
<div className="flex flex-col justify-center">
|
|
78
|
-
<p className="ui-meganav-media-heading">
|
|
79
|
-
|
|
117
|
+
<p className="ui-meganav-media-heading">
|
|
118
|
+
Chat apps reference guide
|
|
119
|
+
</p>
|
|
120
|
+
<p className="ui-meganav-media-copy">
|
|
121
|
+
Learn how to build chat apps with Ably.
|
|
122
|
+
</p>
|
|
80
123
|
</div>
|
|
81
124
|
</a>
|
|
82
125
|
</li>
|
|
83
126
|
<li>
|
|
84
|
-
<a
|
|
127
|
+
<a
|
|
128
|
+
href={absUrl("/reference-guide-multiplayer")}
|
|
129
|
+
className="ui-meganav-media-with-image group"
|
|
130
|
+
>
|
|
85
131
|
<Icon name="icon-multi-user-spaces-col" size="2.5rem" />
|
|
86
132
|
<div className="flex flex-col justify-center">
|
|
87
|
-
<p className="ui-meganav-media-heading">
|
|
88
|
-
|
|
133
|
+
<p className="ui-meganav-media-heading">
|
|
134
|
+
Multiplayer reference guide
|
|
135
|
+
</p>
|
|
136
|
+
<p className="ui-meganav-media-copy">
|
|
137
|
+
Learn how to build collaborative features with Ably.
|
|
138
|
+
</p>
|
|
89
139
|
</div>
|
|
90
140
|
</a>
|
|
91
141
|
</li>
|
|
@@ -93,33 +143,48 @@ const MeganavContentDevelopers = ({ absUrl }) => (
|
|
|
93
143
|
</div>
|
|
94
144
|
|
|
95
145
|
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
96
|
-
<h3
|
|
146
|
+
<h3
|
|
147
|
+
className="ui-meganav-overline uppercase"
|
|
148
|
+
id="meganav-developers-panel-quick-links"
|
|
149
|
+
>
|
|
97
150
|
Quick links
|
|
98
151
|
</h3>
|
|
99
152
|
<ul aria-labelledby="meganav-developers-panel-quick-links">
|
|
100
153
|
<li>
|
|
101
|
-
<a
|
|
154
|
+
<a
|
|
155
|
+
href="https://discord.gg/jwBPhEZ9g5"
|
|
156
|
+
className="group ui-meganav-media py-12"
|
|
157
|
+
>
|
|
102
158
|
<p className="ui-meganav-media-heading">Discord</p>
|
|
103
159
|
</a>
|
|
104
160
|
</li>
|
|
105
161
|
<li>
|
|
106
|
-
<a
|
|
162
|
+
<a
|
|
163
|
+
href="https://github.com/ably"
|
|
164
|
+
className="group ui-meganav-media py-12"
|
|
165
|
+
>
|
|
107
166
|
<p className="ui-meganav-media-heading">GitHub</p>
|
|
108
167
|
</a>
|
|
109
168
|
</li>
|
|
110
169
|
<li>
|
|
111
|
-
<a
|
|
170
|
+
<a
|
|
171
|
+
href="https://changelog.ably.com/"
|
|
172
|
+
className="group ui-meganav-media py-12"
|
|
173
|
+
>
|
|
112
174
|
<p className="ui-meganav-media-heading">Changelog</p>
|
|
113
175
|
</a>
|
|
114
176
|
</li>
|
|
115
177
|
<li>
|
|
116
|
-
<a
|
|
178
|
+
<a
|
|
179
|
+
href="https://status.ably.com/"
|
|
180
|
+
className="group ui-meganav-media py-12"
|
|
181
|
+
>
|
|
117
182
|
<p className="ui-meganav-media-heading">
|
|
118
183
|
Status
|
|
119
184
|
<iframe
|
|
120
185
|
title="Ably status"
|
|
121
186
|
src="https://status.ably.com/embed/icon"
|
|
122
|
-
|
|
187
|
+
style={{ backgroundColor: "transparent" }}
|
|
123
188
|
frameBorder="0"
|
|
124
189
|
scrolling="no"
|
|
125
190
|
className="w-24 h-24 ml-4 border-none pointer-events-none align-middle"
|
|
@@ -128,7 +193,10 @@ const MeganavContentDevelopers = ({ absUrl }) => (
|
|
|
128
193
|
</a>
|
|
129
194
|
</li>
|
|
130
195
|
<li>
|
|
131
|
-
<a
|
|
196
|
+
<a
|
|
197
|
+
href={absUrl("/support")}
|
|
198
|
+
className="group ui-meganav-media py-12"
|
|
199
|
+
>
|
|
132
200
|
<p className="ui-meganav-media-heading">Support & FAQs</p>
|
|
133
201
|
</a>
|
|
134
202
|
</li>
|
|
@@ -139,8 +207,4 @@ const MeganavContentDevelopers = ({ absUrl }) => (
|
|
|
139
207
|
</div>
|
|
140
208
|
);
|
|
141
209
|
|
|
142
|
-
MeganavContentDevelopers.propTypes = {
|
|
143
|
-
absUrl: T.func,
|
|
144
|
-
};
|
|
145
|
-
|
|
146
210
|
export default MeganavContentDevelopers;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import FeaturedLink from "../FeaturedLink/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
|
+
|
|
6
|
+
type MeganavContentProductsProps = {
|
|
7
|
+
paths: {
|
|
8
|
+
ablyStack: string;
|
|
9
|
+
iconSprites: string;
|
|
10
|
+
};
|
|
11
|
+
absUrl: AbsUrl;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const MeganavContentProducts = ({
|
|
15
|
+
paths,
|
|
16
|
+
absUrl,
|
|
17
|
+
}: MeganavContentProductsProps) => (
|
|
18
|
+
<div className="flex max-w-screen-xl mx-auto">
|
|
19
|
+
<div className="ui-meganav-content-spacer bg-extra-light-grey"></div>
|
|
20
|
+
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
21
|
+
<div className="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
|
|
22
|
+
<div className="flex mb-20">
|
|
23
|
+
<img src={paths.ablyStack} alt="Ably homepage" />
|
|
24
|
+
<h3 className="ui-meganav-overline ml-24">The Ably Platform</h3>
|
|
25
|
+
</div>
|
|
26
|
+
<p className="ui-text-p2 font-bold mb-24" style={{ maxWidth: "330px" }}>
|
|
27
|
+
Easily power any realtime experience in your application. No complex
|
|
28
|
+
infrastructure to manage or provision. Just a simple API that handles
|
|
29
|
+
everything realtime, and lets you focus on your code.
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<FeaturedLink url={absUrl("/platform")} textSize="text-p2">
|
|
33
|
+
Explore how it works
|
|
34
|
+
</FeaturedLink>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div className="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
38
|
+
<h3
|
|
39
|
+
className="ui-meganav-overline"
|
|
40
|
+
id="meganav-products-panel-list-examples"
|
|
41
|
+
>
|
|
42
|
+
Products
|
|
43
|
+
</h3>
|
|
44
|
+
<ul
|
|
45
|
+
className="mb-16"
|
|
46
|
+
aria-labelledby="meganav-products-panel-list-examples"
|
|
47
|
+
>
|
|
48
|
+
<li>
|
|
49
|
+
<a
|
|
50
|
+
href={absUrl("/solutions/channels")}
|
|
51
|
+
className="group ui-meganav-media"
|
|
52
|
+
>
|
|
53
|
+
<p className="ui-meganav-media-heading">Pub/Sub Channels</p>
|
|
54
|
+
<p className="ui-meganav-media-copy">
|
|
55
|
+
Build infinitely scalable realtime applications.
|
|
56
|
+
</p>
|
|
57
|
+
</a>
|
|
58
|
+
</li>
|
|
59
|
+
<li>
|
|
60
|
+
<a href={absUrl("/spaces")} className="group ui-meganav-media">
|
|
61
|
+
<p className="ui-meganav-media-heading">Spaces (Beta)</p>
|
|
62
|
+
<p className="ui-meganav-media-copy">
|
|
63
|
+
Create multi-user collaborative environments.
|
|
64
|
+
</p>
|
|
65
|
+
</a>
|
|
66
|
+
</li>
|
|
67
|
+
<li>
|
|
68
|
+
<a href={absUrl("/livesync")} className="group ui-meganav-media">
|
|
69
|
+
<p className="ui-meganav-media-heading">
|
|
70
|
+
LiveSync (Early access)
|
|
71
|
+
</p>
|
|
72
|
+
<p className="ui-meganav-media-copy">
|
|
73
|
+
Keep clients in sync with any relational database.
|
|
74
|
+
</p>
|
|
75
|
+
</a>
|
|
76
|
+
</li>
|
|
77
|
+
</ul>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
81
|
+
<h3
|
|
82
|
+
className="ui-meganav-overline"
|
|
83
|
+
id="meganav-products-panel-list-our-technology"
|
|
84
|
+
>
|
|
85
|
+
Technology
|
|
86
|
+
</h3>
|
|
87
|
+
<ul
|
|
88
|
+
className="mb-16"
|
|
89
|
+
aria-labelledby="meganav-products-panel-list-our-technology"
|
|
90
|
+
>
|
|
91
|
+
<li>
|
|
92
|
+
<a
|
|
93
|
+
href={absUrl("/four-pillars-of-dependability#performance")}
|
|
94
|
+
className="ui-meganav-media group"
|
|
95
|
+
>
|
|
96
|
+
<p className="ui-meganav-media-heading">
|
|
97
|
+
Predictable performance
|
|
98
|
+
</p>
|
|
99
|
+
<p className="ui-meganav-media-copy">
|
|
100
|
+
A low-latency and high-throughput global network.
|
|
101
|
+
</p>
|
|
102
|
+
</a>
|
|
103
|
+
</li>
|
|
104
|
+
<li>
|
|
105
|
+
<a
|
|
106
|
+
href={absUrl("/four-pillars-of-dependability#integrity")}
|
|
107
|
+
className="ui-meganav-media group"
|
|
108
|
+
>
|
|
109
|
+
<p className="ui-meganav-media-heading">
|
|
110
|
+
Guaranteed ordering & delivery
|
|
111
|
+
</p>
|
|
112
|
+
<p className="ui-meganav-media-copy">
|
|
113
|
+
Data is delivered - in order - even after disconnections.
|
|
114
|
+
</p>
|
|
115
|
+
</a>
|
|
116
|
+
</li>
|
|
117
|
+
<li>
|
|
118
|
+
<a
|
|
119
|
+
href={absUrl("/four-pillars-of-dependability#reliability")}
|
|
120
|
+
className="ui-meganav-media group"
|
|
121
|
+
>
|
|
122
|
+
<p className="ui-meganav-media-heading">
|
|
123
|
+
Fault tolerant infrastructure
|
|
124
|
+
</p>
|
|
125
|
+
<p className="ui-meganav-media-copy">
|
|
126
|
+
Redundancy is built in at global and regional levels.
|
|
127
|
+
</p>
|
|
128
|
+
</a>
|
|
129
|
+
</li>
|
|
130
|
+
<li>
|
|
131
|
+
<a
|
|
132
|
+
href={absUrl("/four-pillars-of-dependability#availability")}
|
|
133
|
+
className="ui-meganav-media group"
|
|
134
|
+
>
|
|
135
|
+
<p className="ui-meganav-media-heading">
|
|
136
|
+
High scalability & availability
|
|
137
|
+
</p>
|
|
138
|
+
<p className="ui-meganav-media-copy">
|
|
139
|
+
Built for scale with legitimate 99.999% uptime SLAs.
|
|
140
|
+
</p>
|
|
141
|
+
</a>
|
|
142
|
+
</li>
|
|
143
|
+
<li>
|
|
144
|
+
<a href={absUrl("/network")} className="ui-meganav-media group">
|
|
145
|
+
<p className="ui-meganav-media-heading">Global edge network</p>
|
|
146
|
+
<p className="ui-meganav-media-copy">
|
|
147
|
+
An edge network of 15 core routing datacenters and 205+ PoPs.
|
|
148
|
+
</p>
|
|
149
|
+
</a>
|
|
150
|
+
</li>
|
|
151
|
+
</ul>
|
|
152
|
+
|
|
153
|
+
<FeaturedLink
|
|
154
|
+
url={absUrl("/four-pillars-of-dependability")}
|
|
155
|
+
textSize="text-p3"
|
|
156
|
+
>
|
|
157
|
+
Explore Four Pillars of Dependability
|
|
158
|
+
</FeaturedLink>
|
|
159
|
+
</div>
|
|
160
|
+
</section>
|
|
161
|
+
<div className="ui-meganav-content-spacer"></div>
|
|
162
|
+
</div>
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
export default MeganavContentProducts;
|