one 2.6.18 → 2.6.20

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 (294) hide show
  1. package/One.podspec +2 -0
  2. package/android/src/main/java/com/margelo/nitro/one/HybridOneDevice.kt +124 -0
  3. package/android/src/main/java/com/margelo/nitro/one/HybridOneHaptics.kt +31 -0
  4. package/android/src/main/java/com/margelo/nitro/one/HybridOneImageManipulator.kt +25 -5
  5. package/android/src/main/java/com/margelo/nitro/one/HybridOneKeepAwake.kt +34 -9
  6. package/android/src/main/java/com/margelo/nitro/one/HybridOneSecureStore.kt +269 -78
  7. package/dist/cjs/index.cjs +3 -0
  8. package/dist/cjs/index.native.cjs +3 -0
  9. package/dist/cjs/index.native.js +3 -0
  10. package/dist/cjs/index.native.js.map +1 -1
  11. package/dist/cjs/one.cjs +1 -0
  12. package/dist/cjs/one.native.cjs +1 -0
  13. package/dist/cjs/one.native.js +1 -0
  14. package/dist/cjs/one.native.js.map +1 -1
  15. package/dist/cjs/platform/extras.cjs +4 -0
  16. package/dist/cjs/platform/extras.native.cjs +4 -0
  17. package/dist/cjs/platform/extras.native.js +4 -0
  18. package/dist/cjs/platform/extras.native.js.map +1 -1
  19. package/dist/cjs/platform/haptics/index.cjs +3 -0
  20. package/dist/cjs/platform/haptics/index.native.cjs +4 -0
  21. package/dist/cjs/platform/haptics/index.native.js +4 -0
  22. package/dist/cjs/platform/haptics/index.native.js.map +1 -1
  23. package/dist/cjs/platform/haptics/validation.cjs +28 -0
  24. package/dist/cjs/platform/haptics/validation.native.cjs +28 -0
  25. package/dist/cjs/platform/haptics/validation.native.js +28 -0
  26. package/dist/cjs/platform/haptics/validation.native.js.map +1 -1
  27. package/dist/cjs/platform/image-manipulator/index.cjs +10 -3
  28. package/dist/cjs/platform/image-manipulator/index.native.cjs +1 -0
  29. package/dist/cjs/platform/image-manipulator/index.native.js +1 -0
  30. package/dist/cjs/platform/image-manipulator/index.native.js.map +1 -1
  31. package/dist/cjs/platform/index.cjs +1 -0
  32. package/dist/cjs/platform/index.native.cjs +1 -0
  33. package/dist/cjs/platform/index.native.js +1 -0
  34. package/dist/cjs/platform/index.native.js.map +1 -1
  35. package/dist/cjs/platform/keep-awake/index.cjs +53 -14
  36. package/dist/cjs/platform/keep-awake/index.native.cjs +29 -2
  37. package/dist/cjs/platform/keep-awake/index.native.js +29 -2
  38. package/dist/cjs/platform/keep-awake/index.native.js.map +1 -1
  39. package/dist/cjs/platform/keep-awake/unavailable.cjs +11 -1
  40. package/dist/cjs/platform/keep-awake/unavailable.native.cjs +11 -1
  41. package/dist/cjs/platform/keep-awake/unavailable.native.js +11 -1
  42. package/dist/cjs/platform/keep-awake/unavailable.native.js.map +1 -1
  43. package/dist/cjs/platform/keep-awake/validate.cjs +15 -1
  44. package/dist/cjs/platform/keep-awake/validate.native.cjs +15 -1
  45. package/dist/cjs/platform/keep-awake/validate.native.js +15 -1
  46. package/dist/cjs/platform/keep-awake/validate.native.js.map +1 -1
  47. package/dist/cjs/platform/localization/index.cjs +100 -0
  48. package/dist/cjs/platform/localization/index.native.cjs +71 -0
  49. package/dist/cjs/platform/localization/index.native.js +73 -0
  50. package/dist/cjs/platform/localization/index.native.js.map +1 -0
  51. package/dist/cjs/platform/localization/map.cjs +86 -0
  52. package/dist/cjs/platform/localization/map.native.cjs +90 -0
  53. package/dist/cjs/platform/localization/map.native.js +92 -0
  54. package/dist/cjs/platform/localization/map.native.js.map +1 -0
  55. package/dist/cjs/platform/localization/types.cjs +16 -0
  56. package/dist/cjs/platform/localization/types.native.cjs +18 -0
  57. package/dist/cjs/platform/localization/types.native.js +20 -0
  58. package/dist/cjs/platform/localization/types.native.js.map +1 -0
  59. package/dist/cjs/platform/secure-store/index.cjs +12 -6
  60. package/dist/cjs/platform/secure-store/index.native.cjs +18 -12
  61. package/dist/cjs/platform/secure-store/index.native.js +18 -12
  62. package/dist/cjs/platform/secure-store/index.native.js.map +1 -1
  63. package/dist/cjs/platform/secure-store/types.cjs +16 -0
  64. package/dist/cjs/platform/secure-store/types.native.cjs +18 -0
  65. package/dist/cjs/platform/secure-store/types.native.js +20 -0
  66. package/dist/cjs/platform/secure-store/types.native.js.map +1 -0
  67. package/dist/cjs/platform/secure-store/validate.cjs +34 -0
  68. package/dist/cjs/platform/secure-store/validate.native.cjs +34 -0
  69. package/dist/cjs/platform/secure-store/validate.native.js +34 -0
  70. package/dist/cjs/platform/secure-store/validate.native.js.map +1 -1
  71. package/dist/esm/index.js +2 -2
  72. package/dist/esm/index.mjs +2 -2
  73. package/dist/esm/index.native.js +2 -2
  74. package/dist/esm/one.mjs +2 -1
  75. package/dist/esm/one.mjs.map +1 -1
  76. package/dist/esm/one.native.js +2 -1
  77. package/dist/esm/one.native.js.map +1 -1
  78. package/dist/esm/platform/extras.mjs +2 -1
  79. package/dist/esm/platform/extras.native.js +2 -1
  80. package/dist/esm/platform/haptics/index.mjs +4 -1
  81. package/dist/esm/platform/haptics/index.mjs.map +1 -1
  82. package/dist/esm/platform/haptics/index.native.js +5 -1
  83. package/dist/esm/platform/haptics/index.native.js.map +1 -1
  84. package/dist/esm/platform/haptics/validation.mjs +27 -1
  85. package/dist/esm/platform/haptics/validation.mjs.map +1 -1
  86. package/dist/esm/platform/haptics/validation.native.js +27 -1
  87. package/dist/esm/platform/haptics/validation.native.js.map +1 -1
  88. package/dist/esm/platform/image-manipulator/index.mjs +10 -3
  89. package/dist/esm/platform/image-manipulator/index.mjs.map +1 -1
  90. package/dist/esm/platform/image-manipulator/index.native.js +1 -0
  91. package/dist/esm/platform/image-manipulator/index.native.js.map +1 -1
  92. package/dist/esm/platform/index.mjs +2 -2
  93. package/dist/esm/platform/index.mjs.map +1 -1
  94. package/dist/esm/platform/index.native.js +2 -2
  95. package/dist/esm/platform/index.native.js.map +1 -1
  96. package/dist/esm/platform/keep-awake/index.mjs +51 -15
  97. package/dist/esm/platform/keep-awake/index.mjs.map +1 -1
  98. package/dist/esm/platform/keep-awake/index.native.js +27 -3
  99. package/dist/esm/platform/keep-awake/index.native.js.map +1 -1
  100. package/dist/esm/platform/keep-awake/unavailable.mjs +12 -2
  101. package/dist/esm/platform/keep-awake/unavailable.mjs.map +1 -1
  102. package/dist/esm/platform/keep-awake/unavailable.native.js +12 -2
  103. package/dist/esm/platform/keep-awake/unavailable.native.js.map +1 -1
  104. package/dist/esm/platform/keep-awake/validate.mjs +10 -1
  105. package/dist/esm/platform/keep-awake/validate.mjs.map +1 -1
  106. package/dist/esm/platform/keep-awake/validate.native.js +10 -1
  107. package/dist/esm/platform/keep-awake/validate.native.js.map +1 -1
  108. package/dist/esm/platform/localization/index.mjs +77 -0
  109. package/dist/esm/platform/localization/index.mjs.map +1 -0
  110. package/dist/esm/platform/localization/index.native.js +46 -0
  111. package/dist/esm/platform/localization/index.native.js.map +1 -0
  112. package/dist/esm/platform/localization/map.mjs +59 -0
  113. package/dist/esm/platform/localization/map.mjs.map +1 -0
  114. package/dist/esm/platform/localization/map.native.js +61 -0
  115. package/dist/esm/platform/localization/map.native.js.map +1 -0
  116. package/dist/esm/platform/localization/types.mjs +0 -0
  117. package/dist/esm/platform/localization/types.native.js +0 -0
  118. package/dist/esm/platform/secure-store/index.mjs +13 -7
  119. package/dist/esm/platform/secure-store/index.mjs.map +1 -1
  120. package/dist/esm/platform/secure-store/index.native.js +19 -13
  121. package/dist/esm/platform/secure-store/index.native.js.map +1 -1
  122. package/dist/esm/platform/secure-store/types.mjs +0 -0
  123. package/dist/esm/platform/secure-store/types.native.js +0 -0
  124. package/dist/esm/platform/secure-store/validate.mjs +33 -1
  125. package/dist/esm/platform/secure-store/validate.mjs.map +1 -1
  126. package/dist/esm/platform/secure-store/validate.native.js +33 -1
  127. package/dist/esm/platform/secure-store/validate.native.js.map +1 -1
  128. package/ios/Nitro/HybridOneDevice.swift +117 -0
  129. package/ios/Nitro/HybridOneHaptics.swift +4 -0
  130. package/ios/Nitro/HybridOneImageManipulator.swift +25 -8
  131. package/ios/Nitro/HybridOneKeepAwake.swift +34 -2
  132. package/ios/Nitro/HybridOneSecureStore.swift +112 -46
  133. package/ios/Tests/ImageManipulator/Package.swift +12 -0
  134. package/ios/Tests/ImageManipulator/README.md +21 -0
  135. package/ios/Tests/ImageManipulator/Sources/NitroModules/Promise.swift +33 -0
  136. package/ios/Tests/ImageManipulator/Sources/OneImageManipulatorCore/Types.swift +41 -0
  137. package/ios/Tests/ImageManipulator/Sources/SDWebImageWebPCoder/SDImageWebPCoder.swift +23 -0
  138. package/nitrogen/generated/android/c++/JAndroidHaptic.hpp +109 -0
  139. package/nitrogen/generated/android/c++/JCalendarInfo.hpp +70 -0
  140. package/nitrogen/generated/android/c++/JHapticImpact.hpp +3 -3
  141. package/nitrogen/generated/android/c++/JHybridOneDeviceSpec.cpp +52 -0
  142. package/nitrogen/generated/android/c++/JHybridOneDeviceSpec.hpp +3 -0
  143. package/nitrogen/generated/android/c++/JHybridOneHapticsSpec.cpp +8 -0
  144. package/nitrogen/generated/android/c++/JHybridOneHapticsSpec.hpp +1 -0
  145. package/nitrogen/generated/android/c++/JHybridOneImageManipulatorSpec.cpp +5 -1
  146. package/nitrogen/generated/android/c++/JHybridOneKeepAwakeSpec.cpp +31 -0
  147. package/nitrogen/generated/android/c++/JHybridOneKeepAwakeSpec.hpp +2 -0
  148. package/nitrogen/generated/android/c++/JHybridOneSecureStoreSpec.cpp +26 -19
  149. package/nitrogen/generated/android/c++/JHybridOneSecureStoreSpec.hpp +6 -6
  150. package/nitrogen/generated/android/c++/JImageTransformOptions.hpp +7 -1
  151. package/nitrogen/generated/android/c++/JLocaleInfo.hpp +110 -0
  152. package/nitrogen/generated/android/c++/JOneImageFlip.hpp +58 -0
  153. package/nitrogen/generated/android/c++/JOneImageFormat.hpp +3 -0
  154. package/nitrogen/generated/android/c++/JSecureStoreAccessibility.hpp +73 -0
  155. package/nitrogen/generated/android/c++/JSecureStoreOptions.hpp +76 -0
  156. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AndroidHaptic.kt +40 -0
  157. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/CalendarInfo.kt +66 -0
  158. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HapticImpact.kt +2 -2
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneDeviceSpec.kt +17 -0
  160. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneHapticsSpec.kt +4 -0
  161. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneKeepAwakeSpec.kt +8 -0
  162. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneSecureStoreSpec.kt +6 -6
  163. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/ImageTransformOptions.kt +7 -2
  164. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/LocaleInfo.kt +116 -0
  165. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/OneImageFlip.kt +23 -0
  166. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/OneImageFormat.kt +2 -1
  167. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/SecureStoreAccessibility.kt +28 -0
  168. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/SecureStoreOptions.kt +71 -0
  169. package/nitrogen/generated/ios/One-Swift-Cxx-Bridge.hpp +133 -51
  170. package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +19 -1
  171. package/nitrogen/generated/ios/c++/HybridOneDeviceSpecSwift.hpp +31 -0
  172. package/nitrogen/generated/ios/c++/HybridOneHapticsSpecSwift.hpp +9 -0
  173. package/nitrogen/generated/ios/c++/HybridOneImageManipulatorSpecSwift.hpp +4 -1
  174. package/nitrogen/generated/ios/c++/HybridOneKeepAwakeSpecSwift.hpp +18 -1
  175. package/nitrogen/generated/ios/c++/HybridOneSecureStoreSpecSwift.hpp +18 -13
  176. package/nitrogen/generated/ios/swift/AndroidHaptic.swift +108 -0
  177. package/nitrogen/generated/ios/swift/CalendarInfo.swift +96 -0
  178. package/nitrogen/generated/ios/swift/HapticImpact.swift +4 -4
  179. package/nitrogen/generated/ios/swift/HybridOneDeviceSpec.swift +3 -0
  180. package/nitrogen/generated/ios/swift/HybridOneDeviceSpec_cxx.swift +56 -0
  181. package/nitrogen/generated/ios/swift/HybridOneHapticsSpec.swift +1 -0
  182. package/nitrogen/generated/ios/swift/HybridOneHapticsSpec_cxx.swift +11 -0
  183. package/nitrogen/generated/ios/swift/HybridOneKeepAwakeSpec.swift +3 -1
  184. package/nitrogen/generated/ios/swift/HybridOneKeepAwakeSpec_cxx.swift +41 -3
  185. package/nitrogen/generated/ios/swift/HybridOneSecureStoreSpec.swift +6 -6
  186. package/nitrogen/generated/ios/swift/HybridOneSecureStoreSpec_cxx.swift +12 -12
  187. package/nitrogen/generated/ios/swift/ImageTransformOptions.swift +16 -5
  188. package/nitrogen/generated/ios/swift/LocaleInfo.swift +250 -0
  189. package/nitrogen/generated/ios/swift/OneImageFlip.swift +40 -0
  190. package/nitrogen/generated/ios/swift/OneImageFormat.swift +4 -0
  191. package/nitrogen/generated/ios/swift/SecureStoreAccessibility.swift +60 -0
  192. package/nitrogen/generated/ios/swift/SecureStoreOptions.swift +107 -0
  193. package/nitrogen/generated/shared/c++/AndroidHaptic.hpp +144 -0
  194. package/nitrogen/generated/shared/c++/CalendarInfo.hpp +96 -0
  195. package/nitrogen/generated/shared/c++/HapticImpact.hpp +5 -5
  196. package/nitrogen/generated/shared/c++/HybridOneDeviceSpec.cpp +3 -0
  197. package/nitrogen/generated/shared/c++/HybridOneDeviceSpec.hpp +11 -0
  198. package/nitrogen/generated/shared/c++/HybridOneHapticsSpec.cpp +1 -0
  199. package/nitrogen/generated/shared/c++/HybridOneHapticsSpec.hpp +4 -0
  200. package/nitrogen/generated/shared/c++/HybridOneKeepAwakeSpec.cpp +2 -0
  201. package/nitrogen/generated/shared/c++/HybridOneKeepAwakeSpec.hpp +4 -1
  202. package/nitrogen/generated/shared/c++/HybridOneSecureStoreSpec.hpp +9 -7
  203. package/nitrogen/generated/shared/c++/ImageTransformOptions.hpp +8 -1
  204. package/nitrogen/generated/shared/c++/LocaleInfo.hpp +136 -0
  205. package/nitrogen/generated/shared/c++/OneImageFlip.hpp +76 -0
  206. package/nitrogen/generated/shared/c++/OneImageFormat.hpp +4 -0
  207. package/nitrogen/generated/shared/c++/SecureStoreAccessibility.hpp +96 -0
  208. package/nitrogen/generated/shared/c++/SecureStoreOptions.hpp +102 -0
  209. package/package.json +15 -15
  210. package/src/index.ts +3 -0
  211. package/src/one.test.ts +2 -0
  212. package/src/one.ts +3 -0
  213. package/src/platform/extras.ts +3 -0
  214. package/src/platform/haptics/index.native.ts +13 -3
  215. package/src/platform/haptics/index.ts +12 -3
  216. package/src/platform/haptics/types.ts +25 -0
  217. package/src/platform/haptics/validation.ts +31 -1
  218. package/src/platform/image-manipulator/index.native.ts +3 -0
  219. package/src/platform/image-manipulator/index.ts +10 -3
  220. package/src/platform/index.native.ts +3 -2
  221. package/src/platform/index.ts +3 -2
  222. package/src/platform/keep-awake/index.native.ts +31 -2
  223. package/src/platform/keep-awake/index.ts +66 -17
  224. package/src/platform/keep-awake/unavailable.ts +12 -2
  225. package/src/platform/keep-awake/validate.ts +16 -0
  226. package/src/platform/localization/index.native.ts +47 -0
  227. package/src/platform/localization/index.ts +90 -0
  228. package/src/platform/localization/map.ts +77 -0
  229. package/src/platform/localization/types.ts +36 -0
  230. package/src/platform/secure-store/index.native.ts +26 -13
  231. package/src/platform/secure-store/index.ts +20 -7
  232. package/src/platform/secure-store/types.ts +33 -0
  233. package/src/platform/secure-store/validate.ts +48 -0
  234. package/src/platform/specs/OneDevice.nitro.ts +34 -0
  235. package/src/platform/specs/OneHaptics.nitro.ts +4 -1
  236. package/src/platform/specs/OneImageManipulator.nitro.ts +4 -1
  237. package/src/platform/specs/OneKeepAwake.nitro.ts +2 -0
  238. package/src/platform/specs/OneSecureStore.nitro.ts +12 -8
  239. package/types/index.d.ts +1 -1
  240. package/types/index.d.ts.map +1 -1
  241. package/types/one.d.ts +2 -1
  242. package/types/one.d.ts.map +1 -1
  243. package/types/platform/extras.d.ts +3 -0
  244. package/types/platform/extras.d.ts.map +1 -1
  245. package/types/platform/haptics/index.d.ts +2 -2
  246. package/types/platform/haptics/index.d.ts.map +1 -1
  247. package/types/platform/haptics/index.native.d.ts +2 -2
  248. package/types/platform/haptics/index.native.d.ts.map +1 -1
  249. package/types/platform/haptics/types.d.ts +3 -0
  250. package/types/platform/haptics/types.d.ts.map +1 -1
  251. package/types/platform/haptics/validation.d.ts +3 -1
  252. package/types/platform/haptics/validation.d.ts.map +1 -1
  253. package/types/platform/image-manipulator/index.d.ts +1 -1
  254. package/types/platform/image-manipulator/index.d.ts.map +1 -1
  255. package/types/platform/image-manipulator/index.native.d.ts +1 -1
  256. package/types/platform/image-manipulator/index.native.d.ts.map +1 -1
  257. package/types/platform/index.d.ts +3 -3
  258. package/types/platform/index.d.ts.map +1 -1
  259. package/types/platform/index.native.d.ts +3 -3
  260. package/types/platform/index.native.d.ts.map +1 -1
  261. package/types/platform/keep-awake/index.d.ts +3 -0
  262. package/types/platform/keep-awake/index.d.ts.map +1 -1
  263. package/types/platform/keep-awake/index.native.d.ts +5 -0
  264. package/types/platform/keep-awake/index.native.d.ts.map +1 -1
  265. package/types/platform/keep-awake/unavailable.d.ts +4 -0
  266. package/types/platform/keep-awake/unavailable.d.ts.map +1 -1
  267. package/types/platform/keep-awake/validate.d.ts +3 -0
  268. package/types/platform/keep-awake/validate.d.ts.map +1 -1
  269. package/types/platform/localization/index.d.ts +7 -0
  270. package/types/platform/localization/index.d.ts.map +1 -0
  271. package/types/platform/localization/index.native.d.ts +7 -0
  272. package/types/platform/localization/index.native.d.ts.map +1 -0
  273. package/types/platform/localization/map.d.ts +9 -0
  274. package/types/platform/localization/map.d.ts.map +1 -0
  275. package/types/platform/localization/types.d.ts +31 -0
  276. package/types/platform/localization/types.d.ts.map +1 -0
  277. package/types/platform/secure-store/index.d.ts +8 -7
  278. package/types/platform/secure-store/index.d.ts.map +1 -1
  279. package/types/platform/secure-store/index.native.d.ts +8 -7
  280. package/types/platform/secure-store/index.native.d.ts.map +1 -1
  281. package/types/platform/secure-store/types.d.ts +24 -0
  282. package/types/platform/secure-store/types.d.ts.map +1 -0
  283. package/types/platform/secure-store/validate.d.ts +3 -0
  284. package/types/platform/secure-store/validate.d.ts.map +1 -1
  285. package/types/platform/specs/OneDevice.nitro.d.ts +25 -0
  286. package/types/platform/specs/OneDevice.nitro.d.ts.map +1 -1
  287. package/types/platform/specs/OneHaptics.nitro.d.ts +2 -1
  288. package/types/platform/specs/OneHaptics.nitro.d.ts.map +1 -1
  289. package/types/platform/specs/OneImageManipulator.nitro.d.ts +3 -1
  290. package/types/platform/specs/OneImageManipulator.nitro.d.ts.map +1 -1
  291. package/types/platform/specs/OneKeepAwake.nitro.d.ts +2 -0
  292. package/types/platform/specs/OneKeepAwake.nitro.d.ts.map +1 -1
  293. package/types/platform/specs/OneSecureStore.nitro.d.ts +8 -6
  294. package/types/platform/specs/OneSecureStore.nitro.d.ts.map +1 -1
