@tolgee/web 4.9.3-rc.d287ae9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/tolgee-backend-fetch.cjs.min.js +2 -0
  4. package/dist/tolgee-backend-fetch.cjs.min.js.map +1 -0
  5. package/dist/tolgee-backend-fetch.esm.min.mjs +2 -0
  6. package/dist/tolgee-backend-fetch.esm.min.mjs.map +1 -0
  7. package/dist/tolgee-backend-fetch.umd.min.js +2 -0
  8. package/dist/tolgee-backend-fetch.umd.min.js.map +1 -0
  9. package/dist/tolgee-context-ui.cjs.min.js +143 -0
  10. package/dist/tolgee-context-ui.cjs.min.js.map +1 -0
  11. package/dist/tolgee-context-ui.esm.min.mjs +143 -0
  12. package/dist/tolgee-context-ui.esm.min.mjs.map +1 -0
  13. package/dist/tolgee-context-ui.umd.min.js +143 -0
  14. package/dist/tolgee-context-ui.umd.min.js.map +1 -0
  15. package/dist/tolgee-in-context-tools.cjs.min.js +143 -0
  16. package/dist/tolgee-in-context-tools.cjs.min.js.map +1 -0
  17. package/dist/tolgee-in-context-tools.esm.min.mjs +143 -0
  18. package/dist/tolgee-in-context-tools.esm.min.mjs.map +1 -0
  19. package/dist/tolgee-in-context-tools.umd.min.js +143 -0
  20. package/dist/tolgee-in-context-tools.umd.min.js.map +1 -0
  21. package/dist/tolgee-invisible-observer.cjs.min.js +2 -0
  22. package/dist/tolgee-invisible-observer.cjs.min.js.map +1 -0
  23. package/dist/tolgee-invisible-observer.esm.min.mjs +2 -0
  24. package/dist/tolgee-invisible-observer.esm.min.mjs.map +1 -0
  25. package/dist/tolgee-invisible-observer.umd.min.js +2 -0
  26. package/dist/tolgee-invisible-observer.umd.min.js.map +1 -0
  27. package/dist/tolgee-language-detector.cjs.min.js +2 -0
  28. package/dist/tolgee-language-detector.cjs.min.js.map +1 -0
  29. package/dist/tolgee-language-detector.esm.min.mjs +2 -0
  30. package/dist/tolgee-language-detector.esm.min.mjs.map +1 -0
  31. package/dist/tolgee-language-detector.umd.min.js +2 -0
  32. package/dist/tolgee-language-detector.umd.min.js.map +1 -0
  33. package/dist/tolgee-language-storage.cjs.min.js +2 -0
  34. package/dist/tolgee-language-storage.cjs.min.js.map +1 -0
  35. package/dist/tolgee-language-storage.esm.min.mjs +2 -0
  36. package/dist/tolgee-language-storage.esm.min.mjs.map +1 -0
  37. package/dist/tolgee-language-storage.umd.min.js +2 -0
  38. package/dist/tolgee-language-storage.umd.min.js.map +1 -0
  39. package/dist/tolgee-text-observer.cjs.min.js +2 -0
  40. package/dist/tolgee-text-observer.cjs.min.js.map +1 -0
  41. package/dist/tolgee-text-observer.esm.min.mjs +2 -0
  42. package/dist/tolgee-text-observer.esm.min.mjs.map +1 -0
  43. package/dist/tolgee-text-observer.umd.min.js +2 -0
  44. package/dist/tolgee-text-observer.umd.min.js.map +1 -0
  45. package/dist/tolgee-web-tolgee.cjs.min.js +2 -0
  46. package/dist/tolgee-web-tolgee.cjs.min.js.map +1 -0
  47. package/dist/tolgee-web-tolgee.esm.min.mjs +2 -0
  48. package/dist/tolgee-web-tolgee.esm.min.mjs.map +1 -0
  49. package/dist/tolgee-web-tolgee.umd.min.js +2 -0
  50. package/dist/tolgee-web-tolgee.umd.min.js.map +1 -0
  51. package/dist/tolgee-web.cjs.js +26921 -0
  52. package/dist/tolgee-web.cjs.js.map +1 -0
  53. package/dist/tolgee-web.cjs.min.js +143 -0
  54. package/dist/tolgee-web.cjs.min.js.map +1 -0
  55. package/dist/tolgee-web.esm.min.mjs +143 -0
  56. package/dist/tolgee-web.esm.min.mjs.map +1 -0
  57. package/dist/tolgee-web.esm.mjs +26899 -0
  58. package/dist/tolgee-web.esm.mjs.map +1 -0
  59. package/dist/tolgee-web.umd.js +26927 -0
  60. package/dist/tolgee-web.umd.js.map +1 -0
  61. package/dist/tolgee-web.umd.min.js +143 -0
  62. package/dist/tolgee-web.umd.min.js.map +1 -0
  63. package/lib/BackendFetch.d.ts +4 -0
  64. package/lib/BrowserExtensionPlugin/BrowserExtensionPlugin.d.ts +8 -0
  65. package/lib/BrowserExtensionPlugin/constants.d.ts +3 -0
  66. package/lib/BrowserExtensionPlugin/loadInContextLib.d.ts +1 -0
  67. package/lib/ContextUi.d.ts +2 -0
  68. package/lib/DevBackend.d.ts +2 -0
  69. package/lib/DevTools.d.ts +3 -0
  70. package/lib/InContextTools.d.ts +2 -0
  71. package/lib/InvisibleObserver.d.ts +2 -0
  72. package/lib/LanguageDetector.d.ts +3 -0
  73. package/lib/LanguageStorage.d.ts +3 -0
  74. package/lib/TextObserver.d.ts +2 -0
  75. package/lib/WebTolgee.d.ts +3 -0
  76. package/lib/index.d.ts +4 -0
  77. package/lib/observers/general/DomHelper.d.ts +4 -0
  78. package/lib/observers/general/ElementHighlighter.d.ts +10 -0
  79. package/lib/observers/general/ElementMeta.d.ts +3 -0
  80. package/lib/observers/general/ElementRegistry.d.ts +11 -0
  81. package/lib/observers/general/ElementStore.d.ts +10 -0
  82. package/lib/observers/general/GeneralObserver.d.ts +12 -0
  83. package/lib/observers/general/MouseEventHandler.d.ts +13 -0
  84. package/lib/observers/general/NodeHandler.d.ts +6 -0
  85. package/lib/observers/general/helpers.d.ts +7 -0
  86. package/lib/observers/invisible/InvisibleWrapper.d.ts +2 -0
  87. package/lib/observers/invisible/ValueMemory.d.ts +5 -0
  88. package/lib/observers/invisible/encoderPolyfill.d.ts +8 -0
  89. package/lib/observers/invisible/secret.d.ts +6 -0
  90. package/lib/observers/text/TextWrapper.d.ts +8 -0
  91. package/lib/observers/text/helpers.d.ts +3 -0
  92. package/lib/tools/decodeApiKey.d.ts +1 -0
  93. package/lib/tools/extension.d.ts +28 -0
  94. package/lib/typedIndex.d.ts +11 -0
  95. package/lib/types.d.ts +28 -0
  96. package/lib/ui/KeyContextMenu/KeyContextMenu.d.ts +19 -0
  97. package/lib/ui/KeyDialog/KeyDialog.d.ts +23 -0
  98. package/lib/ui/KeyDialog/KeyForm.d.ts +2 -0
  99. package/lib/ui/KeyDialog/LanguageSelect.d.ts +2 -0
  100. package/lib/ui/KeyDialog/NewWindow.d.ts +2 -0
  101. package/lib/ui/KeyDialog/NsSelect.d.ts +9 -0
  102. package/lib/ui/KeyDialog/ScreenshotGallery/ExtensionPrompt.d.ts +6 -0
  103. package/lib/ui/KeyDialog/ScreenshotGallery/ScreenshotDetail.d.ts +8 -0
  104. package/lib/ui/KeyDialog/ScreenshotGallery/ScreenshotDropzone.d.ts +6 -0
  105. package/lib/ui/KeyDialog/ScreenshotGallery/ScreenshotGallery.d.ts +2 -0
  106. package/lib/ui/KeyDialog/ScreenshotGallery/ScreenshotThumbnail.d.ts +8 -0
  107. package/lib/ui/KeyDialog/ScreenshotGallery/utils.d.ts +3 -0
  108. package/lib/ui/KeyDialog/TranslationDialog.d.ts +2 -0
  109. package/lib/ui/KeyDialog/TranslationDialogContextProvider.d.ts +128 -0
  110. package/lib/ui/KeyDialog/TranslationDialogWrapper.d.ts +2 -0
  111. package/lib/ui/KeyDialog/TranslationFields.d.ts +2 -0
  112. package/lib/ui/KeyDialog/languageHelpers.d.ts +12 -0
  113. package/lib/ui/KeyDialog/tools.d.ts +3 -0
  114. package/lib/ui/ThemeProvider.d.ts +2 -0
  115. package/lib/ui/client/QueryProvider.d.ts +12 -0
  116. package/lib/ui/client/apiSchema.generated.d.ts +3283 -0
  117. package/lib/ui/client/client.d.ts +5 -0
  118. package/lib/ui/client/types.d.ts +58 -0
  119. package/lib/ui/client/useQueryApi.d.ts +84 -0
  120. package/lib/ui/common/BodyEnd.d.ts +13 -0
  121. package/lib/ui/common/FieldTitle.d.ts +2 -0
  122. package/lib/ui/common/LoadingButton.d.ts +7 -0
  123. package/lib/ui/constants.d.ts +5 -0
  124. package/lib/ui/index.d.ts +13 -0
  125. package/lib/ui/tools/createProvider.d.ts +5 -0
  126. package/lib/ui/tools/isLanguagePermitted.d.ts +1 -0
  127. package/lib/ui/tools/sleep.d.ts +1 -0
  128. package/package.json +91 -0
  129. package/src/BackendFetch.ts +64 -0
  130. package/src/BrowserExtensionPlugin/BrowserExtensionPlugin.ts +98 -0
  131. package/src/BrowserExtensionPlugin/constants.ts +3 -0
  132. package/src/BrowserExtensionPlugin/loadInContextLib.ts +32 -0
  133. package/src/ContextUi.ts +7 -0
  134. package/src/DevBackend.ts +30 -0
  135. package/src/DevTools.ts +9 -0
  136. package/src/InContextTools.ts +20 -0
  137. package/src/InvisibleObserver.ts +16 -0
  138. package/src/LanguageDetector.test.ts +19 -0
  139. package/src/LanguageDetector.ts +32 -0
  140. package/src/LanguageStorage.ts +23 -0
  141. package/src/TextObserver.ts +45 -0
  142. package/src/WebTolgee.ts +8 -0
  143. package/src/__test__/browser.extension.test.ts +69 -0
  144. package/src/__test__/observer.test.ts +13 -0
  145. package/src/__test__/testObserver.ts +106 -0
  146. package/src/__test__/testRetranslate.ts +47 -0
  147. package/src/index.ts +4 -0
  148. package/src/observers/general/DomHelper.ts +46 -0
  149. package/src/observers/general/ElementHighlighter.ts +72 -0
  150. package/src/observers/general/ElementMeta.ts +17 -0
  151. package/src/observers/general/ElementRegistry.ts +159 -0
  152. package/src/observers/general/ElementStore.ts +34 -0
  153. package/src/observers/general/GeneralObserver.ts +133 -0
  154. package/src/observers/general/MouseEventHandler.ts +198 -0
  155. package/src/observers/general/NodeHandler.ts +39 -0
  156. package/src/observers/general/helpers.ts +65 -0
  157. package/src/observers/invisible/InvisibleWrapper.test.ts +17 -0
  158. package/src/observers/invisible/InvisibleWrapper.ts +96 -0
  159. package/src/observers/invisible/ValueMemory.test.ts +25 -0
  160. package/src/observers/invisible/ValueMemory.ts +20 -0
  161. package/src/observers/invisible/encoderPolyfill.ts +96 -0
  162. package/src/observers/invisible/secret.test.ts +61 -0
  163. package/src/observers/invisible/secret.ts +68 -0
  164. package/src/observers/text/TextWrapper.ts +258 -0
  165. package/src/observers/text/helpers.ts +56 -0
  166. package/src/tools/decodeApiKey.test.ts +14 -0
  167. package/src/tools/decodeApiKey.ts +74 -0
  168. package/src/tools/extension.test.ts +159 -0
  169. package/src/tools/extension.ts +117 -0
  170. package/src/typedIndex.ts +13 -0
  171. package/src/types.ts +33 -0
  172. package/src/ui/KeyContextMenu/KeyContextMenu.tsx +106 -0
  173. package/src/ui/KeyDialog/KeyDialog.tsx +67 -0
  174. package/src/ui/KeyDialog/KeyForm.tsx +208 -0
  175. package/src/ui/KeyDialog/LanguageSelect.tsx +78 -0
  176. package/src/ui/KeyDialog/NewWindow.tsx +106 -0
  177. package/src/ui/KeyDialog/NsSelect.tsx +67 -0
  178. package/src/ui/KeyDialog/ScreenshotGallery/ExtensionPrompt.tsx +97 -0
  179. package/src/ui/KeyDialog/ScreenshotGallery/ScreenshotDetail.tsx +33 -0
  180. package/src/ui/KeyDialog/ScreenshotGallery/ScreenshotDropzone.tsx +138 -0
  181. package/src/ui/KeyDialog/ScreenshotGallery/ScreenshotGallery.tsx +240 -0
  182. package/src/ui/KeyDialog/ScreenshotGallery/ScreenshotThumbnail.tsx +113 -0
  183. package/src/ui/KeyDialog/ScreenshotGallery/utils.ts +17 -0
  184. package/src/ui/KeyDialog/TranslationDialog.tsx +14 -0
  185. package/src/ui/KeyDialog/TranslationDialogContextProvider.tsx +464 -0
  186. package/src/ui/KeyDialog/TranslationDialogWrapper.tsx +44 -0
  187. package/src/ui/KeyDialog/TranslationFields.tsx +113 -0
  188. package/src/ui/KeyDialog/languageHelpers.ts +18 -0
  189. package/src/ui/KeyDialog/tools.ts +30 -0
  190. package/src/ui/ThemeProvider.tsx +71 -0
  191. package/src/ui/__test__/keyContextMenu.test.ts +56 -0
  192. package/src/ui/client/QueryProvider.tsx +38 -0
  193. package/src/ui/client/apiSchema.generated.ts +3281 -0
  194. package/src/ui/client/client.ts +155 -0
  195. package/src/ui/client/types.ts +113 -0
  196. package/src/ui/client/useQueryApi.ts +121 -0
  197. package/src/ui/common/BodyEnd.tsx +44 -0
  198. package/src/ui/common/FieldTitle.tsx +9 -0
  199. package/src/ui/common/LoadingButton.tsx +45 -0
  200. package/src/ui/constants.ts +12 -0
  201. package/src/ui/index.ts +88 -0
  202. package/src/ui/screenshots/ScreenshotPreview.tsx +18 -0
  203. package/src/ui/tools/createProvider.tsx +54 -0
  204. package/src/ui/tools/isLanguagePermitted.ts +14 -0
  205. package/src/ui/tools/sleep.ts +2 -0
  206. package/types/index.d.ts +9 -0
