@micromag/core 0.4.69 → 0.4.74

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/es/contexts.d.ts CHANGED
@@ -1,13 +1,15 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import React__default, { ReactNode, ComponentType } from 'react';
3
+ import React__default, { ReactNode, ElementType, ComponentType } from 'react';
4
4
  import EventEmitter from 'wolfy87-eventemitter';
5
5
  import { MessageDescriptor } from 'react-intl';
6
- export { RoutesContext, RoutesProvider, useRoutes, useUrlGenerator } from '@folklore/routes';
6
+ import * as _folklore_tracking from '@folklore/tracking';
7
7
  export { TrackingContext } from '@folklore/tracking';
8
+ export { RoutesContext, RoutesProvider, useRoutes, useUrlGenerator } from '@folklore/routes';
8
9
 
9
10
  type Text = MessageDescriptor | ReactNode;
10
11
 
12
+ type MediaElement = HTMLVideoElement | HTMLAudioElement | HTMLMediaElement;
11
13
  /**
12
14
  * Medias
13
15
  */
@@ -21,12 +23,12 @@ interface MediaFile {
21
23
  handle?: string;
22
24
  type?: string;
23
25
  mime?: string;
24
- url?: string;
26
+ url: string;
25
27
  }
26
28
  interface Media {
27
29
  id?: string;
28
30
  type: string;
29
- url?: string;
31
+ url: string;
30
32
  thumbnail_url?: string;
31
33
  name?: string;
32
34
  metadata?: MediaMetadata;
@@ -39,6 +41,9 @@ interface ImageMedia extends Omit<Media, 'type' | 'metadata'> {
39
41
  height?: number;
40
42
  };
41
43
  }