@@ -20,7 +20,9 @@ var __copyProps = (to, from, except, desc) => {
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
  var validate_exports = {};
22
22
  __export(validate_exports, {
23
+ SECURE_STORE_ACCESSIBILITIES: () => SECURE_STORE_ACCESSIBILITIES,
23
24
  assertSecureStoreKey: () => assertSecureStoreKey,
25
+ assertSecureStoreOptions: () => assertSecureStoreOptions,
24
26
  assertSecureStoreValue: () => assertSecureStoreValue
25
27
  });
26
28
  module.exports = __toCommonJS(validate_exports);
@@ -34,3 +36,35 @@ function assertSecureStoreValue(value, verb) {
34
36
  throw new Error(`${verb}: value must be a string`);
35
37
  }
36
38
  }
39
+ const SECURE_STORE_ACCESSIBILITIES = [
40
+ "afterFirstUnlock",
41
+ "afterFirstUnlockThisDeviceOnly",
42
+ "always",
43
+ "alwaysThisDeviceOnly",
44
+ "whenPasscodeSetThisDeviceOnly",
45
+ "whenUnlocked",
46
+ "whenUnlockedThisDeviceOnly"
47
+ ];
48
+ function assertSecureStoreOptions(options, verb) {
49
+ if (options === void 0) return {};
50
+ if (typeof options !== "object" || options === null || Array.isArray(options)) {
51
+ throw new Error(`${verb}: options must be an object`);
52
+ }
53
+ const { keychainService, keychainAccessible, requireAuthentication, authenticationPrompt, accessGroup } = options;
54
+ if (keychainService !== void 0 && typeof keychainService !== "string") {
55
+ throw new Error(`${verb}: options.keychainService must be a string`);
56
+ }
57
+ if (keychainAccessible !== void 0 && !SECURE_STORE_ACCESSIBILITIES.includes(keychainAccessible)) {
58
+ throw new Error(`${verb}: options.keychainAccessible must be one of: ${SECURE_STORE_ACCESSIBILITIES.join(", ")}`);
59
+ }
60
+ if (requireAuthentication !== void 0 && typeof requireAuthentication !== "boolean") {
61
+ throw new Error(`${verb}: options.requireAuthentication must be a boolean`);
62
+ }
63
+ if (authenticationPrompt !== void 0 && typeof authenticationPrompt !== "string") {
64
+ throw new Error(`${verb}: options.authenticationPrompt must be a string`);
65
+ }
66
+ if (accessGroup !== void 0 && typeof accessGroup !== "string") {
67
+ throw new Error(`${verb}: options.accessGroup must be a string`);
68
+ }
69
+ return options;
70
+ }
@@ -22,7 +22,9 @@ var __copyProps = (to, from, except, desc) => {
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var validate_exports = {};
24
24
  __export(validate_exports, {
25
+ SECURE_STORE_ACCESSIBILITIES: () => SECURE_STORE_ACCESSIBILITIES,
25
26
  assertSecureStoreKey: () => assertSecureStoreKey,
27
+ assertSecureStoreOptions: () => assertSecureStoreOptions,
26
28
  assertSecureStoreValue: () => assertSecureStoreValue
27
29
  });
28
30
  module.exports = __toCommonJS(validate_exports);
@@ -36,3 +38,35 @@ function assertSecureStoreValue(value, verb) {
36
38
  throw new Error(`${verb}: value must be a string`);
37
39
  }
38
40
  }
