@ably/ui 16.0.0-dev.f34cb058 → 16.1.0-dev.d9810f04

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 (110) hide show
  1. package/README.md +1 -1
  2. package/core/.DS_Store +0 -0
  3. package/core/Flyout.js +1 -1
  4. package/core/Flyout.js.map +1 -1
  5. package/core/Footer/data.js +2 -0
  6. package/core/Footer/data.js.map +1 -0
  7. package/core/Footer.js +1 -1
  8. package/core/Footer.js.map +1 -1
  9. package/core/Header/HeaderLinks.js.map +1 -1
  10. package/core/Header.js +1 -1
  11. package/core/Header.js.map +1 -1
  12. package/core/LegacyFooter/LegacyFooter.js +2 -0
  13. package/core/LegacyFooter/LegacyFooter.js.map +1 -0
  14. package/core/Meganav/.DS_Store +0 -0
  15. package/core/Meganav/component.js +2 -0
  16. package/core/{LegacyMeganav → Meganav}/component.js.map +1 -1
  17. package/core/Meganav.js +2 -0
  18. package/core/Meganav.js.map +1 -0
  19. package/core/MeganavBlogPostsList/component.js +2 -0
  20. package/core/MeganavBlogPostsList/component.js.map +1 -0
  21. package/core/MeganavBlogPostsList.js.map +1 -1
  22. package/core/MeganavContentCompany.js.map +1 -1
  23. package/core/MeganavContentDevelopers.js.map +1 -1
  24. package/core/MeganavContentProducts.js.map +1 -1
  25. package/core/MeganavContentUseCases.js.map +1 -1
  26. package/core/MeganavControl/component.js +2 -0
  27. package/core/MeganavControl/component.js.map +1 -0
  28. package/core/MeganavControl.js.map +1 -1
  29. package/core/MeganavControlMobileDropdown/component.js +2 -0
  30. package/core/MeganavControlMobileDropdown/component.js.map +1 -0
  31. package/core/MeganavControlMobileDropdown.js.map +1 -1
  32. package/core/MeganavControlMobilePanelClose/component.js +2 -0
  33. package/core/MeganavControlMobilePanelClose/component.js.map +1 -0
  34. package/core/MeganavControlMobilePanelOpen/component.js +2 -0
  35. package/core/MeganavControlMobilePanelOpen/component.js.map +1 -0
  36. package/core/MeganavItemsDesktop.js +1 -1
  37. package/core/MeganavItemsDesktop.js.map +1 -1
  38. package/core/MeganavItemsMobile.js +1 -1
  39. package/core/MeganavItemsMobile.js.map +1 -1
  40. package/core/MeganavItemsSignedIn.js.map +1 -1
  41. package/core/MeganavSearch.js.map +1 -1
  42. package/core/MeganavSearchAutocomplete/component.js +2 -0
  43. package/core/MeganavSearchAutocomplete/component.js.map +1 -0
  44. package/core/MeganavSearchPanel.js.map +1 -1
  45. package/core/MeganavSearchSuggestions/component.js +2 -0
  46. package/core/MeganavSearchSuggestions/component.js.map +1 -0
  47. package/core/MeganavSearchSuggestions.js.map +1 -1
  48. package/core/Notice/component.js +1 -1
  49. package/core/Notice/component.js.map +1 -1
  50. package/core/SegmentedControl.js +2 -0
  51. package/core/SegmentedControl.js.map +1 -0
  52. package/core/SignOutLink.js.map +1 -1
  53. package/core/insights/command-queue.js +2 -0
  54. package/core/insights/command-queue.js.map +1 -0
  55. package/core/insights/datalayer.js +2 -0
  56. package/core/insights/datalayer.js.map +1 -0
  57. package/core/insights/index.js +1 -1
  58. package/core/insights/index.js.map +1 -1
  59. package/core/insights/index.test.js +2 -0
  60. package/core/insights/index.test.js.map +1 -0
  61. package/core/insights/logger.js +2 -0
  62. package/core/insights/logger.js.map +1 -0
  63. package/core/insights/mixpanel.js +1 -1
  64. package/core/insights/mixpanel.js.map +1 -1
  65. package/core/insights/posthog.js +1 -1
  66. package/core/insights/posthog.js.map +1 -1
  67. package/core/insights/service.js +2 -0
  68. package/core/insights/service.js.map +1 -0
  69. package/core/insights/types.js.map +1 -1
  70. package/core/scripts.js +1 -1
  71. package/core/scripts.js.map +1 -1
  72. package/index.d.ts +177 -221
  73. package/package.json +10 -6
  74. package/core/ContactFooter/component.css +0 -11
  75. package/core/ContactFooter/component.js +0 -2
  76. package/core/ContactFooter/component.js.map +0 -1
  77. package/core/ContactFooter.js +0 -2
  78. package/core/ContactFooter.js.map +0 -1
  79. package/core/LegacyMeganav/MeganavBlogPostsList/component.js +0 -2
  80. package/core/LegacyMeganav/MeganavBlogPostsList/component.js.map +0 -1
  81. package/core/LegacyMeganav/MeganavControl/component.js +0 -2
  82. package/core/LegacyMeganav/MeganavControl/component.js.map +0 -1
  83. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js +0 -2
  84. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js.map +0 -1
  85. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js +0 -2
  86. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js.map +0 -1
  87. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js +0 -2
  88. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js.map +0 -1
  89. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js +0 -2
  90. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js.map +0 -1
  91. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js +0 -2
  92. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js.map +0 -1
  93. package/core/LegacyMeganav/component.js +0 -2
  94. package/core/LegacyMeganav.js +0 -2
  95. package/core/LegacyMeganav.js.map +0 -1
  96. package/core/Meganav/Meganav.js +0 -2
  97. package/core/Meganav/Meganav.js.map +0 -1
  98. package/core/Meganav/MeganavMobile.js +0 -2
  99. package/core/Meganav/MeganavMobile.js.map +0 -1
  100. package/core/Meganav/MeganavPanel.js +0 -2
  101. package/core/Meganav/MeganavPanel.js.map +0 -1
  102. package/core/Meganav/data.js +0 -2
  103. package/core/Meganav/data.js.map +0 -1
  104. package/core/Meganav/images/fan-engagement-nav-image.png +0 -0
  105. package/core/Meganav/images/founders-nav-image.png +0 -0
  106. package/core/hubspot-chat-toggle.js +0 -2
  107. package/core/hubspot-chat-toggle.js.map +0 -1
  108. /package/core/{Footer → LegacyFooter}/component.css +0 -0
  109. /package/core/{LegacyMeganav → Meganav}/component.css +0 -0
  110. /package/core/{LegacyMeganav → Meganav}/component.json +0 -0