44
+ interface FontMedia extends Omit<Media, 'type'> {
45
+ type?: 'font';
46
+ }
42
47
  interface VideoMedia extends Omit<Media, 'type' | 'metadata'> {
43
48
  type?: 'video';
44
49
  metadata?: MediaMetadata & {
@@ -48,8 +53,8 @@ interface VideoMedia extends Omit<Media, 'type' | 'metadata'> {
48
53
  };
49
54
  }
50
55
 
51
- type Component = string | ComponentType;
52
- type ComponentsMap = Record<string, ComponentType>;
56
+ type Component = ElementType;
57
+ type ComponentsMap = Record<string, ElementType>;
53
58
  interface Definition {
54
59
  id: string;
55
60
  component?: Component;
@@ -67,14 +72,27 @@ interface ScreenDefinition extends Definition {
67
72
  layouts?: string[];
68
73
  fields?: Field[];
69
74
  }
70
- interface FieldDefinition$1 extends Definition {
75
+ interface FieldDefinition extends Definition {
71
76
  id: string;
72
77
  fields?: Field[];
73
78
  settings?: Field[];
74
79
  [key: string]: unknown;
75
80
  }
76
81
 
77
- type Font = Record<string, unknown> | string;
82
+ /**
83
+ * Style
84
+ */
85
+ interface CustomFont {
86
+ type?: 'system' | 'google' | 'custom';
87
+ name?: string;
88
+ media?: FontMedia;
89
+ variants?: string[] | {
90
+ fvd?: string;
91
+ weight?: number;
92
+ style?: string;
93
+ }[];
94
+ }
95
+ type Font = CustomFont | string;
78
96
  type TextAlign = 'left' | 'right' | 'center';
79
97
  interface ColorObject {
80
98
  color?: string;
@@ -104,6 +122,7 @@ interface BackgroundElement {
104
122
  }
105
123
 
106
124
  interface StoryComponent {
125
+ id: string;
107
126
  type: string;
108
127
  [key: string]: unknown;
109
128
  }
@@ -113,6 +132,7 @@ interface StoryMetadata {
113
132
  shareUrl?: string;
114
133
  shareImage?: ImageMedia;
115
134
  favIcon?: ImageMedia;
135
+ language?: string;
116
136
  }
117
137
  interface StoryTheme {
118
138
  id?: string;
@@ -121,11 +141,31 @@ interface StoryTheme {
121
141
  colors?: Record<string, Color>;
122
142
  components?: ScreenComponent[];
123
143
  }
144
+ interface Organisation {
145
+ slug?: string;
146
+ name?: string;
147
+ tracking?: TrackingSettings;
148
+ }
149
+ interface TrackingCode {
150
+ id: string;
151
+ type: string;
152
+ }
153
+ interface TrackingSettings {
154
+ codes?: TrackingCode[];
155
+ }
156
+ interface StorySettings {
157
+ tracking?: TrackingSettings;
158
+ }
124
159
  interface Story {
125
160
  id?: string;
161
+ title?: string;
162
+ slug?: string;
163
+ document_id?: string;
126
164
  theme?: StoryTheme;
127
165
  components?: ScreenComponent[];
128
166
  metadata?: StoryMetadata;
167
+ settings?: StorySettings;
168
+ organisation?: Organisation;
129
169
  }
130
170
 
131
171
  interface ScreenSize {
@@ -148,7 +188,7 @@ declare class ComponentsManager extends EventEmitter {
148
188
  addComponents(components: ComponentsMap, namespace?: string | null): this;
149
189
  merge(manager: ComponentsManager, namespace?: any): this;
150
190
  addNamespace(namespace: string | null): this;
151
- getComponent(name: string, namespace?: string | null): ComponentType;
191
+ getComponent(name: string, namespace?: string | null): React.ElementType;
152
192
  getComponents(namespace?: string | null): ComponentsMap;
153
193
  hasComponent(name: string, namespace?: string | null): boolean;
154
194
  }
@@ -167,8 +207,8 @@ declare class DefinitionsManager<T extends Definition = Definition> extends Even
167
207
  getComponents(): Record<string, Component>;
168
208
  }
169
209
 
170
- declare class FieldsManager extends DefinitionsManager<FieldDefinition$1> {
171
- filter(filter: (definition: FieldDefinition$1) => boolean): FieldsManager;
210
+ declare class FieldsManager extends DefinitionsManager<FieldDefinition> {
211
+ filter(filter: (definition: FieldDefinition) => boolean): FieldsManager;
172
212
  }
173
213
 
174
214
  type ScreensFieldsPattern = {
@@ -191,51 +231,51 @@ declare const FIELDS_NAMESPACE = "fields";
191
231
  declare const FORMS_NAMESPACE = "forms";
192
232
  declare const SCREENS_NAMESPACE = "screens";
193
233
  declare const ELEMENTS_NAMESPACE = "elements";
194
- declare const ComponentsContext: any;
234
+ declare const ComponentsContext: React.Context<ComponentsManager>;
195
235
  /**
196
236
  * Hooks
197
237
  */
198
- declare const useComponentsManager: (namespace?: any) => unknown;
199
- declare const useComponents: (namespace?: any, defaultComponents?: {}) => any;
200
- declare const useComponent: (name: any, defaultComponent?: any, namespace?: any) => any;
238
+ declare const useComponentsManager: (namespace?: string | null) => ComponentsManager | null;
239
+ declare const useComponents: (namespace?: string | null, defaultComponents?: {}) => Record<string, ElementType>;
240
+ declare const useComponent: (name: string | ElementType | null, defaultComponent?: ElementType | null, namespace?: string | null) => ElementType | null;
201
241
  /**
202
242
  * Fields hooks
203
243
  */
204
- declare const useFieldsComponentsManager: () => unknown;
205
- declare const useFieldsComponents: (defaultComponents?: {}) => any;
206
- declare const useFieldComponent: (name: any, defaultComponent?: any) => any;
244
+ declare const useFieldsComponentsManager: () => ComponentsManager;
245
+ declare const useFieldsComponents: (defaultComponents?: {}) => Record<string, ElementType>;
246
+ declare const useFieldComponent: (name: string | ElementType | null, defaultComponent?: any) => ElementType;
207
247
  /**
208
248
  * Screens hooks
209
249
  */
210
- declare const useScreensComponentsManager: () => unknown;
211
- declare const useScreensComponents: (defaultComponents?: {}) => any;
212
- declare const useScreenComponent: (name: any, defaultComponent?: any) => any;
250
+ declare const useScreensComponentsManager: () => ComponentsManager;
251
+ declare const useScreensComponents: (defaultComponents?: {}) => Record<string, ElementType>;
252
+ declare const useScreenComponent: (name: string | ElementType | null, defaultComponent?: any) => ElementType;
213
253
  /**
214
254
  * Forms hooks
215
255
  */
216
- declare const useFormsComponentsManager: () => unknown;
217
- declare const useFormsComponents: (defaultComponents?: {}) => any;
218
- declare const useFormComponent: (name: any, defaultComponent?: any) => any;
256
+ declare const useFormsComponentsManager: () => ComponentsManager;
257
+ declare const useFormsComponents: (defaultComponents?: {}) => Record<string, ElementType>;
258
+ declare const useFormComponent: (name: string | ElementType | null, defaultComponent?: any) => ElementType;
219
259
  /**
220
260
  * Modals hooks
221
261
  */
222
- declare const useModalsComponentsManager: () => unknown;
223
- declare const useModalsComponents: (defaultComponents?: {}) => any;
224
- declare const useModalComponent: (name: any, defaultComponent?: any) => any;
262
+ declare const useModalsComponentsManager: () => ComponentsManager;
263
+ declare const useModalsComponents: (defaultComponents?: {}) => Record<string, ElementType>;
264
+ declare const useModalComponent: (name: string | ElementType | null, defaultComponent?: any) => ElementType;
225
265
  /**
226
266
  * Elements hooks
227
267
  */
228
- declare const useElementsComponentsManager: () => unknown;
229
- declare const useElementsComponents: (defaultComponents?: {}) => any;
230
- declare const useElementComponent: (name: any, defaultComponent?: any) => any;
268
+ declare const useElementsComponentsManager: () => ComponentsManager;
269
+ declare const useElementsComponents: (defaultComponents?: {}) => Record<string, ElementType>;
270
+ declare const useElementComponent: (name: string | ElementType | null, defaultComponent?: any) => ElementType;
231
271
  /**
232
272
  * Provider
233
273
  */
234
274
  interface ComponentsProviderProps {
235
275
  children: React__default.ReactNode;
236
- namespace?: string;
237
- manager?: ComponentsManager;
238
- components?: Record<string, Record<string, unknown> | ((...args: unknown[]) => void)>;
276
+ namespace?: string | null;
277
+ manager?: ComponentsManager | null;
278
+ components?: Record<string, Record<string, ElementType>> | Record<string, ElementType>;
239
279
  }
240
280
  declare function ComponentsProvider({ components, manager, namespace, children, }: ComponentsProviderProps): react_jsx_runtime.JSX.Element;
241
281
 
@@ -258,13 +298,13 @@ interface EditorProviderProps {
258
298
  }
259
299
  declare function EditorProvider({ children }: EditorProviderProps): react_jsx_runtime.JSX.Element;
260
300
 
261
- declare const FieldsContext: any;
262
- declare const useFieldsManager: () => unknown;
263
- declare const useFieldDefinition: (id: any) => any;
301
+ declare const FieldsContext: React.Context<FieldsManager>;
302
+ declare const useFieldsManager: () => FieldsManager;
303
+ declare const useFieldDefinition: (id: string) => FieldDefinition;
264
304
  interface FieldsProviderProps {
265
- fields?: FieldDefinition[];
266
- manager?: FieldsManager;
267
- children: React__default.ReactNode;
305
+ fields?: FieldDefinition[] | null;
306
+ manager?: FieldsManager | null;
307
+ children: ReactNode;
268
308
  }
269
309
  declare function FieldsProvider({ fields, manager, children }: FieldsProviderProps): react_jsx_runtime.JSX.Element;
270
310
 
@@ -309,11 +349,15 @@ interface GoogleApiClientProviderProps {
309
349
  }
310
350
  declare function GoogleApiClientProvider({ children }: GoogleApiClientProviderProps): react_jsx_runtime.JSX.Element;
311
351
 
312
- declare const GoogleKeysContext: any;
313
- declare const useGoogleKeys: () => unknown;
352
+ declare const GoogleKeysContext: React.Context<{
353
+ apiKey: any;
354
+ }>;
355
+ declare const useGoogleKeys: () => {
356
+ apiKey: any;
357
+ };
314
358
  interface GoogleKeysProviderProps {
315
- children: React__default.ReactNode;
316
- apiKey?: string;
359
+ children: ReactNode;
360
+ apiKey?: string | null;
317
361
  }
318
362
  declare function GoogleKeysProvider({ children, apiKey }: GoogleKeysProviderProps): react_jsx_runtime.JSX.Element;
319
363
 
@@ -359,8 +403,6 @@ interface PlaybackControlsTheme {
359
403
  color?: unknown;
360
404
  progressColor?: unknown;
361
405
  }
362
- type MediaElement = HTMLVideoElement | HTMLAudioElement | HTMLMediaElement;
363
- declare function mediaElementIsPlaying(media: MediaElement | null): boolean;
364
406
  interface PlaybackContext {
365
407
  playing: boolean;
366
408
  completed: boolean;
@@ -369,6 +411,7 @@ interface PlaybackContext {
369
411
  controlsSuggestPlay: boolean;
370
412
  controlsVisible: boolean;
371
413
  media: MediaElement | null;
414
+ mediaSrc: string | null;
372
415
  hasAudio: boolean | null;
373
416
  isBackground: boolean;
374
417
  controlsTheme: PlaybackControlsTheme | null;
@@ -383,6 +426,8 @@ interface PlaybackContext {
383
426
  setMedia: (media: MediaElement | null) => void;
384
427
  setCurrentQualityLevel: (qualityLevel: number | null, fromRef?: MediaElement | null) => void;
385
428
  setIsBackground: (isBackground: boolean) => void;
429
+ seekByProgress: (progress: number) => void;
430
+ seek: (time: number) => void;
386
431
  }
387
432
  declare const PlaybackContext: React.Context<PlaybackContext>;
388
433
  declare const usePlaybackContext: () => PlaybackContext;
@@ -442,14 +487,14 @@ interface ScreenProviderProps {
442
487
  }
443
488
  declare function ScreenProvider({ data, definition, renderContext, screenState, children, }: ScreenProviderProps): react_jsx_runtime.JSX.Element;
444
489
 
445
- declare const ScreensContext: any;
446
- declare const useScreensManager: () => unknown;
490
+ declare const ScreensContext: React.Context<any>;
491
+ declare const useScreensManager: () => any;
447
492
  interface ScreensProviderProps {
448
493
  screens?: ScreenDefinition[] | null;
449
494
  namespaces?: string[] | null;
450
495
  filterNamespaces?: boolean;
451
496
  manager?: ScreensManager | null;
452
- children: React__default.ReactNode;
497
+ children: ReactNode;
453
498
  }
454
499
  declare function ScreensProvider({ screens, namespaces, filterNamespaces, manager, children, }: ScreensProviderProps): react_jsx_runtime.JSX.Element;
455
500
 
@@ -470,34 +515,61 @@ interface StoryProviderProps {
470
515
  }
471
516
  declare function StoryProvider({ story, children }: StoryProviderProps): react_jsx_runtime.JSX.Element;
472
517
 
473
- declare const useTracking: () => unknown;
518
+ declare const useTracking: () => _folklore_tracking.Tracking;
474
519
  declare function TrackingProvider(options?: any): react_jsx_runtime.JSX.Element;
475
520
 
476
- declare const ViewerContext: any;
477
- declare const useViewerContext: () => unknown;
521
+ interface ViewerContextType {
522
+ events: EventEmitter;
523
+ menuVisible: boolean;
524
+ menuOverScreen: boolean;
525
+ width: number | null;
526
+ height: number | null;
527
+ activityDetected: boolean;
528
+ topHeight: number;
529
+ bottomHeight: number;
530
+ bottomSidesWidth: number;
531
+ gotoNextScreen: () => void;
532
+ gotoPreviousScreen: () => void;
533
+ disableInteraction: () => void;
534
+ enableInteraction: () => void;
535
+ webView: {
536
+ url: string;
537
+ [key: string]: unknown;
538
+ } | null;
539
+ setWebView: (webView: {
540
+ url: string;
541
+ [key: string]: unknown;
542
+ } | null) => void;
543
+ }
544
+ declare const ViewerContext: React.Context<ViewerContextType>;
545
+ declare const useViewerContext: () => ViewerContextType;
478
546
  declare const useViewerSize: () => {
479
- width: any;
480
- height: any;
547
+ width: number;
548
+ height: number;
481
549
  };
482
550
  declare const useViewerNavigation: () => {
483
- gotoNextScreen: any;
484
- gotoPreviousScreen: any;
551
+ gotoNextScreen: () => void;
552
+ gotoPreviousScreen: () => void;
485
553
  };
486
- declare const useViewerEvents: () => any;
487
- declare const useViewerContainer: () => any;
554
+ declare const useViewerEvents: () => EventEmitter;
555
+ declare const useViewerActivityDetected: () => boolean;
488
556
  declare const useViewerInteraction: () => {
489
- disableInteraction: any;
490
- enableInteraction: any;
557
+ disableInteraction: () => void;
558
+ enableInteraction: () => void;
559
+ };
560
+ declare const useViewerWebView: () => {
561
+ opened: boolean;
562
+ open: (newWebView: any) => void;
563
+ close: () => void;
564
+ update: (newWebView: any) => void;
565
+ url: string;
491
566
  };
492
- declare const useViewerWebView: () => any;
493
567
  interface ViewerProviderProps {
494
- children: React__default.ReactNode;
495
- events?: EventEmitter;
496
- containerRef?: (...args: unknown[]) => void | {
497
- current?: unknown;
498
- };
568
+ children: ReactNode;
569
+ events: EventEmitter;
499
570
  menuVisible?: boolean;
500
571
  menuOverScreen?: boolean;
572
+ activityDetected?: boolean;
501
573
  width?: number;
502
574
  height?: number;
503
575
  topHeight?: number;
@@ -508,7 +580,7 @@ interface ViewerProviderProps {
508
580
  disableInteraction?: (...args: unknown[]) => void;
509
581
  enableInteraction?: (...args: unknown[]) => void;
510
582
  }
511
- declare function ViewerProvider({ children, containerRef, events, menuVisible, menuOverScreen, width, height, topHeight, bottomHeight, bottomSidesWidth, gotoNextScreen, gotoPreviousScreen, disableInteraction, enableInteraction, }: ViewerProviderProps): react_jsx_runtime.JSX.Element;
583
+ declare function ViewerProvider({ children, events, menuVisible, menuOverScreen, activityDetected, width, height, topHeight, bottomHeight, bottomSidesWidth, gotoNextScreen, gotoPreviousScreen, disableInteraction, enableInteraction, }: ViewerProviderProps): react_jsx_runtime.JSX.Element;
512
584
 
513
585
  type VisitorContextType = {
514
586
  visitor: Visitor | null;
@@ -527,4 +599,4 @@ interface VisitorProviderProps {
527
599
  }
528
600
  declare function VisitorProvider({ visitor: providedVisitor, children, }: VisitorProviderProps): react_jsx_runtime.JSX.Element;
529
601
 
530
- export { ComponentsContext, ComponentsProvider, ConsentContext, ConsentProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, SettingsContext, SettingsProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, mediaElementIsPlaying, useComponent, useComponents, useComponentsManager, useConsent, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useSetting, useSettings, useStory, useStoryContext, useTracking, useViewerContainer, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
602
+ export { ComponentsContext, ComponentsProvider, ConsentContext, ConsentProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, SettingsContext, SettingsProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useConsent, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useSetting, useSettings, useStory, useStoryContext, useTracking, useViewerActivityDetected, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };