@editframe/react 0.20.4-beta.0 → 0.23.6-beta.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.
Files changed (78) hide show
  1. package/dist/components/TimeDisplay.js +7 -5
  2. package/dist/elements/Audio.d.ts +1 -1
  3. package/dist/elements/Audio.js +7 -5
  4. package/dist/elements/Captions.d.ts +5 -5
  5. package/dist/elements/Captions.js +24 -18
  6. package/dist/elements/Image.d.ts +1 -1
  7. package/dist/elements/Image.js +7 -5
  8. package/dist/elements/Surface.d.ts +1 -1
  9. package/dist/elements/Surface.js +9 -7
  10. package/dist/elements/ThumbnailStrip.d.ts +1 -1
  11. package/dist/elements/ThumbnailStrip.js +9 -7
  12. package/dist/elements/Timegroup.d.ts +1 -1
  13. package/dist/elements/Timegroup.js +7 -5
  14. package/dist/elements/Video.d.ts +1 -1
  15. package/dist/elements/Video.js +7 -5
  16. package/dist/elements/Waveform.d.ts +1 -1
  17. package/dist/elements/Waveform.js +7 -5
  18. package/dist/gui/Configuration.d.ts +1 -1
  19. package/dist/gui/Configuration.js +7 -5
  20. package/dist/gui/Controls.d.ts +1 -1
  21. package/dist/gui/Controls.js +7 -5
  22. package/dist/gui/EFDial.d.ts +4 -0
  23. package/dist/gui/EFDial.js +14 -0
  24. package/dist/gui/EFResizableBox.d.ts +4 -0
  25. package/dist/gui/EFResizableBox.js +14 -0
  26. package/dist/gui/Filmstrip.d.ts +1 -1
  27. package/dist/gui/Filmstrip.js +7 -5
  28. package/dist/gui/FitScale.d.ts +1 -1
  29. package/dist/gui/FitScale.js +7 -5
  30. package/dist/gui/FocusOverlay.d.ts +1 -1
  31. package/dist/gui/FocusOverlay.js +7 -5
  32. package/dist/gui/Pause.d.ts +2 -0
  33. package/dist/gui/Pause.js +11 -0
  34. package/dist/gui/Play.d.ts +2 -0
  35. package/dist/gui/Play.js +11 -0
  36. package/dist/gui/Preview.d.ts +1 -1
  37. package/dist/gui/Preview.js +7 -5
  38. package/dist/gui/Scrubber.d.ts +1 -1
  39. package/dist/gui/Scrubber.js +7 -5
  40. package/dist/gui/ToggleLoop.d.ts +1 -1
  41. package/dist/gui/ToggleLoop.js +7 -5
  42. package/dist/gui/TogglePlay.d.ts +1 -1
  43. package/dist/gui/TogglePlay.js +7 -5
  44. package/dist/gui/Workbench.d.ts +1 -1
  45. package/dist/gui/Workbench.js +7 -5
  46. package/dist/hooks/create-element.d.ts +21 -0
  47. package/dist/hooks/create-element.js +103 -0
  48. package/dist/hooks/useTimingInfo.js +33 -32
  49. package/dist/index.d.ts +4 -0
  50. package/dist/index.js +34 -1
  51. package/package.json +6 -5
  52. package/src/components/TimeDisplay.tsx +1 -1
  53. package/src/elements/Audio.ts +1 -1
  54. package/src/elements/Captions.ts +1 -1
  55. package/src/elements/Image.ts +1 -1
  56. package/src/elements/Surface.ts +1 -1
  57. package/src/elements/ThumbnailStrip.ts +1 -1
  58. package/src/elements/Timegroup.ts +1 -1
  59. package/src/elements/Video.ts +1 -1
  60. package/src/elements/Waveform.ts +1 -1
  61. package/src/gui/Configuration.ts +1 -1
  62. package/src/gui/Controls.browsertest.tsx +112 -0
  63. package/src/gui/Controls.ts +1 -1
  64. package/src/gui/EFDial.ts +12 -0
  65. package/src/gui/EFResizableBox.ts +12 -0
  66. package/src/gui/Filmstrip.ts +1 -1
  67. package/src/gui/FitScale.ts +1 -1
  68. package/src/gui/FocusOverlay.ts +1 -1
  69. package/src/gui/Pause.ts +9 -0
  70. package/src/gui/Play.ts +9 -0
  71. package/src/gui/Preview.ts +1 -1
  72. package/src/gui/Scrubber.ts +1 -1
  73. package/src/gui/ToggleLoop.ts +1 -1
  74. package/src/gui/TogglePlay.ts +1 -1
  75. package/src/gui/Workbench.ts +1 -1
  76. package/src/hooks/create-element.ts +167 -0
  77. package/types.json +1 -1
  78. package/dist/create-component.d.ts +0 -88
