isomorfeus-preact 10.5.5 → 10.5.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (948) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -1
  3. data/lib/isomorfeus/preact/config.rb +4 -15
  4. data/lib/isomorfeus/preact/imports.rb +0 -10
  5. data/lib/isomorfeus/preact_view_helper.rb +9 -9
  6. data/lib/isomorfeus/props/validator.rb +1 -1
  7. data/lib/isomorfeus/top_level.rb +3 -6
  8. data/lib/isomorfeus-preact.rb +4 -1
  9. data/lib/lucid_app/context.rb +12 -12
  10. data/lib/nano_css.rb +464 -0
  11. data/lib/preact/version.rb +1 -1
  12. data/lib/preact.rb +17 -7
  13. data/node_modules/.package-lock.json +6 -244
  14. data/node_modules/preact/compat/dist/compat.js +1 -1
  15. data/node_modules/preact/compat/dist/compat.js.map +1 -1
  16. data/node_modules/preact/compat/dist/compat.mjs +1 -1
  17. data/node_modules/preact/compat/dist/compat.mjs.map +1 -1
  18. data/node_modules/preact/compat/dist/compat.module.js +1 -1
  19. data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
  20. data/node_modules/preact/compat/dist/compat.umd.js +1 -1
  21. data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
  22. data/node_modules/preact/compat/src/index.d.ts +1 -1
  23. data/node_modules/preact/compat/src/render.js +10 -3
  24. data/node_modules/preact/debug/dist/debug.js.map +1 -1
  25. data/node_modules/preact/debug/dist/debug.mjs.map +1 -1
  26. data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
  27. data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
  28. data/node_modules/preact/devtools/dist/devtools.js +1 -1
  29. data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
  30. data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
  31. data/node_modules/preact/devtools/dist/devtools.mjs.map +1 -1
  32. data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
  33. data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
  34. data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
  35. data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
  36. data/node_modules/preact/devtools/src/devtools.js +1 -1
  37. data/node_modules/preact/dist/index.d.ts +1295 -0
  38. data/node_modules/preact/dist/preact.js +1 -1
  39. data/node_modules/preact/dist/preact.js.map +1 -1
  40. data/node_modules/preact/dist/preact.min.js +1 -1
  41. data/node_modules/preact/dist/preact.min.js.map +1 -1
  42. data/node_modules/preact/dist/preact.mjs +1 -1
  43. data/node_modules/preact/dist/preact.mjs.map +1 -1
  44. data/node_modules/preact/dist/preact.module.js +1 -1
  45. data/node_modules/preact/dist/preact.module.js.map +1 -1
  46. data/node_modules/preact/dist/preact.umd.js +1 -1
  47. data/node_modules/preact/dist/preact.umd.js.map +1 -1
  48. data/node_modules/preact/hooks/dist/hooks.js +1 -1
  49. data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
  50. data/node_modules/preact/hooks/dist/hooks.mjs +1 -1
  51. data/node_modules/preact/hooks/dist/hooks.mjs.map +1 -1
  52. data/node_modules/preact/hooks/dist/hooks.module.js +1 -1
  53. data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
  54. data/node_modules/preact/hooks/dist/hooks.umd.js +1 -1
  55. data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
  56. data/node_modules/preact/hooks/src/index.js +1 -8
  57. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs.map +1 -0
  58. data/node_modules/preact/package.json +8 -4
  59. data/node_modules/preact/src/create-element.js +2 -1
  60. data/node_modules/preact/src/diff/children.js +7 -19
  61. data/node_modules/preact/src/jsx.d.ts +45 -2
  62. data/node_modules/preact/test-utils/dist/testUtils.mjs.map +1 -1
  63. data/node_modules/wouter-preact/cjs/index.js +1 -1
  64. data/node_modules/wouter-preact/cjs/use-location.js +6 -6
  65. data/node_modules/wouter-preact/index.js +1 -1
  66. data/node_modules/wouter-preact/package.json +1 -1
  67. data/node_modules/wouter-preact/use-location.js +6 -6
  68. data/package.json +3 -5
  69. metadata +17 -893
  70. data/node_modules/.bin/loose-envify +0 -12
  71. data/node_modules/.bin/loose-envify.cmd +0 -17
  72. data/node_modules/.bin/loose-envify.ps1 +0 -28
  73. data/node_modules/@babel/runtime/LICENSE +0 -22
  74. data/node_modules/@babel/runtime/README.md +0 -19
  75. data/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -99
  76. data/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -6
  77. data/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -31
  78. data/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -12
  79. data/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -6
  80. data/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -8
  81. data/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -10
  82. data/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -57
  83. data/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -16
  84. data/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -38
  85. data/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -8
  86. data/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -8
  87. data/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -23
  88. data/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -10
  89. data/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -14
  90. data/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -8
  91. data/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -8
  92. data/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -8
  93. data/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -10
  94. data/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -6
  95. data/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -11
  96. data/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -11
  97. data/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -9
  98. data/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -10
  99. data/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -8
  100. data/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -12
  101. data/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -10
  102. data/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -9
  103. data/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -6
  104. data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -14
  105. data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -14
  106. data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -15
  107. data/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -9
  108. data/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -6
  109. data/node_modules/@babel/runtime/helpers/construct.js +0 -26
  110. data/node_modules/@babel/runtime/helpers/createClass.js +0 -18
  111. data/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -61
  112. data/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -25
  113. data/node_modules/@babel/runtime/helpers/createSuper.js +0 -25
  114. data/node_modules/@babel/runtime/helpers/decorate.js +0 -401
  115. data/node_modules/@babel/runtime/helpers/defaults.js +0 -17
  116. data/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -25
  117. data/node_modules/@babel/runtime/helpers/defineProperty.js +0 -17
  118. data/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -95
  119. data/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -3
  120. data/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -28
  121. data/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -9
  122. data/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -3
  123. data/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -4
  124. data/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -7
  125. data/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -54
  126. data/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -13
  127. data/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -35
  128. data/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -4
  129. data/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -5
  130. data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -20
  131. data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -7
  132. data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -11
  133. data/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -5
  134. data/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  135. data/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -5
  136. data/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -7
  137. data/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -3
  138. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -6
  139. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -6
  140. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
  141. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -7
  142. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -4
  143. data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
  144. data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -7
  145. data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
  146. data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -3
  147. data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -8
  148. data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -8
  149. data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -9
  150. data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
  151. data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -3
  152. data/node_modules/@babel/runtime/helpers/esm/construct.js +0 -18
  153. data/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -15
  154. data/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -57
  155. data/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -21
  156. data/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -19
  157. data/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -396
  158. data/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -14
  159. data/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -22
  160. data/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -14
  161. data/node_modules/@babel/runtime/helpers/esm/extends.js +0 -17
  162. data/node_modules/@babel/runtime/helpers/esm/get.js +0 -20
  163. data/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
  164. data/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -15
  165. data/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -6
  166. data/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
  167. data/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -3
  168. data/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -7
  169. data/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -5
  170. data/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -51
  171. data/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -3
  172. data/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -12
  173. data/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -3
  174. data/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -29
  175. data/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -14
  176. data/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -46
  177. data/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -9
  178. data/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -5
  179. data/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -3
  180. data/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -3
  181. data/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -3
  182. data/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -19
  183. data/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -39
  184. data/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -19
  185. data/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -14
  186. data/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
  187. data/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -11
  188. data/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -3
  189. data/node_modules/@babel/runtime/helpers/esm/set.js +0 -51
  190. data/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -8
  191. data/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
  192. data/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -7
  193. data/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -7
  194. data/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -9
  195. data/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -11
  196. data/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -8
  197. data/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -3
  198. data/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -5
  199. data/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -1
  200. data/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -7
  201. data/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -7
  202. data/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -13
  203. data/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -6
  204. data/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -15
  205. data/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
  206. data/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -6
  207. data/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -37
  208. data/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -65
  209. data/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -3
  210. data/node_modules/@babel/runtime/helpers/extends.js +0 -21
  211. data/node_modules/@babel/runtime/helpers/get.js +0 -27
  212. data/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -10
  213. data/node_modules/@babel/runtime/helpers/inherits.js +0 -19
  214. data/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -10
  215. data/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -12
  216. data/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -6
  217. data/node_modules/@babel/runtime/helpers/instanceof.js +0 -10
  218. data/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -8
  219. data/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -54
  220. data/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -6
  221. data/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -15
  222. data/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -6
  223. data/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -32
  224. data/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -17
  225. data/node_modules/@babel/runtime/helpers/jsx.js +0 -50
  226. data/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -13
  227. data/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -8
  228. data/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -6
  229. data/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -6
  230. data/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -6
  231. data/node_modules/@babel/runtime/helpers/objectSpread.js +0 -23
  232. data/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -42
  233. data/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -23
  234. data/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -17
  235. data/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -16
  236. data/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -6
  237. data/node_modules/@babel/runtime/helpers/set.js +0 -55
  238. data/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -12
  239. data/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -10
  240. data/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -14
  241. data/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -14
  242. data/node_modules/@babel/runtime/helpers/superPropBase.js +0 -13
  243. data/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -14
  244. data/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -11
  245. data/node_modules/@babel/runtime/helpers/tdz.js +0 -6
  246. data/node_modules/@babel/runtime/helpers/temporalRef.js +0 -10
  247. data/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -4
  248. data/node_modules/@babel/runtime/helpers/toArray.js +0 -14
  249. data/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -14
  250. data/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -17
  251. data/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -11
  252. data/node_modules/@babel/runtime/helpers/typeof.js +0 -22
  253. data/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -13
  254. data/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -10
  255. data/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -45
  256. data/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -72
  257. data/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -6
  258. data/node_modules/@babel/runtime/package.json +0 -848
  259. data/node_modules/@babel/runtime/regenerator/index.js +0 -1
  260. data/node_modules/css-in-js-utils/Changelog.md +0 -16
  261. data/node_modules/css-in-js-utils/LICENSE +0 -21
  262. data/node_modules/css-in-js-utils/README.md +0 -241
  263. data/node_modules/css-in-js-utils/lib/__tests__/assignStyle-test.js +0 -117
  264. data/node_modules/css-in-js-utils/lib/__tests__/camelCaseProperty-test.js +0 -15
  265. data/node_modules/css-in-js-utils/lib/__tests__/cssifyDeclaration-test.js +0 -15
  266. data/node_modules/css-in-js-utils/lib/__tests__/cssifyObject-test.js +0 -31
  267. data/node_modules/css-in-js-utils/lib/__tests__/isPrefixedProperty-test.js +0 -19
  268. data/node_modules/css-in-js-utils/lib/__tests__/isPrefixedValue-test.js +0 -19
  269. data/node_modules/css-in-js-utils/lib/__tests__/isUnitlessProperty-test.js +0 -43
  270. data/node_modules/css-in-js-utils/lib/__tests__/normalizeProperty-test.js +0 -21
  271. data/node_modules/css-in-js-utils/lib/__tests__/resolveArrayValue-test.js +0 -17
  272. data/node_modules/css-in-js-utils/lib/__tests__/unprefixProperty-test.js +0 -19
  273. data/node_modules/css-in-js-utils/lib/__tests__/unprefixValue-test.js +0 -20
  274. data/node_modules/css-in-js-utils/lib/assignStyle.js +0 -37
  275. data/node_modules/css-in-js-utils/lib/camelCaseProperty.js +0 -15
  276. data/node_modules/css-in-js-utils/lib/cssifyDeclaration.js +0 -17
  277. data/node_modules/css-in-js-utils/lib/cssifyObject.js +0 -34
  278. data/node_modules/css-in-js-utils/lib/hyphenateProperty.js +0 -17
  279. data/node_modules/css-in-js-utils/lib/index.js +0 -71
  280. data/node_modules/css-in-js-utils/lib/isPrefixedProperty.js +0 -12
  281. data/node_modules/css-in-js-utils/lib/isPrefixedValue.js +0 -12
  282. data/node_modules/css-in-js-utils/lib/isUnitlessProperty.js +0 -64
  283. data/node_modules/css-in-js-utils/lib/normalizeProperty.js +0 -21
  284. data/node_modules/css-in-js-utils/lib/resolveArrayValue.js +0 -19
  285. data/node_modules/css-in-js-utils/lib/unprefixProperty.js +0 -13
  286. data/node_modules/css-in-js-utils/lib/unprefixValue.js +0 -16
  287. data/node_modules/css-in-js-utils/package.json +0 -56
  288. data/node_modules/css-tree/CHANGELOG.md +0 -590
  289. data/node_modules/css-tree/LICENSE +0 -19
  290. data/node_modules/css-tree/README.md +0 -130
  291. data/node_modules/css-tree/data/index.js +0 -103
  292. data/node_modules/css-tree/data/patch.json +0 -721
  293. data/node_modules/css-tree/dist/csstree.js +0 -12606
  294. data/node_modules/css-tree/dist/csstree.min.js +0 -1
  295. data/node_modules/css-tree/lib/common/List.js +0 -576
  296. data/node_modules/css-tree/lib/common/OffsetToLocation.js +0 -91
  297. data/node_modules/css-tree/lib/common/SyntaxError.js +0 -82
  298. data/node_modules/css-tree/lib/common/TokenStream.js +0 -219
  299. data/node_modules/css-tree/lib/common/adopt-buffer.js +0 -10
  300. data/node_modules/css-tree/lib/convertor/create.js +0 -28
  301. data/node_modules/css-tree/lib/convertor/index.js +0 -3
  302. data/node_modules/css-tree/lib/definition-syntax/SyntaxError.js +0 -14
  303. data/node_modules/css-tree/lib/definition-syntax/generate.js +0 -129
  304. data/node_modules/css-tree/lib/definition-syntax/index.js +0 -6
  305. data/node_modules/css-tree/lib/definition-syntax/parse.js +0 -568
  306. data/node_modules/css-tree/lib/definition-syntax/tokenizer.js +0 -55
  307. data/node_modules/css-tree/lib/definition-syntax/walk.js +0 -52
  308. data/node_modules/css-tree/lib/generator/create.js +0 -66
  309. data/node_modules/css-tree/lib/generator/index.js +0 -4
  310. data/node_modules/css-tree/lib/generator/sourceMap.js +0 -95
  311. data/node_modules/css-tree/lib/index.js +0 -1
  312. data/node_modules/css-tree/lib/lexer/Lexer.js +0 -466
  313. data/node_modules/css-tree/lib/lexer/error.js +0 -127
  314. data/node_modules/css-tree/lib/lexer/generic-an-plus-b.js +0 -236
  315. data/node_modules/css-tree/lib/lexer/generic-urange.js +0 -159
  316. data/node_modules/css-tree/lib/lexer/generic.js +0 -585
  317. data/node_modules/css-tree/lib/lexer/index.js +0 -3
  318. data/node_modules/css-tree/lib/lexer/match-graph.js +0 -455
  319. data/node_modules/css-tree/lib/lexer/match.js +0 -639
  320. data/node_modules/css-tree/lib/lexer/prepare-tokens.js +0 -73
  321. data/node_modules/css-tree/lib/lexer/search.js +0 -65
  322. data/node_modules/css-tree/lib/lexer/structure.js +0 -163
  323. data/node_modules/css-tree/lib/lexer/trace.js +0 -79
  324. data/node_modules/css-tree/lib/parser/create.js +0 -304
  325. data/node_modules/css-tree/lib/parser/index.js +0 -4
  326. data/node_modules/css-tree/lib/parser/sequence.js +0 -54
  327. data/node_modules/css-tree/lib/syntax/atrule/font-face.js +0 -8
  328. data/node_modules/css-tree/lib/syntax/atrule/import.js +0 -40
  329. data/node_modules/css-tree/lib/syntax/atrule/index.js +0 -7
  330. data/node_modules/css-tree/lib/syntax/atrule/media.js +0 -12
  331. data/node_modules/css-tree/lib/syntax/atrule/page.js +0 -12
  332. data/node_modules/css-tree/lib/syntax/atrule/supports.js +0 -89
  333. data/node_modules/css-tree/lib/syntax/config/lexer.js +0 -9
  334. data/node_modules/css-tree/lib/syntax/config/mix.js +0 -140
  335. data/node_modules/css-tree/lib/syntax/config/parser.js +0 -25
  336. data/node_modules/css-tree/lib/syntax/config/walker.js +0 -3
  337. data/node_modules/css-tree/lib/syntax/create.js +0 -77
  338. data/node_modules/css-tree/lib/syntax/function/expression.js +0 -7
  339. data/node_modules/css-tree/lib/syntax/function/var.js +0 -43
  340. data/node_modules/css-tree/lib/syntax/index.js +0 -21
  341. data/node_modules/css-tree/lib/syntax/node/AnPlusB.js +0 -297
  342. data/node_modules/css-tree/lib/syntax/node/Atrule.js +0 -107
  343. data/node_modules/css-tree/lib/syntax/node/AtrulePrelude.js +0 -51
  344. data/node_modules/css-tree/lib/syntax/node/AttributeSelector.js +0 -165
  345. data/node_modules/css-tree/lib/syntax/node/Block.js +0 -91
  346. data/node_modules/css-tree/lib/syntax/node/Brackets.js +0 -34
  347. data/node_modules/css-tree/lib/syntax/node/CDC.js +0 -19
  348. data/node_modules/css-tree/lib/syntax/node/CDO.js +0 -19
  349. data/node_modules/css-tree/lib/syntax/node/ClassSelector.js +0 -29
  350. data/node_modules/css-tree/lib/syntax/node/Combinator.js +0 -55
  351. data/node_modules/css-tree/lib/syntax/node/Comment.js +0 -36
  352. data/node_modules/css-tree/lib/syntax/node/Declaration.js +0 -169
  353. data/node_modules/css-tree/lib/syntax/node/DeclarationList.js +0 -49
  354. data/node_modules/css-tree/lib/syntax/node/Dimension.js +0 -29
  355. data/node_modules/css-tree/lib/syntax/node/Function.js +0 -40
  356. data/node_modules/css-tree/lib/syntax/node/Hash.js +0 -26
  357. data/node_modules/css-tree/lib/syntax/node/IdSelector.js +0 -27
  358. data/node_modules/css-tree/lib/syntax/node/Identifier.js +0 -20
  359. data/node_modules/css-tree/lib/syntax/node/MediaFeature.js +0 -76
  360. data/node_modules/css-tree/lib/syntax/node/MediaQuery.js +0 -68
  361. data/node_modules/css-tree/lib/syntax/node/MediaQueryList.js +0 -36
  362. data/node_modules/css-tree/lib/syntax/node/Nth.js +0 -51
  363. data/node_modules/css-tree/lib/syntax/node/Number.js +0 -18
  364. data/node_modules/css-tree/lib/syntax/node/Operator.js +0 -21
  365. data/node_modules/css-tree/lib/syntax/node/Parentheses.js +0 -34
  366. data/node_modules/css-tree/lib/syntax/node/Percentage.js +0 -27
  367. data/node_modules/css-tree/lib/syntax/node/PseudoClassSelector.js +0 -61
  368. data/node_modules/css-tree/lib/syntax/node/PseudoElementSelector.js +0 -62
  369. data/node_modules/css-tree/lib/syntax/node/Ratio.js +0 -66
  370. data/node_modules/css-tree/lib/syntax/node/Raw.js +0 -87
  371. data/node_modules/css-tree/lib/syntax/node/Rule.js +0 -54
  372. data/node_modules/css-tree/lib/syntax/node/Selector.js +0 -32
  373. data/node_modules/css-tree/lib/syntax/node/SelectorList.js +0 -39
  374. data/node_modules/css-tree/lib/syntax/node/String.js +0 -18
  375. data/node_modules/css-tree/lib/syntax/node/StyleSheet.js +0 -81
  376. data/node_modules/css-tree/lib/syntax/node/TypeSelector.js +0 -53
  377. data/node_modules/css-tree/lib/syntax/node/UnicodeRange.js +0 -173
  378. data/node_modules/css-tree/lib/syntax/node/Url.js +0 -69
  379. data/node_modules/css-tree/lib/syntax/node/Value.js +0 -19
  380. data/node_modules/css-tree/lib/syntax/node/WhiteSpace.js +0 -26
  381. data/node_modules/css-tree/lib/syntax/node/index.js +0 -42
  382. data/node_modules/css-tree/lib/syntax/pseudo/common/nth.js +0 -9
  383. data/node_modules/css-tree/lib/syntax/pseudo/common/nthWithOfClause.js +0 -9
  384. data/node_modules/css-tree/lib/syntax/pseudo/common/selectorList.js +0 -7
  385. data/node_modules/css-tree/lib/syntax/pseudo/dir.js +0 -7
  386. data/node_modules/css-tree/lib/syntax/pseudo/has.js +0 -7
  387. data/node_modules/css-tree/lib/syntax/pseudo/index.js +0 -12
  388. data/node_modules/css-tree/lib/syntax/pseudo/lang.js +0 -7
  389. data/node_modules/css-tree/lib/syntax/pseudo/matches.js +0 -1
  390. data/node_modules/css-tree/lib/syntax/pseudo/not.js +0 -1
  391. data/node_modules/css-tree/lib/syntax/pseudo/nth-child.js +0 -1
  392. data/node_modules/css-tree/lib/syntax/pseudo/nth-last-child.js +0 -1
  393. data/node_modules/css-tree/lib/syntax/pseudo/nth-last-of-type.js +0 -1
  394. data/node_modules/css-tree/lib/syntax/pseudo/nth-of-type.js +0 -1
  395. data/node_modules/css-tree/lib/syntax/pseudo/slotted.js +0 -7
  396. data/node_modules/css-tree/lib/syntax/scope/atrulePrelude.js +0 -3
  397. data/node_modules/css-tree/lib/syntax/scope/default.js +0 -87
  398. data/node_modules/css-tree/lib/syntax/scope/index.js +0 -5
  399. data/node_modules/css-tree/lib/syntax/scope/selector.js +0 -80
  400. data/node_modules/css-tree/lib/syntax/scope/value.js +0 -5
  401. data/node_modules/css-tree/lib/tokenizer/char-code-definitions.js +0 -249
  402. data/node_modules/css-tree/lib/tokenizer/const.js +0 -40
  403. data/node_modules/css-tree/lib/tokenizer/index.js +0 -591
  404. data/node_modules/css-tree/lib/tokenizer/utils.js +0 -243
  405. data/node_modules/css-tree/lib/utils/clone.js +0 -21
  406. data/node_modules/css-tree/lib/utils/createCustomError.js +0 -17
  407. data/node_modules/css-tree/lib/utils/names.js +0 -104
  408. data/node_modules/css-tree/lib/walker/create.js +0 -284
  409. data/node_modules/css-tree/lib/walker/index.js +0 -4
  410. data/node_modules/css-tree/package.json +0 -60
  411. data/node_modules/csstype/LICENSE +0 -19
  412. data/node_modules/csstype/README.md +0 -273
  413. data/node_modules/csstype/index.d.ts +0 -20553
  414. data/node_modules/csstype/index.js.flow +0 -6278
  415. data/node_modules/csstype/package.json +0 -62
  416. data/node_modules/error-stack-parser/CHANGELOG.md +0 -53
  417. data/node_modules/error-stack-parser/LICENSE +0 -19
  418. data/node_modules/error-stack-parser/README.md +0 -44
  419. data/node_modules/error-stack-parser/dist/error-stack-parser.js +0 -202
  420. data/node_modules/error-stack-parser/dist/error-stack-parser.min.js +0 -2
  421. data/node_modules/error-stack-parser/dist/error-stack-parser.min.js.map +0 -1
  422. data/node_modules/error-stack-parser/error-stack-parser.d.ts +0 -66
  423. data/node_modules/error-stack-parser/error-stack-parser.js +0 -202
  424. data/node_modules/error-stack-parser/package.json +0 -63
  425. data/node_modules/fastest-stable-stringify/.eslintrc.yml +0 -26
  426. data/node_modules/fastest-stable-stringify/.travis.yml +0 -7
  427. data/node_modules/fastest-stable-stringify/LICENSE +0 -18
  428. data/node_modules/fastest-stable-stringify/README.md +0 -44
  429. data/node_modules/fastest-stable-stringify/benchmark/index.js +0 -32
  430. data/node_modules/fastest-stable-stringify/benchmark/test.json +0 -215
  431. data/node_modules/fastest-stable-stringify/example/key_cmp.js +0 -7
  432. data/node_modules/fastest-stable-stringify/example/nested.js +0 -3
  433. data/node_modules/fastest-stable-stringify/example/str.js +0 -3
  434. data/node_modules/fastest-stable-stringify/example/value_cmp.js +0 -7
  435. data/node_modules/fastest-stable-stringify/index.js +0 -60
  436. data/node_modules/fastest-stable-stringify/package.json +0 -54
  437. data/node_modules/fastest-stable-stringify/test/bench.js +0 -20
  438. data/node_modules/fastest-stable-stringify/test/nested.js +0 -24
  439. data/node_modules/fastest-stable-stringify/test/str.js +0 -52
  440. data/node_modules/fastest-stable-stringify/test/to-json.js +0 -22
  441. data/node_modules/hyphenate-style-name/LICENSE +0 -28
  442. data/node_modules/hyphenate-style-name/README.md +0 -28
  443. data/node_modules/hyphenate-style-name/index.cjs.js +0 -21
  444. data/node_modules/hyphenate-style-name/index.js +0 -19
  445. data/node_modules/hyphenate-style-name/package.json +0 -42
  446. data/node_modules/inline-style-prefixer/CHANGELOG.md +0 -195
  447. data/node_modules/inline-style-prefixer/LICENSE +0 -22
  448. data/node_modules/inline-style-prefixer/README.md +0 -100
  449. data/node_modules/inline-style-prefixer/es/createPrefixer.js +0 -47
  450. data/node_modules/inline-style-prefixer/es/data.js +0 -12
  451. data/node_modules/inline-style-prefixer/es/generator/generatePluginList.js +0 -21
  452. data/node_modules/inline-style-prefixer/es/generator/generatePrefixMap.js +0 -75
  453. data/node_modules/inline-style-prefixer/es/generator/index.js +0 -69
  454. data/node_modules/inline-style-prefixer/es/generator/maps/pluginMap.js +0 -108
  455. data/node_modules/inline-style-prefixer/es/generator/maps/propertyMap.js +0 -38
  456. data/node_modules/inline-style-prefixer/es/index.js +0 -26
  457. data/node_modules/inline-style-prefixer/es/plugins/backgroundClip.js +0 -7
  458. data/node_modules/inline-style-prefixer/es/plugins/calc.js +0 -11
  459. data/node_modules/inline-style-prefixer/es/plugins/crossFade.js +0 -12
  460. data/node_modules/inline-style-prefixer/es/plugins/cursor.js +0 -16
  461. data/node_modules/inline-style-prefixer/es/plugins/filter.js +0 -12
  462. data/node_modules/inline-style-prefixer/es/plugins/flex.js +0 -10
  463. data/node_modules/inline-style-prefixer/es/plugins/flexboxIE.js +0 -67
  464. data/node_modules/inline-style-prefixer/es/plugins/flexboxOld.js +0 -33
  465. data/node_modules/inline-style-prefixer/es/plugins/gradient.js +0 -14
  466. data/node_modules/inline-style-prefixer/es/plugins/grid.js +0 -129
  467. data/node_modules/inline-style-prefixer/es/plugins/imageSet.js +0 -12
  468. data/node_modules/inline-style-prefixer/es/plugins/index.js +0 -17
  469. data/node_modules/inline-style-prefixer/es/plugins/logical.js +0 -35
  470. data/node_modules/inline-style-prefixer/es/plugins/position.js +0 -5
  471. data/node_modules/inline-style-prefixer/es/plugins/sizing.js +0 -26
  472. data/node_modules/inline-style-prefixer/es/plugins/transition.js +0 -75
  473. data/node_modules/inline-style-prefixer/es/utils/addNewValuesOnly.js +0 -15
  474. data/node_modules/inline-style-prefixer/es/utils/capitalizeString.js +0 -3
  475. data/node_modules/inline-style-prefixer/es/utils/isObject.js +0 -3
  476. data/node_modules/inline-style-prefixer/es/utils/prefixProperty.js +0 -22
  477. data/node_modules/inline-style-prefixer/es/utils/prefixValue.js +0 -11
  478. data/node_modules/inline-style-prefixer/lib/createPrefixer.js +0 -66
  479. data/node_modules/inline-style-prefixer/lib/data.js +0 -17
  480. data/node_modules/inline-style-prefixer/lib/generator/generatePluginList.js +0 -32
  481. data/node_modules/inline-style-prefixer/lib/generator/generatePrefixMap.js +0 -86
  482. data/node_modules/inline-style-prefixer/lib/generator/index.js +0 -85
  483. data/node_modules/inline-style-prefixer/lib/generator/maps/pluginMap.js +0 -113
  484. data/node_modules/inline-style-prefixer/lib/generator/maps/propertyMap.js +0 -43
  485. data/node_modules/inline-style-prefixer/lib/index.js +0 -78
  486. data/node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js +0 -13
  487. data/node_modules/inline-style-prefixer/lib/plugins/calc.js +0 -21
  488. data/node_modules/inline-style-prefixer/lib/plugins/crossFade.js +0 -22
  489. data/node_modules/inline-style-prefixer/lib/plugins/cursor.js +0 -22
  490. data/node_modules/inline-style-prefixer/lib/plugins/filter.js +0 -22
  491. data/node_modules/inline-style-prefixer/lib/plugins/flex.js +0 -16
  492. data/node_modules/inline-style-prefixer/lib/plugins/flexboxIE.js +0 -73
  493. data/node_modules/inline-style-prefixer/lib/plugins/flexboxOld.js +0 -39
  494. data/node_modules/inline-style-prefixer/lib/plugins/gradient.js +0 -26
  495. data/node_modules/inline-style-prefixer/lib/plugins/grid.js +0 -136
  496. data/node_modules/inline-style-prefixer/lib/plugins/imageSet.js +0 -22
  497. data/node_modules/inline-style-prefixer/lib/plugins/index.js +0 -69
  498. data/node_modules/inline-style-prefixer/lib/plugins/logical.js +0 -41
  499. data/node_modules/inline-style-prefixer/lib/plugins/position.js +0 -11
  500. data/node_modules/inline-style-prefixer/lib/plugins/sizing.js +0 -32
  501. data/node_modules/inline-style-prefixer/lib/plugins/transition.js +0 -92
  502. data/node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js +0 -21
  503. data/node_modules/inline-style-prefixer/lib/utils/capitalizeString.js +0 -9
  504. data/node_modules/inline-style-prefixer/lib/utils/isObject.js +0 -9
  505. data/node_modules/inline-style-prefixer/lib/utils/prefixProperty.js +0 -32
  506. data/node_modules/inline-style-prefixer/lib/utils/prefixValue.js +0 -17
  507. data/node_modules/inline-style-prefixer/package.json +0 -79
  508. data/node_modules/isobject/LICENSE +0 -21
  509. data/node_modules/isobject/README.md +0 -122
  510. data/node_modules/isobject/index.d.ts +0 -5
  511. data/node_modules/isobject/index.js +0 -12
  512. data/node_modules/isobject/package.json +0 -74
  513. data/node_modules/js-tokens/CHANGELOG.md +0 -151
  514. data/node_modules/js-tokens/LICENSE +0 -21
  515. data/node_modules/js-tokens/README.md +0 -240
  516. data/node_modules/js-tokens/index.js +0 -23
  517. data/node_modules/js-tokens/package.json +0 -30
  518. data/node_modules/loose-envify/LICENSE +0 -21
  519. data/node_modules/loose-envify/README.md +0 -45
  520. data/node_modules/loose-envify/cli.js +0 -16
  521. data/node_modules/loose-envify/custom.js +0 -4
  522. data/node_modules/loose-envify/index.js +0 -3
  523. data/node_modules/loose-envify/loose-envify.js +0 -36
  524. data/node_modules/loose-envify/package.json +0 -36
  525. data/node_modules/loose-envify/replace.js +0 -65
  526. data/node_modules/mdn-data/LICENSE +0 -116
  527. data/node_modules/mdn-data/README.md +0 -56
  528. data/node_modules/mdn-data/api/index.js +0 -3
  529. data/node_modules/mdn-data/api/inheritance.json +0 -2681
  530. data/node_modules/mdn-data/api/inheritance.schema.json +0 -31
  531. data/node_modules/mdn-data/css/at-rules.json +0 -560
  532. data/node_modules/mdn-data/css/at-rules.schema.json +0 -132
  533. data/node_modules/mdn-data/css/definitions.json +0 -77
  534. data/node_modules/mdn-data/css/index.js +0 -8
  535. data/node_modules/mdn-data/css/properties.json +0 -9163
  536. data/node_modules/mdn-data/css/properties.schema.json +0 -402
  537. data/node_modules/mdn-data/css/selectors.json +0 -927
  538. data/node_modules/mdn-data/css/selectors.schema.json +0 -36
  539. data/node_modules/mdn-data/css/syntaxes.json +0 -761
  540. data/node_modules/mdn-data/css/syntaxes.schema.json +0 -15
  541. data/node_modules/mdn-data/css/types.json +0 -265
  542. data/node_modules/mdn-data/css/types.schema.json +0 -32
  543. data/node_modules/mdn-data/css/units.json +0 -199
  544. data/node_modules/mdn-data/css/units.schema.json +0 -28
  545. data/node_modules/mdn-data/index.js +0 -5
  546. data/node_modules/mdn-data/l10n/css.json +0 -1567
  547. data/node_modules/mdn-data/l10n/index.js +0 -3
  548. data/node_modules/mdn-data/package.json +0 -39
  549. data/node_modules/nano-css/.circleci/config.yml +0 -85
  550. data/node_modules/nano-css/.eslintrc.yml +0 -27
  551. data/node_modules/nano-css/.github/FUNDING.yml +0 -3
  552. data/node_modules/nano-css/.github/workflows/nodejs.yml +0 -23
  553. data/node_modules/nano-css/CHANGELOG.md +0 -362
  554. data/node_modules/nano-css/LICENSE +0 -24
  555. data/node_modules/nano-css/README.md +0 -70
  556. data/node_modules/nano-css/addon/__dev__/warnOnMissingDependencies.js +0 -25
  557. data/node_modules/nano-css/addon/__tests__/__snapshots__/reset.test.js.snap +0 -407
  558. data/node_modules/nano-css/addon/__tests__/__snapshots__/tachyons.test.js.snap +0 -43
  559. data/node_modules/nano-css/addon/__tests__/amp.server.dev.test.js +0 -6
  560. data/node_modules/nano-css/addon/__tests__/amp.server.test.js +0 -223
  561. data/node_modules/nano-css/addon/__tests__/atoms.dev.test.js +0 -5
  562. data/node_modules/nano-css/addon/__tests__/atoms.server.dev.test.js +0 -8
  563. data/node_modules/nano-css/addon/__tests__/atoms.server.test.js +0 -6
  564. data/node_modules/nano-css/addon/__tests__/atoms.test.js +0 -49
  565. data/node_modules/nano-css/addon/__tests__/cssom.server.test.js +0 -12
  566. data/node_modules/nano-css/addon/__tests__/emmet/emmet.dev.test.js +0 -5
  567. data/node_modules/nano-css/addon/__tests__/emmet/emmet.server.dev.test.js +0 -8
  568. data/node_modules/nano-css/addon/__tests__/emmet/emmet.server.test.js +0 -6
  569. data/node_modules/nano-css/addon/__tests__/emmet/emmet.test.js +0 -219
  570. data/node_modules/nano-css/addon/__tests__/env.js +0 -6
  571. data/node_modules/nano-css/addon/__tests__/extract.server.test.js +0 -159
  572. data/node_modules/nano-css/addon/__tests__/index.server.dev.test.js +0 -6
  573. data/node_modules/nano-css/addon/__tests__/index.server.test.js +0 -4
  574. data/node_modules/nano-css/addon/__tests__/index.test.js +0 -257
  575. data/node_modules/nano-css/addon/__tests__/jsx.dev.test.js +0 -5
  576. data/node_modules/nano-css/addon/__tests__/jsx.server.dev.test.js +0 -6
  577. data/node_modules/nano-css/addon/__tests__/jsx.server.test.js +0 -4
  578. data/node_modules/nano-css/addon/__tests__/jsx.test.js +0 -33
  579. data/node_modules/nano-css/addon/__tests__/keyframes.dev.test.js +0 -5
  580. data/node_modules/nano-css/addon/__tests__/keyframes.server.dev.test.js +0 -6
  581. data/node_modules/nano-css/addon/__tests__/keyframes.server.test.js +0 -4
  582. data/node_modules/nano-css/addon/__tests__/keyframes.test.js +0 -131
  583. data/node_modules/nano-css/addon/__tests__/limit.server.test.js +0 -54
  584. data/node_modules/nano-css/addon/__tests__/nesting.test.js +0 -85
  585. data/node_modules/nano-css/addon/__tests__/prefixer.test.js +0 -121
  586. data/node_modules/nano-css/addon/__tests__/put.dev.test.js +0 -5
  587. data/node_modules/nano-css/addon/__tests__/put.server.dev.test.js +0 -6
  588. data/node_modules/nano-css/addon/__tests__/put.server.test.js +0 -4
  589. data/node_modules/nano-css/addon/__tests__/put.test.js +0 -75
  590. data/node_modules/nano-css/addon/__tests__/reset.test.js +0 -38
  591. data/node_modules/nano-css/addon/__tests__/rule.dev.test.js +0 -5
  592. data/node_modules/nano-css/addon/__tests__/rule.server.dev.test.js +0 -7
  593. data/node_modules/nano-css/addon/__tests__/rule.server.test.js +0 -5
  594. data/node_modules/nano-css/addon/__tests__/rule.test.js +0 -57
  595. data/node_modules/nano-css/addon/__tests__/setup.js +0 -7
  596. data/node_modules/nano-css/addon/__tests__/sheet.test.js +0 -74
  597. data/node_modules/nano-css/addon/__tests__/snake.test.js +0 -124
  598. data/node_modules/nano-css/addon/__tests__/tachyons.test.js +0 -45
  599. data/node_modules/nano-css/addon/__tests__/units.dev.test.js +0 -5
  600. data/node_modules/nano-css/addon/__tests__/units.server.dev.test.js +0 -6
  601. data/node_modules/nano-css/addon/__tests__/units.server.test.js +0 -4
  602. data/node_modules/nano-css/addon/__tests__/units.test.js +0 -41
  603. data/node_modules/nano-css/addon/__tests__/validate.dev.test.js +0 -5
  604. data/node_modules/nano-css/addon/__tests__/validate.test.js +0 -69
  605. data/node_modules/nano-css/addon/__tests__/vcssom.server.test.js +0 -14
  606. data/node_modules/nano-css/addon/__tests__/virtual.dev.test.js +0 -5
  607. data/node_modules/nano-css/addon/__tests__/virtual.server.dev.test.js +0 -6
  608. data/node_modules/nano-css/addon/__tests__/virtual.server.test.js +0 -4
  609. data/node_modules/nano-css/addon/__tests__/virtual.test.js +0 -225
  610. data/node_modules/nano-css/addon/amp.d.ts +0 -5
  611. data/node_modules/nano-css/addon/amp.js +0 -156
  612. data/node_modules/nano-css/addon/animate/fadeIn.js +0 -22
  613. data/node_modules/nano-css/addon/animate/fadeInDown.js +0 -25
  614. data/node_modules/nano-css/addon/animate/fadeInScale.js +0 -25
  615. data/node_modules/nano-css/addon/animate/fadeOut.js +0 -23
  616. data/node_modules/nano-css/addon/animate/fadeOutScale.js +0 -21
  617. data/node_modules/nano-css/addon/array.d.ts +0 -5
  618. data/node_modules/nano-css/addon/array.js +0 -33
  619. data/node_modules/nano-css/addon/atoms.d.ts +0 -243
  620. data/node_modules/nano-css/addon/atoms.js +0 -63
  621. data/node_modules/nano-css/addon/cache.d.ts +0 -8
  622. data/node_modules/nano-css/addon/cache.js +0 -17
  623. data/node_modules/nano-css/addon/component.d.ts +0 -7
  624. data/node_modules/nano-css/addon/component.js +0 -26
  625. data/node_modules/nano-css/addon/cssom.d.ts +0 -17
  626. data/node_modules/nano-css/addon/cssom.js +0 -36
  627. data/node_modules/nano-css/addon/decorator.d.ts +0 -7
  628. data/node_modules/nano-css/addon/decorator.js +0 -43
  629. data/node_modules/nano-css/addon/drule.d.ts +0 -8
  630. data/node_modules/nano-css/addon/drule.js +0 -27
  631. data/node_modules/nano-css/addon/dsheet.d.ts +0 -8
  632. data/node_modules/nano-css/addon/dsheet.js +0 -36
  633. data/node_modules/nano-css/addon/emmet.d.ts +0 -614
  634. data/node_modules/nano-css/addon/emmet.js +0 -177
  635. data/node_modules/nano-css/addon/extract.d.ts +0 -5
  636. data/node_modules/nano-css/addon/extract.js +0 -59
  637. data/node_modules/nano-css/addon/global.d.ts +0 -8
  638. data/node_modules/nano-css/addon/global.js +0 -19
  639. data/node_modules/nano-css/addon/googleFont.d.ts +0 -8
  640. data/node_modules/nano-css/addon/googleFont.js +0 -43
  641. data/node_modules/nano-css/addon/hydrate.d.ts +0 -7
  642. data/node_modules/nano-css/addon/hydrate.js +0 -28
  643. data/node_modules/nano-css/addon/hyperstyle.js +0 -27
  644. data/node_modules/nano-css/addon/important.js +0 -38
  645. data/node_modules/nano-css/addon/jsx.js +0 -60
  646. data/node_modules/nano-css/addon/keyframes.d.ts +0 -34
  647. data/node_modules/nano-css/addon/keyframes.js +0 -61
  648. data/node_modules/nano-css/addon/limit.js +0 -26
  649. data/node_modules/nano-css/addon/nesting.js +0 -37
  650. data/node_modules/nano-css/addon/pipe.js +0 -57
  651. data/node_modules/nano-css/addon/prefixer.js +0 -79
  652. data/node_modules/nano-css/addon/ref.js +0 -87
  653. data/node_modules/nano-css/addon/reset/EricMeyer.js +0 -48
  654. data/node_modules/nano-css/addon/reset/EricMeyerCondensed.js +0 -44
  655. data/node_modules/nano-css/addon/reset/Minimalistic.js +0 -16
  656. data/node_modules/nano-css/addon/reset/Minimalistic2.js +0 -17
  657. data/node_modules/nano-css/addon/reset/Minimalistic3.js +0 -18
  658. data/node_modules/nano-css/addon/reset/Normalize.js +0 -83
  659. data/node_modules/nano-css/addon/reset/PoorMan.js +0 -25
  660. data/node_modules/nano-css/addon/reset/ShaunInman.js +0 -42
  661. data/node_modules/nano-css/addon/reset/Siolon.js +0 -34
  662. data/node_modules/nano-css/addon/reset/Tantek.js +0 -31
  663. data/node_modules/nano-css/addon/reset/Tripoli.js +0 -75
  664. data/node_modules/nano-css/addon/reset/Universal.js +0 -23
  665. data/node_modules/nano-css/addon/reset/Yahoo.js +0 -43
  666. data/node_modules/nano-css/addon/reset-font.js +0 -24
  667. data/node_modules/nano-css/addon/rtl.js +0 -15
  668. data/node_modules/nano-css/addon/rule.d.ts +0 -26
  669. data/node_modules/nano-css/addon/rule.js +0 -39
  670. data/node_modules/nano-css/addon/sheet.d.ts +0 -22
  671. data/node_modules/nano-css/addon/sheet.js +0 -45
  672. data/node_modules/nano-css/addon/snake.js +0 -141
  673. data/node_modules/nano-css/addon/sourcemaps.js +0 -96
  674. data/node_modules/nano-css/addon/spread.js +0 -23
  675. data/node_modules/nano-css/addon/stable.js +0 -7
  676. data/node_modules/nano-css/addon/style.js +0 -33
  677. data/node_modules/nano-css/addon/styled.js +0 -161
  678. data/node_modules/nano-css/addon/stylis/plugin-onRule.js +0 -43
  679. data/node_modules/nano-css/addon/stylis.js +0 -28
  680. data/node_modules/nano-css/addon/tachyons.js +0 -215
  681. data/node_modules/nano-css/addon/unitless.js +0 -78
  682. data/node_modules/nano-css/addon/units.d.ts +0 -89
  683. data/node_modules/nano-css/addon/units.js +0 -27
  684. data/node_modules/nano-css/addon/useStyles.js +0 -24
  685. data/node_modules/nano-css/addon/util/cloneElement.js +0 -11
  686. data/node_modules/nano-css/addon/util/transformComponentDynamic.js +0 -50
  687. data/node_modules/nano-css/addon/util/transformComponentStatic.js +0 -26
  688. data/node_modules/nano-css/addon/validate.js +0 -82
  689. data/node_modules/nano-css/addon/vcssom/__tests__/cssToTree.test.js +0 -159
  690. data/node_modules/nano-css/addon/vcssom/cssToTree.d.ts +0 -15
  691. data/node_modules/nano-css/addon/vcssom/cssToTree.js +0 -42
  692. data/node_modules/nano-css/addon/vcssom/removeRule.d.ts +0 -3
  693. data/node_modules/nano-css/addon/vcssom/removeRule.js +0 -15
  694. data/node_modules/nano-css/addon/vcssom.d.ts +0 -72
  695. data/node_modules/nano-css/addon/vcssom.js +0 -97
  696. data/node_modules/nano-css/addon/virtual.js +0 -107
  697. data/node_modules/nano-css/addon/withStyles.js +0 -32
  698. data/node_modules/nano-css/index.d.ts +0 -4
  699. data/node_modules/nano-css/index.js +0 -138
  700. data/node_modules/nano-css/package.json +0 -145
  701. data/node_modules/nano-css/preset/react.js +0 -43
  702. data/node_modules/nano-css/preset/sheet.d.ts +0 -5
  703. data/node_modules/nano-css/preset/sheet.js +0 -27
  704. data/node_modules/nano-css/preset/vdom.js +0 -40
  705. data/node_modules/nano-css/prettier.config.js +0 -13
  706. data/node_modules/nano-css/renovate.json +0 -3
  707. data/node_modules/nano-css/types/common.d.ts +0 -14
  708. data/node_modules/nano-css/types/demo.ts +0 -7
  709. data/node_modules/nano-css/types/nano.d.ts +0 -171
  710. data/node_modules/object-assign/index.js +0 -90
  711. data/node_modules/object-assign/license +0 -21
  712. data/node_modules/object-assign/package.json +0 -42
  713. data/node_modules/object-assign/readme.md +0 -61
  714. data/node_modules/preact/compat/LICENSE +0 -21
  715. data/node_modules/preact/debug/LICENSE +0 -21
  716. data/node_modules/preact/devtools/LICENSE +0 -21
  717. data/node_modules/preact/hooks/LICENSE +0 -21
  718. data/node_modules/preact/jsx-runtime/LICENSE +0 -21
  719. data/node_modules/preact-deep-force-update/.babelrc +0 -8
  720. data/node_modules/preact-deep-force-update/.eslintrc +0 -66
  721. data/node_modules/preact-deep-force-update/.npmignore +0 -2
  722. data/node_modules/preact-deep-force-update/.travis.yml +0 -3
  723. data/node_modules/preact-deep-force-update/LICENSE +0 -21
  724. data/node_modules/preact-deep-force-update/README.md +0 -53
  725. data/node_modules/preact-deep-force-update/dist/deep-force-update.js +0 -36
  726. data/node_modules/preact-deep-force-update/dist/deep-force-update.js.map +0 -1
  727. data/node_modules/preact-deep-force-update/dist/deep-force-update.min.js +0 -2
  728. data/node_modules/preact-deep-force-update/dist/deep-force-update.min.js.map +0 -1
  729. data/node_modules/preact-deep-force-update/karma.conf.js +0 -32
  730. data/node_modules/preact-deep-force-update/package.json +0 -80
  731. data/node_modules/preact-deep-force-update/rollup.config.js +0 -17
  732. data/node_modules/preact-deep-force-update/src/index.js +0 -27
  733. data/node_modules/preact-deep-force-update/test/index.js +0 -50
  734. data/node_modules/react/LICENSE +0 -21
  735. data/node_modules/react/README.md +0 -13
  736. data/node_modules/react/build-info.json +0 -8
  737. data/node_modules/react/cjs/react-jsx-dev-runtime.development.js +0 -1203
  738. data/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +0 -9
  739. data/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +0 -9
  740. data/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1221
  741. data/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -10
  742. data/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +0 -10
  743. data/node_modules/react/cjs/react.development.js +0 -2333
  744. data/node_modules/react/cjs/react.production.min.js +0 -23
  745. data/node_modules/react/index.js +0 -7
  746. data/node_modules/react/jsx-dev-runtime.js +0 -7
  747. data/node_modules/react/jsx-runtime.js +0 -7
  748. data/node_modules/react/package.json +0 -39
  749. data/node_modules/react/umd/react.development.js +0 -3357
  750. data/node_modules/react/umd/react.production.min.js +0 -31
  751. data/node_modules/react/umd/react.profiling.min.js +0 -36
  752. data/node_modules/react-dom/LICENSE +0 -21
  753. data/node_modules/react-dom/README.md +0 -54
  754. data/node_modules/react-dom/build-info.json +0 -8
  755. data/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -4342
  756. data/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +0 -51
  757. data/node_modules/react-dom/cjs/react-dom-server.node.development.js +0 -4383
  758. data/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +0 -52
  759. data/node_modules/react-dom/cjs/react-dom-test-utils.development.js +0 -2118
  760. data/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +0 -43
  761. data/node_modules/react-dom/cjs/react-dom.development.js +0 -26262
  762. data/node_modules/react-dom/cjs/react-dom.production.min.js +0 -297
  763. data/node_modules/react-dom/cjs/react-dom.profiling.min.js +0 -310
  764. data/node_modules/react-dom/index.js +0 -38
  765. data/node_modules/react-dom/package.json +0 -49
  766. data/node_modules/react-dom/profiling.js +0 -38
  767. data/node_modules/react-dom/server.browser.js +0 -7
  768. data/node_modules/react-dom/server.js +0 -3
  769. data/node_modules/react-dom/server.node.js +0 -7
  770. data/node_modules/react-dom/test-utils.js +0 -7
  771. data/node_modules/react-dom/umd/react-dom-server.browser.development.js +0 -4341
  772. data/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +0 -46
  773. data/node_modules/react-dom/umd/react-dom-test-utils.development.js +0 -2136
  774. data/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +0 -35
  775. data/node_modules/react-dom/umd/react-dom.development.js +0 -26292
  776. data/node_modules/react-dom/umd/react-dom.production.min.js +0 -245
  777. data/node_modules/react-dom/umd/react-dom.profiling.min.js +0 -252
  778. data/node_modules/regenerator-runtime/LICENSE +0 -21
  779. data/node_modules/regenerator-runtime/README.md +0 -31
  780. data/node_modules/regenerator-runtime/package.json +0 -19
  781. data/node_modules/regenerator-runtime/path.js +0 -11
  782. data/node_modules/regenerator-runtime/runtime.js +0 -754
  783. data/node_modules/rtl-css-js/CHANGELOG.md +0 -5
  784. data/node_modules/rtl-css-js/LICENSE +0 -20
  785. data/node_modules/rtl-css-js/README.md +0 -205
  786. data/node_modules/rtl-css-js/core/package.json +0 -6
  787. data/node_modules/rtl-css-js/core.d.ts +0 -163
  788. data/node_modules/rtl-css-js/core.esm.d.ts +0 -1
  789. data/node_modules/rtl-css-js/core.esm.js +0 -9
  790. data/node_modules/rtl-css-js/dist/cjs/convert-a10c80e3.js +0 -509
  791. data/node_modules/rtl-css-js/dist/cjs/core.js +0 -30
  792. data/node_modules/rtl-css-js/dist/cjs/index.js +0 -7
  793. data/node_modules/rtl-css-js/dist/esm/convert-09159978.js +0 -487
  794. data/node_modules/rtl-css-js/dist/esm/core.js +0 -1
  795. data/node_modules/rtl-css-js/dist/esm/index.js +0 -5
  796. data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.js +0 -519
  797. data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.js.map +0 -1
  798. data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.min.js +0 -2
  799. data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.min.js.map +0 -1
  800. data/node_modules/rtl-css-js/dist/rtl-css-js.umd.js +0 -496
  801. data/node_modules/rtl-css-js/dist/rtl-css-js.umd.js.map +0 -1
  802. data/node_modules/rtl-css-js/dist/rtl-css-js.umd.min.js +0 -2
  803. data/node_modules/rtl-css-js/dist/rtl-css-js.umd.min.js.map +0 -1
  804. data/node_modules/rtl-css-js/package.json +0 -66
  805. data/node_modules/rtl-css-js/types.d.ts +0 -8
  806. data/node_modules/scheduler/LICENSE +0 -21
  807. data/node_modules/scheduler/README.md +0 -9
  808. data/node_modules/scheduler/build-info.json +0 -8
  809. data/node_modules/scheduler/cjs/scheduler-tracing.development.js +0 -347
  810. data/node_modules/scheduler/cjs/scheduler-tracing.production.min.js +0 -9
  811. data/node_modules/scheduler/cjs/scheduler-tracing.profiling.min.js +0 -16
  812. data/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +0 -665
  813. data/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +0 -19
  814. data/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js +0 -206
  815. data/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.min.js +0 -13
  816. data/node_modules/scheduler/cjs/scheduler.development.js +0 -646
  817. data/node_modules/scheduler/cjs/scheduler.production.min.js +0 -20
  818. data/node_modules/scheduler/index.js +0 -7
  819. data/node_modules/scheduler/package.json +0 -40
  820. data/node_modules/scheduler/tracing-profiling.js +0 -7
  821. data/node_modules/scheduler/tracing.js +0 -7
  822. data/node_modules/scheduler/umd/scheduler-tracing.development.js +0 -80
  823. data/node_modules/scheduler/umd/scheduler-tracing.production.min.js +0 -80
  824. data/node_modules/scheduler/umd/scheduler-tracing.profiling.min.js +0 -80
  825. data/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +0 -664
  826. data/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +0 -18
  827. data/node_modules/scheduler/umd/scheduler.development.js +0 -152
  828. data/node_modules/scheduler/umd/scheduler.production.min.js +0 -146
  829. data/node_modules/scheduler/umd/scheduler.profiling.min.js +0 -146
  830. data/node_modules/scheduler/unstable_mock.js +0 -7
  831. data/node_modules/scheduler/unstable_post_task.js +0 -7
  832. data/node_modules/source-map/CHANGELOG.md +0 -301
  833. data/node_modules/source-map/LICENSE +0 -28
  834. data/node_modules/source-map/README.md +0 -742
  835. data/node_modules/source-map/dist/source-map.debug.js +0 -3234
  836. data/node_modules/source-map/dist/source-map.js +0 -3233
  837. data/node_modules/source-map/dist/source-map.min.js +0 -2
  838. data/node_modules/source-map/dist/source-map.min.js.map +0 -1
  839. data/node_modules/source-map/lib/array-set.js +0 -121
  840. data/node_modules/source-map/lib/base64-vlq.js +0 -140
  841. data/node_modules/source-map/lib/base64.js +0 -67
  842. data/node_modules/source-map/lib/binary-search.js +0 -111
  843. data/node_modules/source-map/lib/mapping-list.js +0 -79
  844. data/node_modules/source-map/lib/quick-sort.js +0 -114
  845. data/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  846. data/node_modules/source-map/lib/source-map-generator.js +0 -425
  847. data/node_modules/source-map/lib/source-node.js +0 -413
  848. data/node_modules/source-map/lib/util.js +0 -488
  849. data/node_modules/source-map/package.json +0 -73
  850. data/node_modules/source-map/source-map.d.ts +0 -98
  851. data/node_modules/source-map/source-map.js +0 -8
  852. data/node_modules/sourcemap-codec/CHANGELOG.md +0 -64
  853. data/node_modules/sourcemap-codec/LICENSE +0 -21
  854. data/node_modules/sourcemap-codec/README.md +0 -63
  855. data/node_modules/sourcemap-codec/dist/sourcemap-codec.es.js +0 -124
  856. data/node_modules/sourcemap-codec/dist/sourcemap-codec.es.js.map +0 -1
  857. data/node_modules/sourcemap-codec/dist/sourcemap-codec.umd.js +0 -135
  858. data/node_modules/sourcemap-codec/dist/sourcemap-codec.umd.js.map +0 -1
  859. data/node_modules/sourcemap-codec/dist/types/sourcemap-codec.d.ts +0 -5
  860. data/node_modules/sourcemap-codec/package.json +0 -53
  861. data/node_modules/stack-generator/.eslintrc.yml +0 -32
  862. data/node_modules/stack-generator/CHANGELOG.md +0 -18
  863. data/node_modules/stack-generator/CONTRIBUTING.md +0 -27
  864. data/node_modules/stack-generator/LICENSE +0 -19
  865. data/node_modules/stack-generator/README.md +0 -28
  866. data/node_modules/stack-generator/bower.json +0 -33
  867. data/node_modules/stack-generator/component.json +0 -17
  868. data/node_modules/stack-generator/dist/stack-generator.js +0 -45
  869. data/node_modules/stack-generator/dist/stack-generator.min.js +0 -2
  870. data/node_modules/stack-generator/dist/stack-generator.min.js.map +0 -1
  871. data/node_modules/stack-generator/karma.conf.ci.js +0 -108
  872. data/node_modules/stack-generator/karma.conf.js +0 -26
  873. data/node_modules/stack-generator/package.json +0 -53
  874. data/node_modules/stack-generator/stack-generator.js +0 -45
  875. data/node_modules/stackframe/.eslintrc.yml +0 -29
  876. data/node_modules/stackframe/CHANGELOG.md +0 -39
  877. data/node_modules/stackframe/CONTRIBUTING.md +0 -28
  878. data/node_modules/stackframe/LICENSE +0 -19
  879. data/node_modules/stackframe/README.md +0 -78
  880. data/node_modules/stackframe/bower.json +0 -31
  881. data/node_modules/stackframe/component.json +0 -16
  882. data/node_modules/stackframe/dist/stackframe.js +0 -143
  883. data/node_modules/stackframe/dist/stackframe.min.js +0 -2
  884. data/node_modules/stackframe/dist/stackframe.min.js.map +0 -1
  885. data/node_modules/stackframe/karma.conf.ci.js +0 -105
  886. data/node_modules/stackframe/karma.conf.js +0 -23
  887. data/node_modules/stackframe/package.json +0 -51
  888. data/node_modules/stackframe/stackframe-tests.ts +0 -47
  889. data/node_modules/stackframe/stackframe.d.ts +0 -74
  890. data/node_modules/stackframe/stackframe.js +0 -143
  891. data/node_modules/stacktrace-gps/CHANGELOG.md +0 -60
  892. data/node_modules/stacktrace-gps/LICENSE +0 -19
  893. data/node_modules/stacktrace-gps/README.md +0 -89
  894. data/node_modules/stacktrace-gps/dist/polyfills.js +0 -5
  895. data/node_modules/stacktrace-gps/dist/stacktrace-gps-with-polyfills.min.js +0 -2
  896. data/node_modules/stacktrace-gps/dist/stacktrace-gps-with-polyfills.min.js.map +0 -1
  897. data/node_modules/stacktrace-gps/dist/stacktrace-gps.js +0 -342
  898. data/node_modules/stacktrace-gps/dist/stacktrace-gps.min.js +0 -2
  899. data/node_modules/stacktrace-gps/dist/stacktrace-gps.min.js.map +0 -1
  900. data/node_modules/stacktrace-gps/node_modules/source-map/CHANGELOG.md +0 -301
  901. data/node_modules/stacktrace-gps/node_modules/source-map/LICENSE +0 -28
  902. data/node_modules/stacktrace-gps/node_modules/source-map/README.md +0 -729
  903. data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.debug.js +0 -3056
  904. data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.js +0 -3055
  905. data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.min.js +0 -2
  906. data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.min.js.map +0 -1
  907. data/node_modules/stacktrace-gps/node_modules/source-map/lib/array-set.js +0 -104
  908. data/node_modules/stacktrace-gps/node_modules/source-map/lib/base64-vlq.js +0 -140
  909. data/node_modules/stacktrace-gps/node_modules/source-map/lib/base64.js +0 -67
  910. data/node_modules/stacktrace-gps/node_modules/source-map/lib/binary-search.js +0 -111
  911. data/node_modules/stacktrace-gps/node_modules/source-map/lib/mapping-list.js +0 -79
  912. data/node_modules/stacktrace-gps/node_modules/source-map/lib/quick-sort.js +0 -114
  913. data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-consumer.js +0 -1082
  914. data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-generator.js +0 -404
  915. data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-node.js +0 -407
  916. data/node_modules/stacktrace-gps/node_modules/source-map/lib/util.js +0 -417
  917. data/node_modules/stacktrace-gps/node_modules/source-map/package.json +0 -71
  918. data/node_modules/stacktrace-gps/node_modules/source-map/source-map.js +0 -8
  919. data/node_modules/stacktrace-gps/package.json +0 -66
  920. data/node_modules/stacktrace-gps/stacktrace-gps.js +0 -342
  921. data/node_modules/stacktrace-js/CHANGELOG.md +0 -97
  922. data/node_modules/stacktrace-js/LICENSE +0 -19
  923. data/node_modules/stacktrace-js/README.md +0 -186
  924. data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.js +0 -5405
  925. data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.min.js +0 -3
  926. data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.min.js.map +0 -1
  927. data/node_modules/stacktrace-js/dist/stacktrace.js +0 -3025
  928. data/node_modules/stacktrace-js/dist/stacktrace.min.js +0 -2
  929. data/node_modules/stacktrace-js/dist/stacktrace.min.js.map +0 -1
  930. data/node_modules/stacktrace-js/package.json +0 -82
  931. data/node_modules/stacktrace-js/stacktrace-js.d.ts +0 -134
  932. data/node_modules/stacktrace-js/stacktrace.js +0 -227
  933. data/node_modules/stylis/LICENSE +0 -21
  934. data/node_modules/stylis/README.md +0 -152
  935. data/node_modules/stylis/dist/stylis.mjs +0 -2
  936. data/node_modules/stylis/dist/stylis.mjs.map +0 -1
  937. data/node_modules/stylis/dist/umd/package.json +0 -1
  938. data/node_modules/stylis/dist/umd/stylis.js +0 -2
  939. data/node_modules/stylis/dist/umd/stylis.js.map +0 -1
  940. data/node_modules/stylis/index.js +0 -7
  941. data/node_modules/stylis/package.json +0 -164
  942. data/node_modules/stylis/src/Enum.js +0 -20
  943. data/node_modules/stylis/src/Middleware.js +0 -107
  944. data/node_modules/stylis/src/Parser.js +0 -184
  945. data/node_modules/stylis/src/Prefixer.js +0 -119
  946. data/node_modules/stylis/src/Serializer.js +0 -34
  947. data/node_modules/stylis/src/Tokenizer.js +0 -244
  948. data/node_modules/stylis/src/Utility.js +0 -109
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.module.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n/**\n * Keep track of the previous component so that we can set\n * `currentComponent` to `null` and throw when a hook is invoked\n * outside of render\n * @type {import('./internal').Component}\n */\nlet previousComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n\tcurrentComponent = previousComponent;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = factory();\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.forEach(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n"],"names":["currentIndex","currentComponent","prevRaf","currentHook","afterPaintEffects","oldBeforeDiff","options","oldBeforeRender","oldAfterDiff","diffed","oldCommit","oldBeforeUnmount","unmount","getHookState","index","type","hooks","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","undefined","action","nextValue","setState","useEffect","callback","args","state","argsChanged","useLayoutEffect","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","useCallback","useContext","context","provider","sub","props","value","useDebugValue","formatter","useErrorBoundary","cb","errState","componentDidCatch","err","flushAfterPaintEffects","forEach","component","invokeCleanup","invokeEffect","e","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","setTimeout","previousComponent","commitQueue","some","filter","hook","comp","oldArgs","newArgs","arg","f"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.module.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n\tcurrentComponent = null;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = factory();\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.forEach(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n"],"names":["currentIndex","currentComponent","prevRaf","currentHook","afterPaintEffects","oldBeforeDiff","options","oldBeforeRender","oldAfterDiff","diffed","oldCommit","oldBeforeUnmount","unmount","getHookState","index","type","hooks","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","undefined","action","nextValue","setState","useEffect","callback","args","state","argsChanged","useLayoutEffect","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","useCallback","useContext","context","provider","sub","props","value","useDebugValue","formatter","useErrorBoundary","cb","errState","componentDidCatch","err","flushAfterPaintEffects","forEach","component","invokeCleanup","invokeEffect","e","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","setTimeout","commitQueue","some","filter","hook","comp","oldArgs","newArgs","arg","f"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact")):"function"==typeof define&&define.amd?define(["exports","preact"],t):t(n.preactHooks={},n.preact)}(this,function(n,t){var u,o,i,r=0,c=[],f=t.options.__b,e=t.options.__r,a=t.options.diffed,v=t.options.__c,p=t.options.unmount;function m(n,u){t.options.__h&&t.options.__h(o,n,r||u),r=0;var i=o.__H||(o.__H={__:[],__h:[]});return n>=i.__.length&&i.__.push({}),i.__[n]}function y(n){return r=1,d(F,n)}function d(n,t,i){var r=m(u++,2);return r.t=n,r.__c||(r.__=[i?i(t):F(void 0,t),function(n){var t=r.t(r.__[0],n);r.__[0]!==t&&(r.__=[t,r.__[1]],r.__c.setState({}))}],r.__c=o),r.__}function l(n,i){var r=m(u++,4);!t.options.__s&&A(r.__H,i)&&(r.__=n,r.__H=i,o.__h.push(r))}function s(n,t){var o=m(u++,7);return A(o.__H,t)&&(o.__=n(),o.__H=t,o.__h=n),o.__}function h(){c.forEach(function(n){if(n.__P)try{n.__H.__h.forEach(q),n.__H.__h.forEach(x),n.__H.__h=[]}catch(u){n.__H.__h=[],t.options.__e(u,n.__v)}}),c=[]}t.options.__b=function(n){o=null,f&&f(n)},t.options.__r=function(n){e&&e(n),u=0;var t=(o=n.__c).__H;t&&(t.__h.forEach(q),t.__h.forEach(x),t.__h=[])},t.options.diffed=function(n){a&&a(n);var u=n.__c;u&&u.__H&&u.__H.__h.length&&(1!==c.push(u)&&i===t.options.requestAnimationFrame||((i=t.options.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(o),_&&cancelAnimationFrame(t),setTimeout(n)},o=setTimeout(u,100);_&&(t=requestAnimationFrame(u))})(h)),o=void 0},t.options.__c=function(n,u){u.some(function(n){try{n.__h.forEach(q),n.__h=n.__h.filter(function(n){return!n.__||x(n)})}catch(o){u.some(function(n){n.__h&&(n.__h=[])}),u=[],t.options.__e(o,n.__v)}}),v&&v(n,u)},t.options.unmount=function(n){p&&p(n);var u=n.__c;if(u&&u.__H)try{u.__H.__.forEach(q)}catch(n){t.options.__e(n,u.__v)}};var _="function"==typeof requestAnimationFrame;function q(n){var t=o;"function"==typeof n.__c&&n.__c(),o=t}function x(n){var t=o;n.__c=n.__(),o=t}function A(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function F(n,t){return"function"==typeof t?t(n):t}n.useState=y,n.useReducer=d,n.useEffect=function(n,i){var r=m(u++,3);!t.options.__s&&A(r.__H,i)&&(r.__=n,r.__H=i,o.__H.__h.push(r))},n.useLayoutEffect=l,n.useRef=function(n){return r=5,s(function(){return{current:n}},[])},n.useImperativeHandle=function(n,t,u){r=6,l(function(){"function"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))},n.useMemo=s,n.useCallback=function(n,t){return r=8,s(function(){return n},t)},n.useContext=function(n){var t=o.context[n.__c],i=m(u++,9);return i.c=n,t?(null==i.__&&(i.__=!0,t.sub(o)),t.props.value):n.__},n.useDebugValue=function(n,u){t.options.useDebugValue&&t.options.useDebugValue(u?u(n):n)},n.useErrorBoundary=function(n){var t=m(u++,10),i=y();return t.__=n,o.componentDidCatch||(o.componentDidCatch=function(n){t.__&&t.__(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}});
1
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact")):"function"==typeof define&&define.amd?define(["exports","preact"],t):t(n.preactHooks={},n.preact)}(this,function(n,t){var u,o,r,i=0,c=[],f=t.options.__b,e=t.options.__r,a=t.options.diffed,v=t.options.__c,p=t.options.unmount;function l(n,u){t.options.__h&&t.options.__h(o,n,i||u),i=0;var r=o.__H||(o.__H={__:[],__h:[]});return n>=r.__.length&&r.__.push({}),r.__[n]}function m(n){return i=1,y(F,n)}function y(n,t,r){var i=l(u++,2);return i.t=n,i.__c||(i.__=[r?r(t):F(void 0,t),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=o),i.__}function d(n,r){var i=l(u++,4);!t.options.__s&&A(i.__H,r)&&(i.__=n,i.__H=r,o.__h.push(i))}function s(n,t){var o=l(u++,7);return A(o.__H,t)&&(o.__=n(),o.__H=t,o.__h=n),o.__}function h(){c.forEach(function(n){if(n.__P)try{n.__H.__h.forEach(q),n.__H.__h.forEach(x),n.__H.__h=[]}catch(u){n.__H.__h=[],t.options.__e(u,n.__v)}}),c=[]}t.options.__b=function(n){o=null,f&&f(n)},t.options.__r=function(n){e&&e(n),u=0;var t=(o=n.__c).__H;t&&(t.__h.forEach(q),t.__h.forEach(x),t.__h=[])},t.options.diffed=function(n){a&&a(n);var u=n.__c;u&&u.__H&&u.__H.__h.length&&(1!==c.push(u)&&r===t.options.requestAnimationFrame||((r=t.options.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(o),_&&cancelAnimationFrame(t),setTimeout(n)},o=setTimeout(u,100);_&&(t=requestAnimationFrame(u))})(h)),o=null},t.options.__c=function(n,u){u.some(function(n){try{n.__h.forEach(q),n.__h=n.__h.filter(function(n){return!n.__||x(n)})}catch(o){u.some(function(n){n.__h&&(n.__h=[])}),u=[],t.options.__e(o,n.__v)}}),v&&v(n,u)},t.options.unmount=function(n){p&&p(n);var u=n.__c;if(u&&u.__H)try{u.__H.__.forEach(q)}catch(n){t.options.__e(n,u.__v)}};var _="function"==typeof requestAnimationFrame;function q(n){var t=o;"function"==typeof n.__c&&n.__c(),o=t}function x(n){var t=o;n.__c=n.__(),o=t}function A(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function F(n,t){return"function"==typeof t?t(n):t}n.useState=m,n.useReducer=y,n.useEffect=function(n,r){var i=l(u++,3);!t.options.__s&&A(i.__H,r)&&(i.__=n,i.__H=r,o.__H.__h.push(i))},n.useLayoutEffect=d,n.useRef=function(n){return i=5,s(function(){return{current:n}},[])},n.useImperativeHandle=function(n,t,u){i=6,d(function(){"function"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))},n.useMemo=s,n.useCallback=function(n,t){return i=8,s(function(){return n},t)},n.useContext=function(n){var t=o.context[n.__c],r=l(u++,9);return r.c=n,t?(null==r.__&&(r.__=!0,t.sub(o)),t.props.value):n.__},n.useDebugValue=function(n,u){t.options.useDebugValue&&t.options.useDebugValue(u?u(n):n)},n.useErrorBoundary=function(n){var t=l(u++,10),r=m();return t.__=n,o.componentDidCatch||(o.componentDidCatch=function(n){t.__&&t.__(n),r[1](n)}),[r[0],function(){r[1](void 0)}]}});
2
2
  //# sourceMappingURL=hooks.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.umd.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n/**\n * Keep track of the previous component so that we can set\n * `currentComponent` to `null` and throw when a hook is invoked\n * outside of render\n * @type {import('./internal').Component}\n */\nlet previousComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n\tcurrentComponent = previousComponent;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = factory();\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.forEach(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n"],"names":["currentIndex","currentComponent","prevRaf","currentHook","afterPaintEffects","oldBeforeDiff","options","oldBeforeRender","oldAfterDiff","diffed","oldCommit","oldBeforeUnmount","unmount","getHookState","index","type","hooks","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","undefined","action","nextValue","setState","useLayoutEffect","callback","args","state","argsChanged","useMemo","factory","flushAfterPaintEffects","forEach","component","invokeCleanup","invokeEffect","e","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","setTimeout","previousComponent","commitQueue","some","filter","cb","hook","comp","oldArgs","newArgs","arg","f","initialValue","current","ref","createHandle","concat","context","provider","sub","props","value","formatter","useDebugValue","errState","componentDidCatch","err"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.umd.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n\tcurrentComponent = null;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = factory();\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.forEach(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n"],"names":["currentIndex","currentComponent","prevRaf","currentHook","afterPaintEffects","oldBeforeDiff","options","oldBeforeRender","oldAfterDiff","diffed","oldCommit","oldBeforeUnmount","unmount","getHookState","index","type","hooks","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","undefined","action","nextValue","setState","useLayoutEffect","callback","args","state","argsChanged","useMemo","factory","flushAfterPaintEffects","forEach","component","invokeCleanup","invokeEffect","e","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","setTimeout","commitQueue","some","filter","cb","hook","comp","oldArgs","newArgs","arg","f","initialValue","current","ref","createHandle","concat","context","provider","sub","props","value","formatter","useDebugValue","errState","componentDidCatch","err"],"mappings":"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"}
@@ -5,13 +5,6 @@ let currentIndex;
5
5
 
6
6
  /** @type {import('./internal').Component} */
7
7
  let currentComponent;
8
- /**
9
- * Keep track of the previous component so that we can set
10
- * `currentComponent` to `null` and throw when a hook is invoked
11
- * outside of render
12
- * @type {import('./internal').Component}
13
- */
14
- let previousComponent;
15
8
 
16
9
  /** @type {number} */
17
10
  let currentHook = 0;
@@ -54,7 +47,7 @@ options.diffed = vnode => {
54
47
  if (c && c.__hooks && c.__hooks._pendingEffects.length) {
55
48
  afterPaint(afterPaintEffects.push(c));
56
49
  }
57
- currentComponent = previousComponent;
50
+ currentComponent = null;
58
51
  };
59
52
 
60
53
  options._commit = (vnode, commitQueue) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsxRuntime.mjs","sources":["../src/index.js"],"sourcesContent":["import { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\n\nlet vnodeId = 0;\n\n/**\n * @fileoverview\n * This file exports various methods that implement Babel's \"automatic\" JSX runtime API:\n * - jsx(type, props, key)\n * - jsxs(type, props, key)\n * - jsxDEV(type, props, key, __source, __self)\n *\n * The implementation of createVNode here is optimized for performance.\n * Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3\n */\n\n/**\n * JSX.Element factory used by Babel's {runtime:\"automatic\"} JSX transform\n * @param {VNode['type']} type\n * @param {VNode['props']} props\n * @param {VNode['key']} [key]\n * @param {string} [__source]\n * @param {string} [__self]\n */\nfunction createVNode(type, props, key, __source, __self) {\n\t// We'll want to preserve `ref` in props to get rid of the need for\n\t// forwardRef components in the future, but that should happen via\n\t// a separate PR.\n\tlet normalizedProps = {};\n\tfor (let i in props) {\n\t\tif (i != 'ref') {\n\t\t\tnormalizedProps[i] = props[i];\n\t\t}\n\t}\n\n\tconst vnode = {\n\t\ttype,\n\t\tprops: normalizedProps,\n\t\tkey,\n\t\tref: props && props.ref,\n\t\tconstructor: undefined,\n\t\t_vnodeId: --vnodeId,\n\t\t__source,\n\t\t__self\n\t};\n\n\t// If a Component VNode, check for and apply defaultProps.\n\t// Note: `type` is often a String, and can be `undefined` in development.\n\tlet defaults, i;\n\tif (typeof type === 'function' && (defaults = type.defaultProps)) {\n\t\tfor (i in defaults)\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = defaults[i];\n\t\t\t}\n\t}\n\n\tif (options.vnode) options.vnode(vnode);\n\treturn vnode;\n}\n\nexport {\n\tcreateVNode as jsx,\n\tcreateVNode as jsxs,\n\tcreateVNode as jsxDEV,\n\tFragment\n};\n"],"names":["vnodeId","createVNode","type","props","key","__source","__self","normalizedProps","i","vnode","ref","constructor","undefined","__v","defaults","defaultProps","options"],"mappings":"8DAIA,IAAIA,EAAU,EAqBd,SAASC,EAAYC,EAAMC,EAAOC,EAAKC,EAAUC,GAIhD,IAAIC,EAAkB,GACtB,IAAK,IAAIC,KAAKL,EACJ,OAALK,IACHD,EAAgBC,GAAKL,EAAMK,IAI7B,MAAMC,EAAQ,CACbP,KAAAA,EACAC,MAAOI,EACPH,IAAAA,EACAM,IAAKP,GAASA,EAAMO,IACpBC,iBAAaC,EACbC,MAAYb,EACZK,SAAAA,EACAC,OAAAA,GAKD,IAAIQ,EAAUN,EACd,GAAoB,mBAATN,IAAwBY,EAAWZ,EAAKa,cAClD,IAAKP,KAAKM,OACkBF,IAAvBL,EAAgBC,KACnBD,EAAgBC,GAAKM,EAASN,IAKjC,OADIQ,EAAQP,OAAOO,EAAQP,MAAMA,GAC1BA"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "preact",
3
3
  "amdName": "preact",
4
- "version": "10.5.14",
4
+ "version": "10.5.15",
5
5
  "private": false,
6
6
  "description": "Fast 3kb React-compatible Virtual DOM library.",
7
7
  "main": "dist/preact.js",
@@ -143,6 +143,10 @@
143
143
  "react/sort-comp": 0,
144
144
  "jest/valid-expect": 0,
145
145
  "jest/no-disabled-tests": 0,
146
+ "jest/no-test-callback": 0,
147
+ "jest/expect-expect": 0,
148
+ "jest/no-standalone-expect": 0,
149
+ "jest/no-export": 0,
146
150
  "react/no-find-dom-node": 0
147
151
  }
148
152
  },
@@ -238,13 +242,13 @@
238
242
  "csstype": "^3.0.5",
239
243
  "diff": "^5.0.0",
240
244
  "errorstacks": "^2.3.0",
241
- "esbuild": "^0.8.47",
245
+ "esbuild": "^0.12.24",
242
246
  "eslint": "5.15.1",
243
247
  "eslint-config-developit": "^1.1.1",
244
248
  "eslint-config-prettier": "^6.5.0",
245
249
  "eslint-plugin-react": "7.12.4",
246
250
  "husky": "^4.3.0",
247
- "karma": "^5.2.3",
251
+ "karma": "^6.3.4",
248
252
  "karma-chai-sinon": "^0.1.5",
249
253
  "karma-chrome-launcher": "^3.1.0",
250
254
  "karma-coverage": "^2.0.3",
@@ -265,6 +269,6 @@
265
269
  "prop-types": "^15.7.2",
266
270
  "sinon": "^9.2.3",
267
271
  "sinon-chai": "^3.5.0",
268
- "typescript": "3.5.3"
272
+ "typescript": "4.4.2"
269
273
  }
