@hanzogui/react-native-web-internals 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/StyleSheet/__tests__/compiler-createReactDOMStyle-test.cjs +240 -0
  3. package/dist/cjs/StyleSheet/__tests__/compiler-test.cjs +407 -0
  4. package/dist/cjs/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.cjs +121 -0
  5. package/dist/cjs/StyleSheet/__tests__/index-test.cjs +404 -0
  6. package/dist/cjs/StyleSheet/__tests__/preprocess-test.cjs +108 -0
  7. package/dist/cjs/StyleSheet/__tests__/validate-test.cjs +36 -0
  8. package/dist/cjs/StyleSheet/compiler/createReactDOMStyle.cjs +87 -0
  9. package/dist/cjs/StyleSheet/compiler/hash.cjs +26 -0
  10. package/dist/cjs/StyleSheet/compiler/hyphenateStyleName.cjs +36 -0
  11. package/dist/cjs/StyleSheet/compiler/index.cjs +318 -0
  12. package/dist/cjs/StyleSheet/compiler/normalizeColor.cjs +40 -0
  13. package/dist/cjs/StyleSheet/compiler/normalizeValueWithProperty.cjs +43 -0
  14. package/dist/cjs/StyleSheet/compiler/resolveShadowValue.cjs +48 -0
  15. package/dist/cjs/StyleSheet/dom/createCSSStyleSheet.cjs +37 -0
  16. package/dist/cjs/StyleSheet/dom/createOrderedCSSStyleSheet.cjs +110 -0
  17. package/dist/cjs/StyleSheet/dom/index.cjs +67 -0
  18. package/dist/cjs/StyleSheet/index.cjs +57 -0
  19. package/dist/cjs/StyleSheet/preprocess.cjs +101 -0
  20. package/dist/cjs/StyleSheet/validate.cjs +69 -0
  21. package/dist/cjs/TextAncestorContext.cjs +27 -0
  22. package/dist/cjs/colorProps.cjs +37 -0
  23. package/dist/cjs/index.cjs +103 -0
  24. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.cjs +50 -0
  25. package/dist/cjs/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.cjs +40 -0
  26. package/dist/cjs/modules/AccessibilityUtil/index.cjs +33 -0
  27. package/dist/cjs/modules/AccessibilityUtil/isDisabled.cjs +26 -0
  28. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.cjs +57 -0
  29. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.cjs +47 -0
  30. package/dist/cjs/modules/AssetRegistry/index.cjs +33 -0
  31. package/dist/cjs/modules/ImageLoader/index.cjs +111 -0
  32. package/dist/cjs/modules/InteractionManager.cjs +184 -0
  33. package/dist/cjs/modules/Platform/__tests__/index-test.cjs +48 -0
  34. package/dist/cjs/modules/Platform/index.cjs +30 -0
  35. package/dist/cjs/modules/TextInputState/index.cjs +55 -0
  36. package/dist/cjs/modules/UIManager/__tests__/index-test.cjs +90 -0
  37. package/dist/cjs/modules/UIManager/index.cjs +60 -0
  38. package/dist/cjs/modules/canUseDOM.cjs +26 -0
  39. package/dist/cjs/modules/createDOMProps/__tests__/index-test.cjs +156 -0
  40. package/dist/cjs/modules/createDOMProps/index.cjs +179 -0
  41. package/dist/cjs/modules/createEventHandle/__tests__/index-test.cjs +344 -0
  42. package/dist/cjs/modules/createEventHandle/index.cjs +67 -0
  43. package/dist/cjs/modules/dismissKeyboard/index.cjs +29 -0
  44. package/dist/cjs/modules/forwardedProps/index.cjs +161 -0
  45. package/dist/cjs/modules/getBoundingClientRect/index.cjs +28 -0
  46. package/dist/cjs/modules/invariant.cjs +36 -0
  47. package/dist/cjs/modules/isSelectionValid/index.cjs +35 -0
  48. package/dist/cjs/modules/isWebColor/index.cjs +26 -0
  49. package/dist/cjs/modules/mergeRefs/__tests__/index-test.cjs +42 -0
  50. package/dist/cjs/modules/mergeRefs/index.cjs +42 -0
  51. package/dist/cjs/modules/modality/__tests__/index-test.cjs +32 -0
  52. package/dist/cjs/modules/modality/index.cjs +135 -0
  53. package/dist/cjs/modules/multiplyStyleLengthValue/__tests__/index-test.cjs +30 -0
  54. package/dist/cjs/modules/multiplyStyleLengthValue/index.cjs +35 -0
  55. package/dist/cjs/modules/normalizeColor/index.cjs +39 -0
  56. package/dist/cjs/modules/pick/index.cjs +30 -0
  57. package/dist/cjs/modules/processColor/__tests__/index-test.cjs +66 -0
  58. package/dist/cjs/modules/processColor/index.cjs +42 -0
  59. package/dist/cjs/modules/requestIdleCallback/index.cjs +44 -0
  60. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.cjs +35 -0
  61. package/dist/cjs/modules/setValueForStyles/index.cjs +35 -0
  62. package/dist/cjs/modules/unitlessNumbers/index.cjs +85 -0
  63. package/dist/cjs/modules/useElementLayout/index.cjs +39 -0
  64. package/dist/cjs/modules/useEvent/__tests__/index-test.cjs +408 -0
  65. package/dist/cjs/modules/useEvent/index.cjs +45 -0
  66. package/dist/cjs/modules/useHover/__tests__/index-test.cjs +273 -0
  67. package/dist/cjs/modules/useHover/index.cjs +97 -0
  68. package/dist/cjs/modules/useLayoutEffect/index.cjs +39 -0
  69. package/dist/cjs/modules/useLocale/index.cjs +66 -0
  70. package/dist/cjs/modules/useLocale/isLocaleRTL.cjs +83 -0
  71. package/dist/cjs/modules/useMergeRefs/__tests__/index-test.cjs +102 -0
  72. package/dist/cjs/modules/useMergeRefs/index.cjs +43 -0
  73. package/dist/cjs/modules/usePlatformMethods/index.cjs +35 -0
  74. package/dist/cjs/modules/useStable/__tests__/index-test.cjs +92 -0
  75. package/dist/cjs/modules/useStable/index.cjs +42 -0
  76. package/dist/cjs/styleTypes.cjs +16 -0
  77. package/dist/cjs/types.cjs +16 -0
  78. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs +219 -0
  79. package/dist/esm/StyleSheet/__tests__/compiler-createReactDOMStyle-test.mjs.map +1 -0
  80. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs +408 -0
  81. package/dist/esm/StyleSheet/__tests__/compiler-test.mjs.map +1 -0
  82. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs +100 -0
  83. package/dist/esm/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.mjs.map +1 -0
  84. package/dist/esm/StyleSheet/__tests__/index-test.mjs +383 -0
  85. package/dist/esm/StyleSheet/__tests__/index-test.mjs.map +1 -0
  86. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs +109 -0
  87. package/dist/esm/StyleSheet/__tests__/preprocess-test.mjs.map +1 -0
  88. package/dist/esm/StyleSheet/__tests__/validate-test.mjs +37 -0
  89. package/dist/esm/StyleSheet/__tests__/validate-test.mjs.map +1 -0
  90. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs +63 -0
  91. package/dist/esm/StyleSheet/compiler/createReactDOMStyle.mjs.map +1 -0
  92. package/dist/esm/StyleSheet/compiler/hash.mjs +3 -0
  93. package/dist/esm/StyleSheet/compiler/hash.mjs.map +1 -0
  94. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs +13 -0
  95. package/dist/esm/StyleSheet/compiler/hyphenateStyleName.mjs.map +1 -0
  96. package/dist/esm/StyleSheet/compiler/index.mjs +292 -0
  97. package/dist/esm/StyleSheet/compiler/index.mjs.map +1 -0
  98. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs +17 -0
  99. package/dist/esm/StyleSheet/compiler/normalizeColor.mjs.map +1 -0
  100. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs +20 -0
  101. package/dist/esm/StyleSheet/compiler/normalizeValueWithProperty.mjs.map +1 -0
  102. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs +25 -0
  103. package/dist/esm/StyleSheet/compiler/resolveShadowValue.mjs.map +1 -0
  104. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs +14 -0
  105. package/dist/esm/StyleSheet/dom/createCSSStyleSheet.mjs.map +1 -0
  106. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs +87 -0
  107. package/dist/esm/StyleSheet/dom/createOrderedCSSStyleSheet.mjs.map +1 -0
  108. package/dist/esm/StyleSheet/dom/index.mjs +44 -0
  109. package/dist/esm/StyleSheet/dom/index.mjs.map +1 -0
  110. package/dist/esm/StyleSheet/index.mjs +33 -0
  111. package/dist/esm/StyleSheet/index.mjs.map +1 -0
  112. package/dist/esm/StyleSheet/preprocess.mjs +75 -0
  113. package/dist/esm/StyleSheet/preprocess.mjs.map +1 -0
  114. package/dist/esm/StyleSheet/validate.mjs +46 -0
  115. package/dist/esm/StyleSheet/validate.mjs.map +1 -0
  116. package/dist/esm/TextAncestorContext.mjs +4 -0
  117. package/dist/esm/TextAncestorContext.mjs.map +1 -0
  118. package/dist/esm/colorProps.mjs +14 -0
  119. package/dist/esm/colorProps.mjs.map +1 -0
  120. package/dist/esm/index.js +45 -0
  121. package/dist/esm/index.js.map +1 -0
  122. package/dist/esm/index.mjs +45 -0
  123. package/dist/esm/index.mjs.map +1 -0
  124. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs +29 -0
  125. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.mjs.map +1 -0
  126. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs +19 -0
  127. package/dist/esm/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.mjs.map +1 -0
  128. package/dist/esm/modules/AccessibilityUtil/index.mjs +10 -0
  129. package/dist/esm/modules/AccessibilityUtil/index.mjs.map +1 -0
  130. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs +3 -0
  131. package/dist/esm/modules/AccessibilityUtil/isDisabled.mjs.map +1 -0
  132. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs +34 -0
  133. package/dist/esm/modules/AccessibilityUtil/propsToAccessibilityComponent.mjs.map +1 -0
  134. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs +24 -0
  135. package/dist/esm/modules/AccessibilityUtil/propsToAriaRole.mjs.map +1 -0
  136. package/dist/esm/modules/AssetRegistry/index.mjs +9 -0
  137. package/dist/esm/modules/AssetRegistry/index.mjs.map +1 -0
  138. package/dist/esm/modules/ImageLoader/index.mjs +87 -0
  139. package/dist/esm/modules/ImageLoader/index.mjs.map +1 -0
  140. package/dist/esm/modules/InteractionManager.mjs +161 -0
  141. package/dist/esm/modules/InteractionManager.mjs.map +1 -0
  142. package/dist/esm/modules/Platform/__tests__/index-test.mjs +27 -0
  143. package/dist/esm/modules/Platform/__tests__/index-test.mjs.map +1 -0
  144. package/dist/esm/modules/Platform/index.mjs +7 -0
  145. package/dist/esm/modules/Platform/index.mjs.map +1 -0
  146. package/dist/esm/modules/TextInputState/index.mjs +32 -0
  147. package/dist/esm/modules/TextInputState/index.mjs.map +1 -0
  148. package/dist/esm/modules/UIManager/__tests__/index-test.mjs +69 -0
  149. package/dist/esm/modules/UIManager/__tests__/index-test.mjs.map +1 -0
  150. package/dist/esm/modules/UIManager/index.mjs +37 -0
  151. package/dist/esm/modules/UIManager/index.mjs.map +1 -0
  152. package/dist/esm/modules/canUseDOM.mjs +3 -0
  153. package/dist/esm/modules/canUseDOM.mjs.map +1 -0
  154. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs +135 -0
  155. package/dist/esm/modules/createDOMProps/__tests__/index-test.mjs.map +1 -0
  156. package/dist/esm/modules/createDOMProps/index.mjs +155 -0
  157. package/dist/esm/modules/createDOMProps/index.mjs.map +1 -0
  158. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs +323 -0
  159. package/dist/esm/modules/createEventHandle/__tests__/index-test.mjs.map +1 -0
  160. package/dist/esm/modules/createEventHandle/index.mjs +42 -0
  161. package/dist/esm/modules/createEventHandle/index.mjs.map +1 -0
  162. package/dist/esm/modules/dismissKeyboard/index.mjs +6 -0
  163. package/dist/esm/modules/dismissKeyboard/index.mjs.map +1 -0
  164. package/dist/esm/modules/forwardedProps/index.mjs +128 -0
  165. package/dist/esm/modules/forwardedProps/index.mjs.map +1 -0
  166. package/dist/esm/modules/getBoundingClientRect/index.mjs +5 -0
  167. package/dist/esm/modules/getBoundingClientRect/index.mjs.map +1 -0
  168. package/dist/esm/modules/invariant.mjs +12 -0
  169. package/dist/esm/modules/invariant.mjs.map +1 -0
  170. package/dist/esm/modules/isSelectionValid/index.mjs +12 -0
  171. package/dist/esm/modules/isSelectionValid/index.mjs.map +1 -0
  172. package/dist/esm/modules/isWebColor/index.mjs +3 -0
  173. package/dist/esm/modules/isWebColor/index.mjs.map +1 -0
  174. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs +21 -0
  175. package/dist/esm/modules/mergeRefs/__tests__/index-test.mjs.map +1 -0
  176. package/dist/esm/modules/mergeRefs/index.mjs +19 -0
  177. package/dist/esm/modules/mergeRefs/index.mjs.map +1 -0
  178. package/dist/esm/modules/modality/__tests__/index-test.mjs +33 -0
  179. package/dist/esm/modules/modality/__tests__/index-test.mjs.map +1 -0
  180. package/dist/esm/modules/modality/index.mjs +109 -0
  181. package/dist/esm/modules/modality/index.mjs.map +1 -0
  182. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs +9 -0
  183. package/dist/esm/modules/multiplyStyleLengthValue/__tests__/index-test.mjs.map +1 -0
  184. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs +12 -0
  185. package/dist/esm/modules/multiplyStyleLengthValue/index.mjs.map +1 -0
  186. package/dist/esm/modules/normalizeColor/index.mjs +16 -0
  187. package/dist/esm/modules/normalizeColor/index.mjs.map +1 -0
  188. package/dist/esm/modules/pick/index.mjs +7 -0
  189. package/dist/esm/modules/pick/index.mjs.map +1 -0
  190. package/dist/esm/modules/processColor/__tests__/index-test.mjs +45 -0
  191. package/dist/esm/modules/processColor/__tests__/index-test.mjs.map +1 -0
  192. package/dist/esm/modules/processColor/index.mjs +8 -0
  193. package/dist/esm/modules/processColor/index.mjs.map +1 -0
  194. package/dist/esm/modules/requestIdleCallback/index.mjs +20 -0
  195. package/dist/esm/modules/requestIdleCallback/index.mjs.map +1 -0
  196. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs +12 -0
  197. package/dist/esm/modules/setValueForStyles/dangerousStyleValue.mjs.map +1 -0
  198. package/dist/esm/modules/setValueForStyles/index.mjs +12 -0
  199. package/dist/esm/modules/setValueForStyles/index.mjs.map +1 -0
  200. package/dist/esm/modules/unitlessNumbers/index.mjs +62 -0
  201. package/dist/esm/modules/unitlessNumbers/index.mjs.map +1 -0
  202. package/dist/esm/modules/useElementLayout/index.mjs +16 -0
  203. package/dist/esm/modules/useElementLayout/index.mjs.map +1 -0
  204. package/dist/esm/modules/useEvent/__tests__/index-test.mjs +387 -0
  205. package/dist/esm/modules/useEvent/__tests__/index-test.mjs.map +1 -0
  206. package/dist/esm/modules/useEvent/index.mjs +22 -0
  207. package/dist/esm/modules/useEvent/index.mjs.map +1 -0
  208. package/dist/esm/modules/useHover/__tests__/index-test.mjs +252 -0
  209. package/dist/esm/modules/useHover/__tests__/index-test.mjs.map +1 -0
  210. package/dist/esm/modules/useHover/index.mjs +74 -0
  211. package/dist/esm/modules/useHover/index.mjs.map +1 -0
  212. package/dist/esm/modules/useLayoutEffect/index.mjs +5 -0
  213. package/dist/esm/modules/useLayoutEffect/index.mjs.map +1 -0
  214. package/dist/esm/modules/useLocale/index.mjs +30 -0
  215. package/dist/esm/modules/useLocale/index.mjs.map +1 -0
  216. package/dist/esm/modules/useLocale/isLocaleRTL.mjs +60 -0
  217. package/dist/esm/modules/useLocale/isLocaleRTL.mjs.map +1 -0
  218. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs +81 -0
  219. package/dist/esm/modules/useMergeRefs/__tests__/index-test.mjs.map +1 -0
  220. package/dist/esm/modules/useMergeRefs/index.mjs +9 -0
  221. package/dist/esm/modules/useMergeRefs/index.mjs.map +1 -0
  222. package/dist/esm/modules/usePlatformMethods/index.mjs +12 -0
  223. package/dist/esm/modules/usePlatformMethods/index.mjs.map +1 -0
  224. package/dist/esm/modules/useStable/__tests__/index-test.mjs +71 -0
  225. package/dist/esm/modules/useStable/__tests__/index-test.mjs.map +1 -0
  226. package/dist/esm/modules/useStable/index.mjs +8 -0
  227. package/dist/esm/modules/useStable/index.mjs.map +1 -0
  228. package/dist/esm/styleTypes.mjs +2 -0
  229. package/dist/esm/styleTypes.mjs.map +1 -0
  230. package/dist/esm/types.mjs +2 -0
  231. package/dist/esm/types.mjs.map +1 -0
  232. package/package.json +58 -0
  233. package/src/StyleSheet/__tests__/compiler-createReactDOMStyle-test.tsx +236 -0
  234. package/src/StyleSheet/__tests__/compiler-test.tsx +426 -0
  235. package/src/StyleSheet/__tests__/dom-createOrderedCSSStyleSheet-test.tsx +169 -0
  236. package/src/StyleSheet/__tests__/index-test.tsx +406 -0
  237. package/src/StyleSheet/__tests__/preprocess-test.tsx +107 -0
  238. package/src/StyleSheet/__tests__/validate-test.tsx +42 -0
  239. package/src/StyleSheet/compiler/createReactDOMStyle.tsx +215 -0
  240. package/src/StyleSheet/compiler/hash.tsx +1 -0
  241. package/src/StyleSheet/compiler/hyphenateStyleName.tsx +25 -0
  242. package/src/StyleSheet/compiler/index.tsx +478 -0
  243. package/src/StyleSheet/compiler/normalizeColor.tsx +35 -0
  244. package/src/StyleSheet/compiler/normalizeValueWithProperty.tsx +34 -0
  245. package/src/StyleSheet/compiler/resolveShadowValue.tsx +26 -0
  246. package/src/StyleSheet/dom/createCSSStyleSheet.tsx +42 -0
  247. package/src/StyleSheet/dom/createOrderedCSSStyleSheet.tsx +195 -0
  248. package/src/StyleSheet/dom/index.tsx +92 -0
  249. package/src/StyleSheet/index.tsx +99 -0
  250. package/src/StyleSheet/preprocess.tsx +119 -0
  251. package/src/StyleSheet/validate.tsx +90 -0
  252. package/src/TextAncestorContext.tsx +13 -0
  253. package/src/colorProps.tsx +12 -0
  254. package/src/index.tsx +58 -0
  255. package/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.tsx +44 -0
  256. package/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.tsx +25 -0
  257. package/src/modules/AccessibilityUtil/index.tsx +18 -0
  258. package/src/modules/AccessibilityUtil/isDisabled.tsx +13 -0
  259. package/src/modules/AccessibilityUtil/propsToAccessibilityComponent.tsx +54 -0
  260. package/src/modules/AccessibilityUtil/propsToAriaRole.tsx +37 -0
  261. package/src/modules/AssetRegistry/index.tsx +32 -0
  262. package/src/modules/ImageLoader/index.tsx +165 -0
  263. package/src/modules/InteractionManager.tsx +315 -0
  264. package/src/modules/Platform/__tests__/index-test.tsx +45 -0
  265. package/src/modules/Platform/index.tsx +15 -0
  266. package/src/modules/TextInputState/index.tsx +62 -0
  267. package/src/modules/UIManager/__tests__/index-test.tsx +87 -0
  268. package/src/modules/UIManager/index.tsx +68 -0
  269. package/src/modules/canUseDOM.tsx +14 -0
  270. package/src/modules/createDOMProps/__tests__/index-test.tsx +138 -0
  271. package/src/modules/createDOMProps/index.tsx +436 -0
  272. package/src/modules/createEventHandle/__tests__/index-test.tsx +459 -0
  273. package/src/modules/createEventHandle/index.tsx +100 -0
  274. package/src/modules/dismissKeyboard/index.tsx +14 -0
  275. package/src/modules/forwardedProps/index.tsx +145 -0
  276. package/src/modules/getBoundingClientRect/index.tsx +17 -0
  277. package/src/modules/invariant.ts +23 -0
  278. package/src/modules/isSelectionValid/index.tsx +20 -0
  279. package/src/modules/isWebColor/index.tsx +14 -0
  280. package/src/modules/mergeRefs/__tests__/index-test.tsx +32 -0
  281. package/src/modules/mergeRefs/index.tsx +36 -0
  282. package/src/modules/modality/__tests__/index-test.tsx +66 -0
  283. package/src/modules/modality/index.tsx +228 -0
  284. package/src/modules/multiplyStyleLengthValue/__tests__/index-test.tsx +23 -0
  285. package/src/modules/multiplyStyleLengthValue/index.tsx +26 -0
  286. package/src/modules/normalizeColor/index.tsx +32 -0
  287. package/src/modules/pick/index.tsx +25 -0
  288. package/src/modules/processColor/__tests__/index-test.tsx +78 -0
  289. package/src/modules/processColor/index.tsx +28 -0
  290. package/src/modules/requestIdleCallback/index.tsx +35 -0
  291. package/src/modules/setValueForStyles/dangerousStyleValue.tsx +74 -0
  292. package/src/modules/setValueForStyles/index.tsx +39 -0
  293. package/src/modules/unitlessNumbers/index.tsx +77 -0
  294. package/src/modules/useElementLayout/index.tsx +28 -0
  295. package/src/modules/useEvent/__tests__/index-test.tsx +511 -0
  296. package/src/modules/useEvent/index.tsx +64 -0
  297. package/src/modules/useHover/__tests__/index-test.tsx +342 -0
  298. package/src/modules/useHover/index.tsx +181 -0
  299. package/src/modules/useLayoutEffect/index.ts +15 -0
  300. package/src/modules/useLocale/index.tsx +57 -0
  301. package/src/modules/useLocale/isLocaleRTL.tsx +74 -0
  302. package/src/modules/useMergeRefs/__tests__/index-test.tsx +91 -0
  303. package/src/modules/useMergeRefs/index.tsx +22 -0
  304. package/src/modules/usePlatformMethods/index.tsx +40 -0
  305. package/src/modules/useStable/__tests__/index-test.tsx +101 -0
  306. package/src/modules/useStable/index.tsx +24 -0
  307. package/src/styleTypes.ts +321 -0
  308. package/src/types.ts +77 -0
  309. package/types/StyleSheet/compiler/createReactDOMStyle.d.ts +18 -0
  310. package/types/StyleSheet/compiler/createReactDOMStyle.d.ts.map +1 -0
  311. package/types/StyleSheet/compiler/hash.d.ts +2 -0
  312. package/types/StyleSheet/compiler/hash.d.ts.map +1 -0
  313. package/types/StyleSheet/compiler/hyphenateStyleName.d.ts +10 -0
  314. package/types/StyleSheet/compiler/hyphenateStyleName.d.ts.map +1 -0
  315. package/types/StyleSheet/compiler/index.d.ts +39 -0
  316. package/types/StyleSheet/compiler/index.d.ts.map +1 -0
  317. package/types/StyleSheet/compiler/normalizeColor.d.ts +10 -0
  318. package/types/StyleSheet/compiler/normalizeColor.d.ts.map +1 -0
  319. package/types/StyleSheet/compiler/normalizeValueWithProperty.d.ts +10 -0
  320. package/types/StyleSheet/compiler/normalizeValueWithProperty.d.ts.map +1 -0
  321. package/types/StyleSheet/compiler/resolveShadowValue.d.ts +10 -0
  322. package/types/StyleSheet/compiler/resolveShadowValue.d.ts.map +1 -0
  323. package/types/StyleSheet/dom/createCSSStyleSheet.d.ts +10 -0
  324. package/types/StyleSheet/dom/createCSSStyleSheet.d.ts.map +1 -0
  325. package/types/StyleSheet/dom/createOrderedCSSStyleSheet.d.ts +29 -0
  326. package/types/StyleSheet/dom/createOrderedCSSStyleSheet.d.ts.map +1 -0
  327. package/types/StyleSheet/dom/index.d.ts +15 -0
  328. package/types/StyleSheet/dom/index.d.ts.map +1 -0
  329. package/types/StyleSheet/index.d.ts +69 -0
  330. package/types/StyleSheet/index.d.ts.map +1 -0
  331. package/types/StyleSheet/preprocess.d.ts +16 -0
  332. package/types/StyleSheet/preprocess.d.ts.map +1 -0
  333. package/types/StyleSheet/validate.d.ts +10 -0
  334. package/types/StyleSheet/validate.d.ts.map +1 -0
  335. package/types/TextAncestorContext.d.ts +11 -0
  336. package/types/TextAncestorContext.d.ts.map +1 -0
  337. package/types/colorProps.d.ts +13 -0
  338. package/types/colorProps.d.ts.map +1 -0
  339. package/types/index.d.ts +45 -0
  340. package/types/index.d.ts.map +1 -0
  341. package/types/modules/AccessibilityUtil/index.d.ts +16 -0
  342. package/types/modules/AccessibilityUtil/index.d.ts.map +1 -0
  343. package/types/modules/AccessibilityUtil/isDisabled.d.ts +10 -0
  344. package/types/modules/AccessibilityUtil/isDisabled.d.ts.map +1 -0
  345. package/types/modules/AccessibilityUtil/propsToAccessibilityComponent.d.ts +10 -0
  346. package/types/modules/AccessibilityUtil/propsToAccessibilityComponent.d.ts.map +1 -0
  347. package/types/modules/AccessibilityUtil/propsToAriaRole.d.ts +12 -0
  348. package/types/modules/AccessibilityUtil/propsToAriaRole.d.ts.map +1 -0
  349. package/types/modules/AssetRegistry/index.d.ts +22 -0
  350. package/types/modules/AssetRegistry/index.d.ts.map +1 -0
  351. package/types/modules/ImageLoader/index.d.ts +27 -0
  352. package/types/modules/ImageLoader/index.d.ts.map +1 -0
  353. package/types/modules/InteractionManager.d.ts +48 -0
  354. package/types/modules/InteractionManager.d.ts.map +1 -0
  355. package/types/modules/Platform/index.d.ts +15 -0
  356. package/types/modules/Platform/index.d.ts.map +1 -0
  357. package/types/modules/TextInputState/index.d.ts +38 -0
  358. package/types/modules/TextInputState/index.d.ts.map +1 -0
  359. package/types/modules/UIManager/index.d.ts +23 -0
  360. package/types/modules/UIManager/index.d.ts.map +1 -0
  361. package/types/modules/canUseDOM.d.ts +10 -0
  362. package/types/modules/canUseDOM.d.ts.map +1 -0
  363. package/types/modules/createDOMProps/index.d.ts +12 -0
  364. package/types/modules/createDOMProps/index.d.ts.map +1 -0
  365. package/types/modules/createEventHandle/index.d.ts +20 -0
  366. package/types/modules/createEventHandle/index.d.ts.map +1 -0
  367. package/types/modules/dismissKeyboard/index.d.ts +10 -0
  368. package/types/modules/dismissKeyboard/index.d.ts.map +1 -0
  369. package/types/modules/forwardedProps/index.d.ts +383 -0
  370. package/types/modules/forwardedProps/index.d.ts.map +1 -0
  371. package/types/modules/getBoundingClientRect/index.d.ts +10 -0
  372. package/types/modules/getBoundingClientRect/index.d.ts.map +1 -0
  373. package/types/modules/invariant.d.ts +3 -0
  374. package/types/modules/invariant.d.ts.map +1 -0
  375. package/types/modules/isSelectionValid/index.d.ts +10 -0
  376. package/types/modules/isSelectionValid/index.d.ts.map +1 -0
  377. package/types/modules/isWebColor/index.d.ts +10 -0
  378. package/types/modules/isWebColor/index.d.ts.map +1 -0
  379. package/types/modules/mergeRefs/index.d.ts +11 -0
  380. package/types/modules/mergeRefs/index.d.ts.map +1 -0
  381. package/types/modules/modality/index.d.ts +17 -0
  382. package/types/modules/modality/index.d.ts.map +1 -0
  383. package/types/modules/multiplyStyleLengthValue/index.d.ts +10 -0
  384. package/types/modules/multiplyStyleLengthValue/index.d.ts.map +1 -0
  385. package/types/modules/normalizeColor/index.d.ts +10 -0
  386. package/types/modules/normalizeColor/index.d.ts.map +1 -0
  387. package/types/modules/pick/index.d.ts +12 -0
  388. package/types/modules/pick/index.d.ts.map +1 -0
  389. package/types/modules/processColor/index.d.ts +11 -0
  390. package/types/modules/processColor/index.d.ts.map +1 -0
  391. package/types/modules/requestIdleCallback/index.d.ts +3 -0
  392. package/types/modules/requestIdleCallback/index.d.ts.map +1 -0
  393. package/types/modules/setValueForStyles/dangerousStyleValue.d.ts +11 -0
  394. package/types/modules/setValueForStyles/dangerousStyleValue.d.ts.map +1 -0
  395. package/types/modules/setValueForStyles/index.d.ts +9 -0
  396. package/types/modules/setValueForStyles/index.d.ts.map +1 -0
  397. package/types/modules/unitlessNumbers/index.d.ts +60 -0
  398. package/types/modules/unitlessNumbers/index.d.ts.map +1 -0
  399. package/types/modules/useElementLayout/index.d.ts +4 -0
  400. package/types/modules/useElementLayout/index.d.ts.map +1 -0
  401. package/types/modules/useEvent/index.d.ts +24 -0
  402. package/types/modules/useEvent/index.d.ts.map +1 -0
  403. package/types/modules/useHover/index.d.ts +21 -0
  404. package/types/modules/useHover/index.d.ts.map +1 -0
  405. package/types/modules/useLayoutEffect/index.d.ts +13 -0
  406. package/types/modules/useLayoutEffect/index.d.ts.map +1 -0
  407. package/types/modules/useLocale/index.d.ts +14 -0
  408. package/types/modules/useLocale/index.d.ts.map +1 -0
  409. package/types/modules/useLocale/isLocaleRTL.d.ts +13 -0
  410. package/types/modules/useLocale/isLocaleRTL.d.ts.map +1 -0
  411. package/types/modules/useMergeRefs/index.d.ts +11 -0
  412. package/types/modules/useMergeRefs/index.d.ts.map +1 -0
  413. package/types/modules/usePlatformMethods/index.d.ts +18 -0
  414. package/types/modules/usePlatformMethods/index.d.ts.map +1 -0
  415. package/types/modules/useStable/index.d.ts +10 -0
  416. package/types/modules/useStable/index.d.ts.map +1 -0
  417. package/types/styleTypes.d.ts +211 -0
  418. package/types/styleTypes.d.ts.map +1 -0
  419. package/types/types.d.ts +46 -0
  420. package/types/types.d.ts.map +1 -0
