textmode.export.js 1.5.1 → 1.6.0-beta.1

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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -6
  3. package/dist/textmode.export.esm.js +3160 -2960
  4. package/dist/textmode.export.umd.js +6 -6
  5. package/dist/types/augmentations/index.d.ts +5 -0
  6. package/dist/types/augmentations/index.d.ts.map +1 -0
  7. package/dist/types/augmentations/textmode.d.ts +9 -0
  8. package/dist/types/augmentations/textmode.d.ts.map +1 -0
  9. package/dist/types/augmentations/textmode.test.d.ts +2 -0
  10. package/dist/types/augmentations/textmode.test.d.ts.map +1 -0
  11. package/dist/types/exporters/base/LayerTarget.d.ts +4 -0
  12. package/dist/types/exporters/base/LayerTarget.d.ts.map +1 -1
  13. package/dist/types/exporters/gif/types.d.ts +24 -0
  14. package/dist/types/exporters/gif/types.d.ts.map +1 -1
  15. package/dist/types/exporters/image/types.d.ts +8 -0
  16. package/dist/types/exporters/image/types.d.ts.map +1 -1
  17. package/dist/types/exporters/json/types.d.ts +36 -0
  18. package/dist/types/exporters/json/types.d.ts.map +1 -1
  19. package/dist/types/exporters/svg/types.d.ts +2 -0
  20. package/dist/types/exporters/svg/types.d.ts.map +1 -1
  21. package/dist/types/exporters/txt/types.d.ts +2 -0
  22. package/dist/types/exporters/txt/types.d.ts.map +1 -1
  23. package/dist/types/exporters/video/types.d.ts +60 -0
  24. package/dist/types/exporters/video/types.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +5 -24
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/overlay/blades/Blade.d.ts +9 -2
  28. package/dist/types/overlay/blades/Blade.d.ts.map +1 -1
  29. package/dist/types/overlay/blades/GIFBlade.d.ts +1 -0
  30. package/dist/types/overlay/blades/GIFBlade.d.ts.map +1 -1
  31. package/dist/types/overlay/blades/ImageBlade.d.ts +1 -0
  32. package/dist/types/overlay/blades/ImageBlade.d.ts.map +1 -1
  33. package/dist/types/overlay/blades/JSONBlade.d.ts +1 -0
  34. package/dist/types/overlay/blades/JSONBlade.d.ts.map +1 -1
  35. package/dist/types/overlay/blades/RecordingBlade.d.ts +8 -0
  36. package/dist/types/overlay/blades/RecordingBlade.d.ts.map +1 -0
  37. package/dist/types/overlay/blades/SVGBlade.d.ts +1 -0
  38. package/dist/types/overlay/blades/SVGBlade.d.ts.map +1 -1
  39. package/dist/types/overlay/blades/TextBlade.d.ts +1 -0
  40. package/dist/types/overlay/blades/TextBlade.d.ts.map +1 -1
  41. package/dist/types/overlay/blades/VideoBlade.d.ts +1 -0
  42. package/dist/types/overlay/blades/VideoBlade.d.ts.map +1 -1
  43. package/dist/types/overlay/blades/index.d.ts +3 -0
  44. package/dist/types/overlay/blades/index.d.ts.map +1 -1
  45. package/dist/types/overlay/components/display/Header.d.ts +3 -0
  46. package/dist/types/overlay/components/display/Header.d.ts.map +1 -1
  47. package/dist/types/overlay/config/DefaultsStore.d.ts +12 -0
  48. package/dist/types/overlay/config/DefaultsStore.d.ts.map +1 -0
  49. package/dist/types/overlay/config/DefaultsStore.test.d.ts +2 -0
  50. package/dist/types/overlay/config/DefaultsStore.test.d.ts.map +1 -0
  51. package/dist/types/overlay/config/ExportDefaults.d.ts +4 -0
  52. package/dist/types/overlay/config/ExportDefaults.d.ts.map +1 -0
  53. package/dist/types/overlay/config/ExportDefaults.test.d.ts +2 -0
  54. package/dist/types/overlay/config/ExportDefaults.test.d.ts.map +1 -0
  55. package/dist/types/overlay/core/OverlayController.d.ts +29 -5
  56. package/dist/types/overlay/core/OverlayController.d.ts.map +1 -1
  57. package/dist/types/overlay/core/OverlayController.test.d.ts +2 -0
  58. package/dist/types/overlay/core/OverlayController.test.d.ts.map +1 -0
  59. package/dist/types/overlay/core/StateManager.d.ts.map +1 -1
  60. package/dist/types/overlay/formatRegistry.d.ts +3 -1
  61. package/dist/types/overlay/formatRegistry.d.ts.map +1 -1
  62. package/dist/types/overlay/index.d.ts +0 -1
  63. package/dist/types/overlay/index.d.ts.map +1 -1
  64. package/dist/types/overlay/models/OverlayState.d.ts +1 -1
  65. package/dist/types/overlay/services/ClipboardService.d.ts +1 -4
  66. package/dist/types/overlay/services/ClipboardService.d.ts.map +1 -1
  67. package/dist/types/overlay/services/ExportService.d.ts +0 -1
  68. package/dist/types/overlay/services/ExportService.d.ts.map +1 -1
  69. package/dist/types/overlay/services/OverlayPositionStorage.d.ts +13 -0
  70. package/dist/types/overlay/services/OverlayPositionStorage.d.ts.map +1 -0
  71. package/dist/types/overlay/services/PositionService.d.ts +33 -2
  72. package/dist/types/overlay/services/PositionService.d.ts.map +1 -1
  73. package/dist/types/overlay/services/PositionService.test.d.ts +2 -0
  74. package/dist/types/overlay/services/PositionService.test.d.ts.map +1 -0
  75. package/dist/types/overlay/types.d.ts +36 -1
  76. package/dist/types/overlay/types.d.ts.map +1 -1
  77. package/dist/types/overlay/utils/classes.d.ts +3 -0
  78. package/dist/types/overlay/utils/classes.d.ts.map +1 -1
  79. package/dist/types/types.d.ts +211 -18
  80. package/dist/types/types.d.ts.map +1 -1
  81. package/package.json +24 -8
