textmode.export.js 0.0.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 (118) hide show
  1. package/README.md +166 -0
  2. package/dist/textmode.export.esm.js +2061 -0
  3. package/dist/textmode.export.umd.js +3 -0
  4. package/dist/types/exporters/base/DataExtractor.d.ts +23 -0
  5. package/dist/types/exporters/base/DataExtractor.d.ts.map +1 -0
  6. package/dist/types/exporters/base/FileHandler.d.ts +24 -0
  7. package/dist/types/exporters/base/FileHandler.d.ts.map +1 -0
  8. package/dist/types/exporters/base/index.d.ts +3 -0
  9. package/dist/types/exporters/base/index.d.ts.map +1 -0
  10. package/dist/types/exporters/gif/GIFExporter.d.ts +30 -0
  11. package/dist/types/exporters/gif/GIFExporter.d.ts.map +1 -0
  12. package/dist/types/exporters/gif/GIFRecorder.d.ts +24 -0
  13. package/dist/types/exporters/gif/GIFRecorder.d.ts.map +1 -0
  14. package/dist/types/exporters/gif/index.d.ts +4 -0
  15. package/dist/types/exporters/gif/index.d.ts.map +1 -0
  16. package/dist/types/exporters/gif/types.d.ts +69 -0
  17. package/dist/types/exporters/gif/types.d.ts.map +1 -0
  18. package/dist/types/exporters/image/ImageExporter.d.ts +40 -0
  19. package/dist/types/exporters/image/ImageExporter.d.ts.map +1 -0
  20. package/dist/types/exporters/image/index.d.ts +4 -0
  21. package/dist/types/exporters/image/index.d.ts.map +1 -0
  22. package/dist/types/exporters/image/types.d.ts +45 -0
  23. package/dist/types/exporters/image/types.d.ts.map +1 -0
  24. package/dist/types/exporters/svg/SVGContentGenerator.d.ts +70 -0
  25. package/dist/types/exporters/svg/SVGContentGenerator.d.ts.map +1 -0
  26. package/dist/types/exporters/svg/SVGDataExtractor.d.ts +34 -0
  27. package/dist/types/exporters/svg/SVGDataExtractor.d.ts.map +1 -0
  28. package/dist/types/exporters/svg/SVGExporter.d.ts +29 -0
  29. package/dist/types/exporters/svg/SVGExporter.d.ts.map +1 -0
  30. package/dist/types/exporters/svg/SVGPathGenerator.d.ts +50 -0
  31. package/dist/types/exporters/svg/SVGPathGenerator.d.ts.map +1 -0
  32. package/dist/types/exporters/svg/index.d.ts +6 -0
  33. package/dist/types/exporters/svg/index.d.ts.map +1 -0
  34. package/dist/types/exporters/svg/types.d.ts +111 -0
  35. package/dist/types/exporters/svg/types.d.ts.map +1 -0
  36. package/dist/types/exporters/txt/TXTExporter.d.ts +36 -0
  37. package/dist/types/exporters/txt/TXTExporter.d.ts.map +1 -0
  38. package/dist/types/exporters/txt/index.d.ts +3 -0
  39. package/dist/types/exporters/txt/index.d.ts.map +1 -0
  40. package/dist/types/exporters/txt/types.d.ts +37 -0
  41. package/dist/types/exporters/txt/types.d.ts.map +1 -0
  42. package/dist/types/exporters/video/VideoExporter.d.ts +30 -0
  43. package/dist/types/exporters/video/VideoExporter.d.ts.map +1 -0
  44. package/dist/types/exporters/video/VideoRecorder.d.ts +28 -0
  45. package/dist/types/exporters/video/VideoRecorder.d.ts.map +1 -0
  46. package/dist/types/exporters/video/index.d.ts +4 -0
  47. package/dist/types/exporters/video/index.d.ts.map +1 -0
  48. package/dist/types/exporters/video/types.d.ts +64 -0
  49. package/dist/types/exporters/video/types.d.ts.map +1 -0
  50. package/dist/types/index.d.ts +35 -0
  51. package/dist/types/index.d.ts.map +1 -0
  52. package/dist/types/overlay/blades/Blade.d.ts +20 -0
  53. package/dist/types/overlay/blades/Blade.d.ts.map +1 -0
  54. package/dist/types/overlay/blades/GIFBlade.d.ts +23 -0
  55. package/dist/types/overlay/blades/GIFBlade.d.ts.map +1 -0
  56. package/dist/types/overlay/blades/ImageBlade.d.ts +14 -0
  57. package/dist/types/overlay/blades/ImageBlade.d.ts.map +1 -0
  58. package/dist/types/overlay/blades/SVGBlade.d.ts +16 -0
  59. package/dist/types/overlay/blades/SVGBlade.d.ts.map +1 -0
  60. package/dist/types/overlay/blades/TextBlade.d.ts +14 -0
  61. package/dist/types/overlay/blades/TextBlade.d.ts.map +1 -0
  62. package/dist/types/overlay/blades/VideoBlade.d.ts +22 -0
  63. package/dist/types/overlay/blades/VideoBlade.d.ts.map +1 -0
  64. package/dist/types/overlay/blades/index.d.ts +7 -0
  65. package/dist/types/overlay/blades/index.d.ts.map +1 -0
  66. package/dist/types/overlay/components/actions/Button.d.ts +19 -0
  67. package/dist/types/overlay/components/actions/Button.d.ts.map +1 -0
  68. package/dist/types/overlay/components/base/Component.d.ts +18 -0
  69. package/dist/types/overlay/components/base/Component.d.ts.map +1 -0
  70. package/dist/types/overlay/components/base/Container.d.ts +9 -0
  71. package/dist/types/overlay/components/base/Container.d.ts.map +1 -0
  72. package/dist/types/overlay/components/base/Field.d.ts +17 -0
  73. package/dist/types/overlay/components/base/Field.d.ts.map +1 -0
  74. package/dist/types/overlay/components/display/Header.d.ts +8 -0
  75. package/dist/types/overlay/components/display/Header.d.ts.map +1 -0
  76. package/dist/types/overlay/components/display/StatusDisplay.d.ts +19 -0
  77. package/dist/types/overlay/components/display/StatusDisplay.d.ts.map +1 -0
  78. package/dist/types/overlay/components/inputs/CheckboxInput.d.ts +20 -0
  79. package/dist/types/overlay/components/inputs/CheckboxInput.d.ts.map +1 -0
  80. package/dist/types/overlay/components/inputs/NumberInput.d.ts +32 -0
  81. package/dist/types/overlay/components/inputs/NumberInput.d.ts.map +1 -0
  82. package/dist/types/overlay/components/inputs/RangeInput.d.ts +35 -0
  83. package/dist/types/overlay/components/inputs/RangeInput.d.ts.map +1 -0
  84. package/dist/types/overlay/components/inputs/SelectInput.d.ts +25 -0
  85. package/dist/types/overlay/components/inputs/SelectInput.d.ts.map +1 -0
  86. package/dist/types/overlay/components/inputs/TextInput.d.ts +19 -0
  87. package/dist/types/overlay/components/inputs/TextInput.d.ts.map +1 -0
  88. package/dist/types/overlay/core/EventBus.d.ts +10 -0
  89. package/dist/types/overlay/core/EventBus.d.ts.map +1 -0
  90. package/dist/types/overlay/core/OverlayController.d.ts +46 -0
  91. package/dist/types/overlay/core/OverlayController.d.ts.map +1 -0
  92. package/dist/types/overlay/core/StateManager.d.ts +11 -0
  93. package/dist/types/overlay/core/StateManager.d.ts.map +1 -0
  94. package/dist/types/overlay/formatRegistry.d.ts +4 -0
  95. package/dist/types/overlay/formatRegistry.d.ts.map +1 -0
  96. package/dist/types/overlay/index.d.ts +13 -0
  97. package/dist/types/overlay/index.d.ts.map +1 -0
  98. package/dist/types/overlay/models/FormatDefinition.d.ts +9 -0
  99. package/dist/types/overlay/models/FormatDefinition.d.ts.map +1 -0
  100. package/dist/types/overlay/models/OverlayEvents.d.ts +26 -0
  101. package/dist/types/overlay/models/OverlayEvents.d.ts.map +1 -0
  102. package/dist/types/overlay/models/OverlayState.d.ts +16 -0
  103. package/dist/types/overlay/models/OverlayState.d.ts.map +1 -0
  104. package/dist/types/overlay/services/ClipboardService.d.ts +8 -0
  105. package/dist/types/overlay/services/ClipboardService.d.ts.map +1 -0
  106. package/dist/types/overlay/services/ExportService.d.ts +18 -0
  107. package/dist/types/overlay/services/ExportService.d.ts.map +1 -0
  108. package/dist/types/overlay/services/PositionService.d.ts +14 -0
  109. package/dist/types/overlay/services/PositionService.d.ts.map +1 -0
  110. package/dist/types/overlay/types.d.ts +14 -0
  111. package/dist/types/overlay/types.d.ts.map +1 -0
  112. package/dist/types/overlay/utils/classes.d.ts +35 -0
  113. package/dist/types/overlay/utils/classes.d.ts.map +1 -0
  114. package/dist/types/types.d.ts +63 -0
  115. package/dist/types/types.d.ts.map +1 -0
  116. package/dist/types/utils/pixels.d.ts +13 -0
  117. package/dist/types/utils/pixels.d.ts.map +1 -0
  118. package/package.json +72 -0
