sequenceserver 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sequenceserver/api_errors.rb +24 -2
- data/lib/sequenceserver/blast/job.rb +41 -7
- data/lib/sequenceserver/blast/report.rb +36 -30
- data/lib/sequenceserver/config.rb +49 -27
- data/lib/sequenceserver/job.rb +13 -3
- data/lib/sequenceserver/job_remover.rb +25 -29
- data/lib/sequenceserver/refinements.rb +15 -0
- data/lib/sequenceserver/routes.rb +69 -7
- data/lib/sequenceserver/sequence.rb +8 -7
- data/lib/sequenceserver/sys.rb +2 -2
- data/lib/sequenceserver/version.rb +1 -1
- data/lib/sequenceserver/zip_file_generator.rb +56 -0
- data/lib/sequenceserver.rb +1 -0
- data/public/config.js +149 -143
- data/public/css/sequenceserver.css +44 -3
- data/public/css/sequenceserver.min.css +3 -3
- data/public/js/alignment_exporter.js +16 -8
- data/public/js/circos.js +370 -234
- data/public/js/cloud_share_modal.js +216 -0
- data/public/js/databases.js +144 -0
- data/public/js/databases_tree.js +42 -113
- data/public/js/dnd.js +164 -0
- data/public/js/error_modal.js +4 -11
- data/public/js/exporter.js +7 -3
- data/public/js/form.js +260 -0
- data/public/js/grapher.js +113 -106
- data/public/js/hit.js +80 -67
- data/public/js/hits_overview.js +2 -2
- data/public/js/hsp.js +343 -288
- data/public/js/jquery_world.js +4 -4
- data/public/js/mailto.js +36 -0
- data/public/js/options.js +84 -0
- data/public/js/query.js +319 -59
- data/public/js/report.js +315 -269
- data/public/js/report_root.js +75 -0
- data/public/js/search.js +28 -1011
- data/public/js/search_button.js +195 -0
- data/public/js/sequence.js +2409 -2411
- data/public/js/sequence_modal.js +152 -159
- data/public/js/share_url.js +23 -0
- data/public/js/sidebar.js +262 -83
- data/public/js/tests/database.spec.js +60 -0
- data/public/js/tests/mock_data/databases.json +91 -0
- data/public/js/tests/mock_data/long_response.json +269 -0
- data/public/js/tests/mock_data/short_response.json +2240 -0
- data/public/js/tests/report.spec.js +99 -0
- data/public/js/tests/search_button.spec.js +14 -0
- data/public/js/tests/search_query.spec.js +41 -0
- data/public/packages/circosJS@1.7.0.js +1640 -0
- data/public/packages/jquery-ui@1.11.4.js +16624 -0
- data/public/sequenceserver-report.min.js +2425 -19
- data/public/sequenceserver-search.min.js +2337 -15
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
- data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
- data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
- data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
- data/public/vendor/npm/assert@1.5.0/README.md +105 -0
- data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
- data/public/vendor/npm/assert@1.5.0/package.json +32 -0
- data/public/vendor/npm/assert@1.5.0/test.js +288 -0
- data/public/vendor/npm/assert@1.5.0.js +1 -0
- data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
- data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
- data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
- data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
- data/public/vendor/npm/base64-js@1.5.1.js +1 -0
- data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
- data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
- data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
- data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
- data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
- data/public/vendor/npm/buffer@5.7.1.js +1 -0
- data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
- data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
- data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
- data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
- data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
- data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
- data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
- data/public/vendor/npm/events@1.0.2.js +1 -1
- data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
- data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
- data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
- data/public/vendor/npm/ieee754@1.2.1.js +1 -0
- data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
- data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
- data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
- data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
- data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
- data/public/vendor/npm/indexof@0.0.1.js +1 -0
- data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
- data/public/vendor/npm/inherits@2.0.1.js +1 -1
- data/public/vendor/npm/isarray@0.0.1.js +1 -1
- data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
- data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
- data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
- data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
- data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
- data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
- data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
- data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
- data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
- data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
- data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
- data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
- data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
- data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
- data/public/vendor/npm/object-assign@4.1.1.js +1 -0
- data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
- data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
- data/public/vendor/npm/process@0.11.10/browser.js +184 -0
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
- data/public/vendor/npm/process@0.11.10/test.js +185 -0
- data/public/vendor/npm/process@0.11.10.js +1 -0
- data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
- data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
- data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
- data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
- data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
- data/public/vendor/npm/react-dom@18.0.0.js +1 -0
- data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react@18.0.0/README.md +13 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
- data/public/vendor/npm/react@18.0.0/index.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/package.json +47 -0
- data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
- data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
- data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
- data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
- data/public/vendor/npm/react@18.0.0.js +1 -0
- data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
- data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
- data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
- data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
- data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
- data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
- data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0.js +1 -0
- data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
- data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
- data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
- data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
- data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
- data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
- data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
- data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
- data/public/vendor/npm/util@0.10.3/util.js +3 -3
- data/public/vendor/npm/util@0.10.3.js +1 -1
- data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
- data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
- data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
- data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
- data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
- data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
- data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
- data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
- data/public/vendor/system-polyfills.js +865 -1
- data/views/blastn_options.erb +291 -0
- data/views/blastp_options.erb +288 -0
- data/views/blastx_options.erb +318 -0
- data/views/error.erb +12 -0
- data/views/layout.erb +2 -30
- data/views/report.erb +0 -8
- data/views/search.erb +16 -9
- data/views/tblastn_options.erb +266 -0
- data/views/tblastx_options.erb +291 -0
- metadata +318 -439
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
- data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
- data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
- data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
- data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
- data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
- data/public/vendor/npm/amdefine@1.0.0.js +0 -1
- data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
- data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
- data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
- data/public/vendor/npm/base62@0.1.1/package.json +0 -21
- data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
- data/public/vendor/npm/base62@0.1.1.js +0 -1
- data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
- data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
- data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
- data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
- data/public/vendor/npm/base64-js@0.0.8.js +0 -1
- data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
- data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
- data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
- data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
- data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
- data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
- data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
- data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
- data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
- data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
- data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
- data/public/vendor/npm/buffer@3.4.3.js +0 -1
- data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
- data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
- data/public/vendor/npm/envify@3.4.0/README.md +0 -145
- data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
- data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
- data/public/vendor/npm/envify@3.4.0/index.js +0 -4
- data/public/vendor/npm/envify@3.4.0/package.json +0 -35
- data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
- data/public/vendor/npm/envify@3.4.0.js +0 -1
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
- data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
- data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
- data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
- data/public/vendor/npm/ieee754@1.1.6.js +0 -1
- data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
- data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
- data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
- data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
- data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
- data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
- data/public/vendor/npm/is-array@1.0.1.js +0 -1
- data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
- data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
- data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
- data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
- data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
- data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
- data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
- data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
- data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
- data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
- data/public/vendor/npm/jstransform@10.1.0.js +0 -1
- data/public/vendor/npm/process@0.10.1/browser.js +0 -58
- data/public/vendor/npm/process@0.10.1.js +0 -1
- data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
- data/public/vendor/npm/react@0.13.3/README.md +0 -20
- data/public/vendor/npm/react@0.13.3/addons.js +0 -2
- data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
- data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
- data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
- data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
- data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
- data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
- data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
- data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
- data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
- data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
- data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
- data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
- data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
- data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
- data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
- data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
- data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
- data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
- data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
- data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
- data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
- data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
- data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
- data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
- data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
- data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
- data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
- data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
- data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
- data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
- data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
- data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
- data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
- data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
- data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
- data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
- data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
- data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
- data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
- data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
- data/public/vendor/npm/react@0.13.3/package.json +0 -34
- data/public/vendor/npm/react@0.13.3/react.js +0 -2
- data/public/vendor/npm/react@0.13.3.js +0 -1
- data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
- data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
- data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
- data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
- data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
- data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
- data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
- data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
- data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
- data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
- data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
- data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
- data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
- data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
- data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
- data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
- data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
- data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
- data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
- data/public/vendor/npm/source-map@0.1.31.js +0 -1
- data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
- data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
- data/public/vendor/npm/through@2.3.8/index.js +0 -93
- data/public/vendor/npm/through@2.3.8/package.json +0 -36
- data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
- data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
- data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
- data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
- data/public/vendor/npm/through@2.3.8/test.js +0 -2
- data/public/vendor/npm/through@2.3.8.js +0 -1
- data/views/_options.erb +0 -156
- /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
- /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
- /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
- /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
@@ -0,0 +1,4714 @@
|
|
1
|
+
/* */
|
2
|
+
(function(Buffer, process) {
|
3
|
+
'use strict';
|
4
|
+
if (process.env.NODE_ENV !== "production") {
|
5
|
+
(function() {
|
6
|
+
'use strict';
|
7
|
+
var React = require('react');
|
8
|
+
var ReactVersion = '18.0.0-fc46dba67-20220329';
|
9
|
+
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
10
|
+
function warn(format) {
|
11
|
+
{
|
12
|
+
{
|
13
|
+
for (var _len = arguments.length,
|
14
|
+
args = new Array(_len > 1 ? _len - 1 : 0),
|
15
|
+
_key = 1; _key < _len; _key++) {
|
16
|
+
args[_key - 1] = arguments[_key];
|
17
|
+
}
|
18
|
+
printWarning('warn', format, args);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
function error(format) {
|
23
|
+
{
|
24
|
+
{
|
25
|
+
for (var _len2 = arguments.length,
|
26
|
+
args = new Array(_len2 > 1 ? _len2 - 1 : 0),
|
27
|
+
_key2 = 1; _key2 < _len2; _key2++) {
|
28
|
+
args[_key2 - 1] = arguments[_key2];
|
29
|
+
}
|
30
|
+
printWarning('error', format, args);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
function printWarning(level, format, args) {
|
35
|
+
{
|
36
|
+
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
37
|
+
var stack = ReactDebugCurrentFrame.getStackAddendum();
|
38
|
+
if (stack !== '') {
|
39
|
+
format += '%s';
|
40
|
+
args = args.concat([stack]);
|
41
|
+
}
|
42
|
+
var argsWithFormat = args.map(function(item) {
|
43
|
+
return String(item);
|
44
|
+
});
|
45
|
+
argsWithFormat.unshift('Warning: ' + format);
|
46
|
+
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
function scheduleWork(callback) {
|
50
|
+
setImmediate(callback);
|
51
|
+
}
|
52
|
+
function flushBuffered(destination) {
|
53
|
+
if (typeof destination.flush === 'function') {
|
54
|
+
destination.flush();
|
55
|
+
}
|
56
|
+
}
|
57
|
+
function beginWriting(destination) {
|
58
|
+
if (typeof destination.cork === 'function') {
|
59
|
+
destination.cork();
|
60
|
+
}
|
61
|
+
}
|
62
|
+
function writeChunk(destination, chunk) {
|
63
|
+
var nodeBuffer = chunk;
|
64
|
+
destination.write(nodeBuffer);
|
65
|
+
}
|
66
|
+
function writeChunkAndReturn(destination, chunk) {
|
67
|
+
var nodeBuffer = chunk;
|
68
|
+
return destination.write(nodeBuffer);
|
69
|
+
}
|
70
|
+
function completeWriting(destination) {
|
71
|
+
if (typeof destination.uncork === 'function') {
|
72
|
+
destination.uncork();
|
73
|
+
}
|
74
|
+
}
|
75
|
+
function close(destination) {
|
76
|
+
destination.end();
|
77
|
+
}
|
78
|
+
function stringToChunk(content) {
|
79
|
+
return content;
|
80
|
+
}
|
81
|
+
function stringToPrecomputedChunk(content) {
|
82
|
+
return Buffer.from(content, 'utf8');
|
83
|
+
}
|
84
|
+
function closeWithError(destination, error) {
|
85
|
+
destination.destroy(error);
|
86
|
+
}
|
87
|
+
function typeName(value) {
|
88
|
+
{
|
89
|
+
var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;
|
90
|
+
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';
|
91
|
+
return type;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
function willCoercionThrow(value) {
|
95
|
+
{
|
96
|
+
try {
|
97
|
+
testStringCoercion(value);
|
98
|
+
return false;
|
99
|
+
} catch (e) {
|
100
|
+
return true;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
function testStringCoercion(value) {
|
105
|
+
return '' + value;
|
106
|
+
}
|
107
|
+
function checkAttributeStringCoercion(value, attributeName) {
|
108
|
+
{
|
109
|
+
if (willCoercionThrow(value)) {
|
110
|
+
error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));
|
111
|
+
return testStringCoercion(value);
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
function checkCSSPropertyStringCoercion(value, propName) {
|
116
|
+
{
|
117
|
+
if (willCoercionThrow(value)) {
|
118
|
+
error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));
|
119
|
+
return testStringCoercion(value);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
function checkHtmlStringCoercion(value) {
|
124
|
+
{
|
125
|
+
if (willCoercionThrow(value)) {
|
126
|
+
error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));
|
127
|
+
return testStringCoercion(value);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
132
|
+
var RESERVED = 0;
|
133
|
+
var STRING = 1;
|
134
|
+
var BOOLEANISH_STRING = 2;
|
135
|
+
var BOOLEAN = 3;
|
136
|
+
var OVERLOADED_BOOLEAN = 4;
|
137
|
+
var NUMERIC = 5;
|
138
|
+
var POSITIVE_NUMERIC = 6;
|
139
|
+
var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
|
140
|
+
var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
|
141
|
+
var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
|
142
|
+
var illegalAttributeNameCache = {};
|
143
|
+
var validatedAttributeNameCache = {};
|
144
|
+
function isAttributeNameSafe(attributeName) {
|
145
|
+
if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {
|
146
|
+
return true;
|
147
|
+
}
|
148
|
+
if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {
|
149
|
+
return false;
|
150
|
+
}
|
151
|
+
if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
|
152
|
+
validatedAttributeNameCache[attributeName] = true;
|
153
|
+
return true;
|
154
|
+
}
|
155
|
+
illegalAttributeNameCache[attributeName] = true;
|
156
|
+
{
|
157
|
+
error('Invalid attribute name: `%s`', attributeName);
|
158
|
+
}
|
159
|
+
return false;
|
160
|
+
}
|
161
|
+
function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {
|
162
|
+
if (propertyInfo !== null && propertyInfo.type === RESERVED) {
|
163
|
+
return false;
|
164
|
+
}
|
165
|
+
switch (typeof value) {
|
166
|
+
case 'function':
|
167
|
+
case 'symbol':
|
168
|
+
return true;
|
169
|
+
case 'boolean':
|
170
|
+
{
|
171
|
+
if (isCustomComponentTag) {
|
172
|
+
return false;
|
173
|
+
}
|
174
|
+
if (propertyInfo !== null) {
|
175
|
+
return !propertyInfo.acceptsBooleans;
|
176
|
+
} else {
|
177
|
+
var prefix = name.toLowerCase().slice(0, 5);
|
178
|
+
return prefix !== 'data-' && prefix !== 'aria-';
|
179
|
+
}
|
180
|
+
}
|
181
|
+
default:
|
182
|
+
return false;
|
183
|
+
}
|
184
|
+
}
|
185
|
+
function getPropertyInfo(name) {
|
186
|
+
return properties.hasOwnProperty(name) ? properties[name] : null;
|
187
|
+
}
|
188
|
+
function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {
|
189
|
+
this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;
|
190
|
+
this.attributeName = attributeName;
|
191
|
+
this.attributeNamespace = attributeNamespace;
|
192
|
+
this.mustUseProperty = mustUseProperty;
|
193
|
+
this.propertyName = name;
|
194
|
+
this.type = type;
|
195
|
+
this.sanitizeURL = sanitizeURL;
|
196
|
+
this.removeEmptyString = removeEmptyString;
|
197
|
+
}
|
198
|
+
var properties = {};
|
199
|
+
var reservedProps = ['children', 'dangerouslySetInnerHTML', 'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];
|
200
|
+
reservedProps.forEach(function(name) {
|
201
|
+
properties[name] = new PropertyInfoRecord(name, RESERVED, false, name, null, false, false);
|
202
|
+
});
|
203
|
+
[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function(_ref) {
|
204
|
+
var name = _ref[0],
|
205
|
+
attributeName = _ref[1];
|
206
|
+
properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, null, false, false);
|
207
|
+
});
|
208
|
+
['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function(name) {
|
209
|
+
properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, name.toLowerCase(), null, false, false);
|
210
|
+
});
|
211
|
+
['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function(name) {
|
212
|
+
properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, name, null, false, false);
|
213
|
+
});
|
214
|
+
['allowFullScreen', 'async', 'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', 'itemScope'].forEach(function(name) {
|
215
|
+
properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, name.toLowerCase(), null, false, false);
|
216
|
+
});
|
217
|
+
['checked', 'multiple', 'muted', 'selected'].forEach(function(name) {
|
218
|
+
properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, name, null, false, false);
|
219
|
+
});
|
220
|
+
['capture', 'download'].forEach(function(name) {
|
221
|
+
properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, name, null, false, false);
|
222
|
+
});
|
223
|
+
['cols', 'rows', 'size', 'span'].forEach(function(name) {
|
224
|
+
properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, name, null, false, false);
|
225
|
+
});
|
226
|
+
['rowSpan', 'start'].forEach(function(name) {
|
227
|
+
properties[name] = new PropertyInfoRecord(name, NUMERIC, false, name.toLowerCase(), null, false, false);
|
228
|
+
});
|
229
|
+
var CAMELIZE = /[\-\:]([a-z])/g;
|
230
|
+
var capitalize = function(token) {
|
231
|
+
return token[1].toUpperCase();
|
232
|
+
};
|
233
|
+
['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height'].forEach(function(attributeName) {
|
234
|
+
var name = attributeName.replace(CAMELIZE, capitalize);
|
235
|
+
properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, null, false, false);
|
236
|
+
});
|
237
|
+
['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type'].forEach(function(attributeName) {
|
238
|
+
var name = attributeName.replace(CAMELIZE, capitalize);
|
239
|
+
properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, 'http://www.w3.org/1999/xlink', false, false);
|
240
|
+
});
|
241
|
+
['xml:base', 'xml:lang', 'xml:space'].forEach(function(attributeName) {
|
242
|
+
var name = attributeName.replace(CAMELIZE, capitalize);
|
243
|
+
properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, 'http://www.w3.org/XML/1998/namespace', false, false);
|
244
|
+
});
|
245
|
+
['tabIndex', 'crossOrigin'].forEach(function(attributeName) {
|
246
|
+
properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, attributeName.toLowerCase(), null, false, false);
|
247
|
+
});
|
248
|
+
var xlinkHref = 'xlinkHref';
|
249
|
+
properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, 'xlink:href', 'http://www.w3.org/1999/xlink', true, false);
|
250
|
+
['src', 'href', 'action', 'formAction'].forEach(function(attributeName) {
|
251
|
+
properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, attributeName.toLowerCase(), null, true, true);
|
252
|
+
});
|
253
|
+
var isUnitlessNumber = {
|
254
|
+
animationIterationCount: true,
|
255
|
+
aspectRatio: true,
|
256
|
+
borderImageOutset: true,
|
257
|
+
borderImageSlice: true,
|
258
|
+
borderImageWidth: true,
|
259
|
+
boxFlex: true,
|
260
|
+
boxFlexGroup: true,
|
261
|
+
boxOrdinalGroup: true,
|
262
|
+
columnCount: true,
|
263
|
+
columns: true,
|
264
|
+
flex: true,
|
265
|
+
flexGrow: true,
|
266
|
+
flexPositive: true,
|
267
|
+
flexShrink: true,
|
268
|
+
flexNegative: true,
|
269
|
+
flexOrder: true,
|
270
|
+
gridArea: true,
|
271
|
+
gridRow: true,
|
272
|
+
gridRowEnd: true,
|
273
|
+
gridRowSpan: true,
|
274
|
+
gridRowStart: true,
|
275
|
+
gridColumn: true,
|
276
|
+
gridColumnEnd: true,
|
277
|
+
gridColumnSpan: true,
|
278
|
+
gridColumnStart: true,
|
279
|
+
fontWeight: true,
|
280
|
+
lineClamp: true,
|
281
|
+
lineHeight: true,
|
282
|
+
opacity: true,
|
283
|
+
order: true,
|
284
|
+
orphans: true,
|
285
|
+
tabSize: true,
|
286
|
+
widows: true,
|
287
|
+
zIndex: true,
|
288
|
+
zoom: true,
|
289
|
+
fillOpacity: true,
|
290
|
+
floodOpacity: true,
|
291
|
+
stopOpacity: true,
|
292
|
+
strokeDasharray: true,
|
293
|
+
strokeDashoffset: true,
|
294
|
+
strokeMiterlimit: true,
|
295
|
+
strokeOpacity: true,
|
296
|
+
strokeWidth: true
|
297
|
+
};
|
298
|
+
function prefixKey(prefix, key) {
|
299
|
+
return prefix + key.charAt(0).toUpperCase() + key.substring(1);
|
300
|
+
}
|
301
|
+
var prefixes = ['Webkit', 'ms', 'Moz', 'O'];
|
302
|
+
Object.keys(isUnitlessNumber).forEach(function(prop) {
|
303
|
+
prefixes.forEach(function(prefix) {
|
304
|
+
isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];
|
305
|
+
});
|
306
|
+
});
|
307
|
+
var hasReadOnlyValue = {
|
308
|
+
button: true,
|
309
|
+
checkbox: true,
|
310
|
+
image: true,
|
311
|
+
hidden: true,
|
312
|
+
radio: true,
|
313
|
+
reset: true,
|
314
|
+
submit: true
|
315
|
+
};
|
316
|
+
function checkControlledValueProps(tagName, props) {
|
317
|
+
{
|
318
|
+
if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {
|
319
|
+
error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
|
320
|
+
}
|
321
|
+
if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {
|
322
|
+
error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
|
323
|
+
}
|
324
|
+
}
|
325
|
+
}
|
326
|
+
function isCustomComponent(tagName, props) {
|
327
|
+
if (tagName.indexOf('-') === -1) {
|
328
|
+
return typeof props.is === 'string';
|
329
|
+
}
|
330
|
+
switch (tagName) {
|
331
|
+
case 'annotation-xml':
|
332
|
+
case 'color-profile':
|
333
|
+
case 'font-face':
|
334
|
+
case 'font-face-src':
|
335
|
+
case 'font-face-uri':
|
336
|
+
case 'font-face-format':
|
337
|
+
case 'font-face-name':
|
338
|
+
case 'missing-glyph':
|
339
|
+
return false;
|
340
|
+
default:
|
341
|
+
return true;
|
342
|
+
}
|
343
|
+
}
|
344
|
+
var ariaProperties = {
|
345
|
+
'aria-current': 0,
|
346
|
+
'aria-description': 0,
|
347
|
+
'aria-details': 0,
|
348
|
+
'aria-disabled': 0,
|
349
|
+
'aria-hidden': 0,
|
350
|
+
'aria-invalid': 0,
|
351
|
+
'aria-keyshortcuts': 0,
|
352
|
+
'aria-label': 0,
|
353
|
+
'aria-roledescription': 0,
|
354
|
+
'aria-autocomplete': 0,
|
355
|
+
'aria-checked': 0,
|
356
|
+
'aria-expanded': 0,
|
357
|
+
'aria-haspopup': 0,
|
358
|
+
'aria-level': 0,
|
359
|
+
'aria-modal': 0,
|
360
|
+
'aria-multiline': 0,
|
361
|
+
'aria-multiselectable': 0,
|
362
|
+
'aria-orientation': 0,
|
363
|
+
'aria-placeholder': 0,
|
364
|
+
'aria-pressed': 0,
|
365
|
+
'aria-readonly': 0,
|
366
|
+
'aria-required': 0,
|
367
|
+
'aria-selected': 0,
|
368
|
+
'aria-sort': 0,
|
369
|
+
'aria-valuemax': 0,
|
370
|
+
'aria-valuemin': 0,
|
371
|
+
'aria-valuenow': 0,
|
372
|
+
'aria-valuetext': 0,
|
373
|
+
'aria-atomic': 0,
|
374
|
+
'aria-busy': 0,
|
375
|
+
'aria-live': 0,
|
376
|
+
'aria-relevant': 0,
|
377
|
+
'aria-dropeffect': 0,
|
378
|
+
'aria-grabbed': 0,
|
379
|
+
'aria-activedescendant': 0,
|
380
|
+
'aria-colcount': 0,
|
381
|
+
'aria-colindex': 0,
|
382
|
+
'aria-colspan': 0,
|
383
|
+
'aria-controls': 0,
|
384
|
+
'aria-describedby': 0,
|
385
|
+
'aria-errormessage': 0,
|
386
|
+
'aria-flowto': 0,
|
387
|
+
'aria-labelledby': 0,
|
388
|
+
'aria-owns': 0,
|
389
|
+
'aria-posinset': 0,
|
390
|
+
'aria-rowcount': 0,
|
391
|
+
'aria-rowindex': 0,
|
392
|
+
'aria-rowspan': 0,
|
393
|
+
'aria-setsize': 0
|
394
|
+
};
|
395
|
+
var warnedProperties = {};
|
396
|
+
var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
|
397
|
+
var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
|
398
|
+
function validateProperty(tagName, name) {
|
399
|
+
{
|
400
|
+
if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {
|
401
|
+
return true;
|
402
|
+
}
|
403
|
+
if (rARIACamel.test(name)) {
|
404
|
+
var ariaName = 'aria-' + name.slice(4).toLowerCase();
|
405
|
+
var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null;
|
406
|
+
if (correctName == null) {
|
407
|
+
error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
|
408
|
+
warnedProperties[name] = true;
|
409
|
+
return true;
|
410
|
+
}
|
411
|
+
if (name !== correctName) {
|
412
|
+
error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);
|
413
|
+
warnedProperties[name] = true;
|
414
|
+
return true;
|
415
|
+
}
|
416
|
+
}
|
417
|
+
if (rARIA.test(name)) {
|
418
|
+
var lowerCasedName = name.toLowerCase();
|
419
|
+
var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null;
|
420
|
+
if (standardName == null) {
|
421
|
+
warnedProperties[name] = true;
|
422
|
+
return false;
|
423
|
+
}
|
424
|
+
if (name !== standardName) {
|
425
|
+
error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
|
426
|
+
warnedProperties[name] = true;
|
427
|
+
return true;
|
428
|
+
}
|
429
|
+
}
|
430
|
+
}
|
431
|
+
return true;
|
432
|
+
}
|
433
|
+
function warnInvalidARIAProps(type, props) {
|
434
|
+
{
|
435
|
+
var invalidProps = [];
|
436
|
+
for (var key in props) {
|
437
|
+
var isValid = validateProperty(type, key);
|
438
|
+
if (!isValid) {
|
439
|
+
invalidProps.push(key);
|
440
|
+
}
|
441
|
+
}
|
442
|
+
var unknownPropString = invalidProps.map(function(prop) {
|
443
|
+
return '`' + prop + '`';
|
444
|
+
}).join(', ');
|
445
|
+
if (invalidProps.length === 1) {
|
446
|
+
error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);
|
447
|
+
} else if (invalidProps.length > 1) {
|
448
|
+
error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);
|
449
|
+
}
|
450
|
+
}
|
451
|
+
}
|
452
|
+
function validateProperties(type, props) {
|
453
|
+
if (isCustomComponent(type, props)) {
|
454
|
+
return;
|
455
|
+
}
|
456
|
+
warnInvalidARIAProps(type, props);
|
457
|
+
}
|
458
|
+
var didWarnValueNull = false;
|
459
|
+
function validateProperties$1(type, props) {
|
460
|
+
{
|
461
|
+
if (type !== 'input' && type !== 'textarea' && type !== 'select') {
|
462
|
+
return;
|
463
|
+
}
|
464
|
+
if (props != null && props.value === null && !didWarnValueNull) {
|
465
|
+
didWarnValueNull = true;
|
466
|
+
if (type === 'select' && props.multiple) {
|
467
|
+
error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
|
468
|
+
} else {
|
469
|
+
error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);
|
470
|
+
}
|
471
|
+
}
|
472
|
+
}
|
473
|
+
}
|
474
|
+
var possibleStandardNames = {
|
475
|
+
accept: 'accept',
|
476
|
+
acceptcharset: 'acceptCharset',
|
477
|
+
'accept-charset': 'acceptCharset',
|
478
|
+
accesskey: 'accessKey',
|
479
|
+
action: 'action',
|
480
|
+
allowfullscreen: 'allowFullScreen',
|
481
|
+
alt: 'alt',
|
482
|
+
as: 'as',
|
483
|
+
async: 'async',
|
484
|
+
autocapitalize: 'autoCapitalize',
|
485
|
+
autocomplete: 'autoComplete',
|
486
|
+
autocorrect: 'autoCorrect',
|
487
|
+
autofocus: 'autoFocus',
|
488
|
+
autoplay: 'autoPlay',
|
489
|
+
autosave: 'autoSave',
|
490
|
+
capture: 'capture',
|
491
|
+
cellpadding: 'cellPadding',
|
492
|
+
cellspacing: 'cellSpacing',
|
493
|
+
challenge: 'challenge',
|
494
|
+
charset: 'charSet',
|
495
|
+
checked: 'checked',
|
496
|
+
children: 'children',
|
497
|
+
cite: 'cite',
|
498
|
+
class: 'className',
|
499
|
+
classid: 'classID',
|
500
|
+
classname: 'className',
|
501
|
+
cols: 'cols',
|
502
|
+
colspan: 'colSpan',
|
503
|
+
content: 'content',
|
504
|
+
contenteditable: 'contentEditable',
|
505
|
+
contextmenu: 'contextMenu',
|
506
|
+
controls: 'controls',
|
507
|
+
controlslist: 'controlsList',
|
508
|
+
coords: 'coords',
|
509
|
+
crossorigin: 'crossOrigin',
|
510
|
+
dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',
|
511
|
+
data: 'data',
|
512
|
+
datetime: 'dateTime',
|
513
|
+
default: 'default',
|
514
|
+
defaultchecked: 'defaultChecked',
|
515
|
+
defaultvalue: 'defaultValue',
|
516
|
+
defer: 'defer',
|
517
|
+
dir: 'dir',
|
518
|
+
disabled: 'disabled',
|
519
|
+
disablepictureinpicture: 'disablePictureInPicture',
|
520
|
+
disableremoteplayback: 'disableRemotePlayback',
|
521
|
+
download: 'download',
|
522
|
+
draggable: 'draggable',
|
523
|
+
enctype: 'encType',
|
524
|
+
enterkeyhint: 'enterKeyHint',
|
525
|
+
for: 'htmlFor',
|
526
|
+
form: 'form',
|
527
|
+
formmethod: 'formMethod',
|
528
|
+
formaction: 'formAction',
|
529
|
+
formenctype: 'formEncType',
|
530
|
+
formnovalidate: 'formNoValidate',
|
531
|
+
formtarget: 'formTarget',
|
532
|
+
frameborder: 'frameBorder',
|
533
|
+
headers: 'headers',
|
534
|
+
height: 'height',
|
535
|
+
hidden: 'hidden',
|
536
|
+
high: 'high',
|
537
|
+
href: 'href',
|
538
|
+
hreflang: 'hrefLang',
|
539
|
+
htmlfor: 'htmlFor',
|
540
|
+
httpequiv: 'httpEquiv',
|
541
|
+
'http-equiv': 'httpEquiv',
|
542
|
+
icon: 'icon',
|
543
|
+
id: 'id',
|
544
|
+
imagesizes: 'imageSizes',
|
545
|
+
imagesrcset: 'imageSrcSet',
|
546
|
+
innerhtml: 'innerHTML',
|
547
|
+
inputmode: 'inputMode',
|
548
|
+
integrity: 'integrity',
|
549
|
+
is: 'is',
|
550
|
+
itemid: 'itemID',
|
551
|
+
itemprop: 'itemProp',
|
552
|
+
itemref: 'itemRef',
|
553
|
+
itemscope: 'itemScope',
|
554
|
+
itemtype: 'itemType',
|
555
|
+
keyparams: 'keyParams',
|
556
|
+
keytype: 'keyType',
|
557
|
+
kind: 'kind',
|
558
|
+
label: 'label',
|
559
|
+
lang: 'lang',
|
560
|
+
list: 'list',
|
561
|
+
loop: 'loop',
|
562
|
+
low: 'low',
|
563
|
+
manifest: 'manifest',
|
564
|
+
marginwidth: 'marginWidth',
|
565
|
+
marginheight: 'marginHeight',
|
566
|
+
max: 'max',
|
567
|
+
maxlength: 'maxLength',
|
568
|
+
media: 'media',
|
569
|
+
mediagroup: 'mediaGroup',
|
570
|
+
method: 'method',
|
571
|
+
min: 'min',
|
572
|
+
minlength: 'minLength',
|
573
|
+
multiple: 'multiple',
|
574
|
+
muted: 'muted',
|
575
|
+
name: 'name',
|
576
|
+
nomodule: 'noModule',
|
577
|
+
nonce: 'nonce',
|
578
|
+
novalidate: 'noValidate',
|
579
|
+
open: 'open',
|
580
|
+
optimum: 'optimum',
|
581
|
+
pattern: 'pattern',
|
582
|
+
placeholder: 'placeholder',
|
583
|
+
playsinline: 'playsInline',
|
584
|
+
poster: 'poster',
|
585
|
+
preload: 'preload',
|
586
|
+
profile: 'profile',
|
587
|
+
radiogroup: 'radioGroup',
|
588
|
+
readonly: 'readOnly',
|
589
|
+
referrerpolicy: 'referrerPolicy',
|
590
|
+
rel: 'rel',
|
591
|
+
required: 'required',
|
592
|
+
reversed: 'reversed',
|
593
|
+
role: 'role',
|
594
|
+
rows: 'rows',
|
595
|
+
rowspan: 'rowSpan',
|
596
|
+
sandbox: 'sandbox',
|
597
|
+
scope: 'scope',
|
598
|
+
scoped: 'scoped',
|
599
|
+
scrolling: 'scrolling',
|
600
|
+
seamless: 'seamless',
|
601
|
+
selected: 'selected',
|
602
|
+
shape: 'shape',
|
603
|
+
size: 'size',
|
604
|
+
sizes: 'sizes',
|
605
|
+
span: 'span',
|
606
|
+
spellcheck: 'spellCheck',
|
607
|
+
src: 'src',
|
608
|
+
srcdoc: 'srcDoc',
|
609
|
+
srclang: 'srcLang',
|
610
|
+
srcset: 'srcSet',
|
611
|
+
start: 'start',
|
612
|
+
step: 'step',
|
613
|
+
style: 'style',
|
614
|
+
summary: 'summary',
|
615
|
+
tabindex: 'tabIndex',
|
616
|
+
target: 'target',
|
617
|
+
title: 'title',
|
618
|
+
type: 'type',
|
619
|
+
usemap: 'useMap',
|
620
|
+
value: 'value',
|
621
|
+
width: 'width',
|
622
|
+
wmode: 'wmode',
|
623
|
+
wrap: 'wrap',
|
624
|
+
about: 'about',
|
625
|
+
accentheight: 'accentHeight',
|
626
|
+
'accent-height': 'accentHeight',
|
627
|
+
accumulate: 'accumulate',
|
628
|
+
additive: 'additive',
|
629
|
+
alignmentbaseline: 'alignmentBaseline',
|
630
|
+
'alignment-baseline': 'alignmentBaseline',
|
631
|
+
allowreorder: 'allowReorder',
|
632
|
+
alphabetic: 'alphabetic',
|
633
|
+
amplitude: 'amplitude',
|
634
|
+
arabicform: 'arabicForm',
|
635
|
+
'arabic-form': 'arabicForm',
|
636
|
+
ascent: 'ascent',
|
637
|
+
attributename: 'attributeName',
|
638
|
+
attributetype: 'attributeType',
|
639
|
+
autoreverse: 'autoReverse',
|
640
|
+
azimuth: 'azimuth',
|
641
|
+
basefrequency: 'baseFrequency',
|
642
|
+
baselineshift: 'baselineShift',
|
643
|
+
'baseline-shift': 'baselineShift',
|
644
|
+
baseprofile: 'baseProfile',
|
645
|
+
bbox: 'bbox',
|
646
|
+
begin: 'begin',
|
647
|
+
bias: 'bias',
|
648
|
+
by: 'by',
|
649
|
+
calcmode: 'calcMode',
|
650
|
+
capheight: 'capHeight',
|
651
|
+
'cap-height': 'capHeight',
|
652
|
+
clip: 'clip',
|
653
|
+
clippath: 'clipPath',
|
654
|
+
'clip-path': 'clipPath',
|
655
|
+
clippathunits: 'clipPathUnits',
|
656
|
+
cliprule: 'clipRule',
|
657
|
+
'clip-rule': 'clipRule',
|
658
|
+
color: 'color',
|
659
|
+
colorinterpolation: 'colorInterpolation',
|
660
|
+
'color-interpolation': 'colorInterpolation',
|
661
|
+
colorinterpolationfilters: 'colorInterpolationFilters',
|
662
|
+
'color-interpolation-filters': 'colorInterpolationFilters',
|
663
|
+
colorprofile: 'colorProfile',
|
664
|
+
'color-profile': 'colorProfile',
|
665
|
+
colorrendering: 'colorRendering',
|
666
|
+
'color-rendering': 'colorRendering',
|
667
|
+
contentscripttype: 'contentScriptType',
|
668
|
+
contentstyletype: 'contentStyleType',
|
669
|
+
cursor: 'cursor',
|
670
|
+
cx: 'cx',
|
671
|
+
cy: 'cy',
|
672
|
+
d: 'd',
|
673
|
+
datatype: 'datatype',
|
674
|
+
decelerate: 'decelerate',
|
675
|
+
descent: 'descent',
|
676
|
+
diffuseconstant: 'diffuseConstant',
|
677
|
+
direction: 'direction',
|
678
|
+
display: 'display',
|
679
|
+
divisor: 'divisor',
|
680
|
+
dominantbaseline: 'dominantBaseline',
|
681
|
+
'dominant-baseline': 'dominantBaseline',
|
682
|
+
dur: 'dur',
|
683
|
+
dx: 'dx',
|
684
|
+
dy: 'dy',
|
685
|
+
edgemode: 'edgeMode',
|
686
|
+
elevation: 'elevation',
|
687
|
+
enablebackground: 'enableBackground',
|
688
|
+
'enable-background': 'enableBackground',
|
689
|
+
end: 'end',
|
690
|
+
exponent: 'exponent',
|
691
|
+
externalresourcesrequired: 'externalResourcesRequired',
|
692
|
+
fill: 'fill',
|
693
|
+
fillopacity: 'fillOpacity',
|
694
|
+
'fill-opacity': 'fillOpacity',
|
695
|
+
fillrule: 'fillRule',
|
696
|
+
'fill-rule': 'fillRule',
|
697
|
+
filter: 'filter',
|
698
|
+
filterres: 'filterRes',
|
699
|
+
filterunits: 'filterUnits',
|
700
|
+
floodopacity: 'floodOpacity',
|
701
|
+
'flood-opacity': 'floodOpacity',
|
702
|
+
floodcolor: 'floodColor',
|
703
|
+
'flood-color': 'floodColor',
|
704
|
+
focusable: 'focusable',
|
705
|
+
fontfamily: 'fontFamily',
|
706
|
+
'font-family': 'fontFamily',
|
707
|
+
fontsize: 'fontSize',
|
708
|
+
'font-size': 'fontSize',
|
709
|
+
fontsizeadjust: 'fontSizeAdjust',
|
710
|
+
'font-size-adjust': 'fontSizeAdjust',
|
711
|
+
fontstretch: 'fontStretch',
|
712
|
+
'font-stretch': 'fontStretch',
|
713
|
+
fontstyle: 'fontStyle',
|
714
|
+
'font-style': 'fontStyle',
|
715
|
+
fontvariant: 'fontVariant',
|
716
|
+
'font-variant': 'fontVariant',
|
717
|
+
fontweight: 'fontWeight',
|
718
|
+
'font-weight': 'fontWeight',
|
719
|
+
format: 'format',
|
720
|
+
from: 'from',
|
721
|
+
fx: 'fx',
|
722
|
+
fy: 'fy',
|
723
|
+
g1: 'g1',
|
724
|
+
g2: 'g2',
|
725
|
+
glyphname: 'glyphName',
|
726
|
+
'glyph-name': 'glyphName',
|
727
|
+
glyphorientationhorizontal: 'glyphOrientationHorizontal',
|
728
|
+
'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
|
729
|
+
glyphorientationvertical: 'glyphOrientationVertical',
|
730
|
+
'glyph-orientation-vertical': 'glyphOrientationVertical',
|
731
|
+
glyphref: 'glyphRef',
|
732
|
+
gradienttransform: 'gradientTransform',
|
733
|
+
gradientunits: 'gradientUnits',
|
734
|
+
hanging: 'hanging',
|
735
|
+
horizadvx: 'horizAdvX',
|
736
|
+
'horiz-adv-x': 'horizAdvX',
|
737
|
+
horizoriginx: 'horizOriginX',
|
738
|
+
'horiz-origin-x': 'horizOriginX',
|
739
|
+
ideographic: 'ideographic',
|
740
|
+
imagerendering: 'imageRendering',
|
741
|
+
'image-rendering': 'imageRendering',
|
742
|
+
in2: 'in2',
|
743
|
+
in: 'in',
|
744
|
+
inlist: 'inlist',
|
745
|
+
intercept: 'intercept',
|
746
|
+
k1: 'k1',
|
747
|
+
k2: 'k2',
|
748
|
+
k3: 'k3',
|
749
|
+
k4: 'k4',
|
750
|
+
k: 'k',
|
751
|
+
kernelmatrix: 'kernelMatrix',
|
752
|
+
kernelunitlength: 'kernelUnitLength',
|
753
|
+
kerning: 'kerning',
|
754
|
+
keypoints: 'keyPoints',
|
755
|
+
keysplines: 'keySplines',
|
756
|
+
keytimes: 'keyTimes',
|
757
|
+
lengthadjust: 'lengthAdjust',
|
758
|
+
letterspacing: 'letterSpacing',
|
759
|
+
'letter-spacing': 'letterSpacing',
|
760
|
+
lightingcolor: 'lightingColor',
|
761
|
+
'lighting-color': 'lightingColor',
|
762
|
+
limitingconeangle: 'limitingConeAngle',
|
763
|
+
local: 'local',
|
764
|
+
markerend: 'markerEnd',
|
765
|
+
'marker-end': 'markerEnd',
|
766
|
+
markerheight: 'markerHeight',
|
767
|
+
markermid: 'markerMid',
|
768
|
+
'marker-mid': 'markerMid',
|
769
|
+
markerstart: 'markerStart',
|
770
|
+
'marker-start': 'markerStart',
|
771
|
+
markerunits: 'markerUnits',
|
772
|
+
markerwidth: 'markerWidth',
|
773
|
+
mask: 'mask',
|
774
|
+
maskcontentunits: 'maskContentUnits',
|
775
|
+
maskunits: 'maskUnits',
|
776
|
+
mathematical: 'mathematical',
|
777
|
+
mode: 'mode',
|
778
|
+
numoctaves: 'numOctaves',
|
779
|
+
offset: 'offset',
|
780
|
+
opacity: 'opacity',
|
781
|
+
operator: 'operator',
|
782
|
+
order: 'order',
|
783
|
+
orient: 'orient',
|
784
|
+
orientation: 'orientation',
|
785
|
+
origin: 'origin',
|
786
|
+
overflow: 'overflow',
|
787
|
+
overlineposition: 'overlinePosition',
|
788
|
+
'overline-position': 'overlinePosition',
|
789
|
+
overlinethickness: 'overlineThickness',
|
790
|
+
'overline-thickness': 'overlineThickness',
|
791
|
+
paintorder: 'paintOrder',
|
792
|
+
'paint-order': 'paintOrder',
|
793
|
+
panose1: 'panose1',
|
794
|
+
'panose-1': 'panose1',
|
795
|
+
pathlength: 'pathLength',
|
796
|
+
patterncontentunits: 'patternContentUnits',
|
797
|
+
patterntransform: 'patternTransform',
|
798
|
+
patternunits: 'patternUnits',
|
799
|
+
pointerevents: 'pointerEvents',
|
800
|
+
'pointer-events': 'pointerEvents',
|
801
|
+
points: 'points',
|
802
|
+
pointsatx: 'pointsAtX',
|
803
|
+
pointsaty: 'pointsAtY',
|
804
|
+
pointsatz: 'pointsAtZ',
|
805
|
+
prefix: 'prefix',
|
806
|
+
preservealpha: 'preserveAlpha',
|
807
|
+
preserveaspectratio: 'preserveAspectRatio',
|
808
|
+
primitiveunits: 'primitiveUnits',
|
809
|
+
property: 'property',
|
810
|
+
r: 'r',
|
811
|
+
radius: 'radius',
|
812
|
+
refx: 'refX',
|
813
|
+
refy: 'refY',
|
814
|
+
renderingintent: 'renderingIntent',
|
815
|
+
'rendering-intent': 'renderingIntent',
|
816
|
+
repeatcount: 'repeatCount',
|
817
|
+
repeatdur: 'repeatDur',
|
818
|
+
requiredextensions: 'requiredExtensions',
|
819
|
+
requiredfeatures: 'requiredFeatures',
|
820
|
+
resource: 'resource',
|
821
|
+
restart: 'restart',
|
822
|
+
result: 'result',
|
823
|
+
results: 'results',
|
824
|
+
rotate: 'rotate',
|
825
|
+
rx: 'rx',
|
826
|
+
ry: 'ry',
|
827
|
+
scale: 'scale',
|
828
|
+
security: 'security',
|
829
|
+
seed: 'seed',
|
830
|
+
shaperendering: 'shapeRendering',
|
831
|
+
'shape-rendering': 'shapeRendering',
|
832
|
+
slope: 'slope',
|
833
|
+
spacing: 'spacing',
|
834
|
+
specularconstant: 'specularConstant',
|
835
|
+
specularexponent: 'specularExponent',
|
836
|
+
speed: 'speed',
|
837
|
+
spreadmethod: 'spreadMethod',
|
838
|
+
startoffset: 'startOffset',
|
839
|
+
stddeviation: 'stdDeviation',
|
840
|
+
stemh: 'stemh',
|
841
|
+
stemv: 'stemv',
|
842
|
+
stitchtiles: 'stitchTiles',
|
843
|
+
stopcolor: 'stopColor',
|
844
|
+
'stop-color': 'stopColor',
|
845
|
+
stopopacity: 'stopOpacity',
|
846
|
+
'stop-opacity': 'stopOpacity',
|
847
|
+
strikethroughposition: 'strikethroughPosition',
|
848
|
+
'strikethrough-position': 'strikethroughPosition',
|
849
|
+
strikethroughthickness: 'strikethroughThickness',
|
850
|
+
'strikethrough-thickness': 'strikethroughThickness',
|
851
|
+
string: 'string',
|
852
|
+
stroke: 'stroke',
|
853
|
+
strokedasharray: 'strokeDasharray',
|
854
|
+
'stroke-dasharray': 'strokeDasharray',
|
855
|
+
strokedashoffset: 'strokeDashoffset',
|
856
|
+
'stroke-dashoffset': 'strokeDashoffset',
|
857
|
+
strokelinecap: 'strokeLinecap',
|
858
|
+
'stroke-linecap': 'strokeLinecap',
|
859
|
+
strokelinejoin: 'strokeLinejoin',
|
860
|
+
'stroke-linejoin': 'strokeLinejoin',
|
861
|
+
strokemiterlimit: 'strokeMiterlimit',
|
862
|
+
'stroke-miterlimit': 'strokeMiterlimit',
|
863
|
+
strokewidth: 'strokeWidth',
|
864
|
+
'stroke-width': 'strokeWidth',
|
865
|
+
strokeopacity: 'strokeOpacity',
|
866
|
+
'stroke-opacity': 'strokeOpacity',
|
867
|
+
suppresscontenteditablewarning: 'suppressContentEditableWarning',
|
868
|
+
suppresshydrationwarning: 'suppressHydrationWarning',
|
869
|
+
surfacescale: 'surfaceScale',
|
870
|
+
systemlanguage: 'systemLanguage',
|
871
|
+
tablevalues: 'tableValues',
|
872
|
+
targetx: 'targetX',
|
873
|
+
targety: 'targetY',
|
874
|
+
textanchor: 'textAnchor',
|
875
|
+
'text-anchor': 'textAnchor',
|
876
|
+
textdecoration: 'textDecoration',
|
877
|
+
'text-decoration': 'textDecoration',
|
878
|
+
textlength: 'textLength',
|
879
|
+
textrendering: 'textRendering',
|
880
|
+
'text-rendering': 'textRendering',
|
881
|
+
to: 'to',
|
882
|
+
transform: 'transform',
|
883
|
+
typeof: 'typeof',
|
884
|
+
u1: 'u1',
|
885
|
+
u2: 'u2',
|
886
|
+
underlineposition: 'underlinePosition',
|
887
|
+
'underline-position': 'underlinePosition',
|
888
|
+
underlinethickness: 'underlineThickness',
|
889
|
+
'underline-thickness': 'underlineThickness',
|
890
|
+
unicode: 'unicode',
|
891
|
+
unicodebidi: 'unicodeBidi',
|
892
|
+
'unicode-bidi': 'unicodeBidi',
|
893
|
+
unicoderange: 'unicodeRange',
|
894
|
+
'unicode-range': 'unicodeRange',
|
895
|
+
unitsperem: 'unitsPerEm',
|
896
|
+
'units-per-em': 'unitsPerEm',
|
897
|
+
unselectable: 'unselectable',
|
898
|
+
valphabetic: 'vAlphabetic',
|
899
|
+
'v-alphabetic': 'vAlphabetic',
|
900
|
+
values: 'values',
|
901
|
+
vectoreffect: 'vectorEffect',
|
902
|
+
'vector-effect': 'vectorEffect',
|
903
|
+
version: 'version',
|
904
|
+
vertadvy: 'vertAdvY',
|
905
|
+
'vert-adv-y': 'vertAdvY',
|
906
|
+
vertoriginx: 'vertOriginX',
|
907
|
+
'vert-origin-x': 'vertOriginX',
|
908
|
+
vertoriginy: 'vertOriginY',
|
909
|
+
'vert-origin-y': 'vertOriginY',
|
910
|
+
vhanging: 'vHanging',
|
911
|
+
'v-hanging': 'vHanging',
|
912
|
+
videographic: 'vIdeographic',
|
913
|
+
'v-ideographic': 'vIdeographic',
|
914
|
+
viewbox: 'viewBox',
|
915
|
+
viewtarget: 'viewTarget',
|
916
|
+
visibility: 'visibility',
|
917
|
+
vmathematical: 'vMathematical',
|
918
|
+
'v-mathematical': 'vMathematical',
|
919
|
+
vocab: 'vocab',
|
920
|
+
widths: 'widths',
|
921
|
+
wordspacing: 'wordSpacing',
|
922
|
+
'word-spacing': 'wordSpacing',
|
923
|
+
writingmode: 'writingMode',
|
924
|
+
'writing-mode': 'writingMode',
|
925
|
+
x1: 'x1',
|
926
|
+
x2: 'x2',
|
927
|
+
x: 'x',
|
928
|
+
xchannelselector: 'xChannelSelector',
|
929
|
+
xheight: 'xHeight',
|
930
|
+
'x-height': 'xHeight',
|
931
|
+
xlinkactuate: 'xlinkActuate',
|
932
|
+
'xlink:actuate': 'xlinkActuate',
|
933
|
+
xlinkarcrole: 'xlinkArcrole',
|
934
|
+
'xlink:arcrole': 'xlinkArcrole',
|
935
|
+
xlinkhref: 'xlinkHref',
|
936
|
+
'xlink:href': 'xlinkHref',
|
937
|
+
xlinkrole: 'xlinkRole',
|
938
|
+
'xlink:role': 'xlinkRole',
|
939
|
+
xlinkshow: 'xlinkShow',
|
940
|
+
'xlink:show': 'xlinkShow',
|
941
|
+
xlinktitle: 'xlinkTitle',
|
942
|
+
'xlink:title': 'xlinkTitle',
|
943
|
+
xlinktype: 'xlinkType',
|
944
|
+
'xlink:type': 'xlinkType',
|
945
|
+
xmlbase: 'xmlBase',
|
946
|
+
'xml:base': 'xmlBase',
|
947
|
+
xmllang: 'xmlLang',
|
948
|
+
'xml:lang': 'xmlLang',
|
949
|
+
xmlns: 'xmlns',
|
950
|
+
'xml:space': 'xmlSpace',
|
951
|
+
xmlnsxlink: 'xmlnsXlink',
|
952
|
+
'xmlns:xlink': 'xmlnsXlink',
|
953
|
+
xmlspace: 'xmlSpace',
|
954
|
+
y1: 'y1',
|
955
|
+
y2: 'y2',
|
956
|
+
y: 'y',
|
957
|
+
ychannelselector: 'yChannelSelector',
|
958
|
+
z: 'z',
|
959
|
+
zoomandpan: 'zoomAndPan'
|
960
|
+
};
|
961
|
+
var validateProperty$1 = function() {};
|
962
|
+
{
|
963
|
+
var warnedProperties$1 = {};
|
964
|
+
var EVENT_NAME_REGEX = /^on./;
|
965
|
+
var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
|
966
|
+
var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
|
967
|
+
var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
|
968
|
+
validateProperty$1 = function(tagName, name, value, eventRegistry) {
|
969
|
+
if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {
|
970
|
+
return true;
|
971
|
+
}
|
972
|
+
var lowerCasedName = name.toLowerCase();
|
973
|
+
if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {
|
974
|
+
error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
|
975
|
+
warnedProperties$1[name] = true;
|
976
|
+
return true;
|
977
|
+
}
|
978
|
+
if (eventRegistry != null) {
|
979
|
+
var registrationNameDependencies = eventRegistry.registrationNameDependencies,
|
980
|
+
possibleRegistrationNames = eventRegistry.possibleRegistrationNames;
|
981
|
+
if (registrationNameDependencies.hasOwnProperty(name)) {
|
982
|
+
return true;
|
983
|
+
}
|
984
|
+
var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;
|
985
|
+
if (registrationName != null) {
|
986
|
+
error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
|
987
|
+
warnedProperties$1[name] = true;
|
988
|
+
return true;
|
989
|
+
}
|
990
|
+
if (EVENT_NAME_REGEX.test(name)) {
|
991
|
+
error('Unknown event handler property `%s`. It will be ignored.', name);
|
992
|
+
warnedProperties$1[name] = true;
|
993
|
+
return true;
|
994
|
+
}
|
995
|
+
} else if (EVENT_NAME_REGEX.test(name)) {
|
996
|
+
if (INVALID_EVENT_NAME_REGEX.test(name)) {
|
997
|
+
error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);
|
998
|
+
}
|
999
|
+
warnedProperties$1[name] = true;
|
1000
|
+
return true;
|
1001
|
+
}
|
1002
|
+
if (rARIA$1.test(name) || rARIACamel$1.test(name)) {
|
1003
|
+
return true;
|
1004
|
+
}
|
1005
|
+
if (lowerCasedName === 'innerhtml') {
|
1006
|
+
error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');
|
1007
|
+
warnedProperties$1[name] = true;
|
1008
|
+
return true;
|
1009
|
+
}
|
1010
|
+
if (lowerCasedName === 'aria') {
|
1011
|
+
error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
|
1012
|
+
warnedProperties$1[name] = true;
|
1013
|
+
return true;
|
1014
|
+
}
|
1015
|
+
if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {
|
1016
|
+
error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
|
1017
|
+
warnedProperties$1[name] = true;
|
1018
|
+
return true;
|
1019
|
+
}
|
1020
|
+
if (typeof value === 'number' && isNaN(value)) {
|
1021
|
+
error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
|
1022
|
+
warnedProperties$1[name] = true;
|
1023
|
+
return true;
|
1024
|
+
}
|
1025
|
+
var propertyInfo = getPropertyInfo(name);
|
1026
|
+
var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED;
|
1027
|
+
if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
|
1028
|
+
var standardName = possibleStandardNames[lowerCasedName];
|
1029
|
+
if (standardName !== name) {
|
1030
|
+
error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
|
1031
|
+
warnedProperties$1[name] = true;
|
1032
|
+
return true;
|
1033
|
+
}
|
1034
|
+
} else if (!isReserved && name !== lowerCasedName) {
|
1035
|
+
error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);
|
1036
|
+
warnedProperties$1[name] = true;
|
1037
|
+
return true;
|
1038
|
+
}
|
1039
|
+
if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
|
1040
|
+
if (value) {
|
1041
|
+
error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.', value, name, name, value, name);
|
1042
|
+
} else {
|
1043
|
+
error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);
|
1044
|
+
}
|
1045
|
+
warnedProperties$1[name] = true;
|
1046
|
+
return true;
|
1047
|
+
}
|
1048
|
+
if (isReserved) {
|
1049
|
+
return true;
|
1050
|
+
}
|
1051
|
+
if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
|
1052
|
+
warnedProperties$1[name] = true;
|
1053
|
+
return false;
|
1054
|
+
}
|
1055
|
+
if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {
|
1056
|
+
error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value);
|
1057
|
+
warnedProperties$1[name] = true;
|
1058
|
+
return true;
|
1059
|
+
}
|
1060
|
+
return true;
|
1061
|
+
};
|
1062
|
+
}
|
1063
|
+
var warnUnknownProperties = function(type, props, eventRegistry) {
|
1064
|
+
{
|
1065
|
+
var unknownProps = [];
|
1066
|
+
for (var key in props) {
|
1067
|
+
var isValid = validateProperty$1(type, key, props[key], eventRegistry);
|
1068
|
+
if (!isValid) {
|
1069
|
+
unknownProps.push(key);
|
1070
|
+
}
|
1071
|
+
}
|
1072
|
+
var unknownPropString = unknownProps.map(function(prop) {
|
1073
|
+
return '`' + prop + '`';
|
1074
|
+
}).join(', ');
|
1075
|
+
if (unknownProps.length === 1) {
|
1076
|
+
error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);
|
1077
|
+
} else if (unknownProps.length > 1) {
|
1078
|
+
error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);
|
1079
|
+
}
|
1080
|
+
}
|
1081
|
+
};
|
1082
|
+
function validateProperties$2(type, props, eventRegistry) {
|
1083
|
+
if (isCustomComponent(type, props)) {
|
1084
|
+
return;
|
1085
|
+
}
|
1086
|
+
warnUnknownProperties(type, props, eventRegistry);
|
1087
|
+
}
|
1088
|
+
var warnValidStyle = function() {};
|
1089
|
+
{
|
1090
|
+
var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;
|
1091
|
+
var msPattern = /^-ms-/;
|
1092
|
+
var hyphenPattern = /-(.)/g;
|
1093
|
+
var badStyleValueWithSemicolonPattern = /;\s*$/;
|
1094
|
+
var warnedStyleNames = {};
|
1095
|
+
var warnedStyleValues = {};
|
1096
|
+
var warnedForNaNValue = false;
|
1097
|
+
var warnedForInfinityValue = false;
|
1098
|
+
var camelize = function(string) {
|
1099
|
+
return string.replace(hyphenPattern, function(_, character) {
|
1100
|
+
return character.toUpperCase();
|
1101
|
+
});
|
1102
|
+
};
|
1103
|
+
var warnHyphenatedStyleName = function(name) {
|
1104
|
+
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
1105
|
+
return;
|
1106
|
+
}
|
1107
|
+
warnedStyleNames[name] = true;
|
1108
|
+
error('Unsupported style property %s. Did you mean %s?', name, camelize(name.replace(msPattern, 'ms-')));
|
1109
|
+
};
|
1110
|
+
var warnBadVendoredStyleName = function(name) {
|
1111
|
+
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
1112
|
+
return;
|
1113
|
+
}
|
1114
|
+
warnedStyleNames[name] = true;
|
1115
|
+
error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));
|
1116
|
+
};
|
1117
|
+
var warnStyleValueWithSemicolon = function(name, value) {
|
1118
|
+
if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
|
1119
|
+
return;
|
1120
|
+
}
|
1121
|
+
warnedStyleValues[value] = true;
|
1122
|
+
error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
|
1123
|
+
};
|
1124
|
+
var warnStyleValueIsNaN = function(name, value) {
|
1125
|
+
if (warnedForNaNValue) {
|
1126
|
+
return;
|
1127
|
+
}
|
1128
|
+
warnedForNaNValue = true;
|
1129
|
+
error('`NaN` is an invalid value for the `%s` css style property.', name);
|
1130
|
+
};
|
1131
|
+
var warnStyleValueIsInfinity = function(name, value) {
|
1132
|
+
if (warnedForInfinityValue) {
|
1133
|
+
return;
|
1134
|
+
}
|
1135
|
+
warnedForInfinityValue = true;
|
1136
|
+
error('`Infinity` is an invalid value for the `%s` css style property.', name);
|
1137
|
+
};
|
1138
|
+
warnValidStyle = function(name, value) {
|
1139
|
+
if (name.indexOf('-') > -1) {
|
1140
|
+
warnHyphenatedStyleName(name);
|
1141
|
+
} else if (badVendoredStyleNamePattern.test(name)) {
|
1142
|
+
warnBadVendoredStyleName(name);
|
1143
|
+
} else if (badStyleValueWithSemicolonPattern.test(value)) {
|
1144
|
+
warnStyleValueWithSemicolon(name, value);
|
1145
|
+
}
|
1146
|
+
if (typeof value === 'number') {
|
1147
|
+
if (isNaN(value)) {
|
1148
|
+
warnStyleValueIsNaN(name, value);
|
1149
|
+
} else if (!isFinite(value)) {
|
1150
|
+
warnStyleValueIsInfinity(name, value);
|
1151
|
+
}
|
1152
|
+
}
|
1153
|
+
};
|
1154
|
+
}
|
1155
|
+
var warnValidStyle$1 = warnValidStyle;
|
1156
|
+
var matchHtmlRegExp = /["'&<>]/;
|
1157
|
+
function escapeHtml(string) {
|
1158
|
+
{
|
1159
|
+
checkHtmlStringCoercion(string);
|
1160
|
+
}
|
1161
|
+
var str = '' + string;
|
1162
|
+
var match = matchHtmlRegExp.exec(str);
|
1163
|
+
if (!match) {
|
1164
|
+
return str;
|
1165
|
+
}
|
1166
|
+
var escape;
|
1167
|
+
var html = '';
|
1168
|
+
var index;
|
1169
|
+
var lastIndex = 0;
|
1170
|
+
for (index = match.index; index < str.length; index++) {
|
1171
|
+
switch (str.charCodeAt(index)) {
|
1172
|
+
case 34:
|
1173
|
+
escape = '"';
|
1174
|
+
break;
|
1175
|
+
case 38:
|
1176
|
+
escape = '&';
|
1177
|
+
break;
|
1178
|
+
case 39:
|
1179
|
+
escape = ''';
|
1180
|
+
break;
|
1181
|
+
case 60:
|
1182
|
+
escape = '<';
|
1183
|
+
break;
|
1184
|
+
case 62:
|
1185
|
+
escape = '>';
|
1186
|
+
break;
|
1187
|
+
default:
|
1188
|
+
continue;
|
1189
|
+
}
|
1190
|
+
if (lastIndex !== index) {
|
1191
|
+
html += str.substring(lastIndex, index);
|
1192
|
+
}
|
1193
|
+
lastIndex = index + 1;
|
1194
|
+
html += escape;
|
1195
|
+
}
|
1196
|
+
return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
|
1197
|
+
}
|
1198
|
+
function escapeTextForBrowser(text) {
|
1199
|
+
if (typeof text === 'boolean' || typeof text === 'number') {
|
1200
|
+
return '' + text;
|
1201
|
+
}
|
1202
|
+
return escapeHtml(text);
|
1203
|
+
}
|
1204
|
+
var uppercasePattern = /([A-Z])/g;
|
1205
|
+
var msPattern$1 = /^ms-/;
|
1206
|
+
function hyphenateStyleName(name) {
|
1207
|
+
return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern$1, '-ms-');
|
1208
|
+
}
|
1209
|
+
var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;
|
1210
|
+
var didWarn = false;
|
1211
|
+
function sanitizeURL(url) {
|
1212
|
+
{
|
1213
|
+
if (!didWarn && isJavaScriptProtocol.test(url)) {
|
1214
|
+
didWarn = true;
|
1215
|
+
error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));
|
1216
|
+
}
|
1217
|
+
}
|
1218
|
+
}
|
1219
|
+
var isArrayImpl = Array.isArray;
|
1220
|
+
function isArray(a) {
|
1221
|
+
return isArrayImpl(a);
|
1222
|
+
}
|
1223
|
+
var startInlineScript = stringToPrecomputedChunk('<script>');
|
1224
|
+
var endInlineScript = stringToPrecomputedChunk('</script>');
|
1225
|
+
var startScriptSrc = stringToPrecomputedChunk('<script src="');
|
1226
|
+
var startModuleSrc = stringToPrecomputedChunk('<script type="module" src="');
|
1227
|
+
var endAsyncScript = stringToPrecomputedChunk('" async=""></script>');
|
1228
|
+
function createResponseState(identifierPrefix, nonce, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {
|
1229
|
+
var idPrefix = identifierPrefix === undefined ? '' : identifierPrefix;
|
1230
|
+
var inlineScriptWithNonce = nonce === undefined ? startInlineScript : stringToPrecomputedChunk('<script nonce="' + escapeTextForBrowser(nonce) + '">');
|
1231
|
+
var bootstrapChunks = [];
|
1232
|
+
if (bootstrapScriptContent !== undefined) {
|
1233
|
+
bootstrapChunks.push(inlineScriptWithNonce, stringToChunk(escapeTextForBrowser(bootstrapScriptContent)), endInlineScript);
|
1234
|
+
}
|
1235
|
+
if (bootstrapScripts !== undefined) {
|
1236
|
+
for (var i = 0; i < bootstrapScripts.length; i++) {
|
1237
|
+
bootstrapChunks.push(startScriptSrc, stringToChunk(escapeTextForBrowser(bootstrapScripts[i])), endAsyncScript);
|
1238
|
+
}
|
1239
|
+
}
|
1240
|
+
if (bootstrapModules !== undefined) {
|
1241
|
+
for (var _i = 0; _i < bootstrapModules.length; _i++) {
|
1242
|
+
bootstrapChunks.push(startModuleSrc, stringToChunk(escapeTextForBrowser(bootstrapModules[_i])), endAsyncScript);
|
1243
|
+
}
|
1244
|
+
}
|
1245
|
+
return {
|
1246
|
+
bootstrapChunks: bootstrapChunks,
|
1247
|
+
startInlineScript: inlineScriptWithNonce,
|
1248
|
+
placeholderPrefix: stringToPrecomputedChunk(idPrefix + 'P:'),
|
1249
|
+
segmentPrefix: stringToPrecomputedChunk(idPrefix + 'S:'),
|
1250
|
+
boundaryPrefix: idPrefix + 'B:',
|
1251
|
+
idPrefix: idPrefix,
|
1252
|
+
nextSuspenseID: 0,
|
1253
|
+
sentCompleteSegmentFunction: false,
|
1254
|
+
sentCompleteBoundaryFunction: false,
|
1255
|
+
sentClientRenderFunction: false
|
1256
|
+
};
|
1257
|
+
}
|
1258
|
+
var ROOT_HTML_MODE = 0;
|
1259
|
+
var HTML_MODE = 1;
|
1260
|
+
var SVG_MODE = 2;
|
1261
|
+
var MATHML_MODE = 3;
|
1262
|
+
var HTML_TABLE_MODE = 4;
|
1263
|
+
var HTML_TABLE_BODY_MODE = 5;
|
1264
|
+
var HTML_TABLE_ROW_MODE = 6;
|
1265
|
+
var HTML_COLGROUP_MODE = 7;
|
1266
|
+
function createFormatContext(insertionMode, selectedValue) {
|
1267
|
+
return {
|
1268
|
+
insertionMode: insertionMode,
|
1269
|
+
selectedValue: selectedValue
|
1270
|
+
};
|
1271
|
+
}
|
1272
|
+
function createRootFormatContext(namespaceURI) {
|
1273
|
+
var insertionMode = namespaceURI === 'http://www.w3.org/2000/svg' ? SVG_MODE : namespaceURI === 'http://www.w3.org/1998/Math/MathML' ? MATHML_MODE : ROOT_HTML_MODE;
|
1274
|
+
return createFormatContext(insertionMode, null);
|
1275
|
+
}
|
1276
|
+
function getChildFormatContext(parentContext, type, props) {
|
1277
|
+
switch (type) {
|
1278
|
+
case 'select':
|
1279
|
+
return createFormatContext(HTML_MODE, props.value != null ? props.value : props.defaultValue);
|
1280
|
+
case 'svg':
|
1281
|
+
return createFormatContext(SVG_MODE, null);
|
1282
|
+
case 'math':
|
1283
|
+
return createFormatContext(MATHML_MODE, null);
|
1284
|
+
case 'foreignObject':
|
1285
|
+
return createFormatContext(HTML_MODE, null);
|
1286
|
+
case 'table':
|
1287
|
+
return createFormatContext(HTML_TABLE_MODE, null);
|
1288
|
+
case 'thead':
|
1289
|
+
case 'tbody':
|
1290
|
+
case 'tfoot':
|
1291
|
+
return createFormatContext(HTML_TABLE_BODY_MODE, null);
|
1292
|
+
case 'colgroup':
|
1293
|
+
return createFormatContext(HTML_COLGROUP_MODE, null);
|
1294
|
+
case 'tr':
|
1295
|
+
return createFormatContext(HTML_TABLE_ROW_MODE, null);
|
1296
|
+
}
|
1297
|
+
if (parentContext.insertionMode >= HTML_TABLE_MODE) {
|
1298
|
+
return createFormatContext(HTML_MODE, null);
|
1299
|
+
}
|
1300
|
+
if (parentContext.insertionMode === ROOT_HTML_MODE) {
|
1301
|
+
return createFormatContext(HTML_MODE, null);
|
1302
|
+
}
|
1303
|
+
return parentContext;
|
1304
|
+
}
|
1305
|
+
var UNINITIALIZED_SUSPENSE_BOUNDARY_ID = null;
|
1306
|
+
function assignSuspenseBoundaryID(responseState) {
|
1307
|
+
var generatedID = responseState.nextSuspenseID++;
|
1308
|
+
return stringToPrecomputedChunk(responseState.boundaryPrefix + generatedID.toString(16));
|
1309
|
+
}
|
1310
|
+
function makeId(responseState, treeId, localId) {
|
1311
|
+
var idPrefix = responseState.idPrefix;
|
1312
|
+
var id = ':' + idPrefix + 'R' + treeId;
|
1313
|
+
if (localId > 0) {
|
1314
|
+
id += 'H' + localId.toString(32);
|
1315
|
+
}
|
1316
|
+
return id + ':';
|
1317
|
+
}
|
1318
|
+
function encodeHTMLTextNode(text) {
|
1319
|
+
return escapeTextForBrowser(text);
|
1320
|
+
}
|
1321
|
+
var textSeparator = stringToPrecomputedChunk('<!-- -->');
|
1322
|
+
function pushTextInstance(target, text, responseState) {
|
1323
|
+
if (text === '') {
|
1324
|
+
return;
|
1325
|
+
}
|
1326
|
+
target.push(stringToChunk(encodeHTMLTextNode(text)), textSeparator);
|
1327
|
+
}
|
1328
|
+
var styleNameCache = new Map();
|
1329
|
+
function processStyleName(styleName) {
|
1330
|
+
var chunk = styleNameCache.get(styleName);
|
1331
|
+
if (chunk !== undefined) {
|
1332
|
+
return chunk;
|
1333
|
+
}
|
1334
|
+
var result = stringToPrecomputedChunk(escapeTextForBrowser(hyphenateStyleName(styleName)));
|
1335
|
+
styleNameCache.set(styleName, result);
|
1336
|
+
return result;
|
1337
|
+
}
|
1338
|
+
var styleAttributeStart = stringToPrecomputedChunk(' style="');
|
1339
|
+
var styleAssign = stringToPrecomputedChunk(':');
|
1340
|
+
var styleSeparator = stringToPrecomputedChunk(';');
|
1341
|
+
function pushStyle(target, responseState, style) {
|
1342
|
+
if (typeof style !== 'object') {
|
1343
|
+
throw new Error('The `style` prop expects a mapping from style properties to values, ' + "not a string. For example, style={{marginRight: spacing + 'em'}} when " + 'using JSX.');
|
1344
|
+
}
|
1345
|
+
var isFirst = true;
|
1346
|
+
for (var styleName in style) {
|
1347
|
+
if (!hasOwnProperty.call(style, styleName)) {
|
1348
|
+
continue;
|
1349
|
+
}
|
1350
|
+
var styleValue = style[styleName];
|
1351
|
+
if (styleValue == null || typeof styleValue === 'boolean' || styleValue === '') {
|
1352
|
+
continue;
|
1353
|
+
}
|
1354
|
+
var nameChunk = void 0;
|
1355
|
+
var valueChunk = void 0;
|
1356
|
+
var isCustomProperty = styleName.indexOf('--') === 0;
|
1357
|
+
if (isCustomProperty) {
|
1358
|
+
nameChunk = stringToChunk(escapeTextForBrowser(styleName));
|
1359
|
+
{
|
1360
|
+
checkCSSPropertyStringCoercion(styleValue, styleName);
|
1361
|
+
}
|
1362
|
+
valueChunk = stringToChunk(escapeTextForBrowser(('' + styleValue).trim()));
|
1363
|
+
} else {
|
1364
|
+
{
|
1365
|
+
warnValidStyle$1(styleName, styleValue);
|
1366
|
+
}
|
1367
|
+
nameChunk = processStyleName(styleName);
|
1368
|
+
if (typeof styleValue === 'number') {
|
1369
|
+
if (styleValue !== 0 && !hasOwnProperty.call(isUnitlessNumber, styleName)) {
|
1370
|
+
valueChunk = stringToChunk(styleValue + 'px');
|
1371
|
+
} else {
|
1372
|
+
valueChunk = stringToChunk('' + styleValue);
|
1373
|
+
}
|
1374
|
+
} else {
|
1375
|
+
{
|
1376
|
+
checkCSSPropertyStringCoercion(styleValue, styleName);
|
1377
|
+
}
|
1378
|
+
valueChunk = stringToChunk(escapeTextForBrowser(('' + styleValue).trim()));
|
1379
|
+
}
|
1380
|
+
}
|
1381
|
+
if (isFirst) {
|
1382
|
+
isFirst = false;
|
1383
|
+
target.push(styleAttributeStart, nameChunk, styleAssign, valueChunk);
|
1384
|
+
} else {
|
1385
|
+
target.push(styleSeparator, nameChunk, styleAssign, valueChunk);
|
1386
|
+
}
|
1387
|
+
}
|
1388
|
+
if (!isFirst) {
|
1389
|
+
target.push(attributeEnd);
|
1390
|
+
}
|
1391
|
+
}
|
1392
|
+
var attributeSeparator = stringToPrecomputedChunk(' ');
|
1393
|
+
var attributeAssign = stringToPrecomputedChunk('="');
|
1394
|
+
var attributeEnd = stringToPrecomputedChunk('"');
|
1395
|
+
var attributeEmptyString = stringToPrecomputedChunk('=""');
|
1396
|
+
function pushAttribute(target, responseState, name, value) {
|
1397
|
+
switch (name) {
|
1398
|
+
case 'style':
|
1399
|
+
{
|
1400
|
+
pushStyle(target, responseState, value);
|
1401
|
+
return;
|
1402
|
+
}
|
1403
|
+
case 'defaultValue':
|
1404
|
+
case 'defaultChecked':
|
1405
|
+
case 'innerHTML':
|
1406
|
+
case 'suppressContentEditableWarning':
|
1407
|
+
case 'suppressHydrationWarning':
|
1408
|
+
return;
|
1409
|
+
}
|
1410
|
+
if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
|
1411
|
+
return;
|
1412
|
+
}
|
1413
|
+
var propertyInfo = getPropertyInfo(name);
|
1414
|
+
if (propertyInfo !== null) {
|
1415
|
+
switch (typeof value) {
|
1416
|
+
case 'function':
|
1417
|
+
case 'symbol':
|
1418
|
+
return;
|
1419
|
+
case 'boolean':
|
1420
|
+
{
|
1421
|
+
if (!propertyInfo.acceptsBooleans) {
|
1422
|
+
return;
|
1423
|
+
}
|
1424
|
+
}
|
1425
|
+
}
|
1426
|
+
var attributeName = propertyInfo.attributeName;
|
1427
|
+
var attributeNameChunk = stringToChunk(attributeName);
|
1428
|
+
switch (propertyInfo.type) {
|
1429
|
+
case BOOLEAN:
|
1430
|
+
if (value) {
|
1431
|
+
target.push(attributeSeparator, attributeNameChunk, attributeEmptyString);
|
1432
|
+
}
|
1433
|
+
return;
|
1434
|
+
case OVERLOADED_BOOLEAN:
|
1435
|
+
if (value === true) {
|
1436
|
+
target.push(attributeSeparator, attributeNameChunk, attributeEmptyString);
|
1437
|
+
} else if (value === false)
|
1438
|
+
;
|
1439
|
+
else {
|
1440
|
+
target.push(attributeSeparator, attributeNameChunk, attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
1441
|
+
}
|
1442
|
+
return;
|
1443
|
+
case NUMERIC:
|
1444
|
+
if (!isNaN(value)) {
|
1445
|
+
target.push(attributeSeparator, attributeNameChunk, attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
1446
|
+
}
|
1447
|
+
break;
|
1448
|
+
case POSITIVE_NUMERIC:
|
1449
|
+
if (!isNaN(value) && value >= 1) {
|
1450
|
+
target.push(attributeSeparator, attributeNameChunk, attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
1451
|
+
}
|
1452
|
+
break;
|
1453
|
+
default:
|
1454
|
+
if (propertyInfo.sanitizeURL) {
|
1455
|
+
{
|
1456
|
+
checkAttributeStringCoercion(value, attributeName);
|
1457
|
+
}
|
1458
|
+
value = '' + value;
|
1459
|
+
sanitizeURL(value);
|
1460
|
+
}
|
1461
|
+
target.push(attributeSeparator, attributeNameChunk, attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
1462
|
+
}
|
1463
|
+
} else if (isAttributeNameSafe(name)) {
|
1464
|
+
switch (typeof value) {
|
1465
|
+
case 'function':
|
1466
|
+
case 'symbol':
|
1467
|
+
return;
|
1468
|
+
case 'boolean':
|
1469
|
+
{
|
1470
|
+
var prefix = name.toLowerCase().slice(0, 5);
|
1471
|
+
if (prefix !== 'data-' && prefix !== 'aria-') {
|
1472
|
+
return;
|
1473
|
+
}
|
1474
|
+
}
|
1475
|
+
}
|
1476
|
+
target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
1477
|
+
}
|
1478
|
+
}
|
1479
|
+
var endOfStartTag = stringToPrecomputedChunk('>');
|
1480
|
+
var endOfStartTagSelfClosing = stringToPrecomputedChunk('/>');
|
1481
|
+
function pushInnerHTML(target, innerHTML, children) {
|
1482
|
+
if (innerHTML != null) {
|
1483
|
+
if (children != null) {
|
1484
|
+
throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');
|
1485
|
+
}
|
1486
|
+
if (typeof innerHTML !== 'object' || !('__html' in innerHTML)) {
|
1487
|
+
throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');
|
1488
|
+
}
|
1489
|
+
var html = innerHTML.__html;
|
1490
|
+
if (html !== null && html !== undefined) {
|
1491
|
+
{
|
1492
|
+
checkHtmlStringCoercion(html);
|
1493
|
+
}
|
1494
|
+
target.push(stringToChunk('' + html));
|
1495
|
+
}
|
1496
|
+
}
|
1497
|
+
}
|
1498
|
+
var didWarnDefaultInputValue = false;
|
1499
|
+
var didWarnDefaultChecked = false;
|
1500
|
+
var didWarnDefaultSelectValue = false;
|
1501
|
+
var didWarnDefaultTextareaValue = false;
|
1502
|
+
var didWarnInvalidOptionChildren = false;
|
1503
|
+
var didWarnInvalidOptionInnerHTML = false;
|
1504
|
+
var didWarnSelectedSetOnOption = false;
|
1505
|
+
function checkSelectProp(props, propName) {
|
1506
|
+
{
|
1507
|
+
var value = props[propName];
|
1508
|
+
if (value != null) {
|
1509
|
+
var array = isArray(value);
|
1510
|
+
if (props.multiple && !array) {
|
1511
|
+
error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.', propName);
|
1512
|
+
} else if (!props.multiple && array) {
|
1513
|
+
error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.', propName);
|
1514
|
+
}
|
1515
|
+
}
|
1516
|
+
}
|
1517
|
+
}
|
1518
|
+
function pushStartSelect(target, props, responseState) {
|
1519
|
+
{
|
1520
|
+
checkControlledValueProps('select', props);
|
1521
|
+
checkSelectProp(props, 'value');
|
1522
|
+
checkSelectProp(props, 'defaultValue');
|
1523
|
+
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultSelectValue) {
|
1524
|
+
error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');
|
1525
|
+
didWarnDefaultSelectValue = true;
|
1526
|
+
}
|
1527
|
+
}
|
1528
|
+
target.push(startChunkForTag('select'));
|
1529
|
+
var children = null;
|
1530
|
+
var innerHTML = null;
|
1531
|
+
for (var propKey in props) {
|
1532
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1533
|
+
var propValue = props[propKey];
|
1534
|
+
if (propValue == null) {
|
1535
|
+
continue;
|
1536
|
+
}
|
1537
|
+
switch (propKey) {
|
1538
|
+
case 'children':
|
1539
|
+
children = propValue;
|
1540
|
+
break;
|
1541
|
+
case 'dangerouslySetInnerHTML':
|
1542
|
+
innerHTML = propValue;
|
1543
|
+
break;
|
1544
|
+
case 'defaultValue':
|
1545
|
+
case 'value':
|
1546
|
+
break;
|
1547
|
+
default:
|
1548
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1549
|
+
break;
|
1550
|
+
}
|
1551
|
+
}
|
1552
|
+
}
|
1553
|
+
target.push(endOfStartTag);
|
1554
|
+
pushInnerHTML(target, innerHTML, children);
|
1555
|
+
return children;
|
1556
|
+
}
|
1557
|
+
function flattenOptionChildren(children) {
|
1558
|
+
var content = '';
|
1559
|
+
React.Children.forEach(children, function(child) {
|
1560
|
+
if (child == null) {
|
1561
|
+
return;
|
1562
|
+
}
|
1563
|
+
content += child;
|
1564
|
+
{
|
1565
|
+
if (!didWarnInvalidOptionChildren && typeof child !== 'string' && typeof child !== 'number') {
|
1566
|
+
didWarnInvalidOptionChildren = true;
|
1567
|
+
error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');
|
1568
|
+
}
|
1569
|
+
}
|
1570
|
+
});
|
1571
|
+
return content;
|
1572
|
+
}
|
1573
|
+
var selectedMarkerAttribute = stringToPrecomputedChunk(' selected=""');
|
1574
|
+
function pushStartOption(target, props, responseState, formatContext) {
|
1575
|
+
var selectedValue = formatContext.selectedValue;
|
1576
|
+
target.push(startChunkForTag('option'));
|
1577
|
+
var children = null;
|
1578
|
+
var value = null;
|
1579
|
+
var selected = null;
|
1580
|
+
var innerHTML = null;
|
1581
|
+
for (var propKey in props) {
|
1582
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1583
|
+
var propValue = props[propKey];
|
1584
|
+
if (propValue == null) {
|
1585
|
+
continue;
|
1586
|
+
}
|
1587
|
+
switch (propKey) {
|
1588
|
+
case 'children':
|
1589
|
+
children = propValue;
|
1590
|
+
break;
|
1591
|
+
case 'selected':
|
1592
|
+
selected = propValue;
|
1593
|
+
{
|
1594
|
+
if (!didWarnSelectedSetOnOption) {
|
1595
|
+
error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');
|
1596
|
+
didWarnSelectedSetOnOption = true;
|
1597
|
+
}
|
1598
|
+
}
|
1599
|
+
break;
|
1600
|
+
case 'dangerouslySetInnerHTML':
|
1601
|
+
innerHTML = propValue;
|
1602
|
+
break;
|
1603
|
+
case 'value':
|
1604
|
+
value = propValue;
|
1605
|
+
default:
|
1606
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1607
|
+
break;
|
1608
|
+
}
|
1609
|
+
}
|
1610
|
+
}
|
1611
|
+
if (selectedValue != null) {
|
1612
|
+
var stringValue;
|
1613
|
+
if (value !== null) {
|
1614
|
+
{
|
1615
|
+
checkAttributeStringCoercion(value, 'value');
|
1616
|
+
}
|
1617
|
+
stringValue = '' + value;
|
1618
|
+
} else {
|
1619
|
+
{
|
1620
|
+
if (innerHTML !== null) {
|
1621
|
+
if (!didWarnInvalidOptionInnerHTML) {
|
1622
|
+
didWarnInvalidOptionInnerHTML = true;
|
1623
|
+
error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');
|
1624
|
+
}
|
1625
|
+
}
|
1626
|
+
}
|
1627
|
+
stringValue = flattenOptionChildren(children);
|
1628
|
+
}
|
1629
|
+
if (isArray(selectedValue)) {
|
1630
|
+
for (var i = 0; i < selectedValue.length; i++) {
|
1631
|
+
{
|
1632
|
+
checkAttributeStringCoercion(selectedValue[i], 'value');
|
1633
|
+
}
|
1634
|
+
var v = '' + selectedValue[i];
|
1635
|
+
if (v === stringValue) {
|
1636
|
+
target.push(selectedMarkerAttribute);
|
1637
|
+
break;
|
1638
|
+
}
|
1639
|
+
}
|
1640
|
+
} else {
|
1641
|
+
{
|
1642
|
+
checkAttributeStringCoercion(selectedValue, 'select.value');
|
1643
|
+
}
|
1644
|
+
if ('' + selectedValue === stringValue) {
|
1645
|
+
target.push(selectedMarkerAttribute);
|
1646
|
+
}
|
1647
|
+
}
|
1648
|
+
} else if (selected) {
|
1649
|
+
target.push(selectedMarkerAttribute);
|
1650
|
+
}
|
1651
|
+
target.push(endOfStartTag);
|
1652
|
+
pushInnerHTML(target, innerHTML, children);
|
1653
|
+
return children;
|
1654
|
+
}
|
1655
|
+
function pushInput(target, props, responseState) {
|
1656
|
+
{
|
1657
|
+
checkControlledValueProps('input', props);
|
1658
|
+
if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnDefaultChecked) {
|
1659
|
+
error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', 'A component', props.type);
|
1660
|
+
didWarnDefaultChecked = true;
|
1661
|
+
}
|
1662
|
+
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultInputValue) {
|
1663
|
+
error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', 'A component', props.type);
|
1664
|
+
didWarnDefaultInputValue = true;
|
1665
|
+
}
|
1666
|
+
}
|
1667
|
+
target.push(startChunkForTag('input'));
|
1668
|
+
var value = null;
|
1669
|
+
var defaultValue = null;
|
1670
|
+
var checked = null;
|
1671
|
+
var defaultChecked = null;
|
1672
|
+
for (var propKey in props) {
|
1673
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1674
|
+
var propValue = props[propKey];
|
1675
|
+
if (propValue == null) {
|
1676
|
+
continue;
|
1677
|
+
}
|
1678
|
+
switch (propKey) {
|
1679
|
+
case 'children':
|
1680
|
+
case 'dangerouslySetInnerHTML':
|
1681
|
+
throw new Error('input' + " is a self-closing tag and must neither have `children` nor " + 'use `dangerouslySetInnerHTML`.');
|
1682
|
+
case 'defaultChecked':
|
1683
|
+
defaultChecked = propValue;
|
1684
|
+
break;
|
1685
|
+
case 'defaultValue':
|
1686
|
+
defaultValue = propValue;
|
1687
|
+
break;
|
1688
|
+
case 'checked':
|
1689
|
+
checked = propValue;
|
1690
|
+
break;
|
1691
|
+
case 'value':
|
1692
|
+
value = propValue;
|
1693
|
+
break;
|
1694
|
+
default:
|
1695
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1696
|
+
break;
|
1697
|
+
}
|
1698
|
+
}
|
1699
|
+
}
|
1700
|
+
if (checked !== null) {
|
1701
|
+
pushAttribute(target, responseState, 'checked', checked);
|
1702
|
+
} else if (defaultChecked !== null) {
|
1703
|
+
pushAttribute(target, responseState, 'checked', defaultChecked);
|
1704
|
+
}
|
1705
|
+
if (value !== null) {
|
1706
|
+
pushAttribute(target, responseState, 'value', value);
|
1707
|
+
} else if (defaultValue !== null) {
|
1708
|
+
pushAttribute(target, responseState, 'value', defaultValue);
|
1709
|
+
}
|
1710
|
+
target.push(endOfStartTagSelfClosing);
|
1711
|
+
return null;
|
1712
|
+
}
|
1713
|
+
function pushStartTextArea(target, props, responseState) {
|
1714
|
+
{
|
1715
|
+
checkControlledValueProps('textarea', props);
|
1716
|
+
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultTextareaValue) {
|
1717
|
+
error('Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');
|
1718
|
+
didWarnDefaultTextareaValue = true;
|
1719
|
+
}
|
1720
|
+
}
|
1721
|
+
target.push(startChunkForTag('textarea'));
|
1722
|
+
var value = null;
|
1723
|
+
var defaultValue = null;
|
1724
|
+
var children = null;
|
1725
|
+
for (var propKey in props) {
|
1726
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1727
|
+
var propValue = props[propKey];
|
1728
|
+
if (propValue == null) {
|
1729
|
+
continue;
|
1730
|
+
}
|
1731
|
+
switch (propKey) {
|
1732
|
+
case 'children':
|
1733
|
+
children = propValue;
|
1734
|
+
break;
|
1735
|
+
case 'value':
|
1736
|
+
value = propValue;
|
1737
|
+
break;
|
1738
|
+
case 'defaultValue':
|
1739
|
+
defaultValue = propValue;
|
1740
|
+
break;
|
1741
|
+
case 'dangerouslySetInnerHTML':
|
1742
|
+
throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');
|
1743
|
+
default:
|
1744
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1745
|
+
break;
|
1746
|
+
}
|
1747
|
+
}
|
1748
|
+
}
|
1749
|
+
if (value === null && defaultValue !== null) {
|
1750
|
+
value = defaultValue;
|
1751
|
+
}
|
1752
|
+
target.push(endOfStartTag);
|
1753
|
+
if (children != null) {
|
1754
|
+
{
|
1755
|
+
error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');
|
1756
|
+
}
|
1757
|
+
if (value != null) {
|
1758
|
+
throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');
|
1759
|
+
}
|
1760
|
+
if (isArray(children)) {
|
1761
|
+
if (children.length > 1) {
|
1762
|
+
throw new Error('<textarea> can only have at most one child.');
|
1763
|
+
}
|
1764
|
+
{
|
1765
|
+
checkHtmlStringCoercion(children[0]);
|
1766
|
+
}
|
1767
|
+
value = '' + children[0];
|
1768
|
+
}
|
1769
|
+
{
|
1770
|
+
checkHtmlStringCoercion(children);
|
1771
|
+
}
|
1772
|
+
value = '' + children;
|
1773
|
+
}
|
1774
|
+
if (typeof value === 'string' && value[0] === '\n') {
|
1775
|
+
target.push(leadingNewline);
|
1776
|
+
}
|
1777
|
+
if (value !== null) {
|
1778
|
+
{
|
1779
|
+
checkAttributeStringCoercion(value, 'value');
|
1780
|
+
}
|
1781
|
+
target.push(stringToChunk(encodeHTMLTextNode('' + value)));
|
1782
|
+
}
|
1783
|
+
return null;
|
1784
|
+
}
|
1785
|
+
function pushSelfClosing(target, props, tag, responseState) {
|
1786
|
+
target.push(startChunkForTag(tag));
|
1787
|
+
for (var propKey in props) {
|
1788
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1789
|
+
var propValue = props[propKey];
|
1790
|
+
if (propValue == null) {
|
1791
|
+
continue;
|
1792
|
+
}
|
1793
|
+
switch (propKey) {
|
1794
|
+
case 'children':
|
1795
|
+
case 'dangerouslySetInnerHTML':
|
1796
|
+
throw new Error(tag + " is a self-closing tag and must neither have `children` nor " + 'use `dangerouslySetInnerHTML`.');
|
1797
|
+
default:
|
1798
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1799
|
+
break;
|
1800
|
+
}
|
1801
|
+
}
|
1802
|
+
}
|
1803
|
+
target.push(endOfStartTagSelfClosing);
|
1804
|
+
return null;
|
1805
|
+
}
|
1806
|
+
function pushStartMenuItem(target, props, responseState) {
|
1807
|
+
target.push(startChunkForTag('menuitem'));
|
1808
|
+
for (var propKey in props) {
|
1809
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1810
|
+
var propValue = props[propKey];
|
1811
|
+
if (propValue == null) {
|
1812
|
+
continue;
|
1813
|
+
}
|
1814
|
+
switch (propKey) {
|
1815
|
+
case 'children':
|
1816
|
+
case 'dangerouslySetInnerHTML':
|
1817
|
+
throw new Error('menuitems cannot have `children` nor `dangerouslySetInnerHTML`.');
|
1818
|
+
default:
|
1819
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1820
|
+
break;
|
1821
|
+
}
|
1822
|
+
}
|
1823
|
+
}
|
1824
|
+
target.push(endOfStartTag);
|
1825
|
+
return null;
|
1826
|
+
}
|
1827
|
+
function pushStartGenericElement(target, props, tag, responseState) {
|
1828
|
+
target.push(startChunkForTag(tag));
|
1829
|
+
var children = null;
|
1830
|
+
var innerHTML = null;
|
1831
|
+
for (var propKey in props) {
|
1832
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1833
|
+
var propValue = props[propKey];
|
1834
|
+
if (propValue == null) {
|
1835
|
+
continue;
|
1836
|
+
}
|
1837
|
+
switch (propKey) {
|
1838
|
+
case 'children':
|
1839
|
+
children = propValue;
|
1840
|
+
break;
|
1841
|
+
case 'dangerouslySetInnerHTML':
|
1842
|
+
innerHTML = propValue;
|
1843
|
+
break;
|
1844
|
+
default:
|
1845
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1846
|
+
break;
|
1847
|
+
}
|
1848
|
+
}
|
1849
|
+
}
|
1850
|
+
target.push(endOfStartTag);
|
1851
|
+
pushInnerHTML(target, innerHTML, children);
|
1852
|
+
if (typeof children === 'string') {
|
1853
|
+
target.push(stringToChunk(encodeHTMLTextNode(children)));
|
1854
|
+
return null;
|
1855
|
+
}
|
1856
|
+
return children;
|
1857
|
+
}
|
1858
|
+
function pushStartCustomElement(target, props, tag, responseState) {
|
1859
|
+
target.push(startChunkForTag(tag));
|
1860
|
+
var children = null;
|
1861
|
+
var innerHTML = null;
|
1862
|
+
for (var propKey in props) {
|
1863
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1864
|
+
var propValue = props[propKey];
|
1865
|
+
if (propValue == null) {
|
1866
|
+
continue;
|
1867
|
+
}
|
1868
|
+
switch (propKey) {
|
1869
|
+
case 'children':
|
1870
|
+
children = propValue;
|
1871
|
+
break;
|
1872
|
+
case 'dangerouslySetInnerHTML':
|
1873
|
+
innerHTML = propValue;
|
1874
|
+
break;
|
1875
|
+
case 'style':
|
1876
|
+
pushStyle(target, responseState, propValue);
|
1877
|
+
break;
|
1878
|
+
case 'suppressContentEditableWarning':
|
1879
|
+
case 'suppressHydrationWarning':
|
1880
|
+
break;
|
1881
|
+
default:
|
1882
|
+
if (isAttributeNameSafe(propKey) && typeof propValue !== 'function' && typeof propValue !== 'symbol') {
|
1883
|
+
target.push(attributeSeparator, stringToChunk(propKey), attributeAssign, stringToChunk(escapeTextForBrowser(propValue)), attributeEnd);
|
1884
|
+
}
|
1885
|
+
break;
|
1886
|
+
}
|
1887
|
+
}
|
1888
|
+
}
|
1889
|
+
target.push(endOfStartTag);
|
1890
|
+
pushInnerHTML(target, innerHTML, children);
|
1891
|
+
return children;
|
1892
|
+
}
|
1893
|
+
var leadingNewline = stringToPrecomputedChunk('\n');
|
1894
|
+
function pushStartPreformattedElement(target, props, tag, responseState) {
|
1895
|
+
target.push(startChunkForTag(tag));
|
1896
|
+
var children = null;
|
1897
|
+
var innerHTML = null;
|
1898
|
+
for (var propKey in props) {
|
1899
|
+
if (hasOwnProperty.call(props, propKey)) {
|
1900
|
+
var propValue = props[propKey];
|
1901
|
+
if (propValue == null) {
|
1902
|
+
continue;
|
1903
|
+
}
|
1904
|
+
switch (propKey) {
|
1905
|
+
case 'children':
|
1906
|
+
children = propValue;
|
1907
|
+
break;
|
1908
|
+
case 'dangerouslySetInnerHTML':
|
1909
|
+
innerHTML = propValue;
|
1910
|
+
break;
|
1911
|
+
default:
|
1912
|
+
pushAttribute(target, responseState, propKey, propValue);
|
1913
|
+
break;
|
1914
|
+
}
|
1915
|
+
}
|
1916
|
+
}
|
1917
|
+
target.push(endOfStartTag);
|
1918
|
+
if (innerHTML != null) {
|
1919
|
+
if (children != null) {
|
1920
|
+
throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');
|
1921
|
+
}
|
1922
|
+
if (typeof innerHTML !== 'object' || !('__html' in innerHTML)) {
|
1923
|
+
throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');
|
1924
|
+
}
|
1925
|
+
var html = innerHTML.__html;
|
1926
|
+
if (html !== null && html !== undefined) {
|
1927
|
+
if (typeof html === 'string' && html.length > 0 && html[0] === '\n') {
|
1928
|
+
target.push(leadingNewline, stringToChunk(html));
|
1929
|
+
} else {
|
1930
|
+
{
|
1931
|
+
checkHtmlStringCoercion(html);
|
1932
|
+
}
|
1933
|
+
target.push(stringToChunk('' + html));
|
1934
|
+
}
|
1935
|
+
}
|
1936
|
+
}
|
1937
|
+
if (typeof children === 'string' && children[0] === '\n') {
|
1938
|
+
target.push(leadingNewline);
|
1939
|
+
}
|
1940
|
+
return children;
|
1941
|
+
}
|
1942
|
+
var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/;
|
1943
|
+
var validatedTagCache = new Map();
|
1944
|
+
function startChunkForTag(tag) {
|
1945
|
+
var tagStartChunk = validatedTagCache.get(tag);
|
1946
|
+
if (tagStartChunk === undefined) {
|
1947
|
+
if (!VALID_TAG_REGEX.test(tag)) {
|
1948
|
+
throw new Error("Invalid tag: " + tag);
|
1949
|
+
}
|
1950
|
+
tagStartChunk = stringToPrecomputedChunk('<' + tag);
|
1951
|
+
validatedTagCache.set(tag, tagStartChunk);
|
1952
|
+
}
|
1953
|
+
return tagStartChunk;
|
1954
|
+
}
|
1955
|
+
var DOCTYPE = stringToPrecomputedChunk('<!DOCTYPE html>');
|
1956
|
+
function pushStartInstance(target, type, props, responseState, formatContext) {
|
1957
|
+
{
|
1958
|
+
validateProperties(type, props);
|
1959
|
+
validateProperties$1(type, props);
|
1960
|
+
validateProperties$2(type, props, null);
|
1961
|
+
if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {
|
1962
|
+
error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');
|
1963
|
+
}
|
1964
|
+
if (formatContext.insertionMode !== SVG_MODE && formatContext.insertionMode !== MATHML_MODE) {
|
1965
|
+
if (type.indexOf('-') === -1 && typeof props.is !== 'string' && type.toLowerCase() !== type) {
|
1966
|
+
error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);
|
1967
|
+
}
|
1968
|
+
}
|
1969
|
+
}
|
1970
|
+
switch (type) {
|
1971
|
+
case 'select':
|
1972
|
+
return pushStartSelect(target, props, responseState);
|
1973
|
+
case 'option':
|
1974
|
+
return pushStartOption(target, props, responseState, formatContext);
|
1975
|
+
case 'textarea':
|
1976
|
+
return pushStartTextArea(target, props, responseState);
|
1977
|
+
case 'input':
|
1978
|
+
return pushInput(target, props, responseState);
|
1979
|
+
case 'menuitem':
|
1980
|
+
return pushStartMenuItem(target, props, responseState);
|
1981
|
+
case 'listing':
|
1982
|
+
case 'pre':
|
1983
|
+
{
|
1984
|
+
return pushStartPreformattedElement(target, props, type, responseState);
|
1985
|
+
}
|
1986
|
+
case 'area':
|
1987
|
+
case 'base':
|
1988
|
+
case 'br':
|
1989
|
+
case 'col':
|
1990
|
+
case 'embed':
|
1991
|
+
case 'hr':
|
1992
|
+
case 'img':
|
1993
|
+
case 'keygen':
|
1994
|
+
case 'link':
|
1995
|
+
case 'meta':
|
1996
|
+
case 'param':
|
1997
|
+
case 'source':
|
1998
|
+
case 'track':
|
1999
|
+
case 'wbr':
|
2000
|
+
{
|
2001
|
+
return pushSelfClosing(target, props, type, responseState);
|
2002
|
+
}
|
2003
|
+
case 'annotation-xml':
|
2004
|
+
case 'color-profile':
|
2005
|
+
case 'font-face':
|
2006
|
+
case 'font-face-src':
|
2007
|
+
case 'font-face-uri':
|
2008
|
+
case 'font-face-format':
|
2009
|
+
case 'font-face-name':
|
2010
|
+
case 'missing-glyph':
|
2011
|
+
{
|
2012
|
+
return pushStartGenericElement(target, props, type, responseState);
|
2013
|
+
}
|
2014
|
+
case 'html':
|
2015
|
+
{
|
2016
|
+
if (formatContext.insertionMode === ROOT_HTML_MODE) {
|
2017
|
+
target.push(DOCTYPE);
|
2018
|
+
}
|
2019
|
+
return pushStartGenericElement(target, props, type, responseState);
|
2020
|
+
}
|
2021
|
+
default:
|
2022
|
+
{
|
2023
|
+
if (type.indexOf('-') === -1 && typeof props.is !== 'string') {
|
2024
|
+
return pushStartGenericElement(target, props, type, responseState);
|
2025
|
+
} else {
|
2026
|
+
return pushStartCustomElement(target, props, type, responseState);
|
2027
|
+
}
|
2028
|
+
}
|
2029
|
+
}
|
2030
|
+
}
|
2031
|
+
var endTag1 = stringToPrecomputedChunk('</');
|
2032
|
+
var endTag2 = stringToPrecomputedChunk('>');
|
2033
|
+
function pushEndInstance(target, type, props) {
|
2034
|
+
switch (type) {
|
2035
|
+
case 'area':
|
2036
|
+
case 'base':
|
2037
|
+
case 'br':
|
2038
|
+
case 'col':
|
2039
|
+
case 'embed':
|
2040
|
+
case 'hr':
|
2041
|
+
case 'img':
|
2042
|
+
case 'input':
|
2043
|
+
case 'keygen':
|
2044
|
+
case 'link':
|
2045
|
+
case 'meta':
|
2046
|
+
case 'param':
|
2047
|
+
case 'source':
|
2048
|
+
case 'track':
|
2049
|
+
case 'wbr':
|
2050
|
+
{
|
2051
|
+
break;
|
2052
|
+
}
|
2053
|
+
default:
|
2054
|
+
{
|
2055
|
+
target.push(endTag1, stringToChunk(type), endTag2);
|
2056
|
+
}
|
2057
|
+
}
|
2058
|
+
}
|
2059
|
+
function writeCompletedRoot(destination, responseState) {
|
2060
|
+
var bootstrapChunks = responseState.bootstrapChunks;
|
2061
|
+
var i = 0;
|
2062
|
+
for (; i < bootstrapChunks.length - 1; i++) {
|
2063
|
+
writeChunk(destination, bootstrapChunks[i]);
|
2064
|
+
}
|
2065
|
+
if (i < bootstrapChunks.length) {
|
2066
|
+
return writeChunkAndReturn(destination, bootstrapChunks[i]);
|
2067
|
+
}
|
2068
|
+
return true;
|
2069
|
+
}
|
2070
|
+
var placeholder1 = stringToPrecomputedChunk('<template id="');
|
2071
|
+
var placeholder2 = stringToPrecomputedChunk('"></template>');
|
2072
|
+
function writePlaceholder(destination, responseState, id) {
|
2073
|
+
writeChunk(destination, placeholder1);
|
2074
|
+
writeChunk(destination, responseState.placeholderPrefix);
|
2075
|
+
var formattedID = stringToChunk(id.toString(16));
|
2076
|
+
writeChunk(destination, formattedID);
|
2077
|
+
return writeChunkAndReturn(destination, placeholder2);
|
2078
|
+
}
|
2079
|
+
var startCompletedSuspenseBoundary = stringToPrecomputedChunk('<!--$-->');
|
2080
|
+
var startPendingSuspenseBoundary1 = stringToPrecomputedChunk('<!--$?--><template id="');
|
2081
|
+
var startPendingSuspenseBoundary2 = stringToPrecomputedChunk('"></template>');
|
2082
|
+
var startClientRenderedSuspenseBoundary = stringToPrecomputedChunk('<!--$!-->');
|
2083
|
+
var endSuspenseBoundary = stringToPrecomputedChunk('<!--/$-->');
|
2084
|
+
function writeStartCompletedSuspenseBoundary(destination, responseState) {
|
2085
|
+
return writeChunkAndReturn(destination, startCompletedSuspenseBoundary);
|
2086
|
+
}
|
2087
|
+
function writeStartPendingSuspenseBoundary(destination, responseState, id) {
|
2088
|
+
writeChunk(destination, startPendingSuspenseBoundary1);
|
2089
|
+
if (id === null) {
|
2090
|
+
throw new Error('An ID must have been assigned before we can complete the boundary.');
|
2091
|
+
}
|
2092
|
+
writeChunk(destination, id);
|
2093
|
+
return writeChunkAndReturn(destination, startPendingSuspenseBoundary2);
|
2094
|
+
}
|
2095
|
+
function writeStartClientRenderedSuspenseBoundary(destination, responseState) {
|
2096
|
+
return writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);
|
2097
|
+
}
|
2098
|
+
function writeEndCompletedSuspenseBoundary(destination, responseState) {
|
2099
|
+
return writeChunkAndReturn(destination, endSuspenseBoundary);
|
2100
|
+
}
|
2101
|
+
function writeEndPendingSuspenseBoundary(destination, responseState) {
|
2102
|
+
return writeChunkAndReturn(destination, endSuspenseBoundary);
|
2103
|
+
}
|
2104
|
+
function writeEndClientRenderedSuspenseBoundary(destination, responseState) {
|
2105
|
+
return writeChunkAndReturn(destination, endSuspenseBoundary);
|
2106
|
+
}
|
2107
|
+
var startSegmentHTML = stringToPrecomputedChunk('<div hidden id="');
|
2108
|
+
var startSegmentHTML2 = stringToPrecomputedChunk('">');
|
2109
|
+
var endSegmentHTML = stringToPrecomputedChunk('</div>');
|
2110
|
+
var startSegmentSVG = stringToPrecomputedChunk('<svg aria-hidden="true" style="display:none" id="');
|
2111
|
+
var startSegmentSVG2 = stringToPrecomputedChunk('">');
|
2112
|
+
var endSegmentSVG = stringToPrecomputedChunk('</svg>');
|
2113
|
+
var startSegmentMathML = stringToPrecomputedChunk('<math aria-hidden="true" style="display:none" id="');
|
2114
|
+
var startSegmentMathML2 = stringToPrecomputedChunk('">');
|
2115
|
+
var endSegmentMathML = stringToPrecomputedChunk('</math>');
|
2116
|
+
var startSegmentTable = stringToPrecomputedChunk('<table hidden id="');
|
2117
|
+
var startSegmentTable2 = stringToPrecomputedChunk('">');
|
2118
|
+
var endSegmentTable = stringToPrecomputedChunk('</table>');
|
2119
|
+
var startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id="');
|
2120
|
+
var startSegmentTableBody2 = stringToPrecomputedChunk('">');
|
2121
|
+
var endSegmentTableBody = stringToPrecomputedChunk('</tbody></table>');
|
2122
|
+
var startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id="');
|
2123
|
+
var startSegmentTableRow2 = stringToPrecomputedChunk('">');
|
2124
|
+
var endSegmentTableRow = stringToPrecomputedChunk('</tr></table>');
|
2125
|
+
var startSegmentColGroup = stringToPrecomputedChunk('<table hidden><colgroup id="');
|
2126
|
+
var startSegmentColGroup2 = stringToPrecomputedChunk('">');
|
2127
|
+
var endSegmentColGroup = stringToPrecomputedChunk('</colgroup></table>');
|
2128
|
+
function writeStartSegment(destination, responseState, formatContext, id) {
|
2129
|
+
switch (formatContext.insertionMode) {
|
2130
|
+
case ROOT_HTML_MODE:
|
2131
|
+
case HTML_MODE:
|
2132
|
+
{
|
2133
|
+
writeChunk(destination, startSegmentHTML);
|
2134
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2135
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2136
|
+
return writeChunkAndReturn(destination, startSegmentHTML2);
|
2137
|
+
}
|
2138
|
+
case SVG_MODE:
|
2139
|
+
{
|
2140
|
+
writeChunk(destination, startSegmentSVG);
|
2141
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2142
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2143
|
+
return writeChunkAndReturn(destination, startSegmentSVG2);
|
2144
|
+
}
|
2145
|
+
case MATHML_MODE:
|
2146
|
+
{
|
2147
|
+
writeChunk(destination, startSegmentMathML);
|
2148
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2149
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2150
|
+
return writeChunkAndReturn(destination, startSegmentMathML2);
|
2151
|
+
}
|
2152
|
+
case HTML_TABLE_MODE:
|
2153
|
+
{
|
2154
|
+
writeChunk(destination, startSegmentTable);
|
2155
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2156
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2157
|
+
return writeChunkAndReturn(destination, startSegmentTable2);
|
2158
|
+
}
|
2159
|
+
case HTML_TABLE_BODY_MODE:
|
2160
|
+
{
|
2161
|
+
writeChunk(destination, startSegmentTableBody);
|
2162
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2163
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2164
|
+
return writeChunkAndReturn(destination, startSegmentTableBody2);
|
2165
|
+
}
|
2166
|
+
case HTML_TABLE_ROW_MODE:
|
2167
|
+
{
|
2168
|
+
writeChunk(destination, startSegmentTableRow);
|
2169
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2170
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2171
|
+
return writeChunkAndReturn(destination, startSegmentTableRow2);
|
2172
|
+
}
|
2173
|
+
case HTML_COLGROUP_MODE:
|
2174
|
+
{
|
2175
|
+
writeChunk(destination, startSegmentColGroup);
|
2176
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2177
|
+
writeChunk(destination, stringToChunk(id.toString(16)));
|
2178
|
+
return writeChunkAndReturn(destination, startSegmentColGroup2);
|
2179
|
+
}
|
2180
|
+
default:
|
2181
|
+
{
|
2182
|
+
throw new Error('Unknown insertion mode. This is a bug in React.');
|
2183
|
+
}
|
2184
|
+
}
|
2185
|
+
}
|
2186
|
+
function writeEndSegment(destination, formatContext) {
|
2187
|
+
switch (formatContext.insertionMode) {
|
2188
|
+
case ROOT_HTML_MODE:
|
2189
|
+
case HTML_MODE:
|
2190
|
+
{
|
2191
|
+
return writeChunkAndReturn(destination, endSegmentHTML);
|
2192
|
+
}
|
2193
|
+
case SVG_MODE:
|
2194
|
+
{
|
2195
|
+
return writeChunkAndReturn(destination, endSegmentSVG);
|
2196
|
+
}
|
2197
|
+
case MATHML_MODE:
|
2198
|
+
{
|
2199
|
+
return writeChunkAndReturn(destination, endSegmentMathML);
|
2200
|
+
}
|
2201
|
+
case HTML_TABLE_MODE:
|
2202
|
+
{
|
2203
|
+
return writeChunkAndReturn(destination, endSegmentTable);
|
2204
|
+
}
|
2205
|
+
case HTML_TABLE_BODY_MODE:
|
2206
|
+
{
|
2207
|
+
return writeChunkAndReturn(destination, endSegmentTableBody);
|
2208
|
+
}
|
2209
|
+
case HTML_TABLE_ROW_MODE:
|
2210
|
+
{
|
2211
|
+
return writeChunkAndReturn(destination, endSegmentTableRow);
|
2212
|
+
}
|
2213
|
+
case HTML_COLGROUP_MODE:
|
2214
|
+
{
|
2215
|
+
return writeChunkAndReturn(destination, endSegmentColGroup);
|
2216
|
+
}
|
2217
|
+
default:
|
2218
|
+
{
|
2219
|
+
throw new Error('Unknown insertion mode. This is a bug in React.');
|
2220
|
+
}
|
2221
|
+
}
|
2222
|
+
}
|
2223
|
+
var completeSegmentFunction = 'function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)}';
|
2224
|
+
var completeBoundaryFunction = 'function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}}';
|
2225
|
+
var clientRenderFunction = 'function $RX(a){if(a=document.getElementById(a))a=a.previousSibling,a.data="$!",a._reactRetry&&a._reactRetry()}';
|
2226
|
+
var completeSegmentScript1Full = stringToPrecomputedChunk(completeSegmentFunction + ';$RS("');
|
2227
|
+
var completeSegmentScript1Partial = stringToPrecomputedChunk('$RS("');
|
2228
|
+
var completeSegmentScript2 = stringToPrecomputedChunk('","');
|
2229
|
+
var completeSegmentScript3 = stringToPrecomputedChunk('")</script>');
|
2230
|
+
function writeCompletedSegmentInstruction(destination, responseState, contentSegmentID) {
|
2231
|
+
writeChunk(destination, responseState.startInlineScript);
|
2232
|
+
if (!responseState.sentCompleteSegmentFunction) {
|
2233
|
+
responseState.sentCompleteSegmentFunction = true;
|
2234
|
+
writeChunk(destination, completeSegmentScript1Full);
|
2235
|
+
} else {
|
2236
|
+
writeChunk(destination, completeSegmentScript1Partial);
|
2237
|
+
}
|
2238
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2239
|
+
var formattedID = stringToChunk(contentSegmentID.toString(16));
|
2240
|
+
writeChunk(destination, formattedID);
|
2241
|
+
writeChunk(destination, completeSegmentScript2);
|
2242
|
+
writeChunk(destination, responseState.placeholderPrefix);
|
2243
|
+
writeChunk(destination, formattedID);
|
2244
|
+
return writeChunkAndReturn(destination, completeSegmentScript3);
|
2245
|
+
}
|
2246
|
+
var completeBoundaryScript1Full = stringToPrecomputedChunk(completeBoundaryFunction + ';$RC("');
|
2247
|
+
var completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC("');
|
2248
|
+
var completeBoundaryScript2 = stringToPrecomputedChunk('","');
|
2249
|
+
var completeBoundaryScript3 = stringToPrecomputedChunk('")</script>');
|
2250
|
+
function writeCompletedBoundaryInstruction(destination, responseState, boundaryID, contentSegmentID) {
|
2251
|
+
writeChunk(destination, responseState.startInlineScript);
|
2252
|
+
if (!responseState.sentCompleteBoundaryFunction) {
|
2253
|
+
responseState.sentCompleteBoundaryFunction = true;
|
2254
|
+
writeChunk(destination, completeBoundaryScript1Full);
|
2255
|
+
} else {
|
2256
|
+
writeChunk(destination, completeBoundaryScript1Partial);
|
2257
|
+
}
|
2258
|
+
if (boundaryID === null) {
|
2259
|
+
throw new Error('An ID must have been assigned before we can complete the boundary.');
|
2260
|
+
}
|
2261
|
+
var formattedContentID = stringToChunk(contentSegmentID.toString(16));
|
2262
|
+
writeChunk(destination, boundaryID);
|
2263
|
+
writeChunk(destination, completeBoundaryScript2);
|
2264
|
+
writeChunk(destination, responseState.segmentPrefix);
|
2265
|
+
writeChunk(destination, formattedContentID);
|
2266
|
+
return writeChunkAndReturn(destination, completeBoundaryScript3);
|
2267
|
+
}
|
2268
|
+
var clientRenderScript1Full = stringToPrecomputedChunk(clientRenderFunction + ';$RX("');
|
2269
|
+
var clientRenderScript1Partial = stringToPrecomputedChunk('$RX("');
|
2270
|
+
var clientRenderScript2 = stringToPrecomputedChunk('")</script>');
|
2271
|
+
function writeClientRenderBoundaryInstruction(destination, responseState, boundaryID) {
|
2272
|
+
writeChunk(destination, responseState.startInlineScript);
|
2273
|
+
if (!responseState.sentClientRenderFunction) {
|
2274
|
+
responseState.sentClientRenderFunction = true;
|
2275
|
+
writeChunk(destination, clientRenderScript1Full);
|
2276
|
+
} else {
|
2277
|
+
writeChunk(destination, clientRenderScript1Partial);
|
2278
|
+
}
|
2279
|
+
if (boundaryID === null) {
|
2280
|
+
throw new Error('An ID must have been assigned before we can complete the boundary.');
|
2281
|
+
}
|
2282
|
+
writeChunk(destination, boundaryID);
|
2283
|
+
return writeChunkAndReturn(destination, clientRenderScript2);
|
2284
|
+
}
|
2285
|
+
var assign = Object.assign;
|
2286
|
+
var REACT_ELEMENT_TYPE = Symbol.for('react.element');
|
2287
|
+
var REACT_PORTAL_TYPE = Symbol.for('react.portal');
|
2288
|
+
var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
|
2289
|
+
var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
|
2290
|
+
var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
|
2291
|
+
var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
|
2292
|
+
var REACT_CONTEXT_TYPE = Symbol.for('react.context');
|
2293
|
+
var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
|
2294
|
+
var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
|
2295
|
+
var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
|
2296
|
+
var REACT_MEMO_TYPE = Symbol.for('react.memo');
|
2297
|
+
var REACT_LAZY_TYPE = Symbol.for('react.lazy');
|
2298
|
+
var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
2299
|
+
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
2300
|
+
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
2301
|
+
var REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED = Symbol.for('react.default_value');
|
2302
|
+
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
2303
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
2304
|
+
function getIteratorFn(maybeIterable) {
|
2305
|
+
if (maybeIterable === null || typeof maybeIterable !== 'object') {
|
2306
|
+
return null;
|
2307
|
+
}
|
2308
|
+
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
2309
|
+
if (typeof maybeIterator === 'function') {
|
2310
|
+
return maybeIterator;
|
2311
|
+
}
|
2312
|
+
return null;
|
2313
|
+
}
|
2314
|
+
function getWrappedName(outerType, innerType, wrapperName) {
|
2315
|
+
var displayName = outerType.displayName;
|
2316
|
+
if (displayName) {
|
2317
|
+
return displayName;
|
2318
|
+
}
|
2319
|
+
var functionName = innerType.displayName || innerType.name || '';
|
2320
|
+
return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName;
|
2321
|
+
}
|
2322
|
+
function getContextName(type) {
|
2323
|
+
return type.displayName || 'Context';
|
2324
|
+
}
|
2325
|
+
function getComponentNameFromType(type) {
|
2326
|
+
if (type == null) {
|
2327
|
+
return null;
|
2328
|
+
}
|
2329
|
+
{
|
2330
|
+
if (typeof type.tag === 'number') {
|
2331
|
+
error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');
|
2332
|
+
}
|
2333
|
+
}
|
2334
|
+
if (typeof type === 'function') {
|
2335
|
+
return type.displayName || type.name || null;
|
2336
|
+
}
|
2337
|
+
if (typeof type === 'string') {
|
2338
|
+
return type;
|
2339
|
+
}
|
2340
|
+
switch (type) {
|
2341
|
+
case REACT_FRAGMENT_TYPE:
|
2342
|
+
return 'Fragment';
|
2343
|
+
case REACT_PORTAL_TYPE:
|
2344
|
+
return 'Portal';
|
2345
|
+
case REACT_PROFILER_TYPE:
|
2346
|
+
return 'Profiler';
|
2347
|
+
case REACT_STRICT_MODE_TYPE:
|
2348
|
+
return 'StrictMode';
|
2349
|
+
case REACT_SUSPENSE_TYPE:
|
2350
|
+
return 'Suspense';
|
2351
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
2352
|
+
return 'SuspenseList';
|
2353
|
+
}
|
2354
|
+
if (typeof type === 'object') {
|
2355
|
+
switch (type.$$typeof) {
|
2356
|
+
case REACT_CONTEXT_TYPE:
|
2357
|
+
var context = type;
|
2358
|
+
return getContextName(context) + '.Consumer';
|
2359
|
+
case REACT_PROVIDER_TYPE:
|
2360
|
+
var provider = type;
|
2361
|
+
return getContextName(provider._context) + '.Provider';
|
2362
|
+
case REACT_FORWARD_REF_TYPE:
|
2363
|
+
return getWrappedName(type, type.render, 'ForwardRef');
|
2364
|
+
case REACT_MEMO_TYPE:
|
2365
|
+
var outerName = type.displayName || null;
|
2366
|
+
if (outerName !== null) {
|
2367
|
+
return outerName;
|
2368
|
+
}
|
2369
|
+
return getComponentNameFromType(type.type) || 'Memo';
|
2370
|
+
case REACT_LAZY_TYPE:
|
2371
|
+
{
|
2372
|
+
var lazyComponent = type;
|
2373
|
+
var payload = lazyComponent._payload;
|
2374
|
+
var init = lazyComponent._init;
|
2375
|
+
try {
|
2376
|
+
return getComponentNameFromType(init(payload));
|
2377
|
+
} catch (x) {
|
2378
|
+
return null;
|
2379
|
+
}
|
2380
|
+
}
|
2381
|
+
}
|
2382
|
+
}
|
2383
|
+
return null;
|
2384
|
+
}
|
2385
|
+
var disabledDepth = 0;
|
2386
|
+
var prevLog;
|
2387
|
+
var prevInfo;
|
2388
|
+
var prevWarn;
|
2389
|
+
var prevError;
|
2390
|
+
var prevGroup;
|
2391
|
+
var prevGroupCollapsed;
|
2392
|
+
var prevGroupEnd;
|
2393
|
+
function disabledLog() {}
|
2394
|
+
disabledLog.__reactDisabledLog = true;
|
2395
|
+
function disableLogs() {
|
2396
|
+
{
|
2397
|
+
if (disabledDepth === 0) {
|
2398
|
+
prevLog = console.log;
|
2399
|
+
prevInfo = console.info;
|
2400
|
+
prevWarn = console.warn;
|
2401
|
+
prevError = console.error;
|
2402
|
+
prevGroup = console.group;
|
2403
|
+
prevGroupCollapsed = console.groupCollapsed;
|
2404
|
+
prevGroupEnd = console.groupEnd;
|
2405
|
+
var props = {
|
2406
|
+
configurable: true,
|
2407
|
+
enumerable: true,
|
2408
|
+
value: disabledLog,
|
2409
|
+
writable: true
|
2410
|
+
};
|
2411
|
+
Object.defineProperties(console, {
|
2412
|
+
info: props,
|
2413
|
+
log: props,
|
2414
|
+
warn: props,
|
2415
|
+
error: props,
|
2416
|
+
group: props,
|
2417
|
+
groupCollapsed: props,
|
2418
|
+
groupEnd: props
|
2419
|
+
});
|
2420
|
+
}
|
2421
|
+
disabledDepth++;
|
2422
|
+
}
|
2423
|
+
}
|
2424
|
+
function reenableLogs() {
|
2425
|
+
{
|
2426
|
+
disabledDepth--;
|
2427
|
+
if (disabledDepth === 0) {
|
2428
|
+
var props = {
|
2429
|
+
configurable: true,
|
2430
|
+
enumerable: true,
|
2431
|
+
writable: true
|
2432
|
+
};
|
2433
|
+
Object.defineProperties(console, {
|
2434
|
+
log: assign({}, props, {value: prevLog}),
|
2435
|
+
info: assign({}, props, {value: prevInfo}),
|
2436
|
+
warn: assign({}, props, {value: prevWarn}),
|
2437
|
+
error: assign({}, props, {value: prevError}),
|
2438
|
+
group: assign({}, props, {value: prevGroup}),
|
2439
|
+
groupCollapsed: assign({}, props, {value: prevGroupCollapsed}),
|
2440
|
+
groupEnd: assign({}, props, {value: prevGroupEnd})
|
2441
|
+
});
|
2442
|
+
}
|
2443
|
+
if (disabledDepth < 0) {
|
2444
|
+
error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');
|
2445
|
+
}
|
2446
|
+
}
|
2447
|
+
}
|
2448
|
+
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
2449
|
+
var prefix;
|
2450
|
+
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
2451
|
+
{
|
2452
|
+
if (prefix === undefined) {
|
2453
|
+
try {
|
2454
|
+
throw Error();
|
2455
|
+
} catch (x) {
|
2456
|
+
var match = x.stack.trim().match(/\n( *(at )?)/);
|
2457
|
+
prefix = match && match[1] || '';
|
2458
|
+
}
|
2459
|
+
}
|
2460
|
+
return '\n' + prefix + name;
|
2461
|
+
}
|
2462
|
+
}
|
2463
|
+
var reentry = false;
|
2464
|
+
var componentFrameCache;
|
2465
|
+
{
|
2466
|
+
var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;
|
2467
|
+
componentFrameCache = new PossiblyWeakMap();
|
2468
|
+
}
|
2469
|
+
function describeNativeComponentFrame(fn, construct) {
|
2470
|
+
if (!fn || reentry) {
|
2471
|
+
return '';
|
2472
|
+
}
|
2473
|
+
{
|
2474
|
+
var frame = componentFrameCache.get(fn);
|
2475
|
+
if (frame !== undefined) {
|
2476
|
+
return frame;
|
2477
|
+
}
|
2478
|
+
}
|
2479
|
+
var control;
|
2480
|
+
reentry = true;
|
2481
|
+
var previousPrepareStackTrace = Error.prepareStackTrace;
|
2482
|
+
Error.prepareStackTrace = undefined;
|
2483
|
+
var previousDispatcher;
|
2484
|
+
{
|
2485
|
+
previousDispatcher = ReactCurrentDispatcher.current;
|
2486
|
+
ReactCurrentDispatcher.current = null;
|
2487
|
+
disableLogs();
|
2488
|
+
}
|
2489
|
+
try {
|
2490
|
+
if (construct) {
|
2491
|
+
var Fake = function() {
|
2492
|
+
throw Error();
|
2493
|
+
};
|
2494
|
+
Object.defineProperty(Fake.prototype, 'props', {set: function() {
|
2495
|
+
throw Error();
|
2496
|
+
}});
|
2497
|
+
if (typeof Reflect === 'object' && Reflect.construct) {
|
2498
|
+
try {
|
2499
|
+
Reflect.construct(Fake, []);
|
2500
|
+
} catch (x) {
|
2501
|
+
control = x;
|
2502
|
+
}
|
2503
|
+
Reflect.construct(fn, [], Fake);
|
2504
|
+
} else {
|
2505
|
+
try {
|
2506
|
+
Fake.call();
|
2507
|
+
} catch (x) {
|
2508
|
+
control = x;
|
2509
|
+
}
|
2510
|
+
fn.call(Fake.prototype);
|
2511
|
+
}
|
2512
|
+
} else {
|
2513
|
+
try {
|
2514
|
+
throw Error();
|
2515
|
+
} catch (x) {
|
2516
|
+
control = x;
|
2517
|
+
}
|
2518
|
+
fn();
|
2519
|
+
}
|
2520
|
+
} catch (sample) {
|
2521
|
+
if (sample && control && typeof sample.stack === 'string') {
|
2522
|
+
var sampleLines = sample.stack.split('\n');
|
2523
|
+
var controlLines = control.stack.split('\n');
|
2524
|
+
var s = sampleLines.length - 1;
|
2525
|
+
var c = controlLines.length - 1;
|
2526
|
+
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
2527
|
+
c--;
|
2528
|
+
}
|
2529
|
+
for (; s >= 1 && c >= 0; s--, c--) {
|
2530
|
+
if (sampleLines[s] !== controlLines[c]) {
|
2531
|
+
if (s !== 1 || c !== 1) {
|
2532
|
+
do {
|
2533
|
+
s--;
|
2534
|
+
c--;
|
2535
|
+
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
2536
|
+
var _frame = '\n' + sampleLines[s].replace(' at new ', ' at ');
|
2537
|
+
if (fn.displayName && _frame.includes('<anonymous>')) {
|
2538
|
+
_frame = _frame.replace('<anonymous>', fn.displayName);
|
2539
|
+
}
|
2540
|
+
{
|
2541
|
+
if (typeof fn === 'function') {
|
2542
|
+
componentFrameCache.set(fn, _frame);
|
2543
|
+
}
|
2544
|
+
}
|
2545
|
+
return _frame;
|
2546
|
+
}
|
2547
|
+
} while (s >= 1 && c >= 0);
|
2548
|
+
}
|
2549
|
+
break;
|
2550
|
+
}
|
2551
|
+
}
|
2552
|
+
}
|
2553
|
+
} finally {
|
2554
|
+
reentry = false;
|
2555
|
+
{
|
2556
|
+
ReactCurrentDispatcher.current = previousDispatcher;
|
2557
|
+
reenableLogs();
|
2558
|
+
}
|
2559
|
+
Error.prepareStackTrace = previousPrepareStackTrace;
|
2560
|
+
}
|
2561
|
+
var name = fn ? fn.displayName || fn.name : '';
|
2562
|
+
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';
|
2563
|
+
{
|
2564
|
+
if (typeof fn === 'function') {
|
2565
|
+
componentFrameCache.set(fn, syntheticFrame);
|
2566
|
+
}
|
2567
|
+
}
|
2568
|
+
return syntheticFrame;
|
2569
|
+
}
|
2570
|
+
function describeClassComponentFrame(ctor, source, ownerFn) {
|
2571
|
+
{
|
2572
|
+
return describeNativeComponentFrame(ctor, true);
|
2573
|
+
}
|
2574
|
+
}
|
2575
|
+
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
2576
|
+
{
|
2577
|
+
return describeNativeComponentFrame(fn, false);
|
2578
|
+
}
|
2579
|
+
}
|
2580
|
+
function shouldConstruct(Component) {
|
2581
|
+
var prototype = Component.prototype;
|
2582
|
+
return !!(prototype && prototype.isReactComponent);
|
2583
|
+
}
|
2584
|
+
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
2585
|
+
if (type == null) {
|
2586
|
+
return '';
|
2587
|
+
}
|
2588
|
+
if (typeof type === 'function') {
|
2589
|
+
{
|
2590
|
+
return describeNativeComponentFrame(type, shouldConstruct(type));
|
2591
|
+
}
|
2592
|
+
}
|
2593
|
+
if (typeof type === 'string') {
|
2594
|
+
return describeBuiltInComponentFrame(type);
|
2595
|
+
}
|
2596
|
+
switch (type) {
|
2597
|
+
case REACT_SUSPENSE_TYPE:
|
2598
|
+
return describeBuiltInComponentFrame('Suspense');
|
2599
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
2600
|
+
return describeBuiltInComponentFrame('SuspenseList');
|
2601
|
+
}
|
2602
|
+
if (typeof type === 'object') {
|
2603
|
+
switch (type.$$typeof) {
|
2604
|
+
case REACT_FORWARD_REF_TYPE:
|
2605
|
+
return describeFunctionComponentFrame(type.render);
|
2606
|
+
case REACT_MEMO_TYPE:
|
2607
|
+
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
2608
|
+
case REACT_LAZY_TYPE:
|
2609
|
+
{
|
2610
|
+
var lazyComponent = type;
|
2611
|
+
var payload = lazyComponent._payload;
|
2612
|
+
var init = lazyComponent._init;
|
2613
|
+
try {
|
2614
|
+
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
2615
|
+
} catch (x) {}
|
2616
|
+
}
|
2617
|
+
}
|
2618
|
+
}
|
2619
|
+
return '';
|
2620
|
+
}
|
2621
|
+
var loggedTypeFailures = {};
|
2622
|
+
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
2623
|
+
function setCurrentlyValidatingElement(element) {
|
2624
|
+
{
|
2625
|
+
if (element) {
|
2626
|
+
var owner = element._owner;
|
2627
|
+
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
2628
|
+
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
2629
|
+
} else {
|
2630
|
+
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
2631
|
+
}
|
2632
|
+
}
|
2633
|
+
}
|
2634
|
+
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
2635
|
+
{
|
2636
|
+
var has = Function.call.bind(hasOwnProperty);
|
2637
|
+
for (var typeSpecName in typeSpecs) {
|
2638
|
+
if (has(typeSpecs, typeSpecName)) {
|
2639
|
+
var error$1 = void 0;
|
2640
|
+
try {
|
2641
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
2642
|
+
var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');
|
2643
|
+
err.name = 'Invariant Violation';
|
2644
|
+
throw err;
|
2645
|
+
}
|
2646
|
+
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');
|
2647
|
+
} catch (ex) {
|
2648
|
+
error$1 = ex;
|
2649
|
+
}
|
2650
|
+
if (error$1 && !(error$1 instanceof Error)) {
|
2651
|
+
setCurrentlyValidatingElement(element);
|
2652
|
+
error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);
|
2653
|
+
setCurrentlyValidatingElement(null);
|
2654
|
+
}
|
2655
|
+
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
2656
|
+
loggedTypeFailures[error$1.message] = true;
|
2657
|
+
setCurrentlyValidatingElement(element);
|
2658
|
+
error('Failed %s type: %s', location, error$1.message);
|
2659
|
+
setCurrentlyValidatingElement(null);
|
2660
|
+
}
|
2661
|
+
}
|
2662
|
+
}
|
2663
|
+
}
|
2664
|
+
}
|
2665
|
+
var warnedAboutMissingGetChildContext;
|
2666
|
+
{
|
2667
|
+
warnedAboutMissingGetChildContext = {};
|
2668
|
+
}
|
2669
|
+
var emptyContextObject = {};
|
2670
|
+
{
|
2671
|
+
Object.freeze(emptyContextObject);
|
2672
|
+
}
|
2673
|
+
function getMaskedContext(type, unmaskedContext) {
|
2674
|
+
{
|
2675
|
+
var contextTypes = type.contextTypes;
|
2676
|
+
if (!contextTypes) {
|
2677
|
+
return emptyContextObject;
|
2678
|
+
}
|
2679
|
+
var context = {};
|
2680
|
+
for (var key in contextTypes) {
|
2681
|
+
context[key] = unmaskedContext[key];
|
2682
|
+
}
|
2683
|
+
{
|
2684
|
+
var name = getComponentNameFromType(type) || 'Unknown';
|
2685
|
+
checkPropTypes(contextTypes, context, 'context', name);
|
2686
|
+
}
|
2687
|
+
return context;
|
2688
|
+
}
|
2689
|
+
}
|
2690
|
+
function processChildContext(instance, type, parentContext, childContextTypes) {
|
2691
|
+
{
|
2692
|
+
if (typeof instance.getChildContext !== 'function') {
|
2693
|
+
{
|
2694
|
+
var componentName = getComponentNameFromType(type) || 'Unknown';
|
2695
|
+
if (!warnedAboutMissingGetChildContext[componentName]) {
|
2696
|
+
warnedAboutMissingGetChildContext[componentName] = true;
|
2697
|
+
error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);
|
2698
|
+
}
|
2699
|
+
}
|
2700
|
+
return parentContext;
|
2701
|
+
}
|
2702
|
+
var childContext = instance.getChildContext();
|
2703
|
+
for (var contextKey in childContext) {
|
2704
|
+
if (!(contextKey in childContextTypes)) {
|
2705
|
+
throw new Error((getComponentNameFromType(type) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes.");
|
2706
|
+
}
|
2707
|
+
}
|
2708
|
+
{
|
2709
|
+
var name = getComponentNameFromType(type) || 'Unknown';
|
2710
|
+
checkPropTypes(childContextTypes, childContext, 'child context', name);
|
2711
|
+
}
|
2712
|
+
return assign({}, parentContext, childContext);
|
2713
|
+
}
|
2714
|
+
}
|
2715
|
+
var rendererSigil;
|
2716
|
+
{
|
2717
|
+
rendererSigil = {};
|
2718
|
+
}
|
2719
|
+
var rootContextSnapshot = null;
|
2720
|
+
var currentActiveSnapshot = null;
|
2721
|
+
function popNode(prev) {
|
2722
|
+
{
|
2723
|
+
prev.context._currentValue = prev.parentValue;
|
2724
|
+
}
|
2725
|
+
}
|
2726
|
+
function pushNode(next) {
|
2727
|
+
{
|
2728
|
+
next.context._currentValue = next.value;
|
2729
|
+
}
|
2730
|
+
}
|
2731
|
+
function popToNearestCommonAncestor(prev, next) {
|
2732
|
+
if (prev === next)
|
2733
|
+
;
|
2734
|
+
else {
|
2735
|
+
popNode(prev);
|
2736
|
+
var parentPrev = prev.parent;
|
2737
|
+
var parentNext = next.parent;
|
2738
|
+
if (parentPrev === null) {
|
2739
|
+
if (parentNext !== null) {
|
2740
|
+
throw new Error('The stacks must reach the root at the same time. This is a bug in React.');
|
2741
|
+
}
|
2742
|
+
} else {
|
2743
|
+
if (parentNext === null) {
|
2744
|
+
throw new Error('The stacks must reach the root at the same time. This is a bug in React.');
|
2745
|
+
}
|
2746
|
+
popToNearestCommonAncestor(parentPrev, parentNext);
|
2747
|
+
}
|
2748
|
+
pushNode(next);
|
2749
|
+
}
|
2750
|
+
}
|
2751
|
+
function popAllPrevious(prev) {
|
2752
|
+
popNode(prev);
|
2753
|
+
var parentPrev = prev.parent;
|
2754
|
+
if (parentPrev !== null) {
|
2755
|
+
popAllPrevious(parentPrev);
|
2756
|
+
}
|
2757
|
+
}
|
2758
|
+
function pushAllNext(next) {
|
2759
|
+
var parentNext = next.parent;
|
2760
|
+
if (parentNext !== null) {
|
2761
|
+
pushAllNext(parentNext);
|
2762
|
+
}
|
2763
|
+
pushNode(next);
|
2764
|
+
}
|
2765
|
+
function popPreviousToCommonLevel(prev, next) {
|
2766
|
+
popNode(prev);
|
2767
|
+
var parentPrev = prev.parent;
|
2768
|
+
if (parentPrev === null) {
|
2769
|
+
throw new Error('The depth must equal at least at zero before reaching the root. This is a bug in React.');
|
2770
|
+
}
|
2771
|
+
if (parentPrev.depth === next.depth) {
|
2772
|
+
popToNearestCommonAncestor(parentPrev, next);
|
2773
|
+
} else {
|
2774
|
+
popPreviousToCommonLevel(parentPrev, next);
|
2775
|
+
}
|
2776
|
+
}
|
2777
|
+
function popNextToCommonLevel(prev, next) {
|
2778
|
+
var parentNext = next.parent;
|
2779
|
+
if (parentNext === null) {
|
2780
|
+
throw new Error('The depth must equal at least at zero before reaching the root. This is a bug in React.');
|
2781
|
+
}
|
2782
|
+
if (prev.depth === parentNext.depth) {
|
2783
|
+
popToNearestCommonAncestor(prev, parentNext);
|
2784
|
+
} else {
|
2785
|
+
popNextToCommonLevel(prev, parentNext);
|
2786
|
+
}
|
2787
|
+
pushNode(next);
|
2788
|
+
}
|
2789
|
+
function switchContext(newSnapshot) {
|
2790
|
+
var prev = currentActiveSnapshot;
|
2791
|
+
var next = newSnapshot;
|
2792
|
+
if (prev !== next) {
|
2793
|
+
if (prev === null) {
|
2794
|
+
pushAllNext(next);
|
2795
|
+
} else if (next === null) {
|
2796
|
+
popAllPrevious(prev);
|
2797
|
+
} else if (prev.depth === next.depth) {
|
2798
|
+
popToNearestCommonAncestor(prev, next);
|
2799
|
+
} else if (prev.depth > next.depth) {
|
2800
|
+
popPreviousToCommonLevel(prev, next);
|
2801
|
+
} else {
|
2802
|
+
popNextToCommonLevel(prev, next);
|
2803
|
+
}
|
2804
|
+
currentActiveSnapshot = next;
|
2805
|
+
}
|
2806
|
+
}
|
2807
|
+
function pushProvider(context, nextValue) {
|
2808
|
+
var prevValue;
|
2809
|
+
{
|
2810
|
+
prevValue = context._currentValue;
|
2811
|
+
context._currentValue = nextValue;
|
2812
|
+
{
|
2813
|
+
if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {
|
2814
|
+
error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');
|
2815
|
+
}
|
2816
|
+
context._currentRenderer = rendererSigil;
|
2817
|
+
}
|
2818
|
+
}
|
2819
|
+
var prevNode = currentActiveSnapshot;
|
2820
|
+
var newNode = {
|
2821
|
+
parent: prevNode,
|
2822
|
+
depth: prevNode === null ? 0 : prevNode.depth + 1,
|
2823
|
+
context: context,
|
2824
|
+
parentValue: prevValue,
|
2825
|
+
value: nextValue
|
2826
|
+
};
|
2827
|
+
currentActiveSnapshot = newNode;
|
2828
|
+
return newNode;
|
2829
|
+
}
|
2830
|
+
function popProvider(context) {
|
2831
|
+
var prevSnapshot = currentActiveSnapshot;
|
2832
|
+
if (prevSnapshot === null) {
|
2833
|
+
throw new Error('Tried to pop a Context at the root of the app. This is a bug in React.');
|
2834
|
+
}
|
2835
|
+
{
|
2836
|
+
if (prevSnapshot.context !== context) {
|
2837
|
+
error('The parent context is not the expected context. This is probably a bug in React.');
|
2838
|
+
}
|
2839
|
+
}
|
2840
|
+
{
|
2841
|
+
var value = prevSnapshot.parentValue;
|
2842
|
+
if (value === REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED) {
|
2843
|
+
prevSnapshot.context._currentValue = prevSnapshot.context._defaultValue;
|
2844
|
+
} else {
|
2845
|
+
prevSnapshot.context._currentValue = value;
|
2846
|
+
}
|
2847
|
+
{
|
2848
|
+
if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {
|
2849
|
+
error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');
|
2850
|
+
}
|
2851
|
+
context._currentRenderer = rendererSigil;
|
2852
|
+
}
|
2853
|
+
}
|
2854
|
+
return currentActiveSnapshot = prevSnapshot.parent;
|
2855
|
+
}
|
2856
|
+
function getActiveContext() {
|
2857
|
+
return currentActiveSnapshot;
|
2858
|
+
}
|
2859
|
+
function readContext(context) {
|
2860
|
+
var value = context._currentValue;
|
2861
|
+
return value;
|
2862
|
+
}
|
2863
|
+
function get(key) {
|
2864
|
+
return key._reactInternals;
|
2865
|
+
}
|
2866
|
+
function set(key, value) {
|
2867
|
+
key._reactInternals = value;
|
2868
|
+
}
|
2869
|
+
var didWarnAboutNoopUpdateForComponent = {};
|
2870
|
+
var didWarnAboutDeprecatedWillMount = {};
|
2871
|
+
var didWarnAboutUninitializedState;
|
2872
|
+
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
|
2873
|
+
var didWarnAboutLegacyLifecyclesAndDerivedState;
|
2874
|
+
var didWarnAboutUndefinedDerivedState;
|
2875
|
+
var warnOnUndefinedDerivedState;
|
2876
|
+
var warnOnInvalidCallback;
|
2877
|
+
var didWarnAboutDirectlyAssigningPropsToState;
|
2878
|
+
var didWarnAboutContextTypeAndContextTypes;
|
2879
|
+
var didWarnAboutInvalidateContextType;
|
2880
|
+
{
|
2881
|
+
didWarnAboutUninitializedState = new Set();
|
2882
|
+
didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();
|
2883
|
+
didWarnAboutLegacyLifecyclesAndDerivedState = new Set();
|
2884
|
+
didWarnAboutDirectlyAssigningPropsToState = new Set();
|
2885
|
+
didWarnAboutUndefinedDerivedState = new Set();
|
2886
|
+
didWarnAboutContextTypeAndContextTypes = new Set();
|
2887
|
+
didWarnAboutInvalidateContextType = new Set();
|
2888
|
+
var didWarnOnInvalidCallback = new Set();
|
2889
|
+
warnOnInvalidCallback = function(callback, callerName) {
|
2890
|
+
if (callback === null || typeof callback === 'function') {
|
2891
|
+
return;
|
2892
|
+
}
|
2893
|
+
var key = callerName + '_' + callback;
|
2894
|
+
if (!didWarnOnInvalidCallback.has(key)) {
|
2895
|
+
didWarnOnInvalidCallback.add(key);
|
2896
|
+
error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);
|
2897
|
+
}
|
2898
|
+
};
|
2899
|
+
warnOnUndefinedDerivedState = function(type, partialState) {
|
2900
|
+
if (partialState === undefined) {
|
2901
|
+
var componentName = getComponentNameFromType(type) || 'Component';
|
2902
|
+
if (!didWarnAboutUndefinedDerivedState.has(componentName)) {
|
2903
|
+
didWarnAboutUndefinedDerivedState.add(componentName);
|
2904
|
+
error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);
|
2905
|
+
}
|
2906
|
+
}
|
2907
|
+
};
|
2908
|
+
}
|
2909
|
+
function warnNoop(publicInstance, callerName) {
|
2910
|
+
{
|
2911
|
+
var _constructor = publicInstance.constructor;
|
2912
|
+
var componentName = _constructor && getComponentNameFromType(_constructor) || 'ReactClass';
|
2913
|
+
var warningKey = componentName + '.' + callerName;
|
2914
|
+
if (didWarnAboutNoopUpdateForComponent[warningKey]) {
|
2915
|
+
return;
|
2916
|
+
}
|
2917
|
+
error('%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op.\n\nPlease check the code for the %s component.', callerName, callerName, componentName);
|
2918
|
+
didWarnAboutNoopUpdateForComponent[warningKey] = true;
|
2919
|
+
}
|
2920
|
+
}
|
2921
|
+
var classComponentUpdater = {
|
2922
|
+
isMounted: function(inst) {
|
2923
|
+
return false;
|
2924
|
+
},
|
2925
|
+
enqueueSetState: function(inst, payload, callback) {
|
2926
|
+
var internals = get(inst);
|
2927
|
+
if (internals.queue === null) {
|
2928
|
+
warnNoop(inst, 'setState');
|
2929
|
+
} else {
|
2930
|
+
internals.queue.push(payload);
|
2931
|
+
{
|
2932
|
+
if (callback !== undefined && callback !== null) {
|
2933
|
+
warnOnInvalidCallback(callback, 'setState');
|
2934
|
+
}
|
2935
|
+
}
|
2936
|
+
}
|
2937
|
+
},
|
2938
|
+
enqueueReplaceState: function(inst, payload, callback) {
|
2939
|
+
var internals = get(inst);
|
2940
|
+
internals.replace = true;
|
2941
|
+
internals.queue = [payload];
|
2942
|
+
{
|
2943
|
+
if (callback !== undefined && callback !== null) {
|
2944
|
+
warnOnInvalidCallback(callback, 'setState');
|
2945
|
+
}
|
2946
|
+
}
|
2947
|
+
},
|
2948
|
+
enqueueForceUpdate: function(inst, callback) {
|
2949
|
+
var internals = get(inst);
|
2950
|
+
if (internals.queue === null) {
|
2951
|
+
warnNoop(inst, 'forceUpdate');
|
2952
|
+
} else {
|
2953
|
+
{
|
2954
|
+
if (callback !== undefined && callback !== null) {
|
2955
|
+
warnOnInvalidCallback(callback, 'setState');
|
2956
|
+
}
|
2957
|
+
}
|
2958
|
+
}
|
2959
|
+
}
|
2960
|
+
};
|
2961
|
+
function applyDerivedStateFromProps(instance, ctor, getDerivedStateFromProps, prevState, nextProps) {
|
2962
|
+
var partialState = getDerivedStateFromProps(nextProps, prevState);
|
2963
|
+
{
|
2964
|
+
warnOnUndefinedDerivedState(ctor, partialState);
|
2965
|
+
}
|
2966
|
+
var newState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);
|
2967
|
+
return newState;
|
2968
|
+
}
|
2969
|
+
function constructClassInstance(ctor, props, maskedLegacyContext) {
|
2970
|
+
var context = emptyContextObject;
|
2971
|
+
var contextType = ctor.contextType;
|
2972
|
+
{
|
2973
|
+
if ('contextType' in ctor) {
|
2974
|
+
var isValid = contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined;
|
2975
|
+
if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {
|
2976
|
+
didWarnAboutInvalidateContextType.add(ctor);
|
2977
|
+
var addendum = '';
|
2978
|
+
if (contextType === undefined) {
|
2979
|
+
addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';
|
2980
|
+
} else if (typeof contextType !== 'object') {
|
2981
|
+
addendum = ' However, it is set to a ' + typeof contextType + '.';
|
2982
|
+
} else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {
|
2983
|
+
addendum = ' Did you accidentally pass the Context.Provider instead?';
|
2984
|
+
} else if (contextType._context !== undefined) {
|
2985
|
+
addendum = ' Did you accidentally pass the Context.Consumer instead?';
|
2986
|
+
} else {
|
2987
|
+
addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';
|
2988
|
+
}
|
2989
|
+
error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);
|
2990
|
+
}
|
2991
|
+
}
|
2992
|
+
}
|
2993
|
+
if (typeof contextType === 'object' && contextType !== null) {
|
2994
|
+
context = readContext(contextType);
|
2995
|
+
} else {
|
2996
|
+
context = maskedLegacyContext;
|
2997
|
+
}
|
2998
|
+
var instance = new ctor(props, context);
|
2999
|
+
{
|
3000
|
+
if (typeof ctor.getDerivedStateFromProps === 'function' && (instance.state === null || instance.state === undefined)) {
|
3001
|
+
var componentName = getComponentNameFromType(ctor) || 'Component';
|
3002
|
+
if (!didWarnAboutUninitializedState.has(componentName)) {
|
3003
|
+
didWarnAboutUninitializedState.add(componentName);
|
3004
|
+
error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);
|
3005
|
+
}
|
3006
|
+
}
|
3007
|
+
if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {
|
3008
|
+
var foundWillMountName = null;
|
3009
|
+
var foundWillReceivePropsName = null;
|
3010
|
+
var foundWillUpdateName = null;
|
3011
|
+
if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {
|
3012
|
+
foundWillMountName = 'componentWillMount';
|
3013
|
+
} else if (typeof instance.UNSAFE_componentWillMount === 'function') {
|
3014
|
+
foundWillMountName = 'UNSAFE_componentWillMount';
|
3015
|
+
}
|
3016
|
+
if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {
|
3017
|
+
foundWillReceivePropsName = 'componentWillReceiveProps';
|
3018
|
+
} else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
|
3019
|
+
foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
|
3020
|
+
}
|
3021
|
+
if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {
|
3022
|
+
foundWillUpdateName = 'componentWillUpdate';
|
3023
|
+
} else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {
|
3024
|
+
foundWillUpdateName = 'UNSAFE_componentWillUpdate';
|
3025
|
+
}
|
3026
|
+
if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {
|
3027
|
+
var _componentName = getComponentNameFromType(ctor) || 'Component';
|
3028
|
+
var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';
|
3029
|
+
if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {
|
3030
|
+
didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);
|
3031
|
+
error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : '', foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : '', foundWillUpdateName !== null ? "\n " + foundWillUpdateName : '');
|
3032
|
+
}
|
3033
|
+
}
|
3034
|
+
}
|
3035
|
+
}
|
3036
|
+
return instance;
|
3037
|
+
}
|
3038
|
+
function checkClassInstance(instance, ctor, newProps) {
|
3039
|
+
{
|
3040
|
+
var name = getComponentNameFromType(ctor) || 'Component';
|
3041
|
+
var renderPresent = instance.render;
|
3042
|
+
if (!renderPresent) {
|
3043
|
+
if (ctor.prototype && typeof ctor.prototype.render === 'function') {
|
3044
|
+
error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);
|
3045
|
+
} else {
|
3046
|
+
error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);
|
3047
|
+
}
|
3048
|
+
}
|
3049
|
+
if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {
|
3050
|
+
error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);
|
3051
|
+
}
|
3052
|
+
if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {
|
3053
|
+
error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);
|
3054
|
+
}
|
3055
|
+
if (instance.propTypes) {
|
3056
|
+
error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);
|
3057
|
+
}
|
3058
|
+
if (instance.contextType) {
|
3059
|
+
error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);
|
3060
|
+
}
|
3061
|
+
{
|
3062
|
+
if (instance.contextTypes) {
|
3063
|
+
error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);
|
3064
|
+
}
|
3065
|
+
if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {
|
3066
|
+
didWarnAboutContextTypeAndContextTypes.add(ctor);
|
3067
|
+
error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);
|
3068
|
+
}
|
3069
|
+
}
|
3070
|
+
if (typeof instance.componentShouldUpdate === 'function') {
|
3071
|
+
error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);
|
3072
|
+
}
|
3073
|
+
if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {
|
3074
|
+
error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');
|
3075
|
+
}
|
3076
|
+
if (typeof instance.componentDidUnmount === 'function') {
|
3077
|
+
error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);
|
3078
|
+
}
|
3079
|
+
if (typeof instance.componentDidReceiveProps === 'function') {
|
3080
|
+
error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);
|
3081
|
+
}
|
3082
|
+
if (typeof instance.componentWillRecieveProps === 'function') {
|
3083
|
+
error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);
|
3084
|
+
}
|
3085
|
+
if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {
|
3086
|
+
error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);
|
3087
|
+
}
|
3088
|
+
var hasMutatedProps = instance.props !== newProps;
|
3089
|
+
if (instance.props !== undefined && hasMutatedProps) {
|
3090
|
+
error('%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name);
|
3091
|
+
}
|
3092
|
+
if (instance.defaultProps) {
|
3093
|
+
error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);
|
3094
|
+
}
|
3095
|
+
if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {
|
3096
|
+
didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);
|
3097
|
+
error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));
|
3098
|
+
}
|
3099
|
+
if (typeof instance.getDerivedStateFromProps === 'function') {
|
3100
|
+
error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
|
3101
|
+
}
|
3102
|
+
if (typeof instance.getDerivedStateFromError === 'function') {
|
3103
|
+
error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
|
3104
|
+
}
|
3105
|
+
if (typeof ctor.getSnapshotBeforeUpdate === 'function') {
|
3106
|
+
error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);
|
3107
|
+
}
|
3108
|
+
var _state = instance.state;
|
3109
|
+
if (_state && (typeof _state !== 'object' || isArray(_state))) {
|
3110
|
+
error('%s.state: must be set to an object or null', name);
|
3111
|
+
}
|
3112
|
+
if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {
|
3113
|
+
error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);
|
3114
|
+
}
|
3115
|
+
}
|
3116
|
+
}
|
3117
|
+
function callComponentWillMount(type, instance) {
|
3118
|
+
var oldState = instance.state;
|
3119
|
+
if (typeof instance.componentWillMount === 'function') {
|
3120
|
+
{
|
3121
|
+
if (instance.componentWillMount.__suppressDeprecationWarning !== true) {
|
3122
|
+
var componentName = getComponentNameFromType(type) || 'Unknown';
|
3123
|
+
if (!didWarnAboutDeprecatedWillMount[componentName]) {
|
3124
|
+
warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n' + '* Move code from componentWillMount to componentDidMount (preferred in most cases) ' + 'or the constructor.\n' + '\nPlease update the following components: %s', componentName);
|
3125
|
+
didWarnAboutDeprecatedWillMount[componentName] = true;
|
3126
|
+
}
|
3127
|
+
}
|
3128
|
+
}
|
3129
|
+
instance.componentWillMount();
|
3130
|
+
}
|
3131
|
+
if (typeof instance.UNSAFE_componentWillMount === 'function') {
|
3132
|
+
instance.UNSAFE_componentWillMount();
|
3133
|
+
}
|
3134
|
+
if (oldState !== instance.state) {
|
3135
|
+
{
|
3136
|
+
error('%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentNameFromType(type) || 'Component');
|
3137
|
+
}
|
3138
|
+
classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
|
3139
|
+
}
|
3140
|
+
}
|
3141
|
+
function processUpdateQueue(internalInstance, inst, props, maskedLegacyContext) {
|
3142
|
+
if (internalInstance.queue !== null && internalInstance.queue.length > 0) {
|
3143
|
+
var oldQueue = internalInstance.queue;
|
3144
|
+
var oldReplace = internalInstance.replace;
|
3145
|
+
internalInstance.queue = null;
|
3146
|
+
internalInstance.replace = false;
|
3147
|
+
if (oldReplace && oldQueue.length === 1) {
|
3148
|
+
inst.state = oldQueue[0];
|
3149
|
+
} else {
|
3150
|
+
var nextState = oldReplace ? oldQueue[0] : inst.state;
|
3151
|
+
var dontMutate = true;
|
3152
|
+
for (var i = oldReplace ? 1 : 0; i < oldQueue.length; i++) {
|
3153
|
+
var partial = oldQueue[i];
|
3154
|
+
var partialState = typeof partial === 'function' ? partial.call(inst, nextState, props, maskedLegacyContext) : partial;
|
3155
|
+
if (partialState != null) {
|
3156
|
+
if (dontMutate) {
|
3157
|
+
dontMutate = false;
|
3158
|
+
nextState = assign({}, nextState, partialState);
|
3159
|
+
} else {
|
3160
|
+
assign(nextState, partialState);
|
3161
|
+
}
|
3162
|
+
}
|
3163
|
+
}
|
3164
|
+
inst.state = nextState;
|
3165
|
+
}
|
3166
|
+
} else {
|
3167
|
+
internalInstance.queue = null;
|
3168
|
+
}
|
3169
|
+
}
|
3170
|
+
function mountClassInstance(instance, ctor, newProps, maskedLegacyContext) {
|
3171
|
+
{
|
3172
|
+
checkClassInstance(instance, ctor, newProps);
|
3173
|
+
}
|
3174
|
+
var initialState = instance.state !== undefined ? instance.state : null;
|
3175
|
+
instance.updater = classComponentUpdater;
|
3176
|
+
instance.props = newProps;
|
3177
|
+
instance.state = initialState;
|
3178
|
+
var internalInstance = {
|
3179
|
+
queue: [],
|
3180
|
+
replace: false
|
3181
|
+
};
|
3182
|
+
set(instance, internalInstance);
|
3183
|
+
var contextType = ctor.contextType;
|
3184
|
+
if (typeof contextType === 'object' && contextType !== null) {
|
3185
|
+
instance.context = readContext(contextType);
|
3186
|
+
} else {
|
3187
|
+
instance.context = maskedLegacyContext;
|
3188
|
+
}
|
3189
|
+
{
|
3190
|
+
if (instance.state === newProps) {
|
3191
|
+
var componentName = getComponentNameFromType(ctor) || 'Component';
|
3192
|
+
if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {
|
3193
|
+
didWarnAboutDirectlyAssigningPropsToState.add(componentName);
|
3194
|
+
error('%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName);
|
3195
|
+
}
|
3196
|
+
}
|
3197
|
+
}
|
3198
|
+
var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
|
3199
|
+
if (typeof getDerivedStateFromProps === 'function') {
|
3200
|
+
instance.state = applyDerivedStateFromProps(instance, ctor, getDerivedStateFromProps, initialState, newProps);
|
3201
|
+
}
|
3202
|
+
if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {
|
3203
|
+
callComponentWillMount(ctor, instance);
|
3204
|
+
processUpdateQueue(internalInstance, instance, newProps, maskedLegacyContext);
|
3205
|
+
}
|
3206
|
+
}
|
3207
|
+
var emptyTreeContext = {
|
3208
|
+
id: 1,
|
3209
|
+
overflow: ''
|
3210
|
+
};
|
3211
|
+
function getTreeId(context) {
|
3212
|
+
var overflow = context.overflow;
|
3213
|
+
var idWithLeadingBit = context.id;
|
3214
|
+
var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);
|
3215
|
+
return id.toString(32) + overflow;
|
3216
|
+
}
|
3217
|
+
function pushTreeContext(baseContext, totalChildren, index) {
|
3218
|
+
var baseIdWithLeadingBit = baseContext.id;
|
3219
|
+
var baseOverflow = baseContext.overflow;
|
3220
|
+
var baseLength = getBitLength(baseIdWithLeadingBit) - 1;
|
3221
|
+
var baseId = baseIdWithLeadingBit & ~(1 << baseLength);
|
3222
|
+
var slot = index + 1;
|
3223
|
+
var length = getBitLength(totalChildren) + baseLength;
|
3224
|
+
if (length > 30) {
|
3225
|
+
var numberOfOverflowBits = baseLength - baseLength % 5;
|
3226
|
+
var newOverflowBits = (1 << numberOfOverflowBits) - 1;
|
3227
|
+
var newOverflow = (baseId & newOverflowBits).toString(32);
|
3228
|
+
var restOfBaseId = baseId >> numberOfOverflowBits;
|
3229
|
+
var restOfBaseLength = baseLength - numberOfOverflowBits;
|
3230
|
+
var restOfLength = getBitLength(totalChildren) + restOfBaseLength;
|
3231
|
+
var restOfNewBits = slot << restOfBaseLength;
|
3232
|
+
var id = restOfNewBits | restOfBaseId;
|
3233
|
+
var overflow = newOverflow + baseOverflow;
|
3234
|
+
return {
|
3235
|
+
id: 1 << restOfLength | id,
|
3236
|
+
overflow: overflow
|
3237
|
+
};
|
3238
|
+
} else {
|
3239
|
+
var newBits = slot << baseLength;
|
3240
|
+
var _id = newBits | baseId;
|
3241
|
+
var _overflow = baseOverflow;
|
3242
|
+
return {
|
3243
|
+
id: 1 << length | _id,
|
3244
|
+
overflow: _overflow
|
3245
|
+
};
|
3246
|
+
}
|
3247
|
+
}
|
3248
|
+
function getBitLength(number) {
|
3249
|
+
return 32 - clz32(number);
|
3250
|
+
}
|
3251
|
+
function getLeadingBit(id) {
|
3252
|
+
return 1 << getBitLength(id) - 1;
|
3253
|
+
}
|
3254
|
+
var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback;
|
3255
|
+
var log = Math.log;
|
3256
|
+
var LN2 = Math.LN2;
|
3257
|
+
function clz32Fallback(x) {
|
3258
|
+
var asUint = x >>> 0;
|
3259
|
+
if (asUint === 0) {
|
3260
|
+
return 32;
|
3261
|
+
}
|
3262
|
+
return 31 - (log(asUint) / LN2 | 0) | 0;
|
3263
|
+
}
|
3264
|
+
function is(x, y) {
|
3265
|
+
return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y;
|
3266
|
+
;
|
3267
|
+
}
|
3268
|
+
var objectIs = typeof Object.is === 'function' ? Object.is : is;
|
3269
|
+
var currentlyRenderingComponent = null;
|
3270
|
+
var currentlyRenderingTask = null;
|
3271
|
+
var firstWorkInProgressHook = null;
|
3272
|
+
var workInProgressHook = null;
|
3273
|
+
var isReRender = false;
|
3274
|
+
var didScheduleRenderPhaseUpdate = false;
|
3275
|
+
var localIdCounter = 0;
|
3276
|
+
var renderPhaseUpdates = null;
|
3277
|
+
var numberOfReRenders = 0;
|
3278
|
+
var RE_RENDER_LIMIT = 25;
|
3279
|
+
var isInHookUserCodeInDev = false;
|
3280
|
+
var currentHookNameInDev;
|
3281
|
+
function resolveCurrentlyRenderingComponent() {
|
3282
|
+
if (currentlyRenderingComponent === null) {
|
3283
|
+
throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\n' + '2. You might be breaking the Rules of Hooks\n' + '3. You might have more than one copy of React in the same app\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');
|
3284
|
+
}
|
3285
|
+
{
|
3286
|
+
if (isInHookUserCodeInDev) {
|
3287
|
+
error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');
|
3288
|
+
}
|
3289
|
+
}
|
3290
|
+
return currentlyRenderingComponent;
|
3291
|
+
}
|
3292
|
+
function areHookInputsEqual(nextDeps, prevDeps) {
|
3293
|
+
if (prevDeps === null) {
|
3294
|
+
{
|
3295
|
+
error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);
|
3296
|
+
}
|
3297
|
+
return false;
|
3298
|
+
}
|
3299
|
+
{
|
3300
|
+
if (nextDeps.length !== prevDeps.length) {
|
3301
|
+
error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + nextDeps.join(', ') + "]", "[" + prevDeps.join(', ') + "]");
|
3302
|
+
}
|
3303
|
+
}
|
3304
|
+
for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
|
3305
|
+
if (objectIs(nextDeps[i], prevDeps[i])) {
|
3306
|
+
continue;
|
3307
|
+
}
|
3308
|
+
return false;
|
3309
|
+
}
|
3310
|
+
return true;
|
3311
|
+
}
|
3312
|
+
function createHook() {
|
3313
|
+
if (numberOfReRenders > 0) {
|
3314
|
+
throw new Error('Rendered more hooks than during the previous render');
|
3315
|
+
}
|
3316
|
+
return {
|
3317
|
+
memoizedState: null,
|
3318
|
+
queue: null,
|
3319
|
+
next: null
|
3320
|
+
};
|
3321
|
+
}
|
3322
|
+
function createWorkInProgressHook() {
|
3323
|
+
if (workInProgressHook === null) {
|
3324
|
+
if (firstWorkInProgressHook === null) {
|
3325
|
+
isReRender = false;
|
3326
|
+
firstWorkInProgressHook = workInProgressHook = createHook();
|
3327
|
+
} else {
|
3328
|
+
isReRender = true;
|
3329
|
+
workInProgressHook = firstWorkInProgressHook;
|
3330
|
+
}
|
3331
|
+
} else {
|
3332
|
+
if (workInProgressHook.next === null) {
|
3333
|
+
isReRender = false;
|
3334
|
+
workInProgressHook = workInProgressHook.next = createHook();
|
3335
|
+
} else {
|
3336
|
+
isReRender = true;
|
3337
|
+
workInProgressHook = workInProgressHook.next;
|
3338
|
+
}
|
3339
|
+
}
|
3340
|
+
return workInProgressHook;
|
3341
|
+
}
|
3342
|
+
function prepareToUseHooks(task, componentIdentity) {
|
3343
|
+
currentlyRenderingComponent = componentIdentity;
|
3344
|
+
currentlyRenderingTask = task;
|
3345
|
+
{
|
3346
|
+
isInHookUserCodeInDev = false;
|
3347
|
+
}
|
3348
|
+
localIdCounter = 0;
|
3349
|
+
}
|
3350
|
+
function finishHooks(Component, props, children, refOrContext) {
|
3351
|
+
while (didScheduleRenderPhaseUpdate) {
|
3352
|
+
didScheduleRenderPhaseUpdate = false;
|
3353
|
+
localIdCounter = 0;
|
3354
|
+
numberOfReRenders += 1;
|
3355
|
+
workInProgressHook = null;
|
3356
|
+
children = Component(props, refOrContext);
|
3357
|
+
}
|
3358
|
+
resetHooksState();
|
3359
|
+
return children;
|
3360
|
+
}
|
3361
|
+
function checkDidRenderIdHook() {
|
3362
|
+
var didRenderIdHook = localIdCounter !== 0;
|
3363
|
+
return didRenderIdHook;
|
3364
|
+
}
|
3365
|
+
function resetHooksState() {
|
3366
|
+
{
|
3367
|
+
isInHookUserCodeInDev = false;
|
3368
|
+
}
|
3369
|
+
currentlyRenderingComponent = null;
|
3370
|
+
currentlyRenderingTask = null;
|
3371
|
+
didScheduleRenderPhaseUpdate = false;
|
3372
|
+
firstWorkInProgressHook = null;
|
3373
|
+
numberOfReRenders = 0;
|
3374
|
+
renderPhaseUpdates = null;
|
3375
|
+
workInProgressHook = null;
|
3376
|
+
}
|
3377
|
+
function readContext$1(context) {
|
3378
|
+
{
|
3379
|
+
if (isInHookUserCodeInDev) {
|
3380
|
+
error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
|
3381
|
+
}
|
3382
|
+
}
|
3383
|
+
return readContext(context);
|
3384
|
+
}
|
3385
|
+
function useContext(context) {
|
3386
|
+
{
|
3387
|
+
currentHookNameInDev = 'useContext';
|
3388
|
+
}
|
3389
|
+
resolveCurrentlyRenderingComponent();
|
3390
|
+
return readContext(context);
|
3391
|
+
}
|
3392
|
+
function basicStateReducer(state, action) {
|
3393
|
+
return typeof action === 'function' ? action(state) : action;
|
3394
|
+
}
|
3395
|
+
function useState(initialState) {
|
3396
|
+
{
|
3397
|
+
currentHookNameInDev = 'useState';
|
3398
|
+
}
|
3399
|
+
return useReducer(basicStateReducer, initialState);
|
3400
|
+
}
|
3401
|
+
function useReducer(reducer, initialArg, init) {
|
3402
|
+
{
|
3403
|
+
if (reducer !== basicStateReducer) {
|
3404
|
+
currentHookNameInDev = 'useReducer';
|
3405
|
+
}
|
3406
|
+
}
|
3407
|
+
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
3408
|
+
workInProgressHook = createWorkInProgressHook();
|
3409
|
+
if (isReRender) {
|
3410
|
+
var queue = workInProgressHook.queue;
|
3411
|
+
var dispatch = queue.dispatch;
|
3412
|
+
if (renderPhaseUpdates !== null) {
|
3413
|
+
var firstRenderPhaseUpdate = renderPhaseUpdates.get(queue);
|
3414
|
+
if (firstRenderPhaseUpdate !== undefined) {
|
3415
|
+
renderPhaseUpdates.delete(queue);
|
3416
|
+
var newState = workInProgressHook.memoizedState;
|
3417
|
+
var update = firstRenderPhaseUpdate;
|
3418
|
+
do {
|
3419
|
+
var action = update.action;
|
3420
|
+
{
|
3421
|
+
isInHookUserCodeInDev = true;
|
3422
|
+
}
|
3423
|
+
newState = reducer(newState, action);
|
3424
|
+
{
|
3425
|
+
isInHookUserCodeInDev = false;
|
3426
|
+
}
|
3427
|
+
update = update.next;
|
3428
|
+
} while (update !== null);
|
3429
|
+
workInProgressHook.memoizedState = newState;
|
3430
|
+
return [newState, dispatch];
|
3431
|
+
}
|
3432
|
+
}
|
3433
|
+
return [workInProgressHook.memoizedState, dispatch];
|
3434
|
+
} else {
|
3435
|
+
{
|
3436
|
+
isInHookUserCodeInDev = true;
|
3437
|
+
}
|
3438
|
+
var initialState;
|
3439
|
+
if (reducer === basicStateReducer) {
|
3440
|
+
initialState = typeof initialArg === 'function' ? initialArg() : initialArg;
|
3441
|
+
} else {
|
3442
|
+
initialState = init !== undefined ? init(initialArg) : initialArg;
|
3443
|
+
}
|
3444
|
+
{
|
3445
|
+
isInHookUserCodeInDev = false;
|
3446
|
+
}
|
3447
|
+
workInProgressHook.memoizedState = initialState;
|
3448
|
+
var _queue = workInProgressHook.queue = {
|
3449
|
+
last: null,
|
3450
|
+
dispatch: null
|
3451
|
+
};
|
3452
|
+
var _dispatch = _queue.dispatch = dispatchAction.bind(null, currentlyRenderingComponent, _queue);
|
3453
|
+
return [workInProgressHook.memoizedState, _dispatch];
|
3454
|
+
}
|
3455
|
+
}
|
3456
|
+
function useMemo(nextCreate, deps) {
|
3457
|
+
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
3458
|
+
workInProgressHook = createWorkInProgressHook();
|
3459
|
+
var nextDeps = deps === undefined ? null : deps;
|
3460
|
+
if (workInProgressHook !== null) {
|
3461
|
+
var prevState = workInProgressHook.memoizedState;
|
3462
|
+
if (prevState !== null) {
|
3463
|
+
if (nextDeps !== null) {
|
3464
|
+
var prevDeps = prevState[1];
|
3465
|
+
if (areHookInputsEqual(nextDeps, prevDeps)) {
|
3466
|
+
return prevState[0];
|
3467
|
+
}
|
3468
|
+
}
|
3469
|
+
}
|
3470
|
+
}
|
3471
|
+
{
|
3472
|
+
isInHookUserCodeInDev = true;
|
3473
|
+
}
|
3474
|
+
var nextValue = nextCreate();
|
3475
|
+
{
|
3476
|
+
isInHookUserCodeInDev = false;
|
3477
|
+
}
|
3478
|
+
workInProgressHook.memoizedState = [nextValue, nextDeps];
|
3479
|
+
return nextValue;
|
3480
|
+
}
|
3481
|
+
function useRef(initialValue) {
|
3482
|
+
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
3483
|
+
workInProgressHook = createWorkInProgressHook();
|
3484
|
+
var previousRef = workInProgressHook.memoizedState;
|
3485
|
+
if (previousRef === null) {
|
3486
|
+
var ref = {current: initialValue};
|
3487
|
+
{
|
3488
|
+
Object.seal(ref);
|
3489
|
+
}
|
3490
|
+
workInProgressHook.memoizedState = ref;
|
3491
|
+
return ref;
|
3492
|
+
} else {
|
3493
|
+
return previousRef;
|
3494
|
+
}
|
3495
|
+
}
|
3496
|
+
function useLayoutEffect(create, inputs) {
|
3497
|
+
{
|
3498
|
+
currentHookNameInDev = 'useLayoutEffect';
|
3499
|
+
error('useLayoutEffect does nothing on the server, because its effect cannot ' + "be encoded into the server renderer's output format. This will lead " + 'to a mismatch between the initial, non-hydrated UI and the intended ' + 'UI. To avoid this, useLayoutEffect should only be used in ' + 'components that render exclusively on the client. ' + 'See https://reactjs.org/link/uselayouteffect-ssr for common fixes.');
|
3500
|
+
}
|
3501
|
+
}
|
3502
|
+
function dispatchAction(componentIdentity, queue, action) {
|
3503
|
+
if (numberOfReRenders >= RE_RENDER_LIMIT) {
|
3504
|
+
throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');
|
3505
|
+
}
|
3506
|
+
if (componentIdentity === currentlyRenderingComponent) {
|
3507
|
+
didScheduleRenderPhaseUpdate = true;
|
3508
|
+
var update = {
|
3509
|
+
action: action,
|
3510
|
+
next: null
|
3511
|
+
};
|
3512
|
+
if (renderPhaseUpdates === null) {
|
3513
|
+
renderPhaseUpdates = new Map();
|
3514
|
+
}
|
3515
|
+
var firstRenderPhaseUpdate = renderPhaseUpdates.get(queue);
|
3516
|
+
if (firstRenderPhaseUpdate === undefined) {
|
3517
|
+
renderPhaseUpdates.set(queue, update);
|
3518
|
+
} else {
|
3519
|
+
var lastRenderPhaseUpdate = firstRenderPhaseUpdate;
|
3520
|
+
while (lastRenderPhaseUpdate.next !== null) {
|
3521
|
+
lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
|
3522
|
+
}
|
3523
|
+
lastRenderPhaseUpdate.next = update;
|
3524
|
+
}
|
3525
|
+
}
|
3526
|
+
}
|
3527
|
+
function useCallback(callback, deps) {
|
3528
|
+
return useMemo(function() {
|
3529
|
+
return callback;
|
3530
|
+
}, deps);
|
3531
|
+
}
|
3532
|
+
function useMutableSource(source, getSnapshot, subscribe) {
|
3533
|
+
resolveCurrentlyRenderingComponent();
|
3534
|
+
return getSnapshot(source._source);
|
3535
|
+
}
|
3536
|
+
function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
|
3537
|
+
if (getServerSnapshot === undefined) {
|
3538
|
+
throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');
|
3539
|
+
}
|
3540
|
+
return getServerSnapshot();
|
3541
|
+
}
|
3542
|
+
function useDeferredValue(value) {
|
3543
|
+
resolveCurrentlyRenderingComponent();
|
3544
|
+
return value;
|
3545
|
+
}
|
3546
|
+
function unsupportedStartTransition() {
|
3547
|
+
throw new Error('startTransition cannot be called during server rendering.');
|
3548
|
+
}
|
3549
|
+
function useTransition() {
|
3550
|
+
resolveCurrentlyRenderingComponent();
|
3551
|
+
return [false, unsupportedStartTransition];
|
3552
|
+
}
|
3553
|
+
function useId() {
|
3554
|
+
var task = currentlyRenderingTask;
|
3555
|
+
var treeId = getTreeId(task.treeContext);
|
3556
|
+
var responseState = currentResponseState;
|
3557
|
+
if (responseState === null) {
|
3558
|
+
throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component.');
|
3559
|
+
}
|
3560
|
+
var localId = localIdCounter++;
|
3561
|
+
return makeId(responseState, treeId, localId);
|
3562
|
+
}
|
3563
|
+
function noop() {}
|
3564
|
+
var Dispatcher = {
|
3565
|
+
readContext: readContext$1,
|
3566
|
+
useContext: useContext,
|
3567
|
+
useMemo: useMemo,
|
3568
|
+
useReducer: useReducer,
|
3569
|
+
useRef: useRef,
|
3570
|
+
useState: useState,
|
3571
|
+
useInsertionEffect: noop,
|
3572
|
+
useLayoutEffect: useLayoutEffect,
|
3573
|
+
useCallback: useCallback,
|
3574
|
+
useImperativeHandle: noop,
|
3575
|
+
useEffect: noop,
|
3576
|
+
useDebugValue: noop,
|
3577
|
+
useDeferredValue: useDeferredValue,
|
3578
|
+
useTransition: useTransition,
|
3579
|
+
useId: useId,
|
3580
|
+
useMutableSource: useMutableSource,
|
3581
|
+
useSyncExternalStore: useSyncExternalStore
|
3582
|
+
};
|
3583
|
+
var currentResponseState = null;
|
3584
|
+
function setCurrentResponseState(responseState) {
|
3585
|
+
currentResponseState = responseState;
|
3586
|
+
}
|
3587
|
+
function getStackByComponentStackNode(componentStack) {
|
3588
|
+
try {
|
3589
|
+
var info = '';
|
3590
|
+
var node = componentStack;
|
3591
|
+
do {
|
3592
|
+
switch (node.tag) {
|
3593
|
+
case 0:
|
3594
|
+
info += describeBuiltInComponentFrame(node.type, null, null);
|
3595
|
+
break;
|
3596
|
+
case 1:
|
3597
|
+
info += describeFunctionComponentFrame(node.type, null, null);
|
3598
|
+
break;
|
3599
|
+
case 2:
|
3600
|
+
info += describeClassComponentFrame(node.type, null, null);
|
3601
|
+
break;
|
3602
|
+
}
|
3603
|
+
node = node.parent;
|
3604
|
+
} while (node);
|
3605
|
+
return info;
|
3606
|
+
} catch (x) {
|
3607
|
+
return '\nError generating stack: ' + x.message + '\n' + x.stack;
|
3608
|
+
}
|
3609
|
+
}
|
3610
|
+
var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;
|
3611
|
+
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
3612
|
+
var PENDING = 0;
|
3613
|
+
var COMPLETED = 1;
|
3614
|
+
var FLUSHED = 2;
|
3615
|
+
var ABORTED = 3;
|
3616
|
+
var ERRORED = 4;
|
3617
|
+
var OPEN = 0;
|
3618
|
+
var CLOSING = 1;
|
3619
|
+
var CLOSED = 2;
|
3620
|
+
var DEFAULT_PROGRESSIVE_CHUNK_SIZE = 12800;
|
3621
|
+
function defaultErrorHandler(error) {
|
3622
|
+
console['error'](error);
|
3623
|
+
}
|
3624
|
+
function noop$1() {}
|
3625
|
+
function createRequest(children, responseState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError) {
|
3626
|
+
var pingedTasks = [];
|
3627
|
+
var abortSet = new Set();
|
3628
|
+
var request = {
|
3629
|
+
destination: null,
|
3630
|
+
responseState: responseState,
|
3631
|
+
progressiveChunkSize: progressiveChunkSize === undefined ? DEFAULT_PROGRESSIVE_CHUNK_SIZE : progressiveChunkSize,
|
3632
|
+
status: OPEN,
|
3633
|
+
fatalError: null,
|
3634
|
+
nextSegmentId: 0,
|
3635
|
+
allPendingTasks: 0,
|
3636
|
+
pendingRootTasks: 0,
|
3637
|
+
completedRootSegment: null,
|
3638
|
+
abortableTasks: abortSet,
|
3639
|
+
pingedTasks: pingedTasks,
|
3640
|
+
clientRenderedBoundaries: [],
|
3641
|
+
completedBoundaries: [],
|
3642
|
+
partialBoundaries: [],
|
3643
|
+
onError: onError === undefined ? defaultErrorHandler : onError,
|
3644
|
+
onAllReady: onAllReady === undefined ? noop$1 : onAllReady,
|
3645
|
+
onShellReady: onShellReady === undefined ? noop$1 : onShellReady,
|
3646
|
+
onShellError: onShellError === undefined ? noop$1 : onShellError,
|
3647
|
+
onFatalError: onFatalError === undefined ? noop$1 : onFatalError
|
3648
|
+
};
|
3649
|
+
var rootSegment = createPendingSegment(request, 0, null, rootFormatContext);
|
3650
|
+
rootSegment.parentFlushed = true;
|
3651
|
+
var rootTask = createTask(request, children, null, rootSegment, abortSet, emptyContextObject, rootContextSnapshot, emptyTreeContext);
|
3652
|
+
pingedTasks.push(rootTask);
|
3653
|
+
return request;
|
3654
|
+
}
|
3655
|
+
function pingTask(request, task) {
|
3656
|
+
var pingedTasks = request.pingedTasks;
|
3657
|
+
pingedTasks.push(task);
|
3658
|
+
if (pingedTasks.length === 1) {
|
3659
|
+
scheduleWork(function() {
|
3660
|
+
return performWork(request);
|
3661
|
+
});
|
3662
|
+
}
|
3663
|
+
}
|
3664
|
+
function createSuspenseBoundary(request, fallbackAbortableTasks) {
|
3665
|
+
return {
|
3666
|
+
id: UNINITIALIZED_SUSPENSE_BOUNDARY_ID,
|
3667
|
+
rootSegmentID: -1,
|
3668
|
+
parentFlushed: false,
|
3669
|
+
pendingTasks: 0,
|
3670
|
+
forceClientRender: false,
|
3671
|
+
completedSegments: [],
|
3672
|
+
byteSize: 0,
|
3673
|
+
fallbackAbortableTasks: fallbackAbortableTasks
|
3674
|
+
};
|
3675
|
+
}
|
3676
|
+
function createTask(request, node, blockedBoundary, blockedSegment, abortSet, legacyContext, context, treeContext) {
|
3677
|
+
request.allPendingTasks++;
|
3678
|
+
if (blockedBoundary === null) {
|
3679
|
+
request.pendingRootTasks++;
|
3680
|
+
} else {
|
3681
|
+
blockedBoundary.pendingTasks++;
|
3682
|
+
}
|
3683
|
+
var task = {
|
3684
|
+
node: node,
|
3685
|
+
ping: function() {
|
3686
|
+
return pingTask(request, task);
|
3687
|
+
},
|
3688
|
+
blockedBoundary: blockedBoundary,
|
3689
|
+
blockedSegment: blockedSegment,
|
3690
|
+
abortSet: abortSet,
|
3691
|
+
legacyContext: legacyContext,
|
3692
|
+
context: context,
|
3693
|
+
treeContext: treeContext
|
3694
|
+
};
|
3695
|
+
{
|
3696
|
+
task.componentStack = null;
|
3697
|
+
}
|
3698
|
+
abortSet.add(task);
|
3699
|
+
return task;
|
3700
|
+
}
|
3701
|
+
function createPendingSegment(request, index, boundary, formatContext) {
|
3702
|
+
return {
|
3703
|
+
status: PENDING,
|
3704
|
+
id: -1,
|
3705
|
+
index: index,
|
3706
|
+
parentFlushed: false,
|
3707
|
+
chunks: [],
|
3708
|
+
children: [],
|
3709
|
+
formatContext: formatContext,
|
3710
|
+
boundary: boundary
|
3711
|
+
};
|
3712
|
+
}
|
3713
|
+
var currentTaskInDEV = null;
|
3714
|
+
function getCurrentStackInDEV() {
|
3715
|
+
{
|
3716
|
+
if (currentTaskInDEV === null || currentTaskInDEV.componentStack === null) {
|
3717
|
+
return '';
|
3718
|
+
}
|
3719
|
+
return getStackByComponentStackNode(currentTaskInDEV.componentStack);
|
3720
|
+
}
|
3721
|
+
}
|
3722
|
+
function pushBuiltInComponentStackInDEV(task, type) {
|
3723
|
+
{
|
3724
|
+
task.componentStack = {
|
3725
|
+
tag: 0,
|
3726
|
+
parent: task.componentStack,
|
3727
|
+
type: type
|
3728
|
+
};
|
3729
|
+
}
|
3730
|
+
}
|
3731
|
+
function pushFunctionComponentStackInDEV(task, type) {
|
3732
|
+
{
|
3733
|
+
task.componentStack = {
|
3734
|
+
tag: 1,
|
3735
|
+
parent: task.componentStack,
|
3736
|
+
type: type
|
3737
|
+
};
|
3738
|
+
}
|
3739
|
+
}
|
3740
|
+
function pushClassComponentStackInDEV(task, type) {
|
3741
|
+
{
|
3742
|
+
task.componentStack = {
|
3743
|
+
tag: 2,
|
3744
|
+
parent: task.componentStack,
|
3745
|
+
type: type
|
3746
|
+
};
|
3747
|
+
}
|
3748
|
+
}
|
3749
|
+
function popComponentStackInDEV(task) {
|
3750
|
+
{
|
3751
|
+
if (task.componentStack === null) {
|
3752
|
+
error('Unexpectedly popped too many stack frames. This is a bug in React.');
|
3753
|
+
} else {
|
3754
|
+
task.componentStack = task.componentStack.parent;
|
3755
|
+
}
|
3756
|
+
}
|
3757
|
+
}
|
3758
|
+
function logRecoverableError(request, error) {
|
3759
|
+
var onError = request.onError;
|
3760
|
+
onError(error);
|
3761
|
+
}
|
3762
|
+
function fatalError(request, error) {
|
3763
|
+
var onShellError = request.onShellError;
|
3764
|
+
onShellError(error);
|
3765
|
+
var onFatalError = request.onFatalError;
|
3766
|
+
onFatalError(error);
|
3767
|
+
if (request.destination !== null) {
|
3768
|
+
request.status = CLOSED;
|
3769
|
+
closeWithError(request.destination, error);
|
3770
|
+
} else {
|
3771
|
+
request.status = CLOSING;
|
3772
|
+
request.fatalError = error;
|
3773
|
+
}
|
3774
|
+
}
|
3775
|
+
function renderSuspenseBoundary(request, task, props) {
|
3776
|
+
pushBuiltInComponentStackInDEV(task, 'Suspense');
|
3777
|
+
var parentBoundary = task.blockedBoundary;
|
3778
|
+
var parentSegment = task.blockedSegment;
|
3779
|
+
var fallback = props.fallback;
|
3780
|
+
var content = props.children;
|
3781
|
+
var fallbackAbortSet = new Set();
|
3782
|
+
var newBoundary = createSuspenseBoundary(request, fallbackAbortSet);
|
3783
|
+
var insertionIndex = parentSegment.chunks.length;
|
3784
|
+
var boundarySegment = createPendingSegment(request, insertionIndex, newBoundary, parentSegment.formatContext);
|
3785
|
+
parentSegment.children.push(boundarySegment);
|
3786
|
+
var contentRootSegment = createPendingSegment(request, 0, null, parentSegment.formatContext);
|
3787
|
+
contentRootSegment.parentFlushed = true;
|
3788
|
+
task.blockedBoundary = newBoundary;
|
3789
|
+
task.blockedSegment = contentRootSegment;
|
3790
|
+
try {
|
3791
|
+
renderNode(request, task, content);
|
3792
|
+
contentRootSegment.status = COMPLETED;
|
3793
|
+
queueCompletedSegment(newBoundary, contentRootSegment);
|
3794
|
+
if (newBoundary.pendingTasks === 0) {
|
3795
|
+
popComponentStackInDEV(task);
|
3796
|
+
return;
|
3797
|
+
}
|
3798
|
+
} catch (error) {
|
3799
|
+
contentRootSegment.status = ERRORED;
|
3800
|
+
logRecoverableError(request, error);
|
3801
|
+
newBoundary.forceClientRender = true;
|
3802
|
+
} finally {
|
3803
|
+
task.blockedBoundary = parentBoundary;
|
3804
|
+
task.blockedSegment = parentSegment;
|
3805
|
+
}
|
3806
|
+
var suspendedFallbackTask = createTask(request, fallback, parentBoundary, boundarySegment, fallbackAbortSet, task.legacyContext, task.context, task.treeContext);
|
3807
|
+
{
|
3808
|
+
suspendedFallbackTask.componentStack = task.componentStack;
|
3809
|
+
}
|
3810
|
+
request.pingedTasks.push(suspendedFallbackTask);
|
3811
|
+
popComponentStackInDEV(task);
|
3812
|
+
}
|
3813
|
+
function renderHostElement(request, task, type, props) {
|
3814
|
+
pushBuiltInComponentStackInDEV(task, type);
|
3815
|
+
var segment = task.blockedSegment;
|
3816
|
+
var children = pushStartInstance(segment.chunks, type, props, request.responseState, segment.formatContext);
|
3817
|
+
var prevContext = segment.formatContext;
|
3818
|
+
segment.formatContext = getChildFormatContext(prevContext, type, props);
|
3819
|
+
renderNode(request, task, children);
|
3820
|
+
segment.formatContext = prevContext;
|
3821
|
+
pushEndInstance(segment.chunks, type);
|
3822
|
+
popComponentStackInDEV(task);
|
3823
|
+
}
|
3824
|
+
function shouldConstruct$1(Component) {
|
3825
|
+
return Component.prototype && Component.prototype.isReactComponent;
|
3826
|
+
}
|
3827
|
+
function renderWithHooks(request, task, Component, props, secondArg) {
|
3828
|
+
var componentIdentity = {};
|
3829
|
+
prepareToUseHooks(task, componentIdentity);
|
3830
|
+
var result = Component(props, secondArg);
|
3831
|
+
return finishHooks(Component, props, result, secondArg);
|
3832
|
+
}
|
3833
|
+
function finishClassComponent(request, task, instance, Component, props) {
|
3834
|
+
var nextChildren = instance.render();
|
3835
|
+
{
|
3836
|
+
if (instance.props !== props) {
|
3837
|
+
if (!didWarnAboutReassigningProps) {
|
3838
|
+
error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromType(Component) || 'a component');
|
3839
|
+
}
|
3840
|
+
didWarnAboutReassigningProps = true;
|
3841
|
+
}
|
3842
|
+
}
|
3843
|
+
{
|
3844
|
+
var childContextTypes = Component.childContextTypes;
|
3845
|
+
if (childContextTypes !== null && childContextTypes !== undefined) {
|
3846
|
+
var previousContext = task.legacyContext;
|
3847
|
+
var mergedContext = processChildContext(instance, Component, previousContext, childContextTypes);
|
3848
|
+
task.legacyContext = mergedContext;
|
3849
|
+
renderNodeDestructive(request, task, nextChildren);
|
3850
|
+
task.legacyContext = previousContext;
|
3851
|
+
return;
|
3852
|
+
}
|
3853
|
+
}
|
3854
|
+
renderNodeDestructive(request, task, nextChildren);
|
3855
|
+
}
|
3856
|
+
function renderClassComponent(request, task, Component, props) {
|
3857
|
+
pushClassComponentStackInDEV(task, Component);
|
3858
|
+
var maskedContext = getMaskedContext(Component, task.legacyContext);
|
3859
|
+
var instance = constructClassInstance(Component, props, maskedContext);
|
3860
|
+
mountClassInstance(instance, Component, props, maskedContext);
|
3861
|
+
finishClassComponent(request, task, instance, Component, props);
|
3862
|
+
popComponentStackInDEV(task);
|
3863
|
+
}
|
3864
|
+
var didWarnAboutBadClass = {};
|
3865
|
+
var didWarnAboutModulePatternComponent = {};
|
3866
|
+
var didWarnAboutContextTypeOnFunctionComponent = {};
|
3867
|
+
var didWarnAboutGetDerivedStateOnFunctionComponent = {};
|
3868
|
+
var didWarnAboutReassigningProps = false;
|
3869
|
+
var didWarnAboutGenerators = false;
|
3870
|
+
var didWarnAboutMaps = false;
|
3871
|
+
var hasWarnedAboutUsingContextAsConsumer = false;
|
3872
|
+
function renderIndeterminateComponent(request, task, Component, props) {
|
3873
|
+
var legacyContext;
|
3874
|
+
{
|
3875
|
+
legacyContext = getMaskedContext(Component, task.legacyContext);
|
3876
|
+
}
|
3877
|
+
pushFunctionComponentStackInDEV(task, Component);
|
3878
|
+
{
|
3879
|
+
if (Component.prototype && typeof Component.prototype.render === 'function') {
|
3880
|
+
var componentName = getComponentNameFromType(Component) || 'Unknown';
|
3881
|
+
if (!didWarnAboutBadClass[componentName]) {
|
3882
|
+
error("The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);
|
3883
|
+
didWarnAboutBadClass[componentName] = true;
|
3884
|
+
}
|
3885
|
+
}
|
3886
|
+
}
|
3887
|
+
var value = renderWithHooks(request, task, Component, props, legacyContext);
|
3888
|
+
var hasId = checkDidRenderIdHook();
|
3889
|
+
{
|
3890
|
+
if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {
|
3891
|
+
var _componentName = getComponentNameFromType(Component) || 'Unknown';
|
3892
|
+
if (!didWarnAboutModulePatternComponent[_componentName]) {
|
3893
|
+
error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);
|
3894
|
+
didWarnAboutModulePatternComponent[_componentName] = true;
|
3895
|
+
}
|
3896
|
+
}
|
3897
|
+
}
|
3898
|
+
if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {
|
3899
|
+
{
|
3900
|
+
var _componentName2 = getComponentNameFromType(Component) || 'Unknown';
|
3901
|
+
if (!didWarnAboutModulePatternComponent[_componentName2]) {
|
3902
|
+
error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);
|
3903
|
+
didWarnAboutModulePatternComponent[_componentName2] = true;
|
3904
|
+
}
|
3905
|
+
}
|
3906
|
+
mountClassInstance(value, Component, props, legacyContext);
|
3907
|
+
finishClassComponent(request, task, value, Component, props);
|
3908
|
+
} else {
|
3909
|
+
{
|
3910
|
+
validateFunctionComponentInDev(Component);
|
3911
|
+
}
|
3912
|
+
if (hasId) {
|
3913
|
+
var prevTreeContext = task.treeContext;
|
3914
|
+
var totalChildren = 1;
|
3915
|
+
var index = 0;
|
3916
|
+
task.treeContext = pushTreeContext(prevTreeContext, totalChildren, index);
|
3917
|
+
try {
|
3918
|
+
renderNodeDestructive(request, task, value);
|
3919
|
+
} finally {
|
3920
|
+
task.treeContext = prevTreeContext;
|
3921
|
+
}
|
3922
|
+
} else {
|
3923
|
+
renderNodeDestructive(request, task, value);
|
3924
|
+
}
|
3925
|
+
}
|
3926
|
+
popComponentStackInDEV(task);
|
3927
|
+
}
|
3928
|
+
function validateFunctionComponentInDev(Component) {
|
3929
|
+
{
|
3930
|
+
if (Component) {
|
3931
|
+
if (Component.childContextTypes) {
|
3932
|
+
error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');
|
3933
|
+
}
|
3934
|
+
}
|
3935
|
+
if (typeof Component.getDerivedStateFromProps === 'function') {
|
3936
|
+
var _componentName3 = getComponentNameFromType(Component) || 'Unknown';
|
3937
|
+
if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {
|
3938
|
+
error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);
|
3939
|
+
didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;
|
3940
|
+
}
|
3941
|
+
}
|
3942
|
+
if (typeof Component.contextType === 'object' && Component.contextType !== null) {
|
3943
|
+
var _componentName4 = getComponentNameFromType(Component) || 'Unknown';
|
3944
|
+
if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {
|
3945
|
+
error('%s: Function components do not support contextType.', _componentName4);
|
3946
|
+
didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;
|
3947
|
+
}
|
3948
|
+
}
|
3949
|
+
}
|
3950
|
+
}
|
3951
|
+
function resolveDefaultProps(Component, baseProps) {
|
3952
|
+
if (Component && Component.defaultProps) {
|
3953
|
+
var props = assign({}, baseProps);
|
3954
|
+
var defaultProps = Component.defaultProps;
|
3955
|
+
for (var propName in defaultProps) {
|
3956
|
+
if (props[propName] === undefined) {
|
3957
|
+
props[propName] = defaultProps[propName];
|
3958
|
+
}
|
3959
|
+
}
|
3960
|
+
return props;
|
3961
|
+
}
|
3962
|
+
return baseProps;
|
3963
|
+
}
|
3964
|
+
function renderForwardRef(request, task, type, props, ref) {
|
3965
|
+
pushFunctionComponentStackInDEV(task, type.render);
|
3966
|
+
var children = renderWithHooks(request, task, type.render, props, ref);
|
3967
|
+
var hasId = checkDidRenderIdHook();
|
3968
|
+
if (hasId) {
|
3969
|
+
var prevTreeContext = task.treeContext;
|
3970
|
+
var totalChildren = 1;
|
3971
|
+
var index = 0;
|
3972
|
+
task.treeContext = pushTreeContext(prevTreeContext, totalChildren, index);
|
3973
|
+
try {
|
3974
|
+
renderNodeDestructive(request, task, children);
|
3975
|
+
} finally {
|
3976
|
+
task.treeContext = prevTreeContext;
|
3977
|
+
}
|
3978
|
+
} else {
|
3979
|
+
renderNodeDestructive(request, task, children);
|
3980
|
+
}
|
3981
|
+
popComponentStackInDEV(task);
|
3982
|
+
}
|
3983
|
+
function renderMemo(request, task, type, props, ref) {
|
3984
|
+
var innerType = type.type;
|
3985
|
+
var resolvedProps = resolveDefaultProps(innerType, props);
|
3986
|
+
renderElement(request, task, innerType, resolvedProps, ref);
|
3987
|
+
}
|
3988
|
+
function renderContextConsumer(request, task, context, props) {
|
3989
|
+
{
|
3990
|
+
if (context._context === undefined) {
|
3991
|
+
if (context !== context.Consumer) {
|
3992
|
+
if (!hasWarnedAboutUsingContextAsConsumer) {
|
3993
|
+
hasWarnedAboutUsingContextAsConsumer = true;
|
3994
|
+
error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
|
3995
|
+
}
|
3996
|
+
}
|
3997
|
+
} else {
|
3998
|
+
context = context._context;
|
3999
|
+
}
|
4000
|
+
}
|
4001
|
+
var render = props.children;
|
4002
|
+
{
|
4003
|
+
if (typeof render !== 'function') {
|
4004
|
+
error('A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');
|
4005
|
+
}
|
4006
|
+
}
|
4007
|
+
var newValue = readContext(context);
|
4008
|
+
var newChildren = render(newValue);
|
4009
|
+
renderNodeDestructive(request, task, newChildren);
|
4010
|
+
}
|
4011
|
+
function renderContextProvider(request, task, type, props) {
|
4012
|
+
var context = type._context;
|
4013
|
+
var value = props.value;
|
4014
|
+
var children = props.children;
|
4015
|
+
var prevSnapshot;
|
4016
|
+
{
|
4017
|
+
prevSnapshot = task.context;
|
4018
|
+
}
|
4019
|
+
task.context = pushProvider(context, value);
|
4020
|
+
renderNodeDestructive(request, task, children);
|
4021
|
+
task.context = popProvider(context);
|
4022
|
+
{
|
4023
|
+
if (prevSnapshot !== task.context) {
|
4024
|
+
error('Popping the context provider did not return back to the original snapshot. This is a bug in React.');
|
4025
|
+
}
|
4026
|
+
}
|
4027
|
+
}
|
4028
|
+
function renderLazyComponent(request, task, lazyComponent, props, ref) {
|
4029
|
+
pushBuiltInComponentStackInDEV(task, 'Lazy');
|
4030
|
+
var payload = lazyComponent._payload;
|
4031
|
+
var init = lazyComponent._init;
|
4032
|
+
var Component = init(payload);
|
4033
|
+
var resolvedProps = resolveDefaultProps(Component, props);
|
4034
|
+
renderElement(request, task, Component, resolvedProps, ref);
|
4035
|
+
popComponentStackInDEV(task);
|
4036
|
+
}
|
4037
|
+
function renderElement(request, task, type, props, ref) {
|
4038
|
+
if (typeof type === 'function') {
|
4039
|
+
if (shouldConstruct$1(type)) {
|
4040
|
+
renderClassComponent(request, task, type, props);
|
4041
|
+
return;
|
4042
|
+
} else {
|
4043
|
+
renderIndeterminateComponent(request, task, type, props);
|
4044
|
+
return;
|
4045
|
+
}
|
4046
|
+
}
|
4047
|
+
if (typeof type === 'string') {
|
4048
|
+
renderHostElement(request, task, type, props);
|
4049
|
+
return;
|
4050
|
+
}
|
4051
|
+
switch (type) {
|
4052
|
+
case REACT_LEGACY_HIDDEN_TYPE:
|
4053
|
+
case REACT_DEBUG_TRACING_MODE_TYPE:
|
4054
|
+
case REACT_STRICT_MODE_TYPE:
|
4055
|
+
case REACT_PROFILER_TYPE:
|
4056
|
+
case REACT_FRAGMENT_TYPE:
|
4057
|
+
{
|
4058
|
+
renderNodeDestructive(request, task, props.children);
|
4059
|
+
return;
|
4060
|
+
}
|
4061
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
4062
|
+
{
|
4063
|
+
pushBuiltInComponentStackInDEV(task, 'SuspenseList');
|
4064
|
+
renderNodeDestructive(request, task, props.children);
|
4065
|
+
popComponentStackInDEV(task);
|
4066
|
+
return;
|
4067
|
+
}
|
4068
|
+
case REACT_SCOPE_TYPE:
|
4069
|
+
{
|
4070
|
+
throw new Error('ReactDOMServer does not yet support scope components.');
|
4071
|
+
}
|
4072
|
+
case REACT_SUSPENSE_TYPE:
|
4073
|
+
{
|
4074
|
+
{
|
4075
|
+
renderSuspenseBoundary(request, task, props);
|
4076
|
+
}
|
4077
|
+
return;
|
4078
|
+
}
|
4079
|
+
}
|
4080
|
+
if (typeof type === 'object' && type !== null) {
|
4081
|
+
switch (type.$$typeof) {
|
4082
|
+
case REACT_FORWARD_REF_TYPE:
|
4083
|
+
{
|
4084
|
+
renderForwardRef(request, task, type, props, ref);
|
4085
|
+
return;
|
4086
|
+
}
|
4087
|
+
case REACT_MEMO_TYPE:
|
4088
|
+
{
|
4089
|
+
renderMemo(request, task, type, props, ref);
|
4090
|
+
return;
|
4091
|
+
}
|
4092
|
+
case REACT_PROVIDER_TYPE:
|
4093
|
+
{
|
4094
|
+
renderContextProvider(request, task, type, props);
|
4095
|
+
return;
|
4096
|
+
}
|
4097
|
+
case REACT_CONTEXT_TYPE:
|
4098
|
+
{
|
4099
|
+
renderContextConsumer(request, task, type, props);
|
4100
|
+
return;
|
4101
|
+
}
|
4102
|
+
case REACT_LAZY_TYPE:
|
4103
|
+
{
|
4104
|
+
renderLazyComponent(request, task, type, props);
|
4105
|
+
return;
|
4106
|
+
}
|
4107
|
+
}
|
4108
|
+
}
|
4109
|
+
var info = '';
|
4110
|
+
{
|
4111
|
+
if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
|
4112
|
+
info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.';
|
4113
|
+
}
|
4114
|
+
}
|
4115
|
+
throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + ("but got: " + (type == null ? type : typeof type) + "." + info));
|
4116
|
+
}
|
4117
|
+
function validateIterable(iterable, iteratorFn) {
|
4118
|
+
{
|
4119
|
+
if (typeof Symbol === 'function' && iterable[Symbol.toStringTag] === 'Generator') {
|
4120
|
+
if (!didWarnAboutGenerators) {
|
4121
|
+
error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');
|
4122
|
+
}
|
4123
|
+
didWarnAboutGenerators = true;
|
4124
|
+
}
|
4125
|
+
if (iterable.entries === iteratorFn) {
|
4126
|
+
if (!didWarnAboutMaps) {
|
4127
|
+
error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');
|
4128
|
+
}
|
4129
|
+
didWarnAboutMaps = true;
|
4130
|
+
}
|
4131
|
+
}
|
4132
|
+
}
|
4133
|
+
function renderNodeDestructive(request, task, node) {
|
4134
|
+
task.node = node;
|
4135
|
+
if (typeof node === 'object' && node !== null) {
|
4136
|
+
switch (node.$$typeof) {
|
4137
|
+
case REACT_ELEMENT_TYPE:
|
4138
|
+
{
|
4139
|
+
var element = node;
|
4140
|
+
var type = element.type;
|
4141
|
+
var props = element.props;
|
4142
|
+
var ref = element.ref;
|
4143
|
+
renderElement(request, task, type, props, ref);
|
4144
|
+
return;
|
4145
|
+
}
|
4146
|
+
case REACT_PORTAL_TYPE:
|
4147
|
+
throw new Error('Portals are not currently supported by the server renderer. ' + 'Render them conditionally so that they only appear on the client render.');
|
4148
|
+
case REACT_LAZY_TYPE:
|
4149
|
+
{
|
4150
|
+
{
|
4151
|
+
var lazyNode = node;
|
4152
|
+
var payload = lazyNode._payload;
|
4153
|
+
var init = lazyNode._init;
|
4154
|
+
var resolvedNode = init(payload);
|
4155
|
+
renderNodeDestructive(request, task, resolvedNode);
|
4156
|
+
return;
|
4157
|
+
}
|
4158
|
+
}
|
4159
|
+
}
|
4160
|
+
if (isArray(node)) {
|
4161
|
+
renderChildrenArray(request, task, node);
|
4162
|
+
return;
|
4163
|
+
}
|
4164
|
+
var iteratorFn = getIteratorFn(node);
|
4165
|
+
if (iteratorFn) {
|
4166
|
+
{
|
4167
|
+
validateIterable(node, iteratorFn);
|
4168
|
+
}
|
4169
|
+
var iterator = iteratorFn.call(node);
|
4170
|
+
if (iterator) {
|
4171
|
+
var step = iterator.next();
|
4172
|
+
if (!step.done) {
|
4173
|
+
var children = [];
|
4174
|
+
do {
|
4175
|
+
children.push(step.value);
|
4176
|
+
step = iterator.next();
|
4177
|
+
} while (!step.done);
|
4178
|
+
renderChildrenArray(request, task, children);
|
4179
|
+
return;
|
4180
|
+
}
|
4181
|
+
return;
|
4182
|
+
}
|
4183
|
+
}
|
4184
|
+
var childString = Object.prototype.toString.call(node);
|
4185
|
+
throw new Error("Objects are not valid as a React child (found: " + (childString === '[object Object]' ? 'object with keys {' + Object.keys(node).join(', ') + '}' : childString) + "). " + 'If you meant to render a collection of children, use an array ' + 'instead.');
|
4186
|
+
}
|
4187
|
+
if (typeof node === 'string') {
|
4188
|
+
pushTextInstance(task.blockedSegment.chunks, node, request.responseState);
|
4189
|
+
return;
|
4190
|
+
}
|
4191
|
+
if (typeof node === 'number') {
|
4192
|
+
pushTextInstance(task.blockedSegment.chunks, '' + node, request.responseState);
|
4193
|
+
return;
|
4194
|
+
}
|
4195
|
+
{
|
4196
|
+
if (typeof node === 'function') {
|
4197
|
+
error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');
|
4198
|
+
}
|
4199
|
+
}
|
4200
|
+
}
|
4201
|
+
function renderChildrenArray(request, task, children) {
|
4202
|
+
var totalChildren = children.length;
|
4203
|
+
for (var i = 0; i < totalChildren; i++) {
|
4204
|
+
var prevTreeContext = task.treeContext;
|
4205
|
+
task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i);
|
4206
|
+
try {
|
4207
|
+
renderNode(request, task, children[i]);
|
4208
|
+
} finally {
|
4209
|
+
task.treeContext = prevTreeContext;
|
4210
|
+
}
|
4211
|
+
}
|
4212
|
+
}
|
4213
|
+
function spawnNewSuspendedTask(request, task, x) {
|
4214
|
+
var segment = task.blockedSegment;
|
4215
|
+
var insertionIndex = segment.chunks.length;
|
4216
|
+
var newSegment = createPendingSegment(request, insertionIndex, null, segment.formatContext);
|
4217
|
+
segment.children.push(newSegment);
|
4218
|
+
var newTask = createTask(request, task.node, task.blockedBoundary, newSegment, task.abortSet, task.legacyContext, task.context, task.treeContext);
|
4219
|
+
{
|
4220
|
+
if (task.componentStack !== null) {
|
4221
|
+
newTask.componentStack = task.componentStack.parent;
|
4222
|
+
}
|
4223
|
+
}
|
4224
|
+
var ping = newTask.ping;
|
4225
|
+
x.then(ping, ping);
|
4226
|
+
}
|
4227
|
+
function renderNode(request, task, node) {
|
4228
|
+
var previousFormatContext = task.blockedSegment.formatContext;
|
4229
|
+
var previousLegacyContext = task.legacyContext;
|
4230
|
+
var previousContext = task.context;
|
4231
|
+
var previousComponentStack = null;
|
4232
|
+
{
|
4233
|
+
previousComponentStack = task.componentStack;
|
4234
|
+
}
|
4235
|
+
try {
|
4236
|
+
return renderNodeDestructive(request, task, node);
|
4237
|
+
} catch (x) {
|
4238
|
+
resetHooksState();
|
4239
|
+
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
4240
|
+
spawnNewSuspendedTask(request, task, x);
|
4241
|
+
task.blockedSegment.formatContext = previousFormatContext;
|
4242
|
+
task.legacyContext = previousLegacyContext;
|
4243
|
+
task.context = previousContext;
|
4244
|
+
switchContext(previousContext);
|
4245
|
+
{
|
4246
|
+
task.componentStack = previousComponentStack;
|
4247
|
+
}
|
4248
|
+
return;
|
4249
|
+
} else {
|
4250
|
+
task.blockedSegment.formatContext = previousFormatContext;
|
4251
|
+
task.legacyContext = previousLegacyContext;
|
4252
|
+
task.context = previousContext;
|
4253
|
+
switchContext(previousContext);
|
4254
|
+
{
|
4255
|
+
task.componentStack = previousComponentStack;
|
4256
|
+
}
|
4257
|
+
throw x;
|
4258
|
+
}
|
4259
|
+
}
|
4260
|
+
}
|
4261
|
+
function erroredTask(request, boundary, segment, error) {
|
4262
|
+
logRecoverableError(request, error);
|
4263
|
+
if (boundary === null) {
|
4264
|
+
fatalError(request, error);
|
4265
|
+
} else {
|
4266
|
+
boundary.pendingTasks--;
|
4267
|
+
if (!boundary.forceClientRender) {
|
4268
|
+
boundary.forceClientRender = true;
|
4269
|
+
if (boundary.parentFlushed) {
|
4270
|
+
request.clientRenderedBoundaries.push(boundary);
|
4271
|
+
}
|
4272
|
+
}
|
4273
|
+
}
|
4274
|
+
request.allPendingTasks--;
|
4275
|
+
if (request.allPendingTasks === 0) {
|
4276
|
+
var onAllReady = request.onAllReady;
|
4277
|
+
onAllReady();
|
4278
|
+
}
|
4279
|
+
}
|
4280
|
+
function abortTaskSoft(task) {
|
4281
|
+
var request = this;
|
4282
|
+
var boundary = task.blockedBoundary;
|
4283
|
+
var segment = task.blockedSegment;
|
4284
|
+
segment.status = ABORTED;
|
4285
|
+
finishedTask(request, boundary, segment);
|
4286
|
+
}
|
4287
|
+
function abortTask(task) {
|
4288
|
+
var request = this;
|
4289
|
+
var boundary = task.blockedBoundary;
|
4290
|
+
var segment = task.blockedSegment;
|
4291
|
+
segment.status = ABORTED;
|
4292
|
+
if (boundary === null) {
|
4293
|
+
request.allPendingTasks--;
|
4294
|
+
if (request.status !== CLOSED) {
|
4295
|
+
request.status = CLOSED;
|
4296
|
+
if (request.destination !== null) {
|
4297
|
+
close(request.destination);
|
4298
|
+
}
|
4299
|
+
}
|
4300
|
+
} else {
|
4301
|
+
boundary.pendingTasks--;
|
4302
|
+
if (!boundary.forceClientRender) {
|
4303
|
+
boundary.forceClientRender = true;
|
4304
|
+
if (boundary.parentFlushed) {
|
4305
|
+
request.clientRenderedBoundaries.push(boundary);
|
4306
|
+
}
|
4307
|
+
}
|
4308
|
+
boundary.fallbackAbortableTasks.forEach(abortTask, request);
|
4309
|
+
boundary.fallbackAbortableTasks.clear();
|
4310
|
+
request.allPendingTasks--;
|
4311
|
+
if (request.allPendingTasks === 0) {
|
4312
|
+
var onAllReady = request.onAllReady;
|
4313
|
+
onAllReady();
|
4314
|
+
}
|
4315
|
+
}
|
4316
|
+
}
|
4317
|
+
function queueCompletedSegment(boundary, segment) {
|
4318
|
+
if (segment.chunks.length === 0 && segment.children.length === 1 && segment.children[0].boundary === null) {
|
4319
|
+
var childSegment = segment.children[0];
|
4320
|
+
childSegment.id = segment.id;
|
4321
|
+
childSegment.parentFlushed = true;
|
4322
|
+
if (childSegment.status === COMPLETED) {
|
4323
|
+
queueCompletedSegment(boundary, childSegment);
|
4324
|
+
}
|
4325
|
+
} else {
|
4326
|
+
var completedSegments = boundary.completedSegments;
|
4327
|
+
completedSegments.push(segment);
|
4328
|
+
}
|
4329
|
+
}
|
4330
|
+
function finishedTask(request, boundary, segment) {
|
4331
|
+
if (boundary === null) {
|
4332
|
+
if (segment.parentFlushed) {
|
4333
|
+
if (request.completedRootSegment !== null) {
|
4334
|
+
throw new Error('There can only be one root segment. This is a bug in React.');
|
4335
|
+
}
|
4336
|
+
request.completedRootSegment = segment;
|
4337
|
+
}
|
4338
|
+
request.pendingRootTasks--;
|
4339
|
+
if (request.pendingRootTasks === 0) {
|
4340
|
+
request.onShellError = noop$1;
|
4341
|
+
var onShellReady = request.onShellReady;
|
4342
|
+
onShellReady();
|
4343
|
+
}
|
4344
|
+
} else {
|
4345
|
+
boundary.pendingTasks--;
|
4346
|
+
if (boundary.forceClientRender)
|
4347
|
+
;
|
4348
|
+
else if (boundary.pendingTasks === 0) {
|
4349
|
+
if (segment.parentFlushed) {
|
4350
|
+
if (segment.status === COMPLETED) {
|
4351
|
+
queueCompletedSegment(boundary, segment);
|
4352
|
+
}
|
4353
|
+
}
|
4354
|
+
if (boundary.parentFlushed) {
|
4355
|
+
request.completedBoundaries.push(boundary);
|
4356
|
+
}
|
4357
|
+
boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request);
|
4358
|
+
boundary.fallbackAbortableTasks.clear();
|
4359
|
+
} else {
|
4360
|
+
if (segment.parentFlushed) {
|
4361
|
+
if (segment.status === COMPLETED) {
|
4362
|
+
queueCompletedSegment(boundary, segment);
|
4363
|
+
var completedSegments = boundary.completedSegments;
|
4364
|
+
if (completedSegments.length === 1) {
|
4365
|
+
if (boundary.parentFlushed) {
|
4366
|
+
request.partialBoundaries.push(boundary);
|
4367
|
+
}
|
4368
|
+
}
|
4369
|
+
}
|
4370
|
+
}
|
4371
|
+
}
|
4372
|
+
}
|
4373
|
+
request.allPendingTasks--;
|
4374
|
+
if (request.allPendingTasks === 0) {
|
4375
|
+
var onAllReady = request.onAllReady;
|
4376
|
+
onAllReady();
|
4377
|
+
}
|
4378
|
+
}
|
4379
|
+
function retryTask(request, task) {
|
4380
|
+
var segment = task.blockedSegment;
|
4381
|
+
if (segment.status !== PENDING) {
|
4382
|
+
return;
|
4383
|
+
}
|
4384
|
+
switchContext(task.context);
|
4385
|
+
var prevTaskInDEV = null;
|
4386
|
+
{
|
4387
|
+
prevTaskInDEV = currentTaskInDEV;
|
4388
|
+
currentTaskInDEV = task;
|
4389
|
+
}
|
4390
|
+
try {
|
4391
|
+
renderNodeDestructive(request, task, task.node);
|
4392
|
+
task.abortSet.delete(task);
|
4393
|
+
segment.status = COMPLETED;
|
4394
|
+
finishedTask(request, task.blockedBoundary, segment);
|
4395
|
+
} catch (x) {
|
4396
|
+
resetHooksState();
|
4397
|
+
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
4398
|
+
var ping = task.ping;
|
4399
|
+
x.then(ping, ping);
|
4400
|
+
} else {
|
4401
|
+
task.abortSet.delete(task);
|
4402
|
+
segment.status = ERRORED;
|
4403
|
+
erroredTask(request, task.blockedBoundary, segment, x);
|
4404
|
+
}
|
4405
|
+
} finally {
|
4406
|
+
{
|
4407
|
+
currentTaskInDEV = prevTaskInDEV;
|
4408
|
+
}
|
4409
|
+
}
|
4410
|
+
}
|
4411
|
+
function performWork(request) {
|
4412
|
+
if (request.status === CLOSED) {
|
4413
|
+
return;
|
4414
|
+
}
|
4415
|
+
var prevContext = getActiveContext();
|
4416
|
+
var prevDispatcher = ReactCurrentDispatcher$1.current;
|
4417
|
+
ReactCurrentDispatcher$1.current = Dispatcher;
|
4418
|
+
var prevGetCurrentStackImpl;
|
4419
|
+
{
|
4420
|
+
prevGetCurrentStackImpl = ReactDebugCurrentFrame$1.getCurrentStack;
|
4421
|
+
ReactDebugCurrentFrame$1.getCurrentStack = getCurrentStackInDEV;
|
4422
|
+
}
|
4423
|
+
var prevResponseState = currentResponseState;
|
4424
|
+
setCurrentResponseState(request.responseState);
|
4425
|
+
try {
|
4426
|
+
var pingedTasks = request.pingedTasks;
|
4427
|
+
var i;
|
4428
|
+
for (i = 0; i < pingedTasks.length; i++) {
|
4429
|
+
var task = pingedTasks[i];
|
4430
|
+
retryTask(request, task);
|
4431
|
+
}
|
4432
|
+
pingedTasks.splice(0, i);
|
4433
|
+
if (request.destination !== null) {
|
4434
|
+
flushCompletedQueues(request, request.destination);
|
4435
|
+
}
|
4436
|
+
} catch (error) {
|
4437
|
+
logRecoverableError(request, error);
|
4438
|
+
fatalError(request, error);
|
4439
|
+
} finally {
|
4440
|
+
setCurrentResponseState(prevResponseState);
|
4441
|
+
ReactCurrentDispatcher$1.current = prevDispatcher;
|
4442
|
+
{
|
4443
|
+
ReactDebugCurrentFrame$1.getCurrentStack = prevGetCurrentStackImpl;
|
4444
|
+
}
|
4445
|
+
if (prevDispatcher === Dispatcher) {
|
4446
|
+
switchContext(prevContext);
|
4447
|
+
}
|
4448
|
+
}
|
4449
|
+
}
|
4450
|
+
function flushSubtree(request, destination, segment) {
|
4451
|
+
segment.parentFlushed = true;
|
4452
|
+
switch (segment.status) {
|
4453
|
+
case PENDING:
|
4454
|
+
{
|
4455
|
+
var segmentID = segment.id = request.nextSegmentId++;
|
4456
|
+
return writePlaceholder(destination, request.responseState, segmentID);
|
4457
|
+
}
|
4458
|
+
case COMPLETED:
|
4459
|
+
{
|
4460
|
+
segment.status = FLUSHED;
|
4461
|
+
var r = true;
|
4462
|
+
var chunks = segment.chunks;
|
4463
|
+
var chunkIdx = 0;
|
4464
|
+
var children = segment.children;
|
4465
|
+
for (var childIdx = 0; childIdx < children.length; childIdx++) {
|
4466
|
+
var nextChild = children[childIdx];
|
4467
|
+
for (; chunkIdx < nextChild.index; chunkIdx++) {
|
4468
|
+
writeChunk(destination, chunks[chunkIdx]);
|
4469
|
+
}
|
4470
|
+
r = flushSegment(request, destination, nextChild);
|
4471
|
+
}
|
4472
|
+
for (; chunkIdx < chunks.length - 1; chunkIdx++) {
|
4473
|
+
writeChunk(destination, chunks[chunkIdx]);
|
4474
|
+
}
|
4475
|
+
if (chunkIdx < chunks.length) {
|
4476
|
+
r = writeChunkAndReturn(destination, chunks[chunkIdx]);
|
4477
|
+
}
|
4478
|
+
return r;
|
4479
|
+
}
|
4480
|
+
default:
|
4481
|
+
{
|
4482
|
+
throw new Error('Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.');
|
4483
|
+
}
|
4484
|
+
}
|
4485
|
+
}
|
4486
|
+
function flushSegment(request, destination, segment) {
|
4487
|
+
var boundary = segment.boundary;
|
4488
|
+
if (boundary === null) {
|
4489
|
+
return flushSubtree(request, destination, segment);
|
4490
|
+
}
|
4491
|
+
boundary.parentFlushed = true;
|
4492
|
+
if (boundary.forceClientRender) {
|
4493
|
+
writeStartClientRenderedSuspenseBoundary(destination, request.responseState);
|
4494
|
+
flushSubtree(request, destination, segment);
|
4495
|
+
return writeEndClientRenderedSuspenseBoundary(destination, request.responseState);
|
4496
|
+
} else if (boundary.pendingTasks > 0) {
|
4497
|
+
boundary.rootSegmentID = request.nextSegmentId++;
|
4498
|
+
if (boundary.completedSegments.length > 0) {
|
4499
|
+
request.partialBoundaries.push(boundary);
|
4500
|
+
}
|
4501
|
+
var id = boundary.id = assignSuspenseBoundaryID(request.responseState);
|
4502
|
+
writeStartPendingSuspenseBoundary(destination, request.responseState, id);
|
4503
|
+
flushSubtree(request, destination, segment);
|
4504
|
+
return writeEndPendingSuspenseBoundary(destination, request.responseState);
|
4505
|
+
} else if (boundary.byteSize > request.progressiveChunkSize) {
|
4506
|
+
boundary.rootSegmentID = request.nextSegmentId++;
|
4507
|
+
request.completedBoundaries.push(boundary);
|
4508
|
+
writeStartPendingSuspenseBoundary(destination, request.responseState, boundary.id);
|
4509
|
+
flushSubtree(request, destination, segment);
|
4510
|
+
return writeEndPendingSuspenseBoundary(destination, request.responseState);
|
4511
|
+
} else {
|
4512
|
+
writeStartCompletedSuspenseBoundary(destination, request.responseState);
|
4513
|
+
var completedSegments = boundary.completedSegments;
|
4514
|
+
if (completedSegments.length !== 1) {
|
4515
|
+
throw new Error('A previously unvisited boundary must have exactly one root segment. This is a bug in React.');
|
4516
|
+
}
|
4517
|
+
var contentSegment = completedSegments[0];
|
4518
|
+
flushSegment(request, destination, contentSegment);
|
4519
|
+
return writeEndCompletedSuspenseBoundary(destination, request.responseState);
|
4520
|
+
}
|
4521
|
+
}
|
4522
|
+
function flushClientRenderedBoundary(request, destination, boundary) {
|
4523
|
+
return writeClientRenderBoundaryInstruction(destination, request.responseState, boundary.id);
|
4524
|
+
}
|
4525
|
+
function flushSegmentContainer(request, destination, segment) {
|
4526
|
+
writeStartSegment(destination, request.responseState, segment.formatContext, segment.id);
|
4527
|
+
flushSegment(request, destination, segment);
|
4528
|
+
return writeEndSegment(destination, segment.formatContext);
|
4529
|
+
}
|
4530
|
+
function flushCompletedBoundary(request, destination, boundary) {
|
4531
|
+
var completedSegments = boundary.completedSegments;
|
4532
|
+
var i = 0;
|
4533
|
+
for (; i < completedSegments.length; i++) {
|
4534
|
+
var segment = completedSegments[i];
|
4535
|
+
flushPartiallyCompletedSegment(request, destination, boundary, segment);
|
4536
|
+
}
|
4537
|
+
completedSegments.length = 0;
|
4538
|
+
return writeCompletedBoundaryInstruction(destination, request.responseState, boundary.id, boundary.rootSegmentID);
|
4539
|
+
}
|
4540
|
+
function flushPartialBoundary(request, destination, boundary) {
|
4541
|
+
var completedSegments = boundary.completedSegments;
|
4542
|
+
var i = 0;
|
4543
|
+
for (; i < completedSegments.length; i++) {
|
4544
|
+
var segment = completedSegments[i];
|
4545
|
+
if (!flushPartiallyCompletedSegment(request, destination, boundary, segment)) {
|
4546
|
+
i++;
|
4547
|
+
completedSegments.splice(0, i);
|
4548
|
+
return false;
|
4549
|
+
}
|
4550
|
+
}
|
4551
|
+
completedSegments.splice(0, i);
|
4552
|
+
return true;
|
4553
|
+
}
|
4554
|
+
function flushPartiallyCompletedSegment(request, destination, boundary, segment) {
|
4555
|
+
if (segment.status === FLUSHED) {
|
4556
|
+
return true;
|
4557
|
+
}
|
4558
|
+
var segmentID = segment.id;
|
4559
|
+
if (segmentID === -1) {
|
4560
|
+
var rootSegmentID = segment.id = boundary.rootSegmentID;
|
4561
|
+
if (rootSegmentID === -1) {
|
4562
|
+
throw new Error('A root segment ID must have been assigned by now. This is a bug in React.');
|
4563
|
+
}
|
4564
|
+
return flushSegmentContainer(request, destination, segment);
|
4565
|
+
} else {
|
4566
|
+
flushSegmentContainer(request, destination, segment);
|
4567
|
+
return writeCompletedSegmentInstruction(destination, request.responseState, segmentID);
|
4568
|
+
}
|
4569
|
+
}
|
4570
|
+
function flushCompletedQueues(request, destination) {
|
4571
|
+
beginWriting(destination);
|
4572
|
+
try {
|
4573
|
+
var completedRootSegment = request.completedRootSegment;
|
4574
|
+
if (completedRootSegment !== null && request.pendingRootTasks === 0) {
|
4575
|
+
flushSegment(request, destination, completedRootSegment);
|
4576
|
+
request.completedRootSegment = null;
|
4577
|
+
writeCompletedRoot(destination, request.responseState);
|
4578
|
+
}
|
4579
|
+
var clientRenderedBoundaries = request.clientRenderedBoundaries;
|
4580
|
+
var i;
|
4581
|
+
for (i = 0; i < clientRenderedBoundaries.length; i++) {
|
4582
|
+
var boundary = clientRenderedBoundaries[i];
|
4583
|
+
if (!flushClientRenderedBoundary(request, destination, boundary)) {
|
4584
|
+
request.destination = null;
|
4585
|
+
i++;
|
4586
|
+
clientRenderedBoundaries.splice(0, i);
|
4587
|
+
return;
|
4588
|
+
}
|
4589
|
+
}
|
4590
|
+
clientRenderedBoundaries.splice(0, i);
|
4591
|
+
var completedBoundaries = request.completedBoundaries;
|
4592
|
+
for (i = 0; i < completedBoundaries.length; i++) {
|
4593
|
+
var _boundary = completedBoundaries[i];
|
4594
|
+
if (!flushCompletedBoundary(request, destination, _boundary)) {
|
4595
|
+
request.destination = null;
|
4596
|
+
i++;
|
4597
|
+
completedBoundaries.splice(0, i);
|
4598
|
+
return;
|
4599
|
+
}
|
4600
|
+
}
|
4601
|
+
completedBoundaries.splice(0, i);
|
4602
|
+
completeWriting(destination);
|
4603
|
+
beginWriting(destination);
|
4604
|
+
var partialBoundaries = request.partialBoundaries;
|
4605
|
+
for (i = 0; i < partialBoundaries.length; i++) {
|
4606
|
+
var _boundary2 = partialBoundaries[i];
|
4607
|
+
if (!flushPartialBoundary(request, destination, _boundary2)) {
|
4608
|
+
request.destination = null;
|
4609
|
+
i++;
|
4610
|
+
partialBoundaries.splice(0, i);
|
4611
|
+
return;
|
4612
|
+
}
|
4613
|
+
}
|
4614
|
+
partialBoundaries.splice(0, i);
|
4615
|
+
var largeBoundaries = request.completedBoundaries;
|
4616
|
+
for (i = 0; i < largeBoundaries.length; i++) {
|
4617
|
+
var _boundary3 = largeBoundaries[i];
|
4618
|
+
if (!flushCompletedBoundary(request, destination, _boundary3)) {
|
4619
|
+
request.destination = null;
|
4620
|
+
i++;
|
4621
|
+
largeBoundaries.splice(0, i);
|
4622
|
+
return;
|
4623
|
+
}
|
4624
|
+
}
|
4625
|
+
largeBoundaries.splice(0, i);
|
4626
|
+
} finally {
|
4627
|
+
completeWriting(destination);
|
4628
|
+
flushBuffered(destination);
|
4629
|
+
if (request.allPendingTasks === 0 && request.pingedTasks.length === 0 && request.clientRenderedBoundaries.length === 0 && request.completedBoundaries.length === 0) {
|
4630
|
+
{
|
4631
|
+
if (request.abortableTasks.size !== 0) {
|
4632
|
+
error('There was still abortable task at the root when we closed. This is a bug in React.');
|
4633
|
+
}
|
4634
|
+
}
|
4635
|
+
close(destination);
|
4636
|
+
}
|
4637
|
+
}
|
4638
|
+
}
|
4639
|
+
function startWork(request) {
|
4640
|
+
scheduleWork(function() {
|
4641
|
+
return performWork(request);
|
4642
|
+
});
|
4643
|
+
}
|
4644
|
+
function startFlowing(request, destination) {
|
4645
|
+
if (request.status === CLOSING) {
|
4646
|
+
request.status = CLOSED;
|
4647
|
+
closeWithError(destination, request.fatalError);
|
4648
|
+
return;
|
4649
|
+
}
|
4650
|
+
if (request.status === CLOSED) {
|
4651
|
+
return;
|
4652
|
+
}
|
4653
|
+
if (request.destination !== null) {
|
4654
|
+
return;
|
4655
|
+
}
|
4656
|
+
request.destination = destination;
|
4657
|
+
try {
|
4658
|
+
flushCompletedQueues(request, destination);
|
4659
|
+
} catch (error) {
|
4660
|
+
logRecoverableError(request, error);
|
4661
|
+
fatalError(request, error);
|
4662
|
+
}
|
4663
|
+
}
|
4664
|
+
function abort(request) {
|
4665
|
+
try {
|
4666
|
+
var abortableTasks = request.abortableTasks;
|
4667
|
+
abortableTasks.forEach(abortTask, request);
|
4668
|
+
abortableTasks.clear();
|
4669
|
+
if (request.destination !== null) {
|
4670
|
+
flushCompletedQueues(request, request.destination);
|
4671
|
+
}
|
4672
|
+
} catch (error) {
|
4673
|
+
logRecoverableError(request, error);
|
4674
|
+
fatalError(request, error);
|
4675
|
+
}
|
4676
|
+
}
|
4677
|
+
function createDrainHandler(destination, request) {
|
4678
|
+
return function() {
|
4679
|
+
return startFlowing(request, destination);
|
4680
|
+
};
|
4681
|
+
}
|
4682
|
+
function createAbortHandler(request) {
|
4683
|
+
return function() {
|
4684
|
+
return abort(request);
|
4685
|
+
};
|
4686
|
+
}
|
4687
|
+
function createRequestImpl(children, options) {
|
4688
|
+
return createRequest(children, createResponseState(options ? options.identifierPrefix : undefined, options ? options.nonce : undefined, options ? options.bootstrapScriptContent : undefined, options ? options.bootstrapScripts : undefined, options ? options.bootstrapModules : undefined), createRootFormatContext(options ? options.namespaceURI : undefined), options ? options.progressiveChunkSize : undefined, options ? options.onError : undefined, options ? options.onAllReady : undefined, options ? options.onShellReady : undefined, options ? options.onShellError : undefined, undefined);
|
4689
|
+
}
|
4690
|
+
function renderToPipeableStream(children, options) {
|
4691
|
+
var request = createRequestImpl(children, options);
|
4692
|
+
var hasStartedFlowing = false;
|
4693
|
+
startWork(request);
|
4694
|
+
return {
|
4695
|
+
pipe: function(destination) {
|
4696
|
+
if (hasStartedFlowing) {
|
4697
|
+
throw new Error('React currently only supports piping to one writable stream.');
|
4698
|
+
}
|
4699
|
+
hasStartedFlowing = true;
|
4700
|
+
startFlowing(request, destination);
|
4701
|
+
destination.on('drain', createDrainHandler(destination, request));
|
4702
|
+
destination.on('close', createAbortHandler(request));
|
4703
|
+
return destination;
|
4704
|
+
},
|
4705
|
+
abort: function() {
|
4706
|
+
abort(request);
|
4707
|
+
}
|
4708
|
+
};
|
4709
|
+
}
|
4710
|
+
exports.renderToPipeableStream = renderToPipeableStream;
|
4711
|
+
exports.version = ReactVersion;
|
4712
|
+
})();
|
4713
|
+
}
|
4714
|
+
})(require('buffer').Buffer, require('process'));
|