@boldvideo/bold-js 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @boldvideo/bold-js
2
2
 
3
+ ## 1.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 4bfba45: Add Portal analytics and custom redirects support
8
+
9
+ - Add `analyticsProvider` and `analyticsId` fields to Portal type for Plausible, GA4, and Fathom integrations
10
+ - Add `customRedirects` field to Portal type for custom redirect configuration
11
+ - Export new types: `AnalyticsProvider`, `CustomRedirect`
12
+
13
+ ## 1.13.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 4030a6e: Add portal hero configuration and menu item blank property
18
+
19
+ - Added `portal.hero` configuration with `type: 'none' | 'custom'` to control hero section display
20
+ - Added `blank` property to `MenuItem` type for opening links in new windows/tabs
21
+ - Updated `MenuItem.icon` to allow `null` values
22
+
3
23
  ## 1.12.0
4
24
 
5
25
  ### Minor Changes
package/README.md CHANGED
@@ -85,6 +85,18 @@ const playlist = await bold.playlists.get('playlist-id');
85
85
  ```typescript
86
86
  // Fetch channel settings, menus, and featured playlists
87
87
  const settings = await bold.settings();
88
+
89
+ // Access portal hero configuration
90
+ if (settings.portal.hero.type === 'custom') {
91
+ // Render custom hero section
92
+ }
93
+
94
+ // Menu items with external link handling
95
+ settings.menuItems.forEach(item => {
96
+ // item.blank: true opens in a new window/tab
97
+ // item.isExt: true indicates an external URL
98
+ // item.icon: optional icon path (can be null)
99
+ });
88
100
  ```
89
101
 
90
102
  ---
@@ -257,6 +269,9 @@ import type {
257
269
  Video,
258
270
  Playlist,
259
271
  Settings,
272
+ Portal,
273
+ PortalHero,
274
+ MenuItem,
260
275
  AIEvent,
261
276
  AIResponse,
262
277
  ChatOptions,
package/dist/index.d.ts CHANGED
@@ -62,10 +62,11 @@ type Playlist = {
62
62
  videos: Video[];
63
63
  };
64
64
  type MenuItem = {
65
- icon: string;
65
+ icon: string | null;
66
66
  isExt: boolean;
67
67
  label: string;
68
68
  url: string;
69
+ blank: boolean;
69
70
  };
70
71
  type PortalDisplay = {
71
72
  showChapters: boolean;
@@ -105,12 +106,25 @@ type PortalTheme = {
105
106
  dark: ThemeColors;
106
107
  cssOverrides: string | null;
107
108
  };
109
+ type PortalHero = {
110
+ type: 'none' | 'custom';
111
+ };
112
+ type CustomRedirect = {
113
+ path: string;
114
+ url: string;
115
+ permanent: boolean;
116
+ };
117
+ type AnalyticsProvider = 'plausible' | 'ga4' | 'fathom';
108
118
  type Portal = {
109
119
  colorScheme?: 'toggle' | 'light' | 'dark';
110
120
  display: PortalDisplay;
121
+ hero: PortalHero;
111
122
  layout: PortalLayout;
112
123
  navigation: PortalNavigation;
113
124
  theme: PortalTheme;
125
+ customRedirects?: CustomRedirect[];
126
+ analyticsProvider?: AnalyticsProvider;
127
+ analyticsId?: string;
114
128
  };
115
129
  type ThemeColors = {
116
130
  accent: string;
@@ -491,4 +505,4 @@ declare const DEFAULT_API_BASE_URL = "https://app.boldvideo.io/api/v1/";
491
505
  */
492
506
  declare const DEFAULT_INTERNAL_API_BASE_URL = "https://app.boldvideo.io/i/v1/";
493
507
 
494
- export { AIContextMessage, AIEvent, AIResponse, AIUsage, Account, AccountAI, AskOptions, AssistantConfig, ChatOptions, Citation, ClientOptions, DEFAULT_API_BASE_URL, DEFAULT_INTERNAL_API_BASE_URL, MenuItem, Playlist, Portal, PortalDisplay, PortalLayout, PortalNavigation, PortalTheme, RecommendOptions, RecommendResponse, Recommendation, RecommendationVideo, RecommendationsOptions, RecommendationsResponse, SearchOptions, Segment, Settings, Source, ThemeColors, ThemeConfig, Video, VideoAttachment, VideoDownloadUrls, VideoMetadata, VideoSubtitles, VideoTranscript, createClient };
508
+ export { AIContextMessage, AIEvent, AIResponse, AIUsage, Account, AccountAI, AnalyticsProvider, AskOptions, AssistantConfig, ChatOptions, Citation, ClientOptions, CustomRedirect, DEFAULT_API_BASE_URL, DEFAULT_INTERNAL_API_BASE_URL, MenuItem, Playlist, Portal, PortalDisplay, PortalHero, PortalLayout, PortalNavigation, PortalTheme, RecommendOptions, RecommendResponse, Recommendation, RecommendationVideo, RecommendationsOptions, RecommendationsResponse, SearchOptions, Segment, Settings, Source, ThemeColors, ThemeConfig, Video, VideoAttachment, VideoDownloadUrls, VideoMetadata, VideoSubtitles, VideoTranscript, createClient };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@boldvideo/bold-js",
3
3
  "license": "MIT",
4
- "version": "1.12.0",
4
+ "version": "1.14.0",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",