@@ -0,0 +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;AAK5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,SAAU,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACpD,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,cAAc,CAMpB;gBAEU,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAIjD,MAAM,IAAI,WAAW;IAiBrB,UAAU,IAAI,gBAAgB;IAS9B,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,OAAO;IAKnB,OAAO,CAAC,aAAa;CAKtB"}
@@ -0,0 +1,22 @@
1
+ import type { VideoExportOptions, VideoExportProgress, VideoRecordingState } from '../../exporters/video';
2
+ import type { BladeConfig } from './Blade';
3
+ import { Blade } from './Blade';
4
+ export declare class VideoBlade extends Blade<VideoExportOptions> {
5
+ private frameRateInput;
6
+ private frameCountInput;
7
+ private qualityInput;
8
+ private status;
9
+ private recordingState;
10
+ constructor(config: BladeConfig<VideoExportOptions>);
11
+ render(): HTMLElement;
12
+ getOptions(): VideoExportOptions;
13
+ reset(): void;
14
+ validate(): boolean;
15
+ isRecording(): boolean;
16
+ setRecordingState(state: VideoRecordingState, progress?: VideoExportProgress): void;
17
+ handleProgress(progress: VideoExportProgress): void;
18
+ private syncStatus;
19
+ private resolvePlannedFrameCount;
20
+ private applyDefaults;
21
+ }
22
+ //# sourceMappingURL=VideoBlade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoBlade.d.ts","sourceRoot":"","sources":["../../../../src/overlay/blades/VideoBlade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO1G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AA+ChC,qBAAa,UAAW,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACvD,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,MAAM,CAOZ;IAEF,OAAO,CAAC,cAAc,CAA+B;gBAEzC,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAInD,MAAM,IAAI,WAAW;IAuCrB,UAAU,IAAI,kBAAkB;IAahC,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAMnB,WAAW,IAAI,OAAO;IAItB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAUnF,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAInD,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,aAAa;CAatB"}
@@ -0,0 +1,7 @@
1
+ export { Blade } from './Blade';
2
+ export { TextBlade } from './TextBlade';
3
+ export { ImageBlade } from './ImageBlade';
4
+ export { SVGBlade } from './SVGBlade';
5
+ export { GIFBlade } from './GIFBlade';
6
+ export { VideoBlade } from './VideoBlade';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,19 @@
1
+ import { Component } from '../base/Component';
2
+ export type ButtonVariant = 'primary' | 'secondary';
3
+ export interface ButtonProps {
4
+ label: string;
5
+ disabled?: boolean;
6
+ fullWidth?: boolean;
7
+ variant?: ButtonVariant;
8
+ }
9
+ export declare class Button extends Component<ButtonProps> {
10
+ private props;
11
+ private button;
12
+ constructor(props: ButtonProps);
13
+ render(): HTMLElement;
14
+ get buttonElement(): HTMLButtonElement;
15
+ setLabel(label: string): void;
16
+ setDisabled(disabled: boolean): void;
17
+ protected onUpdate(props: ButtonProps): void;
18
+ }
19
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/actions/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,qBAAa,MAAO,SAAQ,SAAS,CAAC,WAAW,CAAC;IAChD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAqB;gBAEvB,KAAK,EAAE,WAAW;IAK9B,MAAM,IAAI,WAAW;IAiBrB,IAAI,aAAa,IAAI,iBAAiB,CAErC;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAa7C"}
@@ -0,0 +1,18 @@
1
+ export type ComponentUpdate<TProps> = (props: TProps) => void;
2
+ export declare abstract class Component<TProps = void> {
3
+ protected element?: HTMLElement;
4
+ private mounted;
5
+ private destroyed;
6
+ abstract render(): HTMLElement;
7
+ mount(container: HTMLElement): void;
8
+ unmount(): void;
9
+ destroy(): void;
10
+ update(props: TProps): void;
11
+ protected onMount(): void;
12
+ protected _onUnmount(): void;
13
+ protected _onDestroy(): void;
14
+ protected onUpdate(_props: TProps): void;
15
+ get root(): HTMLElement;
16
+ isMounted(): boolean;
17
+ }
18
+ //# sourceMappingURL=Component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/base/Component.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE9D,8BAAsB,SAAS,CAAC,MAAM,GAAG,IAAI;IAC3C,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAE1B,QAAQ,CAAC,MAAM,IAAI,WAAW;IAE9B,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAcnC,OAAO,IAAI,IAAI;IAUf,OAAO,IAAI,IAAI;IASf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO3B,SAAS,CAAC,OAAO,IAAI,IAAI;IAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIxC,IAAI,IAAI,IAAI,WAAW,CAKtB;IAED,SAAS,IAAI,OAAO;CAGrB"}
@@ -0,0 +1,9 @@
1
+ import { Component } from './Component';
2
+ export type ContainerVariant = 'stack' | 'stackDense' | 'stackCompact' | 'row' | 'section';
3
+ export declare class Container extends Component<void> {
4
+ private readonly variant;
5
+ private readonly additionalClasses;
6
+ constructor(variant?: ContainerVariant, additionalClasses?: string[]);
7
+ render(): HTMLElement;
8
+ }
9
+ //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/base/Container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;AAE3F,qBAAa,SAAU,SAAQ,SAAS,CAAC,IAAI,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;gBAEjC,OAAO,GAAE,gBAA0B,EAAE,iBAAiB,GAAE,MAAM,EAAO;IAMjF,MAAM,IAAI,WAAW;CActB"}
@@ -0,0 +1,17 @@
1
+ import { Component } from './Component';
2
+ export interface FieldProps {
3
+ label: string;
4
+ labelFor?: string;
5
+ description?: string;
6
+ variant?: 'default' | 'compact' | 'dense' | 'full' | 'channel';
7
+ }
8
+ export declare class Field extends Component<FieldProps> {
9
+ private props;
10
+ constructor(props: FieldProps);
11
+ render(): HTMLElement;
12
+ attachControl(controlElement: HTMLElement): void;
13
+ update(props: FieldProps): void;
14
+ protected onUpdate(props: FieldProps): void;
15
+ private applyVariant;
16
+ }
17
+ //# sourceMappingURL=Field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/base/Field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CAChE;AAED,qBAAa,KAAM,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAa;gBAEd,KAAK,EAAE,UAAU;IAK7B,MAAM,IAAI,WAAW;IAuBrB,aAAa,CAAC,cAAc,EAAE,WAAW,GAAG,IAAI;IAIhD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAK/B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAwB3C,OAAO,CAAC,YAAY;CAyBrB"}
@@ -0,0 +1,8 @@
1
+ import { Component } from '../base/Component';
2
+ export declare class Header extends Component<void> {
3
+ private static readonly _iconNamespace;
4
+ render(): HTMLElement;
5
+ private _createLink;
6
+ private _createIcon;
7
+ }
8
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +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;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAEtE,MAAM,IAAI,WAAW;IAoDrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;CAuBpB"}
@@ -0,0 +1,19 @@
1
+ import { Component } from '../base/Component';
2
+ export type StatusVariant = 'neutral' | 'active' | 'alert';
3
+ export interface StatusDisplayProps {
4
+ title: string;
5
+ message: string;
6
+ variant?: StatusVariant;
7
+ context?: 'gif' | 'video' | 'default';
8
+ }
9
+ export declare class StatusDisplay extends Component<StatusDisplayProps> {
10
+ private props;
11
+ private container;
12
+ private messageElement;
13
+ constructor(props: StatusDisplayProps);
14
+ render(): HTMLElement;
15
+ setMessage(message: string, variant?: StatusVariant): void;
16
+ protected onUpdate(props: StatusDisplayProps): void;
17
+ private applyVariant;
18
+ }
19
+ //# sourceMappingURL=StatusDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/display/StatusDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAQ3D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAmB;gBAE7B,KAAK,EAAE,kBAAkB;IAKrC,MAAM,IAAI,WAAW;IAuBrB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAyB,GAAG,IAAI;IAKrE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKnD,OAAO,CAAC,YAAY;CAIrB"}
@@ -0,0 +1,20 @@
1
+ import { Component } from '../base/Component';
2
+ export interface CheckboxInputProps {
3
+ id?: string;
4
+ label: string;
5
+ defaultChecked?: boolean;
6
+ }
7
+ export declare class CheckboxInput extends Component<CheckboxInputProps> {
8
+ private props;
9
+ private checkbox;
10
+ private labelElement;
11
+ private readonly handleChange;
12
+ constructor(props: CheckboxInputProps);
13
+ render(): HTMLElement;
14
+ get inputElement(): HTMLInputElement;
15
+ get checked(): boolean;
16
+ set checked(value: boolean);
17
+ protected _onUnmount(): void;
18
+ protected onUpdate(props: CheckboxInputProps): void;
19
+ }
20
+ //# sourceMappingURL=CheckboxInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/inputs/CheckboxInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;gBAEU,KAAK,EAAE,kBAAkB;IAKrC,MAAM,IAAI,WAAW;IAsBrB,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAWpD"}
@@ -0,0 +1,32 @@
1
+ import { Component } from '../base/Component';
2
+ export interface NumberInputProps {
3
+ defaultValue: string;
4
+ attributes?: Partial<HTMLInputElement>;
5
+ formatDisplay?: (numericValue: number, rawValue: string, input: HTMLInputElement) => string | null | undefined;
6
+ }
7
+ export declare class NumberInput extends Component<NumberInputProps> {
8
+ private props;
9
+ private input;
10
+ private display;
11
+ private incrementButton;
12
+ private decrementButton;
13
+ private suppressClickAfterPointer;
14
+ private holdTimeoutId;
15
+ private holdIntervalId;
16
+ private activePointerId;
17
+ private disabledObserver?;
18
+ constructor(props: NumberInputProps);
19
+ render(): HTMLElement;
20
+ get inputElement(): HTMLInputElement;
21
+ get value(): string;
22
+ set value(next: string);
23
+ refresh(): void;
24
+ protected _onDestroy(): void;
25
+ private bindStepControls;
26
+ private bindHoldBehavior;
27
+ private bindInputListeners;
28
+ private observeDisabledState;
29
+ private updateDisplay;
30
+ private clearHoldTimers;
31
+ }
32
+ //# sourceMappingURL=NumberInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/inputs/NumberInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChH;AAsBD,qBAAa,WAAY,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IAC1D,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,yBAAyB,CAA6C;IAC9E,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;gBAEhC,KAAK,EAAE,gBAAgB;IAKnC,MAAM,IAAI,WAAW;IAkCrB,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAGrB;IAED,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,UAAU,IAAI,IAAI;IAK5B,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,eAAe;CAUxB"}
@@ -0,0 +1,35 @@
1
+ import { Component } from '../base/Component';
2
+ export interface RangeInputProps {
3
+ defaultValue: string;
4
+ attributes?: Partial<HTMLInputElement>;
5
+ formatValue?: (value: number, input: HTMLInputElement) => string;
6
+ }
7
+ export declare class RangeInput extends Component<RangeInputProps> {
8
+ private props;
9
+ private input;
10
+ private tooltip;
11
+ private hoverActive;
12
+ private focusActive;
13
+ private pointerActive;
14
+ private suppressFocusFromPointer;
15
+ private activePointerId;
16
+ private disabledObserver?;
17
+ private resizeObserver?;
18
+ constructor(props: RangeInputProps);
19
+ render(): HTMLElement;
20
+ get inputElement(): HTMLInputElement;
21
+ get value(): string;
22
+ set value(next: string);
23
+ protected _onDestroy(): void;
24
+ private bindEvents;
25
+ private refreshTooltipVisibility;
26
+ private syncDisabledState;
27
+ private releasePointerCapture;
28
+ private updateTooltip;
29
+ private updateTooltipContent;
30
+ private updateTooltipPosition;
31
+ private getMin;
32
+ private getMax;
33
+ private getCurrentValue;
34
+ }
35
+ //# sourceMappingURL=RangeInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeInput.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/inputs/RangeInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;CAClE;AAiBD,qBAAa,UAAW,SAAQ,SAAS,CAAC,eAAe,CAAC;IACxD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,KAAK,EAAE,eAAe;IAKlC,MAAM,IAAI,WAAW;IAuBrB,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAGrB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI;IAK5B,OAAO,CAAC,UAAU;IAkFlB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,eAAe;CAGxB"}
@@ -0,0 +1,25 @@
1
+ import { Component } from '../base/Component';
2
+ export interface SelectOption<TValue extends string = string> {
3
+ value: TValue;
4
+ label: string;
5
+ }
6
+ export interface SelectInputProps<TValue extends string = string> {
7
+ id?: string;
8
+ options: SelectOption<TValue>[];
9
+ defaultValue?: TValue;
10
+ }
11
+ export declare class SelectInput<TValue extends string = string> extends Component<SelectInputProps<TValue>> {
12
+ private props;
13
+ private select;
14
+ private readonly handleChange;
15
+ constructor(props: SelectInputProps<TValue>);
16
+ render(): HTMLElement;
17
+ get selectElement(): HTMLSelectElement;
18
+ get value(): TValue;
19
+ set value(next: TValue);
20
+ protected _onUnmount(): void;
21
+ protected onUpdate(props: SelectInputProps<TValue>): void;
22
+ update(partial: Partial<SelectInputProps<TValue>>): void;
23
+ private populateOptions;
24
+ }
25
+ //# sourceMappingURL=SelectInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectInput.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/inputs/SelectInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClG,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;gBAEU,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAK3C,MAAM,IAAI,WAAW;IAWrB,IAAI,aAAa,IAAI,iBAAiB,CAErC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAKrB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAQzD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAgBxD,OAAO,CAAC,eAAe;CAexB"}
@@ -0,0 +1,19 @@
1
+ import { Component } from '../base/Component';
2
+ export interface TextInputProps {
3
+ id?: string;
4
+ defaultValue?: string;
5
+ maxLength?: number;
6
+ }
7
+ export declare class TextInput extends Component<TextInputProps> {
8
+ private props;
9
+ private input;
10
+ private readonly handleInput;
11
+ constructor(props: TextInputProps);
12
+ render(): HTMLElement;
13
+ get inputElement(): HTMLInputElement;
14
+ get value(): string;
15
+ set value(next: string);
16
+ protected _onUnmount(): void;
17
+ protected onUpdate(props: TextInputProps): void;
18
+ }
19
+ //# sourceMappingURL=TextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../../src/overlay/components/inputs/TextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IACtD,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;gBAEU,KAAK,EAAE,cAAc;IAKjC,MAAM,IAAI,WAAW;IAiBrB,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAErB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;CAYhD"}
@@ -0,0 +1,10 @@
1
+ type Listener<T> = (payload: T) => void;
2
+ type EventMap = Record<string, unknown>;
3
+ export declare class EventBus<TEvents extends EventMap> {
4
+ private readonly _listeners;
5
+ $on<K extends keyof TEvents>(event: K, listener: Listener<TEvents[K]>): () => void;
6
+ $emit<K extends keyof TEvents>(event: K, payload: TEvents[K]): void;
7
+ $clear(): void;
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=EventBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../../../src/overlay/core/EventBus.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAExC,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExC,qBAAa,QAAQ,CAAC,OAAO,SAAS,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;IAEpE,GAAG,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAelF,KAAK,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAenE,MAAM,IAAI,IAAI;CAGtB"}
@@ -0,0 +1,46 @@
1
+ import type { Textmodifier } from 'textmode.js';
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';
7
+ import type { FormatDefinition } from '../models/FormatDefinition';
8
+ export declare class OverlayController {
9
+ private readonly _textmodifier;
10
+ private readonly _state;
11
+ private readonly _events;
12
+ private readonly _exportService;
13
+ private readonly _clipboardService;
14
+ private readonly _definitions;
15
+ private readonly _formats;
16
+ private readonly _eventUnsubscribers;
17
+ private _overlayElement;
18
+ private _optionsContainer;
19
+ private _copyButtonContainer;
20
+ private _positionService;
21
+ private _header;
22
+ private _formatField;
23
+ private _formatSelect;
24
+ private _exportButton;
25
+ private _copyButton;
26
+ private _currentFormat;
27
+ private _currentBlade?;
28
+ private readonly _handleFormatSelectChange;
29
+ private readonly _handleExportClickSafe;
30
+ private readonly _handleCopyClickSafe;
31
+ constructor(textmodifier: Textmodifier, exportAPI: TextmodeExportAPI, state: StateManager<OverlayState>, events: EventBus<OverlayEvents>, definitions: ReadonlyArray<FormatDefinition>);
32
+ $mount(): void;
33
+ $dispose(): void;
34
+ private _initializeFormatMap;
35
+ private _createOverlay;
36
+ private _renderStaticContent;
37
+ private _prepareFormatOptions;
38
+ private _registerEventHandlers;
39
+ private _handleFormatChange;
40
+ private _switchFormat;
41
+ private _updateCopyButtonState;
42
+ private _handleExportClick;
43
+ private _handleCopyClick;
44
+ private _updateExportButton;
45
+ }
46
+ //# sourceMappingURL=OverlayController.d.ts.map
@@ -0,0 +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;AAgBnE,qBAAa,iBAAiB;IAC5B,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,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;gBAGA,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;IAavC,MAAM,IAAI,IAAI;IAQd,QAAQ,IAAI,IAAI;IA0BvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IA6C9B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,sBAAsB;YAMhB,kBAAkB;YAqElB,gBAAgB;IAyB9B,OAAO,CAAC,mBAAmB;CA8C5B"}
@@ -0,0 +1,11 @@
1
+ export type StateListener<TState> = (state: Readonly<TState>) => void;
2
+ export declare class StateManager<TState extends object> {
3
+ private _state;
4
+ private readonly _listeners;
5
+ constructor(initial: TState);
6
+ get snapshot(): Readonly<TState>;
7
+ $set(partial: Partial<TState>): void;
8
+ $subscribe(listener: StateListener<TState>): () => void;
9
+ $reset(state: TState): void;
10
+ }
11
+ //# sourceMappingURL=StateManager.d.ts.map
@@ -0,0 +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;IAC7C,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;CAOnC"}
@@ -0,0 +1,4 @@
1
+ import type { ExportFormat } from './types';
2
+ import type { FormatDefinition } from './models/FormatDefinition';
3
+ export declare function getExportFormatDefinitions(): ReadonlyArray<FormatDefinition<ExportFormat>>;
4
+ //# sourceMappingURL=formatRegistry.d.ts.map
@@ -0,0 +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;AAyElE,wBAAgB,0BAA0B,IAAI,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAE1F"}
@@ -0,0 +1,13 @@
1
+ import type { Textmodifier } from 'textmode.js';
2
+ import type { TextmodeExportAPI } from '../types';
3
+ import { OverlayController } from './core/OverlayController';
4
+ import './style.css';
5
+ export type { ExportFormat } from './types';
6
+ /**
7
+ * Creates an export overlay controller.
8
+ * @param textmodifier - The text modifier instance.
9
+ * @param exportAPI - The export API instance.
10
+ * @returns The overlay controller instance.
11
+ */
12
+ export declare function createExportOverlay(textmodifier: Textmodifier, exportAPI: TextmodeExportAPI): OverlayController;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAM7D,OAAO,aAAa,CAAC;AAErB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,CAS/G"}
@@ -0,0 +1,9 @@
1
+ import type { ExportFormat } from '../types';
2
+ import type { Blade } from '../blades';
3
+ export interface FormatDefinition<TFormat extends ExportFormat = ExportFormat, TBlade extends Blade<any> = Blade<any>> {
4
+ readonly format: TFormat;
5
+ readonly label: string;
6
+ readonly supportsClipboard: boolean;
7
+ createBlade(): TBlade;
8
+ }
9
+ //# sourceMappingURL=FormatDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatDefinition.d.ts","sourceRoot":"","sources":["../../../../src/overlay/models/FormatDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,EAAE,MAAM,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACnH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,WAAW,IAAI,MAAM,CAAC;CACvB"}
@@ -0,0 +1,26 @@
1
+ import type { ExportFormat } from '../types';
2
+ import type { GIFExportProgress } from '../../exporters/gif';
3
+ import type { VideoExportProgress } from '../../exporters/video';
4
+ export interface OverlayEvents extends Record<string, unknown> {
5
+ 'format:change': {
6
+ format: ExportFormat;
7
+ };
8
+ 'export:request': {
9
+ format: ExportFormat;
10
+ };
11
+ 'export:progress': {
12
+ format: ExportFormat;
13
+ progress?: GIFExportProgress | VideoExportProgress;
14
+ };
15
+ 'export:success': {
16
+ format: ExportFormat;
17
+ };
18
+ 'export:error': {
19
+ format: ExportFormat;
20
+ error: Error;
21
+ };
22
+ 'clipboard:request': {
23
+ format: ExportFormat;
24
+ };
25
+ }
26
+ //# sourceMappingURL=OverlayEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayEvents.d.ts","sourceRoot":"","sources":["../../../../src/overlay/models/OverlayEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,eAAe,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC1C,gBAAgB,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC3C,iBAAiB,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAA;KAAE,CAAC;IAChG,gBAAgB,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC3C,cAAc,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IACvD,mBAAmB,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;CAC/C"}
@@ -0,0 +1,16 @@
1
+ import type { ExportFormat } from '../types';
2
+ import type { GIFExportProgress, GIFRecordingState } from '../../exporters/gif';
3
+ import type { VideoExportProgress, VideoRecordingState } from '../../exporters/video';
4
+ export interface RecordingStateSnapshot {
5
+ gif: GIFRecordingState;
6
+ video: VideoRecordingState;
7
+ }
8
+ export interface OverlayState {
9
+ format: ExportFormat;
10
+ isBusy: boolean;
11
+ gifProgress?: GIFExportProgress;
12
+ videoProgress?: VideoExportProgress;
13
+ error?: Error;
14
+ }
15
+ export declare const createInitialOverlayState: (defaultFormat: ExportFormat) => OverlayState;
16
+ //# sourceMappingURL=OverlayState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayState.d.ts","sourceRoot":"","sources":["../../../../src/overlay/models/OverlayState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,eAAO,MAAM,yBAAyB,GAAI,eAAe,YAAY,KAAG,YAGtE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ExportFormat } from '../types';
2
+ import type { TextmodeExportAPI } from '../../types';
3
+ export declare class ClipboardService {
4
+ private readonly api;
5
+ constructor(api: TextmodeExportAPI);
6
+ $copy(format: ExportFormat, options: unknown): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=ClipboardService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClipboardService.d.ts","sourceRoot":"","sources":["../../../../src/overlay/services/ClipboardService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAI5B,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBnE"}
@@ -0,0 +1,18 @@
1
+ import type { ExportFormat } from '../types';
2
+ import type { TextmodeExportAPI } from '../../types';
3
+ import type { OverlayEvents } from '../models/OverlayEvents';
4
+ import type { GIFExportProgress } from '../../exporters/gif';
5
+ import type { VideoExportProgress } from '../../exporters/video';
6
+ import { EventBus } from '../core/EventBus';
7
+ export interface ExportHooks {
8
+ onGIFProgress?: (progress: GIFExportProgress) => void;
9
+ onVideoProgress?: (progress: VideoExportProgress) => void;
10
+ }
11
+ export declare class ExportService {
12
+ private readonly api;
13
+ private readonly events;
14
+ constructor(api: TextmodeExportAPI, events: EventBus<OverlayEvents>);
15
+ $requestExport(format: ExportFormat, options: unknown, hooks?: ExportHooks): Promise<void>;
16
+ private _execute;
17
+ }
18
+ //# sourceMappingURL=ExportService.d.ts.map
@@ -0,0 +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;AAIrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC3D;AAED,qBAAa,aAAa;IACxB,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;CAwBjB"}
@@ -0,0 +1,14 @@
1
+ import type { Textmodifier } from 'textmode.js';
2
+ export declare class PositionService {
3
+ private readonly modifier;
4
+ private readonly overlay;
5
+ private animationFrameId;
6
+ private readonly handleUpdate;
7
+ private bound;
8
+ constructor(modifier: Textmodifier, overlay: HTMLElement);
9
+ scheduleUpdate(): void;
10
+ bind(): void;
11
+ private update;
12
+ dispose(): void;
13
+ }
14
+ //# sourceMappingURL=PositionService.d.ts.map
@@ -0,0 +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;IAC1B,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;CAWhB"}
@@ -0,0 +1,14 @@
1
+ import type { ImageExportOptions } from '../exporters/image';
2
+ import type { TXTExportOptions } from '../exporters/txt';
3
+ import type { SVGExportOptions } from '../exporters/svg';
4
+ import type { GIFExportOptions } from '../exporters/gif';
5
+ import type { VideoExportOptions } from '../exporters/video';
6
+ export type ExportFormat = 'txt' | 'image' | 'gif' | 'video' | 'svg';
7
+ export type ExportOptionsMap = {
8
+ txt: TXTExportOptions;
9
+ image: ImageExportOptions;
10
+ gif: GIFExportOptions;
11
+ video: VideoExportOptions;
12
+ svg: SVGExportOptions;
13
+ };
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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;AAE7D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;CACvB,CAAC"}