@semcore/core 16.0.0-prerelease.2 → 16.0.0-prerelease.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 (644) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/lib/LastInteractionType.d.ts +1 -1
  3. package/lib/LastInteractionType.js.map +1 -0
  4. package/lib/LastInteractionType.mjs +51 -0
  5. package/lib/LastInteractionType.mjs.map +1 -0
  6. package/lib/{types/core-types → core-types}/Component.d.ts +2 -2
  7. package/lib/core-types/Component.js.map +1 -1
  8. package/lib/core-types/Component.mjs +28 -31
  9. package/lib/core-types/Component.mjs.map +1 -1
  10. package/lib/core-types/UnknownProperties.mjs +0 -1
  11. package/lib/core-types/symbols.mjs +20 -10
  12. package/lib/coreFactory.js.map +1 -0
  13. package/lib/coreFactory.mjs +324 -0
  14. package/lib/coreFactory.mjs.map +1 -0
  15. package/lib/enhancement/Children.mjs +35 -50
  16. package/lib/enhancement/Root.mjs +21 -35
  17. package/lib/enhancement/bindHandler.mjs +10 -9
  18. package/lib/enhancement/dataName.mjs +5 -4
  19. package/lib/enhancement/enhance.mjs +4 -3
  20. package/lib/enhancement/functionDefaultProps.mjs +5 -5
  21. package/lib/enhancement/hoistProps.mjs +22 -32
  22. package/lib/enhancement/i18n.mjs +8 -8
  23. package/lib/enhancement/inheritedName.mjs +5 -4
  24. package/lib/enhancement/staticChildren.mjs +35 -38
  25. package/lib/enhancement/style.mjs +15 -17
  26. package/lib/enhancement/uncontrolledProps.mjs +28 -44
  27. package/lib/esm/LastInteractionType.mjs +51 -0
  28. package/lib/esm/core-types/Component.mjs +51 -0
  29. package/lib/esm/core-types/symbols.mjs +20 -0
  30. package/lib/esm/coreFactory.mjs +324 -0
  31. package/lib/esm/enhancement/Children.mjs +96 -0
  32. package/lib/esm/enhancement/Root.mjs +56 -0
  33. package/lib/{es6/enhancement/bindHandler.js → esm/enhancement/bindHandler.mjs} +10 -9
  34. package/lib/esm/enhancement/dataName.mjs +13 -0
  35. package/lib/{es6/enhancement/enhance.js → esm/enhancement/enhance.mjs} +4 -3
  36. package/lib/{es6/enhancement/functionDefaultProps.js → esm/enhancement/functionDefaultProps.mjs} +5 -5
  37. package/lib/{es6/enhancement/hoistProps.js → esm/enhancement/hoistProps.mjs} +25 -35
  38. package/lib/esm/enhancement/i18n.mjs +20 -0
  39. package/lib/{es6/enhancement/inheritedName.js → esm/enhancement/inheritedName.mjs} +6 -5
  40. package/lib/{es6/enhancement/staticChildren.js → esm/enhancement/staticChildren.mjs} +38 -41
  41. package/lib/{es6/enhancement/style.js → esm/enhancement/style.mjs} +16 -18
  42. package/lib/{es6/enhancement/uncontrolledProps.js → esm/enhancement/uncontrolledProps.mjs} +30 -46
  43. package/lib/esm/index.mjs +24 -0
  44. package/lib/esm/register.mjs +31 -0
  45. package/lib/esm/styled/index.mjs +8 -0
  46. package/lib/esm/styled/reshadow-core.mjs +234 -0
  47. package/lib/esm/styled/sstyled.mjs +121 -0
  48. package/lib/{es6/utils/assignProps.js → esm/utils/assignProps.mjs} +32 -30
  49. package/lib/esm/utils/canUseDOM.mjs +6 -0
  50. package/lib/esm/utils/capitalizeFirstLetter.mjs +6 -0
  51. package/lib/esm/utils/createHoc.mjs +44 -0
  52. package/lib/esm/utils/enhances/WithI18n.mjs +78 -0
  53. package/lib/esm/utils/enhances/i18nEnhance.mjs +91 -0
  54. package/lib/esm/utils/getDisplayName.mjs +6 -0
  55. package/lib/esm/utils/logger.mjs +35 -0
  56. package/lib/{es6/utils/pick.js → esm/utils/pick.mjs} +4 -2
  57. package/lib/esm/utils/ref.mjs +87 -0
  58. package/lib/esm/utils/use/useEnhancedEffect.mjs +6 -0
  59. package/lib/index.js.map +1 -0
  60. package/lib/index.mjs +24 -0
  61. package/lib/index.mjs.map +1 -0
  62. package/lib/register.mjs +13 -11
  63. package/lib/styled/index.mjs +8 -6
  64. package/lib/styled/reshadow-core.mjs +92 -101
  65. package/lib/styled/reshadow-core.mjs.map +1 -1
  66. package/lib/styled/sstyled.mjs +40 -61
  67. package/lib/theme/dark.json +2 -2
  68. package/lib/theme/light.json +3 -3
  69. package/lib/theme/processor.mjs +4 -4
  70. package/lib/theme/themes/auto.css +5 -5
  71. package/lib/theme/themes/dark.css +2 -2
  72. package/lib/{types/theme → theme}/themes/dark.d.ts +1 -1
  73. package/lib/theme/themes/dark.js +1 -1
  74. package/lib/theme/themes/dark.js.map +1 -1
  75. package/lib/theme/themes/dark.mjs +1 -1
  76. package/lib/theme/themes/dark.mjs.map +1 -1
  77. package/lib/theme/themes/default.css +3 -3
  78. package/lib/theme/themes/default.d.ts +1 -1
  79. package/lib/theme/themes/default.js +2 -2
  80. package/lib/theme/themes/default.js.map +1 -1
  81. package/lib/theme/themes/default.mjs +2 -2
  82. package/lib/theme/themes/default.mjs.map +1 -1
  83. package/lib/theme/themes/light.css +3 -3
  84. package/lib/{types/theme → theme}/themes/light.d.ts +1 -1
  85. package/lib/theme/themes/light.js +2 -2
  86. package/lib/theme/themes/light.js.map +1 -1
  87. package/lib/theme/themes/light.mjs +2 -2
  88. package/lib/theme/themes/light.mjs.map +1 -1
  89. package/lib/theme/utils.mjs +9 -9
  90. package/lib/theme/utils.mjs.map +1 -1
  91. package/lib/utils/CSSinJS.mjs +1 -1
  92. package/lib/utils/ScreenReaderOnly.mjs +1 -1
  93. package/lib/utils/ThemeProvider.mjs +4 -4
  94. package/lib/utils/addonText.d.ts +1 -1
  95. package/lib/utils/addonTextChildren.mjs +1 -1
  96. package/lib/utils/assignProps.mjs +35 -33
  97. package/lib/utils/canUseDOM.mjs +5 -3
  98. package/lib/utils/capitalizeFirstLetter.mjs +4 -2
  99. package/lib/utils/color.mjs +2 -2
  100. package/lib/utils/createHoc.mjs +27 -29
  101. package/lib/utils/enhances/WithAutoFocus.mjs +6 -6
  102. package/lib/utils/enhances/WithCSS.mjs +6 -6
  103. package/lib/utils/enhances/WithI18n.mjs +38 -43
  104. package/lib/utils/enhances/WithKeyboardFocus.mjs +6 -6
  105. package/lib/utils/enhances/WithRef.mjs +1 -1
  106. package/lib/utils/enhances/a11yEnhance.mjs +2 -2
  107. package/lib/utils/enhances/animatedSizeEnhance.mjs +15 -15
  108. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  109. package/lib/utils/enhances/autoFocusEnhance.mjs +2 -2
  110. package/lib/utils/enhances/contextEnhance.mjs +4 -4
  111. package/lib/utils/enhances/i18nEnhance.mjs +39 -40
  112. package/lib/utils/enhances/keyboardFocusEnhance.mjs +1 -1
  113. package/lib/utils/eventEmitter.mjs +3 -3
  114. package/lib/utils/findComponent.d.ts +2 -2
  115. package/lib/utils/findComponent.js.map +1 -1
  116. package/lib/utils/findComponent.mjs.map +1 -1
  117. package/lib/utils/focus-lock/isFocusable.mjs +1 -1
  118. package/lib/utils/getAccessibleName.mjs +1 -1
  119. package/lib/utils/getDisplayName.mjs +5 -3
  120. package/lib/utils/getEventTarget.mjs +1 -1
  121. package/lib/utils/hasLabels.mjs +1 -1
  122. package/lib/utils/injectStyle.mjs +1 -1
  123. package/lib/utils/isInteractiveElement.d.ts +1 -0
  124. package/lib/utils/isInteractiveElement.js +34 -0
  125. package/lib/utils/isInteractiveElement.js.map +1 -0
  126. package/lib/utils/isInteractiveElement.mjs +28 -0
  127. package/lib/utils/isInteractiveElement.mjs.map +1 -0
  128. package/lib/utils/isNode.mjs +1 -1
  129. package/lib/utils/logger.mjs +19 -16
  130. package/lib/utils/pick.mjs +4 -2
  131. package/lib/utils/propsForElement.mjs +1 -1
  132. package/lib/utils/ref.d.ts +4 -2
  133. package/lib/utils/ref.js +2 -1
  134. package/lib/utils/ref.js.map +1 -1
  135. package/lib/utils/ref.mjs +50 -46
  136. package/lib/utils/ref.mjs.map +1 -1
  137. package/lib/utils/syncScroll.mjs +1 -1
  138. package/lib/utils/uncontroll.mjs +1 -1
  139. package/lib/utils/uniqueID.mjs +2 -2
  140. package/lib/utils/use/useEnhancedEffect.mjs +4 -3
  141. package/lib/utils/use/useEventListener.js +1 -1
  142. package/lib/utils/use/useEventListener.js.map +1 -1
  143. package/lib/utils/use/useEventListener.mjs +1 -1
  144. package/lib/utils/use/useEventListener.mjs.map +1 -1
  145. package/lib/utils/use/useFocusLock.mjs +2 -2
  146. package/lib/utils/useCssVariable.mjs +3 -3
  147. package/lib/utils/zIndexStacking.mjs +3 -3
  148. package/package.json +44 -20
  149. package/vite.config.ts +24 -0
  150. package/lib/cjs/LastInteractionType.js.map +0 -1
  151. package/lib/cjs/core-types/Component.js +0 -59
  152. package/lib/cjs/core-types/Component.js.map +0 -1
  153. package/lib/cjs/core-types/UnknownProperties.js +0 -2
  154. package/lib/cjs/core-types/UnknownProperties.js.map +0 -1
  155. package/lib/cjs/core-types/reshadow.d.js +0 -2
  156. package/lib/cjs/core-types/reshadow.d.js.map +0 -1
  157. package/lib/cjs/core-types/symbols.js +0 -25
  158. package/lib/cjs/core-types/symbols.js.map +0 -1
  159. package/lib/cjs/coreFactory.js.map +0 -1
  160. package/lib/cjs/enhancement/Children.js +0 -119
  161. package/lib/cjs/enhancement/Children.js.map +0 -1
  162. package/lib/cjs/enhancement/Root.js +0 -78
  163. package/lib/cjs/enhancement/Root.js.map +0 -1
  164. package/lib/cjs/enhancement/bindHandler.js +0 -54
  165. package/lib/cjs/enhancement/bindHandler.js.map +0 -1
  166. package/lib/cjs/enhancement/dataName.js +0 -20
  167. package/lib/cjs/enhancement/dataName.js.map +0 -1
  168. package/lib/cjs/enhancement/enhance.js +0 -22
  169. package/lib/cjs/enhancement/enhance.js.map +0 -1
  170. package/lib/cjs/enhancement/functionDefaultProps.js +0 -36
  171. package/lib/cjs/enhancement/functionDefaultProps.js.map +0 -1
  172. package/lib/cjs/enhancement/hoistProps.js +0 -97
  173. package/lib/cjs/enhancement/hoistProps.js.map +0 -1
  174. package/lib/cjs/enhancement/i18n.js +0 -28
  175. package/lib/cjs/enhancement/i18n.js.map +0 -1
  176. package/lib/cjs/enhancement/inheritedName.js +0 -23
  177. package/lib/cjs/enhancement/inheritedName.js.map +0 -1
  178. package/lib/cjs/enhancement/staticChildren.js +0 -135
  179. package/lib/cjs/enhancement/staticChildren.js.map +0 -1
  180. package/lib/cjs/enhancement/style.js +0 -60
  181. package/lib/cjs/enhancement/style.js.map +0 -1
  182. package/lib/cjs/enhancement/uncontrolledProps.js +0 -131
  183. package/lib/cjs/enhancement/uncontrolledProps.js.map +0 -1
  184. package/lib/cjs/index.js.map +0 -1
  185. package/lib/cjs/register.js +0 -37
  186. package/lib/cjs/register.js.map +0 -1
  187. package/lib/cjs/styled/index.js +0 -32
  188. package/lib/cjs/styled/index.js.map +0 -1
  189. package/lib/cjs/styled/reshadow-core.js +0 -256
  190. package/lib/cjs/styled/reshadow-core.js.map +0 -1
  191. package/lib/cjs/styled/sstyled.js +0 -149
  192. package/lib/cjs/styled/sstyled.js.map +0 -1
  193. package/lib/cjs/theme/dark.json +0 -2506
  194. package/lib/cjs/theme/exclude-tokens.json +0 -10
  195. package/lib/cjs/theme/light.json +0 -2584
  196. package/lib/cjs/theme/processor.js +0 -315
  197. package/lib/cjs/theme/processor.js.map +0 -1
  198. package/lib/cjs/theme/themes/auto.css +0 -1465
  199. package/lib/cjs/theme/themes/dark.css +0 -723
  200. package/lib/cjs/theme/themes/dark.js +0 -385
  201. package/lib/cjs/theme/themes/dark.js.map +0 -1
  202. package/lib/cjs/theme/themes/default.css +0 -742
  203. package/lib/cjs/theme/themes/default.js +0 -394
  204. package/lib/cjs/theme/themes/default.js.map +0 -1
  205. package/lib/cjs/theme/themes/light.css +0 -742
  206. package/lib/cjs/theme/themes/light.js +0 -394
  207. package/lib/cjs/theme/themes/light.js.map +0 -1
  208. package/lib/cjs/theme/utils.js +0 -297
  209. package/lib/cjs/theme/utils.js.map +0 -1
  210. package/lib/cjs/utils/CSSinJS.js +0 -36
  211. package/lib/cjs/utils/CSSinJS.js.map +0 -1
  212. package/lib/cjs/utils/ScreenReaderOnly.js +0 -31
  213. package/lib/cjs/utils/ScreenReaderOnly.js.map +0 -1
  214. package/lib/cjs/utils/ThemeProvider.js +0 -82
  215. package/lib/cjs/utils/ThemeProvider.js.map +0 -1
  216. package/lib/cjs/utils/addonText.js +0 -18
  217. package/lib/cjs/utils/addonText.js.map +0 -1
  218. package/lib/cjs/utils/addonTextChildren.js +0 -45
  219. package/lib/cjs/utils/addonTextChildren.js.map +0 -1
  220. package/lib/cjs/utils/ariaProps.js +0 -22
  221. package/lib/cjs/utils/ariaProps.js.map +0 -1
  222. package/lib/cjs/utils/assignProps.js +0 -93
  223. package/lib/cjs/utils/assignProps.js.map +0 -1
  224. package/lib/cjs/utils/canUseDOM.js +0 -10
  225. package/lib/cjs/utils/canUseDOM.js.map +0 -1
  226. package/lib/cjs/utils/capitalizeFirstLetter.js +0 -10
  227. package/lib/cjs/utils/capitalizeFirstLetter.js.map +0 -1
  228. package/lib/cjs/utils/color.js +0 -208
  229. package/lib/cjs/utils/color.js.map +0 -1
  230. package/lib/cjs/utils/compose.js +0 -21
  231. package/lib/cjs/utils/compose.js.map +0 -1
  232. package/lib/cjs/utils/createHoc.js +0 -55
  233. package/lib/cjs/utils/createHoc.js.map +0 -1
  234. package/lib/cjs/utils/createUUID.js +0 -15
  235. package/lib/cjs/utils/createUUID.js.map +0 -1
  236. package/lib/cjs/utils/cssToIntDefault.js +0 -22
  237. package/lib/cjs/utils/cssToIntDefault.js.map +0 -1
  238. package/lib/cjs/utils/enhances/WithAutoFocus.js +0 -75
  239. package/lib/cjs/utils/enhances/WithAutoFocus.js.map +0 -1
  240. package/lib/cjs/utils/enhances/WithCSS.js +0 -93
  241. package/lib/cjs/utils/enhances/WithCSS.js.map +0 -1
  242. package/lib/cjs/utils/enhances/WithI18n.js +0 -95
  243. package/lib/cjs/utils/enhances/WithI18n.js.map +0 -1
  244. package/lib/cjs/utils/enhances/WithKeyboardFocus.js +0 -93
  245. package/lib/cjs/utils/enhances/WithKeyboardFocus.js.map +0 -1
  246. package/lib/cjs/utils/enhances/WithRef.js +0 -26
  247. package/lib/cjs/utils/enhances/WithRef.js.map +0 -1
  248. package/lib/cjs/utils/enhances/a11yEnhance.js +0 -74
  249. package/lib/cjs/utils/enhances/a11yEnhance.js.map +0 -1
  250. package/lib/cjs/utils/enhances/animatedSizeEnhance.js +0 -98
  251. package/lib/cjs/utils/enhances/animatedSizeEnhance.js.map +0 -1
  252. package/lib/cjs/utils/enhances/autoFocusEnhance.js +0 -46
  253. package/lib/cjs/utils/enhances/autoFocusEnhance.js.map +0 -1
  254. package/lib/cjs/utils/enhances/contextEnhance.js +0 -22
  255. package/lib/cjs/utils/enhances/contextEnhance.js.map +0 -1
  256. package/lib/cjs/utils/enhances/i18nEnhance.js +0 -101
  257. package/lib/cjs/utils/enhances/i18nEnhance.js.map +0 -1
  258. package/lib/cjs/utils/enhances/keyboardFocusEnhance.js +0 -63
  259. package/lib/cjs/utils/enhances/keyboardFocusEnhance.js.map +0 -1
  260. package/lib/cjs/utils/enhances/resolveColorEnhance.js +0 -25
  261. package/lib/cjs/utils/enhances/resolveColorEnhance.js.map +0 -1
  262. package/lib/cjs/utils/eventEmitter.js +0 -41
  263. package/lib/cjs/utils/eventEmitter.js.map +0 -1
  264. package/lib/cjs/utils/findComponent.js +0 -106
  265. package/lib/cjs/utils/findComponent.js.map +0 -1
  266. package/lib/cjs/utils/fire.js +0 -23
  267. package/lib/cjs/utils/fire.js.map +0 -1
  268. package/lib/cjs/utils/focus-lock/focusBorders.js +0 -72
  269. package/lib/cjs/utils/focus-lock/focusBorders.js.map +0 -1
  270. package/lib/cjs/utils/focus-lock/getFocusableIn.js +0 -26
  271. package/lib/cjs/utils/focus-lock/getFocusableIn.js.map +0 -1
  272. package/lib/cjs/utils/focus-lock/isFocusInside.js +0 -16
  273. package/lib/cjs/utils/focus-lock/isFocusInside.js.map +0 -1
  274. package/lib/cjs/utils/focus-lock/isFocusable.js +0 -51
  275. package/lib/cjs/utils/focus-lock/isFocusable.js.map +0 -1
  276. package/lib/cjs/utils/focus-lock/setFocus.js +0 -63
  277. package/lib/cjs/utils/focus-lock/setFocus.js.map +0 -1
  278. package/lib/cjs/utils/getAccessibleName.js +0 -56
  279. package/lib/cjs/utils/getAccessibleName.js.map +0 -1
  280. package/lib/cjs/utils/getDisplayName.js +0 -10
  281. package/lib/cjs/utils/getDisplayName.js.map +0 -1
  282. package/lib/cjs/utils/getEventTarget.js +0 -53
  283. package/lib/cjs/utils/getEventTarget.js.map +0 -1
  284. package/lib/cjs/utils/getOriginChildren.js +0 -18
  285. package/lib/cjs/utils/getOriginChildren.js.map +0 -1
  286. package/lib/cjs/utils/getRandomInt.js +0 -11
  287. package/lib/cjs/utils/getRandomInt.js.map +0 -1
  288. package/lib/cjs/utils/getValue.js +0 -16
  289. package/lib/cjs/utils/getValue.js.map +0 -1
  290. package/lib/cjs/utils/hasLabels.js +0 -47
  291. package/lib/cjs/utils/hasLabels.js.map +0 -1
  292. package/lib/cjs/utils/hasParent.js +0 -14
  293. package/lib/cjs/utils/hasParent.js.map +0 -1
  294. package/lib/cjs/utils/if.js +0 -16
  295. package/lib/cjs/utils/if.js.map +0 -1
  296. package/lib/cjs/utils/ifChildren.js +0 -17
  297. package/lib/cjs/utils/ifChildren.js.map +0 -1
  298. package/lib/cjs/utils/injectStyle.js +0 -49
  299. package/lib/cjs/utils/injectStyle.js.map +0 -1
  300. package/lib/cjs/utils/inputProps.js +0 -22
  301. package/lib/cjs/utils/inputProps.js.map +0 -1
  302. package/lib/cjs/utils/isNode.js +0 -28
  303. package/lib/cjs/utils/isNode.js.map +0 -1
  304. package/lib/cjs/utils/isPromise.js +0 -10
  305. package/lib/cjs/utils/isPromise.js.map +0 -1
  306. package/lib/cjs/utils/isRetina.js +0 -15
  307. package/lib/cjs/utils/isRetina.js.map +0 -1
  308. package/lib/cjs/utils/logger.js +0 -40
  309. package/lib/cjs/utils/logger.js.map +0 -1
  310. package/lib/cjs/utils/numericChecker.js +0 -33
  311. package/lib/cjs/utils/numericChecker.js.map +0 -1
  312. package/lib/cjs/utils/ownerDocument.js +0 -10
  313. package/lib/cjs/utils/ownerDocument.js.map +0 -1
  314. package/lib/cjs/utils/pick.js +0 -19
  315. package/lib/cjs/utils/pick.js.map +0 -1
  316. package/lib/cjs/utils/propsForElement.js +0 -59
  317. package/lib/cjs/utils/propsForElement.js.map +0 -1
  318. package/lib/cjs/utils/rafTrottle.js +0 -33
  319. package/lib/cjs/utils/rafTrottle.js.map +0 -1
  320. package/lib/cjs/utils/reactToText.js +0 -33
  321. package/lib/cjs/utils/reactToText.js.map +0 -1
  322. package/lib/cjs/utils/ref.js +0 -95
  323. package/lib/cjs/utils/ref.js.map +0 -1
  324. package/lib/cjs/utils/setRef.js +0 -10
  325. package/lib/cjs/utils/setRef.js.map +0 -1
  326. package/lib/cjs/utils/syncScroll.js +0 -61
  327. package/lib/cjs/utils/syncScroll.js.map +0 -1
  328. package/lib/cjs/utils/uncontroll.js +0 -47
  329. package/lib/cjs/utils/uncontroll.js.map +0 -1
  330. package/lib/cjs/utils/uniqueID.js +0 -42
  331. package/lib/cjs/utils/uniqueID.js.map +0 -1
  332. package/lib/cjs/utils/use/useColorResolver.js +0 -208
  333. package/lib/cjs/utils/use/useColorResolver.js.map +0 -1
  334. package/lib/cjs/utils/use/useCss.js +0 -20
  335. package/lib/cjs/utils/use/useCss.js.map +0 -1
  336. package/lib/cjs/utils/use/useEnhancedEffect.js +0 -13
  337. package/lib/cjs/utils/use/useEnhancedEffect.js.map +0 -1
  338. package/lib/cjs/utils/use/useEventCallback.js +0 -25
  339. package/lib/cjs/utils/use/useEventCallback.js.map +0 -1
  340. package/lib/cjs/utils/use/useEventListener.js +0 -33
  341. package/lib/cjs/utils/use/useEventListener.js.map +0 -1
  342. package/lib/cjs/utils/use/useFocusLock.js +0 -289
  343. package/lib/cjs/utils/use/useFocusLock.js.map +0 -1
  344. package/lib/cjs/utils/use/usePreventScroll.js +0 -78
  345. package/lib/cjs/utils/use/usePreventScroll.js.map +0 -1
  346. package/lib/cjs/utils/useCssVariable.js +0 -55
  347. package/lib/cjs/utils/useCssVariable.js.map +0 -1
  348. package/lib/cjs/utils/zIndexStacking.js +0 -48
  349. package/lib/cjs/utils/zIndexStacking.js.map +0 -1
  350. package/lib/es6/LastInteractionType.js +0 -49
  351. package/lib/es6/LastInteractionType.js.map +0 -1
  352. package/lib/es6/core-types/Component.js +0 -54
  353. package/lib/es6/core-types/Component.js.map +0 -1
  354. package/lib/es6/core-types/UnknownProperties.js +0 -2
  355. package/lib/es6/core-types/UnknownProperties.js.map +0 -1
  356. package/lib/es6/core-types/reshadow.d.js +0 -2
  357. package/lib/es6/core-types/reshadow.d.js.map +0 -1
  358. package/lib/es6/core-types/symbols.js +0 -10
  359. package/lib/es6/core-types/symbols.js.map +0 -1
  360. package/lib/es6/coreFactory.js +0 -343
  361. package/lib/es6/coreFactory.js.map +0 -1
  362. package/lib/es6/enhancement/Children.js +0 -111
  363. package/lib/es6/enhancement/Children.js.map +0 -1
  364. package/lib/es6/enhancement/Root.js +0 -70
  365. package/lib/es6/enhancement/Root.js.map +0 -1
  366. package/lib/es6/enhancement/bindHandler.js.map +0 -1
  367. package/lib/es6/enhancement/dataName.js +0 -12
  368. package/lib/es6/enhancement/dataName.js.map +0 -1
  369. package/lib/es6/enhancement/enhance.js.map +0 -1
  370. package/lib/es6/enhancement/functionDefaultProps.js.map +0 -1
  371. package/lib/es6/enhancement/hoistProps.js.map +0 -1
  372. package/lib/es6/enhancement/i18n.js +0 -20
  373. package/lib/es6/enhancement/i18n.js.map +0 -1
  374. package/lib/es6/enhancement/inheritedName.js.map +0 -1
  375. package/lib/es6/enhancement/staticChildren.js.map +0 -1
  376. package/lib/es6/enhancement/style.js.map +0 -1
  377. package/lib/es6/enhancement/uncontrolledProps.js.map +0 -1
  378. package/lib/es6/index.js +0 -9
  379. package/lib/es6/index.js.map +0 -1
  380. package/lib/es6/register.js +0 -29
  381. package/lib/es6/register.js.map +0 -1
  382. package/lib/es6/styled/index.js +0 -6
  383. package/lib/es6/styled/index.js.map +0 -1
  384. package/lib/es6/styled/reshadow-core.js +0 -243
  385. package/lib/es6/styled/reshadow-core.js.map +0 -1
  386. package/lib/es6/styled/sstyled.js +0 -142
  387. package/lib/es6/styled/sstyled.js.map +0 -1
  388. package/lib/es6/theme/dark.json +0 -2506
  389. package/lib/es6/theme/exclude-tokens.json +0 -10
  390. package/lib/es6/theme/light.json +0 -2584
  391. package/lib/es6/theme/processor.js +0 -307
  392. package/lib/es6/theme/processor.js.map +0 -1
  393. package/lib/es6/theme/themes/auto.css +0 -1465
  394. package/lib/es6/theme/themes/dark.css +0 -723
  395. package/lib/es6/theme/themes/dark.js +0 -378
  396. package/lib/es6/theme/themes/dark.js.map +0 -1
  397. package/lib/es6/theme/themes/default.css +0 -742
  398. package/lib/es6/theme/themes/default.js +0 -387
  399. package/lib/es6/theme/themes/default.js.map +0 -1
  400. package/lib/es6/theme/themes/light.css +0 -742
  401. package/lib/es6/theme/themes/light.js +0 -387
  402. package/lib/es6/theme/themes/light.js.map +0 -1
  403. package/lib/es6/theme/utils.js +0 -286
  404. package/lib/es6/theme/utils.js.map +0 -1
  405. package/lib/es6/utils/CSSinJS.js +0 -28
  406. package/lib/es6/utils/CSSinJS.js.map +0 -1
  407. package/lib/es6/utils/ScreenReaderOnly.js +0 -24
  408. package/lib/es6/utils/ScreenReaderOnly.js.map +0 -1
  409. package/lib/es6/utils/ThemeProvider.js +0 -71
  410. package/lib/es6/utils/ThemeProvider.js.map +0 -1
  411. package/lib/es6/utils/addonText.js +0 -11
  412. package/lib/es6/utils/addonText.js.map +0 -1
  413. package/lib/es6/utils/addonTextChildren.js +0 -37
  414. package/lib/es6/utils/addonTextChildren.js.map +0 -1
  415. package/lib/es6/utils/ariaProps.js +0 -16
  416. package/lib/es6/utils/ariaProps.js.map +0 -1
  417. package/lib/es6/utils/assignProps.js.map +0 -1
  418. package/lib/es6/utils/canUseDOM.js +0 -4
  419. package/lib/es6/utils/canUseDOM.js.map +0 -1
  420. package/lib/es6/utils/capitalizeFirstLetter.js +0 -4
  421. package/lib/es6/utils/capitalizeFirstLetter.js.map +0 -1
  422. package/lib/es6/utils/color.js +0 -196
  423. package/lib/es6/utils/color.js.map +0 -1
  424. package/lib/es6/utils/compose.js +0 -15
  425. package/lib/es6/utils/compose.js.map +0 -1
  426. package/lib/es6/utils/createHoc.js +0 -46
  427. package/lib/es6/utils/createHoc.js.map +0 -1
  428. package/lib/es6/utils/createUUID.js +0 -9
  429. package/lib/es6/utils/createUUID.js.map +0 -1
  430. package/lib/es6/utils/cssToIntDefault.js +0 -16
  431. package/lib/es6/utils/cssToIntDefault.js.map +0 -1
  432. package/lib/es6/utils/enhances/WithAutoFocus.js +0 -67
  433. package/lib/es6/utils/enhances/WithAutoFocus.js.map +0 -1
  434. package/lib/es6/utils/enhances/WithCSS.js +0 -79
  435. package/lib/es6/utils/enhances/WithCSS.js.map +0 -1
  436. package/lib/es6/utils/enhances/WithI18n.js +0 -83
  437. package/lib/es6/utils/enhances/WithI18n.js.map +0 -1
  438. package/lib/es6/utils/enhances/WithKeyboardFocus.js +0 -84
  439. package/lib/es6/utils/enhances/WithKeyboardFocus.js.map +0 -1
  440. package/lib/es6/utils/enhances/WithRef.js +0 -18
  441. package/lib/es6/utils/enhances/WithRef.js.map +0 -1
  442. package/lib/es6/utils/enhances/a11yEnhance.js +0 -66
  443. package/lib/es6/utils/enhances/a11yEnhance.js.map +0 -1
  444. package/lib/es6/utils/enhances/animatedSizeEnhance.js +0 -90
  445. package/lib/es6/utils/enhances/animatedSizeEnhance.js.map +0 -1
  446. package/lib/es6/utils/enhances/autoFocusEnhance.js +0 -38
  447. package/lib/es6/utils/enhances/autoFocusEnhance.js.map +0 -1
  448. package/lib/es6/utils/enhances/contextEnhance.js +0 -14
  449. package/lib/es6/utils/enhances/contextEnhance.js.map +0 -1
  450. package/lib/es6/utils/enhances/i18nEnhance.js +0 -92
  451. package/lib/es6/utils/enhances/i18nEnhance.js.map +0 -1
  452. package/lib/es6/utils/enhances/keyboardFocusEnhance.js +0 -57
  453. package/lib/es6/utils/enhances/keyboardFocusEnhance.js.map +0 -1
  454. package/lib/es6/utils/enhances/resolveColorEnhance.js +0 -17
  455. package/lib/es6/utils/enhances/resolveColorEnhance.js.map +0 -1
  456. package/lib/es6/utils/eventEmitter.js +0 -34
  457. package/lib/es6/utils/eventEmitter.js.map +0 -1
  458. package/lib/es6/utils/findComponent.js +0 -95
  459. package/lib/es6/utils/findComponent.js.map +0 -1
  460. package/lib/es6/utils/fire.js +0 -15
  461. package/lib/es6/utils/fire.js.map +0 -1
  462. package/lib/es6/utils/focus-lock/focusBorders.js +0 -62
  463. package/lib/es6/utils/focus-lock/focusBorders.js.map +0 -1
  464. package/lib/es6/utils/focus-lock/getFocusableIn.js +0 -19
  465. package/lib/es6/utils/focus-lock/getFocusableIn.js.map +0 -1
  466. package/lib/es6/utils/focus-lock/isFocusInside.js +0 -9
  467. package/lib/es6/utils/focus-lock/isFocusInside.js.map +0 -1
  468. package/lib/es6/utils/focus-lock/isFocusable.js +0 -43
  469. package/lib/es6/utils/focus-lock/isFocusable.js.map +0 -1
  470. package/lib/es6/utils/focus-lock/setFocus.js +0 -55
  471. package/lib/es6/utils/focus-lock/setFocus.js.map +0 -1
  472. package/lib/es6/utils/getAccessibleName.js +0 -49
  473. package/lib/es6/utils/getAccessibleName.js.map +0 -1
  474. package/lib/es6/utils/getDisplayName.js +0 -4
  475. package/lib/es6/utils/getDisplayName.js.map +0 -1
  476. package/lib/es6/utils/getEventTarget.js +0 -45
  477. package/lib/es6/utils/getEventTarget.js.map +0 -1
  478. package/lib/es6/utils/getOriginChildren.js +0 -10
  479. package/lib/es6/utils/getOriginChildren.js.map +0 -1
  480. package/lib/es6/utils/getRandomInt.js +0 -5
  481. package/lib/es6/utils/getRandomInt.js.map +0 -1
  482. package/lib/es6/utils/getValue.js +0 -10
  483. package/lib/es6/utils/getValue.js.map +0 -1
  484. package/lib/es6/utils/hasLabels.js +0 -39
  485. package/lib/es6/utils/hasLabels.js.map +0 -1
  486. package/lib/es6/utils/hasParent.js +0 -7
  487. package/lib/es6/utils/hasParent.js.map +0 -1
  488. package/lib/es6/utils/if.js +0 -9
  489. package/lib/es6/utils/if.js.map +0 -1
  490. package/lib/es6/utils/ifChildren.js +0 -10
  491. package/lib/es6/utils/ifChildren.js.map +0 -1
  492. package/lib/es6/utils/injectStyle.js +0 -41
  493. package/lib/es6/utils/injectStyle.js.map +0 -1
  494. package/lib/es6/utils/inputProps.js +0 -14
  495. package/lib/es6/utils/inputProps.js.map +0 -1
  496. package/lib/es6/utils/isNode.js +0 -21
  497. package/lib/es6/utils/isNode.js.map +0 -1
  498. package/lib/es6/utils/isPromise.js +0 -4
  499. package/lib/es6/utils/isPromise.js.map +0 -1
  500. package/lib/es6/utils/isRetina.js +0 -9
  501. package/lib/es6/utils/isRetina.js.map +0 -1
  502. package/lib/es6/utils/logger.js +0 -32
  503. package/lib/es6/utils/logger.js.map +0 -1
  504. package/lib/es6/utils/numericChecker.js +0 -27
  505. package/lib/es6/utils/numericChecker.js.map +0 -1
  506. package/lib/es6/utils/ownerDocument.js +0 -4
  507. package/lib/es6/utils/ownerDocument.js.map +0 -1
  508. package/lib/es6/utils/pick.js.map +0 -1
  509. package/lib/es6/utils/propsForElement.js +0 -50
  510. package/lib/es6/utils/propsForElement.js.map +0 -1
  511. package/lib/es6/utils/rafTrottle.js +0 -26
  512. package/lib/es6/utils/rafTrottle.js.map +0 -1
  513. package/lib/es6/utils/reactToText.js +0 -26
  514. package/lib/es6/utils/reactToText.js.map +0 -1
  515. package/lib/es6/utils/ref.js +0 -83
  516. package/lib/es6/utils/ref.js.map +0 -1
  517. package/lib/es6/utils/setRef.js +0 -3
  518. package/lib/es6/utils/setRef.js.map +0 -1
  519. package/lib/es6/utils/syncScroll.js +0 -54
  520. package/lib/es6/utils/syncScroll.js.map +0 -1
  521. package/lib/es6/utils/uncontroll.js +0 -38
  522. package/lib/es6/utils/uncontroll.js.map +0 -1
  523. package/lib/es6/utils/uniqueID.js +0 -33
  524. package/lib/es6/utils/uniqueID.js.map +0 -1
  525. package/lib/es6/utils/use/useColorResolver.js +0 -200
  526. package/lib/es6/utils/use/useColorResolver.js.map +0 -1
  527. package/lib/es6/utils/use/useCss.js +0 -12
  528. package/lib/es6/utils/use/useCss.js.map +0 -1
  529. package/lib/es6/utils/use/useEnhancedEffect.js +0 -5
  530. package/lib/es6/utils/use/useEnhancedEffect.js.map +0 -1
  531. package/lib/es6/utils/use/useEventCallback.js +0 -19
  532. package/lib/es6/utils/use/useEventCallback.js.map +0 -1
  533. package/lib/es6/utils/use/useEventListener.js +0 -25
  534. package/lib/es6/utils/use/useEventListener.js.map +0 -1
  535. package/lib/es6/utils/use/useFocusLock.js +0 -266
  536. package/lib/es6/utils/use/useFocusLock.js.map +0 -1
  537. package/lib/es6/utils/use/usePreventScroll.js +0 -70
  538. package/lib/es6/utils/use/usePreventScroll.js.map +0 -1
  539. package/lib/es6/utils/useCssVariable.js +0 -46
  540. package/lib/es6/utils/useCssVariable.js.map +0 -1
  541. package/lib/es6/utils/zIndexStacking.js +0 -38
  542. package/lib/es6/utils/zIndexStacking.js.map +0 -1
  543. package/lib/esm/_virtual/_commonjsHelpers.mjs +0 -6
  544. package/lib/esm/_virtual/index.mjs +0 -4
  545. package/lib/esm/_virtual/index2.mjs +0 -4
  546. package/lib/esm/_virtual/react-is.development.mjs +0 -4
  547. package/lib/esm/_virtual/react-is.production.min.mjs +0 -4
  548. package/lib/types/LastInteractionType.d.ts +0 -11
  549. package/lib/types/core-types/UnknownProperties.d.ts +0 -3
  550. package/lib/types/core-types/symbols.d.ts +0 -9
  551. package/lib/types/register.d.ts +0 -8
  552. package/lib/types/styled/index.d.ts +0 -11
  553. package/lib/types/styled/reshadow-core.d.ts +0 -37
  554. package/lib/types/styled/sstyled.d.ts +0 -17
  555. package/lib/types/theme/themes/default.d.ts +0 -387
  556. package/lib/types/utils/CSSinJS.d.ts +0 -5
  557. package/lib/types/utils/ScreenReaderOnly.d.ts +0 -8
  558. package/lib/types/utils/ThemeProvider.d.ts +0 -15
  559. package/lib/types/utils/addonText.d.ts +0 -2
  560. package/lib/types/utils/addonTextChildren.d.ts +0 -3
  561. package/lib/types/utils/ariaProps.d.ts +0 -12
  562. package/lib/types/utils/assignProps.d.ts +0 -11
  563. package/lib/types/utils/canUseDOM.d.ts +0 -1
  564. package/lib/types/utils/capitalizeFirstLetter.d.ts +0 -1
  565. package/lib/types/utils/color.d.ts +0 -5
  566. package/lib/types/utils/compose.d.ts +0 -1
  567. package/lib/types/utils/createHoc.d.ts +0 -3
  568. package/lib/types/utils/createUUID.d.ts +0 -1
  569. package/lib/types/utils/cssToIntDefault.d.ts +0 -8
  570. package/lib/types/utils/enhances/WithAutoFocus.d.ts +0 -14
  571. package/lib/types/utils/enhances/WithCSS.d.ts +0 -41
  572. package/lib/types/utils/enhances/WithI18n.d.ts +0 -43
  573. package/lib/types/utils/enhances/WithKeyboardFocus.d.ts +0 -45
  574. package/lib/types/utils/enhances/WithRef.d.ts +0 -3
  575. package/lib/types/utils/enhances/a11yEnhance.d.ts +0 -10
  576. package/lib/types/utils/enhances/animatedSizeEnhance.d.ts +0 -12
  577. package/lib/types/utils/enhances/autoFocusEnhance.d.ts +0 -10
  578. package/lib/types/utils/enhances/contextEnhance.d.ts +0 -3
  579. package/lib/types/utils/enhances/i18nEnhance.d.ts +0 -25
  580. package/lib/types/utils/enhances/keyboardFocusEnhance.d.ts +0 -27
  581. package/lib/types/utils/enhances/resolveColorEnhance.d.ts +0 -2
  582. package/lib/types/utils/eventEmitter.d.ts +0 -9
  583. package/lib/types/utils/findComponent.d.ts +0 -12
  584. package/lib/types/utils/fire.d.ts +0 -2
  585. package/lib/types/utils/focus-lock/focusBorders.d.ts +0 -4
  586. package/lib/types/utils/focus-lock/getFocusableIn.d.ts +0 -1
  587. package/lib/types/utils/focus-lock/isFocusInside.d.ts +0 -1
  588. package/lib/types/utils/focus-lock/isFocusable.d.ts +0 -1
  589. package/lib/types/utils/focus-lock/setFocus.d.ts +0 -1
  590. package/lib/types/utils/getAccessibleName.d.ts +0 -1
  591. package/lib/types/utils/getDisplayName.d.ts +0 -2
  592. package/lib/types/utils/getEventTarget.d.ts +0 -1
  593. package/lib/types/utils/getOriginChildren.d.ts +0 -2
  594. package/lib/types/utils/getRandomInt.d.ts +0 -1
  595. package/lib/types/utils/getValue.d.ts +0 -1
  596. package/lib/types/utils/hasLabels.d.ts +0 -7
  597. package/lib/types/utils/hasParent.d.ts +0 -1
  598. package/lib/types/utils/if.d.ts +0 -11
  599. package/lib/types/utils/ifChildren.d.ts +0 -8
  600. package/lib/types/utils/injectStyle.d.ts +0 -2
  601. package/lib/types/utils/inputProps.d.ts +0 -2
  602. package/lib/types/utils/isNode.d.ts +0 -1
  603. package/lib/types/utils/isPromise.d.ts +0 -1
  604. package/lib/types/utils/isRetina.d.ts +0 -1
  605. package/lib/types/utils/logger.d.ts +0 -9
  606. package/lib/types/utils/numericChecker.d.ts +0 -5
  607. package/lib/types/utils/ownerDocument.d.ts +0 -1
  608. package/lib/types/utils/pick.d.ts +0 -1
  609. package/lib/types/utils/propsForElement.d.ts +0 -3
  610. package/lib/types/utils/rafTrottle.d.ts +0 -2
  611. package/lib/types/utils/reactToText.d.ts +0 -3
  612. package/lib/types/utils/ref.d.ts +0 -8
  613. package/lib/types/utils/setRef.d.ts +0 -2
  614. package/lib/types/utils/syncScroll.d.ts +0 -1
  615. package/lib/types/utils/uncontroll.d.ts +0 -4
  616. package/lib/types/utils/uniqueID.d.ts +0 -12
  617. package/lib/types/utils/use/useColorResolver.d.ts +0 -1
  618. package/lib/types/utils/use/useCss.d.ts +0 -4
  619. package/lib/types/utils/use/useEnhancedEffect.d.ts +0 -3
  620. package/lib/types/utils/use/useEventCallback.d.ts +0 -4
  621. package/lib/types/utils/use/useEventListener.d.ts +0 -2
  622. package/lib/types/utils/use/useFocusLock.d.ts +0 -10
  623. package/lib/types/utils/use/usePreventScroll.d.ts +0 -2
  624. package/lib/types/utils/useCssVariable.d.ts +0 -8
  625. package/lib/types/utils/zIndexStacking.d.ts +0 -8
  626. /package/lib/{cjs/LastInteractionType.js → LastInteractionType.js} +0 -0
  627. /package/lib/{types/coreFactory.d.ts → coreFactory.d.ts} +0 -0
  628. /package/lib/{cjs/coreFactory.js → coreFactory.js} +0 -0
  629. /package/lib/{types/enhancement → enhancement}/Children.d.ts +0 -0
  630. /package/lib/{types/enhancement → enhancement}/Root.d.ts +0 -0
  631. /package/lib/{types/enhancement → enhancement}/bindHandler.d.ts +0 -0
  632. /package/lib/{types/enhancement → enhancement}/dataName.d.ts +0 -0
  633. /package/lib/{types/enhancement → enhancement}/enhance.d.ts +0 -0
  634. /package/lib/{types/enhancement → enhancement}/functionDefaultProps.d.ts +0 -0
  635. /package/lib/{types/enhancement → enhancement}/hoistProps.d.ts +0 -0
  636. /package/lib/{types/enhancement → enhancement}/i18n.d.ts +0 -0
  637. /package/lib/{types/enhancement → enhancement}/inheritedName.d.ts +0 -0
  638. /package/lib/{types/enhancement → enhancement}/staticChildren.d.ts +0 -0
  639. /package/lib/{types/enhancement → enhancement}/style.d.ts +0 -0
  640. /package/lib/{types/enhancement → enhancement}/uncontrolledProps.d.ts +0 -0
  641. /package/lib/{types/index.d.ts → index.d.ts} +0 -0
  642. /package/lib/{cjs/index.js → index.js} +0 -0
  643. /package/lib/{types/theme → theme}/processor.d.ts +0 -0
  644. /package/lib/{types/theme → theme}/utils.d.ts +0 -0