@@ -0,0 +1,155 @@
1
+ import { getCSSStylesAtomic } from "@hanzogui/web";
2
+ import { AccessibilityUtil } from "../AccessibilityUtil/index.mjs";
3
+ const emptyObject = {},
4
+ hasOwnProperty = Object.prototype.hasOwnProperty,
5
+ isArray = Array.isArray,
6
+ reactNativeOnlyProps = {
7
+ collapsable: !0,
8
+ contentContainerStyle: !0,
9
+ contentOffset: !0,
10
+ decelerationRate: !0,
11
+ maintainVisibleContentPosition: !0,
12
+ onLayout: !0,
13
+ onMomentumScrollBegin: !0,
14
+ onMomentumScrollEnd: !0,
15
+ onMoveShouldSetResponder: !0,
16
+ onMoveShouldSetResponderCapture: !0,
17
+ onResponderEnd: !0,
18
+ onResponderGrant: !0,
19
+ onResponderMove: !0,
20
+ onResponderReject: !0,
21
+ onResponderRelease: !0,
22
+ onResponderStart: !0,
23
+ onResponderTerminate: !0,
24
+ onResponderTerminationRequest: !0,
25
+ onScrollBeginDrag: !0,
26
+ onScrollEndDrag: !0,
27
+ onScrollShouldSetResponder: !0,
28
+ onScrollShouldSetResponderCapture: !0,
29
+ onSelectionChangeShouldSetResponder: !0,
30
+ onSelectionChangeShouldSetResponderCapture: !0,
31
+ onStartShouldSetResponder: !0,
32
+ onStartShouldSetResponderCapture: !0,
33
+ refreshControl: !0,
34
+ removeClippedSubviews: !0,
35
+ scrollEnabled: !0,
36
+ scrollEventThrottle: !0,
37
+ scrollIndicatorInsets: !0,
38
+ showsHorizontalScrollIndicator: !0,
39
+ showsVerticalScrollIndicator: !0,
40
+ snapToAlignment: !0,
41
+ snapToEnd: !0,
42
+ snapToInterval: !0,
43
+ snapToOffsets: !0,
44
+ snapToStart: !0,
45
+ stickyHeaderIndices: !0,
46
+ ScrollComponent: !0
47
+ },
48
+ uppercasePattern = /[A-Z]/g;
49
+ function toHyphenLower(match) {
50
+ return "-" + match.toLowerCase();
51
+ }
52
+ function hyphenateString(str) {
53
+ return str.replace(uppercasePattern, toHyphenLower);
54
+ }
55
+ function processIDRefList(idRefList) {
56
+ return isArray(idRefList) ? idRefList.join(" ") : idRefList;
57
+ }
58
+ function flattenStyle(style) {
59
+ if (style === null || typeof style != "object") return;
60
+ if (!isArray(style)) return style;
61
+ const result = {};
62
+ for (let i = 0, styleLength = style.length; i < styleLength; ++i) {
63
+ const computedStyle = flattenStyle(style[i]);
64
+ if (computedStyle) for (const key in computedStyle) hasOwnProperty.call(computedStyle, key) && (result[key] = computedStyle[key]);
65
+ }
66
+ return result;
67
+ }
68
+ const stylesFromProps = /* @__PURE__ */new WeakMap(),
69
+ createDOMProps = (elementType, props, options) => {
70
+ props || (props = emptyObject);
71
+ const {
72
+ accessibilityActiveDescendant,
73
+ accessibilityAtomic,
74
+ accessibilityAutoComplete,
75
+ accessibilityBusy,
76
+ accessibilityChecked,
77
+ accessibilityColumnCount,
78
+ accessibilityColumnIndex,
79
+ accessibilityColumnSpan,
80
+ accessibilityControls,
81
+ accessibilityCurrent,
82
+ accessibilityDescribedBy,
83
+ accessibilityDetails,
84
+ accessibilityDisabled,
85
+ accessibilityErrorMessage,
86
+ accessibilityExpanded,
87
+ accessibilityFlowTo,
88
+ accessibilityHasPopup,
89
+ accessibilityHidden,
90
+ accessibilityInvalid,
91
+ accessibilityKeyShortcuts,
92
+ accessibilityLabel,
93
+ accessibilityLabelledBy,
94
+ accessibilityLevel,
95
+ accessibilityLiveRegion,
96
+ accessibilityModal,
97
+ accessibilityMultiline,
98
+ accessibilityMultiSelectable,
99
+ accessibilityOrientation,
100
+ accessibilityOwns,
101
+ accessibilityPlaceholder,
102
+ accessibilityPosInSet,
103
+ accessibilityPressed,
104
+ accessibilityReadOnly,
105
+ accessibilityRequired,
106
+ /* eslint-disable */
107
+ accessibilityRole,
108
+ /* eslint-enable */
109
+ accessibilityRoleDescription,
110
+ accessibilityRowCount,
111
+ accessibilityRowIndex,
112
+ accessibilityRowSpan,
113
+ accessibilitySelected,
114
+ accessibilitySetSize,
115
+ accessibilitySort,
116
+ accessibilityValueMax,
117
+ accessibilityValueMin,
118
+ accessibilityValueNow,
119
+ accessibilityValueText,
120
+ dataSet,
121
+ focusable,
122
+ nativeID,
123
+ pointerEvents,
124
+ style,
125
+ testID,
126
+ id,
127
+ // Rest
128
+ ...domProps
129
+ } = props;
130
+ for (const key in domProps) reactNativeOnlyProps[key] && delete domProps[key];
131
+ const disabled = accessibilityDisabled,
132
+ role = AccessibilityUtil.propsToAriaRole(props);
133
+ accessibilityActiveDescendant != null && (domProps["aria-activedescendant"] = accessibilityActiveDescendant), accessibilityAtomic != null && (domProps["aria-atomic"] = accessibilityAtomic), accessibilityAutoComplete != null && (domProps["aria-autocomplete"] = accessibilityAutoComplete), accessibilityBusy != null && (domProps["aria-busy"] = accessibilityBusy), accessibilityChecked != null && (domProps["aria-checked"] = accessibilityChecked), accessibilityColumnCount != null && (domProps["aria-colcount"] = accessibilityColumnCount), accessibilityColumnIndex != null && (domProps["aria-colindex"] = accessibilityColumnIndex), accessibilityColumnSpan != null && (domProps["aria-colspan"] = accessibilityColumnSpan), accessibilityControls != null && (domProps["aria-controls"] = processIDRefList(accessibilityControls)), accessibilityCurrent != null && (domProps["aria-current"] = accessibilityCurrent), accessibilityDescribedBy != null && (domProps["aria-describedby"] = processIDRefList(accessibilityDescribedBy)), accessibilityDetails != null && (domProps["aria-details"] = accessibilityDetails), disabled === !0 && (domProps["aria-disabled"] = !0, (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") && (domProps.disabled = !0)), accessibilityErrorMessage != null && (domProps["aria-errormessage"] = accessibilityErrorMessage), accessibilityExpanded != null && (domProps["aria-expanded"] = accessibilityExpanded), accessibilityFlowTo != null && (domProps["aria-flowto"] = processIDRefList(accessibilityFlowTo)), accessibilityHasPopup != null && (domProps["aria-haspopup"] = accessibilityHasPopup), accessibilityHidden === !0 && (domProps["aria-hidden"] = accessibilityHidden), accessibilityInvalid != null && (domProps["aria-invalid"] = accessibilityInvalid), accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts) && (domProps["aria-keyshortcuts"] = accessibilityKeyShortcuts.join(" ")), accessibilityLabel != null && (domProps["aria-label"] = accessibilityLabel), accessibilityLabelledBy != null && (domProps["aria-labelledby"] = processIDRefList(accessibilityLabelledBy)), accessibilityLevel != null && (domProps["aria-level"] = accessibilityLevel), accessibilityLiveRegion != null && (domProps["aria-live"] = accessibilityLiveRegion === "none" ? "off" : accessibilityLiveRegion), accessibilityModal != null && (domProps["aria-modal"] = accessibilityModal), accessibilityMultiline != null && (domProps["aria-multiline"] = accessibilityMultiline), accessibilityMultiSelectable != null && (domProps["aria-multiselectable"] = accessibilityMultiSelectable), accessibilityOrientation != null && (domProps["aria-orientation"] = accessibilityOrientation), accessibilityOwns != null && (domProps["aria-owns"] = processIDRefList(accessibilityOwns)), accessibilityPlaceholder != null && (domProps["aria-placeholder"] = accessibilityPlaceholder), accessibilityPosInSet != null && (domProps["aria-posinset"] = accessibilityPosInSet), accessibilityPressed != null && (domProps["aria-pressed"] = accessibilityPressed), accessibilityReadOnly != null && (domProps["aria-readonly"] = accessibilityReadOnly, (elementType === "input" || elementType === "select" || elementType === "textarea") && (domProps.readOnly = !0)), accessibilityRequired != null && (domProps["aria-required"] = accessibilityRequired, (elementType === "input" || elementType === "select" || elementType === "textarea") && (domProps.required = !0)), role != null && (domProps.role = role === "none" ? "presentation" : role), accessibilityRoleDescription != null && (domProps["aria-roledescription"] = accessibilityRoleDescription), accessibilityRowCount != null && (domProps["aria-rowcount"] = accessibilityRowCount), accessibilityRowIndex != null && (domProps["aria-rowindex"] = accessibilityRowIndex), accessibilityRowSpan != null && (domProps["aria-rowspan"] = accessibilityRowSpan), accessibilitySelected != null && (domProps["aria-selected"] = accessibilitySelected), accessibilitySetSize != null && (domProps["aria-setsize"] = accessibilitySetSize), accessibilitySort != null && (domProps["aria-sort"] = accessibilitySort), accessibilityValueMax != null && (domProps["aria-valuemax"] = accessibilityValueMax), accessibilityValueMin != null && (domProps["aria-valuemin"] = accessibilityValueMin), accessibilityValueNow != null && (domProps["aria-valuenow"] = accessibilityValueNow), accessibilityValueText != null && (domProps["aria-valuetext"] = accessibilityValueText);
134
+ const tmgCN = dataSet ? dataSet.className : void 0,
135
+ tmgID = dataSet ? dataSet.id : void 0;
136
+ if (dataSet != null) {
137
+ for (const dataProp in dataSet) if (!(dataProp === "className" || dataProp === "id") && hasOwnProperty.call(dataSet, dataProp)) {
138
+ const dataName = hyphenateString(dataProp),
139
+ dataValue = dataSet[dataProp];
140
+ dataValue != null && (domProps[`data-${dataName}`] = dataValue);
141
+ }
142
+ }
143
+ focusable === !1 && (domProps.tabIndex = "-1"),
144
+ // These native elements are keyboard focusable by default
145
+ elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea" ? (focusable === !1 || accessibilityDisabled === !0) && (domProps.tabIndex = "-1") : /* These roles are made keyboard focusable by default */role === "button" || role === "checkbox" || role === "link" || role === "radio" || role === "textbox" || role === "switch" ? focusable !== !1 && (domProps.tabIndex = "0") : focusable === !0 && (domProps.tabIndex = "0");
146
+ const flat = flattenStyle(style);
147
+ let className = tmgCN || "";
148
+ props.className && (className += ` ${props.className}`);
149
+ const stylesAtomic = flat ? getCSSStylesAtomic(flat) : [];
150
+ stylesFromProps.set(domProps, stylesAtomic), domProps.style = stylesAtomic.reduce((acc, [key, value]) => key[0] === "_" || key.startsWith("is_") || key.startsWith("font_") ? (className += ` ${key}`, acc) : (key === "$$css" || key === "" || (acc[key] = value), acc), {}), className && (domProps.className = className);
151
+ const _id = tmgID || id || nativeID;
152
+ return _id && (domProps.id = _id), testID != null && (domProps["data-testid"] = testID), domProps;
153
+ };
154
+ export { createDOMProps, stylesFromProps };
155
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getCSSStylesAtomic","AccessibilityUtil","emptyObject","hasOwnProperty","Object","prototype","isArray","Array","reactNativeOnlyProps","collapsable","contentContainerStyle","contentOffset","decelerationRate","maintainVisibleContentPosition","onLayout","onMomentumScrollBegin","onMomentumScrollEnd","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollBeginDrag","onScrollEndDrag","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","refreshControl","removeClippedSubviews","scrollEnabled","scrollEventThrottle","scrollIndicatorInsets","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","snapToAlignment","snapToEnd","snapToInterval","snapToOffsets","snapToStart","stickyHeaderIndices","ScrollComponent","uppercasePattern","toHyphenLower","match","toLowerCase","hyphenateString","str","replace","processIDRefList","idRefList","join","flattenStyle","style","result","i","styleLength","length","computedStyle","key","call","stylesFromProps","WeakMap","createDOMProps","elementType","props","options","accessibilityActiveDescendant","accessibilityAtomic","accessibilityAutoComplete","accessibilityBusy","accessibilityChecked","accessibilityColumnCount","accessibilityColumnIndex","accessibilityColumnSpan","accessibilityControls","accessibilityCurrent","accessibilityDescribedBy","accessibilityDetails","accessibilityDisabled","accessibilityErrorMessage","accessibilityExpanded","accessibilityFlowTo","accessibilityHasPopup","accessibilityHidden","accessibilityInvalid","accessibilityKeyShortcuts","accessibilityLabel","accessibilityLabelledBy","accessibilityLevel","accessibilityLiveRegion","accessibilityModal","accessibilityMultiline","accessibilityMultiSelectable","accessibilityOrientation","accessibilityOwns","accessibilityPlaceholder","accessibilityPosInSet","accessibilityPressed","accessibilityReadOnly","accessibilityRequired","accessibilityRole","accessibilityRoleDescription","accessibilityRowCount","accessibilityRowIndex","accessibilityRowSpan","accessibilitySelected","accessibilitySetSize","accessibilitySort","accessibilityValueMax","accessibilityValueMin","accessibilityValueNow","accessibilityValueText","dataSet","focusable","nativeID","pointerEvents","testID","id","domProps","disabled","role","propsToAriaRole","readOnly","required","tmgCN","className","tmgID","dataProp","dataName","dataValue","tabIndex","flat","stylesAtomic","set","reduce","acc","value","startsWith","_id"],"sources":["../../../../src/modules/createDOMProps/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,323 @@
1
+ import { createEventTarget } from "dom-event-testing-library";
2
+ import * as React from "react";
3
+ import * as ReactDOM from "react-dom";
4
+ import * as ReactDOMServer from "react-dom/server";
5
+ import { act } from "react-dom/test-utils";
6
+ import createEventHandle from "../index.mjs";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function createRoot(rootNode) {
9
+ return {
10
+ render(element) {
11
+ ReactDOM.render(element, rootNode);
12
+ }
13
+ };
14
+ }
15
+ describe("create-event-handle", () => {
16
+ let root, rootNode;
17
+ beforeEach(() => {
18
+ rootNode = document.createElement("div"), document.body.appendChild(rootNode), root = createRoot(rootNode);
19
+ }), afterEach(() => {
20
+ root.render(null), document.body.removeChild(rootNode), rootNode = null, root = null;
21
+ }), test("can render correctly using ReactDOMServer", () => {
22
+ const listener = jest.fn(),
23
+ targetRef = React.createRef(),
24
+ addClickListener = createEventHandle("click");
25
+ function Component() {
26
+ return React.useEffect(() => addClickListener(targetRef.current, listener)), /* @__PURE__ */jsx("div", {
27
+ ref: targetRef
28
+ });
29
+ }
30
+ const output = ReactDOMServer.renderToString(/* @__PURE__ */jsx(Component, {}));
31
+ expect(output).toBe('<div data-reactroot=""></div>');
32
+ }), describe("createEventTarget()", () => {
33
+ test("event dispatched on target", () => {
34
+ const listener = jest.fn(),
35
+ targetRef = React.createRef(),
36
+ addClickListener = createEventHandle("click");
37
+ function Component() {
38
+ return React.useEffect(() => addClickListener(targetRef.current, listener)), /* @__PURE__ */jsx("div", {
39
+ ref: targetRef
40
+ });
41
+ }
42
+ act(() => {
43
+ root.render(/* @__PURE__ */jsx(Component, {}));
44
+ });
45
+ const target = createEventTarget(targetRef.current);
46
+ act(() => {
47
+ target.click();
48
+ }), expect(listener).toBeCalledTimes(1);
49
+ }), test("event dispatched on parent", () => {
50
+ const listener = jest.fn(),
51
+ listenerCapture = jest.fn(),
52
+ targetRef = React.createRef(),
53
+ parentRef = React.createRef(),
54
+ addClickListener = createEventHandle("click"),
55
+ addClickCaptureListener = createEventHandle("click", {
56
+ capture: !0
57
+ });
58
+ function Component() {
59
+ return React.useEffect(() => {
60
+ const removeClickListener = addClickListener(targetRef.current, listener),
61
+ removeClickCaptureListener = addClickCaptureListener(targetRef.current, listenerCapture);
62
+ return () => {
63
+ removeClickListener(), removeClickCaptureListener();
64
+ };
65
+ }), /* @__PURE__ */jsx("div", {
66
+ ref: parentRef,
67
+ children: /* @__PURE__ */jsx("div", {
68
+ ref: targetRef
69
+ })
70
+ });
71
+ }
72
+ act(() => {
73
+ root.render(/* @__PURE__ */jsx(Component, {}));
74
+ });
75
+ const parent = createEventTarget(parentRef.current);
76
+ act(() => {
77
+ parent.click();
78
+ }), expect(listener).toBeCalledTimes(0), expect(listenerCapture).toBeCalledTimes(0);
79
+ }), test("event dispatched on child", () => {
80
+ const log = [],
81
+ listener = jest.fn(() => {
82
+ log.push("bubble");
83
+ }),
84
+ listenerCapture = jest.fn(() => {
85
+ log.push("capture");
86
+ }),
87
+ targetRef = React.createRef(),
88
+ childRef = React.createRef(),
89
+ addClickListener = createEventHandle("click"),
90
+ addClickCaptureListener = createEventHandle("click", {
91
+ capture: !0
92
+ });
93
+ function Component() {
94
+ return React.useEffect(() => {
95
+ const removeClickListener = addClickListener(targetRef.current, listener),
96
+ removeClickCaptureListener = addClickCaptureListener(targetRef.current, listenerCapture);
97
+ return () => {
98
+ removeClickListener(), removeClickCaptureListener();
99
+ };
100
+ }), /* @__PURE__ */jsx("div", {
101
+ ref: targetRef,
102
+ children: /* @__PURE__ */jsx("div", {
103
+ ref: childRef
104
+ })
105
+ });
106
+ }
107
+ act(() => {
108
+ root.render(/* @__PURE__ */jsx(Component, {}));
109
+ });
110
+ const child = createEventTarget(childRef.current);
111
+ act(() => {
112
+ child.click();
113
+ }), expect(listenerCapture).toBeCalledTimes(1), expect(listener).toBeCalledTimes(1), expect(log).toEqual(["capture", "bubble"]);
114
+ }), test("event dispatched on text node", () => {
115
+ const listener = jest.fn(),
116
+ targetRef = React.createRef(),
117
+ childRef = React.createRef(),
118
+ addClickListener = createEventHandle("click");
119
+ function Component() {
120
+ return React.useEffect(() => addClickListener(targetRef.current, listener)), /* @__PURE__ */jsx("div", {
121
+ ref: targetRef,
122
+ children: /* @__PURE__ */jsx("div", {
123
+ ref: childRef,
124
+ children: "text"
125
+ })
126
+ });
127
+ }
128
+ act(() => {
129
+ root.render(/* @__PURE__ */jsx(Component, {}));
130
+ });
131
+ const text = createEventTarget(childRef.current.firstChild);
132
+ act(() => {
133
+ text.click();
134
+ }), expect(listener).toBeCalledTimes(1);
135
+ }), test("listener can be attached to document", () => {
136
+ const listener = jest.fn(),
137
+ targetRef = React.createRef(),
138
+ addClickListener = createEventHandle("click");
139
+ function Component({
140
+ target: target2
141
+ }) {
142
+ return React.useEffect(() => addClickListener(target2, listener)), /* @__PURE__ */jsx("div", {
143
+ ref: targetRef
144
+ });
145
+ }
146
+ act(() => {
147
+ root.render(/* @__PURE__ */jsx(Component, {
148
+ target: document
149
+ }));
150
+ });
151
+ const target = createEventTarget(targetRef.current);
152
+ act(() => {
153
+ target.click();
154
+ }), expect(listener).toBeCalledTimes(1);
155
+ }), test("listener can be attached to window ", () => {
156
+ const listener = jest.fn(),
157
+ targetRef = React.createRef(),
158
+ addClickListener = createEventHandle("click");
159
+ function Component({
160
+ target: target2
161
+ }) {
162
+ return React.useEffect(() => addClickListener(target2, listener)), /* @__PURE__ */jsx("div", {
163
+ ref: targetRef
164
+ });
165
+ }
166
+ act(() => {
167
+ root.render(/* @__PURE__ */jsx(Component, {
168
+ target: window
169
+ }));
170
+ });
171
+ const target = createEventTarget(targetRef.current);
172
+ act(() => {
173
+ target.click();
174
+ }), expect(listener).toBeCalledTimes(1);
175
+ }), test("custom event dispatched on target", () => {
176
+ const listener = jest.fn(),
177
+ targetRef = React.createRef(),
178
+ addMagicEventListener = createEventHandle("magic-event");
179
+ function Component() {
180
+ return React.useEffect(() => addMagicEventListener(targetRef.current, listener)), /* @__PURE__ */jsx("div", {
181
+ ref: targetRef
182
+ });
183
+ }
184
+ act(() => {
185
+ root.render(/* @__PURE__ */jsx(Component, {}));
186
+ }), act(() => {
187
+ const event = new CustomEvent("magic-event", {
188
+ bubbles: !0
189
+ });
190
+ targetRef.current.dispatchEvent(event);
191
+ }), expect(listener).toBeCalledTimes(1);
192
+ }), test("listeners can be set on multiple targets simultaneously", () => {
193
+ const log = [],
194
+ targetRef = React.createRef(),
195
+ parentRef = React.createRef(),
196
+ childRef = React.createRef(),
197
+ addClickListener = createEventHandle("click"),
198
+ addClickCaptureListener = createEventHandle("click", {
199
+ capture: !0
200
+ }),
201
+ listener = jest.fn(e => {
202
+ log.push(["bubble", e.currentTarget.id]);
203
+ }),
204
+ listenerCapture = jest.fn(e => {
205
+ log.push(["capture", e.currentTarget.id]);
206
+ });
207
+ function Component() {
208
+ return React.useEffect(() => {
209
+ addClickListener(targetRef.current, listener), addClickListener(parentRef.current, listener), addClickCaptureListener(targetRef.current, listenerCapture), addClickCaptureListener(parentRef.current, listenerCapture);
210
+ }), /* @__PURE__ */jsx("div", {
211
+ id: "parent",
212
+ ref: parentRef,
213
+ children: /* @__PURE__ */jsx("div", {
214
+ id: "target",
215
+ ref: targetRef,
216
+ children: /* @__PURE__ */jsx("div", {
217
+ ref: childRef
218
+ })
219
+ })
220
+ });
221
+ }
222
+ act(() => {
223
+ root.render(/* @__PURE__ */jsx(Component, {}));
224
+ });
225
+ const child = createEventTarget(childRef.current);
226
+ act(() => {
227
+ child.click();
228
+ }), expect(listenerCapture).toBeCalledTimes(2), expect(listener).toBeCalledTimes(2), expect(log).toEqual([["capture", "parent"], ["capture", "target"], ["bubble", "target"], ["bubble", "parent"]]);
229
+ }), test("listeners are specific to each event handle", () => {
230
+ const log = [],
231
+ targetRef = React.createRef(),
232
+ childRef = React.createRef(),
233
+ addClickListener = createEventHandle("click"),
234
+ addClickAltListener = createEventHandle("click"),
235
+ addClickCaptureListener = createEventHandle("click", {
236
+ capture: !0
237
+ }),
238
+ addClickCaptureAltListener = createEventHandle("click", {
239
+ capture: !0
240
+ }),
241
+ listener = jest.fn(e => {
242
+ log.push(["bubble", "target"]);
243
+ }),
244
+ listenerAlt = jest.fn(e => {
245
+ log.push(["bubble", "target-alt"]);
246
+ }),
247
+ listenerCapture = jest.fn(e => {
248
+ log.push(["capture", "target"]);
249
+ }),
250
+ listenerCaptureAlt = jest.fn(e => {
251
+ log.push(["capture", "target-alt"]);
252
+ });
253
+ function Component() {
254
+ return React.useEffect(() => {
255
+ addClickListener(targetRef.current, listener), addClickAltListener(targetRef.current, listenerAlt), addClickCaptureListener(targetRef.current, listenerCapture), addClickCaptureAltListener(targetRef.current, listenerCaptureAlt);
256
+ }), /* @__PURE__ */jsx("div", {
257
+ id: "target",
258
+ ref: targetRef,
259
+ children: /* @__PURE__ */jsx("div", {
260
+ ref: childRef
261
+ })
262
+ });
263
+ }
264
+ act(() => {
265
+ root.render(/* @__PURE__ */jsx(Component, {}));
266
+ });
267
+ const child = createEventTarget(childRef.current);
268
+ act(() => {
269
+ child.click();
270
+ }), expect(listenerCapture).toBeCalledTimes(1), expect(listenerCaptureAlt).toBeCalledTimes(1), expect(listener).toBeCalledTimes(1), expect(listenerAlt).toBeCalledTimes(1), expect(log).toEqual([["capture", "target"], ["capture", "target-alt"], ["bubble", "target"], ["bubble", "target-alt"]]);
271
+ });
272
+ }), describe("stopPropagation and stopImmediatePropagation", () => {
273
+ test("stopPropagation works as expected", () => {
274
+ const childListener = jest.fn(e => {
275
+ e.stopPropagation();
276
+ }),
277
+ targetListener = jest.fn(),
278
+ targetRef = React.createRef(),
279
+ childRef = React.createRef(),
280
+ addClickListener = createEventHandle("click");
281
+ function Component() {
282
+ return React.useEffect(() => {
283
+ addClickListener(childRef.current, childListener), addClickListener(targetRef.current, targetListener);
284
+ }), /* @__PURE__ */jsx("div", {
285
+ ref: targetRef,
286
+ children: /* @__PURE__ */jsx("div", {
287
+ ref: childRef
288
+ })
289
+ });
290
+ }
291
+ act(() => {
292
+ root.render(/* @__PURE__ */jsx(Component, {}));
293
+ });
294
+ const child = createEventTarget(childRef.current);
295
+ act(() => {
296
+ child.click();
297
+ }), expect(childListener).toBeCalledTimes(1), expect(targetListener).toBeCalledTimes(0);
298
+ }), test("stopImmediatePropagation works as expected", () => {
299
+ const firstListener = jest.fn(e => {
300
+ e.stopImmediatePropagation();
301
+ }),
302
+ secondListener = jest.fn(),
303
+ targetRef = React.createRef(),
304
+ addFirstClickListener = createEventHandle("click"),
305
+ addSecondClickListener = createEventHandle("click");
306
+ function Component() {
307
+ return React.useEffect(() => {
308
+ addFirstClickListener(targetRef.current, firstListener), addSecondClickListener(targetRef.current, secondListener);
309
+ }), /* @__PURE__ */jsx("div", {
310
+ ref: targetRef
311
+ });
312
+ }
313
+ act(() => {
314
+ root.render(/* @__PURE__ */jsx(Component, {}));
315
+ });
316
+ const target = createEventTarget(targetRef.current);
317
+ act(() => {
318
+ target.click();
319
+ }), expect(firstListener).toBeCalledTimes(1), expect(secondListener).toBeCalledTimes(0);
320
+ });
321
+ });
322
+ });
323
+ //# sourceMappingURL=index-test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEventTarget","React","ReactDOM","ReactDOMServer","act","createEventHandle","jsx","createRoot","rootNode","render","element","describe","root","beforeEach","document","createElement","body","appendChild","afterEach","removeChild","test","listener","jest","fn","targetRef","createRef","addClickListener","Component","useEffect","current","ref","output","renderToString","expect","toBe","target","click","toBeCalledTimes","listenerCapture","parentRef","addClickCaptureListener","capture","removeClickListener","removeClickCaptureListener","children","parent","log","push","childRef","child","toEqual","text","firstChild","target2","window","addMagicEventListener","event","CustomEvent","bubbles","dispatchEvent","e","currentTarget","id","addClickAltListener","addClickCaptureAltListener","listenerAlt","listenerCaptureAlt","childListener","stopPropagation","targetListener","firstListener","stopImmediatePropagation","secondListener","addFirstClickListener","addSecondClickListener"],"sources":["../../../../../src/modules/createEventHandle/__tests__/index-test.tsx"],"sourcesContent":[null],"mappings":"AASA,SAASA,iBAAA,QAAyB;AAClC,YAAYC,KAAA,MAAW;AACvB,YAAYC,QAAA,MAAc;AAC1B,YAAYC,cAAA,MAAoB;AAChC,SAASC,GAAA,QAAW;AAEpB,OAAOC,iBAAA,MAAuB;AAoCjB,SAAAC,GAAA;AAlCb,SAASC,WAAWC,QAAA,EAAU;EAC5B,OAAO;IACLC,OAAOC,OAAA,EAAS;MACdR,QAAA,CAASO,MAAA,CAAOC,OAAA,EAASF,QAAQ;IACnC;EACF;AACF;AAEAG,QAAA,CAAS,uBAAuB,MAAM;EACpC,IAAIC,IAAA,EACAJ,QAAA;EAEJK,UAAA,CAAW,MAAM;IACfL,QAAA,GAAWM,QAAA,CAASC,aAAA,CAAc,KAAK,GACvCD,QAAA,CAASE,IAAA,CAAKC,WAAA,CAAYT,QAAQ,GAClCI,IAAA,GAAOL,UAAA,CAAWC,QAAQ;EAC5B,CAAC,GAEDU,SAAA,CAAU,MAAM;IACdN,IAAA,CAAKH,MAAA,CAAO,IAAI,GAChBK,QAAA,CAASE,IAAA,CAAKG,WAAA,CAAYX,QAAQ,GAClCA,QAAA,GAAW,MACXI,IAAA,GAAO;EACT,CAAC,GAEDQ,IAAA,CAAK,6CAA6C,MAAM;IACtD,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;MACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;MAC5BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;IAElD,SAASsB,UAAA,EAAY;MACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MACPF,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ,CACpD,GACM,eAAAf,GAAA,CAAC;QAAIwB,GAAA,EAAKN;MAAA,CAAW;IAC9B;IAEA,MAAMO,MAAA,GAAS5B,cAAA,CAAe6B,cAAA,CAAe,eAAA1B,GAAA,CAACqB,SAAA,IAAU,CAAE;IAC1DM,MAAA,CAAOF,MAAM,EAAEG,IAAA,CAAK,+BAA+B;EACrD,CAAC,GAEDvB,QAAA,CAAS,uBAAuB,MAAM;IACpCS,IAAA,CAAK,8BAA8B,MAAM;MACvC,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;MAElD,SAASsB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MACPF,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ,CACpD,GACM,eAAAf,GAAA,CAAC;UAAIwB,GAAA,EAAKN;QAAA,CAAW;MAC9B;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMQ,MAAA,GAASnC,iBAAA,CAAkBwB,SAAA,CAAUK,OAAO;MAElDzB,GAAA,CAAI,MAAM;QACR+B,MAAA,CAAOC,KAAA,CAAM;MACf,CAAC,GAEDH,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC;IACpC,CAAC,GAEDjB,IAAA,CAAK,8BAA8B,MAAM;MACvC,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBe,eAAA,GAAkBhB,IAAA,CAAKC,EAAA,CAAG;QAC1BC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5Bc,SAAA,GAAYtC,KAAA,CAAMwB,SAAA,CAAU;QAC5BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;QAC5CmC,uBAAA,GAA0BnC,iBAAA,CAAkB,SAAS;UACzDoC,OAAA,EAAS;QACX,CAAC;MAED,SAASd,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UACpB,MAAMc,mBAAA,GAAsBhB,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ;YAClEsB,0BAAA,GAA6BH,uBAAA,CACjChB,SAAA,CAAUK,OAAA,EACVS,eACF;UACA,OAAO,MAAM;YACXI,mBAAA,CAAoB,GACpBC,0BAAA,CAA2B;UAC7B;QACF,CAAC,GAEC,eAAArC,GAAA,CAAC;UAAIwB,GAAA,EAAKS,SAAA;UACRK,QAAA,iBAAAtC,GAAA,CAAC;YAAIwB,GAAA,EAAKN;UAAA,CAAW;QAAA,CACvB;MAEJ;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMkB,MAAA,GAAS7C,iBAAA,CAAkBuC,SAAA,CAAUV,OAAO;MAElDzB,GAAA,CAAI,MAAM;QACRyC,MAAA,CAAOT,KAAA,CAAM;MACf,CAAC,GAEDH,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC,GAClCJ,MAAA,CAAOK,eAAe,EAAED,eAAA,CAAgB,CAAC;IAC3C,CAAC,GAEDjB,IAAA,CAAK,6BAA6B,MAAM;MACtC,MAAM0B,GAAA,GAAM,EAAC;QACPzB,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG,MAAM;UAC7BuB,GAAA,CAAIC,IAAA,CAAK,QAAQ;QACnB,CAAC;QACKT,eAAA,GAAkBhB,IAAA,CAAKC,EAAA,CAAG,MAAM;UACpCuB,GAAA,CAAIC,IAAA,CAAK,SAAS;QACpB,CAAC;QACKvB,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BuB,QAAA,GAAW/C,KAAA,CAAMwB,SAAA,CAAU;QAC3BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;QAC5CmC,uBAAA,GAA0BnC,iBAAA,CAAkB,SAAS;UACzDoC,OAAA,EAAS;QACX,CAAC;MAED,SAASd,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UACpB,MAAMc,mBAAA,GAAsBhB,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ;YAClEsB,0BAAA,GAA6BH,uBAAA,CACjChB,SAAA,CAAUK,OAAA,EACVS,eACF;UACA,OAAO,MAAM;YACXI,mBAAA,CAAoB,GACpBC,0BAAA,CAA2B;UAC7B;QACF,CAAC,GAEC,eAAArC,GAAA,CAAC;UAAIwB,GAAA,EAAKN,SAAA;UACRoB,QAAA,iBAAAtC,GAAA,CAAC;YAAIwB,GAAA,EAAKkB;UAAA,CAAU;QAAA,CACtB;MAEJ;MAEA5C,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMsB,KAAA,GAAQjD,iBAAA,CAAkBgD,QAAA,CAASnB,OAAO;MAEhDzB,GAAA,CAAI,MAAM;QACR6C,KAAA,CAAMb,KAAA,CAAM;MACd,CAAC,GAEDH,MAAA,CAAOK,eAAe,EAAED,eAAA,CAAgB,CAAC,GACzCJ,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC,GAClCJ,MAAA,CAAOa,GAAG,EAAEI,OAAA,CAAQ,CAAC,WAAW,QAAQ,CAAC;IAC3C,CAAC,GAED9B,IAAA,CAAK,iCAAiC,MAAM;MAC1C,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BuB,QAAA,GAAW/C,KAAA,CAAMwB,SAAA,CAAU;QAC3BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;MAElD,SAASsB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MACPF,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ,CACpD,GAEC,eAAAf,GAAA,CAAC;UAAIwB,GAAA,EAAKN,SAAA;UACRoB,QAAA,iBAAAtC,GAAA,CAAC;YAAIwB,GAAA,EAAKkB,QAAA;YAAUJ,QAAA;UAAA,CAAI;QAAA,CAC1B;MAEJ;MAEAxC,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMwB,IAAA,GAAOnD,iBAAA,CAAkBgD,QAAA,CAASnB,OAAA,CAAQuB,UAAU;MAE1DhD,GAAA,CAAI,MAAM;QACR+C,IAAA,CAAKf,KAAA,CAAM;MACb,CAAC,GAEDH,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC;IACpC,CAAC,GAEDjB,IAAA,CAAK,wCAAwC,MAAM;MACjD,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;MAElD,SAASsB,UAAU;QAAEQ,MAAA,EAAAkB;MAAO,GAAG;QAC7B,OAAApD,KAAA,CAAM2B,SAAA,CAAU,MACPF,gBAAA,CAAiB2B,OAAA,EAAQhC,QAAQ,CACzC,GACM,eAAAf,GAAA,CAAC;UAAIwB,GAAA,EAAKN;QAAA,CAAW;MAC9B;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA;UAAUQ,MAAA,EAAQrB;QAAA,CAAU,CAAE;MAC7C,CAAC;MACD,MAAMqB,MAAA,GAASnC,iBAAA,CAAkBwB,SAAA,CAAUK,OAAO;MAClDzB,GAAA,CAAI,MAAM;QACR+B,MAAA,CAAOC,KAAA,CAAM;MACf,CAAC,GAEDH,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC;IACpC,CAAC,GAEDjB,IAAA,CAAK,uCAAuC,MAAM;MAChD,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;MAElD,SAASsB,UAAU;QAAEQ,MAAA,EAAAkB;MAAO,GAAG;QAC7B,OAAApD,KAAA,CAAM2B,SAAA,CAAU,MACPF,gBAAA,CAAiB2B,OAAA,EAAQhC,QAAQ,CACzC,GACM,eAAAf,GAAA,CAAC;UAAIwB,GAAA,EAAKN;QAAA,CAAW;MAC9B;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA;UAAUQ,MAAA,EAAQmB;QAAA,CAAQ,CAAE;MAC3C,CAAC;MACD,MAAMnB,MAAA,GAASnC,iBAAA,CAAkBwB,SAAA,CAAUK,OAAO;MAClDzB,GAAA,CAAI,MAAM;QACR+B,MAAA,CAAOC,KAAA,CAAM;MACf,CAAC,GAEDH,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC;IACpC,CAAC,GAEDjB,IAAA,CAAK,qCAAqC,MAAM;MAC9C,MAAMC,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAG;QACnBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5B8B,qBAAA,GAAwBlD,iBAAA,CAAkB,aAAa;MAE7D,SAASsB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MACP2B,qBAAA,CAAsB/B,SAAA,CAAUK,OAAA,EAASR,QAAQ,CACzD,GACM,eAAAf,GAAA,CAAC;UAAIwB,GAAA,EAAKN;QAAA,CAAW;MAC9B;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC,GAEDvB,GAAA,CAAI,MAAM;QACR,MAAMoD,KAAA,GAAQ,IAAIC,WAAA,CAAY,eAAe;UAAEC,OAAA,EAAS;QAAK,CAAC;QAC9DlC,SAAA,CAAUK,OAAA,CAAQ8B,aAAA,CAAcH,KAAK;MACvC,CAAC,GAEDvB,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC;IACpC,CAAC,GAEDjB,IAAA,CAAK,2DAA2D,MAAM;MACpE,MAAM0B,GAAA,GAAM,EAAC;QACPtB,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5Bc,SAAA,GAAYtC,KAAA,CAAMwB,SAAA,CAAU;QAC5BuB,QAAA,GAAW/C,KAAA,CAAMwB,SAAA,CAAU;QAC3BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;QAC5CmC,uBAAA,GAA0BnC,iBAAA,CAAkB,SAAS;UACzDoC,OAAA,EAAS;QACX,CAAC;QACKpB,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UAC9Bd,GAAA,CAAIC,IAAA,CAAK,CAAC,UAAUa,CAAA,CAAEC,aAAA,CAAcC,EAAE,CAAC;QACzC,CAAC;QACKxB,eAAA,GAAkBhB,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACrCd,GAAA,CAAIC,IAAA,CAAK,CAAC,WAAWa,CAAA,CAAEC,aAAA,CAAcC,EAAE,CAAC;QAC1C,CAAC;MAED,SAASnC,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UAEpBF,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ,GAC5CK,gBAAA,CAAiBa,SAAA,CAAUV,OAAA,EAASR,QAAQ,GAC5CmB,uBAAA,CAAwBhB,SAAA,CAAUK,OAAA,EAASS,eAAe,GAC1DE,uBAAA,CAAwBD,SAAA,CAAUV,OAAA,EAASS,eAAe;QAC5D,CAAC,GAEC,eAAAhC,GAAA,CAAC;UAAIwD,EAAA,EAAG;UAAShC,GAAA,EAAKS,SAAA;UACpBK,QAAA,iBAAAtC,GAAA,CAAC;YAAIwD,EAAA,EAAG;YAAShC,GAAA,EAAKN,SAAA;YACpBoB,QAAA,iBAAAtC,GAAA,CAAC;cAAIwB,GAAA,EAAKkB;YAAA,CAAU;UAAA,CACtB;QAAA,CACF;MAEJ;MAEA5C,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMsB,KAAA,GAAQjD,iBAAA,CAAkBgD,QAAA,CAASnB,OAAO;MAEhDzB,GAAA,CAAI,MAAM;QACR6C,KAAA,CAAMb,KAAA,CAAM;MACd,CAAC,GAEDH,MAAA,CAAOK,eAAe,EAAED,eAAA,CAAgB,CAAC,GACzCJ,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC,GAClCJ,MAAA,CAAOa,GAAG,EAAEI,OAAA,CAAQ,CAClB,CAAC,WAAW,QAAQ,GACpB,CAAC,WAAW,QAAQ,GACpB,CAAC,UAAU,QAAQ,GACnB,CAAC,UAAU,QAAQ,EACpB;IACH,CAAC,GAED9B,IAAA,CAAK,+CAA+C,MAAM;MACxD,MAAM0B,GAAA,GAAM,EAAC;QACPtB,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BuB,QAAA,GAAW/C,KAAA,CAAMwB,SAAA,CAAU;QAC3BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;QAC5C0D,mBAAA,GAAsB1D,iBAAA,CAAkB,OAAO;QAC/CmC,uBAAA,GAA0BnC,iBAAA,CAAkB,SAAS;UACzDoC,OAAA,EAAS;QACX,CAAC;QACKuB,0BAAA,GAA6B3D,iBAAA,CAAkB,SAAS;UAC5DoC,OAAA,EAAS;QACX,CAAC;QACKpB,QAAA,GAAWC,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UAC9Bd,GAAA,CAAIC,IAAA,CAAK,CAAC,UAAU,QAAQ,CAAC;QAC/B,CAAC;QACKkB,WAAA,GAAc3C,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACjCd,GAAA,CAAIC,IAAA,CAAK,CAAC,UAAU,YAAY,CAAC;QACnC,CAAC;QACKT,eAAA,GAAkBhB,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACrCd,GAAA,CAAIC,IAAA,CAAK,CAAC,WAAW,QAAQ,CAAC;QAChC,CAAC;QACKmB,kBAAA,GAAqB5C,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACxCd,GAAA,CAAIC,IAAA,CAAK,CAAC,WAAW,YAAY,CAAC;QACpC,CAAC;MAED,SAASpB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UACpBF,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASR,QAAQ,GAC5C0C,mBAAA,CAAoBvC,SAAA,CAAUK,OAAA,EAASoC,WAAW,GAClDzB,uBAAA,CAAwBhB,SAAA,CAAUK,OAAA,EAASS,eAAe,GAC1D0B,0BAAA,CAA2BxC,SAAA,CAAUK,OAAA,EAASqC,kBAAkB;QAClE,CAAC,GAEC,eAAA5D,GAAA,CAAC;UAAIwD,EAAA,EAAG;UAAShC,GAAA,EAAKN,SAAA;UACpBoB,QAAA,iBAAAtC,GAAA,CAAC;YAAIwB,GAAA,EAAKkB;UAAA,CAAU;QAAA,CACtB;MAEJ;MAEA5C,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMsB,KAAA,GAAQjD,iBAAA,CAAkBgD,QAAA,CAASnB,OAAO;MAEhDzB,GAAA,CAAI,MAAM;QACR6C,KAAA,CAAMb,KAAA,CAAM;MACd,CAAC,GAEDH,MAAA,CAAOK,eAAe,EAAED,eAAA,CAAgB,CAAC,GACzCJ,MAAA,CAAOiC,kBAAkB,EAAE7B,eAAA,CAAgB,CAAC,GAC5CJ,MAAA,CAAOZ,QAAQ,EAAEgB,eAAA,CAAgB,CAAC,GAClCJ,MAAA,CAAOgC,WAAW,EAAE5B,eAAA,CAAgB,CAAC,GACrCJ,MAAA,CAAOa,GAAG,EAAEI,OAAA,CAAQ,CAClB,CAAC,WAAW,QAAQ,GACpB,CAAC,WAAW,YAAY,GACxB,CAAC,UAAU,QAAQ,GACnB,CAAC,UAAU,YAAY,EACxB;IACH,CAAC;EACH,CAAC,GAEDvC,QAAA,CAAS,gDAAgD,MAAM;IAC7DS,IAAA,CAAK,qCAAqC,MAAM;MAC9C,MAAM+C,aAAA,GAAgB7C,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACnCA,CAAA,CAAEQ,eAAA,CAAgB;QACpB,CAAC;QACKC,cAAA,GAAiB/C,IAAA,CAAKC,EAAA,CAAG;QACzBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BuB,QAAA,GAAW/C,KAAA,CAAMwB,SAAA,CAAU;QAC3BC,gBAAA,GAAmBrB,iBAAA,CAAkB,OAAO;MAElD,SAASsB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UACpBF,gBAAA,CAAiBsB,QAAA,CAASnB,OAAA,EAASsC,aAAa,GAChDzC,gBAAA,CAAiBF,SAAA,CAAUK,OAAA,EAASwC,cAAc;QACpD,CAAC,GAEC,eAAA/D,GAAA,CAAC;UAAIwB,GAAA,EAAKN,SAAA;UACRoB,QAAA,iBAAAtC,GAAA,CAAC;YAAIwB,GAAA,EAAKkB;UAAA,CAAU;QAAA,CACtB;MAEJ;MAEA5C,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMsB,KAAA,GAAQjD,iBAAA,CAAkBgD,QAAA,CAASnB,OAAO;MAEhDzB,GAAA,CAAI,MAAM;QACR6C,KAAA,CAAMb,KAAA,CAAM;MACd,CAAC,GAEDH,MAAA,CAAOkC,aAAa,EAAE9B,eAAA,CAAgB,CAAC,GACvCJ,MAAA,CAAOoC,cAAc,EAAEhC,eAAA,CAAgB,CAAC;IAC1C,CAAC,GAEDjB,IAAA,CAAK,8CAA8C,MAAM;MACvD,MAAMkD,aAAA,GAAgBhD,IAAA,CAAKC,EAAA,CAAIqC,CAAA,IAAM;UACnCA,CAAA,CAAEW,wBAAA,CAAyB;QAC7B,CAAC;QACKC,cAAA,GAAiBlD,IAAA,CAAKC,EAAA,CAAG;QACzBC,SAAA,GAAYvB,KAAA,CAAMwB,SAAA,CAAU;QAC5BgD,qBAAA,GAAwBpE,iBAAA,CAAkB,OAAO;QACjDqE,sBAAA,GAAyBrE,iBAAA,CAAkB,OAAO;MAExD,SAASsB,UAAA,EAAY;QACnB,OAAA1B,KAAA,CAAM2B,SAAA,CAAU,MAAM;UACpB6C,qBAAA,CAAsBjD,SAAA,CAAUK,OAAA,EAASyC,aAAa,GACtDI,sBAAA,CAAuBlD,SAAA,CAAUK,OAAA,EAAS2C,cAAc;QAC1D,CAAC,GACM,eAAAlE,GAAA,CAAC;UAAIwB,GAAA,EAAKN;QAAA,CAAW;MAC9B;MAEApB,GAAA,CAAI,MAAM;QACRQ,IAAA,CAAKH,MAAA,CAAO,eAAAH,GAAA,CAACqB,SAAA,IAAU,CAAE;MAC3B,CAAC;MAED,MAAMQ,MAAA,GAASnC,iBAAA,CAAkBwB,SAAA,CAAUK,OAAO;MAElDzB,GAAA,CAAI,MAAM;QACR+B,MAAA,CAAOC,KAAA,CAAM;MACf,CAAC,GAEDH,MAAA,CAAOqC,aAAa,EAAEjC,eAAA,CAAgB,CAAC,GACvCJ,MAAA,CAAOuC,cAAc,EAAEnC,eAAA,CAAgB,CAAC;IAC1C,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import { canUseDOM } from "../canUseDOM.mjs";
2
+ const emptyFunction = () => {};
3
+ function supportsPassiveEvents() {
4
+ let supported = !1;
5
+ if (canUseDOM) try {
6
+ const options = {};
7
+ Object.defineProperty(options, "passive", {
8
+ get() {
9
+ return supported = !0, !1;
10
+ }
11
+ }), window.addEventListener("test", null, options), window.removeEventListener("test", null, options);
12
+ } catch {}
13
+ return supported;
14
+ }
15
+ const canUsePassiveEvents = supportsPassiveEvents();
16
+ function getOptions(options) {
17
+ return options == null ? !1 : canUsePassiveEvents ? options : !!options.capture;
18
+ }
19
+ function isPropagationStopped() {
20
+ return this.cancelBubble;
21
+ }
22
+ function isDefaultPrevented() {
23
+ return this.defaultPrevented;
24
+ }
25
+ function normalizeEvent(event) {
26
+ return event.nativeEvent = event, event.persist = emptyFunction, event.isDefaultPrevented = isDefaultPrevented, event.isPropagationStopped = isPropagationStopped, event;
27
+ }
28
+ function createEventHandle(type, options) {
29
+ const opts = getOptions(options);
30
+ return function (target, listener) {
31
+ if (target == null || typeof target.addEventListener != "function") throw new Error("createEventHandle: called on an invalid target.");
32
+ const element = target;
33
+ if (listener != null) {
34
+ const compatListener = e => listener(normalizeEvent(e));
35
+ return element.addEventListener(type, compatListener, opts), function () {
36
+ element?.removeEventListener(type, compatListener, opts);
37
+ };
38
+ } else return emptyFunction;
39
+ };
40
+ }
41
+ export { createEventHandle };
42
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["canUseDOM","emptyFunction","supportsPassiveEvents","supported","options","Object","defineProperty","get","window","addEventListener","removeEventListener","canUsePassiveEvents","getOptions","capture","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","normalizeEvent","event","nativeEvent","persist","createEventHandle","type","opts","target","listener","Error","element","compatListener","e"],"sources":["../../../../src/modules/createEventHandle/index.tsx"],"sourcesContent":[null],"mappings":"AAYA,SAASA,SAAA,QAAiB;AAU1B,MAAMC,aAAA,GAAgBA,CAAA,KAAM,CAAC;AAE7B,SAASC,sBAAA,EAAiC;EACxC,IAAIC,SAAA,GAAY;EAGhB,IAAIH,SAAA,EACF,IAAI;IACF,MAAMI,OAAA,GAAU,CAAC;IACjBC,MAAA,CAAOC,cAAA,CAAeF,OAAA,EAAS,WAAW;MACxCG,IAAA,EAAM;QACJ,OAAAJ,SAAA,GAAY,IACL;MACT;IACF,CAAC,GACDK,MAAA,CAAOC,gBAAA,CAAiB,QAAQ,MAAML,OAAO,GAC7CI,MAAA,CAAOE,mBAAA,CAAoB,QAAQ,MAAMN,OAAO;EAClD,QAAY,CAAC;EAEf,OAAOD,SAAA;AACT;AAEA,MAAMQ,mBAAA,GAAsBT,qBAAA,CAAsB;AAElD,SAASU,WAAWR,OAAA,EAAsD;EACxE,OAAIA,OAAA,IAAW,OACN,KAEFO,mBAAA,GAAsBP,OAAA,GAAU,EAAQA,OAAA,CAAQS,OAAA;AACzD;AAOA,SAASC,qBAAA,EAAuB;EAC9B,OAAO,KAAKC,YAAA;AACd;AACA,SAASC,mBAAA,EAAqB;EAC5B,OAAO,KAAKC,gBAAA;AACd;AACA,SAASC,eAAeC,KAAA,EAAY;EAClC,OAAAA,KAAA,CAAMC,WAAA,GAAcD,KAAA,EACpBA,KAAA,CAAME,OAAA,GAAUpB,aAAA,EAChBkB,KAAA,CAAMH,kBAAA,GAAqBA,kBAAA,EAC3BG,KAAA,CAAML,oBAAA,GAAuBA,oBAAA,EACtBK,KAAA;AACT;AAKO,SAASG,kBACdC,IAAA,EACAnB,OAAA,EACa;EACb,MAAMoB,IAAA,GAAOZ,UAAA,CAAWR,OAAO;EAE/B,OAAO,UAAUqB,MAAA,EAAqBC,QAAA,EAA2B;IAC/D,IAAID,MAAA,IAAU,QAAQ,OAAOA,MAAA,CAAOhB,gBAAA,IAAqB,YACvD,MAAM,IAAIkB,KAAA,CAAM,iDAAiD;IAGnE,MAAMC,OAAA,GAAUH,MAAA;IAChB,IAAIC,QAAA,IAAY,MAAM;MACpB,MAAMG,cAAA,GAAkBC,CAAA,IAAMJ,QAAA,CAASR,cAAA,CAAeY,CAAC,CAAC;MACxD,OAAAF,OAAA,CAAQnB,gBAAA,CAAiBc,IAAA,EAAMM,cAAA,EAAgBL,IAAI,GAC5C,YAA0B;QAE7BI,OAAA,EAAQlB,mBAAA,CAAoBa,IAAA,EAAMM,cAAA,EAAgBL,IAAI;MAE1D;IACF,OACE,OAAOvB,aAAA;EAEX;AACF","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { TextInputState } from "../TextInputState/index.mjs";
2
+ const dismissKeyboard = () => {
3
+ TextInputState.blurTextInput(TextInputState.currentlyFocusedField());
4
+ };
5
+ export { dismissKeyboard };
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextInputState","dismissKeyboard","blurTextInput","currentlyFocusedField"],"sources":["../../../../src/modules/dismissKeyboard/index.tsx"],"sourcesContent":[null],"mappings":"AASA,SAASA,cAAA,QAAsB;AAExB,MAAMC,eAAA,GAAkBA,CAAA,KAAM;EACnCD,cAAA,CAAeE,aAAA,CAAcF,cAAA,CAAeG,qBAAA,CAAsB,CAAC;AACrE","ignoreList":[]}