@@ -26,8 +26,9 @@
26
26
  * @module textmode.export.js
27
27
  */
28
28
  import type { TextmodePlugin } from 'textmode.js';
29
- import type { TextmodeExportPluginOptions } from './types';
30
- export type { TextmodeExportAPI, TextmodeExportPluginOptions, ExportOverlayController } from './types';
29
+ import './augmentations';
30
+ export type { ExportDefaults, ExportDefaultsPatch, ExportOverlayPosition, ExportOverlayPositionInput } from './types';
31
+ export type { TextmodeExportAPI, ExportOverlayController } from './types';
31
32
  export type { ImageExportOptions } from './exporters/image';
32
33
  export type { SVGExportOptions } from './exporters/svg';
33
34
  export type { TXTExportOptions } from './exporters/txt';
@@ -44,33 +45,13 @@ export type { LayerExportOptions } from './exporters/base';
44
45
  *
45
46
  * @example
46
47
  * {@includeCode ../examples/ExportPlugin/init/sketch.js}
47
- */
48
- export declare const ExportPlugin: TextmodePlugin;
49
- /**
50
- * Creates the `textmode.export.js` plugin for textmode.js.
51
- *
52
- * @deprecated Use {@link ExportPlugin} directly instead.
53
- * This function is provided for backwards compatibility only.
54
48
  *
55
- * @example
56
- * ```javascript
57
- * // Old way (deprecated)
58
- * import { createTextmodeExportPlugin } from 'textmode.export.js';
59
- * const t = textmode.create({ plugins: [createTextmodeExportPlugin()] });
60
- *
61
- * // New way (recommended)
62
- * import { ExportPlugin } from 'textmode.export.js';
63
- * const t = textmode.create({ plugins: [ExportPlugin] });
64
- * ```
65
- *
66
- * @param options Plugin options
67
- * @returns A textmode.js plugin instance.
49
+ * @see {@link https://code.textmode.art/api/textmode.export.js/variables/ExportPlugin | ExportPlugin API reference}
68
50
  */
69
- export declare const createTextmodeExportPlugin: (options?: TextmodeExportPluginOptions) => TextmodePlugin;
51
+ export declare const ExportPlugin: TextmodePlugin;
70
52
  declare global {
71
53
  interface Window {
72
54
  ExportPlugin?: TextmodePlugin;
73
- createTextmodeExportPlugin?: typeof createTextmodeExportPlugin;
74
55
  }
75
56
  }
76
57
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AASzE,OAAO,KAAK,EAAqB,2BAA2B,EAA2B,MAAM,SAAS,CAAC;AAIvG,YAAY,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAO3D;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,cAqL1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAS,2BAAgC,KAAG,cAkBtF,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;KAC/D;CACD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AACzE,OAAO,iBAAiB,CAAC;AAazB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACtH,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAoB3D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,cAyK1B,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,YAAY,CAAC,EAAE,cAAc,CAAC;KAC9B;CACD"}
@@ -5,6 +5,11 @@ interface ManagedComponent {
5
5
  unmount(): void;
6
6
  destroy(): void;
7
7
  }
