-
{title}
- {description &&
{description}
}
- {icon &&
{icon}
}
+
+
+
+
-
- {features && features.length > 0 && (
-
-
FEATURES
-
- {features.map((feature) => (
-
-
- {feature.icon ?? }
-
-
{feature.label}
-
-
- ))}
-
-
- )}
-
- {quickLinks && quickLinks.length > 0 && (
-
-
QUICK LINKS
-
- {quickLinks.map((link) => (
-
- {link.label}
-
- ))}
-
-
+ {description && (
+
{description}
)}
-
- {buttonLabel && (
-
-
-
- )}
+
+
+
+
+
+ Features
+
+
+ {features?.map((feature, index) => (
+ -
+ {feature.icon && (
+ {feature.icon}
+ )}{" "}
+ {feature.label}
+
+ ))}
+
+
+
+
+ Quick Links
+
+
+ {quickLinks?.map((link, index) => (
+ -
+ {link.label}
+
+ ))}
+
+
);
}
+
+const ProductBadge = ({ badge }: { badge: string }) => {
+ return (
+
+ {badge}
+
+ );
+};
diff --git a/apps/developer-hub/src/components/Root/global.css b/apps/developer-hub/src/components/Root/global.css
index 7af62f670a..a42cb6aefe 100644
--- a/apps/developer-hub/src/components/Root/global.css
+++ b/apps/developer-hub/src/components/Root/global.css
@@ -25,6 +25,10 @@
/* @import "./theme.css"; this overrides the default colors to match the pyth branding */
/* @import "./fumadocs-global-style-overrides.css"; */
+table {
+ border-color: var(--color-gray-200, #e5e7eb);
+}
+
.light {
--color-fd-background: hsla(0, 16%, 96%, 1);
--color-fd-foreground: hsla(0, 16%, 5%, 1);
@@ -45,6 +49,8 @@
}
.dark {
+ /*
+ OLD COLORS
--color-fd-background: hsl(240, 4%, 11%);
--color-fd-foreground: hsl(250, 18%, 87%);
--color-fd-muted: hsl(0, 3%, 6%);
@@ -60,5 +66,21 @@
--color-fd-secondary-foreground: hsl(250, 18%, 87%);
--color-fd-accent: hsla(0, 0%, 100%, 0.079);
--color-fd-accent-foreground: hsl(250, 18%, 87%);
- --color-fd-ring: hsla(262, 83%, 58%, 1);
+ --color-fd-ring: hsla(262, 83%, 58%, 1); */
+ --color-fd-background: hsl(0, 0%, 7.04%);
+ --color-fd-foreground: hsl(0, 0%, 92%);
+ --color-fd-muted: hsl(0, 0%, 12.9%);
+ --color-fd-muted-foreground: hsla(0, 0%, 70%, 0.8);
+ --color-fd-popover: hsl(0, 0%, 11.6%);
+ --color-fd-popover-foreground: hsl(0, 0%, 86.9%);
+ --color-fd-card: hsl(0, 0%, 9.8%);
+ --color-fd-card-foreground: hsl(0, 0%, 98%);
+ --color-fd-border: hsla(0, 0%, 40%, 20%);
+ --color-fd-primary: hsla(263, 81%, 67%, 1);
+ --color-fd-primary-foreground: hsl(204, 90%, 51%);
+ --color-fd-secondary: hsl(0, 0%, 12.9%);
+ --color-fd-secondary-foreground: hsl(0, 0%, 92%);
+ --color-fd-accent: hsla(0, 0%, 40.9%, 30%);
+ --color-fd-accent-foreground: hsl(0, 0%, 90%);
+ --color-fd-ring: hsl(0, 0%, 54.9%);
}
diff --git a/apps/developer-hub/src/components/Shared/content-section.module.scss b/apps/developer-hub/src/components/Shared/content-section.module.scss
new file mode 100644
index 0000000000..0bd9a5d0c9
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/content-section.module.scss
@@ -0,0 +1,16 @@
+@use "@pythnetwork/component-library/theme";
+
+.section {
+ display: flex;
+ flex-direction: column;
+ gap: theme.spacing(8);
+}
+
+.container {
+ max-width: var(--spacing-fd-container);
+ margin: 0 auto;
+
+ > *:not(:last-child) {
+ margin-bottom: theme.spacing(20);
+ }
+}
diff --git a/apps/developer-hub/src/components/Shared/content-section.tsx b/apps/developer-hub/src/components/Shared/content-section.tsx
new file mode 100644
index 0000000000..8659fe45ae
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/content-section.tsx
@@ -0,0 +1,16 @@
+import styles from "./content-section.module.scss";
+import { SectionTitle } from "./section-title";
+
+export const Section = ({ children }: { children: React.ReactNode }) => {
+ return (
+
+ );
+};
diff --git a/apps/developer-hub/src/components/Shared/footer.tsx b/apps/developer-hub/src/components/Shared/footer.tsx
new file mode 100644
index 0000000000..9413d78293
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/footer.tsx
@@ -0,0 +1,13 @@
+export const PageFooter = () => {
+ return (
+ <>
+
+
+ >
+ );
+};
diff --git a/apps/developer-hub/src/components/Shared/section-container.module.scss b/apps/developer-hub/src/components/Shared/section-container.module.scss
new file mode 100644
index 0000000000..0a41c27618
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/section-container.module.scss
@@ -0,0 +1,16 @@
+@use "@pythnetwork/component-library/theme";
+
+.container {
+ max-width: var(--spacing-fd-container);
+ margin: 0 auto;
+ width: 100%;
+ padding: 0 theme.spacing(4);
+
+ > *:not(:last-child) {
+ margin-bottom: theme.spacing(20);
+ }
+
+ @include theme.breakpoint("sm") {
+ padding: 0 theme.spacing(6);
+ }
+}
diff --git a/apps/developer-hub/src/components/Shared/section-container.tsx b/apps/developer-hub/src/components/Shared/section-container.tsx
new file mode 100644
index 0000000000..368a2dcd04
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/section-container.tsx
@@ -0,0 +1,9 @@
+import styles from "./section-container.module.scss";
+
+export const SectionContainer = ({
+ children,
+}: {
+ children: React.ReactNode;
+}) => {
+ return
{children}
;
+};
diff --git a/apps/developer-hub/src/components/Shared/section-title.module.scss b/apps/developer-hub/src/components/Shared/section-title.module.scss
new file mode 100644
index 0000000000..842be9ad2e
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/section-title.module.scss
@@ -0,0 +1,28 @@
+@use "@pythnetwork/component-library/theme";
+
+.sectionTitle {
+ display: flex;
+ flex-direction: row;
+ gap: theme.spacing(8);
+ justify-content: space-between;
+ max-height: theme.spacing(16);
+ align-items: center;
+}
+
+.title {
+ @include theme.text("2xl", "medium");
+
+ color: theme.color("heading");
+ margin-bottom: theme.spacing(2);
+}
+
+.subtitle {
+ @include theme.text("2xl", "normal");
+
+ opacity: 0.65;
+}
+
+.slot {
+ position: relative;
+ z-index: 1;
+}
diff --git a/apps/developer-hub/src/components/Shared/section-title.tsx b/apps/developer-hub/src/components/Shared/section-title.tsx
new file mode 100644
index 0000000000..b3d6eae4cb
--- /dev/null
+++ b/apps/developer-hub/src/components/Shared/section-title.tsx
@@ -0,0 +1,21 @@
+import styles from "./section-title.module.scss";
+
+export const SectionTitle = ({
+ title,
+ subtitle,
+ children,
+}: {
+ title: string;
+ subtitle: string;
+ children?: React.ReactNode;
+}) => {
+ return (
+
+
+ {children &&
{children}
}
+
+ );
+};
diff --git a/target_chains/fuel/sdk/js/package.json b/target_chains/fuel/sdk/js/package.json
index 1f318a2b4f..a282d16890 100644
--- a/target_chains/fuel/sdk/js/package.json
+++ b/target_chains/fuel/sdk/js/package.json
@@ -7,7 +7,7 @@
"name": "Pyth Data Association"
},
"main": "./dist/cjs/index.cjs",
- "types": "./dist/cjs/index.d.ts",
+ "types": "./dist/cjs/src/index.d.ts",
"files": [
"dist/**/*"
],
@@ -59,51 +59,41 @@
"exports": {
".": {
"require": {
- "types": "./dist/cjs/index.d.ts",
"default": "./dist/cjs/index.cjs"
},
"import": {
- "types": "./dist/esm/index.d.ts",
"default": "./dist/esm/index.mjs"
}
},
"./types/PythContract": {
"require": {
- "types": "./dist/cjs/types/PythContract.d.ts",
"default": "./dist/cjs/types/PythContract.cjs"
},
"import": {
- "types": "./dist/esm/types/PythContract.d.ts",
"default": "./dist/esm/types/PythContract.mjs"
}
},
"./types/PythContractFactory": {
"require": {
- "types": "./dist/cjs/types/PythContractFactory.d.ts",
"default": "./dist/cjs/types/PythContractFactory.cjs"
},
"import": {
- "types": "./dist/esm/types/PythContractFactory.d.ts",
"default": "./dist/esm/types/PythContractFactory.mjs"
}
},
"./types/common": {
"require": {
- "types": "./dist/cjs/types/common.d.ts",
"default": "./dist/cjs/types/common.cjs"
},
"import": {
- "types": "./dist/esm/types/common.d.ts",
"default": "./dist/esm/types/common.mjs"
}
},
"./types": {
"require": {
- "types": "./dist/cjs/types/index.d.ts",
"default": "./dist/cjs/types/index.cjs"
},
"import": {
- "types": "./dist/esm/types/index.d.ts",
"default": "./dist/esm/types/index.mjs"
}
},