isomorfeus-preact 10.5.7 → 10.5.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +28 -1
- data/README.md +2 -5
- data/lib/isomorfeus/preact/imports.rb +0 -7
- data/lib/isomorfeus/preact_view_helper.rb +2 -2
- data/lib/isomorfeus-preact.rb +3 -0
- data/lib/lucid_app/context.rb +12 -12
- data/lib/nano_css.rb +464 -0
- data/lib/preact/version.rb +1 -1
- data/node_modules/.package-lock.json +6 -236
- data/node_modules/preact/compat/dist/compat.js +1 -1
- data/node_modules/preact/compat/dist/compat.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.mjs +1 -1
- data/node_modules/preact/compat/dist/compat.mjs.map +1 -1
- data/node_modules/preact/compat/dist/compat.module.js +1 -1
- data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.umd.js +1 -1
- data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
- data/node_modules/preact/compat/src/index.d.ts +1 -1
- data/node_modules/preact/compat/src/render.js +10 -3
- data/node_modules/preact/debug/dist/debug.js.map +1 -1
- data/node_modules/preact/debug/dist/debug.mjs.map +1 -1
- data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
- data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
- data/node_modules/preact/devtools/dist/devtools.mjs.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
- data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
- data/node_modules/preact/devtools/src/devtools.js +1 -1
- data/node_modules/preact/dist/index.d.ts +1295 -0
- data/node_modules/preact/dist/preact.js +1 -1
- data/node_modules/preact/dist/preact.js.map +1 -1
- data/node_modules/preact/dist/preact.min.js +1 -1
- data/node_modules/preact/dist/preact.min.js.map +1 -1
- data/node_modules/preact/dist/preact.mjs +1 -1
- data/node_modules/preact/dist/preact.mjs.map +1 -1
- data/node_modules/preact/dist/preact.module.js +1 -1
- data/node_modules/preact/dist/preact.module.js.map +1 -1
- data/node_modules/preact/dist/preact.umd.js +1 -1
- data/node_modules/preact/dist/preact.umd.js.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.js +1 -1
- data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.mjs +1 -1
- data/node_modules/preact/hooks/dist/hooks.mjs.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.module.js +1 -1
- data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.umd.js +1 -1
- data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
- data/node_modules/preact/hooks/src/index.js +1 -8
- data/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs.map +1 -0
- data/node_modules/preact/package.json +8 -4
- data/node_modules/preact/src/create-element.js +2 -1
- data/node_modules/preact/src/diff/children.js +7 -19
- data/node_modules/preact/src/jsx.d.ts +45 -2
- data/node_modules/preact/test-utils/dist/testUtils.mjs.map +1 -1
- data/node_modules/wouter-preact/cjs/index.js +1 -1
- data/node_modules/wouter-preact/cjs/use-location.js +6 -6
- data/node_modules/wouter-preact/index.js +1 -1
- data/node_modules/wouter-preact/package.json +1 -1
- data/node_modules/wouter-preact/use-location.js +6 -6
- data/package.json +2 -3
- metadata +24 -885
- data/node_modules/.bin/loose-envify +0 -12
- data/node_modules/.bin/loose-envify.cmd +0 -17
- data/node_modules/.bin/loose-envify.ps1 +0 -28
- data/node_modules/@babel/runtime/LICENSE +0 -22
- data/node_modules/@babel/runtime/README.md +0 -19
- data/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -99
- data/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -6
- data/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -31
- data/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -12
- data/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -6
- data/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -8
- data/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -10
- data/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -57
- data/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -16
- data/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -38
- data/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -8
- data/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -8
- data/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -23
- data/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -10
- data/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -14
- data/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -8
- data/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -8
- data/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -8
- data/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -10
- data/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -6
- data/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -11
- data/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -11
- data/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -9
- data/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -10
- data/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -8
- data/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -12
- data/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -10
- data/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -9
- data/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -6
- data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -14
- data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -14
- data/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -15
- data/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -9
- data/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -6
- data/node_modules/@babel/runtime/helpers/construct.js +0 -26
- data/node_modules/@babel/runtime/helpers/createClass.js +0 -18
- data/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -61
- data/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -25
- data/node_modules/@babel/runtime/helpers/createSuper.js +0 -25
- data/node_modules/@babel/runtime/helpers/decorate.js +0 -401
- data/node_modules/@babel/runtime/helpers/defaults.js +0 -17
- data/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -25
- data/node_modules/@babel/runtime/helpers/defineProperty.js +0 -17
- data/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -95
- data/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -28
- data/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -4
- data/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -54
- data/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -13
- data/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -35
- data/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -4
- data/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -20
- data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -11
- data/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -4
- data/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -8
- data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -8
- data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/construct.js +0 -18
- data/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -15
- data/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -57
- data/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -21
- data/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -19
- data/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -396
- data/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -14
- data/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -22
- data/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -14
- data/node_modules/@babel/runtime/helpers/esm/extends.js +0 -17
- data/node_modules/@babel/runtime/helpers/esm/get.js +0 -20
- data/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -15
- data/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -51
- data/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -12
- data/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -29
- data/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -14
- data/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -46
- data/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -19
- data/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -39
- data/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -19
- data/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -14
- data/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
- data/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -11
- data/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/set.js +0 -51
- data/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -8
- data/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -11
- data/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -8
- data/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -3
- data/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -5
- data/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -1
- data/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -7
- data/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -13
- data/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -15
- data/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
- data/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -6
- data/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -37
- data/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -65
- data/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -3
- data/node_modules/@babel/runtime/helpers/extends.js +0 -21
- data/node_modules/@babel/runtime/helpers/get.js +0 -27
- data/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -10
- data/node_modules/@babel/runtime/helpers/inherits.js +0 -19
- data/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -10
- data/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -12
- data/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -6
- data/node_modules/@babel/runtime/helpers/instanceof.js +0 -10
- data/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -8
- data/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -54
- data/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -6
- data/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -15
- data/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -6
- data/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -32
- data/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -17
- data/node_modules/@babel/runtime/helpers/jsx.js +0 -50
- data/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -13
- data/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -8
- data/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -6
- data/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -6
- data/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -6
- data/node_modules/@babel/runtime/helpers/objectSpread.js +0 -23
- data/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -42
- data/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -23
- data/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -17
- data/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -16
- data/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -6
- data/node_modules/@babel/runtime/helpers/set.js +0 -55
- data/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -12
- data/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -10
- data/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -14
- data/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -14
- data/node_modules/@babel/runtime/helpers/superPropBase.js +0 -13
- data/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -14
- data/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -11
- data/node_modules/@babel/runtime/helpers/tdz.js +0 -6
- data/node_modules/@babel/runtime/helpers/temporalRef.js +0 -10
- data/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -4
- data/node_modules/@babel/runtime/helpers/toArray.js +0 -14
- data/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -14
- data/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -17
- data/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -11
- data/node_modules/@babel/runtime/helpers/typeof.js +0 -22
- data/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -13
- data/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -10
- data/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -45
- data/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -72
- data/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -6
- data/node_modules/@babel/runtime/package.json +0 -848
- data/node_modules/@babel/runtime/regenerator/index.js +0 -1
- data/node_modules/css-in-js-utils/Changelog.md +0 -16
- data/node_modules/css-in-js-utils/LICENSE +0 -21
- data/node_modules/css-in-js-utils/README.md +0 -241
- data/node_modules/css-in-js-utils/lib/__tests__/assignStyle-test.js +0 -117
- data/node_modules/css-in-js-utils/lib/__tests__/camelCaseProperty-test.js +0 -15
- data/node_modules/css-in-js-utils/lib/__tests__/cssifyDeclaration-test.js +0 -15
- data/node_modules/css-in-js-utils/lib/__tests__/cssifyObject-test.js +0 -31
- data/node_modules/css-in-js-utils/lib/__tests__/isPrefixedProperty-test.js +0 -19
- data/node_modules/css-in-js-utils/lib/__tests__/isPrefixedValue-test.js +0 -19
- data/node_modules/css-in-js-utils/lib/__tests__/isUnitlessProperty-test.js +0 -43
- data/node_modules/css-in-js-utils/lib/__tests__/normalizeProperty-test.js +0 -21
- data/node_modules/css-in-js-utils/lib/__tests__/resolveArrayValue-test.js +0 -17
- data/node_modules/css-in-js-utils/lib/__tests__/unprefixProperty-test.js +0 -19
- data/node_modules/css-in-js-utils/lib/__tests__/unprefixValue-test.js +0 -20
- data/node_modules/css-in-js-utils/lib/assignStyle.js +0 -37
- data/node_modules/css-in-js-utils/lib/camelCaseProperty.js +0 -15
- data/node_modules/css-in-js-utils/lib/cssifyDeclaration.js +0 -17
- data/node_modules/css-in-js-utils/lib/cssifyObject.js +0 -34
- data/node_modules/css-in-js-utils/lib/hyphenateProperty.js +0 -17
- data/node_modules/css-in-js-utils/lib/index.js +0 -71
- data/node_modules/css-in-js-utils/lib/isPrefixedProperty.js +0 -12
- data/node_modules/css-in-js-utils/lib/isPrefixedValue.js +0 -12
- data/node_modules/css-in-js-utils/lib/isUnitlessProperty.js +0 -64
- data/node_modules/css-in-js-utils/lib/normalizeProperty.js +0 -21
- data/node_modules/css-in-js-utils/lib/resolveArrayValue.js +0 -19
- data/node_modules/css-in-js-utils/lib/unprefixProperty.js +0 -13
- data/node_modules/css-in-js-utils/lib/unprefixValue.js +0 -16
- data/node_modules/css-in-js-utils/package.json +0 -56
- data/node_modules/css-tree/CHANGELOG.md +0 -590
- data/node_modules/css-tree/LICENSE +0 -19
- data/node_modules/css-tree/README.md +0 -130
- data/node_modules/css-tree/data/index.js +0 -103
- data/node_modules/css-tree/data/patch.json +0 -721
- data/node_modules/css-tree/dist/csstree.js +0 -12606
- data/node_modules/css-tree/dist/csstree.min.js +0 -1
- data/node_modules/css-tree/lib/common/List.js +0 -576
- data/node_modules/css-tree/lib/common/OffsetToLocation.js +0 -91
- data/node_modules/css-tree/lib/common/SyntaxError.js +0 -82
- data/node_modules/css-tree/lib/common/TokenStream.js +0 -219
- data/node_modules/css-tree/lib/common/adopt-buffer.js +0 -10
- data/node_modules/css-tree/lib/convertor/create.js +0 -28
- data/node_modules/css-tree/lib/convertor/index.js +0 -3
- data/node_modules/css-tree/lib/definition-syntax/SyntaxError.js +0 -14
- data/node_modules/css-tree/lib/definition-syntax/generate.js +0 -129
- data/node_modules/css-tree/lib/definition-syntax/index.js +0 -6
- data/node_modules/css-tree/lib/definition-syntax/parse.js +0 -568
- data/node_modules/css-tree/lib/definition-syntax/tokenizer.js +0 -55
- data/node_modules/css-tree/lib/definition-syntax/walk.js +0 -52
- data/node_modules/css-tree/lib/generator/create.js +0 -66
- data/node_modules/css-tree/lib/generator/index.js +0 -4
- data/node_modules/css-tree/lib/generator/sourceMap.js +0 -95
- data/node_modules/css-tree/lib/index.js +0 -1
- data/node_modules/css-tree/lib/lexer/Lexer.js +0 -466
- data/node_modules/css-tree/lib/lexer/error.js +0 -127
- data/node_modules/css-tree/lib/lexer/generic-an-plus-b.js +0 -236
- data/node_modules/css-tree/lib/lexer/generic-urange.js +0 -159
- data/node_modules/css-tree/lib/lexer/generic.js +0 -585
- data/node_modules/css-tree/lib/lexer/index.js +0 -3
- data/node_modules/css-tree/lib/lexer/match-graph.js +0 -455
- data/node_modules/css-tree/lib/lexer/match.js +0 -639
- data/node_modules/css-tree/lib/lexer/prepare-tokens.js +0 -73
- data/node_modules/css-tree/lib/lexer/search.js +0 -65
- data/node_modules/css-tree/lib/lexer/structure.js +0 -163
- data/node_modules/css-tree/lib/lexer/trace.js +0 -79
- data/node_modules/css-tree/lib/parser/create.js +0 -304
- data/node_modules/css-tree/lib/parser/index.js +0 -4
- data/node_modules/css-tree/lib/parser/sequence.js +0 -54
- data/node_modules/css-tree/lib/syntax/atrule/font-face.js +0 -8
- data/node_modules/css-tree/lib/syntax/atrule/import.js +0 -40
- data/node_modules/css-tree/lib/syntax/atrule/index.js +0 -7
- data/node_modules/css-tree/lib/syntax/atrule/media.js +0 -12
- data/node_modules/css-tree/lib/syntax/atrule/page.js +0 -12
- data/node_modules/css-tree/lib/syntax/atrule/supports.js +0 -89
- data/node_modules/css-tree/lib/syntax/config/lexer.js +0 -9
- data/node_modules/css-tree/lib/syntax/config/mix.js +0 -140
- data/node_modules/css-tree/lib/syntax/config/parser.js +0 -25
- data/node_modules/css-tree/lib/syntax/config/walker.js +0 -3
- data/node_modules/css-tree/lib/syntax/create.js +0 -77
- data/node_modules/css-tree/lib/syntax/function/expression.js +0 -7
- data/node_modules/css-tree/lib/syntax/function/var.js +0 -43
- data/node_modules/css-tree/lib/syntax/index.js +0 -21
- data/node_modules/css-tree/lib/syntax/node/AnPlusB.js +0 -297
- data/node_modules/css-tree/lib/syntax/node/Atrule.js +0 -107
- data/node_modules/css-tree/lib/syntax/node/AtrulePrelude.js +0 -51
- data/node_modules/css-tree/lib/syntax/node/AttributeSelector.js +0 -165
- data/node_modules/css-tree/lib/syntax/node/Block.js +0 -91
- data/node_modules/css-tree/lib/syntax/node/Brackets.js +0 -34
- data/node_modules/css-tree/lib/syntax/node/CDC.js +0 -19
- data/node_modules/css-tree/lib/syntax/node/CDO.js +0 -19
- data/node_modules/css-tree/lib/syntax/node/ClassSelector.js +0 -29
- data/node_modules/css-tree/lib/syntax/node/Combinator.js +0 -55
- data/node_modules/css-tree/lib/syntax/node/Comment.js +0 -36
- data/node_modules/css-tree/lib/syntax/node/Declaration.js +0 -169
- data/node_modules/css-tree/lib/syntax/node/DeclarationList.js +0 -49
- data/node_modules/css-tree/lib/syntax/node/Dimension.js +0 -29
- data/node_modules/css-tree/lib/syntax/node/Function.js +0 -40
- data/node_modules/css-tree/lib/syntax/node/Hash.js +0 -26
- data/node_modules/css-tree/lib/syntax/node/IdSelector.js +0 -27
- data/node_modules/css-tree/lib/syntax/node/Identifier.js +0 -20
- data/node_modules/css-tree/lib/syntax/node/MediaFeature.js +0 -76
- data/node_modules/css-tree/lib/syntax/node/MediaQuery.js +0 -68
- data/node_modules/css-tree/lib/syntax/node/MediaQueryList.js +0 -36
- data/node_modules/css-tree/lib/syntax/node/Nth.js +0 -51
- data/node_modules/css-tree/lib/syntax/node/Number.js +0 -18
- data/node_modules/css-tree/lib/syntax/node/Operator.js +0 -21
- data/node_modules/css-tree/lib/syntax/node/Parentheses.js +0 -34
- data/node_modules/css-tree/lib/syntax/node/Percentage.js +0 -27
- data/node_modules/css-tree/lib/syntax/node/PseudoClassSelector.js +0 -61
- data/node_modules/css-tree/lib/syntax/node/PseudoElementSelector.js +0 -62
- data/node_modules/css-tree/lib/syntax/node/Ratio.js +0 -66
- data/node_modules/css-tree/lib/syntax/node/Raw.js +0 -87
- data/node_modules/css-tree/lib/syntax/node/Rule.js +0 -54
- data/node_modules/css-tree/lib/syntax/node/Selector.js +0 -32
- data/node_modules/css-tree/lib/syntax/node/SelectorList.js +0 -39
- data/node_modules/css-tree/lib/syntax/node/String.js +0 -18
- data/node_modules/css-tree/lib/syntax/node/StyleSheet.js +0 -81
- data/node_modules/css-tree/lib/syntax/node/TypeSelector.js +0 -53
- data/node_modules/css-tree/lib/syntax/node/UnicodeRange.js +0 -173
- data/node_modules/css-tree/lib/syntax/node/Url.js +0 -69
- data/node_modules/css-tree/lib/syntax/node/Value.js +0 -19
- data/node_modules/css-tree/lib/syntax/node/WhiteSpace.js +0 -26
- data/node_modules/css-tree/lib/syntax/node/index.js +0 -42
- data/node_modules/css-tree/lib/syntax/pseudo/common/nth.js +0 -9
- data/node_modules/css-tree/lib/syntax/pseudo/common/nthWithOfClause.js +0 -9
- data/node_modules/css-tree/lib/syntax/pseudo/common/selectorList.js +0 -7
- data/node_modules/css-tree/lib/syntax/pseudo/dir.js +0 -7
- data/node_modules/css-tree/lib/syntax/pseudo/has.js +0 -7
- data/node_modules/css-tree/lib/syntax/pseudo/index.js +0 -12
- data/node_modules/css-tree/lib/syntax/pseudo/lang.js +0 -7
- data/node_modules/css-tree/lib/syntax/pseudo/matches.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/not.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/nth-child.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/nth-last-child.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/nth-last-of-type.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/nth-of-type.js +0 -1
- data/node_modules/css-tree/lib/syntax/pseudo/slotted.js +0 -7
- data/node_modules/css-tree/lib/syntax/scope/atrulePrelude.js +0 -3
- data/node_modules/css-tree/lib/syntax/scope/default.js +0 -87
- data/node_modules/css-tree/lib/syntax/scope/index.js +0 -5
- data/node_modules/css-tree/lib/syntax/scope/selector.js +0 -80
- data/node_modules/css-tree/lib/syntax/scope/value.js +0 -5
- data/node_modules/css-tree/lib/tokenizer/char-code-definitions.js +0 -249
- data/node_modules/css-tree/lib/tokenizer/const.js +0 -40
- data/node_modules/css-tree/lib/tokenizer/index.js +0 -591
- data/node_modules/css-tree/lib/tokenizer/utils.js +0 -243
- data/node_modules/css-tree/lib/utils/clone.js +0 -21
- data/node_modules/css-tree/lib/utils/createCustomError.js +0 -17
- data/node_modules/css-tree/lib/utils/names.js +0 -104
- data/node_modules/css-tree/lib/walker/create.js +0 -284
- data/node_modules/css-tree/lib/walker/index.js +0 -4
- data/node_modules/css-tree/package.json +0 -60
- data/node_modules/csstype/LICENSE +0 -19
- data/node_modules/csstype/README.md +0 -271
- data/node_modules/csstype/index.d.ts +0 -20496
- data/node_modules/csstype/index.js.flow +0 -6313
- data/node_modules/csstype/package.json +0 -64
- data/node_modules/error-stack-parser/CHANGELOG.md +0 -53
- data/node_modules/error-stack-parser/LICENSE +0 -19
- data/node_modules/error-stack-parser/README.md +0 -44
- data/node_modules/error-stack-parser/dist/error-stack-parser.js +0 -202
- data/node_modules/error-stack-parser/dist/error-stack-parser.min.js +0 -2
- data/node_modules/error-stack-parser/dist/error-stack-parser.min.js.map +0 -1
- data/node_modules/error-stack-parser/error-stack-parser.d.ts +0 -66
- data/node_modules/error-stack-parser/error-stack-parser.js +0 -202
- data/node_modules/error-stack-parser/package.json +0 -63
- data/node_modules/fastest-stable-stringify/.eslintrc.yml +0 -26
- data/node_modules/fastest-stable-stringify/.travis.yml +0 -7
- data/node_modules/fastest-stable-stringify/LICENSE +0 -18
- data/node_modules/fastest-stable-stringify/README.md +0 -44
- data/node_modules/fastest-stable-stringify/benchmark/index.js +0 -32
- data/node_modules/fastest-stable-stringify/benchmark/test.json +0 -215
- data/node_modules/fastest-stable-stringify/example/key_cmp.js +0 -7
- data/node_modules/fastest-stable-stringify/example/nested.js +0 -3
- data/node_modules/fastest-stable-stringify/example/str.js +0 -3
- data/node_modules/fastest-stable-stringify/example/value_cmp.js +0 -7
- data/node_modules/fastest-stable-stringify/index.js +0 -60
- data/node_modules/fastest-stable-stringify/package.json +0 -54
- data/node_modules/fastest-stable-stringify/test/bench.js +0 -20
- data/node_modules/fastest-stable-stringify/test/nested.js +0 -24
- data/node_modules/fastest-stable-stringify/test/str.js +0 -52
- data/node_modules/fastest-stable-stringify/test/to-json.js +0 -22
- data/node_modules/hyphenate-style-name/LICENSE +0 -28
- data/node_modules/hyphenate-style-name/README.md +0 -28
- data/node_modules/hyphenate-style-name/index.cjs.js +0 -21
- data/node_modules/hyphenate-style-name/index.js +0 -19
- data/node_modules/hyphenate-style-name/package.json +0 -42
- data/node_modules/inline-style-prefixer/CHANGELOG.md +0 -195
- data/node_modules/inline-style-prefixer/LICENSE +0 -22
- data/node_modules/inline-style-prefixer/README.md +0 -100
- data/node_modules/inline-style-prefixer/es/createPrefixer.js +0 -47
- data/node_modules/inline-style-prefixer/es/data.js +0 -12
- data/node_modules/inline-style-prefixer/es/generator/generatePluginList.js +0 -21
- data/node_modules/inline-style-prefixer/es/generator/generatePrefixMap.js +0 -75
- data/node_modules/inline-style-prefixer/es/generator/index.js +0 -69
- data/node_modules/inline-style-prefixer/es/generator/maps/pluginMap.js +0 -108
- data/node_modules/inline-style-prefixer/es/generator/maps/propertyMap.js +0 -38
- data/node_modules/inline-style-prefixer/es/index.js +0 -26
- data/node_modules/inline-style-prefixer/es/plugins/backgroundClip.js +0 -7
- data/node_modules/inline-style-prefixer/es/plugins/calc.js +0 -11
- data/node_modules/inline-style-prefixer/es/plugins/crossFade.js +0 -12
- data/node_modules/inline-style-prefixer/es/plugins/cursor.js +0 -16
- data/node_modules/inline-style-prefixer/es/plugins/filter.js +0 -12
- data/node_modules/inline-style-prefixer/es/plugins/flex.js +0 -10
- data/node_modules/inline-style-prefixer/es/plugins/flexboxIE.js +0 -67
- data/node_modules/inline-style-prefixer/es/plugins/flexboxOld.js +0 -33
- data/node_modules/inline-style-prefixer/es/plugins/gradient.js +0 -14
- data/node_modules/inline-style-prefixer/es/plugins/grid.js +0 -129
- data/node_modules/inline-style-prefixer/es/plugins/imageSet.js +0 -12
- data/node_modules/inline-style-prefixer/es/plugins/index.js +0 -17
- data/node_modules/inline-style-prefixer/es/plugins/logical.js +0 -35
- data/node_modules/inline-style-prefixer/es/plugins/position.js +0 -5
- data/node_modules/inline-style-prefixer/es/plugins/sizing.js +0 -26
- data/node_modules/inline-style-prefixer/es/plugins/transition.js +0 -75
- data/node_modules/inline-style-prefixer/es/utils/addNewValuesOnly.js +0 -15
- data/node_modules/inline-style-prefixer/es/utils/capitalizeString.js +0 -3
- data/node_modules/inline-style-prefixer/es/utils/isObject.js +0 -3
- data/node_modules/inline-style-prefixer/es/utils/prefixProperty.js +0 -22
- data/node_modules/inline-style-prefixer/es/utils/prefixValue.js +0 -11
- data/node_modules/inline-style-prefixer/lib/createPrefixer.js +0 -66
- data/node_modules/inline-style-prefixer/lib/data.js +0 -17
- data/node_modules/inline-style-prefixer/lib/generator/generatePluginList.js +0 -32
- data/node_modules/inline-style-prefixer/lib/generator/generatePrefixMap.js +0 -86
- data/node_modules/inline-style-prefixer/lib/generator/index.js +0 -85
- data/node_modules/inline-style-prefixer/lib/generator/maps/pluginMap.js +0 -113
- data/node_modules/inline-style-prefixer/lib/generator/maps/propertyMap.js +0 -43
- data/node_modules/inline-style-prefixer/lib/index.js +0 -78
- data/node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js +0 -13
- data/node_modules/inline-style-prefixer/lib/plugins/calc.js +0 -21
- data/node_modules/inline-style-prefixer/lib/plugins/crossFade.js +0 -22
- data/node_modules/inline-style-prefixer/lib/plugins/cursor.js +0 -22
- data/node_modules/inline-style-prefixer/lib/plugins/filter.js +0 -22
- data/node_modules/inline-style-prefixer/lib/plugins/flex.js +0 -16
- data/node_modules/inline-style-prefixer/lib/plugins/flexboxIE.js +0 -73
- data/node_modules/inline-style-prefixer/lib/plugins/flexboxOld.js +0 -39
- data/node_modules/inline-style-prefixer/lib/plugins/gradient.js +0 -26
- data/node_modules/inline-style-prefixer/lib/plugins/grid.js +0 -136
- data/node_modules/inline-style-prefixer/lib/plugins/imageSet.js +0 -22
- data/node_modules/inline-style-prefixer/lib/plugins/index.js +0 -69
- data/node_modules/inline-style-prefixer/lib/plugins/logical.js +0 -41
- data/node_modules/inline-style-prefixer/lib/plugins/position.js +0 -11
- data/node_modules/inline-style-prefixer/lib/plugins/sizing.js +0 -32
- data/node_modules/inline-style-prefixer/lib/plugins/transition.js +0 -92
- data/node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js +0 -21
- data/node_modules/inline-style-prefixer/lib/utils/capitalizeString.js +0 -9
- data/node_modules/inline-style-prefixer/lib/utils/isObject.js +0 -9
- data/node_modules/inline-style-prefixer/lib/utils/prefixProperty.js +0 -32
- data/node_modules/inline-style-prefixer/lib/utils/prefixValue.js +0 -17
- data/node_modules/inline-style-prefixer/package.json +0 -79
- data/node_modules/isobject/LICENSE +0 -21
- data/node_modules/isobject/README.md +0 -122
- data/node_modules/isobject/index.d.ts +0 -5
- data/node_modules/isobject/index.js +0 -12
- data/node_modules/isobject/package.json +0 -74
- data/node_modules/js-tokens/CHANGELOG.md +0 -151
- data/node_modules/js-tokens/LICENSE +0 -21
- data/node_modules/js-tokens/README.md +0 -240
- data/node_modules/js-tokens/index.js +0 -23
- data/node_modules/js-tokens/package.json +0 -30
- data/node_modules/loose-envify/LICENSE +0 -21
- data/node_modules/loose-envify/README.md +0 -45
- data/node_modules/loose-envify/cli.js +0 -16
- data/node_modules/loose-envify/custom.js +0 -4
- data/node_modules/loose-envify/index.js +0 -3
- data/node_modules/loose-envify/loose-envify.js +0 -36
- data/node_modules/loose-envify/package.json +0 -36
- data/node_modules/loose-envify/replace.js +0 -65
- data/node_modules/mdn-data/LICENSE +0 -116
- data/node_modules/mdn-data/README.md +0 -56
- data/node_modules/mdn-data/api/index.js +0 -3
- data/node_modules/mdn-data/api/inheritance.json +0 -2681
- data/node_modules/mdn-data/api/inheritance.schema.json +0 -31
- data/node_modules/mdn-data/css/at-rules.json +0 -560
- data/node_modules/mdn-data/css/at-rules.schema.json +0 -132
- data/node_modules/mdn-data/css/definitions.json +0 -77
- data/node_modules/mdn-data/css/index.js +0 -8
- data/node_modules/mdn-data/css/properties.json +0 -9163
- data/node_modules/mdn-data/css/properties.schema.json +0 -402
- data/node_modules/mdn-data/css/selectors.json +0 -927
- data/node_modules/mdn-data/css/selectors.schema.json +0 -36
- data/node_modules/mdn-data/css/syntaxes.json +0 -761
- data/node_modules/mdn-data/css/syntaxes.schema.json +0 -15
- data/node_modules/mdn-data/css/types.json +0 -265
- data/node_modules/mdn-data/css/types.schema.json +0 -32
- data/node_modules/mdn-data/css/units.json +0 -199
- data/node_modules/mdn-data/css/units.schema.json +0 -28
- data/node_modules/mdn-data/index.js +0 -5
- data/node_modules/mdn-data/l10n/css.json +0 -1567
- data/node_modules/mdn-data/l10n/index.js +0 -3
- data/node_modules/mdn-data/package.json +0 -39
- data/node_modules/nano-css/.circleci/config.yml +0 -85
- data/node_modules/nano-css/.eslintrc.yml +0 -27
- data/node_modules/nano-css/.github/FUNDING.yml +0 -3
- data/node_modules/nano-css/.github/workflows/nodejs.yml +0 -23
- data/node_modules/nano-css/CHANGELOG.md +0 -362
- data/node_modules/nano-css/LICENSE +0 -24
- data/node_modules/nano-css/README.md +0 -70
- data/node_modules/nano-css/addon/__dev__/warnOnMissingDependencies.js +0 -25
- data/node_modules/nano-css/addon/__tests__/__snapshots__/reset.test.js.snap +0 -407
- data/node_modules/nano-css/addon/__tests__/__snapshots__/tachyons.test.js.snap +0 -43
- data/node_modules/nano-css/addon/__tests__/amp.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/amp.server.test.js +0 -223
- data/node_modules/nano-css/addon/__tests__/atoms.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/atoms.server.dev.test.js +0 -8
- data/node_modules/nano-css/addon/__tests__/atoms.server.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/atoms.test.js +0 -49
- data/node_modules/nano-css/addon/__tests__/cssom.server.test.js +0 -12
- data/node_modules/nano-css/addon/__tests__/emmet/emmet.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/emmet/emmet.server.dev.test.js +0 -8
- data/node_modules/nano-css/addon/__tests__/emmet/emmet.server.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/emmet/emmet.test.js +0 -219
- data/node_modules/nano-css/addon/__tests__/env.js +0 -6
- data/node_modules/nano-css/addon/__tests__/extract.server.test.js +0 -159
- data/node_modules/nano-css/addon/__tests__/index.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/index.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/index.test.js +0 -257
- data/node_modules/nano-css/addon/__tests__/jsx.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/jsx.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/jsx.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/jsx.test.js +0 -33
- data/node_modules/nano-css/addon/__tests__/keyframes.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/keyframes.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/keyframes.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/keyframes.test.js +0 -131
- data/node_modules/nano-css/addon/__tests__/limit.server.test.js +0 -54
- data/node_modules/nano-css/addon/__tests__/nesting.test.js +0 -85
- data/node_modules/nano-css/addon/__tests__/prefixer.test.js +0 -121
- data/node_modules/nano-css/addon/__tests__/put.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/put.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/put.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/put.test.js +0 -75
- data/node_modules/nano-css/addon/__tests__/reset.test.js +0 -38
- data/node_modules/nano-css/addon/__tests__/rule.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/rule.server.dev.test.js +0 -7
- data/node_modules/nano-css/addon/__tests__/rule.server.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/rule.test.js +0 -57
- data/node_modules/nano-css/addon/__tests__/setup.js +0 -7
- data/node_modules/nano-css/addon/__tests__/sheet.test.js +0 -74
- data/node_modules/nano-css/addon/__tests__/snake.test.js +0 -124
- data/node_modules/nano-css/addon/__tests__/tachyons.test.js +0 -45
- data/node_modules/nano-css/addon/__tests__/units.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/units.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/units.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/units.test.js +0 -41
- data/node_modules/nano-css/addon/__tests__/validate.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/validate.test.js +0 -69
- data/node_modules/nano-css/addon/__tests__/vcssom.server.test.js +0 -14
- data/node_modules/nano-css/addon/__tests__/virtual.dev.test.js +0 -5
- data/node_modules/nano-css/addon/__tests__/virtual.server.dev.test.js +0 -6
- data/node_modules/nano-css/addon/__tests__/virtual.server.test.js +0 -4
- data/node_modules/nano-css/addon/__tests__/virtual.test.js +0 -225
- data/node_modules/nano-css/addon/amp.d.ts +0 -5
- data/node_modules/nano-css/addon/amp.js +0 -156
- data/node_modules/nano-css/addon/animate/fadeIn.js +0 -22
- data/node_modules/nano-css/addon/animate/fadeInDown.js +0 -25
- data/node_modules/nano-css/addon/animate/fadeInScale.js +0 -25
- data/node_modules/nano-css/addon/animate/fadeOut.js +0 -23
- data/node_modules/nano-css/addon/animate/fadeOutScale.js +0 -21
- data/node_modules/nano-css/addon/array.d.ts +0 -5
- data/node_modules/nano-css/addon/array.js +0 -33
- data/node_modules/nano-css/addon/atoms.d.ts +0 -243
- data/node_modules/nano-css/addon/atoms.js +0 -63
- data/node_modules/nano-css/addon/cache.d.ts +0 -8
- data/node_modules/nano-css/addon/cache.js +0 -17
- data/node_modules/nano-css/addon/component.d.ts +0 -7
- data/node_modules/nano-css/addon/component.js +0 -26
- data/node_modules/nano-css/addon/cssom.d.ts +0 -17
- data/node_modules/nano-css/addon/cssom.js +0 -36
- data/node_modules/nano-css/addon/decorator.d.ts +0 -7
- data/node_modules/nano-css/addon/decorator.js +0 -43
- data/node_modules/nano-css/addon/drule.d.ts +0 -8
- data/node_modules/nano-css/addon/drule.js +0 -27
- data/node_modules/nano-css/addon/dsheet.d.ts +0 -8
- data/node_modules/nano-css/addon/dsheet.js +0 -36
- data/node_modules/nano-css/addon/emmet.d.ts +0 -614
- data/node_modules/nano-css/addon/emmet.js +0 -177
- data/node_modules/nano-css/addon/extract.d.ts +0 -5
- data/node_modules/nano-css/addon/extract.js +0 -59
- data/node_modules/nano-css/addon/global.d.ts +0 -8
- data/node_modules/nano-css/addon/global.js +0 -19
- data/node_modules/nano-css/addon/googleFont.d.ts +0 -8
- data/node_modules/nano-css/addon/googleFont.js +0 -43
- data/node_modules/nano-css/addon/hydrate.d.ts +0 -7
- data/node_modules/nano-css/addon/hydrate.js +0 -28
- data/node_modules/nano-css/addon/hyperstyle.js +0 -27
- data/node_modules/nano-css/addon/important.js +0 -38
- data/node_modules/nano-css/addon/jsx.js +0 -60
- data/node_modules/nano-css/addon/keyframes.d.ts +0 -34
- data/node_modules/nano-css/addon/keyframes.js +0 -61
- data/node_modules/nano-css/addon/limit.js +0 -26
- data/node_modules/nano-css/addon/nesting.js +0 -37
- data/node_modules/nano-css/addon/pipe.js +0 -57
- data/node_modules/nano-css/addon/prefixer.js +0 -79
- data/node_modules/nano-css/addon/ref.js +0 -87
- data/node_modules/nano-css/addon/reset/EricMeyer.js +0 -48
- data/node_modules/nano-css/addon/reset/EricMeyerCondensed.js +0 -44
- data/node_modules/nano-css/addon/reset/Minimalistic.js +0 -16
- data/node_modules/nano-css/addon/reset/Minimalistic2.js +0 -17
- data/node_modules/nano-css/addon/reset/Minimalistic3.js +0 -18
- data/node_modules/nano-css/addon/reset/Normalize.js +0 -83
- data/node_modules/nano-css/addon/reset/PoorMan.js +0 -25
- data/node_modules/nano-css/addon/reset/ShaunInman.js +0 -42
- data/node_modules/nano-css/addon/reset/Siolon.js +0 -34
- data/node_modules/nano-css/addon/reset/Tantek.js +0 -31
- data/node_modules/nano-css/addon/reset/Tripoli.js +0 -75
- data/node_modules/nano-css/addon/reset/Universal.js +0 -23
- data/node_modules/nano-css/addon/reset/Yahoo.js +0 -43
- data/node_modules/nano-css/addon/reset-font.js +0 -24
- data/node_modules/nano-css/addon/rtl.js +0 -15
- data/node_modules/nano-css/addon/rule.d.ts +0 -26
- data/node_modules/nano-css/addon/rule.js +0 -39
- data/node_modules/nano-css/addon/sheet.d.ts +0 -22
- data/node_modules/nano-css/addon/sheet.js +0 -45
- data/node_modules/nano-css/addon/snake.js +0 -141
- data/node_modules/nano-css/addon/sourcemaps.js +0 -96
- data/node_modules/nano-css/addon/spread.js +0 -23
- data/node_modules/nano-css/addon/stable.js +0 -7
- data/node_modules/nano-css/addon/style.js +0 -33
- data/node_modules/nano-css/addon/styled.js +0 -161
- data/node_modules/nano-css/addon/stylis/plugin-onRule.js +0 -43
- data/node_modules/nano-css/addon/stylis.js +0 -28
- data/node_modules/nano-css/addon/tachyons.js +0 -215
- data/node_modules/nano-css/addon/unitless.js +0 -78
- data/node_modules/nano-css/addon/units.d.ts +0 -89
- data/node_modules/nano-css/addon/units.js +0 -27
- data/node_modules/nano-css/addon/useStyles.js +0 -24
- data/node_modules/nano-css/addon/util/cloneElement.js +0 -11
- data/node_modules/nano-css/addon/util/transformComponentDynamic.js +0 -50
- data/node_modules/nano-css/addon/util/transformComponentStatic.js +0 -26
- data/node_modules/nano-css/addon/validate.js +0 -82
- data/node_modules/nano-css/addon/vcssom/__tests__/cssToTree.test.js +0 -159
- data/node_modules/nano-css/addon/vcssom/cssToTree.d.ts +0 -15
- data/node_modules/nano-css/addon/vcssom/cssToTree.js +0 -42
- data/node_modules/nano-css/addon/vcssom/removeRule.d.ts +0 -3
- data/node_modules/nano-css/addon/vcssom/removeRule.js +0 -15
- data/node_modules/nano-css/addon/vcssom.d.ts +0 -72
- data/node_modules/nano-css/addon/vcssom.js +0 -97
- data/node_modules/nano-css/addon/virtual.js +0 -107
- data/node_modules/nano-css/addon/withStyles.js +0 -32
- data/node_modules/nano-css/index.d.ts +0 -4
- data/node_modules/nano-css/index.js +0 -138
- data/node_modules/nano-css/package.json +0 -145
- data/node_modules/nano-css/preset/react.js +0 -43
- data/node_modules/nano-css/preset/sheet.d.ts +0 -5
- data/node_modules/nano-css/preset/sheet.js +0 -27
- data/node_modules/nano-css/preset/vdom.js +0 -40
- data/node_modules/nano-css/prettier.config.js +0 -13
- data/node_modules/nano-css/renovate.json +0 -3
- data/node_modules/nano-css/types/common.d.ts +0 -14
- data/node_modules/nano-css/types/demo.ts +0 -7
- data/node_modules/nano-css/types/nano.d.ts +0 -171
- data/node_modules/object-assign/index.js +0 -90
- data/node_modules/object-assign/license +0 -21
- data/node_modules/object-assign/package.json +0 -42
- data/node_modules/object-assign/readme.md +0 -61
- data/node_modules/preact/compat/LICENSE +0 -21
- data/node_modules/preact/debug/LICENSE +0 -21
- data/node_modules/preact/devtools/LICENSE +0 -21
- data/node_modules/preact/hooks/LICENSE +0 -21
- data/node_modules/preact/jsx-runtime/LICENSE +0 -21
- data/node_modules/react/LICENSE +0 -21
- data/node_modules/react/README.md +0 -13
- data/node_modules/react/build-info.json +0 -8
- data/node_modules/react/cjs/react-jsx-dev-runtime.development.js +0 -1203
- data/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +0 -9
- data/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +0 -9
- data/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1221
- data/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -10
- data/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +0 -10
- data/node_modules/react/cjs/react.development.js +0 -2333
- data/node_modules/react/cjs/react.production.min.js +0 -23
- data/node_modules/react/index.js +0 -7
- data/node_modules/react/jsx-dev-runtime.js +0 -7
- data/node_modules/react/jsx-runtime.js +0 -7
- data/node_modules/react/package.json +0 -39
- data/node_modules/react/umd/react.development.js +0 -3357
- data/node_modules/react/umd/react.production.min.js +0 -31
- data/node_modules/react/umd/react.profiling.min.js +0 -36
- data/node_modules/react-dom/LICENSE +0 -21
- data/node_modules/react-dom/README.md +0 -54
- data/node_modules/react-dom/build-info.json +0 -8
- data/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -4342
- data/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +0 -51
- data/node_modules/react-dom/cjs/react-dom-server.node.development.js +0 -4383
- data/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +0 -52
- data/node_modules/react-dom/cjs/react-dom-test-utils.development.js +0 -2118
- data/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +0 -43
- data/node_modules/react-dom/cjs/react-dom.development.js +0 -26262
- data/node_modules/react-dom/cjs/react-dom.production.min.js +0 -297
- data/node_modules/react-dom/cjs/react-dom.profiling.min.js +0 -310
- data/node_modules/react-dom/index.js +0 -38
- data/node_modules/react-dom/package.json +0 -49
- data/node_modules/react-dom/profiling.js +0 -38
- data/node_modules/react-dom/server.browser.js +0 -7
- data/node_modules/react-dom/server.js +0 -3
- data/node_modules/react-dom/server.node.js +0 -7
- data/node_modules/react-dom/test-utils.js +0 -7
- data/node_modules/react-dom/umd/react-dom-server.browser.development.js +0 -4341
- data/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +0 -46
- data/node_modules/react-dom/umd/react-dom-test-utils.development.js +0 -2136
- data/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +0 -35
- data/node_modules/react-dom/umd/react-dom.development.js +0 -26292
- data/node_modules/react-dom/umd/react-dom.production.min.js +0 -245
- data/node_modules/react-dom/umd/react-dom.profiling.min.js +0 -252
- data/node_modules/regenerator-runtime/LICENSE +0 -21
- data/node_modules/regenerator-runtime/README.md +0 -31
- data/node_modules/regenerator-runtime/package.json +0 -19
- data/node_modules/regenerator-runtime/path.js +0 -11
- data/node_modules/regenerator-runtime/runtime.js +0 -754
- data/node_modules/rtl-css-js/CHANGELOG.md +0 -5
- data/node_modules/rtl-css-js/LICENSE +0 -20
- data/node_modules/rtl-css-js/README.md +0 -205
- data/node_modules/rtl-css-js/core/package.json +0 -6
- data/node_modules/rtl-css-js/core.d.ts +0 -163
- data/node_modules/rtl-css-js/core.esm.d.ts +0 -1
- data/node_modules/rtl-css-js/core.esm.js +0 -9
- data/node_modules/rtl-css-js/dist/cjs/convert-a10c80e3.js +0 -509
- data/node_modules/rtl-css-js/dist/cjs/core.js +0 -30
- data/node_modules/rtl-css-js/dist/cjs/index.js +0 -7
- data/node_modules/rtl-css-js/dist/esm/convert-09159978.js +0 -487
- data/node_modules/rtl-css-js/dist/esm/core.js +0 -1
- data/node_modules/rtl-css-js/dist/esm/index.js +0 -5
- data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.js +0 -519
- data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.js.map +0 -1
- data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.min.js +0 -2
- data/node_modules/rtl-css-js/dist/rtl-css-js.core.umd.min.js.map +0 -1
- data/node_modules/rtl-css-js/dist/rtl-css-js.umd.js +0 -496
- data/node_modules/rtl-css-js/dist/rtl-css-js.umd.js.map +0 -1
- data/node_modules/rtl-css-js/dist/rtl-css-js.umd.min.js +0 -2
- data/node_modules/rtl-css-js/dist/rtl-css-js.umd.min.js.map +0 -1
- data/node_modules/rtl-css-js/package.json +0 -66
- data/node_modules/rtl-css-js/types.d.ts +0 -8
- data/node_modules/scheduler/LICENSE +0 -21
- data/node_modules/scheduler/README.md +0 -9
- data/node_modules/scheduler/build-info.json +0 -8
- data/node_modules/scheduler/cjs/scheduler-tracing.development.js +0 -347
- data/node_modules/scheduler/cjs/scheduler-tracing.production.min.js +0 -9
- data/node_modules/scheduler/cjs/scheduler-tracing.profiling.min.js +0 -16
- data/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +0 -665
- data/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +0 -19
- data/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js +0 -206
- data/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.min.js +0 -13
- data/node_modules/scheduler/cjs/scheduler.development.js +0 -646
- data/node_modules/scheduler/cjs/scheduler.production.min.js +0 -20
- data/node_modules/scheduler/index.js +0 -7
- data/node_modules/scheduler/package.json +0 -40
- data/node_modules/scheduler/tracing-profiling.js +0 -7
- data/node_modules/scheduler/tracing.js +0 -7
- data/node_modules/scheduler/umd/scheduler-tracing.development.js +0 -80
- data/node_modules/scheduler/umd/scheduler-tracing.production.min.js +0 -80
- data/node_modules/scheduler/umd/scheduler-tracing.profiling.min.js +0 -80
- data/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +0 -664
- data/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +0 -18
- data/node_modules/scheduler/umd/scheduler.development.js +0 -152
- data/node_modules/scheduler/umd/scheduler.production.min.js +0 -146
- data/node_modules/scheduler/umd/scheduler.profiling.min.js +0 -146
- data/node_modules/scheduler/unstable_mock.js +0 -7
- data/node_modules/scheduler/unstable_post_task.js +0 -7
- data/node_modules/source-map/CHANGELOG.md +0 -301
- data/node_modules/source-map/LICENSE +0 -28
- data/node_modules/source-map/README.md +0 -742
- data/node_modules/source-map/dist/source-map.debug.js +0 -3234
- data/node_modules/source-map/dist/source-map.js +0 -3233
- data/node_modules/source-map/dist/source-map.min.js +0 -2
- data/node_modules/source-map/dist/source-map.min.js.map +0 -1
- data/node_modules/source-map/lib/array-set.js +0 -121
- data/node_modules/source-map/lib/base64-vlq.js +0 -140
- data/node_modules/source-map/lib/base64.js +0 -67
- data/node_modules/source-map/lib/binary-search.js +0 -111
- data/node_modules/source-map/lib/mapping-list.js +0 -79
- data/node_modules/source-map/lib/quick-sort.js +0 -114
- data/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- data/node_modules/source-map/lib/source-map-generator.js +0 -425
- data/node_modules/source-map/lib/source-node.js +0 -413
- data/node_modules/source-map/lib/util.js +0 -488
- data/node_modules/source-map/package.json +0 -73
- data/node_modules/source-map/source-map.d.ts +0 -98
- data/node_modules/source-map/source-map.js +0 -8
- data/node_modules/sourcemap-codec/CHANGELOG.md +0 -64
- data/node_modules/sourcemap-codec/LICENSE +0 -21
- data/node_modules/sourcemap-codec/README.md +0 -63
- data/node_modules/sourcemap-codec/dist/sourcemap-codec.es.js +0 -124
- data/node_modules/sourcemap-codec/dist/sourcemap-codec.es.js.map +0 -1
- data/node_modules/sourcemap-codec/dist/sourcemap-codec.umd.js +0 -135
- data/node_modules/sourcemap-codec/dist/sourcemap-codec.umd.js.map +0 -1
- data/node_modules/sourcemap-codec/dist/types/sourcemap-codec.d.ts +0 -5
- data/node_modules/sourcemap-codec/package.json +0 -53
- data/node_modules/stack-generator/.eslintrc.yml +0 -32
- data/node_modules/stack-generator/CHANGELOG.md +0 -18
- data/node_modules/stack-generator/CONTRIBUTING.md +0 -27
- data/node_modules/stack-generator/LICENSE +0 -19
- data/node_modules/stack-generator/README.md +0 -28
- data/node_modules/stack-generator/bower.json +0 -33
- data/node_modules/stack-generator/component.json +0 -17
- data/node_modules/stack-generator/dist/stack-generator.js +0 -45
- data/node_modules/stack-generator/dist/stack-generator.min.js +0 -2
- data/node_modules/stack-generator/dist/stack-generator.min.js.map +0 -1
- data/node_modules/stack-generator/karma.conf.ci.js +0 -108
- data/node_modules/stack-generator/karma.conf.js +0 -26
- data/node_modules/stack-generator/package.json +0 -53
- data/node_modules/stack-generator/stack-generator.js +0 -45
- data/node_modules/stackframe/.eslintrc.yml +0 -29
- data/node_modules/stackframe/CHANGELOG.md +0 -39
- data/node_modules/stackframe/CONTRIBUTING.md +0 -28
- data/node_modules/stackframe/LICENSE +0 -19
- data/node_modules/stackframe/README.md +0 -78
- data/node_modules/stackframe/bower.json +0 -31
- data/node_modules/stackframe/component.json +0 -16
- data/node_modules/stackframe/dist/stackframe.js +0 -143
- data/node_modules/stackframe/dist/stackframe.min.js +0 -2
- data/node_modules/stackframe/dist/stackframe.min.js.map +0 -1
- data/node_modules/stackframe/karma.conf.ci.js +0 -105
- data/node_modules/stackframe/karma.conf.js +0 -23
- data/node_modules/stackframe/package.json +0 -51
- data/node_modules/stackframe/stackframe-tests.ts +0 -47
- data/node_modules/stackframe/stackframe.d.ts +0 -74
- data/node_modules/stackframe/stackframe.js +0 -143
- data/node_modules/stacktrace-gps/CHANGELOG.md +0 -60
- data/node_modules/stacktrace-gps/LICENSE +0 -19
- data/node_modules/stacktrace-gps/README.md +0 -89
- data/node_modules/stacktrace-gps/dist/polyfills.js +0 -5
- data/node_modules/stacktrace-gps/dist/stacktrace-gps-with-polyfills.min.js +0 -2
- data/node_modules/stacktrace-gps/dist/stacktrace-gps-with-polyfills.min.js.map +0 -1
- data/node_modules/stacktrace-gps/dist/stacktrace-gps.js +0 -342
- data/node_modules/stacktrace-gps/dist/stacktrace-gps.min.js +0 -2
- data/node_modules/stacktrace-gps/dist/stacktrace-gps.min.js.map +0 -1
- data/node_modules/stacktrace-gps/node_modules/source-map/CHANGELOG.md +0 -301
- data/node_modules/stacktrace-gps/node_modules/source-map/LICENSE +0 -28
- data/node_modules/stacktrace-gps/node_modules/source-map/README.md +0 -729
- data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.debug.js +0 -3056
- data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.js +0 -3055
- data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.min.js +0 -2
- data/node_modules/stacktrace-gps/node_modules/source-map/dist/source-map.min.js.map +0 -1
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/array-set.js +0 -104
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/base64-vlq.js +0 -140
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/base64.js +0 -67
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/binary-search.js +0 -111
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/mapping-list.js +0 -79
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/quick-sort.js +0 -114
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-consumer.js +0 -1082
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-generator.js +0 -404
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/source-node.js +0 -407
- data/node_modules/stacktrace-gps/node_modules/source-map/lib/util.js +0 -417
- data/node_modules/stacktrace-gps/node_modules/source-map/package.json +0 -71
- data/node_modules/stacktrace-gps/node_modules/source-map/source-map.js +0 -8
- data/node_modules/stacktrace-gps/package.json +0 -66
- data/node_modules/stacktrace-gps/stacktrace-gps.js +0 -342
- data/node_modules/stacktrace-js/CHANGELOG.md +0 -97
- data/node_modules/stacktrace-js/LICENSE +0 -19
- data/node_modules/stacktrace-js/README.md +0 -186
- data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.js +0 -5405
- data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.min.js +0 -3
- data/node_modules/stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills.min.js.map +0 -1
- data/node_modules/stacktrace-js/dist/stacktrace.js +0 -3025
- data/node_modules/stacktrace-js/dist/stacktrace.min.js +0 -2
- data/node_modules/stacktrace-js/dist/stacktrace.min.js.map +0 -1
- data/node_modules/stacktrace-js/package.json +0 -82
- data/node_modules/stacktrace-js/stacktrace-js.d.ts +0 -134
- data/node_modules/stacktrace-js/stacktrace.js +0 -227
- data/node_modules/stylis/LICENSE +0 -21
- data/node_modules/stylis/README.md +0 -152
- data/node_modules/stylis/dist/stylis.mjs +0 -2
- data/node_modules/stylis/dist/stylis.mjs.map +0 -1
- data/node_modules/stylis/dist/umd/package.json +0 -1
- data/node_modules/stylis/dist/umd/stylis.js +0 -2
- data/node_modules/stylis/dist/umd/stylis.js.map +0 -1
- data/node_modules/stylis/index.js +0 -7
- data/node_modules/stylis/package.json +0 -164
- data/node_modules/stylis/src/Enum.js +0 -20
- data/node_modules/stylis/src/Middleware.js +0 -107
- data/node_modules/stylis/src/Parser.js +0 -184
- data/node_modules/stylis/src/Prefixer.js +0 -119
- data/node_modules/stylis/src/Serializer.js +0 -34
- data/node_modules/stylis/src/Tokenizer.js +0 -244
- 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
|
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":"uNAGA,IAAIA,EAGAC,EAeAC,EAZAC,EAAc,EAGdC,EAAoB,GAEpBC,EAAgBC,cAChBC,EAAkBD,cAClBE,EAAeF,UAAQG,OACvBC,EAAYJ,cACZK,EAAmBL,UAAQM,QAwE/B,SAASC,EAAaC,EAAOC,GACxBT,eACHA,cAAcL,EAAkBa,EAAOX,GAAeY,GAEvDZ,EAAc,MAORa,EACLf,QACCA,MAA2B,IACpB,OACU,YAGfa,GAASE,KAAYC,QACxBD,KAAYE,KAAK,IAEXF,KAAYF,GAMb,SAASK,EAASC,UACxBjB,EAAc,EACPkB,EAAWC,EAAgBF,GAS5B,SAASC,EAAWE,EAASH,EAAcI,OAE3CC,EAAYZ,EAAab,IAAgB,UAC/CyB,EAAUC,EAAWH,EAChBE,QACJA,KAAmB,CACjBD,EAAiDA,EAAKJ,GAA/CE,OAAeK,EAAWP,GAElC,SAAAQ,OACOC,EAAYJ,EAAUC,EAASD,KAAiB,GAAIG,GACtDH,KAAiB,KAAOI,IAC3BJ,KAAmB,CAACI,EAAWJ,KAAiB,IAChDA,MAAqBK,SAAS,OAKjCL,MAAuBxB,GAGjBwB,KAsBD,SAASM,EAAgBC,EAAUC,OAEnCC,EAAQrB,EAAab,IAAgB,IACtCM,eAAwB6B,EAAYD,MAAaD,KACrDC,KAAeF,EACfE,MAAcD,EAEdhC,MAAkCiB,KAAKgB,IA6BlC,SAASE,EAAQC,EAASJ,OAE1BC,EAAQrB,EAAab,IAAgB,UACvCmC,EAAYD,MAAaD,KAC5BC,KAAeG,IACfH,MAAcD,EACdC,MAAiBG,GAGXH,KAsER,SAASI,IACRlC,EAAkBmC,QAAQ,SAAAC,MACrBA,UAEFA,UAAkCD,QAAQE,GAC1CD,UAAkCD,QAAQG,GAC1CF,UAAoC,GACnC,MAAOG,GACRH,UAAoC,GACpClC,cAAoBqC,EAAGH,UAI1BpC,EAAoB,iBAnRL,SAAAwC,GACf3C,EAAmB,KACfI,GAAeA,EAAcuC,kBAGhB,SAAAA,GACbrC,GAAiBA,EAAgBqC,GAGrC5C,EAAe,MAETgB,GAHNf,EAAmB2C,WAIf5B,IACHA,MAAsBuB,QAAQE,GAC9BzB,MAAsBuB,QAAQG,GAC9B1B,MAAwB,eAIlBP,OAAS,SAAAmC,GACZpC,GAAcA,EAAaoC,OAEzBC,EAAID,MACNC,GAAKA,OAAaA,UAA0B5B,SAiSzB,IAhSXb,EAAkBc,KAAK2B,IAgSP3C,IAAYI,UAAQwC,yBAC/C5C,EAAUI,UAAQwC,wBAvBpB,SAAwBd,OAQnBe,EAPEC,EAAO,WACZC,aAAaC,GACTC,GAASC,qBAAqBL,GAClCM,WAAWrB,IAENkB,EAAUG,WAAWL,EA3SR,KA8SfG,IACHJ,EAAMD,sBAAsBE,MAcAV,IAhS7BrC,EAAmB,oBAGF,SAAC2C,EAAOU,GACzBA,EAAYC,KAAK,SAAAf,OAEfA,MAA2BD,QAAQE,GACnCD,MAA6BA,MAA2BgB,OAAO,SAAAC,UAC9DA,MAAYf,EAAae,KAEzB,MAAOd,GACRW,EAAYC,KAAK,SAAAV,GACZA,QAAoBA,MAAqB,MAE9CS,EAAc,GACdhD,cAAoBqC,EAAGH,UAIrB9B,GAAWA,EAAUkC,EAAOU,cAGzB1C,QAAU,SAAAgC,GACbjC,GAAkBA,EAAiBiC,OAEjCC,EAAID,SACNC,GAAKA,UAEPA,SAAgBN,QAAQE,GACvB,MAAOE,GACRrC,cAAoBqC,EAAGE,SA8N1B,IAAIM,EAA0C,mBAAzBL,sBA2CrB,SAASL,EAAciB,OAGhBC,EAAO1D,EACe,mBAAjByD,OAA6BA,QACxCzD,EAAmB0D,EAOpB,SAASjB,EAAagB,OAGfC,EAAO1D,EACbyD,MAAgBA,OAChBzD,EAAmB0D,EAOpB,SAASxB,EAAYyB,EAASC,UAE3BD,GACDA,EAAQ3C,SAAW4C,EAAQ5C,QAC3B4C,EAAQN,KAAK,SAACO,EAAKhD,UAAUgD,IAAQF,EAAQ9C,KAI/C,SAASQ,EAAewC,EAAKC,SACT,mBAALA,EAAkBA,EAAED,GAAOC,0CA9NnC,SAAmB/B,EAAUC,OAE7BC,EAAQrB,EAAab,IAAgB,IACtCM,eAAwB6B,EAAYD,MAAaD,KACrDC,KAAeF,EACfE,MAAcD,EAEdhC,UAAyCiB,KAAKgB,kCAmBzC,SAAgB8B,UACtB7D,EAAc,EACPiC,EAAQ,iBAAO,CAAE6B,QAASD,IAAiB,2BAQ5C,SAA6BE,EAAKC,EAAclC,GACtD9B,EAAc,EACd4B,EACC,WACmB,mBAAPmC,EAAmBA,EAAIC,KACzBD,IAAKA,EAAID,QAAUE,MAErB,MAARlC,EAAeA,EAAOA,EAAKmC,OAAOF,+BAwB7B,SAAqBlC,EAAUC,UACrC9B,EAAc,EACPiC,EAAQ,kBAAMJ,GAAUC,iBAMzB,SAAoBoC,OACpBC,EAAWrE,EAAiBoE,QAAQA,OAKpCnC,EAAQrB,EAAab,IAAgB,UAI3CkC,IAAiBmC,EACZC,GAEe,MAAhBpC,OACHA,MAAe,EACfoC,EAASC,IAAItE,IAEPqE,EAASE,MAAMC,OANAJ,sBAahB,SAAuBI,EAAOC,GAChCpE,UAAQqE,eACXrE,UAAQqE,cAAcD,EAAYA,EAAUD,GAASA,uBAOhD,SAA0BhB,OAE1BvB,EAAQrB,EAAab,IAAgB,IACrC4E,EAAWzD,WACjBe,KAAeuB,EACVxD,EAAiB4E,oBACrB5E,EAAiB4E,kBAAoB,SAAAC,GAChC5C,MAAcA,KAAa4C,GAC/BF,EAAS,GAAGE,KAGP,CACNF,EAAS,GACT,WACCA,EAAS,QAAGjD"}
|
@@ -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 =
|
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.
|
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.
|
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": "^
|
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": "
|
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
|
-
|
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
|
-
|
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
|
-
|
248
|
-
|
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
|
-
|
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?:
|
759
|
-
|
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.
|
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 [
|
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(
|
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
|
35
|
+
update({ path: pathname, search });
|
36
36
|
}
|
37
37
|
};
|
38
38
|
|
39
|
-
events.
|
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.
|
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 [
|
65
|
+
return [path, navigate];
|
66
66
|
};
|
67
67
|
|
68
68
|
// While History API does have `popstate` event, the only
|
@@ -9,11 +9,11 @@ const eventReplaceState = "replaceState";
|
|
9
9
|
export const events = [eventPopstate, eventPushState, eventReplaceState];
|
10
10
|
|
11
11
|
export default ({ base = "" } = {}) => {
|
12
|
-
const [
|
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(
|
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
|
30
|
+
update({ path: pathname, search });
|
31
31
|
}
|
32
32
|
};
|
33
33
|
|
34
|
-
events.
|
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.
|
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 [
|
60
|
+
return [path, navigate];
|
61
61
|
};
|
62
62
|
|
63
63
|
// While History API does have `popstate` event, the only
|