41
+ var SECURE_STORE_ACCESSIBILITIES = [
42
+ "afterFirstUnlock",
43
+ "afterFirstUnlockThisDeviceOnly",
44
+ "always",
45
+ "alwaysThisDeviceOnly",
46
+ "whenPasscodeSetThisDeviceOnly",
47
+ "whenUnlocked",
48
+ "whenUnlockedThisDeviceOnly"
49
+ ];
50
+ function assertSecureStoreOptions(options, verb) {
51
+ if (options === void 0) return {};
52
+ if (typeof options !== "object" || options === null || Array.isArray(options)) {
53
+ throw new Error(`${verb}: options must be an object`);
54
+ }
55
+ var { keychainService, keychainAccessible, requireAuthentication, authenticationPrompt, accessGroup } = options;
56
+ if (keychainService !== void 0 && typeof keychainService !== "string") {
57
+ throw new Error(`${verb}: options.keychainService must be a string`);
58
+ }
59
+ if (keychainAccessible !== void 0 && !SECURE_STORE_ACCESSIBILITIES.includes(keychainAccessible)) {
60
+ throw new Error(`${verb}: options.keychainAccessible must be one of: ${SECURE_STORE_ACCESSIBILITIES.join(", ")}`);
61
+ }
62
+ if (requireAuthentication !== void 0 && typeof requireAuthentication !== "boolean") {
63
+ throw new Error(`${verb}: options.requireAuthentication must be a boolean`);
64
+ }
65
+ if (authenticationPrompt !== void 0 && typeof authenticationPrompt !== "string") {
66
+ throw new Error(`${verb}: options.authenticationPrompt must be a string`);
67
+ }
68
+ if (accessGroup !== void 0 && typeof accessGroup !== "string") {
69
+ throw new Error(`${verb}: options.accessGroup must be a string`);
70
+ }
71
+ return options;
72
+ }
@@ -22,7 +22,9 @@ var __copyProps = (to, from, except, desc) => {
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var validate_exports = {};
24
24
  __export(validate_exports, {
25
+ SECURE_STORE_ACCESSIBILITIES: () => SECURE_STORE_ACCESSIBILITIES,
25
26
  assertSecureStoreKey: () => assertSecureStoreKey,
27
+ assertSecureStoreOptions: () => assertSecureStoreOptions,
26
28
  assertSecureStoreValue: () => assertSecureStoreValue
27
29
  });
28
30
  module.exports = __toCommonJS(validate_exports);
@@ -36,5 +38,37 @@ function assertSecureStoreValue(value, verb) {
36
38
  throw new Error(`${verb}: value must be a string`);
37
39
  }
38
40
  }
41
+ var SECURE_STORE_ACCESSIBILITIES = [
42
+ "afterFirstUnlock",
43
+ "afterFirstUnlockThisDeviceOnly",
44
+ "always",
45
+ "alwaysThisDeviceOnly",
46
+ "whenPasscodeSetThisDeviceOnly",
47
+ "whenUnlocked",
48
+ "whenUnlockedThisDeviceOnly"
49
+ ];
50
+ function assertSecureStoreOptions(options, verb) {
51
+ if (options === void 0) return {};
52
+ if (typeof options !== "object" || options === null || Array.isArray(options)) {
53
+ throw new Error(`${verb}: options must be an object`);
54
+ }
55
+ var { keychainService, keychainAccessible, requireAuthentication, authenticationPrompt, accessGroup } = options;
56
+ if (keychainService !== void 0 && typeof keychainService !== "string") {
57
+ throw new Error(`${verb}: options.keychainService must be a string`);
58
+ }
59
+ if (keychainAccessible !== void 0 && !SECURE_STORE_ACCESSIBILITIES.includes(keychainAccessible)) {
60
+ throw new Error(`${verb}: options.keychainAccessible must be one of: ${SECURE_STORE_ACCESSIBILITIES.join(", ")}`);
61
+ }
62
+ if (requireAuthentication !== void 0 && typeof requireAuthentication !== "boolean") {
63
+ throw new Error(`${verb}: options.requireAuthentication must be a boolean`);
64
+ }
65
+ if (authenticationPrompt !== void 0 && typeof authenticationPrompt !== "string") {
66
+ throw new Error(`${verb}: options.authenticationPrompt must be a string`);
67
+ }
68
+ if (accessGroup !== void 0 && typeof accessGroup !== "string") {
69
+ throw new Error(`${verb}: options.accessGroup must be a string`);
70
+ }
71
+ return options;
72
+ }
39
73
 
