zcw-shared 2.25.0 → 2.26.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 (227) hide show
  1. package/README.md +73 -13
  2. package/dist/functions/ai/buildResolvedLlmToolsList.d.ts +0 -1
  3. package/dist/functions/ai/buildResolvedLlmToolsList.js +0 -1
  4. package/dist/functions/ai/buildResolvedLlmToolsList.js.map +1 -1
  5. package/dist/functions/array/filterListExcludingIds.d.ts +0 -1
  6. package/dist/functions/array/filterListExcludingIds.js +0 -1
  7. package/dist/functions/array/filterListExcludingIds.js.map +1 -1
  8. package/dist/functions/browser/readBrowserAppendToBodyDeps.d.ts +3 -0
  9. package/dist/functions/browser/readBrowserAppendToBodyDeps.js +8 -0
  10. package/dist/functions/browser/readBrowserAppendToBodyDeps.js.map +1 -0
  11. package/dist/functions/browser/readBrowserDetectDeps.d.ts +2 -0
  12. package/dist/functions/browser/readBrowserDetectDeps.js +8 -5
  13. package/dist/functions/browser/readBrowserDetectDeps.js.map +1 -1
  14. package/dist/functions/browser/readBrowserHost.d.ts +57 -0
  15. package/dist/functions/browser/readBrowserHost.js +61 -0
  16. package/dist/functions/browser/readBrowserHost.js.map +1 -0
  17. package/dist/functions/browser/readBrowserImageCompressDeps.d.ts +2 -0
  18. package/dist/functions/browser/readBrowserImageCompressDeps.js +13 -10
  19. package/dist/functions/browser/readBrowserImageCompressDeps.js.map +1 -1
  20. package/dist/functions/browser/readBrowserLassoSelectionEnvironment.d.ts +4 -0
  21. package/dist/functions/browser/readBrowserLassoSelectionEnvironment.js +23 -0
  22. package/dist/functions/browser/readBrowserLassoSelectionEnvironment.js.map +1 -0
  23. package/dist/functions/browser/readBrowserVueHookDeps.d.ts +14 -0
  24. package/dist/functions/browser/readBrowserVueHookDeps.js +85 -0
  25. package/dist/functions/browser/readBrowserVueHookDeps.js.map +1 -0
  26. package/dist/functions/browser/requireBrowserLocalStorage.d.ts +2 -1
  27. package/dist/functions/browser/requireBrowserLocalStorage.js +3 -6
  28. package/dist/functions/browser/requireBrowserLocalStorage.js.map +1 -1
  29. package/dist/functions/chat/chatAppearancePrefs.d.ts +6 -1
  30. package/dist/functions/chat/chatAppearancePrefs.js +6 -4
  31. package/dist/functions/chat/chatAppearancePrefs.js.map +1 -1
  32. package/dist/functions/chat/createBrowserChatAppearanceModeAccess.d.ts +2 -1
  33. package/dist/functions/chat/createBrowserChatAppearanceModeAccess.js +8 -11
  34. package/dist/functions/chat/createBrowserChatAppearanceModeAccess.js.map +1 -1
  35. package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.d.ts +2 -1
  36. package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.js +12 -12
  37. package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.js.map +1 -1
  38. package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.d.ts +2 -1
  39. package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.js +7 -14
  40. package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.js.map +1 -1
  41. package/dist/functions/chat/createBrowserChatRootFontSizeAccess.d.ts +2 -1
  42. package/dist/functions/chat/createBrowserChatRootFontSizeAccess.js +14 -13
  43. package/dist/functions/chat/createBrowserChatRootFontSizeAccess.js.map +1 -1
  44. package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.d.ts +1 -19
  45. package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.js +1 -34
  46. package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.js.map +1 -1
  47. package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.d.ts +2 -1
  48. package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.js +11 -19
  49. package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.js.map +1 -1
  50. package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.d.ts +2 -1
  51. package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.js +7 -11
  52. package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.js.map +1 -1
  53. package/dist/functions/dom/appTheme.d.ts +10 -0
  54. package/dist/functions/dom/appTheme.js +11 -0
  55. package/dist/functions/dom/appTheme.js.map +1 -0
  56. package/dist/functions/dom/copyHtmlAndPlainToClipboard.d.ts +3 -1
  57. package/dist/functions/dom/copyHtmlAndPlainToClipboard.js +14 -10
  58. package/dist/functions/dom/copyHtmlAndPlainToClipboard.js.map +1 -1
  59. package/dist/functions/dom/copyTextToClipboard.d.ts +3 -1
  60. package/dist/functions/dom/copyTextToClipboard.js +5 -4
  61. package/dist/functions/dom/copyTextToClipboard.js.map +1 -1
  62. package/dist/functions/dom/createTooltipLongPressHandlers.d.ts +24 -0
  63. package/dist/functions/dom/createTooltipLongPressHandlers.js +84 -0
  64. package/dist/functions/dom/createTooltipLongPressHandlers.js.map +1 -0
  65. package/dist/functions/dom/domDocumentSelection.d.ts +4 -0
  66. package/dist/functions/dom/domDocumentSelection.js +39 -0
  67. package/dist/functions/dom/domDocumentSelection.js.map +1 -0
  68. package/dist/functions/dom/domSelectionInElement.d.ts +4 -3
  69. package/dist/functions/dom/domSelectionInElement.js +10 -10
  70. package/dist/functions/dom/domSelectionInElement.js.map +1 -1
  71. package/dist/functions/dom/fetchBlobFromUrl.d.ts +7 -1
  72. package/dist/functions/dom/fetchBlobFromUrl.js +7 -5
  73. package/dist/functions/dom/fetchBlobFromUrl.js.map +1 -1
  74. package/dist/functions/dom/fileDrag.d.ts +11 -0
  75. package/dist/functions/dom/fileDrag.js +14 -0
  76. package/dist/functions/dom/fileDrag.js.map +1 -0
  77. package/dist/functions/dom/imageBlobToPng.d.ts +5 -4
  78. package/dist/functions/dom/imageBlobToPng.js +23 -16
  79. package/dist/functions/dom/imageBlobToPng.js.map +1 -1
  80. package/dist/functions/dom/lassoSelection.d.ts +84 -0
  81. package/dist/functions/dom/lassoSelection.js +199 -0
  82. package/dist/functions/dom/lassoSelection.js.map +1 -0
  83. package/dist/functions/dom/readBrowserDomDeps.d.ts +41 -0
  84. package/dist/functions/dom/readBrowserDomDeps.js +63 -0
  85. package/dist/functions/dom/readBrowserDomDeps.js.map +1 -0
  86. package/dist/functions/dom/resolveOverlayTeleportParent.d.ts +7 -0
  87. package/dist/functions/dom/resolveOverlayTeleportParent.js +11 -0
  88. package/dist/functions/dom/resolveOverlayTeleportParent.js.map +1 -0
  89. package/dist/functions/dom/safeBrowserDom.d.ts +17 -0
  90. package/dist/functions/dom/safeBrowserDom.js +42 -0
  91. package/dist/functions/dom/safeBrowserDom.js.map +1 -0
  92. package/dist/functions/dom/writeImageBlobToClipboard.d.ts +5 -1
  93. package/dist/functions/dom/writeImageBlobToClipboard.js +8 -5
  94. package/dist/functions/dom/writeImageBlobToClipboard.js.map +1 -1
  95. package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.d.ts +2 -0
  96. package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.js +9 -10
  97. package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.js.map +1 -1
  98. package/dist/functions/file/isJpegImageFile.d.ts +0 -1
  99. package/dist/functions/file/isJpegImageFile.js +0 -1
  100. package/dist/functions/file/isJpegImageFile.js.map +1 -1
  101. package/dist/functions/im/assignChatConversationToWindowLocation.d.ts +5 -1
  102. package/dist/functions/im/assignChatConversationToWindowLocation.js +5 -4
  103. package/dist/functions/im/assignChatConversationToWindowLocation.js.map +1 -1
  104. package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.d.ts +5 -1
  105. package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.js +11 -8
  106. package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.js.map +1 -1
  107. package/dist/functions/im/executeCopyChatMessageContent.d.ts +4 -1
  108. package/dist/functions/im/executeCopyChatMessageContent.js +6 -3
  109. package/dist/functions/im/executeCopyChatMessageContent.js.map +1 -1
  110. package/dist/functions/im/imBubbleSelectionClipboard.d.ts +2 -1
  111. package/dist/functions/im/imBubbleSelectionClipboard.js +10 -11
  112. package/dist/functions/im/imBubbleSelectionClipboard.js.map +1 -1
  113. package/dist/functions/im/imChatMessagePagination.d.ts +0 -1
  114. package/dist/functions/im/imChatMessagePagination.js +0 -1
  115. package/dist/functions/im/imChatMessagePagination.js.map +1 -1
  116. package/dist/functions/im/imImagePixelExtra.d.ts +0 -1
  117. package/dist/functions/im/imImagePixelExtra.js +0 -1
  118. package/dist/functions/im/imImagePixelExtra.js.map +1 -1
  119. package/dist/functions/im/imOrchestrationTypes.d.ts +5 -0
  120. package/dist/functions/im/imOrchestrationTypes.js +2 -0
  121. package/dist/functions/im/imOrchestrationTypes.js.map +1 -0
  122. package/dist/functions/im/imOutboundMediaHelpers.d.ts +7 -1
  123. package/dist/functions/im/imOutboundMediaHelpers.js +15 -7
  124. package/dist/functions/im/imOutboundMediaHelpers.js.map +1 -1
  125. package/dist/functions/im/index.d.ts +2 -2
  126. package/dist/functions/im/index.js +2 -2
  127. package/dist/functions/im/index.js.map +1 -1
  128. package/dist/functions/im/newImClientMessageIdFromBrowser.d.ts +4 -3
  129. package/dist/functions/im/newImClientMessageIdFromBrowser.js +7 -15
  130. package/dist/functions/im/newImClientMessageIdFromBrowser.js.map +1 -1
  131. package/dist/functions/number/clampIndex.d.ts +1 -0
  132. package/dist/functions/number/clampIndex.js +6 -0
  133. package/dist/functions/number/clampIndex.js.map +1 -0
  134. package/dist/functions/release/capacitorOtaReleaseManifestFetch.d.ts +2 -1
  135. package/dist/functions/release/capacitorOtaReleaseManifestFetch.js +3 -2
  136. package/dist/functions/release/capacitorOtaReleaseManifestFetch.js.map +1 -1
  137. package/dist/functions/release/capacitorReleaseManifestFetch.d.ts +2 -1
  138. package/dist/functions/release/capacitorReleaseManifestFetch.js +3 -2
  139. package/dist/functions/release/capacitorReleaseManifestFetch.js.map +1 -1
  140. package/dist/functions/release/capacitorUpdateDefaults.d.ts +4 -0
  141. package/dist/functions/release/capacitorUpdateDefaults.js +10 -10
  142. package/dist/functions/release/capacitorUpdateDefaults.js.map +1 -1
  143. package/dist/functions/release/createCapacitorUpdateFetchDeps.js +13 -7
  144. package/dist/functions/release/createCapacitorUpdateFetchDeps.js.map +1 -1
  145. package/dist/functions/release/createReleaseManifestFetchDeps.d.ts +1 -2
  146. package/dist/functions/release/createReleaseManifestFetchDeps.js +5 -10
  147. package/dist/functions/release/createReleaseManifestFetchDeps.js.map +1 -1
  148. package/dist/functions/release/electronReleaseManifestFetch.d.ts +4 -1
  149. package/dist/functions/release/electronReleaseManifestFetch.js +12 -7
  150. package/dist/functions/release/electronReleaseManifestFetch.js.map +1 -1
  151. package/dist/functions/release/isCapacitorWebViewOnViteDevServer.js +4 -4
  152. package/dist/functions/release/isCapacitorWebViewOnViteDevServer.js.map +1 -1
  153. package/dist/functions/release/readBrowserReleaseDeps.d.ts +14 -0
  154. package/dist/functions/release/readBrowserReleaseDeps.js +19 -0
  155. package/dist/functions/release/readBrowserReleaseDeps.js.map +1 -0
  156. package/dist/functions/release/releaseUpdateDismissSession.d.ts +3 -2
  157. package/dist/functions/release/releaseUpdateDismissSession.js +10 -7
  158. package/dist/functions/release/releaseUpdateDismissSession.js.map +1 -1
  159. package/dist/functions/release/verifyHttpContentLength.d.ts +2 -0
  160. package/dist/functions/release/verifyHttpContentLength.js +4 -1
  161. package/dist/functions/release/verifyHttpContentLength.js.map +1 -1
  162. package/dist/functions/storage/createBrowserSessionStorageKit.d.ts +12 -0
  163. package/dist/functions/storage/createBrowserSessionStorageKit.js +16 -0
  164. package/dist/functions/storage/createBrowserSessionStorageKit.js.map +1 -0
  165. package/dist/functions/storage/createBrowserStringStorageKit.d.ts +12 -0
  166. package/dist/functions/storage/createBrowserStringStorageKit.js +14 -0
  167. package/dist/functions/storage/createBrowserStringStorageKit.js.map +1 -0
  168. package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.d.ts +2 -1
  169. package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.js +5 -9
  170. package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.js.map +1 -1
  171. package/dist/permissions/catalog.d.ts +4 -0
  172. package/dist/permissions/catalog.js +22 -0
  173. package/dist/permissions/catalog.js.map +1 -1
  174. package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.d.ts +7 -0
  175. package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.js +7 -0
  176. package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.js.map +1 -0
  177. package/dist/vue-hooks/browser/useFileObjectUrlMap.d.ts +19 -0
  178. package/dist/vue-hooks/browser/useFileObjectUrlMap.js +46 -0
  179. package/dist/vue-hooks/browser/useFileObjectUrlMap.js.map +1 -0
  180. package/dist/vue-hooks/dom/useBrowserFocusVisible.d.ts +9 -0
  181. package/dist/vue-hooks/dom/useBrowserFocusVisible.js +8 -0
  182. package/dist/vue-hooks/dom/useBrowserFocusVisible.js.map +1 -0
  183. package/dist/vue-hooks/dom/useBrowserLassoSelection.d.ts +16 -0
  184. package/dist/vue-hooks/dom/useBrowserLassoSelection.js +7 -0
  185. package/dist/vue-hooks/dom/useBrowserLassoSelection.js.map +1 -0
  186. package/dist/vue-hooks/dom/useFocusVisible.d.ts +17 -0
  187. package/dist/vue-hooks/dom/useFocusVisible.js +53 -0
  188. package/dist/vue-hooks/dom/useFocusVisible.js.map +1 -0
  189. package/dist/vue-hooks/dom/useLassoSelection.d.ts +53 -0
  190. package/dist/vue-hooks/dom/useLassoSelection.js +244 -0
  191. package/dist/vue-hooks/dom/useLassoSelection.js.map +1 -0
  192. package/dist/vue-hooks/time/useBrowserDelayedTrue.d.ts +2 -0
  193. package/dist/vue-hooks/time/useBrowserDelayedTrue.js +7 -0
  194. package/dist/vue-hooks/time/useBrowserDelayedTrue.js.map +1 -0
  195. package/dist/vue-hooks/time/useDelayedTrue.d.ts +11 -0
  196. package/dist/vue-hooks/time/useDelayedTrue.js +29 -0
  197. package/dist/vue-hooks/time/useDelayedTrue.js.map +1 -0
  198. package/package.json +29 -2
  199. package/types/component-material.d.ts +40 -0
  200. package/types/lowcode.d.ts +63 -0
  201. package/types/rbac.d.ts +0 -3
  202. package/types/vue.d.ts +9 -1
  203. package/dist/functions/file/extractVideoCover.d.ts +0 -6
  204. package/dist/functions/file/extractVideoCover.js +0 -57
  205. package/dist/functions/file/extractVideoCover.js.map +0 -1
  206. package/dist/functions/im/imInlineContentTokens.d.ts +0 -49
  207. package/dist/functions/im/imInlineContentTokens.js +0 -185
  208. package/dist/functions/im/imInlineContentTokens.js.map +0 -1
  209. package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.d.ts +0 -7
  210. package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.js +0 -10
  211. package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.js.map +0 -1
  212. package/dist/functions/im/parseImMentionSegments.d.ts +0 -19
  213. package/dist/functions/im/parseImMentionSegments.js +0 -92
  214. package/dist/functions/im/parseImMentionSegments.js.map +0 -1
  215. package/dist/functions/image/compressImageToWidth.d.ts +0 -12
  216. package/dist/functions/image/compressImageToWidth.js +0 -44
  217. package/dist/functions/image/compressImageToWidth.js.map +0 -1
  218. package/dist/functions/image/compressJpgToTargetSize.d.ts +0 -13
  219. package/dist/functions/image/compressJpgToTargetSize.js +0 -132
  220. package/dist/functions/image/compressJpgToTargetSize.js.map +0 -1
  221. package/dist/functions/image/compressToTargetSize.d.ts +0 -13
  222. package/dist/functions/image/compressToTargetSizeJpg.d.ts +0 -13
  223. package/dist/functions/image/compressToTargetSizeJpg.js +0 -132
  224. package/dist/functions/image/compressToTargetSizeJpg.js.map +0 -1
  225. package/dist/permissions/allPermissionCode.js.map +0 -1
  226. package/dist/permissions/definePermissionGroup.js.map +0 -1
  227. package/dist/permissions/groups.js.map +0 -1