8
+ export interface BladeCapabilities {
9
+ clipboard: boolean;
10
+ layerTarget: boolean;
11
+ recording: boolean;
12
+ }
8
13
  export interface BladeConfig<TOptions> {
9
14
  label: string;
10
15
  supportsClipboard: boolean;
@@ -13,12 +18,14 @@ export interface BladeConfig<TOptions> {
13
18
  layerTargetProvider?: LayerTargetProvider;
14
19
  }
15
20
  export declare abstract class Blade<TOptions> extends Component<void> {
16
- protected readonly _config: BladeConfig<TOptions>;
21
+ readonly capabilities: BladeCapabilities;
22
+ protected _config: BladeConfig<TOptions>;
17
23
  private readonly _managedComponents;
18
- constructor(config: BladeConfig<TOptions>);
24
+ constructor(config: BladeConfig<TOptions>, capabilities?: Partial<BladeCapabilities>);
19
25
  abstract getOptions(): TOptions;
20
26
  abstract reset(): void;
21
27
  abstract validate(): boolean;
28
+ abstract setDefaults(values: Partial<TOptions>): void;
22
29
  protected _manageComponent<TComponent extends ManagedComponent>(component: TComponent): TComponent;
23
30
  protected _onUnmount(): void;
24
31
  protected _onDestroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Blade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/Blade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,UAAU,gBAAgB;IACzB,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,QAAQ,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAED,8BAAsB,KAAK,CAAC,QAAQ,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;gBAEtD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC;IAKzC,QAAQ,CAAC,UAAU,IAAI,QAAQ;IAC/B,QAAQ,CAAC,KAAK,IAAI,IAAI;IACtB,QAAQ,CAAC,QAAQ,IAAI,OAAO;IAE5B,SAAS,CAAC,gBAAgB,CAAC,UAAU,SAAS,gBAAgB,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU;IAKlG,SAAS,CAAC,UAAU,IAAI,IAAI;IAM5B,SAAS,CAAC,UAAU,IAAI,IAAI;CAM5B"}
1
+ {"version":3,"file":"Blade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/Blade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,UAAU,gBAAgB;IACzB,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,QAAQ,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAED,8BAAsB,KAAK,CAAC,QAAQ,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;gBAEtD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAWpF,QAAQ,CAAC,UAAU,IAAI,QAAQ;IAC/B,QAAQ,CAAC,KAAK,IAAI,IAAI;IACtB,QAAQ,CAAC,QAAQ,IAAI,OAAO;IAC5B,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAErD,SAAS,CAAC,gBAAgB,CAAC,UAAU,SAAS,gBAAgB,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU;IAKlG,SAAS,CAAC,UAAU,IAAI,IAAI;IAM5B,SAAS,CAAC,UAAU,IAAI,IAAI;CAM5B"}
@@ -11,6 +11,7 @@ export declare class GIFBlade extends Blade<GIFExportOptions> {
11
11
  constructor(config: BladeConfig<GIFExportOptions>);
12
12
  render(): HTMLElement;
13
13
  getOptions(): GIFExportOptions;
14
+ setDefaults(values: Partial<GIFExportOptions>): void;
14
15
  reset(): void;
15
16
  validate(): boolean;
16
17
  isRecording(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"GIFBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/GIFBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMlG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAShC,qBAAa,QAAS,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACpD,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,UAAU,CAKhB;IAEF,OAAO,CAAC,WAAW,CAWjB;IAEF,OAAO,CAAC,MAAM,CAOZ;IAEF,OAAO,CAAC,cAAc,CAA6B;gBAEvC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAIjD,MAAM,IAAI,WAAW;IAmDrB,UAAU,IAAI,gBAAgB;IAU9B,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAcnB,WAAW,IAAI,OAAO;IAItB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IA0C/E,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAWjD,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;CAItB"}
1
+ {"version":3,"file":"GIFBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/GIFBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMlG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,QAAS,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACpD,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,UAAU,CAKhB;IAEF,OAAO,CAAC,WAAW,CAWjB;IAEF,OAAO,CAAC,MAAM,CAOZ;IAEF,OAAO,CAAC,cAAc,CAA6B;gBAEvC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAIjD,MAAM,IAAI,WAAW;IAmDrB,UAAU,IAAI,gBAAgB;IAU9B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAcnB,WAAW,IAAI,OAAO;IAItB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IA0C/E,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAWjD,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;CAItB"}
@@ -7,6 +7,7 @@ export declare class ImageBlade extends Blade<ImageExportOptions> {
7
7
  constructor(config: BladeConfig<ImageExportOptions>);
8
8
  render(): HTMLElement;
9
9
  getOptions(): ImageExportOptions;
10
+ setDefaults(values: Partial<ImageExportOptions>): void;
10
11
  reset(): void;
11
12
  validate(): boolean;
12
13
  private applyDefaults;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/ImageBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,uBAAuB,CAAC;AAO7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,UAAW,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACxD,OAAO,CAAC,YAAY,CAUlB;IAEF,OAAO,CAAC,UAAU,CAKhB;gBAEU,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAInD,MAAM,IAAI,WAAW;IA2BrB,UAAU,IAAI,kBAAkB;IAQhC,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,OAAO;IAKnB,OAAO,CAAC,aAAa;CAMrB"}
1
+ {"version":3,"file":"ImageBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/ImageBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,uBAAuB,CAAC;AAO7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,UAAW,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACxD,OAAO,CAAC,YAAY,CAUlB;IAEF,OAAO,CAAC,UAAU,CAKhB;gBAEU,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAInD,MAAM,IAAI,WAAW;IA2BrB,UAAU,IAAI,kBAAkB;IAQhC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAKtD,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,OAAO;IAKnB,OAAO,CAAC,aAAa;CAKrB"}
@@ -11,6 +11,7 @@ export declare class JSONBlade extends Blade<JSONExportOptions> {
11
11
  constructor(config: BladeConfig<JSONExportOptions>);
12
12
  render(): HTMLElement;
13
13
  getOptions(): JSONExportOptions;
14
+ setDefaults(values: Partial<JSONExportOptions>): void;
14
15
  reset(): void;
15
16
  validate(): boolean;
16
17
  refreshLayerTargets(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/JSONBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAMrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,SAAU,SAAQ,KAAK,CAAC,iBAAiB,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IACjD,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,MAAM,CASZ;IAEF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,SAAS,CASf;gBAEU,MAAM,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAYlD,MAAM,IAAI,WAAW;IAkCrB,UAAU,IAAI,iBAAiB;IAW/B,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,OAAO;IAInB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,2BAA2B;CAOnC"}
1
+ {"version":3,"file":"JSONBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/JSONBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAMrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,SAAU,SAAQ,KAAK,CAAC,iBAAiB,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IACjD,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,MAAM,CASZ;IAEF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,SAAS,CASf;gBAEU,MAAM,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAYlD,MAAM,IAAI,WAAW;IAkCrB,UAAU,IAAI,iBAAiB;IAW/B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAKrD,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,OAAO;IAInB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,2BAA2B;CAOnC"}
@@ -0,0 +1,8 @@
1
+ import { Blade } from './Blade';
2
+ export interface RecordingBladeLike {
3
+ isRecording(): boolean;
4
+ setRecordingState(state: string, progress?: unknown): void;
5
+ handleProgress(progress: unknown): void;
6
+ }
7
+ export declare function isRecordingBlade(blade: Blade<unknown>): blade is Blade<unknown> & RecordingBladeLike;
8
+ //# sourceMappingURL=RecordingBlade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordingBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/RecordingBlade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,kBAAkB;IAClC,WAAW,IAAI,OAAO,CAAC;IACvB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3D,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAEpG"}
@@ -9,6 +9,7 @@ export declare class SVGBlade extends Blade<SVGExportOptions> {
9
9
  constructor(config: BladeConfig<SVGExportOptions>);
10
10
  render(): HTMLElement;
11
11
  getOptions(): SVGExportOptions;
12
+ setDefaults(values: Partial<SVGExportOptions>): void;
12
13
  reset(): void;
13
14
  validate(): boolean;
14
15
  refreshLayerTargets(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SVGBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/SVGBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,QAAS,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IAEjD,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,QAAQ,CASd;IAEF,OAAO,CAAC,WAAW,CAKjB;gBAEU,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAYjD,MAAM,IAAI,WAAW;IAiCrB,UAAU,IAAI,gBAAgB;IAS9B,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,OAAO;IAQnB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,aAAa;CAQrB"}
1
+ {"version":3,"file":"SVGBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/SVGBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,QAAS,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IAEjD,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,QAAQ,CASd;IAEF,OAAO,CAAC,WAAW,CAKjB;gBAEU,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAYjD,MAAM,IAAI,WAAW;IAiCrB,UAAU,IAAI,gBAAgB;IAS9B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,OAAO;IAQnB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,aAAa;CAOrB"}
@@ -8,6 +8,7 @@ export declare class TextBlade extends Blade<TXTExportOptions> {
8
8
  constructor(config: BladeConfig<TXTExportOptions>);
9
9
  render(): HTMLElement;
10
10
  getOptions(): TXTExportOptions;
11
+ setDefaults(values: Partial<TXTExportOptions>): void;
11
12
  reset(): void;
12
13
  validate(): boolean;
13
14
  refreshLayerTargets(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/TextBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,SAAU,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IAEjD,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,cAAc,CAMpB;gBAEU,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAYjD,MAAM,IAAI,WAAW;IAkBrB,UAAU,IAAI,gBAAgB;IAU9B,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,OAAO;IAKnB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,aAAa;CAKrB"}
1
+ {"version":3,"file":"TextBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/TextBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,SAAU,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IAEjD,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,cAAc,CAMpB;gBAEU,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAYjD,MAAM,IAAI,WAAW;IAkBrB,UAAU,IAAI,gBAAgB;IAU9B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,OAAO;IAKnB,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,aAAa;CAKrB"}
@@ -16,6 +16,7 @@ export declare class VideoBlade extends Blade<VideoExportOptions> {
16
16
  constructor(config: BladeConfig<VideoExportOptions>);
17
17
  render(): HTMLElement;
18
18
  getOptions(): VideoExportOptions;
19
+ setDefaults(values: Partial<VideoExportOptions>): void;
19
20
  reset(): void;
20
21
  validate(): boolean;
21
22
  isRecording(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"VideoBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/VideoBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,kBAAkB,EAClB,mBAAmB,EAGnB,mBAAmB,EACnB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAehC,qBAAa,UAAW,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACxD,OAAO,CAAC,YAAY,CASlB;IAEF,OAAO,CAAC,aAAa,CAUnB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,0BAA0B,CAUhC;IAEF,OAAO,CAAC,qBAAqB,CAM3B;IAEF,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,MAAM,CAOZ;IAEF,OAAO,CAAC,cAAc,CAA+B;gBAEzC,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAInD,MAAM,IAAI,WAAW;IA4FrB,UAAU,IAAI,kBAAkB;IA2BhC,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAcnB,WAAW,IAAI,OAAO;IAItB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAgBnF,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAInD,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,4BAA4B;CAYpC"}
1
+ {"version":3,"file":"VideoBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/VideoBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,kBAAkB,EAClB,mBAAmB,EAGnB,mBAAmB,EACnB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOhC,qBAAa,UAAW,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACxD,OAAO,CAAC,YAAY,CASlB;IAEF,OAAO,CAAC,aAAa,CAUnB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,0BAA0B,CAUhC;IAEF,OAAO,CAAC,qBAAqB,CAM3B;IAEF,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,MAAM,CAOZ;IAEF,OAAO,CAAC,cAAc,CAA+B;gBAEzC,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAInD,MAAM,IAAI,WAAW;IA4FrB,UAAU,IAAI,kBAAkB;IAyBhC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAKtD,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAcnB,WAAW,IAAI,OAAO;IAItB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAgBnF,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAInD,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,4BAA4B;CAYpC"}
@@ -1,8 +1,11 @@
1
1
  export { Blade } from './Blade';
2
+ export type { BladeCapabilities, BladeConfig } from './Blade';
2
3
  export { TextBlade } from './TextBlade';
3
4
  export { JSONBlade } from './JSONBlade';
4
5
  export { ImageBlade } from './ImageBlade';
5
6
  export { SVGBlade } from './SVGBlade';
6
7
  export { GIFBlade } from './GIFBlade';
7
8
  export { VideoBlade } from './VideoBlade';
9
+ export { isRecordingBlade } from './RecordingBlade';
10
+ export type { RecordingBladeLike } from './RecordingBlade';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { Component } from '../base/Component';
2
2
  export declare class Header extends Component<void> {
3
3
  private static readonly _iconNamespace;
4
+ private _dragHandle?;
5
+ get dragHandleElement(): HTMLButtonElement;
4
6
  render(): HTMLElement;
7
+ private _createButton;
5
8
  private _createLink;
6
9
  private _createIcon;
7
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/display/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C,qBAAa,MAAO,SAAQ,SAAS,CAAC,IAAI,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAEtE,MAAM,IAAI,WAAW;IAwDrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;CAuBnB"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/display/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C,qBAAa,MAAO,SAAQ,SAAS,CAAC,IAAI,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgC;IACtE,OAAO,CAAC,WAAW,CAAC,CAAoB;IAExC,IAAI,iBAAiB,IAAI,iBAAiB,CAKzC;IAED,MAAM,IAAI,WAAW;IAyErB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;CAuBnB"}
@@ -0,0 +1,12 @@
1
+ import type { ExportDefaults, ExportDefaultsPatch, ExportFormat } from '../types';
2
+ export type ExportDefaultsResetTarget = ExportFormat | 'format';
3
+ export declare class DefaultsStore {
4
+ private _defaults;
5
+ constructor();
6
+ get current(): Readonly<ExportDefaults>;
7
+ snapshot(): ExportDefaults;
8
+ get<TFormat extends ExportFormat>(format: TFormat): ExportDefaults[TFormat];
9
+ merge(patch: ExportDefaultsPatch): void;
10
+ reset(target?: ExportDefaultsResetTarget): void;
11
+ }
12
+ //# sourceMappingURL=DefaultsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultsStore.d.ts","sourceRoot":"","sources":["../../../../src/overlay/config/DefaultsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGlF,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAqBhE,qBAAa,aAAa;IACzB,OAAO,CAAC,SAAS,CAAiB;;IAMlC,IAAI,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEtC;IAED,QAAQ,IAAI,cAAc;IAI1B,GAAG,CAAC,OAAO,SAAS,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IAI3E,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAUvC,KAAK,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,IAAI;CAoC/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultsStore.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultsStore.test.d.ts","sourceRoot":"","sources":["../../../../src/overlay/config/DefaultsStore.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ExportDefaults } from '../types';
2
+ export declare const CURATED_DEFAULTS: Readonly<ExportDefaults>;
3
+ export declare function createExportDefaults(): ExportDefaults;
4
+ //# sourceMappingURL=ExportDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportDefaults.d.ts","sourceRoot":"","sources":["../../../../src/overlay/config/ExportDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAsCpD,CAAC;AAEH,wBAAgB,oBAAoB,IAAI,cAAc,CAUrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ExportDefaults.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportDefaults.test.d.ts","sourceRoot":"","sources":["../../../../src/overlay/config/ExportDefaults.test.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import type { Textmodifier } from 'textmode.js';
2
2
  import type { TextmodeExportAPI } from '../../types';
3
- import { EventBus } from './EventBus';
4
- import { StateManager } from './StateManager';
5
- import type { OverlayEvents } from '../models/OverlayEvents';
6
- import type { OverlayState } from '../models/OverlayState';
3
+ import type { ExportDefaults, ExportDefaultsPatch } from '../types';
7
4
  import type { FormatDefinition } from '../models/FormatDefinition';
5
+ import { type OverlayPosition } from '../services/PositionService';
6
+ import { DefaultsStore } from '../config/DefaultsStore';
8
7
  export declare class OverlayController {
9
8
  private readonly _textmodifier;
9
+ private readonly _defaultsStore;
10
10
  private readonly _state;
11
11
  private readonly _events;
12
12
  private readonly _exportService;
@@ -30,15 +30,39 @@ export declare class OverlayController {
30
30
  private readonly _handleFormatSelectChange;
31
31
  private readonly _handleExportClickSafe;
32
32
  private readonly _handleCopyClickSafe;
33
- constructor(textmodifier: Textmodifier, exportAPI: TextmodeExportAPI, state: StateManager<OverlayState>, events: EventBus<OverlayEvents>, definitions: ReadonlyArray<FormatDefinition>);
33
+ constructor(textmodifier: Textmodifier, exportAPI: TextmodeExportAPI, defaultsStore: DefaultsStore, definitions: ReadonlyArray<FormatDefinition>);
34
34
  $mount(): void;
35
35
  show(): void;
36
36
  hide(): void;
37
37
  toggle(): void;
38
38
  isVisible(): boolean;
39
39
  refreshLayerTargets(): void;
40
+ resetPosition(): void;
41
+ getPosition(): Readonly<OverlayPosition>;
42
+ setPosition(position: Pick<OverlayPosition, 'offsetX' | 'offsetY'>): void;
43
+ /**
44
+ * Override the curated per-format defaults at runtime.
45
+ *
46
+ * Merges the supplied patch into the internal defaults store and
47
+ * pushes the new values into every mounted blade. The currently
48
+ * visible blade is updated immediately; other formats pick up
49
+ * the new defaults when the user switches to them.
50
+ */
51
+ setDefaults(patch: ExportDefaultsPatch): void;
52
+ /**
53
+ * Read the current effective defaults for every format.
54
+ */
55
+ getDefaults(): Readonly<ExportDefaults>;
56
+ /**
57
+ * Restore one or all formats to the library's curated defaults.
58
+ */
59
+ resetDefaults(target?: keyof ExportDefaults): void;
40
60
  $dispose(): void;
61
+ private _resetAffectedBlades;
41
62
  private _initializeFormatMap;
63
+ private _resolveInitialFormat;
64
+ private _getFormatKeys;
65
+ private _assertKnownFormat;
42
66
  private _createOverlay;
43
67
  private _renderStaticContent;
44
68
  private _prepareFormatOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayController.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/OverlayController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA2BnE,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyB;IAE7D,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAA8F;IAClH,OAAO,CAAC,aAAa,CAGlB;IACH,OAAO,CAAC,aAAa,CAA+E;IACpG,OAAO,CAAC,WAAW,CAAmF;IAEtG,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAExC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAIrC;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAInC;gBAGD,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EACjC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC;IAatC,MAAM,IAAI,IAAI;IAQd,IAAI,IAAI,IAAI;IAOZ,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAQd,SAAS,IAAI,OAAO;IAIpB,mBAAmB,IAAI,IAAI;IAM3B,QAAQ,IAAI,IAAI;IA0BvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IA6C9B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,sBAAsB;YAMhB,kBAAkB;YAqElB,gBAAgB;IAwC9B,OAAO,CAAC,mBAAmB;CAgD3B"}
1
+ {"version":3,"file":"OverlayController.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/OverlayController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAkC,MAAM,UAAU,CAAC;AAWpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAoBxD,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyB;IAE7D,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAA8F;IAClH,OAAO,CAAC,aAAa,CAGlB;IACH,OAAO,CAAC,aAAa,CAA+E;IACpG,OAAO,CAAC,WAAW,CAAmF;IAEtG,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAExC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAIrC;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAInC;gBAGD,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC;IAgBtC,MAAM,IAAI,IAAI;IASd,IAAI,IAAI,IAAI;IAQZ,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAQd,SAAS,IAAI,OAAO;IAIpB,mBAAmB,IAAI,IAAI;IAM3B,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC;IAIxC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI;IAMhF;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAW7C;;OAEG;IACH,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC;IAIvC;;OAEG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,cAAc,GAAG,IAAI;IAY3C,QAAQ,IAAI,IAAI;IA4BvB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IAoD9B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,sBAAsB;YAMhB,kBAAkB;YAiDlB,gBAAgB;IAwC9B,OAAO,CAAC,mBAAmB;CAiC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OverlayController.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayController.test.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/OverlayController.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/StateManager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAEtE,qBAAa,YAAY,CAAC,MAAM,SAAS,MAAM;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,OAAO,EAAE,MAAM;IAI3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAE/B;IAEM,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAYpC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI;IAQvD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAOlC"}
1
+ {"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/StateManager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAEtE,qBAAa,YAAY,CAAC,MAAM,SAAS,MAAM;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,OAAO,EAAE,MAAM;IAI3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAE/B;IAEM,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IA0BpC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI;IAQvD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAOlC"}
@@ -1,5 +1,7 @@
1
1
  import type { ExportFormat } from './types';
2
2
  import type { FormatDefinition } from './models/FormatDefinition';
3
3
  import type { LayerTargetProvider } from '../exporters/base';
4
- export declare function getExportFormatDefinitions(layerTargetProvider?: LayerTargetProvider): ReadonlyArray<FormatDefinition<ExportFormat>>;
4
+ import type { ExportDefaults } from './types';
5
+ export type ExportDefaultsProvider = <TFormat extends ExportFormat>(format: TFormat) => ExportDefaults[TFormat];
6
+ export declare function getExportFormatDefinitions(layerTargetProvider?: LayerTargetProvider, getDefaults?: ExportDefaultsProvider): ReadonlyArray<FormatDefinition<ExportFormat>>;
5
7
  //# sourceMappingURL=formatRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatRegistry.d.ts","sourceRoot":"","sources":["../../../src/overlay/formatRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAgB,0BAA0B,CACzC,mBAAmB,CAAC,EAAE,mBAAmB,GACvC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAsG/C"}
1
+ {"version":3,"file":"formatRegistry.d.ts","sourceRoot":"","sources":["../../../src/overlay/formatRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,SAAS,YAAY,EAAE,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC;AAOhH,wBAAgB,0BAA0B,CACzC,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,WAAW,GAAE,sBAA2D,GACtE,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CA8E/C"}
@@ -2,7 +2,6 @@ import type { Textmodifier } from 'textmode.js';
2
2
  import type { TextmodeExportAPI } from '../types';
3
3
  import type { LayerTargetProvider } from '../exporters/base';
4
4
  import { OverlayController } from './core/OverlayController';
5
- export type { ExportFormat } from './types';
6
5
  /**
7
6
  * Creates an export overlay controller.
8
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAO7D,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,mBAAmB,CAAC,EAAE,mBAAmB,GACvC,iBAAiB,CASnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,mBAAmB,CAAC,EAAE,mBAAmB,GACvC,iBAAiB,CAMnB"}
@@ -12,5 +12,5 @@ export interface OverlayState {
12
12
  videoProgress?: VideoExportProgress;
13
13
  error?: Error;
14
14
  }
15
- export declare const createInitialOverlayState: (defaultFormat: ExportFormat) => OverlayState;
15
+ export declare const createInitialOverlayState: (initialFormat: ExportFormat) => OverlayState;
16
16
  //# sourceMappingURL=OverlayState.d.ts.map
@@ -4,11 +4,8 @@ type ClipboardExportFormat = Extract<ExportFormat, 'txt' | 'json' | 'svg' | 'ima
4
4
  export declare class ClipboardService {
5
5
  private readonly api;
6
6
  constructor(api: TextmodeExportAPI);
7
- $copy(format: 'txt', options: ExportOptionsMap['txt']): Promise<void>;
8
- $copy(format: 'json', options: ExportOptionsMap['json']): Promise<void>;
9
- $copy(format: 'svg', options: ExportOptionsMap['svg']): Promise<void>;
10
- $copy(format: 'image', options: ExportOptionsMap['image']): Promise<void>;
11
7
  $copy(format: ClipboardExportFormat, options: ExportOptionsMap[ClipboardExportFormat]): Promise<void>;
8
+ static isClipboardFormat(format: ExportFormat): format is ClipboardExportFormat;
12
9
  }
13
10
  export {};
14
11
  //# sourceMappingURL=ClipboardService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/ClipboardService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,KAAK,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAErF,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAI5B,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACzE,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B3G"}
1
+ {"version":3,"file":"ClipboardService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/ClipboardService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,KAAK,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAIrF,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAI5B,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B3G,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,qBAAqB;CAG/E"}
@@ -13,6 +13,5 @@ export declare class ExportService {
13
13
  private readonly events;
14
14
  constructor(api: TextmodeExportAPI, events: EventBus<OverlayEvents>);
15
15
  $requestExport(format: ExportFormat, options: unknown, hooks?: ExportHooks): Promise<void>;
16
- private _execute;
17
16
  }
18
17
  //# sourceMappingURL=ExportService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/ExportService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC3B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC1D;AAED,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC;IAKtD,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3G,OAAO,CAAC,QAAQ;CA0BhB"}
1
+ {"version":3,"file":"ExportService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/ExportService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC3B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC1D;AAyBD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC;IAKtD,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B3G"}
@@ -0,0 +1,13 @@
1
+ export interface StoredOverlayPosition {
2
+ version: 1;
3
+ offsetX: number;
4
+ offsetY: number;
5
+ }
6
+ export declare class OverlayPositionStorage {
7
+ private readonly key;
8
+ constructor(key?: string);
9
+ load(): StoredOverlayPosition | undefined;
10
+ save(offsetX: number, offsetY: number): void;
11
+ clear(): void;
12
+ }
13
+ //# sourceMappingURL=OverlayPositionStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayPositionStorage.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/OverlayPositionStorage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAQD,qBAAa,sBAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,GAAG,SAAc;IAI7B,IAAI,IAAI,qBAAqB,GAAG,SAAS;IAoBzC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB5C,KAAK,IAAI,IAAI;CAOb"}
@@ -1,14 +1,45 @@
1
1
  import type { Textmodifier } from 'textmode.js';
2
+ import { OverlayPositionStorage } from './OverlayPositionStorage';
3
+ export interface OverlayPosition {
4
+ mode: 'auto' | 'custom';
5
+ offsetX: number;
6
+ offsetY: number;
7
+ }
8
+ interface SetPositionOptions {
9
+ persist?: boolean;
10
+ }
2
11
  export declare class PositionService {
3
12
  private readonly modifier;
4
- private readonly overlay;
13
+ private readonly host;
14
+ private readonly surface;
15
+ private readonly storage;
5
16
  private animationFrameId;
6
17
  private readonly handleUpdate;
7
18
  private bound;
8
- constructor(modifier: Textmodifier, overlay: HTMLElement);
19
+ private dragHandle?;
20
+ private dragState?;
21
+ private position;
22
+ private renderedOffset;
23
+ private readonly handlePointerDown;
24
+ private readonly handlePointerMove;
25
+ private readonly handlePointerUp;
26
+ private readonly handleKeyDown;
27
+ constructor(modifier: Textmodifier, host: HTMLElement, surface?: HTMLElement, storage?: OverlayPositionStorage);
28
+ getPosition(): Readonly<OverlayPosition>;
29
+ setPosition(position: Pick<OverlayPosition, 'offsetX' | 'offsetY'>, options?: SetPositionOptions): void;
30
+ resetPosition(): void;
9
31
  scheduleUpdate(): void;
10
32
  bind(): void;
33
+ attachDragHandle(handle: HTMLElement): void;
34
+ private detachDragHandle;
35
+ private onPointerDown;
36
+ private onPointerMove;
37
+ private onPointerUp;
38
+ private onKeyDown;
11
39
  private update;
40
+ private clampToViewport;
41
+ private clamp;
12
42
  dispose(): void;
13
43
  }
44
+ export {};
14
45
  //# sourceMappingURL=PositionService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PositionService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/PositionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,OAAO,CAAC,KAAK,CAAS;gBAEV,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW;IAMxD,cAAc,IAAI,IAAI;IAOtB,IAAI,IAAI,IAAI;IAUZ,OAAO,CAAC,MAAM;IAOd,OAAO,IAAI,IAAI;CAWf"}
1
+ {"version":3,"file":"PositionService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/PositionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAUD,UAAU,kBAAkB;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAA+C;IAErE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsD;IACxF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsD;IACxF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoD;IACpF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;gBAGhF,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,WAAkB,EAC3B,OAAO,yBAA+B;IAevC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC;IAIxC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC,EAAE,OAAO,GAAE,kBAAuB,GAAG,IAAI;IAe3G,aAAa,IAAI,IAAI;IAUrB,cAAc,IAAI,IAAI;IAOtB,IAAI,IAAI,IAAI;IAUZ,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAU3C,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,KAAK;IAIb,OAAO,IAAI,IAAI;CAYf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PositionService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionService.test.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/PositionService.test.ts"],"names":[],"mappings":""}
@@ -2,7 +2,7 @@ import type { ImageExportOptions } from '../exporters/image';
2
2
  import type { TXTExportOptions } from '../exporters/txt';
3
3
  import type { SVGExportOptions } from '../exporters/svg';
4
4
  import type { GIFExportOptions } from '../exporters/gif';
5
- import type { VideoExportOptions } from '../exporters/video';
5
+ import type { VideoBitratePreset, VideoExportOptions } from '../exporters/video';
6
6
  import type { JSONExportOptions } from '../exporters/json';
7
7
  export type ExportFormat = 'txt' | 'json' | 'image' | 'gif' | 'video' | 'svg';
8
8
  export type ExportOptionsMap = {
@@ -13,4 +13,39 @@ export type ExportOptionsMap = {
13
13
  video: VideoExportOptions;
14
14
  svg: SVGExportOptions;
15
15
  };
16
+ export type TXTOverlayDefaults = Pick<TXTExportOptions, 'preserveTrailingSpaces' | 'emptyCharacter'>;
17
+ export type JSONOverlayDefaults = Pick<JSONExportOptions, 'target' | 'pretty' | 'includeMetadata' | 'colorMode'>;
18
+ export type ImageOverlayDefaults = Pick<ImageExportOptions, 'format' | 'scale'>;
19
+ export type SVGOverlayDefaults = Pick<SVGExportOptions, 'includeBackgroundRectangles' | 'drawMode' | 'strokeWidth'>;
20
+ export type GIFOverlayDefaults = Pick<GIFExportOptions, 'frameCount' | 'frameRate' | 'scale' | 'repeat'>;
21
+ export type VideoOverlayDefaults = Pick<VideoExportOptions, 'format' | 'frameCount' | 'frameRate' | 'bitrateMode' | 'latencyMode' | 'hardwareAcceleration' | 'keyFrameInterval' | 'transparent'> & {
22
+ bitrate?: VideoBitratePreset;
23
+ };
24
+ /**
25
+ * Curated default options for every export format.
26
+ *
27
+ * Each sub-object contains the library-chosen default values for the fields
28
+ * that the overlay exposes as inputs. These are the values applied when the
29
+ * overlay first mounts and after a {@link OverlayController.resetDefaults}.
30
+ */
31
+ export type ExportDefaults = {
32
+ format: ExportFormat;
33
+ txt: TXTOverlayDefaults;
34
+ json: JSONOverlayDefaults;
35
+ image: ImageOverlayDefaults;
36
+ svg: SVGOverlayDefaults;
37
+ gif: GIFOverlayDefaults;
38
+ video: VideoOverlayDefaults;
39
+ };
40
+ /**
41
+ * Partial patch accepted by {@link OverlayController.setDefaults}.
42
+ *
43
+ * Every supplied sub-object is deep-merged into the corresponding format's
44
+ * curated defaults. Omitted keys keep their current value.
45
+ */
46
+ export type ExportDefaultsPatch = {
47
+ format?: ExportFormat;
48
+ } & {
49
+ [K in ExportFormat]?: Partial<ExportDefaults[K]>;
50
+ };
16
51
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/overlay/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,gBAAgB,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/overlay/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,gBAAgB,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,GAAG,gBAAgB,CAAC,CAAC;AACrG,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,GAAG,WAAW,CAAC,CAAC;AACjH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AACpH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AACzG,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACtC,kBAAkB,EAChB,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,aAAa,GACb,aAAa,GACb,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,CACf,GAAG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,kBAAkB,CAAC;IACxB,GAAG,EAAE,kBAAkB,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,CAAC,EAAE,YAAY,CAAC;CACtB,GAAG;KACF,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC"}