270
274
  }
@@ -75,7 +75,8 @@ export function createVNode(type, props, key, ref, original) {
75
75
  _original: original == null ? ++vnodeId : original
76
76
  };
77
77
 
78
- if (options.vnode != null) options.vnode(vnode);
78
+ // Only invoke the vnode hook if this was *not* a direct copy:
79
+ if (original == null && options.vnode != null) options.vnode(vnode);
79
80
 
80
81
  return vnode;
81
82
  }
@@ -161,7 +161,6 @@ export function diffChildren(
161
161
 
162
162
  if (
163
163
  typeof childVNode.type == 'function' &&
164
- childVNode._children != null && // Can be null if childVNode suspended
165
164
  childVNode._children === oldVNode._children
166
165
  ) {
167
166
  childVNode._nextDom = oldDom = reorderChildren(
@@ -180,21 +179,7 @@ export function diffChildren(
180
179
  );
181
180
  }
182
181
 
183
- // Browsers will infer an option's `value` from `textContent` when
184
- // no value is present. This essentially bypasses our code to set it
185
- // later in `diff()`. It works fine in all browsers except for IE11
186
- // where it breaks setting `select.value`. There it will be always set
187
- // to an empty string. Re-applying an options value will fix that, so
188
- // there are probably some internal data structures that aren't
189
- // updated properly.
190
- //
191
- // To fix it we make sure to reset the inferred value, so that our own
192
- // value check in `diff()` won't be skipped.
193
- if (!isHydrating && newParentVNode.type === 'option') {
194
- // @ts-ignore We have validated that the type of parentDOM is 'option'
195
- // in the above check
196
- parentDom.value = '';
197
- } else if (typeof newParentVNode.type == 'function') {
182
+ if (typeof newParentVNode.type == 'function') {
198
183
  // Because the newParentVNode is Fragment-like, we need to set it's
199
184
  // _nextDom property to the nextSibling of its last child DOM node.
200
185
  //
@@ -244,8 +229,11 @@ export function diffChildren(
244
229
  }
245
230
 
246
231
  function reorderChildren(childVNode, oldDom, parentDom) {
247
- for (let tmp = 0; tmp < childVNode._children.length; tmp++) {
248
- let vnode = childVNode._children[tmp];
232
+ // Note: VNodes in nested suspended trees may be missing _children.
233
+ let c = childVNode._children;
234
+ let tmp = 0;
235
+ for (; c && tmp < c.length; tmp++) {
236
+ let vnode = c[tmp];
249
237
  if (vnode) {
250
238
  // We typically enter this code path on sCU bailout, where we copy
251
239
  // oldVNode._children to newVNode._children. If that is the case, we need
@@ -260,7 +248,7 @@ function reorderChildren(childVNode, oldDom, parentDom) {
260
248
  parentDom,
261
249
  vnode,
262
250
  vnode,
263
- childVNode._children,
251
+ c,
264
252
  vnode._dom,
265
253
  oldDom
266
254
  );
@@ -445,6 +445,10 @@ export namespace JSXInternal {
445
445
  // Focus Events
446
446
  onFocus?: FocusEventHandler<Target>;
447
447
  onFocusCapture?: FocusEventHandler<Target>;
448
+ onfocusin?: FocusEventHandler<Target>;
449
+ onfocusinCapture?: FocusEventHandler<Target>;
450
+ onfocusout?: FocusEventHandler<Target>;
451
+ onfocusoutCapture?: FocusEventHandler<Target>;
448
452
  onBlur?: FocusEventHandler<Target>;
449
453
  onBlurCapture?: FocusEventHandler<Target>;
450
454
 
@@ -453,6 +457,8 @@ export namespace JSXInternal {
453
457
  onChangeCapture?: GenericEventHandler<Target>;
454
458
  onInput?: GenericEventHandler<Target>;
455
459
  onInputCapture?: GenericEventHandler<Target>;
460
+ onBeforeInput?: GenericEventHandler<Target>;
461
+ onBeforeInputCapture?: GenericEventHandler<Target>;
456
462
  onSearch?: GenericEventHandler<Target>;
457
463
  onSearchCapture?: GenericEventHandler<Target>;
458
464
  onSubmit?: GenericEventHandler<Target>;
@@ -621,6 +627,7 @@ export namespace JSXInternal {
621
627
  acceptCharset?: string;
622
628
  accessKey?: string;
623
629
  action?: string;
630
+ allow?: string;
624
631
  allowFullScreen?: boolean;
625
632
  allowTransparency?: boolean;
626
633
  alt?: string;
@@ -639,6 +646,7 @@ export namespace JSXInternal {
639
646
  charSet?: string;
640
647
  challenge?: string;
641
648
  checked?: boolean;
649
+ cite?: string;
642
650
  class?: string;
643
651
  className?: string;
644
652
  cols?: number;
@@ -661,6 +669,14 @@ export namespace JSXInternal {
661
669
  decoding?: 'sync' | 'async' | 'auto';
662
670
  draggable?: boolean;
663
671
  encType?: string;
672
+ enterkeyhint?:
673
+ | 'enter'
674
+ | 'done'
675
+ | 'go'
676
+ | 'next'
677
+ | 'previous'
678
+ | 'search'
679
+ | 'send';
664
680
  form?: string;
665
681
  formAction?: string;
666
682
  formEncType?: string;
@@ -704,11 +720,13 @@ export namespace JSXInternal {
704
720
  multiple?: boolean;
705
721
  muted?: boolean;
706
722
  name?: string;
723
+ nomodule?: boolean;
707
724
  nonce?: string;
708
725
  noValidate?: boolean;
709
726
  open?: boolean;
710
727
  optimum?: number;
711
728
  pattern?: string;
729
+ ping?: string;
712
730
  placeholder?: string;
713
731
  playsInline?: boolean;
714
732
  poster?: string;
@@ -716,8 +734,18 @@ export namespace JSXInternal {
716
734
  radioGroup?: string;
717
735
  readonly?: boolean;
718
736
  readOnly?: boolean;
737
+ referrerpolicy?:
738
+ | 'no-referrer'
739
+ | 'no-referrer-when-downgrade'
740
+ | 'origin'
741
+ | 'origin-when-cross-origin'
742
+ | 'same-origin'
743
+ | 'strict-origin'
744
+ | 'strict-origin-when-cross-origin'
745
+ | 'unsafe-url';
719
746
  rel?: string;
720
747
  required?: boolean;
748
+ reversed?: boolean;
721
749
  role?: string;
722
750
  rows?: number;
723
751
  rowSpan?: number;
@@ -755,8 +783,23 @@ export namespace JSXInternal {
755
783
  wrap?: string;
756
784
 
757
785
  // Non-standard Attributes
758
- autocapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
759
- autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
786
+ autocapitalize?:
787
+ | 'off'
788
+ | 'none'
789
+ | 'on'
790
+ | 'sentences'
791
+ | 'words'
792
+ | 'characters';
793
+ autoCapitalize?:
794
+ | 'off'
795
+ | 'none'
796
+ | 'on'
797
+ | 'sentences'
798
+ | 'words'
799
+ | 'characters';
800
+ disablePictureInPicture?: boolean;
801
+ results?: number;
802
+ translate?: 'yes' | 'no';
760
803
 
761
804
  // RDFa Attributes
762
805
  about?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.module.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/**\n * Setup a rerender function that will drain the queue of pending renders\n * @returns {() => void}\n */\nexport function setupRerender() {\n\toptions.__test__previousDebounce = options.debounceRendering;\n\toptions.debounceRendering = cb => (options.__test__drainQueue = cb);\n\treturn () => options.__test__drainQueue && options.__test__drainQueue();\n}\n\nconst isThenable = value => value != null && typeof value.then == 'function';\n\n/** Depth of nested calls to `act`. */\nlet actDepth = 0;\n\n/**\n * Run a test function, and flush all effects and rerenders after invoking it.\n *\n * Returns a Promise which resolves \"immediately\" if the callback is\n * synchronous or when the callback's result resolves if it is asynchronous.\n *\n * @param {() => void|Promise<void>} cb The function under test. This may be sync or async.\n * @return {Promise<void>}\n */\nexport function act(cb) {\n\tif (++actDepth > 1) {\n\t\t// If calls to `act` are nested, a flush happens only when the\n\t\t// outermost call returns. In the inner call, we just execute the\n\t\t// callback and return since the infrastructure for flushing has already\n\t\t// been set up.\n\t\t//\n\t\t// If an exception occurs, the outermost `act` will handle cleanup.\n\t\tconst result = cb();\n\t\tif (isThenable(result)) {\n\t\t\treturn result.then(() => {\n\t\t\t\t--actDepth;\n\t\t\t});\n\t\t}\n\t\t--actDepth;\n\t\treturn Promise.resolve();\n\t}\n\n\tconst previousRequestAnimationFrame = options.requestAnimationFrame;\n\tconst rerender = setupRerender();\n\n\t/** @type {() => void} */\n\tlet flush, toFlush;\n\n\t// Override requestAnimationFrame so we can flush pending hooks.\n\toptions.requestAnimationFrame = fc => (flush = fc);\n\n\tconst finish = () => {\n\t\ttry {\n\t\t\trerender();\n\t\t\twhile (flush) {\n\t\t\t\ttoFlush = flush;\n\t\t\t\tflush = null;\n\n\t\t\t\ttoFlush();\n\t\t\t\trerender();\n\t\t\t}\n\t\t\tteardown();\n\t\t} catch (e) {\n\t\t\tif (!err) {\n\t\t\t\terr = e;\n\t\t\t}\n\t\t}\n\n\t\toptions.requestAnimationFrame = previousRequestAnimationFrame;\n\t\t--actDepth;\n\t};\n\n\tlet err;\n\tlet result;\n\n\ttry {\n\t\tresult = cb();\n\t} catch (e) {\n\t\terr = e;\n\t}\n\n\tif (isThenable(result)) {\n\t\treturn result.then(finish, err => {\n\t\t\tfinish();\n\t\t\tthrow err;\n\t\t});\n\t}\n\n\t// nb. If the callback is synchronous, effects must be flushed before\n\t// `act` returns, so that the caller does not have to await the result,\n\t// even though React recommends this.\n\tfinish();\n\tif (err) {\n\t\tthrow err;\n\t}\n\treturn Promise.resolve();\n}\n\n/**\n * Teardown test environment and reset preact's internal state\n */\nexport function teardown() {\n\tif (options.__test__drainQueue) {\n\t\t// Flush any pending updates leftover by test\n\t\toptions.__test__drainQueue();\n\t\tdelete options.__test__drainQueue;\n\t}\n\n\tif (typeof options.__test__previousDebounce != 'undefined') {\n\t\toptions.debounceRendering = options.__test__previousDebounce;\n\t\tdelete options.__test__previousDebounce;\n\t} else {\n\t\toptions.debounceRendering = undefined;\n\t}\n}\n"],"names":["setupRerender","options","__test__previousDebounce","debounceRendering","cb","__test__drainQueue","isThenable","value","then","actDepth","act","result","Promise","resolve","flush","toFlush","previousRequestAnimationFrame","requestAnimationFrame","rerender","fc","err","finish","teardown","e","undefined"],"mappings":"iCAMA,SAAgBA,WACfC,EAAQC,EAA2BD,EAAQE,kBAC3CF,EAAQE,kBAAoB,SAAAC,UAAOH,EAAQI,EAAqBD,GACzD,kBAAMH,EAAQI,GAAsBJ,EAAQI,KAGpD,IAAMC,EAAa,SAAAC,UAAkB,MAATA,GAAsC,mBAAdA,EAAMC,MAGtDC,EAAW,EAWR,SAASC,EAAIN,QACbK,EAAW,EAAG,KAObE,EAASP,WACXE,EAAWK,GACPA,EAAOH,KAAK,aAChBC,OAGFA,EACKG,QAAQC,eAOZC,EAAOC,EAJLC,EAAgCf,EAAQgB,sBACxCC,EAAWlB,IAMjBC,EAAQgB,sBAAwB,SAAAE,UAAOL,EAAQK,OAuB3CC,EACAT,EAtBEU,EAAS,mBAEbH,IACOJ,GACNC,EAAUD,EACVA,EAAQ,KAERC,IACAG,IAEDI,IACC,MAAOC,GACHH,IACJA,EAAMG,GAIRtB,EAAQgB,sBAAwBD,IAC9BP,OAOFE,EAASP,IACR,MAAOmB,GACRH,EAAMG,KAGHjB,EAAWK,UACPA,EAAOH,KAAKa,EAAQ,SAAAD,SAC1BC,IACMD,OAORC,IACID,QACGA,SAEAR,QAAQC,UAMhB,SAAgBS,IACXrB,EAAQI,IAEXJ,EAAQI,WACDJ,EAAQI,QAG+B,IAApCJ,EAAQC,GAClBD,EAAQE,kBAAoBF,EAAQC,SAC7BD,EAAQC,GAEfD,EAAQE,uBAAoBqB"}
1
+ {"version":3,"file":"testUtils.mjs","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/**\n * Setup a rerender function that will drain the queue of pending renders\n * @returns {() => void}\n */\nexport function setupRerender() {\n\toptions.__test__previousDebounce = options.debounceRendering;\n\toptions.debounceRendering = cb => (options.__test__drainQueue = cb);\n\treturn () => options.__test__drainQueue && options.__test__drainQueue();\n}\n\nconst isThenable = value => value != null && typeof value.then == 'function';\n\n/** Depth of nested calls to `act`. */\nlet actDepth = 0;\n\n/**\n * Run a test function, and flush all effects and rerenders after invoking it.\n *\n * Returns a Promise which resolves \"immediately\" if the callback is\n * synchronous or when the callback's result resolves if it is asynchronous.\n *\n * @param {() => void|Promise<void>} cb The function under test. This may be sync or async.\n * @return {Promise<void>}\n */\nexport function act(cb) {\n\tif (++actDepth > 1) {\n\t\t// If calls to `act` are nested, a flush happens only when the\n\t\t// outermost call returns. In the inner call, we just execute the\n\t\t// callback and return since the infrastructure for flushing has already\n\t\t// been set up.\n\t\t//\n\t\t// If an exception occurs, the outermost `act` will handle cleanup.\n\t\tconst result = cb();\n\t\tif (isThenable(result)) {\n\t\t\treturn result.then(() => {\n\t\t\t\t--actDepth;\n\t\t\t});\n\t\t}\n\t\t--actDepth;\n\t\treturn Promise.resolve();\n\t}\n\n\tconst previousRequestAnimationFrame = options.requestAnimationFrame;\n\tconst rerender = setupRerender();\n\n\t/** @type {() => void} */\n\tlet flush, toFlush;\n\n\t// Override requestAnimationFrame so we can flush pending hooks.\n\toptions.requestAnimationFrame = fc => (flush = fc);\n\n\tconst finish = () => {\n\t\ttry {\n\t\t\trerender();\n\t\t\twhile (flush) {\n\t\t\t\ttoFlush = flush;\n\t\t\t\tflush = null;\n\n\t\t\t\ttoFlush();\n\t\t\t\trerender();\n\t\t\t}\n\t\t\tteardown();\n\t\t} catch (e) {\n\t\t\tif (!err) {\n\t\t\t\terr = e;\n\t\t\t}\n\t\t}\n\n\t\toptions.requestAnimationFrame = previousRequestAnimationFrame;\n\t\t--actDepth;\n\t};\n\n\tlet err;\n\tlet result;\n\n\ttry {\n\t\tresult = cb();\n\t} catch (e) {\n\t\terr = e;\n\t}\n\n\tif (isThenable(result)) {\n\t\treturn result.then(finish, err => {\n\t\t\tfinish();\n\t\t\tthrow err;\n\t\t});\n\t}\n\n\t// nb. If the callback is synchronous, effects must be flushed before\n\t// `act` returns, so that the caller does not have to await the result,\n\t// even though React recommends this.\n\tfinish();\n\tif (err) {\n\t\tthrow err;\n\t}\n\treturn Promise.resolve();\n}\n\n/**\n * Teardown test environment and reset preact's internal state\n */\nexport function teardown() {\n\tif (options.__test__drainQueue) {\n\t\t// Flush any pending updates leftover by test\n\t\toptions.__test__drainQueue();\n\t\tdelete options.__test__drainQueue;\n\t}\n\n\tif (typeof options.__test__previousDebounce != 'undefined') {\n\t\toptions.debounceRendering = options.__test__previousDebounce;\n\t\tdelete options.__test__previousDebounce;\n\t} else {\n\t\toptions.debounceRendering = undefined;\n\t}\n}\n"],"names":["setupRerender","options","__test__previousDebounce","debounceRendering","cb","__test__drainQueue","isThenable","value","then","actDepth","act","result","Promise","resolve","previousRequestAnimationFrame","requestAnimationFrame","rerender","flush","toFlush","fc","finish","teardown","e","err","undefined"],"mappings":"0CAMgBA,IAGf,OAFAC,EAAQC,EAA2BD,EAAQE,kBAC3CF,EAAQE,kBAAoBC,GAAOH,EAAQI,EAAqBD,EACzD,IAAMH,EAAQI,GAAsBJ,EAAQI,IAGpD,MAAMC,EAAaC,GAAkB,MAATA,GAAsC,mBAAdA,EAAMC,KAG1D,IAAIC,EAAW,WAWCC,EAAIN,GACnB,KAAMK,EAAW,EAAG,CAOnB,MAAME,EAASP,IACf,OAAIE,EAAWK,GACPA,EAAOH,KAAK,OAChBC,OAGFA,EACKG,QAAQC,WAGhB,MAAMC,EAAgCb,EAAQc,sBACxCC,EAAWhB,IAGjB,IAAIiB,EAAOC,EAGXjB,EAAQc,sBAAwBI,GAAOF,EAAQE,EAE/C,MAAMC,EAAS,KACd,IAEC,IADAJ,IACOC,GACNC,EAAUD,EACVA,EAAQ,KAERC,IACAF,IAEDK,IACC,MAAOC,GACHC,IACJA,EAAMD,GAIRrB,EAAQc,sBAAwBD,IAC9BL,GAGH,IAAIc,EACAZ,EAEJ,IACCA,EAASP,IACR,MAAOkB,GACRC,EAAMD,EAGP,GAAIhB,EAAWK,GACd,OAAOA,EAAOH,KAAKY,EAAQG,IAE1B,MADAH,IACMG,IAQR,GADAH,IACIG,EACH,MAAMA,EAEP,OAAOX,QAAQC,mBAMAQ,IACXpB,EAAQI,IAEXJ,EAAQI,WACDJ,EAAQI,QAG+B,IAApCJ,EAAQC,GAClBD,EAAQE,kBAAoBF,EAAQC,SAC7BD,EAAQC,GAEfD,EAAQE,uBAAoBqB"}
@@ -127,7 +127,7 @@ const flattenChildren = (children) => {
127
127
  return Array.isArray(children)
128
128
  ? [].concat(
129
129
  ...children.map((c) =>
130
- c.type === preact.Fragment
130
+ c && c.type === preact.Fragment
131
131
  ? flattenChildren(c.props.children)
132
132
  : flattenChildren(c)
133
133
  )
@@ -14,11 +14,11 @@ const eventReplaceState = "replaceState";
14
14
  const events = [eventPopstate, eventPushState, eventReplaceState];
15
15
 
16
16
  var locationHook = ({ base = "" } = {}) => {
17
- const [pathAndSearch, update] = hooks.useState(() => ({
17
+ const [{ path, search }, update] = hooks.useState(() => ({
18
18
  path: currentPathname(base),
19
19
  search: location.search,
20
20
  })); // @see https://reactjs.org/docs/hooks-reference.html#lazy-initial-state
21
- const prevHash = hooks.useRef(pathAndSearch.path + pathAndSearch.search);
21
+ const prevHash = hooks.useRef(path + search);
22
22
 
23
23
  hooks.useEffect(() => {
24
24
  // this function checks if the location has been changed since the
@@ -32,18 +32,18 @@ var locationHook = ({ base = "" } = {}) => {
32
32
 
33
33
  if (prevHash.current !== hash) {
34
34
  prevHash.current = hash;
35
- update({ path: pathname, search: search });
35
+ update({ path: pathname, search });
36
36
  }
37
37
  };
38
38
 
39
- events.map((e) => addEventListener(e, checkForUpdates));
39
+ events.forEach((e) => addEventListener(e, checkForUpdates));
40
40
 
41
41
  // it's possible that an update has occurred between render and the effect handler,
42
42
  // so we run additional check on mount to catch these updates. Based on:
43
43
  // https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189
44
44
  checkForUpdates();
45
45
 
46
- return () => events.map((e) => removeEventListener(e, checkForUpdates));
46
+ return () => events.forEach((e) => removeEventListener(e, checkForUpdates));
47
47
  }, [base]);
48
48
 
49
49
  // the 2nd argument of the `useLocation` return value is a function
@@ -62,7 +62,7 @@ var locationHook = ({ base = "" } = {}) => {
62
62
  [base]
63
63
  );
64
64
 
65
- return [pathAndSearch.path, navigate];
65
+ return [path, navigate];
66
66
  };
67
67
 
68
68
  // While History API does have `popstate` event, the only
@@ -133,7 +133,7 @@ const flattenChildren = (children) => {
133
133
  return Array.isArray(children)
134
134
  ? [].concat(
135
135
  ...children.map((c) =>
136
- c.type === Fragment
136
+ c && c.type === Fragment
137
137
  ? flattenChildren(c.props.children)
138
138
  : flattenChildren(c)
139
139
  )
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wouter-preact",
3
- "version": "2.7.4",
3
+ "version": "2.7.5",
4
4
  "description": "A minimalistic routing for React and Preact (Preact-only version).",
5
5
  "type": "module",
6
6
  "exports": {
@@ -9,11 +9,11 @@ const eventReplaceState = "replaceState";
9
9
  export const events = [eventPopstate, eventPushState, eventReplaceState];
10
10
 
11
11
  export default ({ base = "" } = {}) => {
12
- const [pathAndSearch, update] = useState(() => ({
12
+ const [{ path, search }, update] = useState(() => ({
13
13
  path: currentPathname(base),
14
14
  search: location.search,
15
15
  })); // @see https://reactjs.org/docs/hooks-reference.html#lazy-initial-state
16
- const prevHash = useRef(pathAndSearch.path + pathAndSearch.search);
16
+ const prevHash = useRef(path + search);
17
17
 
18
18
  useEffect(() => {
19
19
  // this function checks if the location has been changed since the
@@ -27,18 +27,18 @@ export default ({ base = "" } = {}) => {
27
27
 
28
28
  if (prevHash.current !== hash) {
29
29
  prevHash.current = hash;
30
- update({ path: pathname, search: search });
30
+ update({ path: pathname, search });
31
31
  }
32
32
  };
33
33
 
34
- events.map((e) => addEventListener(e, checkForUpdates));
34
+ events.forEach((e) => addEventListener(e, checkForUpdates));
35
35
 
36
36
  // it's possible that an update has occurred between render and the effect handler,
37
37
  // so we run additional check on mount to catch these updates. Based on:
38
38
  // https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189
39
39
  checkForUpdates();
40
40
 
41
- return () => events.map((e) => removeEventListener(e, checkForUpdates));
41
+ return () => events.forEach((e) => removeEventListener(e, checkForUpdates));
42
42
  }, [base]);
43
43
 
44
44
  // the 2nd argument of the `useLocation` return value is a function
@@ -57,7 +57,7 @@ export default ({ base = "" } = {}) => {
57
57
  [base]
58
58
  );
59
59
 
60
- return [pathAndSearch.path, navigate];
60
+ return [path, navigate];
61
61
  };
62
62
 
63
63
  // While History API does have `popstate` event, the only
data/package.json CHANGED
@@ -1,10 +1,8 @@
1
1
  {
2
2
  "name": "isomorfeus-preact",
3
3
  "dependencies": {
4
- "nano-css": "^5.3.4",
5
- "preact": "^10.5.14",
6
- "preact-deep-force-update": "^0.1.0",
7
- "preact-render-to-string": "^5.1.19",
8
- "wouter-preact": "^2.7.4"
4
+ "preact": "10.5.15",
5
+ "preact-render-to-string": "5.1.19",
6
+ "wouter-preact": "^2.7.5"
9
7
  }
10
8
  }