package/index.d.ts CHANGED
@@ -306,15 +306,6 @@ export default ConnectStateWrapper;
306
306
  //# sourceMappingURL=ConnectStateWrapper.d.ts.map
307
307
  }
308
308
 
309
- declare module '@ably/ui/core/ContactFooter' {
310
- type ContactFooterProps = {
311
- urlBase: string;
312
- };
313
- const ContactFooter: ({ urlBase }: ContactFooterProps) => import("react/jsx-runtime").JSX.Element;
314
- export default ContactFooter;
315
- //# sourceMappingURL=ContactFooter.d.ts.map
316
- }
317
-
318
309
  declare module '@ably/ui/core/CookieMessage' {
319
310
  type CookieMessageProps = {
320
311
  cookieId: string;
@@ -475,9 +466,9 @@ type FlyoutProps = {
475
466
  */
476
467
  menuItems: {
477
468
  /**
478
- * Name for the menu item.
469
+ * Label for the menu item.
479
470
  */
480
- name: string;
471
+ label: string;
481
472
  /**
482
473
  * Optional content to be displayed in the flyout panel.
483
474
  */
@@ -517,19 +508,37 @@ export default Flyout;
517
508
  //# sourceMappingURL=Flyout.d.ts.map
518
509
  }
519
510
 
520
- declare module '@ably/ui/core/Footer' {
521
- type FooterProps = {
522
- paths: {
523
- ablyStack: string;
524
- bestSupport: string;
525
- highPerformer: string;
526
- usersMostLikely: string;
527
- bestMeetsRequirements: string;
528
- };
529
- urlBase: string;
530
- statusUrl: string;
511
+ declare module '@ably/ui/core/Footer/data' {
512
+ import { IconName } from ".@ably/ui/core/Icon/types";
513
+ type FooterLinksProps = {
514
+ title: string;
515
+ links: {
516
+ label: string;
517
+ link: string;
518
+ badge?: string;
519
+ }[];
531
520
  };
532
- const Footer: ({ paths, urlBase, statusUrl }: FooterProps) => import("react/jsx-runtime").JSX.Element;
521
+ export const footerLinks: FooterLinksProps[];
522
+ export const bottomFooterLinks: {
523
+ label: string;
524
+ link: string;
525
+ }[];
526
+ export const socialLinks: {
527
+ key: string;
528
+ colorIcon: IconName;
529
+ monoIcon: IconName;
530
+ link: string;
531
+ }[];
532
+ export const ablyAwards: {
533
+ image: string;
534
+ desc: string;
535
+ }[];
536
+ export {};
537
+ //# sourceMappingURL=data.d.ts.map
538
+ }
539
+
540
+ declare module '@ably/ui/core/Footer' {
541
+ const Footer: () => import("react/jsx-runtime").JSX.Element;
533
542
  export default Footer;
534
543
  //# sourceMappingURL=Footer.d.ts.map
535
544
  }
@@ -537,7 +546,9 @@ export default Footer;
537
546
  declare module '@ably/ui/core/Header/HeaderLinks' {
538
547
  import React from "react";
539
548
  import { HeaderProps } from ".@ably/ui/core/Header";
540
- export const HeaderLinks: React.FC<Pick<HeaderProps, "sessionState" | "headerLinks" | "searchButtonVisibility" | "searchButton" | "className">>;
549
+ export const HeaderLinks: React.FC<Pick<HeaderProps, "sessionState" | "headerLinks" | "searchButtonVisibility" | "searchButton"> & {
550
+ className?: string;
551
+ }>;
541
552
  //# sourceMappingURL=HeaderLinks.d.ts.map
542
553
  }
543
554
 
@@ -577,10 +588,6 @@ export type HeaderSessionState = {
577
588
  * Props for the Header component.
578
589
  */
579
590
  export type HeaderProps = {
580
- /**
581
- * Optional classnames to add to the header
582
- */
583
- className?: string;
584
591
  /**
585
592
  * Optional search bar element.
586
593
  */
@@ -685,63 +692,67 @@ export default Icon;
685
692
  //# sourceMappingURL=Icon.d.ts.map
686
693
  }
687
694
 
688
- declare module '@ably/ui/core/LegacyMeganav/MeganavControl/component' {
689
- export default MeganavControl;
690
- function MeganavControl(): {
691
- teardown: () => void;
692
- clear: () => void;
693
- }[];
694
- //# sourceMappingURL=component.d.ts.map
695
- }
696
-
697
- declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobileDropdown/component' {
698
- export default MeganavControlMobileDropdown;
699
- function MeganavControlMobileDropdown({ clearPanels }: {
700
- clearPanels: any;
701
- }): {
702
- teardown: () => void;
703
- clear: () => void;
695
+ declare module '@ably/ui/core/LegacyFooter/LegacyFooter' {
696
+ type LegacyFooterProps = {
697
+ paths: {
698
+ ablyStack: string;
699
+ bestSupport: string;
700
+ highPerformer: string;
701
+ usersMostLikely: string;
702
+ bestMeetsRequirements: string;
703
+ };
704
+ urlBase: string;
705
+ statusUrl: string;
704
706
  };
705
- //# sourceMappingURL=component.d.ts.map
706
- }
707
-
708
- declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelClose/component' {
709
- function _default(): {
710
- teardown: () => void;
711
- clear: () => void;
712
- }[];
713
- export default _default;
714
- //# sourceMappingURL=component.d.ts.map
707
+ const LegacyFooter: ({ paths, urlBase, statusUrl }: LegacyFooterProps) => import("react/jsx-runtime").JSX.Element;
708
+ export default LegacyFooter;
709
+ //# sourceMappingURL=LegacyFooter.d.ts.map
715
710
  }
716
711
 
717
- declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelOpen/component' {
718
- function _default(): {
719
- teardown: () => void;
720
- clear: () => void;
721
- }[];
722
- export default _default;
723
- //# sourceMappingURL=component.d.ts.map
712
+ declare module '@ably/ui/core/LinkButton' {
713
+ import React from "react";
714
+ import { ButtonPropsBase } from "@ably/ui/core/Button";
715
+ import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
716
+ export type LinkButtonProps = ButtonPropsBase & {
717
+ disabled?: boolean;
718
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
719
+ iconColor?: ColorClass | ColorThemeSet;
720
+ } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
721
+ const LinkButton: React.FC<LinkButtonProps>;
722
+ export default LinkButton;
723
+ //# sourceMappingURL=LinkButton.d.ts.map
724
724
  }
725
725
 
726
- declare module '@ably/ui/core/LegacyMeganav/MeganavSearchAutocomplete/component' {
727
- function _default(apiKey: any): {
728
- teardown: () => void;
729
- clear: () => void;
730
- }[];
731
- export default _default;
732
- //# sourceMappingURL=component.d.ts.map
726
+ declare module '@ably/ui/core/Loader' {
727
+ type LoaderProps = {
728
+ size?: string;
729
+ ringColor?: string;
730
+ additionalCSS?: string;
731
+ };
732
+ const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
733
+ export default Loader;
734
+ //# sourceMappingURL=Loader.d.ts.map
733
735
  }
734
736
 
735
- declare module '@ably/ui/core/LegacyMeganav/MeganavSearchSuggestions/component' {
736
- export default MeganavSearchSuggestions;
737
- function MeganavSearchSuggestions(): {
738
- teardown: () => void;
739
- clear: () => void;
737
+ declare module '@ably/ui/core/Logo' {
738
+ import React from "react";
739
+ type LogoProps = {
740
+ dataId?: string;
741
+ logoUrl?: string;
742
+ logoAlt?: string;
743
+ href?: string;
744
+ additionalImgAttrs?: object;
745
+ additionalLinkAttrs?: object;
746
+ theme?: "light" | "dark";
747
+ variant?: "default" | "mono";
748
+ orientation?: "default" | "stacked";
740
749
  };
741
- //# sourceMappingURL=component.d.ts.map
750
+ const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
751
+ export default _default;
752
+ //# sourceMappingURL=Logo.d.ts.map
742
753
  }
743
754
 
744
- declare module '@ably/ui/core/LegacyMeganav/component' {
755
+ declare module '@ably/ui/core/Meganav/component' {
745
756
  export default function Meganav({ themeName, addSearchApiKey }: {
746
757
  themeName: any;
747
758
  addSearchApiKey: any;
@@ -749,7 +760,7 @@ export default function Meganav({ themeName, addSearchApiKey }: {
749
760
  //# sourceMappingURL=component.d.ts.map
750
761
  }
751
762
 
752
- declare module '@ably/ui/core/LegacyMeganav' {
763
+ declare module '@ably/ui/core/Meganav' {
753
764
  import { ReactNode } from "react";
754
765
  import { ColorClass } from "@ably/ui/core/styles/colors/types";
755
766
  export type MeganavTheme = {
@@ -831,136 +842,11 @@ type MeganavProps = {
831
842
  };
832
843
  const Meganav: ({ paths, themeName, notice, loginLink, urlBase, addSearchApiKey, statusUrl, searchDataId, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
833
844
  export default Meganav;
834
- //# sourceMappingURL=LegacyMeganav.d.ts.map
835
- }
836
-
837
- declare module '@ably/ui/core/LinkButton' {
838
- import React from "react";
839
- import { ButtonPropsBase } from "@ably/ui/core/Button";
840
- import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
841
- export type LinkButtonProps = ButtonPropsBase & {
842
- disabled?: boolean;
843
- onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
844
- iconColor?: ColorClass | ColorThemeSet;
845
- } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
846
- const LinkButton: React.FC<LinkButtonProps>;
847
- export default LinkButton;
848
- //# sourceMappingURL=LinkButton.d.ts.map
849
- }
850
-
851
- declare module '@ably/ui/core/Loader' {
852
- type LoaderProps = {
853
- size?: string;
854
- ringColor?: string;
855
- additionalCSS?: string;
856
- };
857
- const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
858
- export default Loader;
859
- //# sourceMappingURL=Loader.d.ts.map
860
- }
861
-
862
- declare module '@ably/ui/core/Logo' {
863
- import React from "react";
864
- type LogoProps = {
865
- dataId?: string;
866
- logoUrl?: string;
867
- logoAlt?: string;
868
- href?: string;
869
- additionalImgAttrs?: object;
870
- additionalLinkAttrs?: object;
871
- theme?: "light" | "dark";
872
- variant?: "default" | "mono";
873
- orientation?: "default" | "stacked";
874
- };
875
- const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
876
- export default _default;
877
- //# sourceMappingURL=Logo.d.ts.map
878
- }
879
-
880
- declare module '@ably/ui/core/Meganav/Meganav' {
881
- import { HeaderSessionState } from ".@ably/ui/core/Header";
882
- export type MeganavNoticeBannerProps = {
883
- props: {
884
- title: string;
885
- bodyText: string;
886
- buttonLink: string;
887
- buttonLabel: string;
888
- closeBtn: boolean;
889
- };
890
- config: {
891
- cookieId: string;
892
- noticeId: string | number;
893
- options: {
894
- collapse: boolean;
895
- };
896
- };
897
- };
898
- export type MeganavProps = {
899
- sessionState: HeaderSessionState;
900
- searchDataId: string;
901
- notice?: MeganavNoticeBannerProps;
902
- };
903
- const Meganav: ({ sessionState, searchDataId, notice }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
904
- export default Meganav;
905
845
  //# sourceMappingURL=Meganav.d.ts.map
906
846
  }
907
847
 
908
- declare module '@ably/ui/core/Meganav/MeganavMobile' {
909
- import { AccordionData } from ".@ably/ui/core/Accordion/types";
910
- export const MeganavMobile: ({ mobileNavItems, }: {
911
- mobileNavItems: AccordionData[];
912
- }) => import("react/jsx-runtime").JSX.Element;
913
- //# sourceMappingURL=MeganavMobile.d.ts.map
914
- }
915
-
916
- declare module '@ably/ui/core/Meganav/MeganavPanel' {
917
- import React from "react";
918
- import { FlyoutPanelHighlight, FlyoutPanelList } from "@ably/ui/core/data";
919
- export const MeganavPanel: ({ displayProductTile, panelLeft, panelLeftClassName, panelRightHeading, panelRightItems, panelRightBottom, }: {
920
- displayProductTile?: boolean;
921
- panelLeft?: FlyoutPanelHighlight;
922
- panelLeftClassName?: string;
923
- panelRightHeading?: string;
924
- panelRightItems: FlyoutPanelList[];
925
- panelRightBottom?: React.ReactNode;
926
- }) => import("react/jsx-runtime").JSX.Element;
927
- //# sourceMappingURL=MeganavPanel.d.ts.map
928
- }
929
-
930
- declare module '@ably/ui/core/Meganav/data' {
931
- import React from "react";
932
- import { IconName } from ".@ably/ui/core/Icon/types";
933
- export type FlyoutPanelList = {
934
- label: string;
935
- icon: IconName;
936
- link: string;
937
- isMobile?: boolean;
938
- };
939
- export type FlyoutPanelHighlight = {
940
- heading: string;
941
- content: string;
942
- labelLink: string;
943
- url: string;
944
- image: string;
945
- };
946
- export type MenuItem = {
947
- name: string;
948
- link?: string;
949
- isHiddenMobile?: boolean;
950
- content?: React.ReactNode;
951
- panelClassName?: string;
952
- };
953
- export const menuItemLinks: {
954
- name: string;
955
- link: string;
956
- isHiddenMobile: boolean;
957
- }[];
958
- export const menuItemsForHeader: MenuItem[];
959
- //# sourceMappingURL=data.d.ts.map
960
- }
961
-
962
848
  declare module '@ably/ui/core/MeganavBlogPostsList' {
963
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
849
+ import { AbsUrl } from "@ably/ui/core/Meganav";
964
850
  type MeganavBlogPostsListProps = {
965
851
  recentBlogPosts: {
966
852
  link: string;
@@ -975,7 +861,7 @@ export default MeganavBlogPostsList;
975
861
  }
976
862
 
977
863
  declare module '@ably/ui/core/MeganavContentCompany' {
978
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
864
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
979
865
  type MeganavContentCompanyProps = {
980
866
  absUrl: AbsUrl;
981
867
  paths?: MeganavPaths;
@@ -986,7 +872,7 @@ export default MeganavContentCompany;
986
872
  }
987
873
 
988
874
  declare module '@ably/ui/core/MeganavContentDevelopers' {
989
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
875
+ import { AbsUrl } from "@ably/ui/core/Meganav";
990
876
  const MeganavContentDevelopers: ({ absUrl, statusUrl, }: {
991
877
  absUrl: AbsUrl;
992
878
  statusUrl: string;
@@ -996,7 +882,7 @@ export default MeganavContentDevelopers;
996
882
  }
997
883
 
998
884
  declare module '@ably/ui/core/MeganavContentProducts' {
999
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
885
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
1000
886
  type MeganavContentProductsProps = {
1001
887
  paths?: MeganavPaths;
1002
888
  absUrl: AbsUrl;
@@ -1007,7 +893,7 @@ export default MeganavContentProducts;
1007
893
  }
1008
894
 
1009
895
  declare module '@ably/ui/core/MeganavContentUseCases' {
1010
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
896
+ import { AbsUrl } from "@ably/ui/core/Meganav";
1011
897
  const MeganavContentUseCases: ({ absUrl }: {
1012
898
  absUrl: AbsUrl;
1013
899
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1015,9 +901,18 @@ export default MeganavContentUseCases;
1015
901
  //# sourceMappingURL=MeganavContentUseCases.d.ts.map
1016
902
  }
1017
903
 
904
+ declare module '@ably/ui/core/MeganavControl/component' {
905
+ export default MeganavControl;
906
+ function MeganavControl(): {
907
+ teardown: () => void;
908
+ clear: () => void;
909
+ }[];
910
+ //# sourceMappingURL=component.d.ts.map
911
+ }
912
+
1018
913
  declare module '@ably/ui/core/MeganavControl' {
1019
914
  import { ReactNode } from "react";
1020
- import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
915
+ import { MeganavTheme } from "@ably/ui/core/Meganav";
1021
916
  type MeganavControlProps = {
1022
917
  ariaControls: string;
1023
918
  ariaLabel: string;
@@ -1030,8 +925,19 @@ export default MeganavControl;
1030
925
  //# sourceMappingURL=MeganavControl.d.ts.map
1031
926
  }
1032
927
 
928
+ declare module '@ably/ui/core/MeganavControlMobileDropdown/component' {
929
+ export default MeganavControlMobileDropdown;
930
+ function MeganavControlMobileDropdown({ clearPanels }: {
931
+ clearPanels: any;
932
+ }): {
933
+ teardown: () => void;
934
+ clear: () => void;
935
+ };
936
+ //# sourceMappingURL=component.d.ts.map
937
+ }
938
+
1033
939
  declare module '@ably/ui/core/MeganavControlMobileDropdown' {
1034
- import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
940
+ import { MeganavTheme } from "@ably/ui/core/Meganav";
1035
941
  const MeganavControlMobileDropdown: ({ theme }: {
1036
942
  theme: MeganavTheme;
1037
943
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1039,6 +945,15 @@ export default MeganavControlMobileDropdown;
1039
945
  //# sourceMappingURL=MeganavControlMobileDropdown.d.ts.map
1040
946
  }
1041
947
 
948
+ declare module '@ably/ui/core/MeganavControlMobilePanelClose/component' {
949
+ function _default(): {
950
+ teardown: () => void;
951
+ clear: () => void;
952
+ }[];
953
+ export default _default;
954
+ //# sourceMappingURL=component.d.ts.map
955
+ }
956
+
1042
957
  declare module '@ably/ui/core/MeganavControlMobilePanelClose' {
1043
958
  type MeganavControlMobilePanelCloseProps = {
1044
959
  ariaControls: string;
@@ -1049,6 +964,15 @@ export default MeganavControlMobilePanelClose;
1049
964
  //# sourceMappingURL=MeganavControlMobilePanelClose.d.ts.map
1050
965
  }
1051
966
 
967
+ declare module '@ably/ui/core/MeganavControlMobilePanelOpen/component' {
968
+ function _default(): {
969
+ teardown: () => void;
970
+ clear: () => void;
971
+ }[];
972
+ export default _default;
973
+ //# sourceMappingURL=component.d.ts.map
974
+ }
975
+
1052
976
  declare module '@ably/ui/core/MeganavControlMobilePanelOpen' {
1053
977
  import { ReactNode } from "react";
1054
978
  type MeganavControlMobilePanelOpenProps = {
@@ -1062,7 +986,7 @@ export default MeganavControlMobilePanelOpen;
1062
986
 
1063
987
  declare module '@ably/ui/core/MeganavItemsDesktop' {
1064
988
  import React from "react";
1065
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
989
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/Meganav";
1066
990
  type MeganavDesktopItems = {
1067
991
  panels: MeganavPanels;
1068
992
  paths?: MeganavPaths;
@@ -1078,7 +1002,7 @@ export default _default;
1078
1002
 
1079
1003
  declare module '@ably/ui/core/MeganavItemsMobile' {
1080
1004
  import React from "react";
1081
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
1005
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
1082
1006
  type MeganavItemsMobileProps = {
1083
1007
  panels: MeganavPanels;
1084
1008
  paths?: MeganavPaths;
@@ -1095,7 +1019,7 @@ export default _default;
1095
1019
  }
1096
1020
 
1097
1021
  declare module '@ably/ui/core/MeganavItemsSignedIn' {
1098
- import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
1022
+ import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
1099
1023
  type MeganavItemsSignedIn = {
1100
1024
  sessionState: MeganavSessionState;
1101
1025
  theme: MeganavTheme;
@@ -1108,7 +1032,7 @@ export default MeganavItemsSignedIn;
1108
1032
  }
1109
1033
 
1110
1034
  declare module '@ably/ui/core/MeganavSearch' {
1111
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1035
+ import { AbsUrl } from "@ably/ui/core/Meganav";
1112
1036
  const MeganavSearch: ({ absUrl, dataId, }: {
1113
1037
  absUrl: AbsUrl;
1114
1038
  dataId?: string;
@@ -1117,6 +1041,15 @@ export default MeganavSearch;
1117
1041
  //# sourceMappingURL=MeganavSearch.d.ts.map
1118
1042
  }
1119
1043
 
1044
+ declare module '@ably/ui/core/MeganavSearchAutocomplete/component' {
1045
+ function _default(apiKey: any): {
1046
+ teardown: () => void;
1047
+ clear: () => void;
1048
+ }[];
1049
+ export default _default;
1050
+ //# sourceMappingURL=component.d.ts.map
1051
+ }
1052
+
1120
1053
  declare module '@ably/ui/core/MeganavSearchAutocomplete' {
1121
1054
  const MeganavSearchAutocomplete: () => import("react/jsx-runtime").JSX.Element;
1122
1055
  export default MeganavSearchAutocomplete;
@@ -1124,7 +1057,7 @@ export default MeganavSearchAutocomplete;
1124
1057
  }
1125
1058
 
1126
1059
  declare module '@ably/ui/core/MeganavSearchPanel' {
1127
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1060
+ import { AbsUrl } from "@ably/ui/core/Meganav";
1128
1061
  const MeganavSearchPanel: ({ absUrl }: {
1129
1062
  absUrl: AbsUrl;
1130
1063
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1132,8 +1065,17 @@ export default MeganavSearchPanel;
1132
1065
  //# sourceMappingURL=MeganavSearchPanel.d.ts.map
1133
1066
  }
1134
1067
 
1068
+ declare module '@ably/ui/core/MeganavSearchSuggestions/component' {
1069
+ export default MeganavSearchSuggestions;
1070
+ function MeganavSearchSuggestions(): {
1071
+ teardown: () => void;
1072
+ clear: () => void;
1073
+ };
1074
+ //# sourceMappingURL=component.d.ts.map
1075
+ }
1076
+
1135
1077
  declare module '@ably/ui/core/MeganavSearchSuggestions' {
1136
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1078
+ import { AbsUrl } from "@ably/ui/core/Meganav";
1137
1079
  type MeganavSearchSuggestionsProps = {
1138
1080
  absUrl: AbsUrl;
1139
1081
  displaySupportLink: boolean;
@@ -1144,7 +1086,6 @@ export default MeganavSearchSuggestions;
1144
1086
  }
1145
1087
 
1146
1088
  declare module '@ably/ui/core/Notice/component' {
1147
- export const COLLAPSE_TRIGGER_DISTANCE: 5;
1148
1089
  export default Notice;
1149
1090
  function Notice({ bannerContainer, cookieId, noticeId, options }: {
1150
1091
  bannerContainer: any;
@@ -1359,9 +1300,29 @@ export default ProductTile;
1359
1300
  //# sourceMappingURL=ProductTile.d.ts.map
1360
1301
  }
1361
1302
 
1303
+ declare module '@ably/ui/core/SegmentedControl' {
1304
+ import React, { PropsWithChildren } from "react";
1305
+ import type { IconName } from "@ably/ui/core/Icon/types";
1306
+ export type SegmentedControlSize = "md" | "sm" | "xs";
1307
+ export type SegmentedControlProps = {
1308
+ className?: string;
1309
+ rounded?: boolean;
1310
+ leftIcon?: IconName;
1311
+ rightIcon?: IconName;
1312
+ active?: boolean;
1313
+ variant?: "default" | "subtle" | "strong";
1314
+ size?: SegmentedControlSize;
1315
+ onClick?: () => void;
1316
+ disabled?: boolean;
1317
+ };
1318
+ const SegmentedControl: React.FC<PropsWithChildren<SegmentedControlProps>>;
1319
+ export default SegmentedControl;
1320
+ //# sourceMappingURL=SegmentedControl.d.ts.map
1321
+ }
1322
+
1362
1323
  declare module '@ably/ui/core/SignOutLink' {
1363
1324
  import { MouseEventHandler, ReactNode } from "react";
1364
- import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1325
+ import { AbsUrl } from "@ably/ui/core/Meganav";
1365
1326
  type SignOutLinkProps = {
1366
1327
  token: string;
1367
1328
  href: string;
@@ -1575,11 +1536,6 @@ export function queryIdAll(val: any, root?: Document): NodeListOf<Element>;
1575
1536
  //# sourceMappingURL=dom-query.d.ts.map
1576
1537
  }
1577
1538
 
1578
- declare module '@ably/ui/core/hubspot-chat-toggle' {
1579
- export default function toggleChatWidget(params: any): (() => void) | undefined;
1580
- //# sourceMappingURL=hubspot-chat-toggle.d.ts.map
1581
- }
1582
-
1583
1539
  declare module '@ably/ui/core/remote-blogs-posts' {
1584
1540
  export function fetchBlogPosts(store: any, blogUrl: any): Promise<void>;
1585
1541
  export namespace reducerBlogPosts {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "16.0.0-dev.f34cb058",
3
+ "version": "16.1.0-dev.d9810f04",
4
4
  "description": "Home of the Ably design system library ([design.ably.com](https://design.ably.com)). It provides a showcase, development/test environment and a publishing pipeline for different distributables.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,7 +34,7 @@
34
34
  "@types/svg-sprite": "^0.0.39",
35
35
  "@typescript-eslint/eslint-plugin": "^8.25.0",
36
36
  "@typescript-eslint/parser": "^8.25.0",
37
- "@vitejs/plugin-react": "^4.2.1",
37
+ "@vitejs/plugin-react-swc": "^3.8.0",
38
38
  "@whitespace/storybook-addon-html": "^6.1.1",
39
39
  "autoprefixer": "^10.0.2",
40
40
  "eslint": "^8.57.0",
@@ -43,8 +43,9 @@
43
43
  "eslint-plugin-storybook": "^0.11.4",
44
44
  "heroicons": "^2.2.0",
45
45
  "http-server": "14.1.1",
46
+ "jsdom": "^26.0.0",
46
47
  "mixpanel-browser": "^2.60.0",
47
- "msw": "2.7.1",
48
+ "msw": "2.7.3",
48
49
  "msw-storybook-addon": "^2.0.2",
49
50
  "playwright": "^1.49.1",
50
51
  "posthog-js": "^1.217.4",
@@ -56,7 +57,8 @@
56
57
  "tailwindcss": "^3.3.6",
57
58
  "ts-node": "^10.9.2",
58
59
  "typescript": "5.7.3",
59
- "vite": "^6.2.0"
60
+ "vite": "^6.2.0",
61
+ "vitest": "^3.0.8"
60
62
  },
61
63
  "scripts": {
62
64
  "build:prebuild": "rm -rf core reset && mkdir -p dist/core",
@@ -75,8 +77,10 @@
75
77
  "start": "vite --port 5000",
76
78
  "storybook": "yarn build && storybook dev -p 6006",
77
79
  "build-storybook": "yarn build && storybook build --quiet -o preview",
78
- "test": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook --url http://127.0.0.1:6007\"",
79
- "test:update-snapshots": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook -u --url http://127.0.0.1:6007\""
80
+ "test": "yarn test:storybook && yarn test:vitest run",
81
+ "test:storybook": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook --url http://127.0.0.1:6007\"",
82
+ "test:update-snapshots": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook -u --url http://127.0.0.1:6007\"",
83
+ "test:vitest": "vitest --environment=jsdom --dir=src"
80
84
  },
81
85
  "dependencies": {
82
86
  "@radix-ui/react-accordion": "^1.2.1",
@@ -1,11 +0,0 @@
1
- @layer components {
2
- .ui-contact-footer {
3
- background-size: 100% 100%;
4
- background-position: right center;
5
- @apply w-full bg-gradient-active-orange;
6
- }
7
-
8
- .ui-contact-footer-box {
9
- @apply p-24 sm:p-32 xl:p-40 bg-white flex flex-col justify-between rounded-sm;
10
- }
11
- }
@@ -1,2 +0,0 @@
1
- import toggleChatWidget from"../hubspot-chat-toggle";export default(()=>toggleChatWidget({dataId:"contact-footer"}));
2
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/ContactFooter/component.js"],"sourcesContent":["import toggleChatWidget from \"../hubspot-chat-toggle\";\nexport default () => toggleChatWidget({ dataId: \"contact-footer\" });\n"],"names":["toggleChatWidget","dataId"],"mappings":"AAAA,OAAOA,qBAAsB,wBAAyB,AACtD,eAAe,CAAA,IAAMA,iBAAiB,CAAEC,OAAQ,gBAAiB,EAAC,CAAE"}
@@ -1,2 +0,0 @@
1
- import React,{useEffect}from"react";import Icon from"./Icon";import _absUrl from"./url-base.js";import toggleChatWidget from"./hubspot-chat-toggle";const ContactFooter=({urlBase})=>{useEffect(()=>toggleChatWidget({dataId:"contact-footer"}),[]);const absUrl=path=>_absUrl(path,urlBase);return React.createElement("div",{className:"ui-contact-footer font-sans antialiased","data-id":"contact-footer"},React.createElement("div",{className:"w-full bp-lg max-w-screen-xl mx-auto py-64 grid grid-cols-1 md:grid-cols-3 ui-grid-gap ui-grid-px"},React.createElement("div",{className:"ui-contact-footer-box"},React.createElement(Icon,{name:"icon-display-live-chat",size:"3rem",additionalCSS:"block mb-16"}),React.createElement("div",null,React.createElement("div",{className:"ui-text-h3 mb-24"},"Live Chat"),React.createElement("p",{className:"ui-text-p1"},"Reach out team of experts over chat powered by Ably.")),React.createElement("button",{type:"button",className:"ui-btn-secondary self-start mt-16",disabled:true,"data-id":"open-chat-widget","data-enabled-label":"Start a live chat","data-disabled-label":"Live chat unavailable"},"Live chat unavailable")),React.createElement("div",{className:"ui-contact-footer-box"},React.createElement(Icon,{name:"icon-display-call-mobile",size:"3rem",additionalCSS:"block mb-16"}),React.createElement("div",{className:"flex-grow"},React.createElement("div",{className:"ui-text-h3 mb-24"},"Call us"),React.createElement("p",{className:"ui-text-p1"},React.createElement("span",{className:"block"},React.createElement("strong",{className:"font-bold"},"+1 877 434 5287")," (USA, toll free)"),React.createElement("span",{className:"block"},React.createElement("strong",{className:"font-bold"},"+44 20 3318 4689")," (UK)")))),React.createElement("div",{className:"ui-contact-footer-box"},React.createElement(Icon,{name:"icon-display-tech-account-comms",size:"3rem",additionalCSS:"block mb-16"}),React.createElement("div",null,React.createElement("div",{className:"ui-text-h3 mb-24"},"Technical and account support"),React.createElement("p",{className:"ui-text-p1"},"We're standing by to help with any questions or code.")),React.createElement("a",{className:"ui-btn-secondary self-start p-btn mt-16",href:absUrl("/support")},"Get support now"))))};export default ContactFooter;
2
- //# sourceMappingURL=ContactFooter.js.map