@@ -1,18 +1,15 @@
1
- import { requireBrowserLocalStorage } from '../browser/requireBrowserLocalStorage.js';
2
- import { readChatAppearanceModeFromStorage, writeChatAppearanceModeToStorage, } from './chatPrefsLocalStorage.js';
3
- function readBrowserLocalStorage() {
4
- if (typeof globalThis === 'undefined')
5
- return null;
6
- return globalThis.localStorage ?? null;
7
- }
8
- export function createBrowserChatAppearanceModeAccess() {
1
+ import { readBrowserHostDepsFromGlobalThis, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
3
+ import { CHAT_APPEARANCE_MODE_STORAGE_KEY } from './chatAppearancePrefs.js';
4
+ import { parseChatAppearanceModeFromStorage, } from './chatAppearancePrefs.js';
5
+ export function createBrowserChatAppearanceModeAccess(hostDeps = readBrowserHostDepsFromGlobalThis()) {
6
+ const kit = createBrowserStringStorageKit(hostDeps);
9
7
  return {
10
8
  read() {
11
- const storage = readBrowserLocalStorage();
12
- return storage ? readChatAppearanceModeFromStorage(storage) : 'system';
9
+ return parseChatAppearanceModeFromStorage(kit.backingStorage.getItem(CHAT_APPEARANCE_MODE_STORAGE_KEY));
13
10
  },
14
11
  write(mode) {
15
- writeChatAppearanceModeToStorage(requireBrowserLocalStorage(), mode);
12
+ void kit.storage.set(CHAT_APPEARANCE_MODE_STORAGE_KEY, mode);
16
13
  },
17
14
  };
18
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserChatAppearanceModeAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatAppearanceModeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAGlF,OAAO,EACL,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,yBAAyB,CAAA;AAEhC,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,qCAAqC;IACnD,OAAO;QACL,IAAI;YACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QACxE,CAAC;QACD,KAAK,CAAC,IAAwB;YAC5B,gCAAgC,CAAC,0BAA0B,EAAE,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createBrowserChatAppearanceModeAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatAppearanceModeAccess.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,GAElC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EACL,kCAAkC,GACnC,MAAM,uBAAuB,CAAA;AAG9B,MAAM,UAAU,qCAAqC,CACnD,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO;QACL,IAAI;YACF,OAAO,kCAAkC,CACvC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAC7D,CAAA;QACH,CAAC;QACD,KAAK,CAAC,IAAwB;YAC5B,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAA;QAC9D,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- export declare function createBrowserChatDownloadDirectoryPrefAccess(): {
1
+ import { type ReadBrowserHostDeps } from '../browser/readBrowserHost';
2
+ export declare function createBrowserChatDownloadDirectoryPrefAccess(hostDeps?: ReadBrowserHostDeps): {
2
3
  read(): string | null;
3
4
  write(directory: string | null): void;
4
5
  };
@@ -1,19 +1,19 @@
1
- import { readChatDownloadDirectoryFromStorage, writeChatDownloadDirectoryToStorage, } from './chatPrefsLocalStorage.js';
2
- function readBrowserLocalStorage() {
3
- if (typeof globalThis === 'undefined')
4
- return null;
5
- return globalThis.localStorage ?? null;
6
- }
7
- export function createBrowserChatDownloadDirectoryPrefAccess() {
1
+ import { readBrowserHostDepsFromGlobalThis, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
3
+ import { CHAT_DOWNLOAD_DIRECTORY_PREF_STORAGE_KEY } from '../../constants/chatDownloadDirectory.js';
4
+ import { parseChatDownloadDirectoryPrefFromStorage } from './chatDownloadDirectoryPref.js';
5
+ export function createBrowserChatDownloadDirectoryPrefAccess(hostDeps = readBrowserHostDepsFromGlobalThis()) {
6
+ const kit = createBrowserStringStorageKit(hostDeps);
8
7
  return {
9
8
  read() {
10
- const storage = readBrowserLocalStorage();
11
- return storage ? readChatDownloadDirectoryFromStorage(storage) : null;
9
+ return parseChatDownloadDirectoryPrefFromStorage(kit.backingStorage.getItem(CHAT_DOWNLOAD_DIRECTORY_PREF_STORAGE_KEY));
12
10
  },
13
11
  write(directory) {
14
- const storage = readBrowserLocalStorage();
15
- if (storage)
16
- writeChatDownloadDirectoryToStorage(storage, directory);
12
+ const v = directory?.trim();
13
+ if (v)
14
+ void kit.storage.set(CHAT_DOWNLOAD_DIRECTORY_PREF_STORAGE_KEY, v);
15
+ else
16
+ void kit.storage.remove(CHAT_DOWNLOAD_DIRECTORY_PREF_STORAGE_KEY);
17
17
  },
18
18
  };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserChatDownloadDirectoryPrefAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,yBAAyB,CAAA;AAGhC,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,4CAA4C;IAC1D,OAAO;QACL,IAAI;YACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvE,CAAC;QACD,KAAK,CAAC,SAAwB;YAC5B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,IAAI,OAAO;gBAAE,mCAAmC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createBrowserChatDownloadDirectoryPrefAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,wCAAwC,EAAE,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAE,yCAAyC,EAAE,MAAM,6BAA6B,CAAA;AAGvF,MAAM,UAAU,4CAA4C,CAC1D,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO;QACL,IAAI;YACF,OAAO,yCAAyC,CAC9C,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,wCAAwC,CAAC,CACrE,CAAA;QACH,CAAC;QACD,KAAK,CAAC,SAAwB;YAC5B,MAAM,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC;gBAAE,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAA;;gBACnE,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAA;QACxE,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- export declare function createBrowserChatFileMessageLocalPathAccess(): {
1
+ import { type ReadBrowserHostDeps } from '../browser/readBrowserHost';
2
+ export declare function createBrowserChatFileMessageLocalPathAccess(hostDeps?: ReadBrowserHostDeps): {
2
3
  load(): Map<string, string>;
3
4
  persist(messageId: string, filePath: string, url?: string): void;
4
5
  clear(messageId: string): void;
@@ -1,24 +1,17 @@
1
+ import { readBrowserHostDepsFromGlobalThis, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
1
3
  import { clearFileMessageLocalPathFromStorage, loadFileMessageLocalPathsFromStorage, persistFileMessageLocalPathToStorage, } from './chatFileMessageLocalPathStorage.js';
2
- function readBrowserLocalStorage() {
3
- if (typeof globalThis === 'undefined')
4
- return null;
5
- return globalThis.localStorage ?? null;
6
- }
7
- export function createBrowserChatFileMessageLocalPathAccess() {
4
+ export function createBrowserChatFileMessageLocalPathAccess(hostDeps = readBrowserHostDepsFromGlobalThis()) {
5
+ const kit = createBrowserStringStorageKit(hostDeps);
8
6
  return {
9
7
  load() {
10
- const storage = readBrowserLocalStorage();
11
- return storage ? loadFileMessageLocalPathsFromStorage(storage) : new Map();
8
+ return loadFileMessageLocalPathsFromStorage(kit.backingStorage);
12
9
  },
13
10
  persist(messageId, filePath, url) {
14
- const storage = readBrowserLocalStorage();
15
- if (storage)
16
- persistFileMessageLocalPathToStorage(storage, messageId, filePath, url);
11
+ persistFileMessageLocalPathToStorage(kit.backingStorage, messageId, filePath, url);
17
12
  },
18
13
  clear(messageId) {
19
- const storage = readBrowserLocalStorage();
20
- if (storage)
21
- clearFileMessageLocalPathFromStorage(storage, messageId);
14
+ clearFileMessageLocalPathFromStorage(kit.backingStorage, messageId);
22
15
  },
23
16
  };
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserChatFileMessageLocalPathAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatFileMessageLocalPathAccess.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,mCAAmC,CAAA;AAE1C,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,2CAA2C;IACzD,OAAO;QACL,IAAI;YACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;QAC5E,CAAC;QACD,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE,GAAY;YACvD,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,IAAI,OAAO;gBAAE,oCAAoC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;QACtF,CAAC;QACD,KAAK,CAAC,SAAiB;YACrB,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,IAAI,OAAO;gBAAE,oCAAoC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACvE,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createBrowserChatFileMessageLocalPathAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatFileMessageLocalPathAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,mCAAmC,CAAA;AAG1C,MAAM,UAAU,2CAA2C,CACzD,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO;QACL,IAAI;YACF,OAAO,oCAAoC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE,GAAY;YACvD,oCAAoC,CAClC,GAAG,CAAC,cAAc,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,CACJ,CAAA;QACH,CAAC;QACD,KAAK,CAAC,SAAiB;YACrB,oCAAoC,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QACrE,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- export declare function createBrowserChatRootFontSizeAccess(): {
1
+ import { type ReadBrowserHostDeps } from '../browser/readBrowserHost';
2
+ export declare function createBrowserChatRootFontSizeAccess(hostDeps?: ReadBrowserHostDeps): {
2
3
  read(): number;
3
4
  write(px: number): void;
4
5
  apply(px: number): void;
@@ -1,24 +1,25 @@
1
- import { requireBrowserLocalStorage } from '../browser/requireBrowserLocalStorage.js';
2
- import { applyChatRootFontSizeCssVar, defaultChatRootFontSizePx, readChatRootFontSizePxFromStorage, writeChatRootFontSizePxToStorage, } from './chatPrefsLocalStorage.js';
3
- function readBrowserLocalStorage() {
4
- if (typeof globalThis === 'undefined')
5
- return null;
6
- return globalThis.localStorage ?? null;
7
- }
8
- export function createBrowserChatRootFontSizeAccess() {
1
+ import { readBrowserHostDepsFromGlobalThis, readBrowserHostDocument, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
3
+ import { CHAT_ROOT_FONT_SIZE_STORAGE_KEY, } from '../../constants/chatLayout.js';
4
+ import { applyChatRootFontSizeCssVar, readChatRootFontSizePxFromStorage, } from './chatPrefsLocalStorage.js';
5
+ import { clampChatRootFontSizePx } from '../../constants/chatLayout.js';
6
+ import { safeCssSetProperty } from '../dom/safeBrowserDom.js';
7
+ export function createBrowserChatRootFontSizeAccess(hostDeps = readBrowserHostDepsFromGlobalThis()) {
8
+ const kit = createBrowserStringStorageKit(hostDeps);
9
9
  const access = {
10
10
  read() {
11
- const storage = readBrowserLocalStorage();
12
- return storage ? readChatRootFontSizePxFromStorage(storage) : defaultChatRootFontSizePx();
11
+ return readChatRootFontSizePxFromStorage(kit.backingStorage);
13
12
  },
14
13
  write(px) {
15
- writeChatRootFontSizePxToStorage(requireBrowserLocalStorage(), px);
14
+ void kit.storage.set(CHAT_ROOT_FONT_SIZE_STORAGE_KEY, String(clampChatRootFontSizePx(px)));
16
15
  },
17
16
  apply(px) {
18
- const doc = globalThis.document;
17
+ const doc = readBrowserHostDocument(hostDeps);
19
18
  if (!doc)
20
19
  return;
21
- applyChatRootFontSizeCssVar((name, value) => doc.documentElement.style.setProperty(name, value), px);
20
+ applyChatRootFontSizeCssVar((name, value) => {
21
+ safeCssSetProperty(doc.documentElement.style, name, value);
22
+ }, px);
22
23
  },
23
24
  bootstrap() {
24
25
  access.apply(access.read());
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserChatRootFontSizeAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatRootFontSizeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAElF,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,yBAAyB,CAAA;AAEhC,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,mCAAmC;IACjD,MAAM,MAAM,GAAG;QACb,IAAI;YACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAA;QAC3F,CAAC;QACD,KAAK,CAAC,EAAU;YACd,gCAAgC,CAAC,0BAA0B,EAAE,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC;QACD,KAAK,CAAC,EAAU;YACd,MAAM,GAAG,GAAI,UAEX,CAAC,QAAQ,CAAA;YACX,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,2BAA2B,CACzB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EACnE,EAAE,CACH,CAAA;QACH,CAAC;QACD,SAAS;YACP,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7B,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"createBrowserChatRootFontSizeAccess.js","sourceRoot":"","sources":["../../../src/functions/chat/createBrowserChatRootFontSizeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GAExB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AAExF,OAAO,EACL,+BAA+B,GAChC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,2BAA2B,EAE3B,iCAAiC,GAClC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,MAAM,UAAU,mCAAmC,CACjD,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG;QACb,IAAI;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC9D,CAAC;QACD,KAAK,CAAC,EAAU;YACd,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAClB,+BAA+B,EAC/B,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CACpC,CAAA;QACH,CAAC;QACD,KAAK,CAAC,EAAU;YACd,MAAM,GAAG,GAAG,uBAAuB,CAAC,QAAQ,CAI/B,CAAA;YACb,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,2BAA2B,CACzB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACd,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC5D,CAAC,EACD,EAAE,CACH,CAAA;QACH,CAAC;QACD,SAAS;YACP,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7B,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,19 +1 @@
1
- import type { HTMLElement } from '../../../references/dom.d';
2
- export type ContentLassoBoxRect = {
3
- left: number;
4
- top: number;
5
- width: number;
6
- height: number;
7
- };
8
- type LassoScrollViewport = HTMLElement & {
9
- scrollLeft: number;
10
- scrollTop: number;
11
- };
12
- type LassoSelectableElement = HTMLElement & {
13
- getAttribute(name: string): string | null;
14
- };
15
- type LassoContentRoot = HTMLElement & {
16
- querySelectorAll(selectors: string): Iterable<LassoSelectableElement>;
17
- };
18
- export declare function collectElementIdsInContentLassoBox(box: ContentLassoBoxRect, viewport: LassoScrollViewport, contentRoot: LassoContentRoot, idAttribute: string): string[];
19
- export {};
1
+ export { collectElementIdsInContentLassoBox, type LassoBoxRect, } from '../dom/lassoSelection';
@@ -1,35 +1,2 @@
1
- function toAxisRect(box) {
2
- return {
3
- left: box.left,
4
- top: box.top,
5
- width: box.width,
6
- height: box.height,
7
- right: box.left + box.width,
8
- bottom: box.top + box.height,
9
- };
10
- }
11
- function rectsOverlap(a, b) {
12
- return !(a.right < b.left || a.left > b.right || a.bottom < b.top || a.top > b.bottom);
13
- }
14
- export function collectElementIdsInContentLassoBox(box, viewport, contentRoot, idAttribute) {
15
- const lassoRect = toAxisRect(box);
16
- const viewportRect = viewport.getBoundingClientRect();
17
- const ids = [];
18
- for (const node of contentRoot.querySelectorAll(`[${idAttribute}]`)) {
19
- const id = node.getAttribute(idAttribute)?.trim();
20
- if (!id)
21
- continue;
22
- const row = node.getBoundingClientRect();
23
- const rowInContent = toAxisRect({
24
- left: row.left - viewportRect.left + viewport.scrollLeft,
25
- top: row.top - viewportRect.top + viewport.scrollTop,
26
- width: row.width,
27
- height: row.height,
28
- });
29
- if (rectsOverlap(rowInContent, lassoRect)) {
30
- ids.push(id);
31
- }
32
- }
33
- return ids;
34
- }
1
+ export { collectElementIdsInContentLassoBox, } from '../dom/lassoSelection.js';
35
2
  //# sourceMappingURL=collectElementIdsInContentLassoBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectElementIdsInContentLassoBox.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/collectElementIdsInContentLassoBox.ts"],"names":[],"mappings":"AA+BA,SAAS,UAAU,CAAC,GAAwB;IAC1C,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK;QAC3B,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM;KAC7B,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,CAAW,EAAE,CAAW;IAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;AACxF,CAAC;AAGD,MAAM,UAAU,kCAAkC,CAChD,GAAwB,EACxB,QAA6B,EAC7B,WAA6B,EAC7B,WAAmB;IAEnB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAA;IACrD,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,gBAAgB,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAA;QACjD,IAAI,CAAC,EAAE;YAAE,SAAQ;QAEjB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU;YACxD,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS;YACpD,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAA;QACF,IAAI,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"collectElementIdsInContentLassoBox.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/collectElementIdsInContentLassoBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,GAEnC,MAAM,uBAAuB,CAAA"}
@@ -1,4 +1,5 @@
1
- export declare function createBrowserCloudDiskPrivacyStorageAccess(getUserId: () => string | null): {
1
+ import { type ReadBrowserHostDeps } from '../browser/readBrowserHost';
2
+ export declare function createBrowserCloudDiskPrivacyStorageAccess(getUserId: () => string | null, hostDeps?: ReadBrowserHostDeps): {
2
3
  isEnabled(): boolean;
3
4
  readSalt(): string | null;
4
5
  readHash(): string | null;
@@ -1,36 +1,28 @@
1
- import { requireBrowserLocalStorage } from '../browser/requireBrowserLocalStorage.js';
1
+ import { readBrowserHostDepsFromGlobalThis, requireBrowserHostLocalStorage, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
2
3
  import { createCloudDiskPrivacyStorageAccess } from './cloudDiskPrivacyLocalStorage.js';
3
- function readBrowserLocalStorage() {
4
- if (typeof globalThis === 'undefined')
5
- return null;
6
- return globalThis.localStorage ?? null;
7
- }
8
- export function createBrowserCloudDiskPrivacyStorageAccess(getUserId) {
4
+ export function createBrowserCloudDiskPrivacyStorageAccess(getUserId, hostDeps = readBrowserHostDepsFromGlobalThis()) {
5
+ const kit = createBrowserStringStorageKit(hostDeps);
9
6
  const access = createCloudDiskPrivacyStorageAccess(getUserId);
7
+ const backing = kit.backingStorage;
10
8
  return {
11
9
  isEnabled() {
12
- const storage = readBrowserLocalStorage();
13
- return storage ? access.isEnabled(storage) : false;
10
+ return access.isEnabled(backing);
14
11
  },
15
12
  readSalt() {
16
- const storage = readBrowserLocalStorage();
17
- return storage ? access.readSalt(storage) : null;
13
+ return access.readSalt(backing);
18
14
  },
19
15
  readHash() {
20
- const storage = readBrowserLocalStorage();
21
- return storage ? access.readHash(storage) : null;
16
+ return access.readHash(backing);
22
17
  },
23
18
  async savePassword(password) {
24
- await access.savePassword(requireBrowserLocalStorage(), password);
19
+ await access.savePassword(requireBrowserHostLocalStorage(hostDeps), password);
25
20
  },
26
21
  async verifyPassword(password) {
27
- const storage = readBrowserLocalStorage();
28
- return storage ? access.verifyPassword(storage, password) : false;
22
+ return access.verifyPassword(backing, password);
29
23
  },
30
24
  clear() {
31
- const storage = readBrowserLocalStorage();
32
- if (storage)
33
- access.clear(storage);
25
+ access.clear(backing);
34
26
  },
35
27
  };
36
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserCloudDiskPrivacyStorageAccess.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAA;AAEpF,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,0CAA0C,CACxD,SAA8B;IAE9B,MAAM,MAAM,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAA;IAE7D,OAAO;QACL,SAAS;YACP,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACpD,CAAC;QACD,QAAQ;YACN,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClD,CAAC;QACD,QAAQ;YACN,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClD,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,QAAgB;YACjC,MAAM,MAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE,EAAE,QAAQ,CAAC,CAAA;QACnE,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,QAAgB;YACnC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACnE,CAAC;QACD,KAAK;YACH,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,IAAI,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createBrowserCloudDiskPrivacyStorageAccess.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EACjC,8BAA8B,GAE/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAA;AAGpF,MAAM,UAAU,0CAA0C,CACxD,SAA8B,EAC9B,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAkC,CAAA;IAEtD,OAAO;QACL,SAAS;YACP,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;QACD,QAAQ;YACN,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,QAAQ;YACN,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,QAAgB;YACjC,MAAM,MAAM,CAAC,YAAY,CACvB,8BAA8B,CAAC,QAAQ,CAAqB,EAC5D,QAAQ,CACT,CAAA;QACH,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,QAAgB;YACnC,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACjD,CAAC;QACD,KAAK;YACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { type ReadBrowserHostDeps } from '../browser/readBrowserHost';
1
2
  import { type CloudDiskQuickAccessEntry } from './cloudDiskQuickAccessStorage';
2
- export declare function createBrowserCloudDiskQuickAccessStorageAccess(getUserId: () => string | null): {
3
+ export declare function createBrowserCloudDiskQuickAccessStorageAccess(getUserId: () => string | null, hostDeps?: ReadBrowserHostDeps): {
3
4
  read(): CloudDiskQuickAccessEntry[];
4
5
  write(entries: readonly CloudDiskQuickAccessEntry[]): void;
5
6
  };
@@ -1,20 +1,16 @@
1
+ import { readBrowserHostDepsFromGlobalThis, } from '../browser/readBrowserHost.js';
2
+ import { createBrowserStringStorageKit } from '../storage/createBrowserStringStorageKit.js';
1
3
  import { createCloudDiskQuickAccessStorageAccess, } from './cloudDiskQuickAccessStorage.js';
2
- function readBrowserLocalStorage() {
3
- if (typeof globalThis === 'undefined')
4
- return null;
5
- return globalThis.localStorage ?? null;
6
- }
7
- export function createBrowserCloudDiskQuickAccessStorageAccess(getUserId) {
4
+ export function createBrowserCloudDiskQuickAccessStorageAccess(getUserId, hostDeps = readBrowserHostDepsFromGlobalThis()) {
5
+ const kit = createBrowserStringStorageKit(hostDeps);
8
6
  const access = createCloudDiskQuickAccessStorageAccess(getUserId);
7
+ const backing = kit.backingStorage;
9
8
  return {
10
9
  read() {
11
- const storage = readBrowserLocalStorage();
12
- return storage ? access.read(storage) : [];
10
+ return access.read(backing);
13
11
  },
14
12
  write(entries) {
15
- const storage = readBrowserLocalStorage();
16
- if (storage)
17
- access.write(storage, entries);
13
+ access.write(backing, entries);
18
14
  },
19
15
  };
20
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBrowserCloudDiskQuickAccessStorageAccess.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uCAAuC,GAExC,MAAM,+BAA+B,CAAA;AAEtC,SAAS,uBAAuB;IAC9B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAClD,OAAQ,UAAkD,CAAC,YAAY,IAAI,IAAI,CAAA;AACjF,CAAC;AAGD,MAAM,UAAU,8CAA8C,CAC5D,SAA8B;IAE9B,MAAM,MAAM,GAAG,uCAAuC,CAAC,SAAS,CAAC,CAAA;IAEjE,OAAO;QACL,IAAI;YACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5C,CAAC;QACD,KAAK,CAAC,OAA6C;YACjD,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;YACzC,IAAI,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createBrowserCloudDiskQuickAccessStorageAccess.js","sourceRoot":"","sources":["../../../src/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,GAElC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EACL,uCAAuC,GAExC,MAAM,+BAA+B,CAAA;AAGtC,MAAM,UAAU,8CAA8C,CAC5D,SAA8B,EAC9B,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,uCAAuC,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,cAAkC,CAAA;IAEtD,OAAO;QACL,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,OAA6C;YACjD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type AppTheme = 'light' | 'dark';
2
+ type ThemeElement = {
3
+ getAttribute(name: string): string | null;
4
+ setAttribute(name: string, value: string): void;
5
+ removeAttribute(name: string): void;
6
+ };
7
+ export declare function getAppTheme(target: ThemeElement): AppTheme;
8
+ export declare function setAppTheme(theme: AppTheme, target: ThemeElement): void;
9
+ export declare function clearAppTheme(target: ThemeElement): void;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ const THEME_ATTR = 'data-theme';
2
+ export function getAppTheme(target) {
3
+ return target.getAttribute(THEME_ATTR) === 'dark' ? 'dark' : 'light';
4
+ }
5
+ export function setAppTheme(theme, target) {
6
+ target.setAttribute(THEME_ATTR, theme);
7
+ }
8
+ export function clearAppTheme(target) {
9
+ target.removeAttribute(THEME_ATTR);
10
+ }
11
+ //# sourceMappingURL=appTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appTheme.js","sourceRoot":"","sources":["../../../src/functions/dom/appTheme.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;AACtE,CAAC;AAGD,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,MAAoB;IAC/D,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AACxC,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;AACpC,CAAC"}
@@ -1 +1,3 @@
1
- export declare function copyHtmlAndPlainToClipboard(html: string, plain: string): Promise<boolean>;
1
+ import { type DomClipboardDeps } from './readBrowserDomDeps';
2
+ export type CopyHtmlAndPlainToClipboardDeps = DomClipboardDeps;
3
+ export declare function copyHtmlAndPlainToClipboard(html: string, plain: string, deps?: CopyHtmlAndPlainToClipboardDeps): Promise<boolean>;
@@ -1,19 +1,23 @@
1
1
  import { copyTextToClipboard } from './copyTextToClipboard.js';
2
- export async function copyHtmlAndPlainToClipboard(html, plain) {
2
+ import { readBrowserDomClipboardDeps, } from './readBrowserDomDeps.js';
3
+ export async function copyHtmlAndPlainToClipboard(html, plain, deps) {
3
4
  const wireHtml = html.trim();
4
5
  const restorablePlain = plain.trim();
5
6
  if (!wireHtml && !restorablePlain)
6
7
  return false;
7
- const w = globalThis;
8
- const nav = w.navigator;
9
- const doc = w.document;
8
+ const resolved = deps ?? readBrowserDomClipboardDeps();
9
+ const nav = resolved?.navigator;
10
+ const doc = resolved?.document;
10
11
  const clipboard = nav?.clipboard;
11
- if (clipboard?.write && typeof w.ClipboardItem === 'function' && wireHtml && w.Blob) {
12
+ if (clipboard?.write &&
13
+ typeof resolved?.ClipboardItem === 'function' &&
14
+ wireHtml &&
15
+ resolved.Blob) {
12
16
  try {
13
17
  await clipboard.write([
14
- new w.ClipboardItem({
15
- 'text/html': new w.Blob([wireHtml], { type: 'text/html' }),
16
- 'text/plain': new w.Blob([restorablePlain || wireHtml], {
18
+ new resolved.ClipboardItem({
19
+ 'text/html': new resolved.Blob([wireHtml], { type: 'text/html' }),
20
+ 'text/plain': new resolved.Blob([restorablePlain || wireHtml], {
17
21
  type: 'text/plain',
18
22
  }),
19
23
  }),
@@ -24,7 +28,7 @@ export async function copyHtmlAndPlainToClipboard(html, plain) {
24
28
  }
25
29
  }
26
30
  if (wireHtml && doc?.body) {
27
- const sel = w.window?.getSelection?.() ?? null;
31
+ const sel = resolved?.getSelection?.() ?? null;
28
32
  const savedRanges = [];
29
33
  if (sel) {
30
34
  for (let i = 0; i < sel.rangeCount; i++) {
@@ -61,7 +65,7 @@ export async function copyHtmlAndPlainToClipboard(html, plain) {
61
65
  }
62
66
  }
63
67
  if (restorablePlain) {
64
- return copyTextToClipboard(restorablePlain);
68
+ return copyTextToClipboard(restorablePlain, resolved);
65
69
  }
66
70
  return false;
67
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copyHtmlAndPlainToClipboard.js","sourceRoot":"","sources":["../../../src/functions/dom/copyHtmlAndPlainToClipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copyHtmlAndPlainToClipboard.js","sourceRoot":"","sources":["../../../src/functions/dom/copyHtmlAndPlainToClipboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
- export declare function copyTextToClipboard(text: string): Promise<boolean>;
1
+ import { type DomClipboardDeps } from './readBrowserDomDeps';
2
+ export type CopyTextToClipboardDeps = Pick<DomClipboardDeps, 'document' | 'navigator'>;
3
+ export declare function copyTextToClipboard(text: string, deps?: CopyTextToClipboardDeps): Promise<boolean>;
@@ -1,9 +1,10 @@
1
- export async function copyTextToClipboard(text) {
1
+ import { readBrowserDomClipboardDeps, } from './readBrowserDomDeps.js';
2
+ export async function copyTextToClipboard(text, deps) {
2
3
  if (text === '')
3
4
  return false;
4
- const w = globalThis;
5
- const doc = w.document;
6
- const nav = w.navigator;
5
+ const resolved = deps ?? readBrowserDomClipboardDeps();
6
+ const doc = resolved?.document;
7
+ const nav = resolved?.navigator;
7
8
  if (!doc?.body)
8
9
  return false;
9
10
  if (nav?.clipboard?.writeText) {
@@ -1 +1 @@
1
- {"version":3,"file":"copyTextToClipboard.js","sourceRoot":"","sources":["../../../src/functions/dom/copyTextToClipboard.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7B,MAAM,CAAC,GAAG,UAAuE,CAAA;IACjF,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAA;IACtB,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAA;IACvB,IAAI,CAAC,GAAG,EAAE,IAAI;QAAE,OAAO,KAAK,CAAA;IAE5B,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QACxC,MAAM,CAAC,GAAG,EAOT,CAAA;QACD,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;QACd,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC,CAAC,KAAK,CAAC,OAAO;YACb,oHAAoH,CAAA;QACtH,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC,CAAC,KAAK,EAAE,CAAA;QACT,CAAC,CAAC,MAAM,EAAE,CAAA;QACV,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,EAAE,GAAI,GAAuB,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;QAClE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"copyTextToClipboard.js","sourceRoot":"","sources":["../../../src/functions/dom/copyTextToClipboard.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,GAE5B,MAAM,sBAAsB,CAAA;AAU7B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,IAA8B;IAE9B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,IAAI,2BAA2B,EAAE,CAAA;IACtD,MAAM,GAAG,GAAG,QAAQ,EAAE,QAAQ,CAAA;IAC9B,MAAM,GAAG,GAAG,QAAQ,EAAE,SAAS,CAAA;IAC/B,IAAI,CAAC,GAAG,EAAE,IAAI;QAAE,OAAO,KAAK,CAAA;IAE5B,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QACxC,MAAM,CAAC,GAAG,EAOT,CAAA;QACD,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;QACd,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC,CAAC,KAAK,CAAC,OAAO;YACb,oHAAoH,CAAA;QACtH,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC,CAAC,KAAK,EAAE,CAAA;QACT,CAAC,CAAC,MAAM,EAAE,CAAA;QACV,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,EAAE,GAAI,GAAuB,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;QAClE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type DomTimerDeps } from './readBrowserDomDeps';
2
+ export declare const TOOLTIP_LONG_PRESS_MS = 450;
3
+ export declare function createTooltipLongPressHandlers(options: {
4
+ enabled: () => boolean;
5
+ onLongPress: () => void;
6
+ deferCallbackUntilTouchEnd?: boolean;
7
+ }, deps?: DomTimerDeps): {
8
+ onTouchStart: (e: {
9
+ touches: ArrayLike<{
10
+ clientX: number;
11
+ clientY: number;
12
+ }>;
13
+ }) => void;
14
+ onTouchMove: (e: {
15
+ touches: ArrayLike<{
16
+ clientX: number;
17
+ clientY: number;
18
+ }>;
19
+ }) => void;
20
+ onTouchEnd: () => void;
21
+ onTouchCancel: () => void;
22
+ consumeSuppressClick: () => boolean;
23
+ clearTimer: () => void;
24
+ };