@@ -1,88 +0,0 @@
1
- import { default as React } from 'react';
2
- type DistributiveOmit<T, K extends string | number | symbol> = T extends any ? K extends keyof T ? Omit<T, K> : T : T;
3
- type PropsWithoutRef<T> = DistributiveOmit<T, "ref">;
4
- /**
5
- * Creates a type to be used for the props of a web component used directly in
6
- * React JSX.
7
- *
8
- * Example:
9
- *
10
- * ```ts
11
- * declare module "react" {
12
- * namespace JSX {
13
- * interface IntrinsicElements {
14
- * 'x-foo': WebComponentProps<XFoo>;
15
- * }
16
- * }
17
- * }
18
- * ```
19
- */
20
- export type WebComponentProps<I extends HTMLElement> = React.DetailedHTMLProps<React.HTMLAttributes<I>, I> & ElementProps<I>;
21
- /**
22
- * Type of the React component wrapping the web component. This is the return
23
- * type of `createComponent`.
24
- */
25
- export type ReactWebComponent<I extends HTMLElement, E extends EventNames = {}> = React.ForwardRefExoticComponent<PropsWithoutRef<ComponentProps<I, E>> & React.RefAttributes<I>>;
26
- type ElementProps<I> = Partial<Omit<I, keyof HTMLElement>>;
27
- type ComponentProps<I, E extends EventNames = {}> = Omit<React.HTMLAttributes<I>, keyof E | keyof ElementProps<I>> & EventListeners<E> & ElementProps<I>;
28
- /**
29
- * Type used to cast an event name with an event type when providing the
30
- * `events` option to `createComponent` for better typing of the event handler
31
- * prop.
32
- *
33
- * Example:
34
- *
35
- * ```ts
36
- * const FooComponent = createComponent({
37
- * ...
38
- * events: {
39
- * onfoo: 'foo' as EventName<FooEvent>,
40
- * }
41
- * });
42
- * ```
43
- *
44
- * `onfoo` prop will have the type `(e: FooEvent) => void`.
45
- */
46
- export type EventName<T extends Event = Event> = string & {
47
- __eventType: T;
48
- };
49
- type EventNames = Record<string, EventName | string>;
50
- type EventListeners<R extends EventNames> = {
51
- [K in keyof R]?: R[K] extends EventName ? (e: R[K]["__eventType"]) => void : (e: Event) => void;
52
- };
53
- export interface Options<I extends HTMLElement, E extends EventNames = {}> {
54
- react: typeof React;
55
- tagName: string;
56
- elementClass: Constructor<I>;
57
- events?: E;
58
- displayName?: string;
59
- }
60
- type Constructor<T> = {
61
- new (): T;
62
- };
63
- /**
64
- * Creates a React component for a custom element. Properties are distinguished
65
- * from attributes automatically, and events can be configured so they are added
66
- * to the custom element as event listeners.
67
- *
68
- * @param options An options bag containing the parameters needed to generate a
69
- * wrapped web component.
70
- *
71
- * @param options.react The React module, typically imported from the `react`
72
- * npm package.
73
- * @param options.tagName The custom element tag name registered via
74
- * `customElements.define`.
75
- * @param options.elementClass The custom element class registered via
76
- * `customElements.define`.
77
- * @param options.events An object listing events to which the component can
78
- * listen. The object keys are the event property names passed in via React
79
- * props and the object values are the names of the corresponding events
80
- * generated by the custom element. For example, given `{onactivate:
81
- * 'activate'}` an event function may be passed via the component's `onactivate`
82
- * prop and will be called when the custom element fires its `activate` event.
83
- * @param options.displayName A React component display name, used in debugging
84
- * messages. Default value is inferred from the name of custom element class
85
- * registered via `customElements.define`.
86
- */
87
- export declare const createComponent: <I extends HTMLElement, E extends EventNames = {}>({ react: React, tagName, elementClass, events, displayName, }: Options<I, E>) => ReactWebComponent<I, E>;
88
- export {};