@ably/ui 15.7.0 → 16.0.0-dev.2051d9aa

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 (131) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/FeaturedLink.js +1 -1
  3. package/core/FeaturedLink.js.map +1 -1
  4. package/core/Flyout.js +1 -1
  5. package/core/Flyout.js.map +1 -1
  6. package/core/Header/Header.css +8 -0
  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/LegacyMeganav.js +2 -0
  12. package/core/LegacyMeganav/LegacyMeganav.js.map +1 -0
  13. package/core/LegacyMeganav/MeganavBlogPostsList/component.js +2 -0
  14. package/core/LegacyMeganav/MeganavBlogPostsList/component.js.map +1 -0
  15. package/core/LegacyMeganav/MeganavBlogPostsList.js +2 -0
  16. package/core/LegacyMeganav/MeganavBlogPostsList.js.map +1 -0
  17. package/core/LegacyMeganav/MeganavContentCompany.js +2 -0
  18. package/core/LegacyMeganav/MeganavContentCompany.js.map +1 -0
  19. package/core/LegacyMeganav/MeganavContentDevelopers.js +2 -0
  20. package/core/LegacyMeganav/MeganavContentDevelopers.js.map +1 -0
  21. package/core/LegacyMeganav/MeganavContentProducts.js +2 -0
  22. package/core/LegacyMeganav/MeganavContentProducts.js.map +1 -0
  23. package/core/LegacyMeganav/MeganavContentUseCases.js +2 -0
  24. package/core/LegacyMeganav/MeganavContentUseCases.js.map +1 -0
  25. package/core/LegacyMeganav/MeganavControl/component.js +2 -0
  26. package/core/LegacyMeganav/MeganavControl/component.js.map +1 -0
  27. package/core/LegacyMeganav/MeganavControl.js +2 -0
  28. package/core/LegacyMeganav/MeganavControl.js.map +1 -0
  29. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js +2 -0
  30. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js.map +1 -0
  31. package/core/LegacyMeganav/MeganavControlMobileDropdown.js +2 -0
  32. package/core/LegacyMeganav/MeganavControlMobileDropdown.js.map +1 -0
  33. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js +2 -0
  34. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js.map +1 -0
  35. package/core/LegacyMeganav/MeganavControlMobilePanelClose.js +2 -0
  36. package/core/LegacyMeganav/MeganavControlMobilePanelClose.js.map +1 -0
  37. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js +2 -0
  38. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js.map +1 -0
  39. package/core/LegacyMeganav/MeganavControlMobilePanelOpen.js +2 -0
  40. package/core/LegacyMeganav/MeganavControlMobilePanelOpen.js.map +1 -0
  41. package/core/LegacyMeganav/MeganavItemsDesktop.js +2 -0
  42. package/core/LegacyMeganav/MeganavItemsDesktop.js.map +1 -0
  43. package/core/LegacyMeganav/MeganavItemsMobile.js +2 -0
  44. package/core/LegacyMeganav/MeganavItemsMobile.js.map +1 -0
  45. package/core/LegacyMeganav/MeganavItemsSignedIn.js.map +1 -0
  46. package/core/LegacyMeganav/MeganavSearch.js +2 -0
  47. package/core/LegacyMeganav/MeganavSearch.js.map +1 -0
  48. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js +2 -0
  49. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js.map +1 -0
  50. package/core/LegacyMeganav/MeganavSearchAutocomplete.js.map +1 -0
  51. package/core/LegacyMeganav/MeganavSearchPanel.js +2 -0
  52. package/core/LegacyMeganav/MeganavSearchPanel.js.map +1 -0
  53. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js +2 -0
  54. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js.map +1 -0
  55. package/core/LegacyMeganav/MeganavSearchSuggestions.js +2 -0
  56. package/core/LegacyMeganav/MeganavSearchSuggestions.js.map +1 -0
  57. package/core/LegacyMeganav/SignOutLink.js.map +1 -0
  58. package/core/LegacyMeganav/component.js +2 -0
  59. package/core/{Meganav → LegacyMeganav}/component.js.map +1 -1
  60. package/core/Meganav/.DS_Store +0 -0
  61. package/core/Meganav/MeganavMobile.js +2 -0
  62. package/core/Meganav/MeganavMobile.js.map +1 -0
  63. package/core/Meganav/MeganavPanel.js +2 -0
  64. package/core/Meganav/MeganavPanel.js.map +1 -0
  65. package/core/Meganav/data.js +2 -0
  66. package/core/Meganav/data.js.map +1 -0
  67. package/core/Meganav/images/fan-engagement-nav-image.png +0 -0
  68. package/core/Meganav/images/founders-nav-image.png +0 -0
  69. package/core/Meganav.js +1 -1
  70. package/core/Meganav.js.map +1 -1
  71. package/core/Notice/component.js +1 -1
  72. package/core/Notice/component.js.map +1 -1
  73. package/core/Notice.js +1 -1
  74. package/core/Notice.js.map +1 -1
  75. package/core/ProductTile/ProductDescription.js +1 -1
  76. package/core/ProductTile/ProductDescription.js.map +1 -1
  77. package/core/ProductTile/ProductLabel.js +1 -1
  78. package/core/ProductTile/ProductLabel.js.map +1 -1
  79. package/index.d.ts +211 -116
  80. package/package.json +2 -2
  81. package/core/Meganav/component.js +0 -2
  82. package/core/MeganavBlogPostsList/component.js +0 -2
  83. package/core/MeganavBlogPostsList/component.js.map +0 -1
  84. package/core/MeganavBlogPostsList.js +0 -2
  85. package/core/MeganavBlogPostsList.js.map +0 -1
  86. package/core/MeganavContentCompany.js +0 -2
  87. package/core/MeganavContentCompany.js.map +0 -1
  88. package/core/MeganavContentDevelopers.js +0 -2
  89. package/core/MeganavContentDevelopers.js.map +0 -1
  90. package/core/MeganavContentProducts.js +0 -2
  91. package/core/MeganavContentProducts.js.map +0 -1
  92. package/core/MeganavContentUseCases.js +0 -2
  93. package/core/MeganavContentUseCases.js.map +0 -1
  94. package/core/MeganavControl/component.js +0 -2
  95. package/core/MeganavControl/component.js.map +0 -1
  96. package/core/MeganavControl.js +0 -2
  97. package/core/MeganavControl.js.map +0 -1
  98. package/core/MeganavControlMobileDropdown/component.js +0 -2
  99. package/core/MeganavControlMobileDropdown/component.js.map +0 -1
  100. package/core/MeganavControlMobileDropdown.js +0 -2
  101. package/core/MeganavControlMobileDropdown.js.map +0 -1
  102. package/core/MeganavControlMobilePanelClose/component.js +0 -2
  103. package/core/MeganavControlMobilePanelClose/component.js.map +0 -1
  104. package/core/MeganavControlMobilePanelClose.js +0 -2
  105. package/core/MeganavControlMobilePanelClose.js.map +0 -1
  106. package/core/MeganavControlMobilePanelOpen/component.js +0 -2
  107. package/core/MeganavControlMobilePanelOpen/component.js.map +0 -1
  108. package/core/MeganavControlMobilePanelOpen.js +0 -2
  109. package/core/MeganavControlMobilePanelOpen.js.map +0 -1
  110. package/core/MeganavItemsDesktop.js +0 -2
  111. package/core/MeganavItemsDesktop.js.map +0 -1
  112. package/core/MeganavItemsMobile.js +0 -2
  113. package/core/MeganavItemsMobile.js.map +0 -1
  114. package/core/MeganavItemsSignedIn.js.map +0 -1
  115. package/core/MeganavSearch.js +0 -2
  116. package/core/MeganavSearch.js.map +0 -1
  117. package/core/MeganavSearchAutocomplete/component.js +0 -2
  118. package/core/MeganavSearchAutocomplete/component.js.map +0 -1
  119. package/core/MeganavSearchAutocomplete.js.map +0 -1
  120. package/core/MeganavSearchPanel.js +0 -2
  121. package/core/MeganavSearchPanel.js.map +0 -1
  122. package/core/MeganavSearchSuggestions/component.js +0 -2
  123. package/core/MeganavSearchSuggestions/component.js.map +0 -1
  124. package/core/MeganavSearchSuggestions.js +0 -2
  125. package/core/MeganavSearchSuggestions.js.map +0 -1
  126. package/core/SignOutLink.js.map +0 -1
  127. /package/core/{MeganavItemsSignedIn.js → LegacyMeganav/MeganavItemsSignedIn.js} +0 -0
  128. /package/core/{MeganavSearchAutocomplete.js → LegacyMeganav/MeganavSearchAutocomplete.js} +0 -0
  129. /package/core/{SignOutLink.js → LegacyMeganav/SignOutLink.js} +0 -0
  130. /package/core/{Meganav → LegacyMeganav}/component.css +0 -0
  131. /package/core/{Meganav → LegacyMeganav}/component.json +0 -0
package/index.d.ts CHANGED
@@ -423,8 +423,12 @@ type FeaturedLinkProps = {
423
423
  newWindow?: boolean;
424
424
  onClick?: () => void;
425
425
  disabled?: boolean;
426
+ /**
427
+ * Optional class name for group hover state.
428
+ */
429
+ groupHoverClassName?: string;
426
430
  };
427
- const FeaturedLink: ({ url, textSize, iconColor, flush, reverse, additionalCSS, newWindow, onClick, children, disabled, }: FeaturedLinkProps) => import("react/jsx-runtime").JSX.Element;
431
+ const FeaturedLink: ({ url, textSize, iconColor, flush, reverse, additionalCSS, newWindow, onClick, children, disabled, groupHoverClassName, }: FeaturedLinkProps) => import("react/jsx-runtime").JSX.Element;
428
432
  export default FeaturedLink;
429
433
  //# sourceMappingURL=FeaturedLink.d.ts.map
430
434
  }
@@ -475,9 +479,9 @@ type FlyoutProps = {
475
479
  */
476
480
  menuItems: {
477
481
  /**
478
- * Label for the menu item.
482
+ * Name for the menu item.
479
483
  */
480
- label: string;
484
+ name: string;
481
485
  /**
482
486
  * Optional content to be displayed in the flyout panel.
483
487
  */
@@ -537,14 +541,13 @@ export default Footer;
537
541
  declare module '@ably/ui/core/Header/HeaderLinks' {
538
542
  import React from "react";
539
543
  import { HeaderProps } from ".@ably/ui/core/Header";
540
- export const HeaderLinks: React.FC<Pick<HeaderProps, "sessionState" | "headerLinks" | "searchButtonVisibility" | "searchButton"> & {
541
- className?: string;
542
- }>;
544
+ export const HeaderLinks: React.FC<Pick<HeaderProps, "sessionState" | "headerLinks" | "searchButtonVisibility" | "searchButton" | "className">>;
543
545
  //# sourceMappingURL=HeaderLinks.d.ts.map
544
546
  }
545
547
 
546
548
  declare module '@ably/ui/core/Header' {
547
549
  import React, { ReactNode } from "react";
550
+ import "@ably/ui/core/Header/Header.css";
548
551
  export type ThemedScrollpoint = {
549
552
  id: string;
550
553
  className: string;
@@ -579,6 +582,14 @@ export type HeaderSessionState = {
579
582
  * Props for the Header component.
580
583
  */
581
584
  export type HeaderProps = {
585
+ /**
586
+ * Optional classnames to add to the header
587
+ */
588
+ className?: string;
589
+ /**
590
+ * Indicates if the notice banner is visible.
591
+ */
592
+ isNoticeVisible: boolean;
582
593
  /**
583
594
  * Optional search bar element.
584
595
  */
@@ -683,60 +694,9 @@ export default Icon;
683
694
  //# sourceMappingURL=Icon.d.ts.map
684
695
  }
685
696
 
686
- declare module '@ably/ui/core/LinkButton' {
687
- import React from "react";
688
- import { ButtonPropsBase } from "@ably/ui/core/Button";
689
- import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
690
- export type LinkButtonProps = ButtonPropsBase & {
691
- disabled?: boolean;
692
- onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
693
- iconColor?: ColorClass | ColorThemeSet;
694
- } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
695
- const LinkButton: React.FC<LinkButtonProps>;
696
- export default LinkButton;
697
- //# sourceMappingURL=LinkButton.d.ts.map
698
- }
699
-
700
- declare module '@ably/ui/core/Loader' {
701
- type LoaderProps = {
702
- size?: string;
703
- ringColor?: string;
704
- additionalCSS?: string;
705
- };
706
- const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
707
- export default Loader;
708
- //# sourceMappingURL=Loader.d.ts.map
709
- }
710
-
711
- declare module '@ably/ui/core/Logo' {
712
- import React from "react";
713
- type LogoProps = {
714
- dataId?: string;
715
- logoUrl?: string;
716
- logoAlt?: string;
717
- href?: string;
718
- additionalImgAttrs?: object;
719
- additionalLinkAttrs?: object;
720
- theme?: "light" | "dark";
721
- variant?: "default" | "mono";
722
- orientation?: "default" | "stacked";
723
- };
724
- const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
725
- export default _default;
726
- //# sourceMappingURL=Logo.d.ts.map
727
- }
728
-
729
- declare module '@ably/ui/core/Meganav/component' {
730
- export default function Meganav({ themeName, addSearchApiKey }: {
731
- themeName: any;
732
- addSearchApiKey: any;
733
- }): () => void;
734
- //# sourceMappingURL=component.d.ts.map
735
- }
736
-
737
- declare module '@ably/ui/core/Meganav' {
697
+ declare module '@ably/ui/core/LegacyMeganav/LegacyMeganav' {
738
698
  import { ReactNode } from "react";
739
- import { ColorClass } from "@ably/ui/core/styles/colors/types";
699
+ import { ColorClass } from ".@ably/ui/core/styles/colors/types";
740
700
  export type MeganavTheme = {
741
701
  backgroundColor?: ColorClass;
742
702
  textColor?: ColorClass;
@@ -814,13 +774,13 @@ type MeganavProps = {
814
774
  statusUrl: string;
815
775
  searchDataId?: string;
816
776
  };
817
- const Meganav: ({ paths, themeName, notice, loginLink, urlBase, addSearchApiKey, statusUrl, searchDataId, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
818
- export default Meganav;
819
- //# sourceMappingURL=Meganav.d.ts.map
777
+ const LegacyMeganav: ({ paths, themeName, notice, loginLink, urlBase, addSearchApiKey, statusUrl, searchDataId, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
778
+ export default LegacyMeganav;
779
+ //# sourceMappingURL=LegacyMeganav.d.ts.map
820
780
  }
821
781
 
822
- declare module '@ably/ui/core/MeganavBlogPostsList' {
823
- import { AbsUrl } from "@ably/ui/core/Meganav";
782
+ declare module '@ably/ui/core/LegacyMeganav/MeganavBlogPostsList' {
783
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
824
784
  type MeganavBlogPostsListProps = {
825
785
  recentBlogPosts: {
826
786
  link: string;
@@ -834,8 +794,8 @@ export default MeganavBlogPostsList;
834
794
  //# sourceMappingURL=MeganavBlogPostsList.d.ts.map
835
795
  }
836
796
 
837
- declare module '@ably/ui/core/MeganavContentCompany' {
838
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
797
+ declare module '@ably/ui/core/LegacyMeganav/MeganavContentCompany' {
798
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
839
799
  type MeganavContentCompanyProps = {
840
800
  absUrl: AbsUrl;
841
801
  paths?: MeganavPaths;
@@ -845,8 +805,8 @@ export default MeganavContentCompany;
845
805
  //# sourceMappingURL=MeganavContentCompany.d.ts.map
846
806
  }
847
807
 
848
- declare module '@ably/ui/core/MeganavContentDevelopers' {
849
- import { AbsUrl } from "@ably/ui/core/Meganav";
808
+ declare module '@ably/ui/core/LegacyMeganav/MeganavContentDevelopers' {
809
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
850
810
  const MeganavContentDevelopers: ({ absUrl, statusUrl, }: {
851
811
  absUrl: AbsUrl;
852
812
  statusUrl: string;
@@ -855,8 +815,8 @@ export default MeganavContentDevelopers;
855
815
  //# sourceMappingURL=MeganavContentDevelopers.d.ts.map
856
816
  }
857
817
 
858
- declare module '@ably/ui/core/MeganavContentProducts' {
859
- import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
818
+ declare module '@ably/ui/core/LegacyMeganav/MeganavContentProducts' {
819
+ import { AbsUrl, MeganavPaths } from "@ably/ui/core/LegacyMeganav";
860
820
  type MeganavContentProductsProps = {
861
821
  paths?: MeganavPaths;
862
822
  absUrl: AbsUrl;
@@ -866,8 +826,8 @@ export default MeganavContentProducts;
866
826
  //# sourceMappingURL=MeganavContentProducts.d.ts.map
867
827
  }
868
828
 
869
- declare module '@ably/ui/core/MeganavContentUseCases' {
870
- import { AbsUrl } from "@ably/ui/core/Meganav";
829
+ declare module '@ably/ui/core/LegacyMeganav/MeganavContentUseCases' {
830
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
871
831
  const MeganavContentUseCases: ({ absUrl }: {
872
832
  absUrl: AbsUrl;
873
833
  }) => import("react/jsx-runtime").JSX.Element;
@@ -875,7 +835,7 @@ export default MeganavContentUseCases;
875
835
  //# sourceMappingURL=MeganavContentUseCases.d.ts.map
876
836
  }
877
837
 
878
- declare module '@ably/ui/core/MeganavControl/component' {
838
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControl/component' {
879
839
  export default MeganavControl;
880
840
  function MeganavControl(): {
881
841
  teardown: () => void;
@@ -884,9 +844,9 @@ function MeganavControl(): {
884
844
  //# sourceMappingURL=component.d.ts.map
885
845
  }
886
846
 
887
- declare module '@ably/ui/core/MeganavControl' {
847
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControl' {
888
848
  import { ReactNode } from "react";
889
- import { MeganavTheme } from "@ably/ui/core/Meganav";
849
+ import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
890
850
  type MeganavControlProps = {
891
851
  ariaControls: string;
892
852
  ariaLabel: string;
@@ -899,7 +859,7 @@ export default MeganavControl;
899
859
  //# sourceMappingURL=MeganavControl.d.ts.map
900
860
  }
901
861
 
902
- declare module '@ably/ui/core/MeganavControlMobileDropdown/component' {
862
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobileDropdown/component' {
903
863
  export default MeganavControlMobileDropdown;
904
864
  function MeganavControlMobileDropdown({ clearPanels }: {
905
865
  clearPanels: any;
@@ -910,8 +870,8 @@ function MeganavControlMobileDropdown({ clearPanels }: {
910
870
  //# sourceMappingURL=component.d.ts.map
911
871
  }
912
872
 
913
- declare module '@ably/ui/core/MeganavControlMobileDropdown' {
914
- import { MeganavTheme } from "@ably/ui/core/Meganav";
873
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobileDropdown' {
874
+ import { MeganavTheme } from "@ably/ui/core/LegacyMeganav";
915
875
  const MeganavControlMobileDropdown: ({ theme }: {
916
876
  theme: MeganavTheme;
917
877
  }) => import("react/jsx-runtime").JSX.Element;
@@ -919,7 +879,7 @@ export default MeganavControlMobileDropdown;
919
879
  //# sourceMappingURL=MeganavControlMobileDropdown.d.ts.map
920
880
  }
921
881
 
922
- declare module '@ably/ui/core/MeganavControlMobilePanelClose/component' {
882
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelClose/component' {
923
883
  function _default(): {
924
884
  teardown: () => void;
925
885
  clear: () => void;
@@ -928,7 +888,7 @@ export default _default;
928
888
  //# sourceMappingURL=component.d.ts.map
929
889
  }
930
890
 
931
- declare module '@ably/ui/core/MeganavControlMobilePanelClose' {
891
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelClose' {
932
892
  type MeganavControlMobilePanelCloseProps = {
933
893
  ariaControls: string;
934
894
  displayHr?: boolean;
@@ -938,7 +898,7 @@ export default MeganavControlMobilePanelClose;
938
898
  //# sourceMappingURL=MeganavControlMobilePanelClose.d.ts.map
939
899
  }
940
900
 
941
- declare module '@ably/ui/core/MeganavControlMobilePanelOpen/component' {
901
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelOpen/component' {
942
902
  function _default(): {
943
903
  teardown: () => void;
944
904
  clear: () => void;
@@ -947,7 +907,7 @@ export default _default;
947
907
  //# sourceMappingURL=component.d.ts.map
948
908
  }
949
909
 
950
- declare module '@ably/ui/core/MeganavControlMobilePanelOpen' {
910
+ declare module '@ably/ui/core/LegacyMeganav/MeganavControlMobilePanelOpen' {
951
911
  import { ReactNode } from "react";
952
912
  type MeganavControlMobilePanelOpenProps = {
953
913
  ariaControls: string;
@@ -958,9 +918,9 @@ export default MeganavControlMobilePanelOpen;
958
918
  //# sourceMappingURL=MeganavControlMobilePanelOpen.d.ts.map
959
919
  }
960
920
 
961
- declare module '@ably/ui/core/MeganavItemsDesktop' {
921
+ declare module '@ably/ui/core/LegacyMeganav/MeganavItemsDesktop' {
962
922
  import React from "react";
963
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/Meganav";
923
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
964
924
  type MeganavDesktopItems = {
965
925
  panels: MeganavPanels;
966
926
  paths?: MeganavPaths;
@@ -974,9 +934,9 @@ export default _default;
974
934
  //# sourceMappingURL=MeganavItemsDesktop.d.ts.map
975
935
  }
976
936
 
977
- declare module '@ably/ui/core/MeganavItemsMobile' {
937
+ declare module '@ably/ui/core/LegacyMeganav/MeganavItemsMobile' {
978
938
  import React from "react";
979
- import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
939
+ import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
980
940
  type MeganavItemsMobileProps = {
981
941
  panels: MeganavPanels;
982
942
  paths?: MeganavPaths;
@@ -992,8 +952,8 @@ export default _default;
992
952
  //# sourceMappingURL=MeganavItemsMobile.d.ts.map
993
953
  }
994
954
 
995
- declare module '@ably/ui/core/MeganavItemsSignedIn' {
996
- import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
955
+ declare module '@ably/ui/core/LegacyMeganav/MeganavItemsSignedIn' {
956
+ import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/LegacyMeganav";
997
957
  type MeganavItemsSignedIn = {
998
958
  sessionState: MeganavSessionState;
999
959
  theme: MeganavTheme;
@@ -1005,8 +965,8 @@ export default MeganavItemsSignedIn;
1005
965
  //# sourceMappingURL=MeganavItemsSignedIn.d.ts.map
1006
966
  }
1007
967
 
1008
- declare module '@ably/ui/core/MeganavSearch' {
1009
- import { AbsUrl } from "@ably/ui/core/Meganav";
968
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearch' {
969
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1010
970
  const MeganavSearch: ({ absUrl, dataId, }: {
1011
971
  absUrl: AbsUrl;
1012
972
  dataId?: string;
@@ -1015,7 +975,7 @@ export default MeganavSearch;
1015
975
  //# sourceMappingURL=MeganavSearch.d.ts.map
1016
976
  }
1017
977
 
1018
- declare module '@ably/ui/core/MeganavSearchAutocomplete/component' {
978
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchAutocomplete/component' {
1019
979
  function _default(apiKey: any): {
1020
980
  teardown: () => void;
1021
981
  clear: () => void;
@@ -1024,14 +984,14 @@ export default _default;
1024
984
  //# sourceMappingURL=component.d.ts.map
1025
985
  }
1026
986
 
1027
- declare module '@ably/ui/core/MeganavSearchAutocomplete' {
987
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchAutocomplete' {
1028
988
  const MeganavSearchAutocomplete: () => import("react/jsx-runtime").JSX.Element;
1029
989
  export default MeganavSearchAutocomplete;
1030
990
  //# sourceMappingURL=MeganavSearchAutocomplete.d.ts.map
1031
991
  }
1032
992
 
1033
- declare module '@ably/ui/core/MeganavSearchPanel' {
1034
- import { AbsUrl } from "@ably/ui/core/Meganav";
993
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchPanel' {
994
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1035
995
  const MeganavSearchPanel: ({ absUrl }: {
1036
996
  absUrl: AbsUrl;
1037
997
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1039,7 +999,7 @@ export default MeganavSearchPanel;
1039
999
  //# sourceMappingURL=MeganavSearchPanel.d.ts.map
1040
1000
  }
1041
1001
 
1042
- declare module '@ably/ui/core/MeganavSearchSuggestions/component' {
1002
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchSuggestions/component' {
1043
1003
  export default MeganavSearchSuggestions;
1044
1004
  function MeganavSearchSuggestions(): {
1045
1005
  teardown: () => void;
@@ -1048,8 +1008,8 @@ function MeganavSearchSuggestions(): {
1048
1008
  //# sourceMappingURL=component.d.ts.map
1049
1009
  }
1050
1010
 
1051
- declare module '@ably/ui/core/MeganavSearchSuggestions' {
1052
- import { AbsUrl } from "@ably/ui/core/Meganav";
1011
+ declare module '@ably/ui/core/LegacyMeganav/MeganavSearchSuggestions' {
1012
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1053
1013
  type MeganavSearchSuggestionsProps = {
1054
1014
  absUrl: AbsUrl;
1055
1015
  displaySupportLink: boolean;
@@ -1059,7 +1019,161 @@ export default MeganavSearchSuggestions;
1059
1019
  //# sourceMappingURL=MeganavSearchSuggestions.d.ts.map
1060
1020
  }
1061
1021
 
1022
+ declare module '@ably/ui/core/LegacyMeganav/SignOutLink' {
1023
+ import { MouseEventHandler, ReactNode } from "react";
1024
+ import { AbsUrl } from "@ably/ui/core/LegacyMeganav";
1025
+ type SignOutLinkProps = {
1026
+ token: string;
1027
+ href: string;
1028
+ text: string;
1029
+ children: ({ href, text, onClick, }: {
1030
+ href: string;
1031
+ text: string;
1032
+ onClick: MouseEventHandler<HTMLAnchorElement>;
1033
+ }) => ReactNode;
1034
+ absUrl: AbsUrl;
1035
+ };
1036
+ const SignOutLink: ({ token, href, text, children, absUrl, }: SignOutLinkProps) => import("react/jsx-runtime").JSX.Element;
1037
+ export default SignOutLink;
1038
+ //# sourceMappingURL=SignOutLink.d.ts.map
1039
+ }
1040
+
1041
+ declare module '@ably/ui/core/LegacyMeganav/component' {
1042
+ export default function Meganav({ themeName, addSearchApiKey }: {
1043
+ themeName: any;
1044
+ addSearchApiKey: any;
1045
+ }): () => void;
1046
+ //# sourceMappingURL=component.d.ts.map
1047
+ }
1048
+
1049
+ declare module '@ably/ui/core/LinkButton' {
1050
+ import React from "react";
1051
+ import { ButtonPropsBase } from "@ably/ui/core/Button";
1052
+ import { ColorClass, ColorThemeSet } from "@ably/ui/core/styles/colors/types";
1053
+ export type LinkButtonProps = ButtonPropsBase & {
1054
+ disabled?: boolean;
1055
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
1056
+ iconColor?: ColorClass | ColorThemeSet;
1057
+ } & React.AnchorHTMLAttributes<HTMLAnchorElement>;
1058
+ const LinkButton: React.FC<LinkButtonProps>;
1059
+ export default LinkButton;
1060
+ //# sourceMappingURL=LinkButton.d.ts.map
1061
+ }
1062
+
1063
+ declare module '@ably/ui/core/Loader' {
1064
+ type LoaderProps = {
1065
+ size?: string;
1066
+ ringColor?: string;
1067
+ additionalCSS?: string;
1068
+ };
1069
+ const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
1070
+ export default Loader;
1071
+ //# sourceMappingURL=Loader.d.ts.map
1072
+ }
1073
+
1074
+ declare module '@ably/ui/core/Logo' {
1075
+ import React from "react";
1076
+ type LogoProps = {
1077
+ dataId?: string;
1078
+ logoUrl?: string;
1079
+ logoAlt?: string;
1080
+ href?: string;
1081
+ additionalImgAttrs?: object;
1082
+ additionalLinkAttrs?: object;
1083
+ theme?: "light" | "dark";
1084
+ variant?: "default" | "mono";
1085
+ orientation?: "default" | "stacked";
1086
+ };
1087
+ const _default: React.MemoExoticComponent<({ dataId, href, additionalImgAttrs, additionalLinkAttrs, theme, variant, orientation, logoUrl, logoAlt, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
1088
+ export default _default;
1089
+ //# sourceMappingURL=Logo.d.ts.map
1090
+ }
1091
+
1092
+ declare module '@ably/ui/core/Meganav/MeganavMobile' {
1093
+ import { AccordionData } from ".@ably/ui/core/Accordion/types";
1094
+ export const MeganavMobile: ({ mobileNavItems, }: {
1095
+ mobileNavItems: AccordionData[];
1096
+ }) => import("react/jsx-runtime").JSX.Element;
1097
+ //# sourceMappingURL=MeganavMobile.d.ts.map
1098
+ }
1099
+
1100
+ declare module '@ably/ui/core/Meganav/MeganavPanel' {
1101
+ import React from "react";
1102
+ import { FlyoutPanelHighlight, FlyoutPanelList } from "@ably/ui/core/data";
1103
+ export const MeganavPanel: ({ displayProductTile, panelLeft, panelLeftClassName, panelRightHeading, panelRightItems, panelRightBottom, }: {
1104
+ displayProductTile?: boolean;
1105
+ panelLeft?: FlyoutPanelHighlight;
1106
+ panelLeftClassName?: string;
1107
+ panelRightHeading?: string;
1108
+ panelRightItems: FlyoutPanelList[];
1109
+ panelRightBottom?: React.ReactNode;
1110
+ }) => import("react/jsx-runtime").JSX.Element;
1111
+ //# sourceMappingURL=MeganavPanel.d.ts.map
1112
+ }
1113
+
1114
+ declare module '@ably/ui/core/Meganav/data' {
1115
+ import React from "react";
1116
+ import { IconName } from ".@ably/ui/core/Icon/types";
1117
+ export type FlyoutPanelList = {
1118
+ label: string;
1119
+ icon: IconName;
1120
+ link: string;
1121
+ isMobile?: boolean;
1122
+ };
1123
+ export type FlyoutPanelHighlight = {
1124
+ heading: string;
1125
+ content: string;
1126
+ labelLink: string;
1127
+ url: string;
1128
+ image: string;
1129
+ };
1130
+ export type MenuItem = {
1131
+ name: string;
1132
+ link?: string;
1133
+ isHiddenMobile?: boolean;
1134
+ content?: React.ReactNode;
1135
+ panelClassName?: string;
1136
+ };
1137
+ export const menuItemLinks: {
1138
+ name: string;
1139
+ link: string;
1140
+ isHiddenMobile: boolean;
1141
+ }[];
1142
+ export const menuItemsForHeader: MenuItem[];
1143
+ //# sourceMappingURL=data.d.ts.map
1144
+ }
1145
+
1146
+ declare module '@ably/ui/core/Meganav' {
1147
+ import { HeaderSessionState } from "@ably/ui/core/Header";
1148
+ export type MeganavNoticeBannerProps = {
1149
+ props: {
1150
+ title: string;
1151
+ bodyText: string;
1152
+ buttonLink: string;
1153
+ buttonLabel: string;
1154
+ closeBtn: boolean;
1155
+ };
1156
+ config: {
1157
+ cookieId: string;
1158
+ noticeId: string | number;
1159
+ options: {
1160
+ collapse: boolean;
1161
+ };
1162
+ };
1163
+ };
1164
+ export type MeganavProps = {
1165
+ sessionState: HeaderSessionState;
1166
+ searchDataId: string;
1167
+ notice?: MeganavNoticeBannerProps;
1168
+ theme?: string;
1169
+ };
1170
+ const Meganav: ({ sessionState, searchDataId, notice, theme, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
1171
+ export default Meganav;
1172
+ //# sourceMappingURL=Meganav.d.ts.map
1173
+ }
1174
+
1062
1175
  declare module '@ably/ui/core/Notice/component' {
1176
+ export const COLLAPSE_TRIGGER_DISTANCE: 5;
1063
1177
  export default Notice;
1064
1178
  function Notice({ bannerContainer, cookieId, noticeId, options }: {
1065
1179
  bannerContainer: any;
@@ -1274,25 +1388,6 @@ export default ProductTile;
1274
1388
  //# sourceMappingURL=ProductTile.d.ts.map
1275
1389
  }
1276
1390
 
1277
- declare module '@ably/ui/core/SignOutLink' {
1278
- import { MouseEventHandler, ReactNode } from "react";
1279
- import { AbsUrl } from "@ably/ui/core/Meganav";
1280
- type SignOutLinkProps = {
1281
- token: string;
1282
- href: string;
1283
- text: string;
1284
- children: ({ href, text, onClick, }: {
1285
- href: string;
1286
- text: string;
1287
- onClick: MouseEventHandler<HTMLAnchorElement>;
1288
- }) => ReactNode;
1289
- absUrl: AbsUrl;
1290
- };
1291
- const SignOutLink: ({ token, href, text, children, absUrl, }: SignOutLinkProps) => import("react/jsx-runtime").JSX.Element;
1292
- export default SignOutLink;
1293
- //# sourceMappingURL=SignOutLink.d.ts.map
1294
- }
1295
-
1296
1391
  declare module '@ably/ui/core/Slider' {
1297
1392
  import { ReactNode } from "react";
1298
1393
  interface SliderProps {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "15.7.0",
3
+ "version": "16.0.0-dev.2051d9aa",
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",
@@ -1,2 +0,0 @@
1
- import throttle from"lodash.throttle";import{queryId,queryIdAll}from"../dom-query";import MeganavControl from"../MeganavControl/component.js";import MeganavControlMobileDropdown from"../MeganavControlMobileDropdown/component.js";import MobilePanelOpenClick from"../MeganavControlMobilePanelOpen/component.js";import MobilePanelCloseClick from"../MeganavControlMobilePanelClose/component.js";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.js";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.js";const windowOnBlur=closeAll=>{window.onblur=()=>closeAll();return{teardown:()=>window.onblur=null}};const documentClick=closeAll=>{const meganav=queryId("meganav");const clickHandler=e=>{if(meganav.contains(e.target))return;closeAll()};document.addEventListener("click",clickHandler);return{teardown:()=>document.removeEventListener("click",clickHandler)}};const documentScroll=themeName=>{if(themeName!=="transparentToWhite")return{teardown:()=>{}};const meganav=queryId("meganav");const navItems=queryIdAll("meganav-link");const controlMobileDropdownMenu=queryId("meganav-control-mobile-dropdown-menu");const controlMobileDropdownClose=queryId("meganav-control-mobile-dropdown-close");const controls=queryIdAll("meganav-control");const signUpBtn=queryId("meganav-sign-up-btn");const invertTextCollection=[...Array.from(controls),...Array.from(navItems),queryId("meganav-logo")];const invertMobleDropdownColor=invert=>{const whiteToBlack=["ui-icon-white","ui-icon-cool-black"];const blackToWhite=[...whiteToBlack].reverse();if(invert){controlMobileDropdownMenu?.classList.replace(...whiteToBlack);controlMobileDropdownClose?.classList.replace(...whiteToBlack)}else{controlMobileDropdownMenu?.classList.replace(...blackToWhite);controlMobileDropdownClose?.classList.replace(...blackToWhite)}};const inverSignupBtnColors=invert=>{if(invert){signUpBtn?.classList.replace("bg-white","bg-cool-black");signUpBtn?.classList.replace("text-cool-black","text-white")}else{signUpBtn?.classList.replace("bg-cool-black","bg-white");signUpBtn?.classList.replace("text-white","text-cool-black")}};const scrollHandler=throttle(()=>{if(window.scrollY>5){meganav.classList.replace("bg-transparent","bg-white");inverSignupBtnColors(true);invertMobleDropdownColor(true);invertTextCollection.forEach(n=>n.classList.replace("text-white","text-cool-black"))}else{meganav.classList.replace("bg-white","bg-transparent");inverSignupBtnColors(false);invertMobleDropdownColor(false);invertTextCollection.forEach(n=>n.classList.replace("text-cool-black","text-white"))}},150);document.addEventListener("scroll",scrollHandler);return{teardown:()=>document.removeEventListener("scroll",scrollHandler)}};export default function Meganav({themeName,addSearchApiKey}){const controls=MeganavControl();const panelOpenControls=MobilePanelOpenClick();const panelCloseControls=MobilePanelCloseClick();const search=MeganavSearchAutocomplete(addSearchApiKey);const searchSuggestions=MeganavSearchSuggestions();const mobileDropdownControl=MeganavControlMobileDropdown({clearPanels:()=>[...panelOpenControls,...panelCloseControls].forEach(i=>i.clear())});const closeAll=()=>[mobileDropdownControl,searchSuggestions,...panelOpenControls,...panelCloseControls,...controls,...search].forEach(i=>i.clear());const teardowns=[documentScroll(themeName??null),documentClick(closeAll),windowOnBlur(closeAll),mobileDropdownControl,searchSuggestions,...controls,...panelOpenControls,...panelCloseControls,...search].map(i=>i.teardown);return()=>teardowns.forEach(teardown=>teardown())}
2
- //# sourceMappingURL=component.js.map
@@ -1,2 +0,0 @@
1
- import{queryIdAll}from"../dom-query";import{selectRecentBlogPosts}from"../remote-blogs-posts";import{connectState}from"../remote-data-store";const template=({link,title,pubDate})=>{const[li,a,heading,copy]=["li","a","p","p"].map(el=>document.createElement(el));a.href=link;a.classList.add("ui-meganav-media","group");heading.textContent=title;heading.classList.add("ui-meganav-media-heading");copy.textContent=pubDate;copy.classList.add("ui-meganav-media-copy");a.appendChild(heading);a.appendChild(copy);li.appendChild(a);return li};export default(()=>{connectState(selectRecentBlogPosts,recentBlogPosts=>{if(Array.isArray(recentBlogPosts)&&recentBlogPosts.length>0){const sections=queryIdAll("meganav-company-panel-blog-section");const containers=queryIdAll("meganav-company-panel-recent-blog-posts");Array.from(containers).forEach(container=>{const fragment=document.createDocumentFragment();recentBlogPosts.forEach(post=>fragment.appendChild(template(post)));container.appendChild(fragment)});Array.from(sections).forEach(section=>section.classList.remove("hidden"))}})});
2
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/MeganavBlogPostsList/component.js"],"sourcesContent":["import { queryIdAll } from \"../dom-query\";\nimport { selectRecentBlogPosts } from \"../remote-blogs-posts\";\nimport { connectState } from \"../remote-data-store\";\n\nconst template = ({ link, title, pubDate }) => {\n const [li, a, heading, copy] = [\"li\", \"a\", \"p\", \"p\"].map((el) =>\n document.createElement(el),\n );\n\n a.href = link;\n a.classList.add(\"ui-meganav-media\", \"group\");\n\n heading.textContent = title;\n heading.classList.add(\"ui-meganav-media-heading\");\n\n copy.textContent = pubDate;\n copy.classList.add(\"ui-meganav-media-copy\");\n\n a.appendChild(heading);\n a.appendChild(copy);\n li.appendChild(a);\n\n return li;\n};\n\nexport default () => {\n connectState(selectRecentBlogPosts, (recentBlogPosts) => {\n if (Array.isArray(recentBlogPosts) && recentBlogPosts.length > 0) {\n const sections = queryIdAll(\"meganav-company-panel-blog-section\");\n const containers = queryIdAll(\"meganav-company-panel-recent-blog-posts\");\n\n Array.from(containers).forEach((container) => {\n const fragment = document.createDocumentFragment();\n recentBlogPosts.forEach((post) => fragment.appendChild(template(post)));\n container.appendChild(fragment);\n });\n\n Array.from(sections).forEach((section) =>\n section.classList.remove(\"hidden\"),\n );\n }\n });\n};\n"],"names":["queryIdAll","selectRecentBlogPosts","connectState","template","link","title","pubDate","li","a","heading","copy","map","el","document","createElement","href","classList","add","textContent","appendChild","recentBlogPosts","Array","isArray","length","sections","containers","from","forEach","container","fragment","createDocumentFragment","post","section","remove"],"mappings":"AAAA,OAASA,UAAU,KAAQ,cAAe,AAC1C,QAASC,qBAAqB,KAAQ,uBAAwB,AAC9D,QAASC,YAAY,KAAQ,sBAAuB,CAEpD,MAAMC,SAAW,CAAC,CAAEC,IAAI,CAAEC,KAAK,CAAEC,OAAO,CAAE,IACxC,KAAM,CAACC,GAAIC,EAAGC,QAASC,KAAK,CAAG,CAAC,KAAM,IAAK,IAAK,IAAI,CAACC,GAAG,CAAC,AAACC,IACxDC,SAASC,aAAa,CAACF,IAGzBJ,CAAAA,EAAEO,IAAI,CAAGX,KACTI,EAAEQ,SAAS,CAACC,GAAG,CAAC,mBAAoB,QAEpCR,CAAAA,QAAQS,WAAW,CAAGb,MACtBI,QAAQO,SAAS,CAACC,GAAG,CAAC,2BAEtBP,CAAAA,KAAKQ,WAAW,CAAGZ,QACnBI,KAAKM,SAAS,CAACC,GAAG,CAAC,yBAEnBT,EAAEW,WAAW,CAACV,SACdD,EAAEW,WAAW,CAACT,MACdH,GAAGY,WAAW,CAACX,GAEf,OAAOD,EACT,CAEA,eAAe,CAAA,KACbL,aAAaD,sBAAuB,AAACmB,kBACnC,GAAIC,MAAMC,OAAO,CAACF,kBAAoBA,gBAAgBG,MAAM,CAAG,EAAG,CAChE,MAAMC,SAAWxB,WAAW,sCAC5B,MAAMyB,WAAazB,WAAW,2CAE9BqB,MAAMK,IAAI,CAACD,YAAYE,OAAO,CAAC,AAACC,YAC9B,MAAMC,SAAWhB,SAASiB,sBAAsB,GAChDV,gBAAgBO,OAAO,CAAC,AAACI,MAASF,SAASV,WAAW,CAAChB,SAAS4B,QAChEH,UAAUT,WAAW,CAACU,SACxB,GAEAR,MAAMK,IAAI,CAACF,UAAUG,OAAO,CAAC,AAACK,SAC5BA,QAAQhB,SAAS,CAACiB,MAAM,CAAC,UAE7B,CACF,EACF,CAAA,CAAE"}
@@ -1,2 +0,0 @@
1
- import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavBlogPostsList=({recentBlogPosts,absUrl})=>recentBlogPosts?React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-blog"},"Blog"),React.createElement("ul",{className:"mb-8","aria-labelledby":"meganav-company-panel-list-blog"},recentBlogPosts.map(post=>React.createElement("li",{key:post.link},React.createElement("a",{href:post.link,className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},post.title),React.createElement("p",{className:"ui-meganav-media-copy"},post.pubDate))))),React.createElement(FeaturedLink,{url:absUrl("/blog"),textSize:"text-p3"},"More from our Blog")):null;export default MeganavBlogPostsList;
2
- //# sourceMappingURL=MeganavBlogPostsList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavBlogPostsList.tsx"],"sourcesContent":["import React from \"react\";\n\nimport FeaturedLink from \"./FeaturedLink\";\nimport { AbsUrl } from \"./Meganav\";\n\ntype MeganavBlogPostsListProps = {\n recentBlogPosts: {\n link: string;\n title: string;\n pubDate: string;\n }[];\n absUrl: AbsUrl;\n};\n\nconst MeganavBlogPostsList = ({\n recentBlogPosts,\n absUrl,\n}: MeganavBlogPostsListProps) =>\n recentBlogPosts ? (\n <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\">\n <h3 className=\"ui-meganav-overline\" id=\"meganav-company-panel-list-blog\">\n Blog\n </h3>\n <ul className=\"mb-8\" aria-labelledby=\"meganav-company-panel-list-blog\">\n {recentBlogPosts.map((post) => (\n <li key={post.link}>\n <a href={post.link} className=\"ui-meganav-media group\">\n <p className=\"ui-meganav-media-heading\">{post.title}</p>\n <p className=\"ui-meganav-media-copy\">{post.pubDate}</p>\n </a>\n </li>\n ))}\n </ul>\n\n <FeaturedLink url={absUrl(\"/blog\")} textSize=\"text-p3\">\n More from our Blog\n </FeaturedLink>\n </div>\n ) : null;\n\nexport default MeganavBlogPostsList;\n"],"names":["React","FeaturedLink","MeganavBlogPostsList","recentBlogPosts","absUrl","div","className","h3","id","ul","aria-labelledby","map","post","li","key","link","a","href","p","title","pubDate","url","textSize"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,iBAAkB,gBAAiB,CAY1C,MAAMC,qBAAuB,CAAC,CAC5BC,eAAe,CACfC,MAAM,CACoB,GAC1BD,gBACE,oBAACE,OAAIC,UAAU,mFACb,oBAACC,MAAGD,UAAU,sBAAsBE,GAAG,mCAAkC,QAGzE,oBAACC,MAAGH,UAAU,OAAOI,kBAAgB,mCAClCP,gBAAgBQ,GAAG,CAAC,AAACC,MACpB,oBAACC,MAAGC,IAAKF,KAAKG,IAAI,EAChB,oBAACC,KAAEC,KAAML,KAAKG,IAAI,CAAET,UAAU,0BAC5B,oBAACY,KAAEZ,UAAU,4BAA4BM,KAAKO,KAAK,EACnD,oBAACD,KAAEZ,UAAU,yBAAyBM,KAAKQ,OAAO,MAM1D,oBAACnB,cAAaoB,IAAKjB,OAAO,SAAUkB,SAAS,WAAU,uBAIvD,IAEN,gBAAepB,oBAAqB"}
@@ -1,2 +0,0 @@
1
- import React from"react";import MeganavBlogPostsList from"./MeganavBlogPostsList";import ConnectStateWrapper from"./ConnectStateWrapper";import{selectRecentBlogPosts}from"./remote-blogs-posts.js";import Icon from"./Icon";const MeganavContentCompany=({paths,absUrl})=>{const BlogPostsList=ConnectStateWrapper(MeganavBlogPostsList,{recentBlogPosts:selectRecentBlogPosts});return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},paths&&React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),React.createElement("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"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),React.createElement(BlogPostsList,{absUrl:absUrl})),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
2
- //# sourceMappingURL=MeganavContentCompany.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavContentCompany.tsx"],"sourcesContent":["import React from \"react\";\n\nimport MeganavBlogPostsList from \"./MeganavBlogPostsList\";\nimport ConnectStateWrapper from \"./ConnectStateWrapper\";\nimport { selectRecentBlogPosts } from \"./remote-blogs-posts.js\";\nimport Icon from \"./Icon\";\nimport { AbsUrl, MeganavPaths } from \"./Meganav\";\n\ntype MeganavContentCompanyProps = {\n absUrl: AbsUrl;\n paths?: MeganavPaths;\n};\n\nconst MeganavContentCompany = ({\n paths,\n absUrl,\n}: MeganavContentCompanyProps) => {\n const BlogPostsList = ConnectStateWrapper(MeganavBlogPostsList, {\n recentBlogPosts: selectRecentBlogPosts,\n });\n\n return (\n <div className=\"flex max-w-screen-xl mx-auto\">\n <div className=\"ui-meganav-content-spacer\"></div>\n <section className=\"grid grid-cols-12 ui-grid-gap-x w-full\">\n <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\">\n <h3\n className=\"ui-meganav-overline\"\n id=\"meganav-company-panel-list-why-companies\"\n >\n Why companies choose Ably\n </h3>\n <ul aria-labelledby=\"meganav-company-panel-list-why-companies\">\n <li>\n <a\n href={absUrl(\"/customers\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-customers-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Customers</p>\n <p className=\"ui-meganav-media-copy\">\n Ably supports customers across multiple industries.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/case-studies\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-case-studies-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Case studies</p>\n <p className=\"ui-meganav-media-copy\">\n Discover how customers are benefiting from Ably.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/compare\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-compare-tech-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Compare our tech</p>\n <p className=\"ui-meganav-media-copy\">\n Choose the right realtime service.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/aws\")}\n className=\"ui-meganav-media-with-image group\"\n >\n {paths && <img src={paths.awsLogo} alt=\"AWS logo\" />}\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Partners</p>\n <p className=\"ui-meganav-media-copy\">\n Ably collaborates and integrates with AWS.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <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\">\n <ul\n className=\"md:mt-40\"\n aria-labelledby=\"meganav-company-panel-list-why-companies\"\n >\n <li>\n <a\n href={absUrl(\"/resources\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-resources-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Resources</p>\n <p className=\"ui-meganav-media-copy\">\n Learn more about realtime with our handy resources.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/about\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-about-ably-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">About Ably</p>\n <p className=\"ui-meganav-media-copy\">\n Find out more about Ably’s mission.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/careers\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-careers-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Careers</p>\n <p className=\"ui-meganav-media-copy\">\n Discover our open roles and core Ably values.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/events\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-events-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Events</p>\n <p className=\"ui-meganav-media-copy\">\n Join Ably at upcoming events.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <BlogPostsList absUrl={absUrl} />\n </section>\n <div className=\"ui-meganav-content-spacer\"></div>\n </div>\n );\n};\n\nexport default MeganavContentCompany;\n"],"names":["React","MeganavBlogPostsList","ConnectStateWrapper","selectRecentBlogPosts","Icon","MeganavContentCompany","paths","absUrl","BlogPostsList","recentBlogPosts","div","className","section","h3","id","ul","aria-labelledby","li","a","href","name","size","p","img","src","awsLogo","alt"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,yBAA0B,wBAAyB,AAC1D,QAAOC,wBAAyB,uBAAwB,AACxD,QAASC,qBAAqB,KAAQ,yBAA0B,AAChE,QAAOC,SAAU,QAAS,CAQ1B,MAAMC,sBAAwB,CAAC,CAC7BC,KAAK,CACLC,MAAM,CACqB,IAC3B,MAAMC,cAAgBN,oBAAoBD,qBAAsB,CAC9DQ,gBAAiBN,qBACnB,GAEA,OACE,oBAACO,OAAIC,UAAU,gCACb,oBAACD,OAAIC,UAAU,8BACf,oBAACC,WAAQD,UAAU,0CACjB,oBAACD,OAAIC,UAAU,uFACb,oBAACE,MACCF,UAAU,sBACVG,GAAG,4CACJ,6BAGD,oBAACC,MAAGC,kBAAgB,4CAClB,oBAACC,UACC,oBAACC,KACCC,KAAMZ,OAAO,cACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,6BAA6BC,KAAK,WAC7C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,aACxC,oBAACW,KAAEX,UAAU,yBAAwB,0DAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,iBACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,gCAAgCC,KAAK,WAChD,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,gBACxC,oBAACW,KAAEX,UAAU,yBAAwB,uDAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,YACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,gCAAgCC,KAAK,WAChD,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,oBACxC,oBAACW,KAAEX,UAAU,yBAAwB,yCAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,QACbI,UAAU,qCAETL,OAAS,oBAACiB,OAAIC,IAAKlB,MAAMmB,OAAO,CAAEC,IAAI,aACvC,oBAAChB,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,YACxC,oBAACW,KAAEX,UAAU,yBAAwB,mDAS/C,oBAACD,OAAIC,UAAU,6EACb,oBAACI,MACCJ,UAAU,WACVK,kBAAgB,4CAEhB,oBAACC,UACC,oBAACC,KACCC,KAAMZ,OAAO,cACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,6BAA6BC,KAAK,WAC7C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,aACxC,oBAACW,KAAEX,UAAU,yBAAwB,0DAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,UACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,8BAA8BC,KAAK,WAC9C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,cACxC,oBAACW,KAAEX,UAAU,yBAAwB,0CAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,YACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,2BAA2BC,KAAK,WAC3C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,WACxC,oBAACW,KAAEX,UAAU,yBAAwB,oDAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,WACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,0BAA0BC,KAAK,WAC1C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,UACxC,oBAACW,KAAEX,UAAU,yBAAwB,sCAS/C,oBAACH,eAAcD,OAAQA,UAEzB,oBAACG,OAAIC,UAAU,8BAGrB,CAEA,gBAAeN,qBAAsB"}
@@ -1,2 +0,0 @@
1
- import React from"react";import Icon from"./Icon";import{StatusIcon}from"./Status";const MeganavContentDevelopers=({absUrl,statusUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-explore"},"Explore"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-docs-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Documentation"),React.createElement("p",{className:"ui-meganav-media-copy"},"Technical guides to help you build with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-quickstart-guides-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Quickstart guides"),React.createElement("p",{className:"ui-meganav-media-copy"},"Documentation to help you get started quickly.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/integrations"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-integrations-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Integrations"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably integrations."," ")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/examples"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-examples-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live examples"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our features and their use cases.")))))),React.createElement("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"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-sdks-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"SDKs"),React.createElement("p",{className:"ui-meganav-media-copy"},"Download an SDK to help you build realtime apps faster.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/tutorials"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-tutorials-demos-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Tutorials & Demos"),React.createElement("p",{className:"ui-meganav-media-copy"},"Get stuck in with our hands-on resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Chat apps reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build chat apps with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-multiplayer"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build collaborative features with Ably.")))))),React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-quick-links"},"Quick links"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-quick-links"},React.createElement("li",null,React.createElement("a",{href:"https://discord.gg/jwBPhEZ9g5",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Discord"))),React.createElement("li",null,React.createElement("a",{href:"https://github.com/ably",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"GitHub"))),React.createElement("li",null,React.createElement("a",{href:"https://changelog.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Changelog"))),React.createElement("li",null,React.createElement("a",{href:"https://status.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading flex items-center gap-4"},"Status",React.createElement(StatusIcon,{statusUrl:statusUrl})))),React.createElement("li",null,React.createElement("a",{href:absUrl("/support"),className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Support & FAQs")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentDevelopers;
2
- //# sourceMappingURL=MeganavContentDevelopers.js.map