40
74
  //# sourceMappingURL=validate.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.native.js","names":[],"sources":["cjs/platform/secure-store/validate.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar validate_exports = {};\n__export(validate_exports, {\n assertSecureStoreKey: () => assertSecureStoreKey,\n assertSecureStoreValue: () => assertSecureStoreValue\n});\nmodule.exports = __toCommonJS(validate_exports);\nfunction assertSecureStoreKey(key, verb) {\n if (typeof key !== \"string\" || key.length === 0) {\n throw new Error(`${verb}: key must be a non-empty string`);\n }\n}\nfunction assertSecureStoreValue(value, verb) {\n if (typeof value !== \"string\") {\n throw new Error(`${verb}: value must be a string`);\n }\n}\n//# sourceMappingURL=validate.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,mBAAmB,CAAC;AACxB,SAAS,kBAAkB;CACzB,4BAA4B;CAC5B,8BAA8B;AAChC,CAAC;AACD,OAAO,UAAU,aAAa,gBAAgB;AAC9C,SAAS,qBAAqB,KAAK,MAAM;CACvC,IAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,GAAG;EAC/C,MAAM,IAAI,MAAM,GAAG,KAAK,iCAAiC;CAC3D;AACF;AACA,SAAS,uBAAuB,OAAO,MAAM;CAC3C,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,IAAI,MAAM,GAAG,KAAK,yBAAyB;CACnD;AACF"}