@@ -0,0 +1,4 @@
1
+ import type { BackendInterface, TolgeePlugin } from '@tolgee/core';
2
+ import { BackendOptions } from './types';
3
+ export declare const BackendFetchCreator: (options?: Partial<BackendOptions>) => BackendInterface;
4
+ export declare const BackendFetch: (options?: Partial<BackendOptions>) => TolgeePlugin;
@@ -0,0 +1,8 @@
1
+ import type { TolgeePlugin } from '@tolgee/core';
2
+ export declare const API_KEY_LOCAL_STORAGE = "__tolgee_apiKey";
3
+ export declare const API_URL_LOCAL_STORAGE = "__tolgee_apiUrl";
4
+ export declare type BrowserExtensionProps = {
5
+ noReload?: boolean;
6
+ };
7
+ declare let BrowserExtensionPlugin: () => TolgeePlugin;
8
+ export { BrowserExtensionPlugin };
@@ -0,0 +1,3 @@
1
+ export declare const IN_CONTEXT_FILE = "tolgee-in-context-tools.umd.min.js";
2
+ export declare const IN_CONTEXT_UMD_NAME = "@tolgee/in-context-tools";
3
+ export declare const IN_CONTEXT_EXPORT_NAME = "InContextTools";
@@ -0,0 +1 @@
1
+ export declare function loadInContextLib(version?: string): Promise<(overrideCredentials?: import("@tolgee/core").DevCredentials) => import("@tolgee/core").TolgeePlugin>;
@@ -0,0 +1,2 @@
1
+ import { TolgeePlugin } from '@tolgee/core';
2
+ export declare const ContextUi: () => TolgeePlugin;
@@ -0,0 +1,2 @@
1
+ import { TolgeePlugin } from '@tolgee/core';
2
+ export declare const DevBackend: () => TolgeePlugin;
@@ -0,0 +1,3 @@
1
+ import { InContextTools } from './InContextTools';
2
+ declare let DevTools: typeof InContextTools;
3
+ export { DevTools };
@@ -0,0 +1,2 @@
1
+ import type { DevCredentials, TolgeePlugin } from '@tolgee/core';
2
+ export declare const InContextTools: (overrideCredentials?: DevCredentials) => TolgeePlugin;
@@ -0,0 +1,2 @@
1
+ import type { TolgeePlugin } from '@tolgee/core';
2
+ export declare const InvisibleObserver: () => TolgeePlugin;
@@ -0,0 +1,3 @@
1
+ import type { LanguageDetectorInterface, TolgeePlugin } from '@tolgee/core';
2
+ export declare const LanguageDetectorCreator: () => LanguageDetectorInterface;
3
+ export declare const LanguageDetector: () => TolgeePlugin;
@@ -0,0 +1,3 @@
1
+ import type { LanguageStorageInterface, TolgeePlugin } from '@tolgee/core';
2
+ export declare const LanguageStorageCreator: () => LanguageStorageInterface;
3
+ export declare const LanguageStorage: () => TolgeePlugin;
@@ -0,0 +1,2 @@
1
+ import type { TolgeePlugin } from '@tolgee/core';
2
+ export declare const TextObserver: () => TolgeePlugin;
@@ -0,0 +1,3 @@
1
+ import { Options, Tolgee as TolgeeCore, TolgeeInstance } from '@tolgee/core';
2
+ export declare const Tolgee: (options?: Partial<Options>) => TolgeeInstance;
3
+ export { TolgeeCore };
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './ContextUi';
2
+ export * from './DevTools';
3
+ export * from './InContextTools';
4
+ export * from './typedIndex';
@@ -0,0 +1,4 @@
1
+ import { ObserverOptions } from '@tolgee/core';
2
+ export declare const DomHelper: (options: ObserverOptions) => Readonly<{
3
+ getSuitableParent: (node: Node) => Element;
4
+ }>;
@@ -0,0 +1,10 @@
1
+ import { ElementMeta } from '@tolgee/core';
2
+ import { TolgeeElement } from '../../types';
3
+ declare type Props = {
4
+ highlightColor: string;
5
+ highlightWidth: number;
6
+ };
7
+ export declare const ElementHighlighter: ({ highlightColor, highlightWidth, }: Props) => Readonly<{
8
+ initHighlighter: (element: TolgeeElement, elementMeta: ElementMeta) => void;
9
+ }>;
10
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ElementMeta, KeyAndParams, NodeMeta } from '@tolgee/core';
2
+ export declare function initElementMeta(): ElementMeta;
3
+ export declare function initNodeMeta(oldTextContent: string, keys: KeyAndParams[]): NodeMeta;
@@ -0,0 +1,11 @@
1
+ import { FallbackNSTranslation } from '@tolgee/core';
2
+ import { ElementMeta, NodeMeta, TranslationOnClick, ObserverOptions } from '@tolgee/core';
3
+ import { TolgeeElement } from '../../types';
4
+ export declare const ElementRegistry: (options: ObserverOptions, onClick: TranslationOnClick) => Readonly<{
5
+ register: (element: Element, node: Node, nodeMeta: NodeMeta) => void;
6
+ forEachElement: (callback: (el: TolgeeElement, meta: ElementMeta) => void) => void;
7
+ findAll: (key?: string, ns?: FallbackNSTranslation) => ElementMeta[];
8
+ refreshAll: () => void;
9
+ run: (mouseHighlight: boolean) => void;
10
+ stop: () => void;
11
+ }>;
@@ -0,0 +1,10 @@
1
+ import type { ElementMeta } from '@tolgee/core';
2
+ import { TolgeeElement } from '../../types';
3
+ export declare type RegistredElementsMap = Map<TolgeeElement, ElementMeta>;
4
+ export declare const ElementStore: () => Readonly<{
5
+ set: (el: TolgeeElement, meta: ElementMeta) => void;
6
+ get: (el: TolgeeElement | undefined) => ElementMeta | undefined;
7
+ remove: (el: TolgeeElement) => boolean;
8
+ forEachElement: (callback: (el: TolgeeElement, meta: ElementMeta) => void) => void;
9
+ }>;
10
+ export declare type ElementStoreType = ReturnType<typeof ElementStore>;
@@ -0,0 +1,12 @@
1
+ import { FallbackNSTranslation, TranslationOnClick, WrapperInterface, ObserverRunProps, ObserverOptions } from '@tolgee/core';
2
+ export declare const GeneralObserver: (wrapper: WrapperInterface, options: ObserverOptions, onClick: TranslationOnClick) => Readonly<{
3
+ run: ({ mouseHighlight }: ObserverRunProps) => void;
4
+ stop: () => void;
5
+ wrap: import("@tolgee/core").WrapperWrapFunction;
6
+ unwrap: import("@tolgee/core").WrapperUnwrapFunction;
7
+ forEachElement: (callback: (el: import("../..").TolgeeElement, meta: import("@tolgee/core").ElementMeta) => void) => void;
8
+ highlight: (key?: string, ns?: FallbackNSTranslation) => {
9
+ unhighlight(): void;
10
+ };
11
+ }>;
12
+ export declare type GeneralObserverType = ReturnType<typeof GeneralObserver>;
@@ -0,0 +1,13 @@
1
+ import { TolgeeElement } from '../../types';
2
+ import { ModifierKey } from '@tolgee/core';
3
+ import { ElementStoreType } from './ElementStore';
4
+ declare type Props = {
5
+ highlightKeys: ModifierKey[];
6
+ elementStore: ElementStoreType;
7
+ onClick: (event: MouseEvent, el: TolgeeElement) => void;
8
+ };
9
+ export declare const MouseEventHandler: ({ highlightKeys, elementStore, onClick, }: Props) => Readonly<{
10
+ run: () => void;
11
+ stop: () => void;
12
+ }>;
13
+ export {};
@@ -0,0 +1,6 @@
1
+ import { WrapperInterface, ObserverOptions } from '@tolgee/core';
2
+ export declare const NodeHandler: (options: ObserverOptions, wrapper: WrapperInterface) => Readonly<{
3
+ handleAttributes: (node: Node) => Attr[];
4
+ handleChildList: (node: Node) => (Attr | Text)[];
5
+ handleText: (node: Node) => Text[];
6
+ }>;
@@ -0,0 +1,7 @@
1
+ import { KeyDescriptorInternal } from '@tolgee/core';
2
+ export declare function xPathEvaluate<T extends Node>(expression: string, targetNode: Node): Node[];
3
+ export declare function closestElement(node: Element | Text): Element | null;
4
+ export declare function getNodeText(node: Node): string | null;
5
+ export declare function setNodeText(node: Node, text: string): void;
6
+ export declare function nodeContains(descendant: Node, node: Node): boolean;
7
+ export declare const compareDescriptors: (descriptor: KeyDescriptorInternal, criteria: KeyDescriptorInternal) => boolean;
@@ -0,0 +1,2 @@
1
+ import type { WrapperInterface } from '@tolgee/core';
2
+ export declare const InvisibleWrapper: () => WrapperInterface;
@@ -0,0 +1,5 @@
1
+ export declare const ValueMemory: () => Readonly<{
2
+ valueToNumber: (key: string) => number;
3
+ numberToValue: (num: number) => string;
4
+ }>;
5
+ export declare type ValueMemoryInstance = ReturnType<typeof ValueMemory>;
@@ -0,0 +1,8 @@
1
+ export declare const Encoder: {
2
+ new (): TextEncoder;
3
+ prototype: TextEncoder;
4
+ };
5
+ export declare const Decoder: {
6
+ new (label?: string | undefined, options?: TextDecoderOptions | undefined): TextDecoder;
7
+ prototype: TextDecoder;
8
+ };
@@ -0,0 +1,6 @@
1
+ export declare const INVISIBLE_CHARACTERS: string[];
2
+ export declare const INVISIBLE_REGEX: RegExp;
3
+ export declare const encodeMessage: (text: string) => string;
4
+ export declare const decodeFromText: (text: string) => string[];
5
+ export declare const removeSecrets: (text: string) => string;
6
+ export declare const stringToCodePoints: (text: string) => number[];
@@ -0,0 +1,8 @@
1
+ import type { TranslatePropsInternal, WrapperInterface } from '@tolgee/core';
2
+ declare type Props = {
3
+ inputPrefix: string;
4
+ inputSuffix: string;
5
+ translate: (params: TranslatePropsInternal) => string;
6
+ };
7
+ export declare const TextWrapper: ({ inputPrefix, inputSuffix, translate, }: Props) => WrapperInterface;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare function splitOnNonEscapedDelimiter(string: string, delimiter: string): string[];
2
+ export declare function isCharEscaped(position: number, fullString: string): boolean;
3
+ export declare function removeEscapes(string: string): string;
@@ -0,0 +1 @@
1
+ export declare function getProjectIdFromApiKey(key: string | undefined): number | undefined;
@@ -0,0 +1,28 @@
1
+ declare type Props = {
2
+ message: string;
3
+ recievingMessage: string[];
4
+ data?: any;
5
+ attempts?: number;
6
+ };
7
+ export declare function listen<T = any>(type: string[], callback: (data?: T) => any): {
8
+ unsubscribe: () => void;
9
+ };
10
+ export declare function sendAndRecieve<T>({ message, recievingMessage, data, attempts, }: Props): {
11
+ cancel: () => boolean;
12
+ promise: Promise<T>;
13
+ };
14
+ export declare function takeScreenshot(): Promise<string>;
15
+ export declare function detectExtension(): Promise<boolean>;
16
+ export declare type LibConfig = {
17
+ uiPresent: boolean;
18
+ uiVersion?: string;
19
+ mode: 'production' | 'development';
20
+ config: {
21
+ apiUrl: string;
22
+ apiKey: string;
23
+ };
24
+ };
25
+ export declare function Handshaker(): {
26
+ update: (data: LibConfig) => Promise<boolean>;
27
+ };
28
+ export {};
@@ -0,0 +1,11 @@
1
+ export { InvisibleObserver } from './InvisibleObserver';
2
+ export { TextObserver } from './TextObserver';
3
+ export { DevBackend } from './DevBackend';
4
+ export { getProjectIdFromApiKey } from './tools/decodeApiKey';
5
+ export { BrowserExtensionPlugin } from './BrowserExtensionPlugin/BrowserExtensionPlugin';
6
+ export { LanguageStorage } from './LanguageStorage';
7
+ export { LanguageDetector } from './LanguageDetector';
8
+ export { BackendFetch } from './BackendFetch';
9
+ export * from './types';
10
+ export * from '@tolgee/core';
11
+ export { Tolgee, TolgeeCore } from './WebTolgee';
package/lib/types.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ export declare type NodeLock = {
2
+ locked?: boolean;
3
+ };
4
+ export declare type TolgeeElement = Element & ElementCSSInlineStyle & {
5
+ _tolgee?: boolean;
6
+ };
7
+ import type { BackendGetRecordProps, TreeTranslationsData } from '@tolgee/core';
8
+ export declare type BackendOptions = Omit<RequestInit, 'headers'> & {
9
+ /**
10
+ * Path prefix (default: '/i18n')
11
+ */
12
+ prefix: string;
13
+ /**
14
+ * Generate own path based on namespace, language and prefix
15
+ */
16
+ getPath: GetPath;
17
+ /**
18
+ * Custom headers
19
+ */
20
+ headers: Record<string, string>;
21
+ /**
22
+ * Extract data from fetch response (default: (r) => r.json())
23
+ */
24
+ getData: (r: Response) => Promise<TreeTranslationsData | undefined>;
25
+ };
26
+ export declare type GetPath = (options: BackendGetRecordProps & {
27
+ prefix: string;
28
+ }) => string;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface KeyContextMenuParams {
3
+ openEvent: MouseEvent;
4
+ keys: Map<string, string | undefined>;
5
+ onSelect: (key: string | undefined) => void;
6
+ }
7
+ export declare type KeyContextMenuState = Partial<KeyContextMenuParams> & {
8
+ opened: boolean;
9
+ };
10
+ export declare class KeyContextMenu extends React.Component {
11
+ state: KeyContextMenuState & {
12
+ opened: boolean;
13
+ };
14
+ show(params: KeyContextMenuParams): Promise<void>;
15
+ keyDown: (e: KeyboardEvent) => void;
16
+ componentDidMount(): void;
17
+ componentWillUnmount(): void;
18
+ render(): JSX.Element;
19
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import type { FallbackNSTranslation, UiProps } from '@tolgee/core';
3
+ export declare type ComponentDependencies = UiProps;
4
+ export declare type Props = UiProps;
5
+ declare type State = {
6
+ key: null | string;
7
+ defaultValue: undefined | string;
8
+ dialogOpened: boolean;
9
+ ns: FallbackNSTranslation;
10
+ };
11
+ export declare class KeyDialog extends React.Component<Props, State> {
12
+ state: {
13
+ key: null;
14
+ defaultValue: undefined;
15
+ dialogOpened: boolean;
16
+ ns: undefined;
17
+ };
18
+ constructor(props: Props);
19
+ translationEdit(key: string, defaultValue: string | undefined, ns: FallbackNSTranslation): void;
20
+ render: () => JSX.Element;
21
+ private onClose;
22
+ }
23
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const KeyForm: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const LanguageSelect: React.FC;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const NewWindow: FC;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { FallbackNSTranslation } from '@tolgee/core';
3
+ declare type Props = {
4
+ options: FallbackNSTranslation;
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ };
8
+ export declare const NsSelect: React.FC<Props>;
9
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ onClose: () => void;
4
+ };
5
+ export declare const ExtensionPrompt: React.FC<Props>;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ScreenshotInterface } from '../TranslationDialogContextProvider';
3
+ declare type Props = {
4
+ screenshot: ScreenshotInterface;
5
+ onClose: () => void;
6
+ };
7
+ export declare const ScreenshotDetail: React.FC<Props>;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent } from 'react';
2
+ export interface ScreenshotDropzoneProps {
3
+ validateAndUpload: (files: File[]) => void;
4
+ enabled: boolean;
5
+ }
6
+ export declare const ScreenshotDropzone: FunctionComponent<ScreenshotDropzoneProps>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ScreenshotGallery: React.FC;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ScreenshotInterface } from '../TranslationDialogContextProvider';
3
+ export declare type Props = {
4
+ onClick: () => void;
5
+ onDelete?: (id: number) => void;
6
+ data: ScreenshotInterface;
7
+ };
8
+ export declare const ScreenshotThumbnail: React.FC<Props>;
@@ -0,0 +1,3 @@
1
+ export declare const MAX_FILE_COUNT = 20;
2
+ export declare const dataTransferItemsToArray: (items: DataTransferItemList) => File[];
3
+ export declare function isAuthorizedTo(scope: string, scopes: string[] | undefined): boolean;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TranslationDialog: () => JSX.Element;
@@ -0,0 +1,128 @@
1
+ /// <reference types="react" />
2
+ import { FallbackNSTranslation, UiProps } from '@tolgee/core';
3
+ export interface ScreenshotInterface {
4
+ id: number;
5
+ filename: string;
6
+ fileUrl: string;
7
+ createdAt?: string;
8
+ justUploaded: boolean;
9
+ }
10
+ declare type FormTranslations = {
11
+ [key: string]: string;
12
+ };
13
+ declare type DialogProps = {
14
+ keyName: string;
15
+ defaultValue: string;
16
+ open: boolean;
17
+ onClose: () => void;
18
+ uiProps: UiProps;
19
+ ns: FallbackNSTranslation;
20
+ };
21
+ declare type Actions = {
22
+ type: 'ON_INPUT_CHANGE';
23
+ payload: {
24
+ key: string;
25
+ value: string;
26
+ };
27
+ } | {
28
+ type: 'ON_SELECTED_LANGUAGES_CHANGE';
29
+ payload: {
30
+ languages: string[];
31
+ };
32
+ } | {
33
+ type: 'HANDLE_UPLOAD_IMAGES';
34
+ payload: {
35
+ files: File[];
36
+ };
37
+ } | {
38
+ type: 'HANDLE_TAKE_SCREENSHOT';
39
+ } | {
40
+ type: 'HANDLE_REMOVE_SCREENSHOT';
41
+ payload: {
42
+ id: number;
43
+ };
44
+ } | {
45
+ type: 'ON_SAVE';
46
+ } | {
47
+ type: 'ON_CLOSE';
48
+ } | {
49
+ type: 'SET_USE_BROWSER_WINDOW';
50
+ payload: boolean;
51
+ } | {
52
+ type: 'SET_CONTAINER';
53
+ payload: Element | undefined;
54
+ } | {
55
+ type: 'OPEN_SCREENSHOT_DETAIL';
56
+ payload: ScreenshotInterface;
57
+ } | {
58
+ type: 'CLOSE_SCREENSHOT_DETAIL';
59
+ } | {
60
+ type: 'ON_ESCAPE';
61
+ } | {
62
+ type: 'SELECTED_NS_CHANGE';
63
+ payload: {
64
+ ns: string;
65
+ };
66
+ };
67
+ export declare const DialogProvider: import("react").FC<DialogProps>, useDialogDispatch: () => (action: Actions) => Promise<void>, useDialogContext: <SelectorReturn>(selector: (state: {
68
+ input: string;
69
+ open: boolean;
70
+ ns: string | string[] | undefined;
71
+ selectedNs: string;
72
+ loading: boolean;
73
+ saving: boolean;
74
+ success: boolean;
75
+ error: any;
76
+ availableLanguages: {
77
+ id: number;
78
+ name: string;
79
+ tag: string;
80
+ originalName?: string | undefined;
81
+ flagEmoji?: string | undefined;
82
+ base: boolean;
83
+ }[] | undefined;
84
+ selectedLanguages: string[];
85
+ formDisabled: boolean;
86
+ translations: {
87
+ keyId: number;
88
+ keyName: string;
89
+ keyTags: {
90
+ id: number;
91
+ name: string;
92
+ }[];
93
+ screenshotCount: number;
94
+ screenshots?: {
95
+ id: number;
96
+ filename: string;
97
+ thumbnail: string;
98
+ fileUrl: string;
99
+ thumbnailUrl: string;
100
+ createdAt?: string | undefined;
101
+ }[] | undefined;
102
+ translations: {
103
+ [key: string]: {
104
+ id: number;
105
+ text?: string | undefined;
106
+ state: "UNTRANSLATED" | "TRANSLATED" | "REVIEWED";
107
+ auto: boolean;
108
+ mtProvider?: "GOOGLE" | "AWS" | "DEEPL" | "AZURE" | undefined;
109
+ commentCount: number;
110
+ unresolvedCommentCount: number;
111
+ fromTranslationMemory: boolean;
112
+ };
113
+ };
114
+ } | undefined;
115
+ translationsForm: FormTranslations;
116
+ container: Element | undefined;
117
+ useBrowserWindow: boolean;
118
+ pluginAvailable: boolean | undefined;
119
+ takingScreenshot: boolean;
120
+ screenshotsUploading: boolean;
121
+ screenshots: ScreenshotInterface[];
122
+ screenshotDetail: ScreenshotInterface | null;
123
+ linkToPlatform: string | undefined;
124
+ keyExists: boolean;
125
+ scopes: string[] | undefined;
126
+ permittedLanguageIds: number[] | undefined;
127
+ }) => SelectorReturn) => SelectorReturn;
128
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const TranslationDialogWrapper: React.FC;
@@ -0,0 +1,2 @@
1
+ import { FunctionComponent } from 'react';
2
+ export declare const TranslationFields: FunctionComponent;
@@ -0,0 +1,12 @@
1
+ import { components } from '../client/apiSchema.generated';
2
+ declare type LanguageModel = components['schemas']['LanguageModel'];
3
+ export declare const putBaseLangFirst: (languages: LanguageModel[] | undefined) => {
4
+ id: number;
5
+ name: string;
6
+ tag: string;
7
+ originalName?: string | undefined;
8
+ flagEmoji?: string | undefined;
9
+ base: boolean;
10
+ }[] | undefined;
11
+ export declare const putBaseLangFirstTags: (strings: Array<string>, base?: string) => string[];
12
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare function getPreferredLanguages(): string[];
2
+ export declare function setPreferredLanguages(languages: string[]): void;
3
+ export declare function getInitialLanguages(available: string[]): string[];
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ThemeProvider: React.FC;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare type GlobalOptions = {
3
+ apiKey: string;
4
+ apiUrl: string;
5
+ };
6
+ export declare const QueryContext: React.Context<GlobalOptions>;
7
+ declare type Props = {
8
+ apiKey: string;
9
+ apiUrl: string;
10
+ };
11
+ export declare const QueryProvider: React.FC<Props>;
12
+ export {};