@ably/ui 15.6.0-dev.274a3001 → 15.6.0-dev.b2d087a

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 (85) hide show
  1. package/core/DropdownMenu.js +1 -1
  2. package/core/DropdownMenu.js.map +1 -1
  3. package/core/Flash.js +1 -1
  4. package/core/Flash.js.map +1 -1
  5. package/core/Flyout.js +1 -1
  6. package/core/Flyout.js.map +1 -1
  7. package/core/Header/HeaderLinks.js +1 -1
  8. package/core/Header/HeaderLinks.js.map +1 -1
  9. package/core/Header.js +1 -1
  10. package/core/Header.js.map +1 -1
  11. package/core/LegacyMeganav/MeganavBlogPostsList/component.js +2 -0
  12. package/core/LegacyMeganav/MeganavBlogPostsList/component.js.map +1 -0
  13. package/core/LegacyMeganav/MeganavControl/component.js +2 -0
  14. package/core/LegacyMeganav/MeganavControl/component.js.map +1 -0
  15. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js +2 -0
  16. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js.map +1 -0
  17. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js +2 -0
  18. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js.map +1 -0
  19. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js +2 -0
  20. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js.map +1 -0
  21. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js +2 -0
  22. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js.map +1 -0
  23. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js +2 -0
  24. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js.map +1 -0
  25. package/core/LegacyMeganav/component.js +2 -0
  26. package/core/{Meganav → LegacyMeganav}/component.js.map +1 -1
  27. package/core/LegacyMeganav.js +2 -0
  28. package/core/LegacyMeganav.js.map +1 -0
  29. package/core/Meganav/.DS_Store +0 -0
  30. package/core/Meganav/Meganav.js +2 -0
  31. package/core/Meganav/Meganav.js.map +1 -0
  32. package/core/Meganav/MeganavMobile.js +2 -0
  33. package/core/Meganav/MeganavMobile.js.map +1 -0
  34. package/core/Meganav/MeganavPanel.js +2 -0
  35. package/core/Meganav/MeganavPanel.js.map +1 -0
  36. package/core/Meganav/data.js +2 -0
  37. package/core/Meganav/data.js.map +1 -0
  38. package/core/Meganav/images/fan-engagement-nav-image.png +0 -0
  39. package/core/Meganav/images/founders-nav-image.png +0 -0
  40. package/core/MeganavBlogPostsList.js.map +1 -1
  41. package/core/MeganavContentCompany.js.map +1 -1
  42. package/core/MeganavContentDevelopers.js.map +1 -1
  43. package/core/MeganavContentProducts.js.map +1 -1
  44. package/core/MeganavContentUseCases.js.map +1 -1
  45. package/core/MeganavControl.js.map +1 -1
  46. package/core/MeganavControlMobileDropdown.js.map +1 -1
  47. package/core/MeganavItemsDesktop.js +1 -1
  48. package/core/MeganavItemsDesktop.js.map +1 -1
  49. package/core/MeganavItemsMobile.js +1 -1
  50. package/core/MeganavItemsMobile.js.map +1 -1
  51. package/core/MeganavItemsSignedIn.js.map +1 -1
  52. package/core/MeganavSearch.js.map +1 -1
  53. package/core/MeganavSearchPanel.js.map +1 -1
  54. package/core/MeganavSearchSuggestions.js.map +1 -1
  55. package/core/Notice.js +1 -1
  56. package/core/Notice.js.map +1 -1
  57. package/core/SignOutLink.js.map +1 -1
  58. package/core/images/award/g2-best-meets-requirements-2025.png +0 -0
  59. package/core/images/award/g2-best-support-2025.png +0 -0
  60. package/core/images/award/g2-high-performer-2025.png +0 -0
  61. package/core/images/award/g2-users-most-likely-to-recommend-2025.png +0 -0
  62. package/index.d.ts +250 -152
  63. package/package.json +9 -11
  64. package/core/Meganav/component.js +0 -2
  65. package/core/Meganav.js +0 -2
  66. package/core/Meganav.js.map +0 -1
  67. package/core/MeganavBlogPostsList/component.js +0 -2
  68. package/core/MeganavBlogPostsList/component.js.map +0 -1
  69. package/core/MeganavControl/component.js +0 -2
  70. package/core/MeganavControl/component.js.map +0 -1
  71. package/core/MeganavControlMobileDropdown/component.js +0 -2
  72. package/core/MeganavControlMobileDropdown/component.js.map +0 -1
  73. package/core/MeganavControlMobilePanelClose/component.js +0 -2
  74. package/core/MeganavControlMobilePanelClose/component.js.map +0 -1
  75. package/core/MeganavControlMobilePanelOpen/component.js +0 -2
  76. package/core/MeganavControlMobilePanelOpen/component.js.map +0 -1
  77. package/core/MeganavSearchAutocomplete/component.js +0 -2
  78. package/core/MeganavSearchAutocomplete/component.js.map +0 -1
  79. package/core/MeganavSearchSuggestions/component.js +0 -2
  80. package/core/MeganavSearchSuggestions/component.js.map +0 -1
  81. package/core/hooks/use-rails-ujs-hooks.js +0 -2
  82. package/core/hooks/use-rails-ujs-hooks.js.map +0 -1
  83. package/core/styles/colors/computed-colors.json +0 -1
  84. /package/core/{Meganav → LegacyMeganav}/component.css +0 -0
  85. /package/core/{Meganav → LegacyMeganav}/component.json +0 -0