1
+ {"version":3,"file":"validate.native.js","names":[],"sources":["cjs/platform/secure-store/validate.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar validate_exports = {};\n__export(validate_exports, {\n SECURE_STORE_ACCESSIBILITIES: () => SECURE_STORE_ACCESSIBILITIES,\n assertSecureStoreKey: () => assertSecureStoreKey,\n assertSecureStoreOptions: () => assertSecureStoreOptions,\n assertSecureStoreValue: () => assertSecureStoreValue\n});\nmodule.exports = __toCommonJS(validate_exports);\nfunction assertSecureStoreKey(key, verb) {\n if (typeof key !== \"string\" || key.length === 0) {\n throw new Error(`${verb}: key must be a non-empty string`);\n }\n}\nfunction assertSecureStoreValue(value, verb) {\n if (typeof value !== \"string\") {\n throw new Error(`${verb}: value must be a string`);\n }\n}\nvar SECURE_STORE_ACCESSIBILITIES = [\n \"afterFirstUnlock\",\n \"afterFirstUnlockThisDeviceOnly\",\n \"always\",\n \"alwaysThisDeviceOnly\",\n \"whenPasscodeSetThisDeviceOnly\",\n \"whenUnlocked\",\n \"whenUnlockedThisDeviceOnly\"\n];\nfunction assertSecureStoreOptions(options, verb) {\n if (options === void 0) return {};\n if (typeof options !== \"object\" || options === null || Array.isArray(options)) {\n throw new Error(`${verb}: options must be an object`);\n }\n var { keychainService, keychainAccessible, requireAuthentication, authenticationPrompt, accessGroup } = options;\n if (keychainService !== void 0 && typeof keychainService !== \"string\") {\n throw new Error(`${verb}: options.keychainService must be a string`);\n }\n if (keychainAccessible !== void 0 && !SECURE_STORE_ACCESSIBILITIES.includes(keychainAccessible)) {\n throw new Error(`${verb}: options.keychainAccessible must be one of: ${SECURE_STORE_ACCESSIBILITIES.join(\", \")}`);\n }\n if (requireAuthentication !== void 0 && typeof requireAuthentication !== \"boolean\") {\n throw new Error(`${verb}: options.requireAuthentication must be a boolean`);\n }\n if (authenticationPrompt !== void 0 && typeof authenticationPrompt !== \"string\") {\n throw new Error(`${verb}: options.authenticationPrompt must be a string`);\n }\n if (accessGroup !== void 0 && typeof accessGroup !== \"string\") {\n throw new Error(`${verb}: options.accessGroup must be a string`);\n }\n return options;\n}\n//# sourceMappingURL=validate.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,mBAAmB,CAAC;AACxB,SAAS,kBAAkB;CACzB,oCAAoC;CACpC,4BAA4B;CAC5B,gCAAgC;CAChC,8BAA8B;AAChC,CAAC;AACD,OAAO,UAAU,aAAa,gBAAgB;AAC9C,SAAS,qBAAqB,KAAK,MAAM;CACvC,IAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,GAAG;EAC/C,MAAM,IAAI,MAAM,GAAG,KAAK,iCAAiC;CAC3D;AACF;AACA,SAAS,uBAAuB,OAAO,MAAM;CAC3C,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,IAAI,MAAM,GAAG,KAAK,yBAAyB;CACnD;AACF;AACA,IAAI,+BAA+B;CACjC;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,yBAAyB,SAAS,MAAM;CAC/C,IAAI,YAAY,KAAK,GAAG,OAAO,CAAC;CAChC,IAAI,OAAO,YAAY,YAAY,YAAY,QAAQ,MAAM,QAAQ,OAAO,GAAG;EAC7E,MAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;CACtD;CACA,IAAI,EAAE,iBAAiB,oBAAoB,uBAAuB,sBAAsB,gBAAgB;CACxG,IAAI,oBAAoB,KAAK,KAAK,OAAO,oBAAoB,UAAU;EACrE,MAAM,IAAI,MAAM,GAAG,KAAK,2CAA2C;CACrE;CACA,IAAI,uBAAuB,KAAK,KAAK,CAAC,6BAA6B,SAAS,kBAAkB,GAAG;EAC/F,MAAM,IAAI,MAAM,GAAG,KAAK,+CAA+C,6BAA6B,KAAK,IAAI,GAAG;CAClH;CACA,IAAI,0BAA0B,KAAK,KAAK,OAAO,0BAA0B,WAAW;EAClF,MAAM,IAAI,MAAM,GAAG,KAAK,kDAAkD;CAC5E;CACA,IAAI,yBAAyB,KAAK,KAAK,OAAO,yBAAyB,UAAU;EAC/E,MAAM,IAAI,MAAM,GAAG,KAAK,gDAAgD;CAC1E;CACA,IAAI,gBAAgB,KAAK,KAAK,OAAO,gBAAgB,UAAU;EAC7D,MAAM,IAAI,MAAM,GAAG,KAAK,uCAAuC;CACjE;CACA,OAAO;AACT"}
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.mjs";
2
2
  import { One } from "./one.mjs";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useFonts, useHinge, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
3
+ import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.mjs";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.mjs";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.mjs";
2
2
  import { One } from "./one.mjs";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useFonts, useHinge, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
3
+ import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.mjs";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.mjs";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.native.js";
2
2
  import { One } from "./one.native.js";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useFonts, useHinge, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.native.js";
3
+ import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.native.js";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.native.js";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.native.js";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
package/dist/esm/one.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.mjs";
1
+ import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.mjs";
2
2
  import { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from "./safe-area-context/index.mjs";
3
3
 
4
4
  function currentPlatform() {
@@ -74,6 +74,7 @@ const One = Object.freeze({
74
74
  Purchases,
75
75
  ImageManipulator,
76
76
  Device,
77
+ Localization,
77
78
  Motion,
78
79
  BackgroundTasks,
79
80
  AppIntents,
@@ -1 +1 @@
1
- {"version":3,"file":"one.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.js"],"sourcesContent":["import {\n Auth,\n Browser as NativeBrowser,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n CameraView,\n Share,\n Open,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n WidgetUI,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n Clipboard as NativeClipboard,\n Barometer as NativeBarometer,\n LightSensor as NativeLightSensor,\n Pedometer as NativePedometer,\n Battery as NativeBattery,\n Brightness as NativeBrightness,\n SpeechSynthesis as NativeSpeechSynthesis,\n AppInfo,\n Color,\n Database,\n Compose,\n Fonts,\n DocumentPicker,\n Haptics,\n ImagePicker,\n LaunchScreen,\n MenuAction,\n Menu as NativeMenu,\n ContextMenu as NativeContextMenu,\n Notifications,\n Network as NativeNetwork,\n SecureStore as NativeSecureStore,\n Storage,\n Speech as NativeSpeech,\n Updates as NativeUpdates,\n SplitView,\n Swift,\n TextInput,\n ToolbarHost,\n ToolbarItem,\n UI as NativeUI,\n ReservedRegions,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n} from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n const defined = Reflect.get(globalThis, \"__ONE_PLATFORM__\") ?? (typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0);\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nconst iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nconst Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nconst SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nconst UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nconst One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AA6EA,SAAS,kBAAkB;CACzB,MAAM,UAAU,QAAQ,IAAI,YAAY,kBAAkB,MAAM,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjI,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,MAAM,MAAM,OAAO,OAAO;CACxB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,MAAM,UAAU,OAAO,OAAO;CAC5B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,MAAM,WAAW,OAAO,OAAO;CAC7B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,MAAMC,OAAK,OAAO,OAAO;CACvB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,MAAM,OAAO,OAAO;CACxB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
1
+ {"version":3,"file":"one.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.js"],"sourcesContent":["import {\n Auth,\n Browser as NativeBrowser,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n CameraView,\n Share,\n Open,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n WidgetUI,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n Clipboard as NativeClipboard,\n Barometer as NativeBarometer,\n LightSensor as NativeLightSensor,\n Pedometer as NativePedometer,\n Battery as NativeBattery,\n Brightness as NativeBrightness,\n SpeechSynthesis as NativeSpeechSynthesis,\n AppInfo,\n Color,\n Database,\n Compose,\n Fonts,\n DocumentPicker,\n Haptics,\n ImagePicker,\n LaunchScreen,\n MenuAction,\n Menu as NativeMenu,\n ContextMenu as NativeContextMenu,\n Notifications,\n Network as NativeNetwork,\n SecureStore as NativeSecureStore,\n Storage,\n Speech as NativeSpeech,\n Updates as NativeUpdates,\n SplitView,\n Swift,\n TextInput,\n ToolbarHost,\n ToolbarItem,\n UI as NativeUI,\n ReservedRegions,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n} from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n const defined = Reflect.get(globalThis, \"__ONE_PLATFORM__\") ?? (typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0);\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nconst iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nconst Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nconst SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nconst UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nconst One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AA8EA,SAAS,kBAAkB;CACzB,MAAM,UAAU,QAAQ,IAAI,YAAY,kBAAkB,MAAM,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjI,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,MAAM,MAAM,OAAO,OAAO;CACxB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,MAAM,UAAU,OAAO,OAAO;CAC5B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,MAAM,WAAW,OAAO,OAAO;CAC7B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,MAAMC,OAAK,OAAO,OAAO;CACvB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,MAAM,OAAO,OAAO;CACxB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.native.js";
1
+ import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.native.js";
2
2
  import { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from "./safe-area-context/index.native.js";
3
3
 
4
4
  function currentPlatform() {
@@ -75,6 +75,7 @@ var One = Object.freeze({
75
75
  Purchases,
76
76
  ImageManipulator,
77
77
  Device,
78
+ Localization,
78
79
  Motion,
79
80
  BackgroundTasks,
80
81
  AppIntents,
@@ -1 +1 @@
1
- {"version":3,"file":"one.native.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.native.js"],"sourcesContent":["import { Auth, Browser as NativeBrowser, Widgets, LiveActivities, LocalAuthentication, ProtectedStore, KeepAwake, Print, StoreReview, QuickActions, Location, FileSystem, Audio, CameraView, Share, Open, PhotoLibrary, MapServices, AppTracking, AppIcon, ScreenOrientation, ScreenCapture, Purchases, ImageManipulator, Device, Motion, BackgroundTasks, AppIntents, DeviceAttestation, Contacts, Calendar, WidgetUI, VNDocumentCameraViewController, DataScannerViewController, CNContactViewController, CNMutableContact, CNContactStore, MFMailComposeViewController, MFMessageComposeViewController, Clipboard as NativeClipboard, Barometer as NativeBarometer, LightSensor as NativeLightSensor, Pedometer as NativePedometer, Battery as NativeBattery, Brightness as NativeBrightness, SpeechSynthesis as NativeSpeechSynthesis, AppInfo, Color, Database, Compose, Fonts, DocumentPicker, Haptics, ImagePicker, LaunchScreen, MenuAction, Menu as NativeMenu, ContextMenu as NativeContextMenu, Notifications, Network as NativeNetwork, SecureStore as NativeSecureStore, Storage, Speech as NativeSpeech, Updates as NativeUpdates, SplitView, Swift, TextInput, ToolbarHost, ToolbarItem, UI as NativeUI, ReservedRegions, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n var _Reflect_get;\n var defined = (_Reflect_get = Reflect.get(globalThis, \"__ONE_PLATFORM__\")) !== null && _Reflect_get !== void 0 ? _Reflect_get : typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0;\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nvar iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nvar Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nvar SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nvar UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nvar One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AAEA,SAAS,kBAAkB;CACzB,IAAI;CACJ,IAAI,WAAW,eAAe,QAAQ,IAAI,YAAY,kBAAkB,OAAO,QAAQ,iBAAiB,KAAK,IAAI,eAAe,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjM,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,IAAI,MAAM,OAAO,OAAO;CACtB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,IAAI,UAAU,OAAO,OAAO;CAC1B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,IAAI,WAAW,OAAO,OAAO;CAC3B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,IAAIC,OAAK,OAAO,OAAO;CACrB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,MAAM,OAAO,OAAO;CACtB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
1
+ {"version":3,"file":"one.native.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.native.js"],"sourcesContent":["import { Auth, Browser as NativeBrowser, Widgets, LiveActivities, LocalAuthentication, ProtectedStore, KeepAwake, Print, StoreReview, QuickActions, Location, FileSystem, Audio, CameraView, Share, Open, PhotoLibrary, MapServices, AppTracking, AppIcon, ScreenOrientation, ScreenCapture, Purchases, ImageManipulator, Device, Localization, Motion, BackgroundTasks, AppIntents, DeviceAttestation, Contacts, Calendar, WidgetUI, VNDocumentCameraViewController, DataScannerViewController, CNContactViewController, CNMutableContact, CNContactStore, MFMailComposeViewController, MFMessageComposeViewController, Clipboard as NativeClipboard, Barometer as NativeBarometer, LightSensor as NativeLightSensor, Pedometer as NativePedometer, Battery as NativeBattery, Brightness as NativeBrightness, SpeechSynthesis as NativeSpeechSynthesis, AppInfo, Color, Database, Compose, Fonts, DocumentPicker, Haptics, ImagePicker, LaunchScreen, MenuAction, Menu as NativeMenu, ContextMenu as NativeContextMenu, Notifications, Network as NativeNetwork, SecureStore as NativeSecureStore, Storage, Speech as NativeSpeech, Updates as NativeUpdates, SplitView, Swift, TextInput, ToolbarHost, ToolbarItem, UI as NativeUI, ReservedRegions, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n var _Reflect_get;\n var defined = (_Reflect_get = Reflect.get(globalThis, \"__ONE_PLATFORM__\")) !== null && _Reflect_get !== void 0 ? _Reflect_get : typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0;\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nvar iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nvar Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nvar SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nvar UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nvar One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AAEA,SAAS,kBAAkB;CACzB,IAAI;CACJ,IAAI,WAAW,eAAe,QAAQ,IAAI,YAAY,kBAAkB,OAAO,QAAQ,iBAAiB,KAAK,IAAI,eAAe,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjM,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,IAAI,MAAM,OAAO,OAAO;CACtB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,IAAI,UAAU,OAAO,OAAO;CAC1B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,IAAI,WAAW,OAAO,OAAO;CAC3B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,IAAIC,OAAK,OAAO,OAAO;CACrB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,MAAM,OAAO,OAAO;CACtB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
@@ -15,8 +15,9 @@ import { SpeechSynthesis } from "./speech-synthesis/index.mjs";
15
15
  import { Browser } from "./browser/index.mjs";
16
16
  import { Updates } from "./updates/index.mjs";
17
17
  import { Network, useNetworkState } from "./network/index.mjs";
18
+ import { Localization, useCalendars, useLocales } from "./localization/index.mjs";
18
19
  import { SecureStore } from "./secure-store/index.mjs";
19
20
  import { Auth } from "./auth/index.mjs";
20
21
  import { Speech } from "./speech/index.mjs";
21
22
 
22
- export { Auth, Barometer, Battery, Brightness, Browser, Clipboard, Color, Fonts, LightSensor, MenuAction, Network, Pedometer, SecureStore, Speech, SpeechSynthesis, SplitView, ToolbarHost, ToolbarItem, Updates, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useFonts, useLowPowerMode, useNetworkState, usePowerState };
23
+ export { Auth, Barometer, Battery, Brightness, Browser, Clipboard, Color, Fonts, LightSensor, Localization, MenuAction, Network, Pedometer, SecureStore, Speech, SpeechSynthesis, SplitView, ToolbarHost, ToolbarItem, Updates, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useLocales, useLowPowerMode, useNetworkState, usePowerState };
@@ -15,8 +15,9 @@ import { SpeechSynthesis } from "./speech-synthesis/index.native.js";
15
15
  import { Browser } from "./browser/index.native.js";
16
16
  import { Updates } from "./updates/index.native.js";
17
17
  import { Network, useNetworkState } from "./network/index.native.js";
18
+ import { Localization, useCalendars, useLocales } from "./localization/index.native.js";
18
19
  import { SecureStore } from "./secure-store/index.native.js";
19
20
  import { Auth } from "./auth/index.native.js";
20
21
  import { Speech } from "./speech/index.native.js";
21
22
 
22
- export { Auth, Barometer, Battery, Brightness, Browser, Clipboard, Color, Fonts, LightSensor, MenuAction, Network, Pedometer, SecureStore, Speech, SpeechSynthesis, SplitView, ToolbarHost, ToolbarItem, Updates, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useFonts, useLowPowerMode, useNetworkState, usePowerState };
23
+ export { Auth, Barometer, Battery, Brightness, Browser, Clipboard, Color, Fonts, LightSensor, Localization, MenuAction, Network, Pedometer, SecureStore, Speech, SpeechSynthesis, SplitView, ToolbarHost, ToolbarItem, Updates, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useLocales, useLowPowerMode, useNetworkState, usePowerState };
@@ -1,4 +1,4 @@
1
- import { assertImpact, assertNotification } from "./validation.mjs";
1
+ import { assertAndroidHaptic, assertImpact, assertNotification } from "./validation.mjs";
2
2
 
3
3
  const Haptics = Object.freeze({
4
4
  selection() {},
@@ -7,6 +7,9 @@ const Haptics = Object.freeze({
7
7
  },
8
8
  notification(type) {
9
9
  assertNotification(type);
10
+ },
11
+ performAndroidHaptics(type) {
12
+ assertAndroidHaptic(type);
10
13
  }
11
14
  });
12
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["esm/platform/haptics/index.js"],"sourcesContent":["import { assertImpact, assertNotification } from \"./validation\";\nconst Haptics = Object.freeze({\n selection() {\n },\n impact(style) {\n assertImpact(style);\n },\n notification(type) {\n assertNotification(type);\n }\n});\nexport {\n Haptics\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,MAAM,UAAU,OAAO,OAAO;CAC5B,YAAY,CACZ;CACA,OAAO,OAAO;EACZ,aAAa,KAAK;CACpB;CACA,aAAa,MAAM;EACjB,mBAAmB,IAAI;CACzB;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/platform/haptics/index.js"],"sourcesContent":["import { assertAndroidHaptic, assertImpact, assertNotification } from \"./validation\";\nconst Haptics = Object.freeze({\n selection() {\n },\n impact(style) {\n assertImpact(style);\n },\n notification(type) {\n assertNotification(type);\n },\n performAndroidHaptics(type) {\n assertAndroidHaptic(type);\n }\n});\nexport {\n Haptics\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,MAAM,UAAU,OAAO,OAAO;CAC5B,YAAY,CACZ;CACA,OAAO,OAAO;EACZ,aAAa,KAAK;CACpB;CACA,aAAa,MAAM;EACjB,mBAAmB,IAAI;CACzB;CACA,sBAAsB,MAAM;EAC1B,oBAAoB,IAAI;CAC1B;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { NitroModules } from "react-native-nitro-modules";
2
- import { assertImpact, assertNotification } from "./validation.native.js";
2
+ import { assertAndroidHaptic, assertImpact, assertNotification } from "./validation.native.js";
3
3
 
4
4
  var hybrid;
5
5
  function native() {
@@ -17,6 +17,10 @@ var Haptics = Object.freeze({
17
17
  notification(type) {
18
18
  assertNotification(type);
19
19
  native().notification(type);
20
+ },
21
+ performAndroidHaptics(type) {
22
+ assertAndroidHaptic(type);
23
+ native().performAndroidHaptics(type);
20
24
  }
21
25
  });
22
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["esm/platform/haptics/index.native.js"],"sourcesContent":["import { NitroModules } from \"react-native-nitro-modules\";\nimport { assertImpact, assertNotification } from \"./validation\";\nvar hybrid;\nfunction native() {\n hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject(\"OneHaptics\");\n return hybrid;\n}\nvar Haptics = Object.freeze({\n selection() {\n native().selection();\n },\n impact(style) {\n assertImpact(style);\n native().impact(style);\n },\n notification(type) {\n assertNotification(type);\n native().notification(type);\n }\n});\nexport {\n Haptics\n};\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;;AAEA,IAAI;AACJ,SAAS,SAAS;CAChB,WAAW,QAAQ,WAAW,KAAK,IAAI,SAAS,SAAS,aAAa,mBAAmB,YAAY;CACrG,OAAO;AACT;AACA,IAAI,UAAU,OAAO,OAAO;CAC1B,YAAY;EACV,OAAO,CAAC,CAAC,UAAU;CACrB;CACA,OAAO,OAAO;EACZ,aAAa,KAAK;EAClB,OAAO,CAAC,CAAC,OAAO,KAAK;CACvB;CACA,aAAa,MAAM;EACjB,mBAAmB,IAAI;EACvB,OAAO,CAAC,CAAC,aAAa,IAAI;CAC5B;AACF,CAAC"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["esm/platform/haptics/index.native.js"],"sourcesContent":["import { NitroModules } from \"react-native-nitro-modules\";\nimport { assertAndroidHaptic, assertImpact, assertNotification } from \"./validation\";\nvar hybrid;\nfunction native() {\n hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject(\"OneHaptics\");\n return hybrid;\n}\nvar Haptics = Object.freeze({\n selection() {\n native().selection();\n },\n impact(style) {\n assertImpact(style);\n native().impact(style);\n },\n notification(type) {\n assertNotification(type);\n native().notification(type);\n },\n performAndroidHaptics(type) {\n assertAndroidHaptic(type);\n native().performAndroidHaptics(type);\n }\n});\nexport {\n Haptics\n};\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;;AAEA,IAAI;AACJ,SAAS,SAAS;CAChB,WAAW,QAAQ,WAAW,KAAK,IAAI,SAAS,SAAS,aAAa,mBAAmB,YAAY;CACrG,OAAO;AACT;AACA,IAAI,UAAU,OAAO,OAAO;CAC1B,YAAY;EACV,OAAO,CAAC,CAAC,UAAU;CACrB;CACA,OAAO,OAAO;EACZ,aAAa,KAAK;EAClB,OAAO,CAAC,CAAC,OAAO,KAAK;CACvB;CACA,aAAa,MAAM;EACjB,mBAAmB,IAAI;EACvB,OAAO,CAAC,CAAC,aAAa,IAAI;CAC5B;CACA,sBAAsB,MAAM;EAC1B,oBAAoB,IAAI;EACxB,OAAO,CAAC,CAAC,sBAAsB,IAAI;CACrC;AACF,CAAC"}
@@ -10,6 +10,32 @@ const NOTIFICATION_TYPES = [
10
10
  "warning",
11
11
  "error"
12
12
  ];
13
+ const ANDROID_HAPTICS = [
14
+ "clock-tick",
15
+ "confirm",
16
+ "context-click",
17
+ "drag-start",
18
+ "gesture-end",
19
+ "gesture-start",
20
+ "keyboard-press",
21
+ "keyboard-release",
22
+ "keyboard-tap",
23
+ "long-press",
24
+ "no-haptics",
25
+ "reject",
26
+ "segment-frequent-tick",
27
+ "segment-tick",
28
+ "text-handle-move",
29
+ "toggle-off",
30
+ "toggle-on",
31
+ "virtual-key",
32
+ "virtual-key-release"
33
+ ];
34
+ function assertAndroidHaptic(type) {
35
+ if (!ANDROID_HAPTICS.includes(type)) {
36
+ throw new TypeError(`One.Haptics.performAndroidHaptics: unknown type ${JSON.stringify(type)}. Expected one of: ${ANDROID_HAPTICS.join(", ")}.`);
37
+ }
38
+ }
13
39
  function assertImpact(style) {
14
40
  if (!IMPACT_STYLES.includes(style)) {
15
41
  throw new TypeError(`One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(", ")}.`);
@@ -21,5 +47,5 @@ function assertNotification(type) {
21
47
  }
22
48
  }
23
49
 
24
- export { IMPACT_STYLES, NOTIFICATION_TYPES, assertImpact, assertNotification };
50
+ export { ANDROID_HAPTICS, IMPACT_STYLES, NOTIFICATION_TYPES, assertAndroidHaptic, assertImpact, assertNotification };
25
51
  //# sourceMappingURL=validation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","names":[],"sources":["esm/platform/haptics/validation.js"],"sourcesContent":["const IMPACT_STYLES = [\n \"light\",\n \"medium\",\n \"heavy\",\n \"soft\",\n \"rigid\"\n];\nconst NOTIFICATION_TYPES = [\n \"success\",\n \"warning\",\n \"error\"\n];\nfunction assertImpact(style) {\n if (!IMPACT_STYLES.includes(style)) {\n throw new TypeError(\n `One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(\", \")}.`\n );\n }\n}\nfunction assertNotification(type) {\n if (!NOTIFICATION_TYPES.includes(type)) {\n throw new TypeError(\n `One.Haptics.notification: unknown type ${JSON.stringify(type)}. Expected one of: ${NOTIFICATION_TYPES.join(\", \")}.`\n );\n }\n}\nexport {\n IMPACT_STYLES,\n NOTIFICATION_TYPES,\n assertImpact,\n assertNotification\n};\n//# sourceMappingURL=validation.js.map\n"],"mappings":";AAAA,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,qBAAqB;CACzB;CACA;CACA;AACF;AACA,SAAS,aAAa,OAAO;CAC3B,IAAI,CAAC,cAAc,SAAS,KAAK,GAAG;EAClC,MAAM,IAAI,UACR,qCAAqC,KAAK,UAAU,KAAK,EAAE,qBAAqB,cAAc,KAAK,IAAI,EAAE,EAC3G;CACF;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,IAAI,CAAC,mBAAmB,SAAS,IAAI,GAAG;EACtC,MAAM,IAAI,UACR,0CAA0C,KAAK,UAAU,IAAI,EAAE,qBAAqB,mBAAmB,KAAK,IAAI,EAAE,EACpH;CACF;AACF"}
1
+ {"version":3,"file":"validation.js","names":[],"sources":["esm/platform/haptics/validation.js"],"sourcesContent":["const IMPACT_STYLES = [\n \"light\",\n \"medium\",\n \"heavy\",\n \"soft\",\n \"rigid\"\n];\nconst NOTIFICATION_TYPES = [\n \"success\",\n \"warning\",\n \"error\"\n];\nconst ANDROID_HAPTICS = [\n \"clock-tick\",\n \"confirm\",\n \"context-click\",\n \"drag-start\",\n \"gesture-end\",\n \"gesture-start\",\n \"keyboard-press\",\n \"keyboard-release\",\n \"keyboard-tap\",\n \"long-press\",\n \"no-haptics\",\n \"reject\",\n \"segment-frequent-tick\",\n \"segment-tick\",\n \"text-handle-move\",\n \"toggle-off\",\n \"toggle-on\",\n \"virtual-key\",\n \"virtual-key-release\"\n];\nfunction assertAndroidHaptic(type) {\n if (!ANDROID_HAPTICS.includes(type)) {\n throw new TypeError(\n `One.Haptics.performAndroidHaptics: unknown type ${JSON.stringify(type)}. Expected one of: ${ANDROID_HAPTICS.join(\", \")}.`\n );\n }\n}\nfunction assertImpact(style) {\n if (!IMPACT_STYLES.includes(style)) {\n throw new TypeError(\n `One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(\", \")}.`\n );\n }\n}\nfunction assertNotification(type) {\n if (!NOTIFICATION_TYPES.includes(type)) {\n throw new TypeError(\n `One.Haptics.notification: unknown type ${JSON.stringify(type)}. Expected one of: ${NOTIFICATION_TYPES.join(\", \")}.`\n );\n }\n}\nexport {\n ANDROID_HAPTICS,\n IMPACT_STYLES,\n NOTIFICATION_TYPES,\n assertAndroidHaptic,\n assertImpact,\n assertNotification\n};\n//# sourceMappingURL=validation.js.map\n"],"mappings":";AAAA,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,qBAAqB;CACzB;CACA;CACA;AACF;AACA,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,oBAAoB,MAAM;CACjC,IAAI,CAAC,gBAAgB,SAAS,IAAI,GAAG;EACnC,MAAM,IAAI,UACR,mDAAmD,KAAK,UAAU,IAAI,EAAE,qBAAqB,gBAAgB,KAAK,IAAI,EAAE,EAC1H;CACF;AACF;AACA,SAAS,aAAa,OAAO;CAC3B,IAAI,CAAC,cAAc,SAAS,KAAK,GAAG;EAClC,MAAM,IAAI,UACR,qCAAqC,KAAK,UAAU,KAAK,EAAE,qBAAqB,cAAc,KAAK,IAAI,EAAE,EAC3G;CACF;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,IAAI,CAAC,mBAAmB,SAAS,IAAI,GAAG;EACtC,MAAM,IAAI,UACR,0CAA0C,KAAK,UAAU,IAAI,EAAE,qBAAqB,mBAAmB,KAAK,IAAI,EAAE,EACpH;CACF;AACF"}
@@ -10,6 +10,32 @@ var NOTIFICATION_TYPES = [
10
10
  "warning",
11
11
  "error"
12
12
  ];
13
+ var ANDROID_HAPTICS = [
14
+ "clock-tick",
15
+ "confirm",
16
+ "context-click",
17
+ "drag-start",
18
+ "gesture-end",
19
+ "gesture-start",
20
+ "keyboard-press",
21
+ "keyboard-release",
22
+ "keyboard-tap",
23
+ "long-press",
24
+ "no-haptics",
25
+ "reject",
26
+ "segment-frequent-tick",
27
+ "segment-tick",
28
+ "text-handle-move",
29
+ "toggle-off",
30
+ "toggle-on",
31
+ "virtual-key",
32
+ "virtual-key-release"
33
+ ];
34
+ function assertAndroidHaptic(type) {
35
+ if (!ANDROID_HAPTICS.includes(type)) {
36
+ throw new TypeError(`One.Haptics.performAndroidHaptics: unknown type ${JSON.stringify(type)}. Expected one of: ${ANDROID_HAPTICS.join(", ")}.`);
37
+ }
38
+ }
13
39
  function assertImpact(style) {
14
40
  if (!IMPACT_STYLES.includes(style)) {
15
41
  throw new TypeError(`One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(", ")}.`);
@@ -21,5 +47,5 @@ function assertNotification(type) {
21
47
  }
22
48
  }
23
49
 
24
- export { IMPACT_STYLES, NOTIFICATION_TYPES, assertImpact, assertNotification };
50
+ export { ANDROID_HAPTICS, IMPACT_STYLES, NOTIFICATION_TYPES, assertAndroidHaptic, assertImpact, assertNotification };
25
51
  //# sourceMappingURL=validation.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.native.js","names":[],"sources":["esm/platform/haptics/validation.native.js"],"sourcesContent":["var IMPACT_STYLES = [\n \"light\",\n \"medium\",\n \"heavy\",\n \"soft\",\n \"rigid\"\n];\nvar NOTIFICATION_TYPES = [\n \"success\",\n \"warning\",\n \"error\"\n];\nfunction assertImpact(style) {\n if (!IMPACT_STYLES.includes(style)) {\n throw new TypeError(`One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(\", \")}.`);\n }\n}\nfunction assertNotification(type) {\n if (!NOTIFICATION_TYPES.includes(type)) {\n throw new TypeError(`One.Haptics.notification: unknown type ${JSON.stringify(type)}. Expected one of: ${NOTIFICATION_TYPES.join(\", \")}.`);\n }\n}\nexport {\n IMPACT_STYLES,\n NOTIFICATION_TYPES,\n assertImpact,\n assertNotification\n};\n//# sourceMappingURL=validation.js.map\n"],"mappings":";AAAA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,qBAAqB;CACvB;CACA;CACA;AACF;AACA,SAAS,aAAa,OAAO;CAC3B,IAAI,CAAC,cAAc,SAAS,KAAK,GAAG;EAClC,MAAM,IAAI,UAAU,qCAAqC,KAAK,UAAU,KAAK,EAAE,qBAAqB,cAAc,KAAK,IAAI,EAAE,EAAE;CACjI;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,IAAI,CAAC,mBAAmB,SAAS,IAAI,GAAG;EACtC,MAAM,IAAI,UAAU,0CAA0C,KAAK,UAAU,IAAI,EAAE,qBAAqB,mBAAmB,KAAK,IAAI,EAAE,EAAE;CAC1I;AACF"}
1
+ {"version":3,"file":"validation.native.js","names":[],"sources":["esm/platform/haptics/validation.native.js"],"sourcesContent":["var IMPACT_STYLES = [\n \"light\",\n \"medium\",\n \"heavy\",\n \"soft\",\n \"rigid\"\n];\nvar NOTIFICATION_TYPES = [\n \"success\",\n \"warning\",\n \"error\"\n];\nvar ANDROID_HAPTICS = [\n \"clock-tick\",\n \"confirm\",\n \"context-click\",\n \"drag-start\",\n \"gesture-end\",\n \"gesture-start\",\n \"keyboard-press\",\n \"keyboard-release\",\n \"keyboard-tap\",\n \"long-press\",\n \"no-haptics\",\n \"reject\",\n \"segment-frequent-tick\",\n \"segment-tick\",\n \"text-handle-move\",\n \"toggle-off\",\n \"toggle-on\",\n \"virtual-key\",\n \"virtual-key-release\"\n];\nfunction assertAndroidHaptic(type) {\n if (!ANDROID_HAPTICS.includes(type)) {\n throw new TypeError(`One.Haptics.performAndroidHaptics: unknown type ${JSON.stringify(type)}. Expected one of: ${ANDROID_HAPTICS.join(\", \")}.`);\n }\n}\nfunction assertImpact(style) {\n if (!IMPACT_STYLES.includes(style)) {\n throw new TypeError(`One.Haptics.impact: unknown style ${JSON.stringify(style)}. Expected one of: ${IMPACT_STYLES.join(\", \")}.`);\n }\n}\nfunction assertNotification(type) {\n if (!NOTIFICATION_TYPES.includes(type)) {\n throw new TypeError(`One.Haptics.notification: unknown type ${JSON.stringify(type)}. Expected one of: ${NOTIFICATION_TYPES.join(\", \")}.`);\n }\n}\nexport {\n ANDROID_HAPTICS,\n IMPACT_STYLES,\n NOTIFICATION_TYPES,\n assertAndroidHaptic,\n assertImpact,\n assertNotification\n};\n//# sourceMappingURL=validation.js.map\n"],"mappings":";AAAA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,qBAAqB;CACvB;CACA;CACA;AACF;AACA,IAAI,kBAAkB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,oBAAoB,MAAM;CACjC,IAAI,CAAC,gBAAgB,SAAS,IAAI,GAAG;EACnC,MAAM,IAAI,UAAU,mDAAmD,KAAK,UAAU,IAAI,EAAE,qBAAqB,gBAAgB,KAAK,IAAI,EAAE,EAAE;CAChJ;AACF;AACA,SAAS,aAAa,OAAO;CAC3B,IAAI,CAAC,cAAc,SAAS,KAAK,GAAG;EAClC,MAAM,IAAI,UAAU,qCAAqC,KAAK,UAAU,KAAK,EAAE,qBAAqB,cAAc,KAAK,IAAI,EAAE,EAAE;CACjI;AACF;AACA,SAAS,mBAAmB,MAAM;CAChC,IAAI,CAAC,mBAAmB,SAAS,IAAI,GAAG;EACtC,MAAM,IAAI,UAAU,0CAA0C,KAAK,UAAU,IAAI,EAAE,qBAAqB,mBAAmB,KAAK,IAAI,EAAE,EAAE;CAC1I;AACF"}
@@ -9,14 +9,19 @@ function size(width, height) {
9
9
  }
10
10
  async function transform(uri, options = {}) {
11
11
  if (typeof window === "undefined") throw missingNativeBuild("ImageManipulator.transform");
12
- const { crop, resize, rotate = 0, format = "jpeg", quality } = options;
13
- if (!["jpeg", "png"].includes(format) || ![
12
+ const { crop, resize, rotate = 0, flip, format = "jpeg", quality } = options;
13
+ if (![
14
+ "jpeg",
15
+ "png",
16
+ "webp"
17
+ ].includes(format) || ![
14
18
  0,
15
19
  90,
16
20
  180,
17
21
  270
18
22
  ].includes(rotate)) throw new Error("ImageManipulator.transform: invalid format or rotation");
19
- if (format === "png" && quality != null || quality != null && (!Number.isFinite(quality) || quality < 0 || quality > 1)) throw new Error("ImageManipulator.transform: quality applies only to JPEG and must be between 0 and 1");
23
+ if (flip != null && flip !== "horizontal" && flip !== "vertical") throw new Error("ImageManipulator.transform: flip must be 'horizontal' or 'vertical'");
24
+ if (format === "png" && quality != null || quality != null && (!Number.isFinite(quality) || quality < 0 || quality > 1)) throw new Error("ImageManipulator.transform: quality applies only to JPEG or WebP and must be between 0 and 1");
20
25
  const image = new window.Image();
21
26
  image.crossOrigin = "anonymous";
22
27
  image.src = uri;
@@ -36,6 +41,8 @@ async function transform(uri, options = {}) {
36
41
  const context = canvas.getContext("2d");
37
42
  if (!context) throw new Error("ImageManipulator.transform: canvas is unavailable");
38
43
  context.translate(canvas.width / 2, canvas.height / 2);
44
+ if (flip === "horizontal") context.scale(-1, 1);
45
+ else if (flip === "vertical") context.scale(1, -1);
39
46
  context.rotate(rotate * Math.PI / 180);
40
47
  let source = image;
41
48
  if (crop) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["esm/platform/image-manipulator/index.js"],"sourcesContent":["import { missingNativeBuild } from \"../nativeError\";\nfunction pixels(value, zero = false) {\n if (!Number.isInteger(value) || value < (zero ? 0 : 1) || value > 1e5)\n throw new Error(\"ImageManipulator.transform: expected a whole pixel count\");\n return value;\n}\nfunction size(width, height) {\n if (width > 1e4 || height > 1e4 || width * height > 25e6)\n throw new Error(\n \"ImageManipulator.transform: output is limited to 25 megapixels and 10,000 pixels per side\"\n );\n}\nasync function transform(uri, options = {}) {\n if (typeof window === \"undefined\")\n throw missingNativeBuild(\"ImageManipulator.transform\");\n const { crop, resize, rotate = 0, format = \"jpeg\", quality } = options;\n if (![\"jpeg\", \"png\"].includes(format) || ![0, 90, 180, 270].includes(rotate))\n throw new Error(\"ImageManipulator.transform: invalid format or rotation\");\n if (format === \"png\" && quality != null || quality != null && (!Number.isFinite(quality) || quality < 0 || quality > 1))\n throw new Error(\n \"ImageManipulator.transform: quality applies only to JPEG and must be between 0 and 1\"\n );\n const image = new window.Image();\n image.crossOrigin = \"anonymous\";\n image.src = uri;\n await image.decode();\n const x = pixels(crop?.x ?? 0, true), y = pixels(crop?.y ?? 0, true);\n const cw = pixels(crop?.width ?? image.naturalWidth), ch = pixels(crop?.height ?? image.naturalHeight);\n if (x + cw > image.naturalWidth || y + ch > image.naturalHeight)\n throw new Error(\"ImageManipulator.transform: crop must fit inside the source image\");\n if (resize && resize.width == null && resize.height == null)\n throw new Error(\"ImageManipulator.transform: resize needs a width or height\");\n let width = resize?.width == null ? cw : pixels(resize.width);\n let height = resize?.height == null ? ch : pixels(resize.height);\n if (resize?.width == null && resize?.height != null)\n width = Math.max(1, Math.round(cw * height / ch));\n if (resize?.height == null && resize?.width != null)\n height = Math.max(1, Math.round(ch * width / cw));\n size(width, height);\n const canvas = document.createElement(\"canvas\");\n canvas.width = rotate === 90 || rotate === 270 ? height : width;\n canvas.height = rotate === 90 || rotate === 270 ? width : height;\n const context = canvas.getContext(\"2d\");\n if (!context) throw new Error(\"ImageManipulator.transform: canvas is unavailable\");\n context.translate(canvas.width / 2, canvas.height / 2);\n context.rotate(rotate * Math.PI / 180);\n let source = image;\n if (crop) {\n const cropped = document.createElement(\"canvas\");\n cropped.width = cw;\n cropped.height = ch;\n const cropContext = cropped.getContext(\"2d\");\n if (!cropContext) throw new Error(\"ImageManipulator.transform: canvas is unavailable\");\n cropContext.drawImage(image, x, y, cw, ch, 0, 0, cw, ch);\n source = cropped;\n }\n context.drawImage(source, -width / 2, -height / 2, width, height);\n const blob = await new Promise(\n (resolve, reject) => canvas.toBlob(\n (value) => value ? resolve(value) : reject(new Error(\"ImageManipulator.transform: encoding failed\")),\n `image/${format}`,\n quality ?? 0.9\n )\n );\n return {\n uri: URL.createObjectURL(blob),\n width: canvas.width,\n height: canvas.height,\n size: blob.size\n };\n}\nconst ImageManipulator = Object.freeze({ transform });\nexport {\n ImageManipulator\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/platform/image-manipulator/index.js"],"sourcesContent":["import { missingNativeBuild } from \"../nativeError\";\nfunction pixels(value, zero = false) {\n if (!Number.isInteger(value) || value < (zero ? 0 : 1) || value > 1e5)\n throw new Error(\"ImageManipulator.transform: expected a whole pixel count\");\n return value;\n}\nfunction size(width, height) {\n if (width > 1e4 || height > 1e4 || width * height > 25e6)\n throw new Error(\n \"ImageManipulator.transform: output is limited to 25 megapixels and 10,000 pixels per side\"\n );\n}\nasync function transform(uri, options = {}) {\n if (typeof window === \"undefined\")\n throw missingNativeBuild(\"ImageManipulator.transform\");\n const { crop, resize, rotate = 0, flip, format = \"jpeg\", quality } = options;\n if (![\"jpeg\", \"png\", \"webp\"].includes(format) || ![0, 90, 180, 270].includes(rotate))\n throw new Error(\"ImageManipulator.transform: invalid format or rotation\");\n if (flip != null && flip !== \"horizontal\" && flip !== \"vertical\")\n throw new Error(\"ImageManipulator.transform: flip must be 'horizontal' or 'vertical'\");\n if (format === \"png\" && quality != null || quality != null && (!Number.isFinite(quality) || quality < 0 || quality > 1))\n throw new Error(\n \"ImageManipulator.transform: quality applies only to JPEG or WebP and must be between 0 and 1\"\n );\n const image = new window.Image();\n image.crossOrigin = \"anonymous\";\n image.src = uri;\n await image.decode();\n const x = pixels(crop?.x ?? 0, true), y = pixels(crop?.y ?? 0, true);\n const cw = pixels(crop?.width ?? image.naturalWidth), ch = pixels(crop?.height ?? image.naturalHeight);\n if (x + cw > image.naturalWidth || y + ch > image.naturalHeight)\n throw new Error(\"ImageManipulator.transform: crop must fit inside the source image\");\n if (resize && resize.width == null && resize.height == null)\n throw new Error(\"ImageManipulator.transform: resize needs a width or height\");\n let width = resize?.width == null ? cw : pixels(resize.width);\n let height = resize?.height == null ? ch : pixels(resize.height);\n if (resize?.width == null && resize?.height != null)\n width = Math.max(1, Math.round(cw * height / ch));\n if (resize?.height == null && resize?.width != null)\n height = Math.max(1, Math.round(ch * width / cw));\n size(width, height);\n const canvas = document.createElement(\"canvas\");\n canvas.width = rotate === 90 || rotate === 270 ? height : width;\n canvas.height = rotate === 90 || rotate === 270 ? width : height;\n const context = canvas.getContext(\"2d\");\n if (!context) throw new Error(\"ImageManipulator.transform: canvas is unavailable\");\n context.translate(canvas.width / 2, canvas.height / 2);\n if (flip === \"horizontal\") context.scale(-1, 1);\n else if (flip === \"vertical\") context.scale(1, -1);\n context.rotate(rotate * Math.PI / 180);\n let source = image;\n if (crop) {\n const cropped = document.createElement(\"canvas\");\n cropped.width = cw;\n cropped.height = ch;\n const cropContext = cropped.getContext(\"2d\");\n if (!cropContext) throw new Error(\"ImageManipulator.transform: canvas is unavailable\");\n cropContext.drawImage(image, x, y, cw, ch, 0, 0, cw, ch);\n source = cropped;\n }\n context.drawImage(source, -width / 2, -height / 2, width, height);\n const blob = await new Promise(\n (resolve, reject) => canvas.toBlob(\n (value) => value ? resolve(value) : reject(new Error(\"ImageManipulator.transform: encoding failed\")),\n `image/${format}`,\n quality ?? 0.9\n )\n );\n return {\n uri: URL.createObjectURL(blob),\n width: canvas.width,\n height: canvas.height,\n size: blob.size\n };\n}\nconst ImageManipulator = Object.freeze({ transform });\nexport {\n ImageManipulator\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ function native() {
9
9
  function transform(uri) {
10
10
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
11
11
  var _options_format;
12
+ if (options.flip != null && options.flip !== "horizontal" && options.flip !== "vertical") throw new Error("ImageManipulator.transform: flip must be 'horizontal' or 'vertical'");
12
13
  return native().transform(uri, {
13
14
  ...options,
14
15
  format: (_options_format = options.format) !== null && _options_format !== void 0 ? _options_format : "jpeg"
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["esm/platform/image-manipulator/index.native.js"],"sourcesContent":["import { NitroModules } from \"react-native-nitro-modules\";\nimport { rethrowNativeError } from \"../nativeError\";\nvar hybrid;\nfunction native() {\n hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject(\"OneImageManipulator\");\n return hybrid;\n}\nfunction transform(uri) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _options_format;\n return native().transform(uri, {\n ...options,\n format: (_options_format = options.format) !== null && _options_format !== void 0 ? _options_format : \"jpeg\"\n }).catch(rethrowNativeError);\n}\nvar ImageManipulator = Object.freeze({\n transform\n});\nexport {\n ImageManipulator\n};\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;;AAEA,IAAI;AACJ,SAAS,SAAS;CAChB,WAAW,QAAQ,WAAW,KAAK,IAAI,SAAS,SAAS,aAAa,mBAAmB,qBAAqB;CAC9G,OAAO;AACT;AACA,SAAS,UAAU,KAAK;CACtB,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAChF,IAAI;CACJ,OAAO,OAAO,CAAC,CAAC,UAAU,KAAK;EAC7B,GAAG;EACH,SAAS,kBAAkB,QAAQ,YAAY,QAAQ,oBAAoB,KAAK,IAAI,kBAAkB;CACxG,CAAC,CAAC,CAAC,MAAM,kBAAkB;AAC7B;AACA,IAAI,mBAAmB,OAAO,OAAO,EACnC,UACF,CAAC"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["esm/platform/image-manipulator/index.native.js"],"sourcesContent":["import { NitroModules } from \"react-native-nitro-modules\";\nimport { rethrowNativeError } from \"../nativeError\";\nvar hybrid;\nfunction native() {\n hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject(\"OneImageManipulator\");\n return hybrid;\n}\nfunction transform(uri) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _options_format;\n if (options.flip != null && options.flip !== \"horizontal\" && options.flip !== \"vertical\") throw new Error(\"ImageManipulator.transform: flip must be 'horizontal' or 'vertical'\");\n return native().transform(uri, {\n ...options,\n format: (_options_format = options.format) !== null && _options_format !== void 0 ? _options_format : \"jpeg\"\n }).catch(rethrowNativeError);\n}\nvar ImageManipulator = Object.freeze({\n transform\n});\nexport {\n ImageManipulator\n};\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;;AAEA,IAAI;AACJ,SAAS,SAAS;CAChB,WAAW,QAAQ,WAAW,KAAK,IAAI,SAAS,SAAS,aAAa,mBAAmB,qBAAqB;CAC9G,OAAO;AACT;AACA,SAAS,UAAU,KAAK;CACtB,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAChF,IAAI;CACJ,IAAI,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,gBAAgB,QAAQ,SAAS,YAAY,MAAM,IAAI,MAAM,qEAAqE;CAC/K,OAAO,OAAO,CAAC,CAAC,UAAU,KAAK;EAC7B,GAAG;EACH,SAAS,kBAAkB,QAAQ,YAAY,QAAQ,oBAAoB,KAAK,IAAI,kBAAkB;CACxG,CAAC,CAAC,CAAC,MAAM,kBAAkB;AAC7B;AACA,IAAI,mBAAmB,OAAO,OAAO,EACnC,UACF,CAAC"}
@@ -11,7 +11,7 @@ import { LaunchScreen } from "./launchScreen/index.mjs";
11
11
  import { LocalAuthentication } from "./local-authentication/index.mjs";
12
12
  import { ProtectedStore } from "./protected-store/index.mjs";
13
13
  import { Storage } from "./storage/index.mjs";
14
- import { KeepAwake } from "./keep-awake/index.mjs";
14
+ import { KeepAwake, useKeepAwake } from "./keep-awake/index.mjs";
15
15
  import { Print } from "./print/index.mjs";
16
16
  import { StoreReview } from "./store-review/index.mjs";
17
17
  import { QuickActions } from "./quick-actions/index.mjs";
@@ -52,5 +52,5 @@ export * from "./extras.mjs"
52
52
  const Menu = Swift.Menu;
53
53
  const ContextMenu = Swift.ContextMenu;
54
54
 
55
- export { AppIcon, AppInfo, AppIntents, AppTracking, Audio, BackgroundTasks, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LiveActivities, LocalAuthentication, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, Motion, Notifications, Open, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, Share, Storage, StoreReview, TextInput, UI, VNDocumentCameraViewController, WidgetUI, Widgets, getHinge, getSizeClass, onHingeChange, useHinge, useNativeState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments };
55
+ export { AppIcon, AppInfo, AppIntents, AppTracking, Audio, BackgroundTasks, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LiveActivities, LocalAuthentication, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, Motion, Notifications, Open, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, Share, Storage, StoreReview, TextInput, UI, VNDocumentCameraViewController, WidgetUI, Widgets, getHinge, getSizeClass, onHingeChange, useHinge, useKeepAwake, useNativeState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments };
56
56
  //# sourceMappingURL=index.mjs.map