@@ -1,289 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.hasFocusableIn = void 0;
8
- Object.defineProperty(exports, "isFocusInside", {
9
- enumerable: true,
10
- get: function get() {
11
- return _isFocusInside.isFocusInside;
12
- }
13
- });
14
- exports.makeFocusLockSyntheticEvent = void 0;
15
- Object.defineProperty(exports, "setFocus", {
16
- enumerable: true,
17
- get: function get() {
18
- return _setFocus.setFocus;
19
- }
20
- });
21
- exports.useFocusLock = void 0;
22
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
23
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
24
- var _canUseDOM = _interopRequireDefault(require("../canUseDOM"));
25
- var _react = _interopRequireDefault(require("react"));
26
- var _isFocusInside = require("../focus-lock/isFocusInside");
27
- var _setFocus = require("../focus-lock/setFocus");
28
- var _getFocusableIn = require("../focus-lock/getFocusableIn");
29
- var _focusBorders = require("../focus-lock/focusBorders");
30
- var syntheticEvents = {
31
- blur: 'focusout-intergalactic-focus-lock-synthetic',
32
- keydown: 'keydown-intergalactic-focus-lock-synthetic'
33
- };
34
- /**
35
- * Synthetic event are special events that always bypass all propagation guards and reaches focus lock event listeners.
36
- * You should always prevent native event propagation in order to prevent focus enforcing double calls.
37
- */
38
- var makeFocusLockSyntheticEvent = function makeFocusLockSyntheticEvent(baseEvent) {
39
- var event = baseEvent;
40
- var type = event.type;
41
- if (!(type in syntheticEvents)) {
42
- var supported = Object.keys(syntheticEvents).join(', ');
43
- throw new Error("Unable to make synthetic event for ".concat(type, ", ").concat(supported, " are supported"));
44
- }
45
- var syntheticEvent = new Event(syntheticEvents[type], {
46
- bubbles: true
47
- });
48
- Object.defineProperty(syntheticEvent, 'target', {
49
- writable: false,
50
- value: event.target
51
- });
52
- Object.defineProperty(syntheticEvent, 'relatedTarget', {
53
- writable: false,
54
- value: event.relatedTarget
55
- });
56
- return syntheticEvent;
57
- };
58
- exports.makeFocusLockSyntheticEvent = makeFocusLockSyntheticEvent;
59
- var useFocusBorders = function useFocusBorders(React, disabled, trapRef) {
60
- useUniqueIdHookMock(React);
61
- React.useEffect(function () {
62
- var trapNode = trapRef === null || trapRef === void 0 ? void 0 : trapRef.current;
63
- if (trapNode && !disabled && (0, _getFocusableIn.getFocusableIn)(trapNode).length > 0) {
64
- (0, _focusBorders.addFocusBorders)(trapNode);
65
- }
66
- return function () {
67
- if (trapNode) {
68
- (0, _focusBorders.removeFocusBorders)(trapNode);
69
- }
70
- };
71
- }, [disabled]);
72
- };
73
- var uniqueId = 0;
74
- var getUniqueId = function getUniqueId(prefix) {
75
- return "".concat(prefix, "-").concat(Math.random().toString(36).slice(2), "-").concat(uniqueId++);
76
- };
77
-
78
- /**
79
- * # Focus lock hook merging
80
- * In some cases same page might contain different versions of components.
81
- * In such cases, we need to ensure that only one version of focus lock hook is used.
82
- * So, it's why we have `useFocusLockHook` function that is wrapped into `useFocusLock`.
83
- *
84
- * While evaluating this file code, we check if global focus lock hook is already defined.
85
- * If it's defined, we replace it ONLY if our version is higher and no components currently use it.
86
- * The last condition is very important because we are unable to replace React hook without reimplementing
87
- * React hooks lifecycle in some kind of wrapper.
88
- *
89
- * ## Versioning
90
- * Such versions merging requires us to keep hook api backward compatible.
91
- * When hook logic changes, the variable `focusLockVersion` should be incremented.
92
- *
93
- * Version update `1 -> 2`. Fixed call `safeMoveFocusInside` in `handleFocusIn` with correct second parameter (focusCameFrom instead of event.target)
94
- * Version update `2 -> 3`. Fixed React version isolation in nested hooks (`useFocusBorders`, `useUniqueId`).
95
- * Version update `3 -> 4`. Fixed lock for correct working with iframes in modal
96
- * Version update `4 -> 5`. Changed placements for border - now they wrap trap node
97
- *
98
- * Initially (for a several versions) key was `__intergalactic_focus_lock_hook_`.
99
- * Making it respect react version required to change key. So key was changed to `__intergalactic_focus_lock_hook_react_v_respectful`.
100
- *
101
- * ## React hooks order
102
- * When updating from version 2 to version 3 `useUniqueId` hook was removed.
103
- * Due to replacing useFocusLock hook in runtime, the order of hooks must be preserved.
104
- * So, useUniqueIdHookMock helps to preserve hooks order when hook is being replaced from version 2 to version 3.
105
- *
106
- * If new update requires to remove some hooks – add mocks instead of them.
107
- * If new update requires to add some hooks and no workaround with current hooks list is possible – probably focus lock hook key should be changed.
108
- */
109
- var focusLockVersion = 5;
110
- var globalFocusLockHookKey = '__intergalactic_focus_lock_hook_react_v_respectful';
111
- var focusLockAllTraps = new Set();
112
- var focusLockUsedInMountedComponents = new Set();
113
- /** Focus master is a special mode in which focus lock might work.
114
- * Normally, focus lock hook allows user focus to move freely between
115
- * all active focus traps. When component provides `focusMaster=true`
116
- * parameter, it says that it doesn't want to share focus with other traps.
117
- * It is very useful for a big components like modals or side-bars that
118
- * also have some visual backdrop.
119
- * The last element in focus masters stack is considered as a current focus master.
120
- */
121
- var focusMastersStack = [];
122
- var noop = function noop() {};
123
- var useUniqueIdHookMock = function useUniqueIdHookMock(React) {
124
- React.useState(undefined);
125
- var useEnhancedEffect = (0, _canUseDOM["default"])() ? React.useLayoutEffect : React.useEffect;
126
- useEnhancedEffect(noop, []);
127
- };
128
- var useFocusLockHook = function useFocusLockHook(React, trapRef, autoFocus, returnFocusTo) {
129
- var disabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
130
- var focusMaster = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
131
- var onFocusOut = arguments.length > 6 ? arguments[6] : undefined;
132
- useFocusBorders(React, disabled, trapRef);
133
- var autoTriggerRef = React.useRef(null);
134
- var lastUserInteractionRef = React.useRef(undefined);
135
- var handleFocusOut = React.useCallback(function (event) {
136
- var focusCameFrom = event.target;
137
- var focusMovedTo = event.relatedTarget;
138
- setTimeout(function () {
139
- if (!focusCameFrom) return;
140
- if (autoTriggerRef.current) return;
141
- autoTriggerRef.current = focusCameFrom;
142
- }, 0);
143
- if (lastUserInteractionRef.current === 'mouse') return;
144
- Promise.resolve().then(function () {
145
- if (!trapRef.current) return;
146
- var currentFocusMaster = focusMastersStack[focusMastersStack.length - 1];
147
- if (currentFocusMaster && currentFocusMaster !== trapRef.current) return;
148
- var trapNodes = currentFocusMaster ? [trapRef.current] : [trapRef.current].concat((0, _toConsumableArray2["default"])(focusLockAllTraps));
149
- if ((0, _isFocusInside.isFocusInside)(trapNodes, focusMovedTo)) return;
150
- if ((0, _typeof2["default"])(returnFocusTo) === 'object' && returnFocusTo !== null && returnFocusTo !== void 0 && returnFocusTo.current && (0, _isFocusInside.isFocusInside)(returnFocusTo.current)) return;
151
- if (focusCameFrom && focusMovedTo) {
152
- (0, _setFocus.setFocus)(trapRef.current, focusCameFrom, focusMovedTo);
153
- }
154
- onFocusOut === null || onFocusOut === void 0 ? void 0 : onFocusOut(event);
155
- });
156
- }, [onFocusOut]);
157
- var handleMouseEvent = React.useCallback(function () {
158
- lastUserInteractionRef.current = 'mouse';
159
- }, []);
160
- var handleKeyboardEvent = React.useCallback(function () {
161
- lastUserInteractionRef.current = 'keyboard';
162
- }, []);
163
- var returnFocus = React.useCallback(function () {
164
- var trapNode = trapRef.current;
165
- if (trapNode && !(0, _isFocusInside.isFocusInside)(trapNode)) return;
166
- var focusMastersStackCount = focusMastersStack.length;
167
- if ((0, _typeof2["default"])(returnFocusTo) === 'object' && returnFocusTo !== null && returnFocusTo !== void 0 && returnFocusTo.current) {
168
- var returnFocusNode = returnFocusTo === null || returnFocusTo === void 0 ? void 0 : returnFocusTo.current;
169
- setTimeout(function () {
170
- if (focusMastersStackCount !== focusMastersStack.length) {
171
- (0, _setFocus.setFocus)(returnFocusNode, trapNode);
172
- }
173
- }, 0);
174
- }
175
- if (returnFocusTo === 'auto' && autoTriggerRef.current) {
176
- var autoTrigger = autoTriggerRef.current;
177
- setTimeout(function () {
178
- if (focusMastersStackCount !== focusMastersStack.length) {
179
- (0, _setFocus.setFocus)(autoTrigger, trapNode);
180
- }
181
- }, 0);
182
- }
183
- }, [returnFocusTo]);
184
- React.useEffect(function () {
185
- if ((0, _typeof2["default"])(trapRef) !== 'object' || trapRef === null) return;
186
- var node = trapRef.current;
187
- if (!node) return;
188
- focusLockAllTraps.add(node);
189
- return function () {
190
- if (!node) return;
191
- focusLockAllTraps["delete"](node);
192
- };
193
- }, [disabled]);
194
- React.useEffect(function () {
195
- if (disabled) return;
196
- if (!(0, _canUseDOM["default"])()) return;
197
- if (!trapRef.current) return;
198
- var focusableChildren = Array.from(trapRef.current.children).flatMap(function (node) {
199
- return (0, _getFocusableIn.getFocusableIn)(node);
200
- });
201
- if (focusableChildren.length === 0 && autoFocus !== 'enforced') return;
202
- document.body.addEventListener('focusout', handleFocusOut);
203
- document.body.addEventListener(syntheticEvents.blur, handleFocusOut);
204
- document.body.addEventListener('mousedown', handleMouseEvent);
205
- document.body.addEventListener('touchstart', handleMouseEvent);
206
- document.body.addEventListener('keydown', handleKeyboardEvent);
207
- document.body.addEventListener(syntheticEvents.keydown, handleKeyboardEvent);
208
- if (autoFocus) {
209
- setTimeout(function () {
210
- (0, _setFocus.setFocus)(trapRef.current, (0, _typeof2["default"])(returnFocusTo) === 'object' ? returnFocusTo === null || returnFocusTo === void 0 ? void 0 : returnFocusTo.current : document.body);
211
- }, 0);
212
- }
213
- return function () {
214
- document.body.removeEventListener('focusout', handleFocusOut);
215
- document.body.removeEventListener(syntheticEvents.blur, handleFocusOut);
216
- document.body.removeEventListener('mousedown', handleMouseEvent);
217
- document.body.removeEventListener('touchstart', handleMouseEvent);
218
- document.body.removeEventListener('keydown', handleKeyboardEvent);
219
- document.body.removeEventListener(syntheticEvents.keydown, handleKeyboardEvent);
220
- returnFocus();
221
- autoTriggerRef.current = null;
222
- };
223
- }, [disabled, autoFocus, returnFocusTo, returnFocus]);
224
- React.useEffect(function () {
225
- if ((0, _typeof2["default"])(trapRef) !== 'object' || trapRef === null) return;
226
- if (disabled) return;
227
- if (!(0, _canUseDOM["default"])()) return;
228
- if (!trapRef.current) return;
229
- var focusableChildren = Array.from(trapRef.current.children).flatMap(function (node) {
230
- return (0, _getFocusableIn.getFocusableIn)(node);
231
- });
232
- if (focusableChildren.length === 0) return;
233
- if (focusMaster) {
234
- focusMastersStack.push(trapRef.current);
235
- }
236
- return function () {
237
- if (!focusMaster) return;
238
- if (focusMastersStack[focusMastersStack.length - 1] === trapRef.current) {
239
- focusMastersStack.pop();
240
- } else {
241
- focusMastersStack.splice(focusMastersStack.indexOf(trapRef.current), 1);
242
- }
243
- };
244
- }, [disabled, focusMaster]);
245
- useUniqueIdHookMock(React);
246
- React.useEffect(function () {
247
- var id = getUniqueId('focus-lock-consumer');
248
- if (disabled) return;
249
- focusLockUsedInMountedComponents.add(id);
250
- return function () {
251
- focusLockUsedInMountedComponents["delete"](id);
252
- };
253
- }, [disabled]);
254
- };
255
- var establishHookAsGlobal = function establishHookAsGlobal() {
256
- globalThis[globalFocusLockHookKey] = {
257
- hook: useFocusLockHook,
258
- version: focusLockVersion,
259
- usedInComponents: focusLockUsedInMountedComponents
260
- };
261
- };
262
- if (!globalThis[globalFocusLockHookKey]) {
263
- establishHookAsGlobal();
264
- } else if (typeof globalThis[globalFocusLockHookKey].version !== 'number') {
265
- establishHookAsGlobal();
266
- } else {
267
- var _globalFocusLockHookK = globalThis[globalFocusLockHookKey],
268
- theirVersion = _globalFocusLockHookK.version,
269
- usedInComponents = _globalFocusLockHookK.usedInComponents;
270
- if (focusLockVersion > theirVersion && usedInComponents.size === 0) {
271
- establishHookAsGlobal();
272
- }
273
- }
274
- var useFocusLock = function useFocusLock(trapRef, autoFocus, returnFocusTo) {
275
- var _globalFocusLockHookK2, _globalFocusLockHookK3;
276
- var disabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
277
- var focusMaster = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
278
- var onFocusOut = arguments.length > 5 ? arguments[5] : undefined;
279
- var hook = (_globalFocusLockHookK2 = (_globalFocusLockHookK3 = globalThis[globalFocusLockHookKey]) === null || _globalFocusLockHookK3 === void 0 ? void 0 : _globalFocusLockHookK3.hook) !== null && _globalFocusLockHookK2 !== void 0 ? _globalFocusLockHookK2 : useFocusLockHook;
280
- return hook(_react["default"], trapRef, autoFocus, returnFocusTo, disabled, focusMaster, onFocusOut);
281
- };
282
- exports.useFocusLock = useFocusLock;
283
- var hasFocusableIn = function hasFocusableIn(element) {
284
- return Array.from(element.children).flatMap(function (node) {
285
- return (0, _getFocusableIn.getFocusableIn)(node);
286
- }).length > 0;
287
- };
288
- exports.hasFocusableIn = hasFocusableIn;
289
- //# sourceMappingURL=useFocusLock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusLock.js","names":["_canUseDOM","_interopRequireDefault","require","_react","_isFocusInside","_setFocus","_getFocusableIn","_focusBorders","syntheticEvents","blur","keydown","makeFocusLockSyntheticEvent","baseEvent","event","type","supported","Object","keys","join","Error","concat","syntheticEvent","Event","bubbles","defineProperty","writable","value","target","relatedTarget","exports","useFocusBorders","React","disabled","trapRef","useUniqueIdHookMock","useEffect","trapNode","current","getFocusableIn","length","addFocusBorders","removeFocusBorders","uniqueId","getUniqueId","prefix","Math","random","toString","slice","focusLockVersion","globalFocusLockHookKey","focusLockAllTraps","Set","focusLockUsedInMountedComponents","focusMastersStack","noop","useState","undefined","useEnhancedEffect","canUseDOM","useLayoutEffect","useFocusLockHook","autoFocus","returnFocusTo","arguments","focusMaster","onFocusOut","autoTriggerRef","useRef","lastUserInteractionRef","handleFocusOut","useCallback","focusCameFrom","focusMovedTo","setTimeout","Promise","resolve","then","currentFocusMaster","trapNodes","_toConsumableArray2","isFocusInside","_typeof2","setFocus","handleMouseEvent","handleKeyboardEvent","returnFocus","focusMastersStackCount","returnFocusNode","autoTrigger","node","add","focusableChildren","Array","from","children","flatMap","document","body","addEventListener","removeEventListener","push","pop","splice","indexOf","id","establishHookAsGlobal","globalThis","hook","version","usedInComponents","_globalFocusLockHookK","theirVersion","size","useFocusLock","_globalFocusLockHookK2","_globalFocusLockHookK3","LocalReact","hasFocusableIn","element"],"sources":["../../../../src/utils/use/useFocusLock.ts"],"sourcesContent":["import canUseDOM from '../canUseDOM';\nimport LocalReact from 'react';\n\nimport { isFocusInside } from '../focus-lock/isFocusInside';\nimport { setFocus } from '../focus-lock/setFocus';\nimport { getFocusableIn } from '../focus-lock/getFocusableIn';\nimport { addFocusBorders, removeFocusBorders } from '../focus-lock/focusBorders';\n\nexport { isFocusInside, setFocus };\n\nconst syntheticEvents = {\n blur: 'focusout-intergalactic-focus-lock-synthetic',\n keydown: 'keydown-intergalactic-focus-lock-synthetic',\n};\n/**\n * Synthetic event are special events that always bypass all propagation guards and reaches focus lock event listeners.\n * You should always prevent native event propagation in order to prevent focus enforcing double calls.\n */\nexport const makeFocusLockSyntheticEvent = (baseEvent: Event) => {\n const event = baseEvent as any;\n const type = event.type as keyof typeof syntheticEvents;\n if (!(type in syntheticEvents)) {\n const supported = Object.keys(syntheticEvents).join(', ');\n throw new Error(`Unable to make synthetic event for ${type}, ${supported} are supported`);\n }\n const syntheticEvent = new Event(syntheticEvents[type], {\n bubbles: true,\n });\n Object.defineProperty(syntheticEvent, 'target', { writable: false, value: event.target });\n Object.defineProperty(syntheticEvent, 'relatedTarget', {\n writable: false,\n value: event.relatedTarget,\n });\n return syntheticEvent;\n};\n\nconst useFocusBorders = (\n React: ReactT,\n disabled?: boolean,\n trapRef?: React.RefObject<HTMLElement>,\n) => {\n useUniqueIdHookMock(React);\n React.useEffect(() => {\n const trapNode = trapRef?.current;\n\n if (trapNode && !disabled && getFocusableIn(trapNode).length > 0) {\n addFocusBorders(trapNode);\n }\n\n return () => {\n if (trapNode) {\n removeFocusBorders(trapNode);\n }\n };\n }, [disabled]);\n};\n\ntype ReactT = typeof LocalReact;\n\nlet uniqueId = 0;\nconst getUniqueId = (prefix: string) =>\n `${prefix}-${Math.random().toString(36).slice(2)}-${uniqueId++}`;\n\n/**\n * # Focus lock hook merging\n * In some cases same page might contain different versions of components.\n * In such cases, we need to ensure that only one version of focus lock hook is used.\n * So, it's why we have `useFocusLockHook` function that is wrapped into `useFocusLock`.\n *\n * While evaluating this file code, we check if global focus lock hook is already defined.\n * If it's defined, we replace it ONLY if our version is higher and no components currently use it.\n * The last condition is very important because we are unable to replace React hook without reimplementing\n * React hooks lifecycle in some kind of wrapper.\n *\n * ## Versioning\n * Such versions merging requires us to keep hook api backward compatible.\n * When hook logic changes, the variable `focusLockVersion` should be incremented.\n *\n * Version update `1 -> 2`. Fixed call `safeMoveFocusInside` in `handleFocusIn` with correct second parameter (focusCameFrom instead of event.target)\n * Version update `2 -> 3`. Fixed React version isolation in nested hooks (`useFocusBorders`, `useUniqueId`).\n * Version update `3 -> 4`. Fixed lock for correct working with iframes in modal\n * Version update `4 -> 5`. Changed placements for border - now they wrap trap node\n *\n * Initially (for a several versions) key was `__intergalactic_focus_lock_hook_`.\n * Making it respect react version required to change key. So key was changed to `__intergalactic_focus_lock_hook_react_v_respectful`.\n *\n * ## React hooks order\n * When updating from version 2 to version 3 `useUniqueId` hook was removed.\n * Due to replacing useFocusLock hook in runtime, the order of hooks must be preserved.\n * So, useUniqueIdHookMock helps to preserve hooks order when hook is being replaced from version 2 to version 3.\n *\n * If new update requires to remove some hooks – add mocks instead of them.\n * If new update requires to add some hooks and no workaround with current hooks list is possible – probably focus lock hook key should be changed.\n */\nconst focusLockVersion = 5;\nconst globalFocusLockHookKey = '__intergalactic_focus_lock_hook_react_v_respectful';\n\nconst focusLockAllTraps = new Set<HTMLElement>();\nconst focusLockUsedInMountedComponents = new Set<string>();\n/** Focus master is a special mode in which focus lock might work.\n * Normally, focus lock hook allows user focus to move freely between\n * all active focus traps. When component provides `focusMaster=true`\n * parameter, it says that it doesn't want to share focus with other traps.\n * It is very useful for a big components like modals or side-bars that\n * also have some visual backdrop.\n * The last element in focus masters stack is considered as a current focus master.\n */\nconst focusMastersStack: HTMLElement[] = [];\n\nconst noop = () => {};\nconst useUniqueIdHookMock = (React: ReactT) => {\n React.useState(undefined);\n const useEnhancedEffect = canUseDOM() ? React.useLayoutEffect : React.useEffect;\n useEnhancedEffect(noop, []);\n};\n\nconst useFocusLockHook = (\n React: ReactT,\n trapRef: React.RefObject<HTMLElement>,\n autoFocus: boolean | 'enforced',\n returnFocusTo: React.RefObject<HTMLElement> | null | 'auto',\n disabled = false,\n focusMaster = false,\n onFocusOut?: (event: Event) => void,\n) => {\n useFocusBorders(React, disabled, trapRef);\n\n const autoTriggerRef = React.useRef<HTMLElement | null>(null);\n const lastUserInteractionRef = React.useRef<'mouse' | 'keyboard' | undefined>(undefined);\n\n const handleFocusOut = React.useCallback(\n (event: Event & { relatedTarget?: HTMLElement; target?: HTMLElement }) => {\n const focusCameFrom = event.target;\n const focusMovedTo = event.relatedTarget;\n setTimeout(() => {\n if (!focusCameFrom) return;\n if (autoTriggerRef.current) return;\n autoTriggerRef.current = focusCameFrom;\n }, 0);\n if (lastUserInteractionRef.current === 'mouse') return;\n Promise.resolve().then(() => {\n if (!trapRef.current) return;\n const currentFocusMaster = focusMastersStack[focusMastersStack.length - 1];\n if (currentFocusMaster && currentFocusMaster !== trapRef.current) return;\n const trapNodes = currentFocusMaster\n ? [trapRef.current]\n : [trapRef.current, ...focusLockAllTraps];\n if (isFocusInside(trapNodes, focusMovedTo)) return;\n if (\n typeof returnFocusTo === 'object' &&\n returnFocusTo?.current &&\n isFocusInside(returnFocusTo.current)\n )\n return;\n\n if (focusCameFrom && focusMovedTo) {\n setFocus(trapRef.current, focusCameFrom, focusMovedTo);\n }\n\n onFocusOut?.(event);\n });\n },\n [onFocusOut],\n );\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n const returnFocus = React.useCallback(() => {\n const trapNode = trapRef.current;\n if (trapNode && !isFocusInside(trapNode)) return;\n const focusMastersStackCount = focusMastersStack.length;\n if (typeof returnFocusTo === 'object' && returnFocusTo?.current) {\n const returnFocusNode = returnFocusTo?.current;\n setTimeout(() => {\n if (focusMastersStackCount !== focusMastersStack.length) {\n setFocus(returnFocusNode, trapNode);\n }\n }, 0);\n }\n if (returnFocusTo === 'auto' && autoTriggerRef.current) {\n const autoTrigger = autoTriggerRef.current;\n setTimeout(() => {\n if (focusMastersStackCount !== focusMastersStack.length) {\n setFocus(autoTrigger, trapNode);\n }\n }, 0);\n }\n }, [returnFocusTo]);\n React.useEffect(() => {\n if (typeof trapRef !== 'object' || trapRef === null) return;\n const node = trapRef.current;\n if (!node) return;\n focusLockAllTraps.add(node);\n return () => {\n if (!node) return;\n focusLockAllTraps.delete(node);\n };\n }, [disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM()) return;\n if (!trapRef.current) return;\n const focusableChildren = Array.from(trapRef.current.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n if (focusableChildren.length === 0 && autoFocus !== 'enforced') return;\n\n document.body.addEventListener('focusout', handleFocusOut as any);\n document.body.addEventListener(syntheticEvents.blur, handleFocusOut as any);\n document.body.addEventListener('mousedown', handleMouseEvent);\n document.body.addEventListener('touchstart', handleMouseEvent);\n document.body.addEventListener('keydown', handleKeyboardEvent);\n document.body.addEventListener(syntheticEvents.keydown, handleKeyboardEvent);\n\n if (autoFocus) {\n setTimeout(() => {\n setFocus(\n trapRef.current!,\n typeof returnFocusTo === 'object' ? returnFocusTo?.current : document.body,\n );\n }, 0);\n }\n return () => {\n document.body.removeEventListener('focusout', handleFocusOut as any);\n document.body.removeEventListener(syntheticEvents.blur, handleFocusOut as any);\n document.body.removeEventListener('mousedown', handleMouseEvent);\n document.body.removeEventListener('touchstart', handleMouseEvent);\n document.body.removeEventListener('keydown', handleKeyboardEvent);\n document.body.removeEventListener(syntheticEvents.keydown, handleKeyboardEvent);\n returnFocus();\n autoTriggerRef.current = null;\n };\n }, [disabled, autoFocus, returnFocusTo, returnFocus]);\n\n React.useEffect(() => {\n if (typeof trapRef !== 'object' || trapRef === null) return;\n if (disabled) return;\n if (!canUseDOM()) return;\n if (!trapRef.current) return;\n const focusableChildren = Array.from(trapRef.current.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n if (focusableChildren.length === 0) return;\n\n if (focusMaster) {\n focusMastersStack.push(trapRef.current);\n }\n\n return () => {\n if (!focusMaster) return;\n if (focusMastersStack[focusMastersStack.length - 1] === trapRef.current) {\n focusMastersStack.pop();\n } else {\n focusMastersStack.splice(focusMastersStack.indexOf(trapRef.current!), 1);\n }\n };\n }, [disabled, focusMaster]);\n\n useUniqueIdHookMock(React);\n React.useEffect(() => {\n const id = getUniqueId('focus-lock-consumer');\n if (disabled) return;\n focusLockUsedInMountedComponents.add(id);\n return () => {\n focusLockUsedInMountedComponents.delete(id);\n };\n }, [disabled]);\n};\nconst establishHookAsGlobal = () => {\n (globalThis as any)[globalFocusLockHookKey] = {\n hook: useFocusLockHook,\n version: focusLockVersion,\n usedInComponents: focusLockUsedInMountedComponents,\n };\n};\nif (!(globalThis as any)[globalFocusLockHookKey]) {\n establishHookAsGlobal();\n} else if (typeof (globalThis as any)[globalFocusLockHookKey].version !== 'number') {\n establishHookAsGlobal();\n} else {\n const { version: theirVersion, usedInComponents } = (globalThis as any)[globalFocusLockHookKey];\n if (focusLockVersion > theirVersion && usedInComponents.size === 0) {\n establishHookAsGlobal();\n }\n}\n\nexport const useFocusLock = (\n trapRef: React.RefObject<HTMLElement>,\n autoFocus: boolean | 'enforced',\n returnFocusTo: React.RefObject<HTMLElement> | null | 'auto',\n disabled = false,\n focusMaster = false,\n onFocusOut?: (event: Event) => void,\n) => {\n const hook = (globalThis as any)[globalFocusLockHookKey]?.hook ?? useFocusLockHook;\n return hook(LocalReact, trapRef, autoFocus, returnFocusTo, disabled, focusMaster, onFocusOut);\n};\n\nexport const hasFocusableIn = (element: HTMLElement): boolean => {\n return (\n Array.from(element.children).flatMap((node) => getFocusableIn(node as HTMLElement)).length > 0\n );\n};\n"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = usePreventScroll;
8
- exports.getScrollbarWidth = getScrollbarWidth;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _canUseDOM = _interopRequireDefault(require("../canUseDOM"));
11
- var _uniqueID = require("../uniqueID");
12
- function getScrollbarWidth() {
13
- var _outer$parentNode;
14
- if (!(0, _canUseDOM["default"])()) return 0;
15
- var outer = document.createElement('div');
16
- outer.style.visibility = 'hidden';
17
- outer.style.width = '100px';
18
- // @ts-expect-error
19
- outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps
20
- document.body.appendChild(outer);
21
- var widthNoScroll = outer.offsetWidth;
22
- outer.style.overflow = 'scroll';
23
- var inner = document.createElement('div');
24
- inner.style.width = '100%';
25
- outer.appendChild(inner);
26
- var widthWithScroll = inner.offsetWidth;
27
- (_outer$parentNode = outer.parentNode) === null || _outer$parentNode === void 0 ? void 0 : _outer$parentNode.removeChild(outer);
28
- return widthNoScroll - widthWithScroll;
29
- }
30
- function getIntValueFromCss(value) {
31
- return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);
32
- }
33
- var scrollPreventers = new Set();
34
- var lockedBodyStyles = {
35
- paddingRight: null,
36
- overflow: null,
37
- boxSizing: null
38
- };
39
- function usePreventScroll() {
40
- var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
41
- var disabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
42
- var scrollbarWidth = _react["default"].useMemo(getScrollbarWidth, [getScrollbarWidth]);
43
- var id = (0, _uniqueID.useUID)('scroll-preventer-');
44
- _react["default"].useEffect(function () {
45
- if (disabled) return;
46
- if (!(0, _canUseDOM["default"])() || !visible) return;
47
- scrollPreventers.add(id);
48
- if (scrollPreventers.size > 1) return;
49
- var _window$getComputedSt = window.getComputedStyle(document.body),
50
- overflow = _window$getComputedSt.overflow,
51
- paddingRight = _window$getComputedSt.paddingRight,
52
- boxSizing = _window$getComputedSt.boxSizing;
53
- lockedBodyStyles.paddingRight = paddingRight;
54
- lockedBodyStyles.overflow = overflow;
55
- lockedBodyStyles.boxSizing = boxSizing;
56
- var intPaddingRight = getIntValueFromCss(paddingRight);
57
- var intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);
58
- // Detected own style for window inside window
59
- if (intPaddingRightFromStyle !== scrollbarWidth) {
60
- intPaddingRightFromStyle = 0;
61
- }
62
- document.body.style.overflow = 'hidden';
63
- document.body.style.paddingRight = scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';
64
- document.body.style.boxSizing = 'border-box';
65
- }, [visible, id, disabled]);
66
- _react["default"].useEffect(function () {
67
- if (disabled) return;
68
- if (!(0, _canUseDOM["default"])() || !visible) return;
69
- return function () {
70
- scrollPreventers["delete"](id);
71
- if (scrollPreventers.size !== 0) return;
72
- document.body.style.overflow = lockedBodyStyles.overflow;
73
- document.body.style.paddingRight = lockedBodyStyles.paddingRight;
74
- document.body.style.boxSizing = lockedBodyStyles.boxSizing;
75
- };
76
- }, [visible, id, disabled]);
77
- }
78
- //# sourceMappingURL=usePreventScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePreventScroll.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_uniqueID","getScrollbarWidth","_outer$parentNode","canUseDOM","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","arguments","length","undefined","disabled","scrollbarWidth","React","useMemo","id","useUID","useEffect","add","size","_window$getComputedSt","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle"],"sources":["../../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: null as string | null,\n overflow: null as string | null,\n boxSizing: null as string | null,\n};\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { overflow, paddingRight, boxSizing } = window.getComputedStyle(document.body);\n lockedBodyStyles.paddingRight = paddingRight;\n lockedBodyStyles.overflow = overflow;\n lockedBodyStyles.boxSizing = boxSizing;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow!;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight!;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing!;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useCssVariable = exports.cssVariableEnhance = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _canUseDOM = _interopRequireDefault(require("./canUseDOM"));
13
- var _ref3 = require("./ref");
14
- var _ThemeProvider = require("./ThemeProvider");
15
- var useCssVariable = function useCssVariable(name, fallbackValue, ref) {
16
- var contextTheme = (0, _ThemeProvider.useContextTokens)();
17
- var getValue = _react["default"].useCallback(function () {
18
- var _ref$current;
19
- if (contextTheme !== null && contextTheme !== void 0 && contextTheme[name]) return contextTheme[name];
20
- if (!(0, _canUseDOM["default"])()) return fallbackValue;
21
- var element = (_ref$current = ref === null || ref === void 0 ? void 0 : ref.current) !== null && _ref$current !== void 0 ? _ref$current : document.documentElement;
22
- var computedStyles = getComputedStyle(element);
23
- return computedStyles.getPropertyValue(name) || fallbackValue;
24
- }, [name, ref, fallbackValue, contextTheme]);
25
- var initialValue = _react["default"].useMemo(getValue, [getValue]);
26
- var _React$useState = _react["default"].useState(initialValue),
27
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
28
- value = _React$useState2[0],
29
- setValue = _React$useState2[1];
30
- _react["default"].useEffect(function () {
31
- return setValue(getValue);
32
- }, [getValue]);
33
- return value;
34
- };
35
- exports.useCssVariable = useCssVariable;
36
- var cssVariableEnhance = function cssVariableEnhance(_ref) {
37
- var variable = _ref.variable,
38
- fallback = _ref.fallback,
39
- prop = _ref.prop,
40
- map = _ref.map;
41
- return function (props) {
42
- var _ref2 = props,
43
- ref = _ref2.ref;
44
- var nodeRef = _react["default"].useRef();
45
- var variableValue = useCssVariable(variable, fallback, nodeRef);
46
- var mappedValue = _react["default"].useMemo(function () {
47
- return map ? map(variableValue) : variableValue;
48
- }, [map, variableValue]);
49
- return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, props), {}, (0, _defineProperty2["default"])({
50
- ref: (0, _ref3.useForkRef)(ref, nodeRef)
51
- }, prop, props[prop] === undefined ? mappedValue : props[prop]));
52
- };
53
- };
54
- exports.cssVariableEnhance = cssVariableEnhance;
55
- //# sourceMappingURL=useCssVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCssVariable.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_ref3","_ThemeProvider","useCssVariable","name","fallbackValue","ref","contextTheme","useContextTokens","getValue","React","useCallback","_ref$current","canUseDOM","element","current","document","documentElement","computedStyles","getComputedStyle","getPropertyValue","initialValue","useMemo","_React$useState","useState","_React$useState2","_slicedToArray2","value","setValue","useEffect","exports","cssVariableEnhance","_ref","variable","fallback","prop","map","props","_ref2","nodeRef","useRef","variableValue","mappedValue","_objectSpread3","_defineProperty2","useForkRef","undefined"],"sources":["../../../src/utils/useCssVariable.ts"],"sourcesContent":["import React from 'react';\nimport canUseDOM from './canUseDOM';\nimport { useForkRef } from './ref';\nimport { useContextTokens } from './ThemeProvider';\n\nexport const useCssVariable = (name: string, fallbackValue: string, ref?: React.RefObject<any>) => {\n const contextTheme = useContextTokens();\n const getValue = React.useCallback(() => {\n if (contextTheme?.[name]) return contextTheme[name];\n if (!canUseDOM()) return fallbackValue;\n\n const element = ref?.current ?? document.documentElement;\n\n const computedStyles = getComputedStyle(element);\n\n return computedStyles.getPropertyValue(name) || fallbackValue;\n }, [name, ref, fallbackValue, contextTheme]);\n\n const initialValue = React.useMemo(getValue, [getValue]);\n const [value, setValue] = React.useState(initialValue);\n React.useEffect(() => setValue(getValue), [getValue]);\n\n return value;\n};\n\nexport const cssVariableEnhance = <\n P extends string,\n F = string,\n R = string,\n M extends null | ((value: string) => R) = any,\n>({\n variable,\n fallback,\n prop,\n map,\n}: {\n variable: string;\n prop: P;\n fallback: F;\n map?: M;\n}) => {\n return <T extends {}>(props: T) => {\n const { ref } = props as any;\n const nodeRef = React.useRef();\n const variableValue = useCssVariable(variable, fallback as any, nodeRef);\n const mappedValue = React.useMemo(\n () => (map ? map(variableValue) : variableValue),\n [map, variableValue],\n );\n\n return {\n ...props,\n ref: useForkRef(ref, nodeRef),\n [prop]: (props as any)[prop] === undefined ? mappedValue : (props as any)[prop],\n } as T & {\n [key in P]: M extends (value: string) => R ? R : F;\n };\n };\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEO,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAY,EAAEC,aAAqB,EAAEC,GAA0B,EAAK;EACjG,IAAMC,YAAY,GAAG,IAAAC,+BAAgB,GAAE;EACvC,IAAMC,QAAQ,GAAGC,iBAAK,CAACC,WAAW,CAAC,YAAM;IAAA,IAAAC,YAAA;IACvC,IAAIL,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAGH,IAAI,CAAC,EAAE,OAAOG,YAAY,CAACH,IAAI,CAAC;IACnD,IAAI,CAAC,IAAAS,qBAAS,GAAE,EAAE,OAAOR,aAAa;IAEtC,IAAMS,OAAO,IAAAF,YAAA,GAAGN,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAES,OAAO,cAAAH,YAAA,cAAAA,YAAA,GAAII,QAAQ,CAACC,eAAe;IAExD,IAAMC,cAAc,GAAGC,gBAAgB,CAACL,OAAO,CAAC;IAEhD,OAAOI,cAAc,CAACE,gBAAgB,CAAChB,IAAI,CAAC,IAAIC,aAAa;EAC/D,CAAC,EAAE,CAACD,IAAI,EAAEE,GAAG,EAAED,aAAa,EAAEE,YAAY,CAAC,CAAC;EAE5C,IAAMc,YAAY,GAAGX,iBAAK,CAACY,OAAO,CAACb,QAAQ,EAAE,CAACA,QAAQ,CAAC,CAAC;EACxD,IAAAc,eAAA,GAA0Bb,iBAAK,CAACc,QAAQ,CAACH,YAAY,CAAC;IAAAI,gBAAA,OAAAC,eAAA,aAAAH,eAAA;IAA/CI,KAAK,GAAAF,gBAAA;IAAEG,QAAQ,GAAAH,gBAAA;EACtBf,iBAAK,CAACmB,SAAS,CAAC;IAAA,OAAMD,QAAQ,CAACnB,QAAQ,CAAC;EAAA,GAAE,CAACA,QAAQ,CAAC,CAAC;EAErD,OAAOkB,KAAK;AACd,CAAC;AAACG,OAAA,CAAA3B,cAAA,GAAAA,cAAA;AAEK,IAAM4B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAezB;EAAA,IATJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;EAOH,OAAO,UAAeC,KAAQ,EAAK;IACjC,IAAAC,KAAA,GAAgBD,KAAK;MAAb/B,GAAG,GAAAgC,KAAA,CAAHhC,GAAG;IACX,IAAMiC,OAAO,GAAG7B,iBAAK,CAAC8B,MAAM,EAAE;IAC9B,IAAMC,aAAa,GAAGtC,cAAc,CAAC8B,QAAQ,EAAEC,QAAQ,EAASK,OAAO,CAAC;IACxE,IAAMG,WAAW,GAAGhC,iBAAK,CAACY,OAAO,CAC/B;MAAA,OAAOc,GAAG,GAAGA,GAAG,CAACK,aAAa,CAAC,GAAGA,aAAa;IAAA,CAAC,EAChD,CAACL,GAAG,EAAEK,aAAa,CAAC,CACrB;IAED,WAAAE,cAAA,iBAAAA,cAAA,iBACKN,KAAK,WAAAO,gBAAA;MACRtC,GAAG,EAAE,IAAAuC,gBAAU,EAACvC,GAAG,EAAEiC,OAAO;IAAC,GAC5BJ,IAAI,EAAIE,KAAK,CAASF,IAAI,CAAC,KAAKW,SAAS,GAAGJ,WAAW,GAAIL,KAAK,CAASF,IAAI,CAAC;EAInF,CAAC;AACH,CAAC;AAACL,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.zIndexStackingEnhance = exports.useZIndexStacking = exports.ZIndexStackingContextProvider = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _default = _interopRequireDefault(require("../theme/themes/default"));
13
- var _ThemeProvider = require("./ThemeProvider");
14
- var defaultDesignThemeTokens = _default["default"];
15
- var zIndexStackingContext = /*#__PURE__*/_react["default"].createContext(0);
16
- var useZIndexStacking = function useZIndexStacking(designToken) {
17
- var contextTokens = (0, _ThemeProvider.useContextTokens)();
18
- var parentContextValue = _react["default"].useContext(zIndexStackingContext);
19
- var contextValue = _react["default"].useMemo(function () {
20
- if (!designToken) return parentContextValue;
21
- var tokenName = designToken.startsWith('--intergalactic-') ? designToken : "--intergalactic-".concat(designToken);
22
- var tokenValue = parseInt((contextTokens === null || contextTokens === void 0 ? void 0 : contextTokens[tokenName]) || defaultDesignThemeTokens[tokenName], 10);
23
- if (Number.isNaN(tokenValue)) return parentContextValue;
24
- return parentContextValue + tokenValue;
25
- }, [designToken, contextTokens, parentContextValue]);
26
- return contextValue;
27
- };
28
- exports.useZIndexStacking = useZIndexStacking;
29
- var ZIndexStackingContextProvider = function ZIndexStackingContextProvider(_ref) {
30
- var designToken = _ref.designToken,
31
- children = _ref.children;
32
- var contextValue = useZIndexStacking(designToken);
33
- return /*#__PURE__*/_react["default"].createElement(zIndexStackingContext.Provider, {
34
- value: contextValue
35
- }, children);
36
- };
37
- exports.ZIndexStackingContextProvider = ZIndexStackingContextProvider;
38
- var zIndexStackingEnhance = function zIndexStackingEnhance(designToken) {
39
- return function (props) {
40
- var other = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(props), props));
41
- var parentZIndexStacking = useZIndexStacking(designToken);
42
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
43
- parentZIndexStacking: parentZIndexStacking
44
- });
45
- };
46
- };
47
- exports.zIndexStackingEnhance = zIndexStackingEnhance;
48
- //# sourceMappingURL=zIndexStacking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zIndexStacking.js","names":["_react","_interopRequireDefault","require","_default","_ThemeProvider","defaultDesignThemeTokens","defaultDesignThemeJson","zIndexStackingContext","React","createContext","useZIndexStacking","designToken","contextTokens","useContextTokens","parentContextValue","useContext","contextValue","useMemo","tokenName","startsWith","concat","tokenValue","parseInt","Number","isNaN","exports","ZIndexStackingContextProvider","_ref","children","createElement","Provider","value","zIndexStackingEnhance","props","other","_extends2","_objectDestructuringEmpty2","parentZIndexStacking","_objectSpread2"],"sources":["../../../src/utils/zIndexStacking.tsx"],"sourcesContent":["import React from 'react';\nimport defaultDesignThemeJson from '../theme/themes/default';\nimport { useContextTokens } from './ThemeProvider';\nconst defaultDesignThemeTokens = defaultDesignThemeJson as Record<string, string>;\n\nconst zIndexStackingContext = React.createContext(0);\n\nexport type ZIndexDesignTokens =\n | 'z-index-deep'\n | 'z-index-overlay'\n | 'z-index-modal'\n | 'z-index-popper'\n | 'z-index-dropdown'\n | 'z-index-tooltip'\n | 'z-index-notice-bubble';\n\nexport const useZIndexStacking = (designToken?: ZIndexDesignTokens) => {\n const contextTokens = useContextTokens();\n const parentContextValue = React.useContext(zIndexStackingContext);\n const contextValue = React.useMemo(() => {\n if (!designToken) return parentContextValue;\n const tokenName = designToken.startsWith('--intergalactic-')\n ? designToken\n : `--intergalactic-${designToken}`;\n const tokenValue = parseInt(\n contextTokens?.[tokenName] || defaultDesignThemeTokens[tokenName],\n 10,\n );\n if (Number.isNaN(tokenValue)) return parentContextValue;\n return parentContextValue + tokenValue;\n }, [designToken, contextTokens, parentContextValue]);\n return contextValue;\n};\nexport const ZIndexStackingContextProvider: React.FC<{\n designToken: ZIndexDesignTokens;\n children: React.ReactNode;\n}> = ({ designToken, children }) => {\n const contextValue = useZIndexStacking(designToken);\n return (\n <zIndexStackingContext.Provider value={contextValue}>{children}</zIndexStackingContext.Provider>\n );\n};\nexport const zIndexStackingEnhance = (designToken?: ZIndexDesignTokens) => {\n return (props: any) => {\n const { ...other } = props;\n const parentZIndexStacking = useZIndexStacking(designToken);\n return {\n ...other,\n parentZIndexStacking,\n };\n };\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAMG,wBAAwB,GAAGC,mBAAgD;AAEjF,IAAMC,qBAAqB,gBAAGC,iBAAK,CAACC,aAAa,CAAC,CAAC,CAAC;AAW7C,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,WAAgC,EAAK;EACrE,IAAMC,aAAa,GAAG,IAAAC,+BAAgB,GAAE;EACxC,IAAMC,kBAAkB,GAAGN,iBAAK,CAACO,UAAU,CAACR,qBAAqB,CAAC;EAClE,IAAMS,YAAY,GAAGR,iBAAK,CAACS,OAAO,CAAC,YAAM;IACvC,IAAI,CAACN,WAAW,EAAE,OAAOG,kBAAkB;IAC3C,IAAMI,SAAS,GAAGP,WAAW,CAACQ,UAAU,CAAC,kBAAkB,CAAC,GACxDR,WAAW,sBAAAS,MAAA,CACQT,WAAW,CAAE;IACpC,IAAMU,UAAU,GAAGC,QAAQ,CACzB,CAAAV,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGM,SAAS,CAAC,KAAIb,wBAAwB,CAACa,SAAS,CAAC,EACjE,EAAE,CACH;IACD,IAAIK,MAAM,CAACC,KAAK,CAACH,UAAU,CAAC,EAAE,OAAOP,kBAAkB;IACvD,OAAOA,kBAAkB,GAAGO,UAAU;EACxC,CAAC,EAAE,CAACV,WAAW,EAAEC,aAAa,EAAEE,kBAAkB,CAAC,CAAC;EACpD,OAAOE,YAAY;AACrB,CAAC;AAACS,OAAA,CAAAf,iBAAA,GAAAA,iBAAA;AACK,IAAMgB,6BAGX,GAAG,SAHQA,6BAGXA,CAAAC,IAAA,EAAkC;EAAA,IAA5BhB,WAAW,GAAAgB,IAAA,CAAXhB,WAAW;IAAEiB,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC3B,IAAMZ,YAAY,GAAGN,iBAAiB,CAACC,WAAW,CAAC;EACnD,oBACEX,MAAA,YAAA6B,aAAA,CAACtB,qBAAqB,CAACuB,QAAQ;IAACC,KAAK,EAAEf;EAAa,GAAEY,QAAQ,CAAkC;AAEpG,CAAC;AAACH,OAAA,CAAAC,6BAAA,GAAAA,6BAAA;AACK,IAAMM,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIrB,WAAgC,EAAK;EACzE,OAAO,UAACsB,KAAU,EAAK;IACrB,IAAWC,KAAK,OAAAC,SAAA,sBAAAC,0BAAA,aAAKH,KAAK,GAALA,KAAK;IAC1B,IAAMI,oBAAoB,GAAG3B,iBAAiB,CAACC,WAAW,CAAC;IAC3D,WAAA2B,cAAA,iBAAAA,cAAA,iBACKJ,KAAK;MACRG,oBAAoB,EAApBA;IAAoB;EAExB,CAAC;AACH,CAAC;AAACZ,OAAA,CAAAO,qBAAA,GAAAA,qBAAA"}
@@ -1,49 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- import canUseDOM from './utils/canUseDOM';
5
- var LastInteractionType = /*#__PURE__*/function () {
6
- function LastInteractionType() {
7
- _classCallCheck(this, LastInteractionType);
8
- _defineProperty(this, "lastFocusSource", 'none');
9
- this.handleKeyDown = this.handleKeyDown.bind(this);
10
- this.handleMouseDown = this.handleMouseDown.bind(this);
11
- if (canUseDOM()) {
12
- document.addEventListener('mousedown', this.handleMouseDown, {
13
- capture: true
14
- });
15
- document.addEventListener('keydown', this.handleKeyDown, {
16
- capture: true
17
- });
18
- }
19
- }
20
- _createClass(LastInteractionType, [{
21
- key: "type",
22
- get: function get() {
23
- return this.lastFocusSource;
24
- }
25
- }, {
26
- key: "isKeyboard",
27
- value: function isKeyboard() {
28
- return this.lastFocusSource === 'keyboard';
29
- }
30
- }, {
31
- key: "isMouse",
32
- value: function isMouse() {
33
- return this.lastFocusSource === 'mouse';
34
- }
35
- }, {
36
- key: "handleMouseDown",
37
- value: function handleMouseDown() {
38
- this.lastFocusSource = 'mouse';
39
- }
40
- }, {
41
- key: "handleKeyDown",
42
- value: function handleKeyDown() {
43
- this.lastFocusSource = 'keyboard';
44
- }
45
- }]);
46
- return LastInteractionType;
47
- }();
48
- export var lastInteraction = new LastInteractionType();
49
- //# sourceMappingURL=LastInteractionType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LastInteractionType.js","names":["canUseDOM","LastInteractionType","_classCallCheck","_defineProperty","handleKeyDown","bind","handleMouseDown","document","addEventListener","capture","_createClass","key","get","lastFocusSource","value","isKeyboard","isMouse","lastInteraction"],"sources":["../../src/LastInteractionType.ts"],"sourcesContent":["import canUseDOM from './utils/canUseDOM';\n\nclass LastInteractionType {\n private lastFocusSource: 'mouse' | 'keyboard' | 'none' = 'none';\n\n constructor() {\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n\n if (canUseDOM()) {\n document.addEventListener('mousedown', this.handleMouseDown, { capture: true });\n document.addEventListener('keydown', this.handleKeyDown, { capture: true });\n }\n }\n\n public get type() {\n return this.lastFocusSource;\n }\n\n public isKeyboard() {\n return this.lastFocusSource === 'keyboard';\n }\n\n public isMouse() {\n return this.lastFocusSource === 'mouse';\n }\n\n private handleMouseDown() {\n this.lastFocusSource = 'mouse';\n }\n\n private handleKeyDown() {\n this.lastFocusSource = 'keyboard';\n }\n}\n\nexport const lastInteraction = new LastInteractionType();\n"],"mappings":";;;AAAA,OAAOA,SAAS,MAAM,mBAAmB;AAAC,IAEpCC,mBAAmB;EAGvB,SAAAA,oBAAA,EAAc;IAAAC,eAAA,OAAAD,mBAAA;IAAAE,eAAA,0BAF2C,MAAM;IAG7D,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACD,IAAI,CAAC,IAAI,CAAC;IAEtD,IAAIL,SAAS,EAAE,EAAE;MACfO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACF,eAAe,EAAE;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC;MAC/EF,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACJ,aAAa,EAAE;QAAEK,OAAO,EAAE;MAAK,CAAC,CAAC;IAC7E;EACF;EAACC,YAAA,CAAAT,mBAAA;IAAAU,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAkB;MAChB,OAAO,IAAI,CAACC,eAAe;IAC7B;EAAC;IAAAF,GAAA;IAAAG,KAAA,EAED,SAAAC,WAAA,EAAoB;MAClB,OAAO,IAAI,CAACF,eAAe,KAAK,UAAU;IAC5C;EAAC;IAAAF,GAAA;IAAAG,KAAA,EAED,SAAAE,QAAA,EAAiB;MACf,OAAO,IAAI,CAACH,eAAe,KAAK,OAAO;IACzC;EAAC;IAAAF,GAAA;IAAAG,KAAA,EAED,SAAAR,gBAAA,EAA0B;MACxB,IAAI,CAACO,eAAe,GAAG,OAAO;IAChC;EAAC;IAAAF,GAAA;IAAAG,KAAA,EAED,SAAAV,cAAA,EAAwB;MACtB,IAAI,CAACS,eAAe,GAAG,UAAU;IACnC;EAAC;EAAA,OAAAZ,mBAAA;AAAA;AAGH,OAAO,IAAMgB,eAAe,GAAG,IAAIhB,mBAAmB,EAAE"}