package/index.d.ts CHANGED
@@ -343,28 +343,51 @@ declare module '@ably/ui/core/DropdownMenu' {
343
343
  import { ReactNode } from "react";
344
344
  import { IconName } from "@ably/ui/core/Icon/types";
345
345
  type DropdownMenuProps = {
346
+ /**
347
+ * The content to be displayed within the dropdown menu.
348
+ */
346
349
  children: ReactNode;
347
350
  };
348
351
  type TriggerProps = {
352
+ /**
353
+ * The content to be displayed within the trigger element.
354
+ */
349
355
  children: ReactNode;
350
- additionalTriggerCSS?: string;
356
+ /**
357
+ * Additional class names to apply to the trigger element.
358
+ */
359
+ triggerClassNames?: string;
360
+ /**
361
+ * A description for the trigger element, used for accessibility purposes.
362
+ */
363
+ description?: string;
351
364
  };
352
365
  type ContentProps = {
366
+ /**
367
+ * The content to be displayed within the dropdown menu.
368
+ */
353
369
  children: ReactNode;
370
+ /**
371
+ * The position of the dropdown menu relative to the trigger element.
372
+ * Defaults to "right".
373
+ */
354
374
  anchorPosition?: string;
355
- additionalContentCSS?: string;
375
+ /**
376
+ * Additional class names to apply to the content container.
377
+ */
378
+ contentClassNames?: string;
356
379
  };
357
380
  type LinkProps = {
358
381
  url: string;
359
382
  title: string;
360
- subtitle: string;
361
- iconName: IconName;
362
- children: ReactNode;
383
+ subtitle?: string;
384
+ iconName?: IconName;
385
+ children?: ReactNode;
363
386
  };
364
387
  const DropdownMenu: {
365
388
  ({ children }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
366
- Trigger: ({ children, additionalTriggerCSS }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
367
- Content: ({ children, anchorPosition, additionalContentCSS, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
389
+ Trigger: ({ children, triggerClassNames, description, }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
390
+ Content: ({ children, anchorPosition, contentClassNames, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
368
391
  Link: ({ url, title, subtitle, iconName, children }: LinkProps) => import("react/jsx-runtime").JSX.Element;
369
392
  };
370
393
  export default DropdownMenu;
@@ -417,7 +440,7 @@ type FlashProps = {
417
440
  };
418
441
  type FlashesProps = {
419
442
  flashes: {
420
- items: Pick<FlashProps, "type" | "content">[];
443
+ items: FlashProps[];
421
444
  };
422
445
  };
423
446
  type BackendFlashesProps = {
@@ -452,9 +475,9 @@ type FlyoutProps = {
452
475
  */
453
476
  menuItems: {
454
477
  /**
455
- * Label for the menu item.
478
+ * name for the menu item.
456
479
  */
457
- label: string;
480
+ name: string;
458
481
  /**
459
482
  * Optional content to be displayed in the flyout panel.
460
483
  */
@@ -522,10 +545,37 @@ export const HeaderLinks: React.FC<Pick<HeaderProps, "sessionState" | "headerLin
522
545
 
523
546
  declare module '@ably/ui/core/Header' {
524
547
  import React, { ReactNode } from "react";
548
+ import { NoticeProps } from "@ably/ui/core/Notice";
525
549
  export type ThemedScrollpoint = {
526
550
  id: string;
527
551
  className: string;
528
552
  };
553
+ /**
554
+ * Represents the state of the user session in the header.
555
+ */
556
+ export type HeaderSessionState = {
557
+ /**
558
+ * Indicates if the user is signed in.
559
+ */
560
+ signedIn: boolean;
561
+ /**
562
+ * Information required to log out the user.
563
+ */
564
+ logOut: {
565
+ /**
566
+ * Token used for logging out.
567
+ */
568
+ token: string;
569
+ /**
570
+ * URL to log out the user.
571
+ */
572
+ href: string;
573
+ };
574
+ /**
575
+ * Name of the user's account.
576
+ */
577
+ accountName: string;
578
+ };
529
579
  /**
530
580
  * Props for the Header component.
531
581
  */
@@ -570,31 +620,7 @@ export type HeaderProps = {
570
620
  /**
571
621
  * State of the user session.
572
622
  */
573
- sessionState?: {
574
- /**
575
- * Indicates if the user is signed in.
576
- */
577
- signedIn: boolean;
578
- /**
579
- * Account information.
580
- */
581
- account: {
582
- /**
583
- * Links related to the account.
584
- */
585
- links: {
586
- /**
587
- * Dashboard link information.
588
- */
589
- dashboard: {
590
- /**
591
- * URL for the dashboard link.
592
- */
593
- href: string;
594
- };
595
- };
596
- };
597
- };
623
+ sessionState?: HeaderSessionState;
598
624
  /**
599
625
  * Array of themed scrollpoints. The header will change its appearance based on the scrollpoint in view.
600
626
  */
@@ -606,6 +632,14 @@ export type HeaderProps = {
606
632
  * - "mobile": Visible only on mobile devices.
607
633
  */
608
634
  searchButtonVisibility?: "all" | "desktop" | "mobile";
635
+ /**
636
+ Props for the notice component to be displayed in the header.
637
+ */
638
+ notice: NoticeProps;
639
+ /**
640
+ Reference to the notice DOM element for handling visibility and overflow.
641
+ */
642
+ noticeRef: React.RefObject<HTMLDivElement>;
609
643
  };
610
644
  const Header: React.FC<HeaderProps>;
611
645
  export default Header;
@@ -658,50 +692,63 @@ export default Icon;
658
692
  //# sourceMappingURL=Icon.d.ts.map
659
693
  }
660
694
 
661
- declare module '@ably/ui/core/LinkButton' {
662
- import React from "react";
663
- import { ButtonPropsBase } from "@ably/ui/core/Button";
664
- import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
665
- export type LinkButtonProps = ButtonPropsBase & {
666
- disabled?: boolean;
667
- onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
668
- iconColor?: ColorClass | ColorThemeSet;
669
- } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
670
- const LinkButton: React.FC<LinkButtonProps>;
671
- export default LinkButton;
672
- //# sourceMappingURL=LinkButton.d.ts.map
695
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControl/component' {
696
+ export default MeganavControl;
697
+ function MeganavControl(): {
698
+ teardown: () => void;
699
+ clear: () => void;
700
+ }[];
701
+ //# sourceMappingURL=component.d.ts.map
673
702
  }
674
703
 
675
- declare module '@ably/ui/core/Loader' {
676
- type LoaderProps = {
677
- size?: string;
678
- ringColor?: string;
679
- additionalCSS?: string;
704
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobileDropdown/component' {
705
+ export default MeganavControlMobileDropdown;
706
+ function MeganavControlMobileDropdown({ clearPanels }: {
707
+ clearPanels: any;
708
+ }): {
709
+ teardown: () => void;
710
+ clear: () => void;
680
711
  };
681
- const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
682
- export default Loader;
683
- //# sourceMappingURL=Loader.d.ts.map
712
+ //# sourceMappingURL=component.d.ts.map
684
713
  }
685
714
 
686
- declare module '@ably/ui/core/Logo' {
687
- import React from "react";
688
- type LogoProps = {
689
- dataId?: string;
690
- logoUrl?: string;
691
- logoAlt?: string;
692
- href?: string;
693
- additionalImgAttrs?: object;
694
- additionalLinkAttrs?: object;
695
- theme?: "light" | "dark";
696
- variant?: "default" | "mono";
697
- orientation?: "default" | "stacked";
698
- };
699
- const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
715
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelClose/component' {
716
+ function _default(): {
717
+ teardown: () => void;
718
+ clear: () => void;
719
+ }[];
700
720
  export default _default;
701
- //# sourceMappingURL=Logo.d.ts.map
721
+ //# sourceMappingURL=component.d.ts.map
722
+ }
723
+
724
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelOpen/component' {
725
+ function _default(): {
726
+ teardown: () => void;
727
+ clear: () => void;
728
+ }[];
729
+ export default _default;
730
+ //# sourceMappingURL=component.d.ts.map
731
+ }
732
+
733
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchAutocomplete/component' {
734
+ function _default(apiKey: any): {
735
+ teardown: () => void;
736
+ clear: () => void;
737
+ }[];
738
+ export default _default;
739
+ //# sourceMappingURL=component.d.ts.map
740
+ }
741
+
742
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchSuggestions/component' {
743
+ export default MeganavSearchSuggestions;
744
+ function MeganavSearchSuggestions(): {
745
+ teardown: () => void;
746
+ clear: () => void;
747
+ };
748
+ //# sourceMappingURL=component.d.ts.map
702
749
  }
703
750
 
704
- declare module '@ably/ui/core/Meganav/component' {
751
+ declare module '@ably/ui/core/LegacyMeganav/component' {
705
752
  export default function Meganav({ themeName, addSearchApiKey }: {
706
753
  themeName: any;
707
754
  addSearchApiKey: any;
@@ -709,7 +756,7 @@ export default function Meganav({ themeName, addSearchApiKey }: {
709
756
  //# sourceMappingURL=component.d.ts.map
710
757
  }
711
758
 
712
- declare module '@ably/ui/core/Meganav' {
759
+ declare module '@ably/ui/core/LegacyMeganav' {
713
760
  import { ReactNode } from "react";
714
761
  import { ColorClass } from "@ably/ui/core/styles/colors/types";
715
762
  export type MeganavTheme = {
@@ -726,6 +773,9 @@ export type MeganavPaths = {
726
773
  logo?: string;
727
774
  iconSprites: string;
728
775
  ablyStack: string;
776
+ blogThumb1: string;
777
+ blogThumb2: string;
778
+ blogThumb3: string;
729
779
  awsLogo?: string;
730
780
  };
731
781
  export type MeganavPanels = {
@@ -760,7 +810,7 @@ export type MeganavSessionState = {
760
810
  href: string;
761
811
  };
762
812
  };
763
- export type NoticeApiProps = {
813
+ export type MeganavNoticeProps = {
764
814
  props: {
765
815
  title: string;
766
816
  bodyText: string;
@@ -779,7 +829,7 @@ export type NoticeApiProps = {
779
829
  type MeganavProps = {
780
830
  paths?: MeganavPaths;
781
831
  themeName: "white" | "black" | "transparentToWhite";
782
- notice?: NoticeApiProps;
832
+ notice?: MeganavNoticeProps;
783
833
  loginLink?: string;
784
834
  urlBase?: string;
785
835
  addSearchApiKey: string;
@@ -788,11 +838,121 @@ type MeganavProps = {
788
838
  };
789
839
  const Meganav: ({ paths, themeName, notice, loginLink, urlBase, addSearchApiKey, statusUrl, searchDataId, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
790
840
  export default Meganav;
841
+ //# sourceMappingURL=LegacyMeganav.d.ts.map
842
+ }
843
+
844
+ declare module '@ably/ui/core/LinkButton' {
845
+ import React from "react";
846
+ import { ButtonPropsBase } from "@ably/ui/core/Button";
847
+ import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
848
+ export type LinkButtonProps = ButtonPropsBase & {
849
+ disabled?: boolean;
850
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
851
+ iconColor?: ColorClass | ColorThemeSet;
852
+ } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
853
+ const LinkButton: React.FC<LinkButtonProps>;
854
+ export default LinkButton;
855
+ //# sourceMappingURL=LinkButton.d.ts.map
856
+ }
857
+
858
+ declare module '@ably/ui/core/Loader' {
859
+ type LoaderProps = {
860
+ size?: string;
861
+ ringColor?: string;
862
+ additionalCSS?: string;
863
+ };
864
+ const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
865
+ export default Loader;
866
+ //# sourceMappingURL=Loader.d.ts.map
867
+ }
868
+
869
+ declare module '@ably/ui/core/Logo' {
870
+ import React from "react";
871
+ type LogoProps = {
872
+ dataId?: string;
873
+ logoUrl?: string;
874
+ logoAlt?: string;
875
+ href?: string;
876
+ additionalImgAttrs?: object;
877
+ additionalLinkAttrs?: object;
878
+ theme?: "light" | "dark";
879
+ variant?: "default" | "mono";
880
+ orientation?: "default" | "stacked";
881
+ };
882
+ const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
883
+ export default _default;
884
+ //# sourceMappingURL=Logo.d.ts.map
885
+ }
886
+
887
+ declare module '@ably/ui/core/Meganav/Meganav' {
888
+ import { HeaderSessionState } from ".@ably/ui/core/Header";
889
+ import { NoticeProps } from ".@ably/ui/core/Notice";
890
+ export type MeganavProps = {
891
+ sessionState: HeaderSessionState;
892
+ searchDataId: string;
893
+ notice: NoticeProps;
894
+ };
895
+ const Meganav: ({ sessionState, searchDataId, notice }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
896
+ export default Meganav;
791
897
  //# sourceMappingURL=Meganav.d.ts.map
792
898
  }
793
899
 
900
+ declare module '@ably/ui/core/Meganav/MeganavMobile' {
901
+ import { AccordionData } from ".@ably/ui/core/Accordion/types";
902
+ export const MeganavMobile: ({ mobileNavItems, }: {
903
+ mobileNavItems: AccordionData[];
904
+ }) => import("react/jsx-runtime").JSX.Element;
905
+ //# sourceMappingURL=MeganavMobile.d.ts.map
906
+ }
907
+
908
+ declare module '@ably/ui/core/Meganav/MeganavPanel' {
909
+ import React from "react";
910
+ import { FlyoutPanelHighlight, FlyoutPanelList } from "@ably/ui/core/data";
911
+ export const MeganavPanel: ({ displayProductTile, panelLeft, panelLeftClassName, panelRightHeading, panelRightItems, panelRightBottom, }: {
912
+ displayProductTile?: boolean;
913
+ panelLeft?: FlyoutPanelHighlight;
914
+ panelLeftClassName?: string;
915
+ panelRightHeading?: string;
916
+ panelRightItems: FlyoutPanelList[];
917
+ panelRightBottom?: React.ReactNode;
918
+ }) => import("react/jsx-runtime").JSX.Element;
919
+ //# sourceMappingURL=MeganavPanel.d.ts.map
920
+ }
921
+
922
+ declare module '@ably/ui/core/Meganav/data' {
923
+ import React from "react";
924
+ import { IconName } from ".@ably/ui/core/Icon/types";
925
+ export type FlyoutPanelList = {
926
+ label: string;
927
+ icon: IconName;
928
+ link: string;
929
+ isMobile?: boolean;
930
+ };
931
+ export type FlyoutPanelHighlight = {
932
+ heading: string;
933
+ content: string;
934
+ labelLink: string;
935
+ url: string;
936
+ image: string;
937
+ };
938
+ export type MenuItem = {
939
+ name: string;
940
+ link?: string;
941
+ isHiddenMobile?: boolean;
942
+ content?: React.ReactNode;
943
+ panelClassName?: string;
944
+ };
945
+ export const menuItemLinks: {
946
+ name: string;
947
+ link: string;
948
+ isHiddenMobile: boolean;
949
+ }[];
950
+ export const menuItemsForHeader: MenuItem[];
951
+ //# sourceMappingURL=data.d.ts.map
952
+ }
953
+
794
954
  declare module '@ably/ui/core/MeganavBlogPostsList' {
795
- import { AbsUrl } from "@ably/ui/core/Meganav";
955
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
796
956
  type MeganavBlogPostsListProps = {
797
957
  recentBlogPosts: {
798
958
  link: string;
@@ -807,7 +967,7 @@ export default MeganavBlogPostsList;
807
967
  }
808
968
 
809
969
  declare module '@ably/ui/core/MeganavContentCompany' {
810
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
970
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
811
971
  type MeganavContentCompanyProps = {
812
972
  absUrl: AbsUrl;
813
973
  paths?: MeganavPaths;
@@ -818,7 +978,7 @@ export default MeganavContentCompany;
818
978
  }
819
979
 
820
980
  declare module '@ably/ui/core/MeganavContentDevelopers' {
821
- import { AbsUrl } from "@ably/ui/core/Meganav";
981
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
822
982
  const MeganavContentDevelopers: ({ absUrl, statusUrl, }: {
823
983
  absUrl: AbsUrl;
824
984
  statusUrl: string;
@@ -828,7 +988,7 @@ export default MeganavContentDevelopers;
828
988
  }
829
989
 
830
990
  declare module '@ably/ui/core/MeganavContentProducts' {
831
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
991
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
832
992
  type MeganavContentProductsProps = {
833
993
  paths?: MeganavPaths;
834
994
  absUrl: AbsUrl;
@@ -839,7 +999,7 @@ export default MeganavContentProducts;
839
999
  }
840
1000
 
841
1001
  declare module '@ably/ui/core/MeganavContentUseCases' {
842
- import { AbsUrl } from "@ably/ui/core/Meganav";
1002
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
843
1003
  const MeganavContentUseCases: ({ absUrl }: {
844
1004
  absUrl: AbsUrl;
845
1005
  }) => import("react/jsx-runtime").JSX.Element;
@@ -847,18 +1007,9 @@ export default MeganavContentUseCases;
847
1007
  //# sourceMappingURL=MeganavContentUseCases.d.ts.map
848
1008
  }
849
1009
 
850
- declare module '@ably/ui/core/MeganavControl/component' {
851
- export default MeganavControl;
852
- function MeganavControl(): {
853
- teardown: () => void;
854
- clear: () => void;
855
- }[];
856
- //# sourceMappingURL=component.d.ts.map
857
- }
858
-
859
1010
  declare module '@ably/ui/core/MeganavControl' {
860
1011
  import { ReactNode } from "react";
861
- import { MeganavTheme } from "@ably/ui/core/Meganav";
1012
+ import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
862
1013
  type MeganavControlProps = {
863
1014
  ariaControls: string;
864
1015
  ariaLabel: string;
@@ -871,19 +1022,8 @@ export default MeganavControl;
871
1022
  //# sourceMappingURL=MeganavControl.d.ts.map
872
1023
  }
873
1024
 
874
- declare module '@ably/ui/core/MeganavControlMobileDropdown/component' {
875
- export default MeganavControlMobileDropdown;
876
- function MeganavControlMobileDropdown({ clearPanels }: {
877
- clearPanels: any;
878
- }): {
879
- teardown: () => void;
880
- clear: () => void;
881
- };
882
- //# sourceMappingURL=component.d.ts.map
883
- }
884
-
885
1025
  declare module '@ably/ui/core/MeganavControlMobileDropdown' {
886
- import { MeganavTheme } from "@ably/ui/core/Meganav";
1026
+ import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
887
1027
  const MeganavControlMobileDropdown: ({ theme }: {
888
1028
  theme: MeganavTheme;
889
1029
  }) => import("react/jsx-runtime").JSX.Element;
@@ -891,15 +1031,6 @@ export default MeganavControlMobileDropdown;
891
1031
  //# sourceMappingURL=MeganavControlMobileDropdown.d.ts.map
892
1032
  }
893
1033
 
894
- declare module '@ably/ui/core/MeganavControlMobilePanelClose/component' {
895
- function _default(): {
896
- teardown: () => void;
897
- clear: () => void;
898
- }[];
899
- export default _default;
900
- //# sourceMappingURL=component.d.ts.map
901
- }
902
-
903
1034
  declare module '@ably/ui/core/MeganavControlMobilePanelClose' {
904
1035
  type MeganavControlMobilePanelCloseProps = {
905
1036
  ariaControls: string;
@@ -910,15 +1041,6 @@ export default MeganavControlMobilePanelClose;
910
1041
  //# sourceMappingURL=MeganavControlMobilePanelClose.d.ts.map
911
1042
  }
912
1043
 
913
- declare module '@ably/ui/core/MeganavControlMobilePanelOpen/component' {
914
- function _default(): {
915
- teardown: () => void;
916
- clear: () => void;
917
- }[];
918
- export default _default;
919
- //# sourceMappingURL=component.d.ts.map
920
- }
921
-
922
1044
  declare module '@ably/ui/core/MeganavControlMobilePanelOpen' {
923
1045
  import { ReactNode } from "react";
924
1046
  type MeganavControlMobilePanelOpenProps = {
@@ -932,7 +1054,7 @@ export default MeganavControlMobilePanelOpen;
932
1054
 
933
1055
  declare module '@ably/ui/core/MeganavItemsDesktop' {
934
1056
  import React from "react";
935
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/Meganav";
1057
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
936
1058
  type MeganavDesktopItems = {
937
1059
  panels: MeganavPanels;
938
1060
  paths?: MeganavPaths;
@@ -948,7 +1070,7 @@ export default _default;
948
1070
 
949
1071
  declare module '@ably/ui/core/MeganavItemsMobile' {
950
1072
  import React from "react";
951
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
1073
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
952
1074
  type MeganavItemsMobileProps = {
953
1075
  panels: MeganavPanels;
954
1076
  paths?: MeganavPaths;
@@ -965,7 +1087,7 @@ export default _default;
965
1087
  }
966
1088
 
967
1089
  declare module '@ably/ui/core/MeganavItemsSignedIn' {
968
- import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
1090
+ import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
969
1091
  type MeganavItemsSignedIn = {
970
1092
  sessionState: MeganavSessionState;
971
1093
  theme: MeganavTheme;
@@ -978,7 +1100,7 @@ export default MeganavItemsSignedIn;
978
1100
  }
979
1101
 
980
1102
  declare module '@ably/ui/core/MeganavSearch' {
981
- import { AbsUrl } from "@ably/ui/core/Meganav";
1103
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
982
1104
  const MeganavSearch: ({ absUrl, dataId, }: {
983
1105
  absUrl: AbsUrl;
984
1106
  dataId?: string;
@@ -987,15 +1109,6 @@ export default MeganavSearch;
987
1109
  //# sourceMappingURL=MeganavSearch.d.ts.map
988
1110
  }
989
1111
 
990
- declare module '@ably/ui/core/MeganavSearchAutocomplete/component' {
991
- function _default(apiKey: any): {
992
- teardown: () => void;
993
- clear: () => void;
994
- }[];
995
- export default _default;
996
- //# sourceMappingURL=component.d.ts.map
997
- }
998
-
999
1112
  declare module '@ably/ui/core/MeganavSearchAutocomplete' {
1000
1113
  const MeganavSearchAutocomplete: () => import("react/jsx-runtime").JSX.Element;
1001
1114
  export default MeganavSearchAutocomplete;
@@ -1003,7 +1116,7 @@ export default MeganavSearchAutocomplete;
1003
1116
  }
1004
1117
 
1005
1118
  declare module '@ably/ui/core/MeganavSearchPanel' {
1006
- import { AbsUrl } from "@ably/ui/core/Meganav";
1119
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1007
1120
  const MeganavSearchPanel: ({ absUrl }: {
1008
1121
  absUrl: AbsUrl;
1009
1122
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1011,17 +1124,8 @@ export default MeganavSearchPanel;
1011
1124
  //# sourceMappingURL=MeganavSearchPanel.d.ts.map
1012
1125
  }
1013
1126
 
1014
- declare module '@ably/ui/core/MeganavSearchSuggestions/component' {
1015
- export default MeganavSearchSuggestions;
1016
- function MeganavSearchSuggestions(): {
1017
- teardown: () => void;
1018
- clear: () => void;
1019
- };
1020
- //# sourceMappingURL=component.d.ts.map
1021
- }
1022
-
1023
1127
  declare module '@ably/ui/core/MeganavSearchSuggestions' {
1024
- import { AbsUrl } from "@ably/ui/core/Meganav";
1128
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1025
1129
  type MeganavSearchSuggestionsProps = {
1026
1130
  absUrl: AbsUrl;
1027
1131
  displaySupportLink: boolean;
@@ -1043,6 +1147,7 @@ function Notice({ bannerContainer, cookieId, noticeId, options }: {
1043
1147
  }
1044
1148
 
1045
1149
  declare module '@ably/ui/core/Notice' {
1150
+ import React from "react";
1046
1151
  import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
1047
1152
  export type NoticeProps = {
1048
1153
  buttonLink?: string;
@@ -1066,7 +1171,7 @@ export type NoticeProps = {
1066
1171
  collapse: boolean;
1067
1172
  };
1068
1173
  };
1069
- const Notice: ({ buttonLink, buttonLabel, bodyText, title, config, closeBtn, bgColor, textColor, }: NoticeProps) => import("react/jsx-runtime").JSX.Element;
1174
+ const Notice: React.ForwardRefExoticComponent<NoticeProps & React.RefAttributes<HTMLDivElement>>;
1070
1175
  export default Notice;
1071
1176
  //# sourceMappingURL=Notice.d.ts.map
1072
1177
  }
@@ -1248,7 +1353,7 @@ export default ProductTile;
1248
1353
 
1249
1354
  declare module '@ably/ui/core/SignOutLink' {
1250
1355
  import { MouseEventHandler, ReactNode } from "react";
1251
- import { AbsUrl } from "@ably/ui/core/Meganav";
1356
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1252
1357
  type SignOutLinkProps = {
1253
1358
  token: string;
1254
1359
  href: string;
@@ -1462,13 +1567,6 @@ export function queryIdAll(val: any, root?: Document): NodeListOf<Element>;
1462
1567
  //# sourceMappingURL=dom-query.d.ts.map
1463
1568
  }
1464
1569
 
1465
- declare module '@ably/ui/core/hooks/use-rails-ujs-hooks' {
1466
- import { RefObject } from "react";
1467
- const useRailsUjsLinks: () => RefObject<HTMLDivElement>;
1468
- export default useRailsUjsLinks;
1469
- //# sourceMappingURL=use-rails-ujs-hooks.d.ts.map
1470
- }
1471
-
1472
1570
  declare module '@ably/ui/core/hubspot-chat-toggle' {
1473
1571
  export default function toggleChatWidget(params: any): (() => void) | undefined;
1474
1572
  //# sourceMappingURL=hubspot-chat-toggle.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "15.6.0-dev.274a3001",
3
+ "version": "15.6.0-dev.b2d087a",
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",
@@ -19,19 +19,17 @@
19
19
  "workerDirectory": "./public"
20
20
  },
21
21
  "devDependencies": {
22
- "@storybook/addon-a11y": "^8.6.0",
23
- "@storybook/addon-essentials": "^8.6.0",
24
- "@storybook/addon-interactions": "^8.6.0",
25
- "@storybook/addon-links": "^8.6.0",
26
- "@storybook/blocks": "^8.6.0",
27
- "@storybook/react-vite": "^8.6.0",
28
- "@storybook/test": "^8.6.0",
29
- "@storybook/test-runner": "^0.21.3",
22
+ "@storybook/addon-essentials": "^8.6.4",
23
+ "@storybook/react-vite": "^8.6.4",
24
+ "@storybook/test": "^8.6.4",
25
+ "@storybook/test-runner": "^0.22.0",
30
26
  "@swc/cli": "^0.6.0",
31
27
  "@swc/core": "^1.4.11",
32
28
  "@tailwindcss/container-queries": "^0.1.1",
33
29
  "@types/js-cookie": "^3.0.6",
34
30
  "@types/lodash.throttle": "^4.1.9",
31
+ "@types/node": "^20",
32
+ "@types/react": "^18.3.1",
35
33
  "@types/react-dom": "^18.3.0",
36
34
  "@types/svg-sprite": "^0.0.39",
37
35
  "@typescript-eslint/eslint-plugin": "^8.25.0",
@@ -42,7 +40,7 @@
42
40
  "eslint": "^8.57.0",
43
41
  "eslint-config-prettier": "^10.0.1",
44
42
  "eslint-plugin-react": "^7.34.3",
45
- "eslint-plugin-storybook": "^0.11.3",
43
+ "eslint-plugin-storybook": "^0.11.4",
46
44
  "heroicons": "^2.2.0",
47
45
  "http-server": "14.1.1",
48
46
  "mixpanel-browser": "^2.60.0",
@@ -52,7 +50,7 @@
52
50
  "posthog-js": "^1.217.4",
53
51
  "prettier": "^3.2.5",
54
52
  "react-syntax-highlighter": "^15.6.1",
55
- "storybook": "^8.6.0",
53
+ "storybook": "^8.6.4",
56
54
  "storybook-dark-mode": "^4.0.2",
57
55
  "svg-sprite": "^2.0.4",
58
56
  "tailwindcss": "^3.3.6",