@sitecore/sc-contenthub-blok 0.0.91 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/BlokBadge/BlokBadge.spec.js +1 -1
- package/dist/Components/BlokBadge/BlokBadge.spec.js.map +1 -1
- package/dist/Components/BlokButton/BlokButton.d.ts +3 -4
- package/dist/Components/BlokButton/BlokButton.js +3 -3
- package/dist/Components/BlokButton/BlokButton.js.map +1 -1
- package/dist/Components/BlokIcon/BlokIcon.d.ts +2 -1
- package/dist/Components/BlokIcon/BlokIcon.js +3 -3
- package/dist/Components/BlokIcon/BlokIcon.js.map +1 -1
- package/dist/Components/BlokIcon/iconNames.d.ts +1 -1
- package/dist/Components/BlokIcon/iconNames.js +1 -0
- package/dist/Components/BlokIcon/iconNames.js.map +1 -1
- package/dist/Components/BlokIconButton/BlokIconButton.d.ts +2 -4
- package/dist/Components/BlokIconButton/BlokIconButton.js +3 -3
- package/dist/Components/BlokIconButton/BlokIconButton.js.map +1 -1
- package/dist/Components/BlokSearchBox/BlokSearchBox.d.ts +3 -2
- package/dist/Components/BlokSearchBox/BlokSearchBox.js +3 -2
- package/dist/Components/BlokSearchBox/BlokSearchBox.js.map +1 -1
- package/dist/Components/BlokTooltip/BlokTooltip.js +0 -4
- package/dist/Components/BlokTooltip/BlokTooltip.js.map +1 -1
- package/esm/Components/BlokButton/BlokButton.js +2 -3
- package/esm/Components/BlokButton/BlokButton.js.map +1 -1
- package/esm/Components/BlokIcon/BlokIcon.js +2 -3
- package/esm/Components/BlokIcon/BlokIcon.js.map +1 -1
- package/esm/Components/BlokIcon/iconNames.js +1 -0
- package/esm/Components/BlokIcon/iconNames.js.map +1 -1
- package/esm/Components/BlokIconButton/BlokIconButton.js +2 -3
- package/esm/Components/BlokIconButton/BlokIconButton.js.map +1 -1
- package/esm/Components/BlokSearchBox/BlokSearchBox.js +3 -3
- package/esm/Components/BlokSearchBox/BlokSearchBox.js.map +1 -1
- package/esm/Components/BlokTooltip/BlokTooltip.js +0 -4
- package/esm/Components/BlokTooltip/BlokTooltip.js.map +1 -1
- package/node_modules/@babel/code-frame/package.json +3 -3
- package/node_modules/@babel/generator/lib/generators/classes.js +7 -4
- package/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/deprecated.js +28 -0
- package/node_modules/@babel/generator/lib/generators/deprecated.js.map +1 -0
- package/node_modules/@babel/generator/lib/generators/expressions.js +17 -12
- package/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/jsx.js +6 -1
- package/node_modules/@babel/generator/lib/generators/jsx.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/modules.js +8 -3
- package/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/statements.js +1 -4
- package/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/template-literals.js +16 -11
- package/node_modules/@babel/generator/lib/generators/template-literals.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/types.js +4 -9
- package/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
- package/node_modules/@babel/generator/lib/generators/typescript.js +40 -18
- package/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
- package/node_modules/@babel/generator/lib/index.js +3 -1
- package/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/node_modules/@babel/generator/lib/node/index.js +11 -8
- package/node_modules/@babel/generator/lib/node/index.js.map +1 -1
- package/node_modules/@babel/generator/lib/node/parentheses.js +44 -7
- package/node_modules/@babel/generator/lib/node/parentheses.js.map +1 -1
- package/node_modules/@babel/generator/lib/printer.js +31 -24
- package/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/node_modules/@babel/generator/package.json +9 -9
- package/node_modules/@babel/helper-globals/LICENSE +22 -0
- package/node_modules/@babel/helper-globals/README.md +19 -0
- package/node_modules/@babel/helper-globals/data/browser-upper.json +911 -0
- package/node_modules/@babel/helper-globals/data/builtin-lower.json +15 -0
- package/node_modules/@babel/helper-globals/data/builtin-upper.json +51 -0
- package/node_modules/@babel/helper-globals/package.json +32 -0
- package/node_modules/@babel/helper-module-imports/lib/import-builder.js.map +1 -1
- package/node_modules/@babel/helper-module-imports/lib/import-injector.js.map +1 -1
- package/node_modules/@babel/helper-module-imports/package.json +4 -4
- package/node_modules/@babel/helper-string-parser/package.json +1 -1
- package/node_modules/@babel/helper-validator-identifier/package.json +1 -1
- package/node_modules/@babel/parser/bin/babel-parser.js +1 -1
- package/node_modules/@babel/parser/lib/index.js +5814 -5255
- package/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/node_modules/@babel/parser/package.json +7 -7
- package/node_modules/@babel/parser/typings/babel-parser.d.ts +137 -165
- package/node_modules/@babel/template/lib/options.js +1 -1
- package/node_modules/@babel/template/lib/options.js.map +1 -1
- package/node_modules/@babel/template/lib/parse.js +3 -0
- package/node_modules/@babel/template/lib/parse.js.map +1 -1
- package/node_modules/@babel/template/lib/populate.js +2 -1
- package/node_modules/@babel/template/lib/populate.js.map +1 -1
- package/node_modules/@babel/template/package.json +4 -4
- package/node_modules/@babel/traverse/lib/cache.js +10 -16
- package/node_modules/@babel/traverse/lib/cache.js.map +1 -1
- package/node_modules/@babel/traverse/lib/index.js +8 -16
- package/node_modules/@babel/traverse/lib/index.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/ancestry.js +1 -3
- package/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/context.js +0 -15
- package/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/conversion.js +7 -4
- package/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/evaluation.js +23 -2
- package/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/family.js +13 -7
- package/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/index.js +2 -1
- package/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/lib/virtual-types.js +1 -1
- package/node_modules/@babel/traverse/lib/path/lib/virtual-types.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/modification.js +3 -2
- package/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/removal.js +2 -1
- package/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
- package/node_modules/@babel/traverse/lib/path/replacement.js +2 -2
- package/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
- package/node_modules/@babel/traverse/lib/scope/binding.js +4 -3
- package/node_modules/@babel/traverse/lib/scope/binding.js.map +1 -1
- package/node_modules/@babel/traverse/lib/scope/index.js +99 -39
- package/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
- package/node_modules/@babel/traverse/lib/traverse-node.js +109 -0
- package/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
- package/node_modules/@babel/traverse/lib/types.js +1 -1
- package/node_modules/@babel/traverse/lib/visitors.js +6 -4
- package/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
- package/node_modules/@babel/traverse/package.json +10 -10
- package/node_modules/@babel/types/lib/asserts/generated/index.js +19 -3
- package/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
- package/node_modules/@babel/types/lib/ast-types/generated/index.js +1 -1
- package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
- package/node_modules/@babel/types/lib/builders/generated/index.js +22 -2858
- package/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
- package/node_modules/@babel/types/lib/builders/generated/lowercase.js +2896 -0
- package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +1 -0
- package/node_modules/@babel/types/lib/builders/generated/uppercase.js +267 -1525
- package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -1
- package/node_modules/@babel/types/lib/constants/generated/index.js +2 -1
- package/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
- package/node_modules/@babel/types/lib/constants/index.js +5 -3
- package/node_modules/@babel/types/lib/constants/index.js.map +1 -1
- package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
- package/node_modules/@babel/types/lib/converters/toExpression.js +1 -0
- package/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
- package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
- package/node_modules/@babel/types/lib/converters/valueToNode.js +16 -3
- package/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/core.js +73 -44
- package/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/experimental.js +3 -11
- package/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/flow.js +6 -3
- package/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/index.js +13 -0
- package/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/jsx.js +9 -4
- package/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/typescript.js +56 -28
- package/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
- package/node_modules/@babel/types/lib/definitions/utils.js +37 -15
- package/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
- package/node_modules/@babel/types/lib/index-legacy.d.ts +72 -41
- package/node_modules/@babel/types/lib/index.d.ts +1699 -1655
- package/node_modules/@babel/types/lib/index.js +10 -21
- package/node_modules/@babel/types/lib/index.js.flow +72 -42
- package/node_modules/@babel/types/lib/index.js.map +1 -1
- package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +9 -8
- package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
- package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +1 -0
- package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
- package/node_modules/@babel/types/lib/traverse/traverseFast.js +19 -5
- package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
- package/node_modules/@babel/types/lib/utils/deprecationWarning.js +3 -3
- package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/generated/index.js +50 -5
- package/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/isLet.js +6 -2
- package/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +1 -5
- package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/isType.js +1 -6
- package/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/isVar.js +8 -4
- package/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/matchesPattern.js +10 -2
- package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -1
- package/node_modules/@babel/types/lib/validators/validate.js.map +1 -1
- package/node_modules/@babel/types/package.json +14 -14
- package/node_modules/@emotion/cache/dist/declarations/src/index.d.ts +16 -2
- package/node_modules/@emotion/cache/dist/declarations/src/types.d.ts +14 -0
- package/node_modules/@emotion/cache/dist/emotion-cache.browser.cjs.js +7 -36
- package/node_modules/@emotion/cache/dist/emotion-cache.browser.development.cjs.js +10 -43
- package/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js +10 -43
- package/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js +7 -36
- package/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +11 -73
- package/node_modules/@emotion/cache/dist/emotion-cache.development.cjs.js +15 -81
- package/node_modules/@emotion/cache/dist/emotion-cache.development.edge-light.cjs.js +50 -60
- package/node_modules/@emotion/cache/dist/emotion-cache.development.edge-light.esm.js +51 -61
- package/node_modules/@emotion/cache/dist/emotion-cache.development.esm.js +15 -81
- package/node_modules/@emotion/cache/dist/emotion-cache.edge-light.cjs.js +28 -56
- package/node_modules/@emotion/cache/dist/emotion-cache.edge-light.esm.js +29 -57
- package/node_modules/@emotion/cache/dist/emotion-cache.esm.js +11 -73
- package/node_modules/@emotion/cache/package.json +11 -11
- package/node_modules/@emotion/cache/src/{index.js → index.ts} +39 -55
- package/node_modules/@emotion/cache/src/{prefixer.js → prefixer.ts} +11 -4
- package/node_modules/@emotion/cache/src/{stylis-plugins.js → stylis-plugins.ts} +91 -83
- package/node_modules/@emotion/cache/src/{types.js → types.ts} +4 -5
- package/node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.umd.min.js.map +1 -1
- package/node_modules/@emotion/react/_isolated-hnrs/package.json +1 -0
- package/node_modules/@emotion/react/dist/declarations/src/_isolated-hnrs.d.ts +3 -3
- package/node_modules/@emotion/react/dist/declarations/src/class-names.d.ts +18 -0
- package/node_modules/@emotion/react/dist/declarations/src/context.d.ts +6 -0
- package/node_modules/@emotion/react/dist/declarations/src/css.d.ts +5 -0
- package/node_modules/@emotion/react/dist/declarations/src/global.d.ts +7 -0
- package/node_modules/@emotion/react/dist/declarations/src/index.d.ts +14 -1
- package/node_modules/@emotion/react/dist/declarations/src/jsx-dev-runtime.d.ts +6 -1
- package/node_modules/@emotion/react/dist/declarations/src/jsx-namespace.d.ts +64 -0
- package/node_modules/@emotion/react/dist/declarations/src/jsx-runtime.d.ts +7 -1
- package/node_modules/@emotion/react/dist/declarations/src/jsx.d.ts +22 -0
- package/node_modules/@emotion/react/dist/declarations/src/keyframes.d.ts +10 -0
- package/node_modules/@emotion/react/dist/declarations/src/theming.d.ts +28 -0
- package/node_modules/@emotion/react/dist/declarations/src/types.d.ts +7 -0
- package/node_modules/@emotion/react/dist/{emotion-element-f66136f5.development.edge-light.cjs.js → emotion-element-010f37fa.development.edge-light.cjs.js} +23 -84
- package/node_modules/@emotion/react/dist/{emotion-element-832b737b.browser.cjs.js → emotion-element-25f9958c.browser.cjs.js} +20 -65
- package/node_modules/@emotion/react/dist/{emotion-element-7447be04.browser.development.cjs.js → emotion-element-4787f564.browser.development.cjs.js} +21 -74
- package/node_modules/@emotion/react/dist/{emotion-element-7a1343fa.browser.development.esm.js → emotion-element-489459f2.browser.development.esm.js} +21 -74
- package/node_modules/@emotion/react/dist/{emotion-element-efb2998a.development.edge-light.esm.js → emotion-element-516430c7.development.edge-light.esm.js} +23 -84
- package/node_modules/@emotion/react/dist/{emotion-element-ba80abe0.development.esm.js → emotion-element-782f682d.development.esm.js} +23 -84
- package/node_modules/@emotion/react/dist/{emotion-element-657efc1f.edge-light.esm.js → emotion-element-8113875a.edge-light.esm.js} +22 -75
- package/node_modules/@emotion/react/dist/{emotion-element-b1930563.cjs.js → emotion-element-a1829a1e.cjs.js} +22 -75
- package/node_modules/@emotion/react/dist/{emotion-element-60389d2b.edge-light.cjs.js → emotion-element-af3dc15b.edge-light.cjs.js} +22 -75
- package/node_modules/@emotion/react/dist/{emotion-element-b4c8b265.esm.js → emotion-element-d59e098f.esm.js} +22 -75
- package/node_modules/@emotion/react/dist/{emotion-element-9150ebbd.development.cjs.js → emotion-element-e8f4cc37.development.cjs.js} +23 -84
- package/node_modules/@emotion/react/dist/{emotion-element-5486c51c.browser.esm.js → emotion-element-f0de968e.browser.esm.js} +20 -65
- package/node_modules/@emotion/react/dist/emotion-react.browser.cjs.js +19 -75
- package/node_modules/@emotion/react/dist/emotion-react.browser.development.cjs.js +38 -102
- package/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js +38 -101
- package/node_modules/@emotion/react/dist/emotion-react.browser.esm.js +19 -74
- package/node_modules/@emotion/react/dist/emotion-react.cjs.js +19 -75
- package/node_modules/@emotion/react/dist/emotion-react.development.cjs.js +38 -102
- package/node_modules/@emotion/react/dist/emotion-react.development.edge-light.cjs.js +37 -99
- package/node_modules/@emotion/react/dist/emotion-react.development.edge-light.esm.js +37 -98
- package/node_modules/@emotion/react/dist/emotion-react.development.esm.js +38 -101
- package/node_modules/@emotion/react/dist/emotion-react.edge-light.cjs.js +18 -72
- package/node_modules/@emotion/react/dist/emotion-react.edge-light.esm.js +18 -71
- package/node_modules/@emotion/react/dist/emotion-react.esm.js +19 -74
- package/node_modules/@emotion/react/dist/emotion-react.umd.min.js +1 -1
- package/node_modules/@emotion/react/dist/emotion-react.umd.min.js.map +1 -1
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js +3 -3
- package/node_modules/@emotion/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.umd.min.js.map +1 -1
- package/node_modules/@emotion/react/jsx-dev-runtime/package.json +1 -1
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.development.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.esm.js +5 -5
- package/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.umd.min.js.map +1 -1
- package/node_modules/@emotion/react/jsx-runtime/package.json +1 -1
- package/node_modules/@emotion/react/package.json +19 -18
- package/node_modules/@emotion/react/src/{_isolated-hnrs.js → _isolated-hnrs.ts} +7 -2
- package/node_modules/@emotion/react/src/{class-names.js → class-names.tsx} +43 -32
- package/node_modules/@emotion/react/src/{context.js → context.tsx} +25 -22
- package/node_modules/@emotion/react/src/css.ts +14 -0
- package/node_modules/@emotion/react/src/{emotion-element.js → emotion-element.tsx} +37 -17
- package/node_modules/@emotion/react/src/{get-label-from-stack-trace.js → get-label-from-stack-trace.ts} +7 -4
- package/node_modules/@emotion/react/src/global.tsx +147 -0
- package/node_modules/@emotion/react/src/{index.js → index.ts} +24 -3
- package/node_modules/@emotion/react/src/{jsx-dev-runtime.js → jsx-dev-runtime.ts} +12 -2
- package/node_modules/@emotion/react/src/jsx-namespace.ts +107 -0
- package/node_modules/@emotion/react/src/jsx-runtime.ts +32 -0
- package/node_modules/@emotion/react/src/jsx.ts +45 -0
- package/node_modules/@emotion/react/src/keyframes.ts +27 -0
- package/node_modules/@emotion/react/src/{theming.js → theming.tsx} +40 -18
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.cjs.js +19 -92
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.cjs.js +22 -94
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.js +22 -94
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js +19 -92
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.cjs.js +20 -93
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.development.cjs.js +23 -95
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.development.edge-light.cjs.js +22 -94
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.development.edge-light.esm.js +22 -94
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.development.esm.js +24 -96
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.edge-light.cjs.js +19 -92
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.edge-light.esm.js +19 -92
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.esm.js +21 -94
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.umd.min.js +1 -1
- package/node_modules/@emotion/styled/base/dist/emotion-styled-base.umd.min.js.map +1 -1
- package/node_modules/@emotion/styled/base/package.json +1 -1
- package/node_modules/@emotion/styled/dist/declarations/src/base.d.ts +4 -2
- package/node_modules/@emotion/styled/dist/declarations/src/index.d.ts +15 -2
- package/node_modules/@emotion/styled/dist/declarations/src/jsx-namespace.d.ts +5 -0
- package/node_modules/@emotion/styled/dist/declarations/src/types.d.ts +88 -0
- package/node_modules/@emotion/styled/dist/emotion-styled.browser.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.browser.development.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.development.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.development.edge-light.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.development.edge-light.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.development.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.edge-light.cjs.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.edge-light.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.esm.js +7 -6
- package/node_modules/@emotion/styled/dist/emotion-styled.umd.min.js +1 -1
- package/node_modules/@emotion/styled/dist/emotion-styled.umd.min.js.map +1 -1
- package/node_modules/@emotion/styled/package.json +13 -14
- package/node_modules/@emotion/styled/src/{base.js → base.tsx} +56 -42
- package/node_modules/@emotion/styled/{types/index.d.ts → src/index.ts} +21 -12
- package/node_modules/@emotion/styled/{dist/declarations/types/jsx-namespace.d.ts → src/jsx-namespace.ts} +3 -5
- package/node_modules/@emotion/styled/src/{tags.js → tags.ts} +1 -1
- package/node_modules/@emotion/styled/{types/base.d.ts → src/types.ts} +8 -15
- package/node_modules/@emotion/styled/src/utils.ts +38 -0
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/declarations/src/index.d.ts +3 -0
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.cjs.d.mts +2 -0
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.cjs.d.ts +2 -0
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/package.json +7 -6
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/src/index.ts +21 -0
- package/node_modules/@jridgewell/gen-mapping/LICENSE +1 -1
- package/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +256 -194
- package/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +6 -1
- package/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +339 -239
- package/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +6 -1
- package/node_modules/@jridgewell/gen-mapping/package.json +46 -51
- package/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts +614 -0
- package/node_modules/@jridgewell/gen-mapping/src/set-array.ts +82 -0
- package/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts +16 -0
- package/node_modules/@jridgewell/gen-mapping/src/types.ts +61 -0
- package/node_modules/@jridgewell/gen-mapping/{dist/types/gen-mapping.d.ts → types/gen-mapping.d.cts} +3 -2
- package/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts +89 -0
- package/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map +1 -0
- package/node_modules/@jridgewell/{set-array/dist/types/set-array.d.ts → gen-mapping/types/set-array.d.cts} +2 -1
- package/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts +33 -0
- package/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts +13 -0
- package/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts +13 -0
- package/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/{dist/types/types.d.ts → types/types.d.cts} +10 -2
- package/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map +1 -0
- package/node_modules/@jridgewell/gen-mapping/types/types.d.mts +44 -0
- package/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/LICENSE +1 -1
- package/node_modules/@jridgewell/trace-mapping/README.md +160 -69
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +417 -493
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +6 -1
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +546 -588
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +6 -1
- package/node_modules/@jridgewell/trace-mapping/package.json +43 -49
- package/node_modules/@jridgewell/trace-mapping/src/binary-search.ts +115 -0
- package/node_modules/@jridgewell/trace-mapping/src/by-source.ts +65 -0
- package/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts +192 -0
- package/node_modules/@jridgewell/trace-mapping/src/resolve.ts +16 -0
- package/node_modules/@jridgewell/trace-mapping/src/sort.ts +45 -0
- package/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts +23 -0
- package/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts +8 -0
- package/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts +504 -0
- package/node_modules/@jridgewell/trace-mapping/src/types.ts +114 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/binary-search.d.ts → types/binary-search.d.cts} +2 -1
- package/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts +33 -0
- package/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts +8 -0
- package/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/by-source.d.ts → types/by-source.d.mts} +3 -2
- package/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts +9 -0
- package/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts +9 -0
- package/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts +4 -0
- package/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts +4 -0
- package/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/sort.d.cts +3 -0
- package/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/sort.d.ts → types/sort.d.mts} +2 -1
- package/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/sourcemap-segment.d.ts → types/sourcemap-segment.d.cts} +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts +17 -0
- package/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts +5 -0
- package/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/strip-filename.d.ts → types/strip-filename.d.mts} +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/trace-mapping.d.ts → types/trace-mapping.d.cts} +7 -6
- package/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts +80 -0
- package/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/{dist/types/types.d.ts → types/types.d.cts} +10 -2
- package/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map +1 -0
- package/node_modules/@jridgewell/trace-mapping/types/types.d.mts +107 -0
- package/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map +1 -0
- package/node_modules/@mui/core-downloads-tracker/package.json +1 -1
- package/node_modules/@mui/material/Accordion/Accordion.d.ts +32 -15
- package/node_modules/@mui/material/Accordion/Accordion.js +18 -6
- package/node_modules/@mui/material/AccordionActions/AccordionActions.d.ts +2 -2
- package/node_modules/@mui/material/AccordionDetails/AccordionDetails.d.ts +2 -2
- package/node_modules/@mui/material/AccordionSummary/AccordionSummary.d.ts +62 -7
- package/node_modules/@mui/material/AccordionSummary/AccordionSummary.js +67 -16
- package/node_modules/@mui/material/Alert/Alert.d.ts +6 -18
- package/node_modules/@mui/material/AlertTitle/AlertTitle.d.ts +3 -3
- package/node_modules/@mui/material/AppBar/AppBar.d.ts +4 -4
- package/node_modules/@mui/material/Autocomplete/Autocomplete.d.ts +2 -2
- package/node_modules/@mui/material/Autocomplete/Autocomplete.js +1 -1
- package/node_modules/@mui/material/Avatar/Avatar.d.ts +2 -2
- package/node_modules/@mui/material/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/node_modules/@mui/material/AvatarGroup/AvatarGroup.js +10 -2
- package/node_modules/@mui/material/Backdrop/Backdrop.d.ts +17 -15
- package/node_modules/@mui/material/Badge/Badge.d.ts +35 -31
- package/node_modules/@mui/material/Badge/Badge.js +27 -20
- package/node_modules/@mui/material/BottomNavigation/BottomNavigation.d.ts +2 -2
- package/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction.d.ts +43 -6
- package/node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction.js +53 -9
- package/node_modules/@mui/material/Box/Box.d.ts +2 -2
- package/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js +3 -1
- package/node_modules/@mui/material/Breadcrumbs/Breadcrumbs.d.ts +3 -3
- package/node_modules/@mui/material/Button/Button.d.ts +4 -4
- package/node_modules/@mui/material/Button/Button.js +3 -3
- package/node_modules/@mui/material/ButtonBase/ButtonBase.d.ts +2 -2
- package/node_modules/@mui/material/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/node_modules/@mui/material/CHANGELOG.md +345 -0
- package/node_modules/@mui/material/Card/Card.d.ts +4 -4
- package/node_modules/@mui/material/CardActionArea/CardActionArea.d.ts +43 -6
- package/node_modules/@mui/material/CardActionArea/CardActionArea.js +47 -8
- package/node_modules/@mui/material/CardActions/CardActions.d.ts +2 -2
- package/node_modules/@mui/material/CardContent/CardContent.d.ts +2 -2
- package/node_modules/@mui/material/CardHeader/CardHeader.d.ts +6 -22
- package/node_modules/@mui/material/CardMedia/CardMedia.d.ts +2 -2
- package/node_modules/@mui/material/Checkbox/Checkbox.d.ts +49 -13
- package/node_modules/@mui/material/Checkbox/Checkbox.js +51 -21
- package/node_modules/@mui/material/Chip/Chip.d.ts +2 -2
- package/node_modules/@mui/material/CircularProgress/CircularProgress.d.ts +7 -3
- package/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.d.ts +3 -3
- package/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js +3 -3
- package/node_modules/@mui/material/Collapse/Collapse.d.ts +5 -5
- package/node_modules/@mui/material/Container/Container.d.ts +2 -2
- package/node_modules/@mui/material/CssBaseline/CssBaseline.d.ts +2 -2
- package/node_modules/@mui/material/Dialog/Dialog.d.ts +7 -7
- package/node_modules/@mui/material/Dialog/dialogClasses.d.ts +6 -2
- package/node_modules/@mui/material/DialogActions/DialogActions.d.ts +2 -2
- package/node_modules/@mui/material/DialogContent/DialogContent.d.ts +2 -2
- package/node_modules/@mui/material/DialogContentText/DialogContentText.d.ts +3 -3
- package/node_modules/@mui/material/DialogTitle/DialogTitle.d.ts +3 -3
- package/node_modules/@mui/material/Divider/Divider.d.ts +3 -3
- package/node_modules/@mui/material/Drawer/Drawer.d.ts +95 -4
- package/node_modules/@mui/material/Drawer/Drawer.js +108 -36
- package/node_modules/@mui/material/Fab/Fab.d.ts +3 -3
- package/node_modules/@mui/material/Fade/Fade.d.ts +3 -3
- package/node_modules/@mui/material/FilledInput/FilledInput.d.ts +3 -3
- package/node_modules/@mui/material/FormControl/FormControl.d.ts +6 -6
- package/node_modules/@mui/material/FormControlLabel/FormControlLabel.d.ts +4 -4
- package/node_modules/@mui/material/FormGroup/FormGroup.d.ts +3 -3
- package/node_modules/@mui/material/FormHelperText/FormHelperText.d.ts +2 -2
- package/node_modules/@mui/material/FormLabel/FormLabel.d.ts +4 -4
- package/node_modules/@mui/material/GlobalStyles/GlobalStyles.d.ts +2 -2
- package/node_modules/@mui/material/Grid/Grid.d.ts +2 -2
- package/node_modules/@mui/material/Grid2/Grid2.d.ts +2 -2
- package/node_modules/@mui/material/Grid2/Grid2.js +2 -2
- package/node_modules/@mui/material/Grow/Grow.d.ts +5 -5
- package/node_modules/@mui/material/Hidden/Hidden.d.ts +2 -2
- package/node_modules/@mui/material/Icon/Icon.d.ts +3 -3
- package/node_modules/@mui/material/IconButton/IconButton.d.ts +4 -4
- package/node_modules/@mui/material/IconButton/IconButton.js +3 -3
- package/node_modules/@mui/material/ImageList/ImageList.d.ts +2 -2
- package/node_modules/@mui/material/ImageListItem/ImageListItem.d.ts +2 -2
- package/node_modules/@mui/material/ImageListItemBar/ImageListItemBar.d.ts +2 -2
- package/node_modules/@mui/material/Input/Input.d.ts +3 -3
- package/node_modules/@mui/material/InputAdornment/InputAdornment.d.ts +2 -2
- package/node_modules/@mui/material/InputBase/InputBase.d.ts +2 -2
- package/node_modules/@mui/material/InputBase/inputBaseClasses.d.ts +15 -6
- package/node_modules/@mui/material/InputLabel/InputLabel.d.ts +3 -3
- package/node_modules/@mui/material/LinearProgress/LinearProgress.d.ts +7 -3
- package/node_modules/@mui/material/Link/Link.d.ts +4 -4
- package/node_modules/@mui/material/List/List.d.ts +3 -3
- package/node_modules/@mui/material/ListItem/ListItem.d.ts +3 -3
- package/node_modules/@mui/material/ListItemAvatar/ListItemAvatar.d.ts +2 -2
- package/node_modules/@mui/material/ListItemButton/ListItemButton.d.ts +3 -3
- package/node_modules/@mui/material/ListItemIcon/ListItemIcon.d.ts +2 -2
- package/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +2 -2
- package/node_modules/@mui/material/ListItemText/ListItemText.d.ts +12 -2
- package/node_modules/@mui/material/ListItemText/ListItemText.js +14 -5
- package/node_modules/@mui/material/ListSubheader/ListSubheader.d.ts +2 -2
- package/node_modules/@mui/material/Menu/Menu.d.ts +92 -5
- package/node_modules/@mui/material/Menu/Menu.js +58 -19
- package/node_modules/@mui/material/MenuItem/MenuItem.d.ts +3 -3
- package/node_modules/@mui/material/MenuList/MenuList.d.ts +4 -4
- package/node_modules/@mui/material/MobileStepper/MobileStepper.d.ts +72 -4
- package/node_modules/@mui/material/MobileStepper/MobileStepper.js +76 -18
- package/node_modules/@mui/material/Modal/Modal.d.ts +7 -7
- package/node_modules/@mui/material/Modal/Modal.js +9 -10
- package/node_modules/@mui/material/NativeSelect/NativeSelect.d.ts +3 -3
- package/node_modules/@mui/material/NativeSelect/NativeSelectInput.js +6 -2
- package/node_modules/@mui/material/NoSsr/NoSsr.d.ts +2 -2
- package/node_modules/@mui/material/NoSsr/NoSsr.js +2 -2
- package/node_modules/@mui/material/OutlinedInput/NotchedOutline.js +2 -0
- package/node_modules/@mui/material/OutlinedInput/OutlinedInput.d.ts +32 -5
- package/node_modules/@mui/material/OutlinedInput/OutlinedInput.js +30 -10
- package/node_modules/@mui/material/OverridableComponent/index.d.ts +41 -0
- package/node_modules/@mui/material/OverridableComponent/index.js +1 -0
- package/node_modules/@mui/material/OverridableComponent/package.json +6 -0
- package/node_modules/@mui/material/Pagination/Pagination.d.ts +2 -2
- package/node_modules/@mui/material/PaginationItem/PaginationItem.d.ts +3 -3
- package/node_modules/@mui/material/Paper/Paper.d.ts +3 -3
- package/node_modules/@mui/material/PigmentContainer/PigmentContainer.d.ts +2 -2
- package/node_modules/@mui/material/PigmentContainer/PigmentContainer.js +2 -2
- package/node_modules/@mui/material/PigmentGrid/PigmentGrid.d.ts +2 -2
- package/node_modules/@mui/material/PigmentGrid/PigmentGrid.js +2 -2
- package/node_modules/@mui/material/PigmentHidden/PigmentHidden.d.ts +2 -2
- package/node_modules/@mui/material/PigmentHidden/PigmentHidden.js +2 -2
- package/node_modules/@mui/material/PigmentStack/PigmentStack.d.ts +2 -2
- package/node_modules/@mui/material/PigmentStack/PigmentStack.js +2 -2
- package/node_modules/@mui/material/Popover/Popover.d.ts +65 -12
- package/node_modules/@mui/material/Popover/Popover.js +79 -52
- package/node_modules/@mui/material/Popper/Popper.d.ts +4 -4
- package/node_modules/@mui/material/Popper/Popper.js +4 -4
- package/node_modules/@mui/material/Portal/Portal.d.ts +2 -2
- package/node_modules/@mui/material/Portal/Portal.js +2 -2
- package/node_modules/@mui/material/README.md +4 -2
- package/node_modules/@mui/material/Radio/Radio.d.ts +48 -4
- package/node_modules/@mui/material/Radio/Radio.js +61 -16
- package/node_modules/@mui/material/Radio/RadioButtonIcon.js +7 -2
- package/node_modules/@mui/material/RadioGroup/RadioGroup.d.ts +3 -3
- package/node_modules/@mui/material/Rating/Rating.d.ts +61 -3
- package/node_modules/@mui/material/Rating/Rating.js +131 -45
- package/node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline.d.ts +2 -2
- package/node_modules/@mui/material/Select/Select.d.ts +3 -3
- package/node_modules/@mui/material/Select/SelectInput.js +8 -8
- package/node_modules/@mui/material/Skeleton/Skeleton.d.ts +2 -2
- package/node_modules/@mui/material/Slide/Slide.d.ts +4 -4
- package/node_modules/@mui/material/Slider/Slider.d.ts +2 -2
- package/node_modules/@mui/material/Slider/sliderClasses.d.ts +21 -7
- package/node_modules/@mui/material/Slider/useSlider.js +2 -2
- package/node_modules/@mui/material/Snackbar/Snackbar.d.ts +81 -4
- package/node_modules/@mui/material/Snackbar/Snackbar.js +116 -32
- package/node_modules/@mui/material/SnackbarContent/SnackbarContent.d.ts +3 -3
- package/node_modules/@mui/material/SpeedDial/SpeedDial.d.ts +20 -8
- package/node_modules/@mui/material/SpeedDial/SpeedDial.js +40 -11
- package/node_modules/@mui/material/SpeedDialAction/SpeedDialAction.d.ts +85 -4
- package/node_modules/@mui/material/SpeedDialAction/SpeedDialAction.js +109 -31
- package/node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon.d.ts +2 -2
- package/node_modules/@mui/material/Stack/Stack.d.ts +2 -2
- package/node_modules/@mui/material/Step/Step.d.ts +2 -2
- package/node_modules/@mui/material/StepButton/StepButton.d.ts +3 -3
- package/node_modules/@mui/material/StepConnector/StepConnector.d.ts +2 -2
- package/node_modules/@mui/material/StepContent/StepContent.d.ts +4 -4
- package/node_modules/@mui/material/StepIcon/StepIcon.d.ts +3 -3
- package/node_modules/@mui/material/StepLabel/StepLabel.d.ts +21 -3
- package/node_modules/@mui/material/StepLabel/StepLabel.js +14 -5
- package/node_modules/@mui/material/Stepper/Stepper.d.ts +2 -2
- package/node_modules/@mui/material/SvgIcon/SvgIcon.d.ts +3 -3
- package/node_modules/@mui/material/SwipeableDrawer/SwipeArea.js +1 -0
- package/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer.d.ts +31 -5
- package/node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/node_modules/@mui/material/Switch/Switch.d.ts +78 -5
- package/node_modules/@mui/material/Switch/Switch.js +73 -9
- package/node_modules/@mui/material/Tab/Tab.d.ts +3 -3
- package/node_modules/@mui/material/TabScrollButton/TabScrollButton.d.ts +2 -2
- package/node_modules/@mui/material/Table/Table.d.ts +2 -2
- package/node_modules/@mui/material/TableBody/TableBody.d.ts +2 -2
- package/node_modules/@mui/material/TableCell/TableCell.d.ts +2 -2
- package/node_modules/@mui/material/TableContainer/TableContainer.d.ts +2 -2
- package/node_modules/@mui/material/TableFooter/TableFooter.d.ts +2 -2
- package/node_modules/@mui/material/TableHead/TableHead.d.ts +2 -2
- package/node_modules/@mui/material/TablePagination/TablePagination.d.ts +4 -4
- package/node_modules/@mui/material/TableRow/TableRow.d.ts +2 -2
- package/node_modules/@mui/material/TableSortLabel/TableSortLabel.d.ts +3 -3
- package/node_modules/@mui/material/Tabs/Tabs.d.ts +131 -31
- package/node_modules/@mui/material/Tabs/Tabs.js +124 -52
- package/node_modules/@mui/material/Tabs/tabsClasses.d.ts +4 -0
- package/node_modules/@mui/material/Tabs/tabsClasses.js +1 -1
- package/node_modules/@mui/material/TextField/TextField.d.ts +40 -10
- package/node_modules/@mui/material/TextField/TextField.js +22 -11
- package/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.d.ts +2 -2
- package/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js +68 -47
- package/node_modules/@mui/material/ToggleButton/ToggleButton.d.ts +3 -3
- package/node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup.d.ts +2 -2
- package/node_modules/@mui/material/Toolbar/Toolbar.d.ts +2 -2
- package/node_modules/@mui/material/Tooltip/Tooltip.d.ts +23 -27
- package/node_modules/@mui/material/Tooltip/Tooltip.js +1 -1
- package/node_modules/@mui/material/Typography/Typography.d.ts +3 -3
- package/node_modules/@mui/material/Zoom/Zoom.d.ts +3 -3
- package/node_modules/@mui/material/index.js +1 -1
- package/node_modules/@mui/material/internal/SwitchBase.d.ts +35 -1
- package/node_modules/@mui/material/internal/SwitchBase.js +88 -31
- package/node_modules/@mui/material/modern/Accordion/Accordion.js +18 -6
- package/node_modules/@mui/material/modern/AccordionSummary/AccordionSummary.js +67 -16
- package/node_modules/@mui/material/modern/Autocomplete/Autocomplete.js +1 -1
- package/node_modules/@mui/material/modern/AvatarGroup/AvatarGroup.js +10 -2
- package/node_modules/@mui/material/modern/Badge/Badge.js +27 -20
- package/node_modules/@mui/material/modern/BottomNavigationAction/BottomNavigationAction.js +53 -9
- package/node_modules/@mui/material/modern/Breadcrumbs/BreadcrumbCollapsed.js +3 -1
- package/node_modules/@mui/material/modern/Button/Button.js +3 -3
- package/node_modules/@mui/material/modern/CardActionArea/CardActionArea.js +47 -8
- package/node_modules/@mui/material/modern/Checkbox/Checkbox.js +51 -21
- package/node_modules/@mui/material/modern/ClickAwayListener/ClickAwayListener.js +3 -3
- package/node_modules/@mui/material/modern/Drawer/Drawer.js +108 -36
- package/node_modules/@mui/material/modern/Grid2/Grid2.js +2 -2
- package/node_modules/@mui/material/modern/IconButton/IconButton.js +3 -3
- package/node_modules/@mui/material/modern/ListItemText/ListItemText.js +14 -5
- package/node_modules/@mui/material/modern/Menu/Menu.js +58 -19
- package/node_modules/@mui/material/modern/MobileStepper/MobileStepper.js +76 -18
- package/node_modules/@mui/material/modern/Modal/Modal.js +9 -10
- package/node_modules/@mui/material/modern/NativeSelect/NativeSelectInput.js +6 -2
- package/node_modules/@mui/material/modern/NoSsr/NoSsr.js +2 -2
- package/node_modules/@mui/material/modern/OutlinedInput/NotchedOutline.js +2 -0
- package/node_modules/@mui/material/modern/OutlinedInput/OutlinedInput.js +30 -10
- package/node_modules/@mui/material/modern/OverridableComponent/index.js +1 -0
- package/node_modules/@mui/material/modern/PigmentContainer/PigmentContainer.js +2 -2
- package/node_modules/@mui/material/modern/PigmentGrid/PigmentGrid.js +2 -2
- package/node_modules/@mui/material/modern/PigmentHidden/PigmentHidden.js +2 -2
- package/node_modules/@mui/material/modern/PigmentStack/PigmentStack.js +2 -2
- package/node_modules/@mui/material/modern/Popover/Popover.js +79 -52
- package/node_modules/@mui/material/modern/Popper/Popper.js +4 -4
- package/node_modules/@mui/material/modern/Portal/Portal.js +2 -2
- package/node_modules/@mui/material/modern/Radio/Radio.js +61 -16
- package/node_modules/@mui/material/modern/Radio/RadioButtonIcon.js +7 -2
- package/node_modules/@mui/material/modern/Rating/Rating.js +131 -45
- package/node_modules/@mui/material/modern/Select/SelectInput.js +8 -8
- package/node_modules/@mui/material/modern/Slider/useSlider.js +2 -2
- package/node_modules/@mui/material/modern/Snackbar/Snackbar.js +116 -32
- package/node_modules/@mui/material/modern/SpeedDial/SpeedDial.js +40 -11
- package/node_modules/@mui/material/modern/SpeedDialAction/SpeedDialAction.js +109 -31
- package/node_modules/@mui/material/modern/StepLabel/StepLabel.js +14 -5
- package/node_modules/@mui/material/modern/SwipeableDrawer/SwipeArea.js +1 -0
- package/node_modules/@mui/material/modern/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/node_modules/@mui/material/modern/Switch/Switch.js +73 -9
- package/node_modules/@mui/material/modern/Tabs/Tabs.js +124 -52
- package/node_modules/@mui/material/modern/Tabs/tabsClasses.js +1 -1
- package/node_modules/@mui/material/modern/TextField/TextField.js +22 -11
- package/node_modules/@mui/material/modern/TextareaAutosize/TextareaAutosize.js +68 -47
- package/node_modules/@mui/material/modern/Tooltip/Tooltip.js +1 -1
- package/node_modules/@mui/material/modern/index.js +1 -1
- package/node_modules/@mui/material/modern/internal/SwitchBase.js +88 -31
- package/node_modules/@mui/material/modern/styles/ThemeProvider.js +20 -9
- package/node_modules/@mui/material/modern/styles/components.js +1 -0
- package/node_modules/@mui/material/modern/styles/createThemeNoVars.js +5 -2
- package/node_modules/@mui/material/modern/styles/overrides.js +1 -0
- package/node_modules/@mui/material/modern/styles/props.js +1 -0
- package/node_modules/@mui/material/modern/styles/shouldSkipGeneratingVar.js +1 -1
- package/node_modules/@mui/material/modern/styles/variants.js +1 -0
- package/node_modules/@mui/material/modern/useAutocomplete/useAutocomplete.js +16 -14
- package/node_modules/@mui/material/modern/useScrollTrigger/useScrollTrigger.js +3 -0
- package/node_modules/@mui/material/modern/utils/mergeSlotProps.js +10 -3
- package/node_modules/@mui/material/modern/version/index.js +3 -3
- package/node_modules/@mui/material/node/Accordion/Accordion.js +18 -6
- package/node_modules/@mui/material/node/AccordionSummary/AccordionSummary.js +67 -16
- package/node_modules/@mui/material/node/Autocomplete/Autocomplete.js +1 -1
- package/node_modules/@mui/material/node/AvatarGroup/AvatarGroup.js +10 -2
- package/node_modules/@mui/material/node/Badge/Badge.js +27 -20
- package/node_modules/@mui/material/node/BottomNavigationAction/BottomNavigationAction.js +53 -9
- package/node_modules/@mui/material/node/Breadcrumbs/BreadcrumbCollapsed.js +3 -1
- package/node_modules/@mui/material/node/Button/Button.js +3 -3
- package/node_modules/@mui/material/node/CardActionArea/CardActionArea.js +47 -8
- package/node_modules/@mui/material/node/Checkbox/Checkbox.js +51 -21
- package/node_modules/@mui/material/node/ClickAwayListener/ClickAwayListener.js +3 -3
- package/node_modules/@mui/material/node/Drawer/Drawer.js +108 -36
- package/node_modules/@mui/material/node/Grid2/Grid2.js +2 -2
- package/node_modules/@mui/material/node/IconButton/IconButton.js +3 -3
- package/node_modules/@mui/material/node/ListItemText/ListItemText.js +14 -5
- package/node_modules/@mui/material/node/Menu/Menu.js +58 -19
- package/node_modules/@mui/material/node/MobileStepper/MobileStepper.js +76 -18
- package/node_modules/@mui/material/node/Modal/Modal.js +9 -10
- package/node_modules/@mui/material/node/NativeSelect/NativeSelectInput.js +6 -2
- package/node_modules/@mui/material/node/NoSsr/NoSsr.js +2 -2
- package/node_modules/@mui/material/node/OutlinedInput/NotchedOutline.js +2 -0
- package/node_modules/@mui/material/node/OutlinedInput/OutlinedInput.js +30 -10
- package/node_modules/@mui/material/node/OverridableComponent/index.js +5 -0
- package/node_modules/@mui/material/node/PigmentContainer/PigmentContainer.js +2 -2
- package/node_modules/@mui/material/node/PigmentGrid/PigmentGrid.js +2 -2
- package/node_modules/@mui/material/node/PigmentHidden/PigmentHidden.js +2 -2
- package/node_modules/@mui/material/node/PigmentStack/PigmentStack.js +2 -2
- package/node_modules/@mui/material/node/Popover/Popover.js +79 -52
- package/node_modules/@mui/material/node/Popper/Popper.js +4 -4
- package/node_modules/@mui/material/node/Portal/Portal.js +2 -2
- package/node_modules/@mui/material/node/Radio/Radio.js +61 -16
- package/node_modules/@mui/material/node/Radio/RadioButtonIcon.js +7 -2
- package/node_modules/@mui/material/node/Rating/Rating.js +132 -46
- package/node_modules/@mui/material/node/Select/SelectInput.js +8 -8
- package/node_modules/@mui/material/node/Slider/useSlider.js +2 -2
- package/node_modules/@mui/material/node/Snackbar/Snackbar.js +116 -32
- package/node_modules/@mui/material/node/SpeedDial/SpeedDial.js +40 -11
- package/node_modules/@mui/material/node/SpeedDialAction/SpeedDialAction.js +109 -31
- package/node_modules/@mui/material/node/StepLabel/StepLabel.js +14 -5
- package/node_modules/@mui/material/node/SwipeableDrawer/SwipeArea.js +1 -0
- package/node_modules/@mui/material/node/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/node_modules/@mui/material/node/Switch/Switch.js +73 -9
- package/node_modules/@mui/material/node/Tabs/Tabs.js +124 -52
- package/node_modules/@mui/material/node/Tabs/tabsClasses.js +1 -1
- package/node_modules/@mui/material/node/TextField/TextField.js +22 -11
- package/node_modules/@mui/material/node/TextareaAutosize/TextareaAutosize.js +67 -46
- package/node_modules/@mui/material/node/Tooltip/Tooltip.js +1 -1
- package/node_modules/@mui/material/node/index.js +1 -1
- package/node_modules/@mui/material/node/internal/SwitchBase.js +88 -31
- package/node_modules/@mui/material/node/styles/ThemeProvider.js +20 -9
- package/node_modules/@mui/material/node/styles/components.js +5 -0
- package/node_modules/@mui/material/node/styles/createThemeNoVars.js +5 -2
- package/node_modules/@mui/material/node/styles/overrides.js +5 -0
- package/node_modules/@mui/material/node/styles/props.js +5 -0
- package/node_modules/@mui/material/node/styles/shouldSkipGeneratingVar.js +1 -1
- package/node_modules/@mui/material/node/styles/variants.js +5 -0
- package/node_modules/@mui/material/node/useAutocomplete/useAutocomplete.js +16 -14
- package/node_modules/@mui/material/node/useScrollTrigger/useScrollTrigger.js +3 -0
- package/node_modules/@mui/material/node/utils/mergeSlotProps.js +10 -3
- package/node_modules/@mui/material/node/version/index.js +3 -3
- package/node_modules/@mui/material/package.json +6 -6
- package/node_modules/@mui/material/styles/ThemeProvider.d.ts +6 -0
- package/node_modules/@mui/material/styles/ThemeProvider.js +20 -9
- package/node_modules/@mui/material/styles/ThemeProviderWithVars.d.ts +1 -0
- package/node_modules/@mui/material/styles/components.d.ts +590 -591
- package/node_modules/@mui/material/styles/components.js +1 -0
- package/node_modules/@mui/material/styles/createThemeNoVars.d.ts +2 -1
- package/node_modules/@mui/material/styles/createThemeNoVars.js +5 -2
- package/node_modules/@mui/material/styles/index.d.ts +1 -0
- package/node_modules/@mui/material/styles/overrides.d.ts +123 -142
- package/node_modules/@mui/material/styles/overrides.js +1 -0
- package/node_modules/@mui/material/styles/props.d.ts +120 -122
- package/node_modules/@mui/material/styles/props.js +1 -0
- package/node_modules/@mui/material/styles/shouldSkipGeneratingVar.js +1 -1
- package/node_modules/@mui/material/styles/variants.d.ts +7 -10
- package/node_modules/@mui/material/styles/variants.js +1 -0
- package/node_modules/@mui/material/useAutocomplete/useAutocomplete.d.ts +2 -2
- package/node_modules/@mui/material/useAutocomplete/useAutocomplete.js +16 -14
- package/node_modules/@mui/material/useScrollTrigger/useScrollTrigger.d.ts +1 -1
- package/node_modules/@mui/material/useScrollTrigger/useScrollTrigger.js +3 -0
- package/node_modules/@mui/material/utils/mergeSlotProps.js +10 -3
- package/node_modules/@mui/material/version/index.js +3 -3
- package/node_modules/@mui/private-theming/CHANGELOG.md +256 -0
- package/node_modules/@mui/private-theming/index.js +1 -1
- package/node_modules/@mui/private-theming/modern/index.js +1 -1
- package/node_modules/@mui/private-theming/node/index.js +1 -1
- package/node_modules/@mui/private-theming/package.json +2 -2
- package/node_modules/@mui/styled-engine/CHANGELOG.md +387 -0
- package/node_modules/@mui/styled-engine/README.md +2 -2
- package/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.d.ts +1 -0
- package/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js +72 -18
- package/node_modules/@mui/styled-engine/index.js +1 -1
- package/node_modules/@mui/styled-engine/modern/StyledEngineProvider/StyledEngineProvider.js +72 -18
- package/node_modules/@mui/styled-engine/modern/index.js +1 -1
- package/node_modules/@mui/styled-engine/node/StyledEngineProvider/StyledEngineProvider.js +72 -17
- package/node_modules/@mui/styled-engine/node/index.js +1 -1
- package/node_modules/@mui/styled-engine/package.json +1 -1
- package/node_modules/@mui/system/CHANGELOG.md +345 -0
- package/node_modules/@mui/system/GlobalStyles/GlobalStyles.js +25 -1
- package/node_modules/@mui/system/Grid/createGrid.js +4 -0
- package/node_modules/@mui/system/Grid/deleteLegacyGridProps.d.ts +11 -0
- package/node_modules/@mui/system/Grid/deleteLegacyGridProps.js +47 -0
- package/node_modules/@mui/system/README.md +6 -4
- package/node_modules/@mui/system/ThemeProvider/ThemeProvider.js +4 -2
- package/node_modules/@mui/system/ThemeProvider/useLayerOrder.d.ts +8 -0
- package/node_modules/@mui/system/ThemeProvider/useLayerOrder.js +58 -0
- package/node_modules/@mui/system/createBreakpoints/createBreakpoints.d.ts +5 -5
- package/node_modules/@mui/system/createStyled/createStyled.js +34 -21
- package/node_modules/@mui/system/cssContainerQueries/cssContainerQueries.d.ts +1 -2
- package/node_modules/@mui/system/cssVars/createCssVarsProvider.d.ts +6 -0
- package/node_modules/@mui/system/cssVars/createCssVarsProvider.js +7 -0
- package/node_modules/@mui/system/cssVars/index.d.ts +1 -0
- package/node_modules/@mui/system/cssVars/localStorageManager.d.ts +34 -0
- package/node_modules/@mui/system/cssVars/localStorageManager.js +57 -0
- package/node_modules/@mui/system/cssVars/useCurrentColorScheme.d.ts +2 -0
- package/node_modules/@mui/system/cssVars/useCurrentColorScheme.js +50 -69
- package/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js +26 -2
- package/node_modules/@mui/system/esm/Grid/createGrid.js +4 -0
- package/node_modules/@mui/system/esm/Grid/deleteLegacyGridProps.js +41 -0
- package/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js +5 -3
- package/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.js +52 -0
- package/node_modules/@mui/system/esm/createStyled/createStyled.js +35 -22
- package/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js +7 -0
- package/node_modules/@mui/system/esm/cssVars/localStorageManager.js +51 -0
- package/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.js +49 -69
- package/node_modules/@mui/system/esm/styleFunctionSx/AliasesCSSProperties.js +1 -0
- package/node_modules/@mui/system/esm/styleFunctionSx/OverwriteCSSProperties.js +1 -0
- package/node_modules/@mui/system/esm/styleFunctionSx/StandardCssProperties.js +1 -0
- package/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js +9 -2
- package/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js +3 -0
- package/node_modules/@mui/system/esm/version/index.js +3 -3
- package/node_modules/@mui/system/index.js +1 -1
- package/node_modules/@mui/system/modern/GlobalStyles/GlobalStyles.js +26 -2
- package/node_modules/@mui/system/modern/Grid/createGrid.js +4 -0
- package/node_modules/@mui/system/modern/Grid/deleteLegacyGridProps.js +41 -0
- package/node_modules/@mui/system/modern/ThemeProvider/ThemeProvider.js +5 -3
- package/node_modules/@mui/system/modern/ThemeProvider/useLayerOrder.js +52 -0
- package/node_modules/@mui/system/modern/createStyled/createStyled.js +35 -22
- package/node_modules/@mui/system/modern/cssVars/createCssVarsProvider.js +7 -0
- package/node_modules/@mui/system/modern/cssVars/localStorageManager.js +51 -0
- package/node_modules/@mui/system/modern/cssVars/useCurrentColorScheme.js +49 -69
- package/node_modules/@mui/system/modern/index.js +1 -1
- package/node_modules/@mui/system/modern/styleFunctionSx/AliasesCSSProperties.js +1 -0
- package/node_modules/@mui/system/modern/styleFunctionSx/OverwriteCSSProperties.js +1 -0
- package/node_modules/@mui/system/modern/styleFunctionSx/StandardCssProperties.js +1 -0
- package/node_modules/@mui/system/modern/styleFunctionSx/styleFunctionSx.js +9 -2
- package/node_modules/@mui/system/modern/useMediaQuery/useMediaQuery.js +3 -0
- package/node_modules/@mui/system/modern/version/index.js +3 -3
- package/node_modules/@mui/system/package.json +5 -5
- package/node_modules/@mui/system/styleFunctionSx/AliasesCSSProperties.d.ts +266 -267
- package/node_modules/@mui/system/styleFunctionSx/AliasesCSSProperties.js +5 -0
- package/node_modules/@mui/system/styleFunctionSx/OverwriteCSSProperties.d.ts +51 -52
- package/node_modules/@mui/system/styleFunctionSx/OverwriteCSSProperties.js +5 -0
- package/node_modules/@mui/system/styleFunctionSx/StandardCssProperties.d.ts +0 -1
- package/node_modules/@mui/system/styleFunctionSx/StandardCssProperties.js +5 -0
- package/node_modules/@mui/system/styleFunctionSx/styleFunctionSx.js +9 -2
- package/node_modules/@mui/system/useMediaQuery/useMediaQuery.js +3 -0
- package/node_modules/@mui/system/version/index.js +3 -3
- package/node_modules/@mui/types/package.json +1 -1
- package/node_modules/@mui/utils/CHANGELOG.md +256 -0
- package/node_modules/@mui/utils/esm/useForkRef/useForkRef.js +32 -12
- package/node_modules/@mui/utils/index.js +1 -1
- package/node_modules/@mui/utils/modern/index.js +1 -1
- package/node_modules/@mui/utils/modern/useForkRef/useForkRef.js +32 -12
- package/node_modules/@mui/utils/package.json +3 -3
- package/node_modules/@mui/utils/useForkRef/useForkRef.d.ts +1 -2
- package/node_modules/@mui/utils/useForkRef/useForkRef.js +32 -13
- package/package.json +24 -24
- package/node_modules/@babel/parser/index.cjs +0 -5
- package/node_modules/@babel/traverse/lib/scope/traverseForScope.js +0 -68
- package/node_modules/@babel/traverse/lib/scope/traverseForScope.js.map +0 -1
- package/node_modules/@babel/traverse/node_modules/globals/globals.json +0 -1563
- package/node_modules/@babel/traverse/node_modules/globals/index.js +0 -2
- package/node_modules/@babel/traverse/node_modules/globals/license +0 -9
- package/node_modules/@babel/traverse/node_modules/globals/package.json +0 -41
- package/node_modules/@babel/traverse/node_modules/globals/readme.md +0 -41
- package/node_modules/@emotion/cache/dist/declarations/types/index.d.ts +0 -45
- package/node_modules/@emotion/cache/src/index.d.ts +0 -2
- package/node_modules/@emotion/cache/types/index.d.ts +0 -45
- package/node_modules/@emotion/react/dist/declarations/dist/emotion-react.cjs.d.ts +0 -2
- package/node_modules/@emotion/react/dist/declarations/types/helper.d.ts +0 -14
- package/node_modules/@emotion/react/dist/declarations/types/index.d.ts +0 -115
- package/node_modules/@emotion/react/dist/declarations/types/jsx-dev-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/dist/declarations/types/jsx-namespace.d.ts +0 -102
- package/node_modules/@emotion/react/dist/declarations/types/jsx-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/dist/declarations/types/theming.d.ts +0 -31
- package/node_modules/@emotion/react/src/_isolated-hnrs.d.ts +0 -3
- package/node_modules/@emotion/react/src/css.js +0 -8
- package/node_modules/@emotion/react/src/global.js +0 -145
- package/node_modules/@emotion/react/src/index.d.ts +0 -1
- package/node_modules/@emotion/react/src/jsx-dev-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/src/jsx-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/src/jsx-runtime.js +0 -21
- package/node_modules/@emotion/react/src/jsx.js +0 -25
- package/node_modules/@emotion/react/src/keyframes.js +0 -23
- package/node_modules/@emotion/react/types/index.d.ts +0 -115
- package/node_modules/@emotion/react/types/jsx-dev-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/types/jsx-namespace.d.ts +0 -102
- package/node_modules/@emotion/react/types/jsx-runtime.d.ts +0 -1
- package/node_modules/@emotion/react/types/theming.d.ts +0 -31
- package/node_modules/@emotion/styled/dist/declarations/types/base.d.ts +0 -197
- package/node_modules/@emotion/styled/dist/declarations/types/index.d.ts +0 -33
- package/node_modules/@emotion/styled/src/base.d.ts +0 -2
- package/node_modules/@emotion/styled/src/index.d.ts +0 -2
- package/node_modules/@emotion/styled/src/index.js +0 -11
- package/node_modules/@emotion/styled/src/utils.js +0 -86
- package/node_modules/@emotion/styled/types/jsx-namespace.d.ts +0 -14
- package/node_modules/@emotion/use-insertion-effect-with-fallbacks/src/index.js +0 -15
- package/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +0 -12
- package/node_modules/@jridgewell/set-array/LICENSE +0 -19
- package/node_modules/@jridgewell/set-array/README.md +0 -37
- package/node_modules/@jridgewell/set-array/dist/set-array.mjs +0 -69
- package/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +0 -1
- package/node_modules/@jridgewell/set-array/dist/set-array.umd.js +0 -83
- package/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +0 -1
- package/node_modules/@jridgewell/set-array/package.json +0 -65
- package/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +0 -8
- package/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +0 -1
- package/node_modules/@mui/material/OverridableComponent.d.ts +0 -67
- /package/node_modules/@emotion/cache/src/conditions/{false.js → false.ts} +0 -0
- /package/node_modules/@emotion/cache/src/conditions/{is-browser.js → is-browser.ts} +0 -0
- /package/node_modules/@emotion/cache/src/conditions/{true.js → true.ts} +0 -0
- /package/node_modules/@emotion/react/src/conditions/{false.js → false.ts} +0 -0
- /package/node_modules/@emotion/react/src/conditions/{is-browser.js → is-browser.ts} +0 -0
- /package/node_modules/@emotion/react/src/conditions/{true.js → true.ts} +0 -0
- /package/node_modules/@emotion/react/{types/helper.d.ts → src/types.ts} +0 -0
- /package/node_modules/@emotion/react/src/{utils.js → utils.ts} +0 -0
- /package/node_modules/@emotion/styled/src/conditions/{false.js → false.ts} +0 -0
- /package/node_modules/@emotion/styled/src/conditions/{is-browser.js → is-browser.ts} +0 -0
- /package/node_modules/@emotion/styled/src/conditions/{true.js → true.ts} +0 -0
- /package/node_modules/@emotion/use-insertion-effect-with-fallbacks/src/conditions/{false.js → false.ts} +0 -0
- /package/node_modules/@emotion/use-insertion-effect-with-fallbacks/src/conditions/{is-browser.js → is-browser.ts} +0 -0
- /package/node_modules/@emotion/use-insertion-effect-with-fallbacks/src/conditions/{true.js → true.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_renamer","require","_index","_traverseForScope","_binding","_globals","_t","t","_cache","_visitors","NOT_LOCAL_BINDING","assignmentExpression","callExpression","cloneNode","getBindingIdentifiers","identifier","isArrayExpression","isBinary","isCallExpression","isClass","isClassBody","isClassDeclaration","isExportAllDeclaration","isExportDefaultDeclaration","isExportNamedDeclaration","isFunctionDeclaration","isIdentifier","isImportDeclaration","isLiteral","isMemberExpression","isMethod","isModuleSpecifier","isNullLiteral","isObjectExpression","isProperty","isPureish","isRegExpLiteral","isSuper","isTaggedTemplateExpression","isTemplateLiteral","isThisExpression","isUnaryExpression","isVariableDeclaration","expressionStatement","matchesPattern","memberExpression","numericLiteral","toIdentifier","variableDeclaration","variableDeclarator","isRecordExpression","isTupleExpression","isObjectProperty","isTopicReference","isMetaProperty","isPrivateName","isExportDeclaration","buildUndefinedNode","sequenceExpression","gatherNodeParts","node","parts","type","_node$specifiers","source","specifiers","length","e","declaration","local","push","value","object","property","name","callee","properties","argument","key","left","id","expression","meta","openingElement","openingFragment","namespace","collectorVisitor","ForStatement","path","declar","get","isVar","scope","parentScope","getFunctionParent","getProgramParent","registerBinding","Declaration","isBlockScoped","parent","registerDeclaration","ImportDeclaration","getBlockParent","ReferencedIdentifier","state","references","ForXStatement","isPattern","constantViolations","ExportDeclaration","exit","binding","getBinding","reference","decl","declarations","Object","keys","LabeledStatement","AssignmentExpression","assignments","UpdateExpression","UnaryExpression","operator","BlockScoped","bindings","CatchClause","Function","params","param","isFunctionExpression","ClassExpression","TSTypeAnnotation","skip","uid","Scope","constructor","block","inited","labels","globals","uids","data","crawling","cached","scopeCache","set","Map","_parent","_path","shouldSkip","listKey","parentPath","isScope","generateDeclaredUidIdentifier","generateUidIdentifier","generateUid","replace","i","hasLabel","hasBinding","hasGlobal","hasReference","program","generateUidBasedOnNode","defaultName","join","slice","generateUidIdentifierBasedOnNode","isStatic","constant","maybeGenerateMemoised","dontPush","checkBlockScopedCollisions","kind","duplicate","hub","buildError","TypeError","rename","oldName","newName","renamer","Renamer","arguments","dump","sep","repeat","console","log","violations","getLabel","registerLabel","label","isLabeledStatement","declare","isTypeDeclaration","importKind","specifier","isTypeSpecifier","isImportSpecifier","registerConstantViolation","ids","getAssignmentIdentifiers","_this$getBinding","reassign","bindingPath","ReferenceError","declarators","getOuterBindingIdentifiers","getOwnBinding","Binding","addGlobal","hasUid","isPure","constantsOnly","_node$decorators","superClass","decorators","body","method","right","elem","elements","prop","_node$decorators2","computed","_node$decorators3","static","expressions","tag","noGlobals","quasi","isStringLiteral","setData","val","getData","removeData","init","crawl","create","isProgram","programParent","isExplodedVisitor","typeVisitors","visit","enter","call","traverseForScope","ref","opts","getPatternParent","isBlockStatement","isSwitchStatement","unique","isFunction","pushContainer","isLoop","isCatchClause","ensureBlock","blockHoist","_blockHoist","dataKey","declarPath","unshiftContainer","declarator","len","Error","isFunctionParent","isBlockParent","getAllBindings","bindingIdentifierEquals","getBindingIdentifier","previousPath","_previousPath","isArrowFunctionExpression","_this$getBinding2","getOwnBindingIdentifier","hasOwnBinding","noUids","includes","contextVariables","parentHasBinding","_this$parent","moveBindingTo","info","removeOwnBinding","removeBinding","_this$getBinding3","hoistVariables","emit","seen","Set","isVariableDeclarator","has","add","firstId","_firstId","isFor","replaceWith","remove","expr","isForStatement","exports","default","builtin","prototype","_renameFromMap","map","traverse","_generateUid","toArray","arrayLikeIsIterable","isGenericType","helperName","args","unshift","addHelper","getAllBindingsOfKind","kinds","defineProperties","parentBlock","configurable","enumerable"],"sources":["../../src/scope/index.ts"],"sourcesContent":["import Renamer from \"./lib/renamer.ts\";\nimport type NodePath from \"../path/index.ts\";\nimport traverse from \"../index.ts\";\nimport traverseForScope from \"./traverseForScope.ts\";\nimport Binding from \"./binding.ts\";\nimport type { BindingKind } from \"./binding.ts\";\nimport globals from \"globals\";\nimport {\n NOT_LOCAL_BINDING,\n assignmentExpression,\n callExpression,\n cloneNode,\n getBindingIdentifiers,\n identifier,\n isArrayExpression,\n isBinary,\n isCallExpression,\n isClass,\n isClassBody,\n isClassDeclaration,\n isExportAllDeclaration,\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n isFunctionDeclaration,\n isIdentifier,\n isImportDeclaration,\n isLiteral,\n isMemberExpression,\n isMethod,\n isModuleSpecifier,\n isNullLiteral,\n isObjectExpression,\n isProperty,\n isPureish,\n isRegExpLiteral,\n isSuper,\n isTaggedTemplateExpression,\n isTemplateLiteral,\n isThisExpression,\n isUnaryExpression,\n isVariableDeclaration,\n expressionStatement,\n matchesPattern,\n memberExpression,\n numericLiteral,\n toIdentifier,\n variableDeclaration,\n variableDeclarator,\n isRecordExpression,\n isTupleExpression,\n isObjectProperty,\n isTopicReference,\n isMetaProperty,\n isPrivateName,\n isExportDeclaration,\n buildUndefinedNode,\n sequenceExpression,\n} from \"@babel/types\";\nimport * as t from \"@babel/types\";\nimport { scope as scopeCache } from \"../cache.ts\";\nimport type { Visitor } from \"../types.ts\";\nimport { isExplodedVisitor } from \"../visitors.ts\";\n\ntype NodePart = string | number | boolean;\n// Recursively gathers the identifying names of a node.\nfunction gatherNodeParts(node: t.Node, parts: NodePart[]) {\n switch (node?.type) {\n default:\n if (isImportDeclaration(node) || isExportDeclaration(node)) {\n if (\n (isExportAllDeclaration(node) ||\n isExportNamedDeclaration(node) ||\n isImportDeclaration(node)) &&\n node.source\n ) {\n gatherNodeParts(node.source, parts);\n } else if (\n (isExportNamedDeclaration(node) || isImportDeclaration(node)) &&\n node.specifiers?.length\n ) {\n for (const e of node.specifiers) gatherNodeParts(e, parts);\n } else if (\n (isExportDefaultDeclaration(node) ||\n isExportNamedDeclaration(node)) &&\n node.declaration\n ) {\n gatherNodeParts(node.declaration, parts);\n }\n } else if (isModuleSpecifier(node)) {\n // todo(flow->ts): should condition instead be:\n // ```\n // t.isExportSpecifier(node) ||\n // t.isImportDefaultSpecifier(node) ||\n // t.isImportNamespaceSpecifier(node) ||\n // t.isImportSpecifier(node)\n // ```\n // allowing only nodes with `.local`?\n // @ts-expect-error todo(flow->ts)\n gatherNodeParts(node.local, parts);\n } else if (\n isLiteral(node) &&\n !isNullLiteral(node) &&\n !isRegExpLiteral(node) &&\n !isTemplateLiteral(node)\n ) {\n parts.push(node.value);\n }\n break;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n case \"JSXMemberExpression\":\n gatherNodeParts(node.object, parts);\n gatherNodeParts(node.property, parts);\n break;\n\n case \"Identifier\":\n case \"JSXIdentifier\":\n parts.push(node.name);\n break;\n\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n case \"NewExpression\":\n gatherNodeParts(node.callee, parts);\n break;\n\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n for (const e of node.properties) {\n gatherNodeParts(e, parts);\n }\n break;\n\n case \"SpreadElement\":\n case \"RestElement\":\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"ObjectProperty\":\n case \"ObjectMethod\":\n case \"ClassProperty\":\n case \"ClassMethod\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n gatherNodeParts(node.key, parts);\n break;\n\n case \"ThisExpression\":\n parts.push(\"this\");\n break;\n\n case \"Super\":\n parts.push(\"super\");\n break;\n\n case \"Import\":\n parts.push(\"import\");\n break;\n\n case \"DoExpression\":\n parts.push(\"do\");\n break;\n\n case \"YieldExpression\":\n parts.push(\"yield\");\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"AwaitExpression\":\n parts.push(\"await\");\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"AssignmentExpression\":\n gatherNodeParts(node.left, parts);\n break;\n\n case \"VariableDeclarator\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"FunctionExpression\":\n case \"FunctionDeclaration\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"PrivateName\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"ParenthesizedExpression\":\n gatherNodeParts(node.expression, parts);\n break;\n\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"MetaProperty\":\n gatherNodeParts(node.meta, parts);\n gatherNodeParts(node.property, parts);\n break;\n\n case \"JSXElement\":\n gatherNodeParts(node.openingElement, parts);\n break;\n\n case \"JSXOpeningElement\":\n gatherNodeParts(node.name, parts);\n break;\n\n case \"JSXFragment\":\n gatherNodeParts(node.openingFragment, parts);\n break;\n\n case \"JSXOpeningFragment\":\n parts.push(\"Fragment\");\n break;\n\n case \"JSXNamespacedName\":\n gatherNodeParts(node.namespace, parts);\n gatherNodeParts(node.name, parts);\n break;\n }\n}\n\n//\ninterface CollectVisitorState {\n assignments: NodePath<t.AssignmentExpression>[];\n references: NodePath<t.Identifier | t.JSXIdentifier>[];\n constantViolations: NodePath[];\n}\n\nconst collectorVisitor: Visitor<CollectVisitorState> = {\n ForStatement(path) {\n const declar = path.get(\"init\");\n // delegate block scope handling to the `BlockScoped` method\n if (declar.isVar()) {\n const { scope } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", declar);\n }\n },\n\n Declaration(path) {\n // delegate block scope handling to the `BlockScoped` method\n if (path.isBlockScoped()) return;\n\n // delegate import handing to the `ImportDeclaration` method\n if (path.isImportDeclaration()) return;\n\n // this will be hit again once we traverse into it after this iteration\n if (path.isExportDeclaration()) return;\n\n // we've ran into a declaration!\n const parent =\n path.scope.getFunctionParent() || path.scope.getProgramParent();\n parent.registerDeclaration(path);\n },\n\n ImportDeclaration(path) {\n // import may only appear in the top level or inside a module/namespace (for TS/flow)\n const parent = path.scope.getBlockParent();\n\n parent.registerDeclaration(path);\n },\n\n ReferencedIdentifier(path, state) {\n state.references.push(path);\n },\n\n ForXStatement(path, state) {\n const left = path.get(\"left\");\n if (left.isPattern() || left.isIdentifier()) {\n state.constantViolations.push(path);\n }\n // delegate block scope handling to the `BlockScoped` method\n else if (left.isVar()) {\n const { scope } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", left);\n }\n },\n\n ExportDeclaration: {\n exit(path) {\n const { node, scope } = path;\n // ExportAllDeclaration does not have `declaration`\n if (isExportAllDeclaration(node)) return;\n const declar = node.declaration;\n if (isClassDeclaration(declar) || isFunctionDeclaration(declar)) {\n const id = declar.id;\n if (!id) return;\n\n const binding = scope.getBinding(id.name);\n binding?.reference(path);\n } else if (isVariableDeclaration(declar)) {\n for (const decl of declar.declarations) {\n for (const name of Object.keys(getBindingIdentifiers(decl))) {\n const binding = scope.getBinding(name);\n binding?.reference(path);\n }\n }\n }\n },\n },\n\n LabeledStatement(path) {\n path.scope.getBlockParent().registerDeclaration(path);\n },\n\n AssignmentExpression(path, state) {\n state.assignments.push(path);\n },\n\n UpdateExpression(path, state) {\n state.constantViolations.push(path);\n },\n\n UnaryExpression(path, state) {\n if (path.node.operator === \"delete\") {\n state.constantViolations.push(path);\n }\n },\n\n BlockScoped(path) {\n let scope = path.scope;\n if (scope.path === path) scope = scope.parent;\n\n const parent = scope.getBlockParent();\n parent.registerDeclaration(path);\n\n // Register class identifier in class' scope if this is a class declaration.\n if (path.isClassDeclaration() && path.node.id) {\n const id = path.node.id;\n const name = id.name;\n\n path.scope.bindings[name] = path.scope.parent.getBinding(name);\n }\n },\n\n CatchClause(path) {\n path.scope.registerBinding(\"let\", path);\n },\n\n Function(path) {\n const params: Array<NodePath> = path.get(\"params\");\n for (const param of params) {\n path.scope.registerBinding(\"param\", param);\n }\n\n // Register function expression id after params. When the id\n // collides with a function param, the id effectively can't be\n // referenced: here we registered it as a constantViolation\n if (\n path.isFunctionExpression() &&\n path.node.id &&\n // @ts-expect-error Fixme: document symbol ast properties\n !path.node.id[NOT_LOCAL_BINDING]\n ) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n\n ClassExpression(path) {\n if (\n path.node.id &&\n // @ts-expect-error Fixme: document symbol ast properties\n !path.node.id[NOT_LOCAL_BINDING]\n ) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n TSTypeAnnotation(path) {\n path.skip();\n },\n};\n\nlet uid = 0;\n\nexport type { Binding };\n\nexport { Scope as default };\nclass Scope {\n uid;\n\n path: NodePath;\n block: t.Pattern | t.Scopable;\n\n inited;\n\n labels: Map<string, NodePath<t.LabeledStatement>>;\n bindings: { [name: string]: Binding };\n references: { [name: string]: true };\n globals: { [name: string]: t.Identifier | t.JSXIdentifier };\n uids: { [name: string]: boolean };\n data: { [key: string | symbol]: unknown };\n crawling: boolean;\n\n /**\n * This searches the current \"scope\" and collects all references/bindings\n * within.\n */\n constructor(path: NodePath<t.Pattern | t.Scopable>) {\n const { node } = path;\n const cached = scopeCache.get(node);\n // Sometimes, a scopable path is placed higher in the AST tree.\n // In these cases, have to create a new Scope.\n if (cached?.path === path) {\n return cached;\n }\n scopeCache.set(node, this);\n\n this.uid = uid++;\n\n this.block = node;\n this.path = path;\n\n this.labels = new Map();\n this.inited = false;\n }\n\n /**\n * Globals.\n */\n\n static globals = Object.keys(globals.builtin);\n\n /**\n * Variables available in current context.\n */\n\n static contextVariables = [\"arguments\", \"undefined\", \"Infinity\", \"NaN\"];\n\n get parent() {\n let parent,\n path = this.path;\n do {\n // Skip method scope if coming from inside computed key or decorator expression\n const shouldSkip = path.key === \"key\" || path.listKey === \"decorators\";\n path = path.parentPath;\n if (shouldSkip && path.isMethod()) path = path.parentPath;\n if (path?.isScope()) parent = path;\n } while (path && !parent);\n\n return parent?.scope;\n }\n\n /**\n * Generate a unique identifier and add it to the current scope.\n */\n\n generateDeclaredUidIdentifier(name?: string) {\n const id = this.generateUidIdentifier(name);\n this.push({ id });\n return cloneNode(id);\n }\n\n /**\n * Generate a unique identifier.\n */\n\n generateUidIdentifier(name?: string) {\n return identifier(this.generateUid(name));\n }\n\n /**\n * Generate a unique `_id1` binding.\n */\n\n generateUid(name: string = \"temp\"): string {\n name = toIdentifier(name).replace(/^_+/, \"\").replace(/\\d+$/g, \"\");\n\n let uid;\n let i = 1;\n do {\n uid = `_${name}`;\n if (i > 1) uid += i;\n i++;\n } while (\n this.hasLabel(uid) ||\n this.hasBinding(uid) ||\n this.hasGlobal(uid) ||\n this.hasReference(uid)\n );\n\n const program = this.getProgramParent();\n program.references[uid] = true;\n program.uids[uid] = true;\n\n return uid;\n }\n\n generateUidBasedOnNode(node: t.Node, defaultName?: string) {\n const parts: NodePart[] = [];\n gatherNodeParts(node, parts);\n\n let id = parts.join(\"$\");\n id = id.replace(/^_/, \"\") || defaultName || \"ref\";\n\n return this.generateUid(id.slice(0, 20));\n }\n\n /**\n * Generate a unique identifier based on a node.\n */\n\n generateUidIdentifierBasedOnNode(node: t.Node, defaultName?: string) {\n return identifier(this.generateUidBasedOnNode(node, defaultName));\n }\n\n /**\n * Determine whether evaluating the specific input `node` is a consequenceless reference. ie.\n * evaluating it won't result in potentially arbitrary code from being ran. The following are\n * allowed and determined not to cause side effects:\n *\n * - `this` expressions\n * - `super` expressions\n * - Bound identifiers\n */\n\n isStatic(node: t.Node): boolean {\n if (isThisExpression(node) || isSuper(node) || isTopicReference(node)) {\n return true;\n }\n\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding) {\n return binding.constant;\n } else {\n return this.hasBinding(node.name);\n }\n }\n\n return false;\n }\n\n /**\n * Possibly generate a memoised identifier if it is not static and has consequences.\n */\n\n maybeGenerateMemoised(node: t.Node, dontPush?: boolean) {\n if (this.isStatic(node)) {\n return null;\n } else {\n const id = this.generateUidIdentifierBasedOnNode(node);\n if (!dontPush) {\n this.push({ id });\n return cloneNode(id);\n }\n return id;\n }\n }\n\n checkBlockScopedCollisions(\n local: Binding,\n kind: BindingKind,\n name: string,\n id: any,\n ) {\n // ignore parameters\n if (kind === \"param\") return;\n\n // Ignore existing binding if it's the name of the current function or\n // class expression\n if (local.kind === \"local\") return;\n\n const duplicate =\n // don't allow duplicate bindings to exist alongside\n kind === \"let\" ||\n local.kind === \"let\" ||\n local.kind === \"const\" ||\n local.kind === \"module\" ||\n // don't allow a local of param with a kind of let\n (local.kind === \"param\" && kind === \"const\");\n\n if (duplicate) {\n throw this.path.hub.buildError(\n id,\n `Duplicate declaration \"${name}\"`,\n TypeError,\n );\n }\n }\n\n rename(\n oldName: string,\n newName?: string,\n // prettier-ignore\n /* Babel 7 - block?: t.Pattern | t.Scopable */\n ) {\n const binding = this.getBinding(oldName);\n if (binding) {\n newName ||= this.generateUidIdentifier(oldName).name;\n const renamer = new Renamer(binding, oldName, newName);\n if (process.env.BABEL_8_BREAKING) {\n renamer.rename();\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) TODO: Delete this\n renamer.rename(arguments[2]);\n }\n }\n }\n\n dump() {\n const sep = \"-\".repeat(60);\n console.log(sep);\n let scope: Scope = this;\n do {\n console.log(\"#\", scope.block.type);\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n console.log(\" -\", name, {\n constant: binding.constant,\n references: binding.references,\n violations: binding.constantViolations.length,\n kind: binding.kind,\n });\n }\n } while ((scope = scope.parent));\n console.log(sep);\n }\n\n hasLabel(name: string) {\n return !!this.getLabel(name);\n }\n\n getLabel(name: string) {\n return this.labels.get(name);\n }\n\n registerLabel(path: NodePath<t.LabeledStatement>) {\n this.labels.set(path.node.label.name, path);\n }\n\n registerDeclaration(path: NodePath) {\n if (path.isLabeledStatement()) {\n this.registerLabel(path);\n } else if (path.isFunctionDeclaration()) {\n this.registerBinding(\"hoisted\", path.get(\"id\"), path);\n } else if (path.isVariableDeclaration()) {\n const declarations = path.get(\"declarations\");\n const { kind } = path.node;\n for (const declar of declarations) {\n this.registerBinding(\n kind === \"using\" || kind === \"await using\" ? \"const\" : kind,\n declar,\n );\n }\n } else if (path.isClassDeclaration()) {\n if (path.node.declare) return;\n this.registerBinding(\"let\", path);\n } else if (path.isImportDeclaration()) {\n const isTypeDeclaration =\n path.node.importKind === \"type\" || path.node.importKind === \"typeof\";\n const specifiers = path.get(\"specifiers\");\n for (const specifier of specifiers) {\n const isTypeSpecifier =\n isTypeDeclaration ||\n (specifier.isImportSpecifier() &&\n (specifier.node.importKind === \"type\" ||\n specifier.node.importKind === \"typeof\"));\n\n this.registerBinding(isTypeSpecifier ? \"unknown\" : \"module\", specifier);\n }\n } else if (path.isExportDeclaration()) {\n // todo: improve babel-types\n const declar = path.get(\"declaration\") as NodePath;\n if (\n declar.isClassDeclaration() ||\n declar.isFunctionDeclaration() ||\n declar.isVariableDeclaration()\n ) {\n this.registerDeclaration(declar);\n }\n } else {\n this.registerBinding(\"unknown\", path);\n }\n }\n\n buildUndefinedNode() {\n return buildUndefinedNode();\n }\n\n registerConstantViolation(path: NodePath) {\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n this.getBinding(name)?.reassign(path);\n }\n }\n\n registerBinding(\n kind: Binding[\"kind\"],\n path: NodePath,\n bindingPath: NodePath = path,\n ) {\n if (!kind) throw new ReferenceError(\"no `kind`\");\n\n if (path.isVariableDeclaration()) {\n const declarators: Array<NodePath> = path.get(\"declarations\");\n for (const declar of declarators) {\n this.registerBinding(kind, declar);\n }\n return;\n }\n\n const parent = this.getProgramParent();\n const ids = path.getOuterBindingIdentifiers(true);\n\n for (const name of Object.keys(ids)) {\n parent.references[name] = true;\n\n for (const id of ids[name]) {\n const local = this.getOwnBinding(name);\n\n if (local) {\n // same identifier so continue safely as we're likely trying to register it\n // multiple times\n if (local.identifier === id) continue;\n\n this.checkBlockScopedCollisions(local, kind, name, id);\n }\n\n // A redeclaration of an existing variable is a modification\n if (local) {\n local.reassign(bindingPath);\n } else {\n this.bindings[name] = new Binding({\n identifier: id,\n scope: this,\n path: bindingPath,\n kind: kind,\n });\n }\n }\n }\n }\n\n addGlobal(node: t.Identifier | t.JSXIdentifier) {\n this.globals[node.name] = node;\n }\n\n hasUid(name: string): boolean {\n let scope: Scope = this;\n\n do {\n if (scope.uids[name]) return true;\n } while ((scope = scope.parent));\n\n return false;\n }\n\n hasGlobal(name: string): boolean {\n let scope: Scope = this;\n\n do {\n if (scope.globals[name]) return true;\n } while ((scope = scope.parent));\n\n return false;\n }\n\n hasReference(name: string): boolean {\n return !!this.getProgramParent().references[name];\n }\n\n isPure(node: t.Node, constantsOnly?: boolean): boolean {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (!binding) return false;\n if (constantsOnly) return binding.constant;\n return true;\n } else if (\n isThisExpression(node) ||\n isMetaProperty(node) ||\n isTopicReference(node) ||\n isPrivateName(node)\n ) {\n return true;\n } else if (isClass(node)) {\n if (node.superClass && !this.isPure(node.superClass, constantsOnly)) {\n return false;\n }\n if (node.decorators?.length > 0) {\n return false;\n }\n return this.isPure(node.body, constantsOnly);\n } else if (isClassBody(node)) {\n for (const method of node.body) {\n if (!this.isPure(method, constantsOnly)) return false;\n }\n return true;\n } else if (isBinary(node)) {\n return (\n this.isPure(node.left, constantsOnly) &&\n this.isPure(node.right, constantsOnly)\n );\n } else if (isArrayExpression(node) || isTupleExpression(node)) {\n for (const elem of node.elements) {\n if (elem !== null && !this.isPure(elem, constantsOnly)) return false;\n }\n return true;\n } else if (isObjectExpression(node) || isRecordExpression(node)) {\n for (const prop of node.properties) {\n if (!this.isPure(prop, constantsOnly)) return false;\n }\n return true;\n } else if (isMethod(node)) {\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (node.decorators?.length > 0) {\n return false;\n }\n return true;\n } else if (isProperty(node)) {\n // @ts-expect-error todo(flow->ts): computed in not present on private properties\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (node.decorators?.length > 0) {\n return false;\n }\n if (isObjectProperty(node) || node.static) {\n if (node.value !== null && !this.isPure(node.value, constantsOnly)) {\n return false;\n }\n }\n return true;\n } else if (isUnaryExpression(node)) {\n return this.isPure(node.argument, constantsOnly);\n } else if (isTemplateLiteral(node)) {\n for (const expression of node.expressions) {\n if (!this.isPure(expression, constantsOnly)) return false;\n }\n return true;\n } else if (isTaggedTemplateExpression(node)) {\n return (\n matchesPattern(node.tag, \"String.raw\") &&\n !this.hasBinding(\"String\", { noGlobals: true }) &&\n this.isPure(node.quasi, constantsOnly)\n );\n } else if (isMemberExpression(node)) {\n return (\n !node.computed &&\n isIdentifier(node.object) &&\n node.object.name === \"Symbol\" &&\n isIdentifier(node.property) &&\n node.property.name !== \"for\" &&\n !this.hasBinding(\"Symbol\", { noGlobals: true })\n );\n } else if (isCallExpression(node)) {\n return (\n matchesPattern(node.callee, \"Symbol.for\") &&\n !this.hasBinding(\"Symbol\", { noGlobals: true }) &&\n node.arguments.length === 1 &&\n t.isStringLiteral(node.arguments[0])\n );\n } else {\n return isPureish(node);\n }\n }\n\n /**\n * Set some arbitrary data on the current scope.\n */\n\n setData(key: string | symbol, val: any) {\n return (this.data[key] = val);\n }\n\n /**\n * Recursively walk up scope tree looking for the data `key`.\n */\n\n getData(key: string | symbol): any {\n let scope: Scope = this;\n do {\n const data = scope.data[key];\n if (data != null) return data;\n } while ((scope = scope.parent));\n }\n\n /**\n * Recursively walk up scope tree looking for the data `key` and if it exists,\n * remove it.\n */\n\n removeData(key: string) {\n let scope: Scope = this;\n do {\n const data = scope.data[key];\n if (data != null) scope.data[key] = null;\n } while ((scope = scope.parent));\n }\n\n init() {\n if (!this.inited) {\n this.inited = true;\n this.crawl();\n }\n }\n\n crawl() {\n const path = this.path;\n\n this.references = Object.create(null);\n this.bindings = Object.create(null);\n this.globals = Object.create(null);\n this.uids = Object.create(null);\n this.data = Object.create(null);\n\n let scope: Scope = this;\n do {\n if (scope.crawling) return;\n if (scope.path.isProgram()) {\n break;\n }\n } while ((scope = scope.parent));\n\n const programParent = scope;\n\n const state: CollectVisitorState = {\n references: [],\n constantViolations: [],\n assignments: [],\n };\n\n this.crawling = true;\n // traverse does not visit the root node, here we explicitly collect\n // root node binding info when the root is not a Program.\n if (path.type !== \"Program\" && isExplodedVisitor(collectorVisitor)) {\n const typeVisitors = collectorVisitor[path.type];\n if (typeVisitors) {\n for (const visit of typeVisitors.enter) {\n visit.call(state, path, state);\n }\n }\n }\n traverseForScope(path, collectorVisitor, state);\n this.crawling = false;\n\n // register assignments\n for (const path of state.assignments) {\n // register undeclared bindings as globals\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n if (path.scope.getBinding(name)) continue;\n programParent.addGlobal(ids[name]);\n }\n\n // register as constant violation\n path.scope.registerConstantViolation(path);\n }\n\n // register references\n for (const ref of state.references) {\n const binding = ref.scope.getBinding(ref.node.name);\n if (binding) {\n binding.reference(ref);\n } else {\n programParent.addGlobal(ref.node);\n }\n }\n\n // register constant violations\n for (const path of state.constantViolations) {\n path.scope.registerConstantViolation(path);\n }\n }\n\n push(opts: {\n id: t.ArrayPattern | t.Identifier | t.ObjectPattern;\n init?: t.Expression;\n unique?: boolean;\n _blockHoist?: number | undefined;\n kind?: \"var\" | \"let\" | \"const\";\n }) {\n let path = this.path;\n\n if (path.isPattern()) {\n path = this.getPatternParent().path;\n } else if (!path.isBlockStatement() && !path.isProgram()) {\n path = this.getBlockParent().path;\n }\n\n if (path.isSwitchStatement()) {\n path = (this.getFunctionParent() || this.getProgramParent()).path;\n }\n\n const { init, unique, kind = \"var\", id } = opts;\n\n // When injecting a non-const non-initialized binding inside\n // an IIFE, if the number of call arguments is less than or\n // equal to the number of function parameters, we can safely\n // inject the binding into the parameter list.\n if (\n !init &&\n !unique &&\n (kind === \"var\" || kind === \"let\") &&\n path.isFunction() &&\n // @ts-expect-error ArrowFunctionExpression never has a name\n !path.node.name &&\n isCallExpression(path.parent, { callee: path.node }) &&\n path.parent.arguments.length <= path.node.params.length &&\n isIdentifier(id)\n ) {\n path.pushContainer(\"params\", id);\n path.scope.registerBinding(\n \"param\",\n path.get(\"params\")[path.node.params.length - 1],\n );\n return;\n }\n\n if (path.isLoop() || path.isCatchClause() || path.isFunction()) {\n path.ensureBlock();\n path = path.get(\"body\");\n }\n\n const blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;\n\n const dataKey = `declaration:${kind}:${blockHoist}`;\n let declarPath = !unique && path.getData(dataKey);\n\n if (!declarPath) {\n const declar = variableDeclaration(kind, []);\n // @ts-expect-error todo(flow->ts): avoid modifying nodes\n declar._blockHoist = blockHoist;\n\n [declarPath] = (path as NodePath<t.BlockStatement>).unshiftContainer(\n \"body\",\n [declar],\n );\n if (!unique) path.setData(dataKey, declarPath);\n }\n\n const declarator = variableDeclarator(id, init);\n const len = declarPath.node.declarations.push(declarator);\n path.scope.registerBinding(kind, declarPath.get(\"declarations\")[len - 1]);\n }\n\n /**\n * Walk up to the top of the scope tree and get the `Program`.\n */\n\n getProgramParent() {\n let scope: Scope = this;\n do {\n if (scope.path.isProgram()) {\n return scope;\n }\n } while ((scope = scope.parent));\n throw new Error(\"Couldn't find a Program\");\n }\n\n /**\n * Walk up the scope tree until we hit either a Function or return null.\n */\n\n getFunctionParent(): Scope | null {\n let scope: Scope = this;\n do {\n if (scope.path.isFunctionParent()) {\n return scope;\n }\n } while ((scope = scope.parent));\n return null;\n }\n\n /**\n * Walk up the scope tree until we hit either a BlockStatement/Loop/Program/Function/Switch or reach the\n * very top and hit Program.\n */\n\n getBlockParent() {\n let scope: Scope = this;\n do {\n if (scope.path.isBlockParent()) {\n return scope;\n }\n } while ((scope = scope.parent));\n throw new Error(\n \"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\",\n );\n }\n\n /**\n * Walk up from a pattern scope (function param initializer) until we hit a non-pattern scope,\n * then returns its block parent\n * @returns An ancestry scope whose path is a block parent\n */\n getPatternParent() {\n let scope: Scope = this;\n do {\n if (!scope.path.isPattern()) {\n return scope.getBlockParent();\n }\n } while ((scope = scope.parent.parent));\n throw new Error(\n \"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\",\n );\n }\n\n /**\n * Walks the scope tree and gathers **all** bindings.\n */\n\n getAllBindings(): Record<string, Binding> {\n const ids = Object.create(null);\n\n let scope: Scope = this;\n do {\n for (const key of Object.keys(scope.bindings)) {\n if (key in ids === false) {\n ids[key] = scope.bindings[key];\n }\n }\n scope = scope.parent;\n } while (scope);\n\n return ids;\n }\n\n bindingIdentifierEquals(name: string, node: t.Node): boolean {\n return this.getBindingIdentifier(name) === node;\n }\n\n getBinding(name: string): Binding | undefined {\n let scope: Scope = this;\n let previousPath;\n\n do {\n const binding = scope.getOwnBinding(name);\n if (binding) {\n // Check if a pattern is a part of parameter expressions.\n // Note: for performance reason we skip checking previousPath.parentPath.isFunction()\n // because `scope.path` is validated as scope in packages/babel-types/src/validators/isScope.js\n // That is, if a scope path is pattern, its parent must be Function/CatchClause\n\n // Spec 9.2.10.28: The closure created by this expression should not have visibility of\n // declarations in the function body. If the binding is not a `param`-kind (as function parameters)\n // or `local`-kind (as id in function expression),\n // then it must be defined inside the function body, thus it should be skipped\n if (\n previousPath?.isPattern() &&\n binding.kind !== \"param\" &&\n binding.kind !== \"local\"\n ) {\n // do nothing\n } else {\n return binding;\n }\n } else if (\n !binding &&\n name === \"arguments\" &&\n scope.path.isFunction() &&\n !scope.path.isArrowFunctionExpression()\n ) {\n break;\n }\n previousPath = scope.path;\n } while ((scope = scope.parent));\n }\n\n getOwnBinding(name: string): Binding | undefined {\n return this.bindings[name];\n }\n\n // todo: return probably can be undefined…\n getBindingIdentifier(name: string): t.Identifier {\n return this.getBinding(name)?.identifier;\n }\n\n // todo: flow->ts return probably can be undefined\n getOwnBindingIdentifier(name: string): t.Identifier {\n const binding = this.bindings[name];\n return binding?.identifier;\n }\n\n hasOwnBinding(name: string) {\n return !!this.getOwnBinding(name);\n }\n\n // By default, we consider generated UIDs as bindings.\n // This is because they are almost always used to declare variables,\n // and since the scope isn't always up-to-date it's better to assume that\n // there is a variable with that name. The `noUids` option can be used to\n // turn off this behavior, for example if you know that the generate UID\n // was used to declare a variable in a different scope.\n hasBinding(\n name: string,\n opts?: boolean | { noGlobals?: boolean; noUids?: boolean },\n ) {\n if (!name) return false;\n let scope: Scope = this;\n do {\n if (scope.hasOwnBinding(name)) {\n return true;\n }\n } while ((scope = scope.parent));\n\n // TODO: Only accept the object form.\n let noGlobals;\n let noUids;\n if (typeof opts === \"object\") {\n noGlobals = opts.noGlobals;\n noUids = opts.noUids;\n } else if (typeof opts === \"boolean\") {\n noGlobals = opts;\n }\n\n if (!noUids && this.hasUid(name)) return true;\n if (!noGlobals && Scope.globals.includes(name)) return true;\n if (!noGlobals && Scope.contextVariables.includes(name)) return true;\n return false;\n }\n\n parentHasBinding(\n name: string,\n opts?: { noGlobals?: boolean; noUids?: boolean },\n ) {\n return this.parent?.hasBinding(name, opts);\n }\n\n /**\n * Move a binding of `name` to another `scope`.\n */\n\n moveBindingTo(name: string, scope: Scope) {\n const info = this.getBinding(name);\n if (info) {\n info.scope.removeOwnBinding(name);\n info.scope = scope;\n scope.bindings[name] = info;\n }\n }\n\n removeOwnBinding(name: string) {\n delete this.bindings[name];\n }\n\n removeBinding(name: string) {\n // clear literal binding\n this.getBinding(name)?.scope.removeOwnBinding(name);\n\n // clear uids with this name - https://github.com/babel/babel/issues/2101\n let scope: Scope = this;\n do {\n if (scope.uids[name]) {\n scope.uids[name] = false;\n }\n } while ((scope = scope.parent));\n }\n\n /**\n * Hoist all the `var` variable to the beginning of the function/program\n * scope where their binding will be actually defined. For exmaple,\n * { var x = 2 }\n * will be transformed to\n * var x; { x = 2 }\n *\n * @param emit A custom function to emit `var` declarations, for example to\n * emit them in a different scope.\n */\n hoistVariables(\n emit: (id: t.Identifier, hasInit: boolean) => void = id =>\n this.push({ id }),\n ) {\n this.crawl();\n\n const seen = new Set();\n for (const name of Object.keys(this.bindings)) {\n const binding = this.bindings[name];\n if (!binding) continue;\n const { path } = binding;\n if (!path.isVariableDeclarator()) continue;\n const { parent, parentPath } = path;\n\n if (parent.kind !== \"var\" || seen.has(parent)) continue;\n seen.add(path.parent);\n\n let firstId;\n const init = [];\n for (const decl of parent.declarations) {\n firstId ??= decl.id;\n if (decl.init) {\n init.push(assignmentExpression(\"=\", decl.id, decl.init));\n }\n\n const ids = Object.keys(getBindingIdentifiers(decl, false, true, true));\n for (const name of ids) {\n emit(identifier(name), decl.init != null);\n }\n }\n\n // for (var i in test)\n if (parentPath.parentPath.isFor({ left: parent })) {\n parentPath.replaceWith(firstId);\n } else if (init.length === 0) {\n parentPath.remove();\n } else {\n const expr = init.length === 1 ? init[0] : sequenceExpression(init);\n if (parentPath.parentPath.isForStatement({ init: parent })) {\n parentPath.replaceWith(expr);\n } else {\n parentPath.replaceWith(expressionStatement(expr));\n }\n }\n }\n }\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n /** @deprecated Not used in our codebase */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype._renameFromMap = function _renameFromMap(\n map: Record<string | symbol, unknown>,\n oldName: string | symbol,\n newName: string | symbol,\n value: unknown,\n ) {\n if (map[oldName]) {\n map[newName] = value;\n map[oldName] = null;\n }\n };\n\n /**\n * Traverse node with current scope and path.\n *\n * !!! WARNING !!!\n * This method assumes that `this.path` is the NodePath representing `node`.\n * After running the traversal, the `.parentPath` of the NodePaths\n * corresponding to `node`'s children will be set to `this.path`.\n *\n * There is no good reason to use this method, since the only safe way to use\n * it is equivalent to `scope.path.traverse(opts, state)`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.traverse = function <S>(\n this: Scope,\n node: any,\n opts: any,\n state?: S,\n ) {\n traverse(node, opts, this, state, this.path);\n };\n\n /**\n * Generate an `_id1`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype._generateUid = function _generateUid(\n name: string,\n i: number,\n ) {\n let id = name;\n if (i > 1) id += i;\n return `_${id}`;\n };\n\n // TODO: (Babel 8) Split i in two parameters, and use an object of flags\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.toArray = function toArray(\n this: Scope,\n node: t.Node,\n i?: number | boolean,\n arrayLikeIsIterable?: boolean | void,\n ) {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding?.constant && binding.path.isGenericType(\"Array\")) {\n return node;\n }\n }\n\n if (isArrayExpression(node)) {\n return node;\n }\n\n if (isIdentifier(node, { name: \"arguments\" })) {\n return callExpression(\n memberExpression(\n memberExpression(\n memberExpression(identifier(\"Array\"), identifier(\"prototype\")),\n identifier(\"slice\"),\n ),\n identifier(\"call\"),\n ),\n [node],\n );\n }\n\n let helperName;\n const args = [node];\n if (i === true) {\n // Used in array-spread to create an array.\n helperName = \"toConsumableArray\";\n } else if (typeof i === \"number\") {\n args.push(numericLiteral(i));\n\n // Used in array-rest to create an array from a subset of an iterable.\n helperName = \"slicedToArray\";\n // TODO if (this.hub.isLoose(\"es6.forOf\")) helperName += \"-loose\";\n } else {\n // Used in array-rest to create an array\n helperName = \"toArray\";\n }\n\n if (arrayLikeIsIterable) {\n args.unshift(this.path.hub.addHelper(helperName));\n helperName = \"maybeArrayLike\";\n }\n\n // @ts-expect-error todo(flow->ts): t.Node is not valid to use in args, function argument typeneeds to be clarified\n return callExpression(this.path.hub.addHelper(helperName), args);\n };\n\n /**\n * Walks the scope tree and gathers all declarations of `kind`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.getAllBindingsOfKind = function getAllBindingsOfKind(\n ...kinds: string[]\n ): Record<string, Binding> {\n const ids = Object.create(null);\n\n for (const kind of kinds) {\n let scope: Scope = this;\n do {\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n if (binding.kind === kind) ids[name] = binding;\n }\n scope = scope.parent;\n } while (scope);\n }\n\n return ids;\n };\n\n Object.defineProperties(Scope.prototype, {\n parentBlock: {\n configurable: true,\n enumerable: true,\n get(this: Scope) {\n return this.path.parent;\n },\n },\n hub: {\n configurable: true,\n enumerable: true,\n get(this: Scope) {\n return this.path.hub;\n },\n },\n });\n}\n\ntype _Binding = Binding;\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace Scope {\n export type Binding = _Binding;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_renamer","require","_index","_binding","_t","t","_cache","globalsBuiltinLower","globalsBuiltinUpper","assignmentExpression","callExpression","cloneNode","getBindingIdentifiers","identifier","isArrayExpression","isBinary","isCallExpression","isClass","isClassBody","isClassDeclaration","isExportAllDeclaration","isExportDefaultDeclaration","isExportNamedDeclaration","isFunctionDeclaration","isIdentifier","isImportDeclaration","isLiteral","isMemberExpression","isMethod","isModuleSpecifier","isNullLiteral","isObjectExpression","isProperty","isPureish","isRegExpLiteral","isSuper","isTaggedTemplateExpression","isTemplateLiteral","isThisExpression","isUnaryExpression","isVariableDeclaration","expressionStatement","matchesPattern","memberExpression","numericLiteral","toIdentifier","variableDeclaration","variableDeclarator","isRecordExpression","isTupleExpression","isObjectProperty","isTopicReference","isMetaProperty","isPrivateName","isExportDeclaration","buildUndefinedNode","sequenceExpression","gatherNodeParts","node","parts","type","_node$specifiers","source","specifiers","length","e","declaration","local","push","value","object","property","name","callee","properties","argument","key","left","id","expression","meta","openingElement","openingFragment","namespace","resetScope","scope","references","Object","create","uids","bindings","globals","NOT_LOCAL_BINDING","Symbol","for","collectorVisitor","ForStatement","path","declar","get","isVar","parentScope","getFunctionParent","getProgramParent","registerBinding","Declaration","isBlockScoped","parent","registerDeclaration","ImportDeclaration","getBlockParent","TSImportEqualsDeclaration","ReferencedIdentifier","state","isTSQualifiedName","right","parentPath","isTSImportEqualsDeclaration","ForXStatement","isPattern","constantViolations","ExportDeclaration","exit","binding","getBinding","reference","decl","declarations","keys","LabeledStatement","AssignmentExpression","assignments","UpdateExpression","UnaryExpression","operator","BlockScoped","CatchClause","Function","params","param","isFunctionExpression","ClassExpression","TSTypeAnnotation","skip","scopeVisitor","uid","Scope","constructor","block","inited","labels","referencesSet","uidsSet","data","crawling","cached","scopeCache","set","Map","defineProperties","enumerable","configurable","writable","_parent","_path","shouldSkip","listKey","isScope","Error","generateDeclaredUidIdentifier","generateUidIdentifier","generateUid","replace","i","hasLabel","hasBinding","hasGlobal","hasReference","program","generateUidBasedOnNode","defaultName","join","slice","generateUidIdentifierBasedOnNode","isStatic","constant","maybeGenerateMemoised","dontPush","checkBlockScopedCollisions","kind","duplicate","hub","buildError","TypeError","rename","oldName","newName","renamer","Renamer","arguments","dump","sep","repeat","console","log","violations","getLabel","registerLabel","label","isLabeledStatement","declare","isTypeDeclaration","importKind","specifier","isTypeSpecifier","isImportSpecifier","registerConstantViolation","ids","getAssignmentIdentifiers","_this$getBinding","reassign","bindingPath","ReferenceError","declarators","getOuterBindingIdentifiers","getOwnBinding","Binding","addGlobal","hasUid","isPure","constantsOnly","_node$decorators","superClass","decorators","body","method","elem","elements","prop","_node$decorators2","computed","_node$decorators3","static","expressions","tag","noGlobals","quasi","isStringLiteral","setData","val","getData","removeData","init","crawl","isProgram","programParent","traverse","visitors","merge","visit","enter","call","typeVisitors","ref","opts","getPatternParent","isBlockStatement","isSwitchStatement","unique","isFunction","pushContainer","isLoop","isCatchClause","ensureBlock","blockHoist","_blockHoist","dataKey","declarPath","unshiftContainer","declarator","len","isFunctionParent","isBlockParent","getAllBindings","bindingIdentifierEquals","getBindingIdentifier","previousPath","_previousPath","isArrowFunctionExpression","_this$getBinding2","getOwnBindingIdentifier","hasOwnBinding","noUids","upToScope","includes","contextVariables","parentHasBinding","_this$parent","moveBindingTo","info","removeOwnBinding","removeBinding","_this$getBinding3","hoistVariables","emit","seen","Set","isVariableDeclarator","has","add","firstId","isFor","replaceWith","remove","expr","isForStatement","exports","default","prototype","_renameFromMap","map","_generateUid","toArray","arrayLikeIsIterable","isGenericType","helperName","args","unshift","addHelper","getAllBindingsOfKind","kinds","parentBlock"],"sources":["../../src/scope/index.ts"],"sourcesContent":["import Renamer from \"./lib/renamer.ts\";\nimport type NodePath from \"../path/index.ts\";\nimport traverse from \"../index.ts\";\nimport Binding from \"./binding.ts\";\nimport type { BindingKind } from \"./binding.ts\";\nimport globalsBuiltinLower from \"@babel/helper-globals/data/builtin-lower.json\" with { type: \"json\" };\nimport globalsBuiltinUpper from \"@babel/helper-globals/data/builtin-upper.json\" with { type: \"json\" };\nimport {\n assignmentExpression,\n callExpression,\n cloneNode,\n getBindingIdentifiers,\n identifier,\n isArrayExpression,\n isBinary,\n isCallExpression,\n isClass,\n isClassBody,\n isClassDeclaration,\n isExportAllDeclaration,\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n isFunctionDeclaration,\n isIdentifier,\n isImportDeclaration,\n isLiteral,\n isMemberExpression,\n isMethod,\n isModuleSpecifier,\n isNullLiteral,\n isObjectExpression,\n isProperty,\n isPureish,\n isRegExpLiteral,\n isSuper,\n isTaggedTemplateExpression,\n isTemplateLiteral,\n isThisExpression,\n isUnaryExpression,\n isVariableDeclaration,\n expressionStatement,\n matchesPattern,\n memberExpression,\n numericLiteral,\n toIdentifier,\n variableDeclaration,\n variableDeclarator,\n isRecordExpression,\n isTupleExpression,\n isObjectProperty,\n isTopicReference,\n isMetaProperty,\n isPrivateName,\n isExportDeclaration,\n buildUndefinedNode,\n sequenceExpression,\n} from \"@babel/types\";\nimport * as t from \"@babel/types\";\nimport { scope as scopeCache } from \"../cache.ts\";\nimport type { ExplodedVisitor, Visitor } from \"../types.ts\";\n\ntype NodePart = string | number | bigint | boolean;\n// Recursively gathers the identifying names of a node.\nfunction gatherNodeParts(node: t.Node, parts: NodePart[]) {\n switch (node?.type) {\n default:\n if (isImportDeclaration(node) || isExportDeclaration(node)) {\n if (\n (isExportAllDeclaration(node) ||\n isExportNamedDeclaration(node) ||\n isImportDeclaration(node)) &&\n node.source\n ) {\n gatherNodeParts(node.source, parts);\n } else if (\n (isExportNamedDeclaration(node) || isImportDeclaration(node)) &&\n node.specifiers?.length\n ) {\n for (const e of node.specifiers) gatherNodeParts(e, parts);\n } else if (\n (isExportDefaultDeclaration(node) ||\n isExportNamedDeclaration(node)) &&\n node.declaration\n ) {\n gatherNodeParts(node.declaration, parts);\n }\n } else if (isModuleSpecifier(node)) {\n // todo(flow->ts): should condition instead be:\n // ```\n // t.isExportSpecifier(node) ||\n // t.isImportDefaultSpecifier(node) ||\n // t.isImportNamespaceSpecifier(node) ||\n // t.isImportSpecifier(node)\n // ```\n // allowing only nodes with `.local`?\n // @ts-expect-error todo(flow->ts)\n gatherNodeParts(node.local, parts);\n } else if (\n isLiteral(node) &&\n !isNullLiteral(node) &&\n !isRegExpLiteral(node) &&\n !isTemplateLiteral(node)\n ) {\n parts.push(node.value);\n }\n break;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n case \"JSXMemberExpression\":\n gatherNodeParts(node.object, parts);\n gatherNodeParts(node.property, parts);\n break;\n\n case \"Identifier\":\n case \"JSXIdentifier\":\n parts.push(node.name);\n break;\n\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n case \"NewExpression\":\n gatherNodeParts(node.callee, parts);\n break;\n\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n for (const e of node.properties) {\n gatherNodeParts(e, parts);\n }\n break;\n\n case \"SpreadElement\":\n case \"RestElement\":\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"ObjectProperty\":\n case \"ObjectMethod\":\n case \"ClassProperty\":\n case \"ClassMethod\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n gatherNodeParts(node.key, parts);\n break;\n\n case \"ThisExpression\":\n parts.push(\"this\");\n break;\n\n case \"Super\":\n parts.push(\"super\");\n break;\n\n case \"Import\":\n case \"ImportExpression\":\n parts.push(\"import\");\n break;\n\n case \"DoExpression\":\n parts.push(\"do\");\n break;\n\n case \"YieldExpression\":\n parts.push(\"yield\");\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"AwaitExpression\":\n parts.push(\"await\");\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"AssignmentExpression\":\n gatherNodeParts(node.left, parts);\n break;\n\n case \"VariableDeclarator\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"FunctionExpression\":\n case \"FunctionDeclaration\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"PrivateName\":\n gatherNodeParts(node.id, parts);\n break;\n\n case \"ParenthesizedExpression\":\n gatherNodeParts(node.expression, parts);\n break;\n\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n gatherNodeParts(node.argument, parts);\n break;\n\n case \"MetaProperty\":\n gatherNodeParts(node.meta, parts);\n gatherNodeParts(node.property, parts);\n break;\n\n case \"JSXElement\":\n gatherNodeParts(node.openingElement, parts);\n break;\n\n case \"JSXOpeningElement\":\n gatherNodeParts(node.name, parts);\n break;\n\n case \"JSXFragment\":\n gatherNodeParts(node.openingFragment, parts);\n break;\n\n case \"JSXOpeningFragment\":\n parts.push(\"Fragment\");\n break;\n\n case \"JSXNamespacedName\":\n gatherNodeParts(node.namespace, parts);\n gatherNodeParts(node.name, parts);\n break;\n }\n}\n\nfunction resetScope(scope: Scope) {\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-expect-error(Babel 7 vs Babel 8)\n scope.references = Object.create(null);\n // @ts-expect-error(Babel 7 vs Babel 8)\n scope.uids = Object.create(null);\n } else if (scope.path.type === \"Program\") {\n scope.referencesSet = new Set();\n scope.uidsSet = new Set();\n }\n\n scope.bindings = Object.create(null);\n scope.globals = Object.create(null);\n}\n\ninterface CollectVisitorState {\n assignments: NodePath<t.AssignmentExpression>[];\n references: NodePath<t.Identifier | t.JSXIdentifier>[];\n constantViolations: NodePath[];\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var NOT_LOCAL_BINDING = Symbol.for(\n \"should not be considered a local binding\",\n );\n}\n\nconst collectorVisitor: Visitor<CollectVisitorState> = {\n ForStatement(path) {\n const declar = path.get(\"init\");\n // delegate block scope handling to the `BlockScoped` method\n if (declar.isVar()) {\n const { scope } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", declar);\n }\n },\n\n Declaration(path) {\n // delegate block scope handling to the `BlockScoped` method\n if (path.isBlockScoped()) return;\n\n // delegate import handing to the `ImportDeclaration` method\n if (path.isImportDeclaration()) return;\n\n // this will be hit again once we traverse into it after this iteration\n if (path.isExportDeclaration()) return;\n\n // we've ran into a declaration!\n const parent =\n path.scope.getFunctionParent() || path.scope.getProgramParent();\n parent.registerDeclaration(path);\n },\n\n ImportDeclaration(path) {\n // import may only appear in the top level or inside a module/namespace (for TS/flow)\n const parent = path.scope.getBlockParent();\n\n parent.registerDeclaration(path);\n },\n\n TSImportEqualsDeclaration(path) {\n const parent = path.scope.getBlockParent();\n\n parent.registerDeclaration(path);\n },\n\n ReferencedIdentifier(path, state) {\n if (t.isTSQualifiedName(path.parent) && path.parent.right === path.node) {\n return;\n }\n if (path.parentPath.isTSImportEqualsDeclaration()) return;\n state.references.push(path);\n },\n\n ForXStatement(path, state) {\n const left = path.get(\"left\");\n if (left.isPattern() || left.isIdentifier()) {\n state.constantViolations.push(path);\n }\n // delegate block scope handling to the `BlockScoped` method\n else if (left.isVar()) {\n const { scope } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", left);\n }\n },\n\n ExportDeclaration: {\n exit(path) {\n const { node, scope } = path;\n // ExportAllDeclaration does not have `declaration`\n if (isExportAllDeclaration(node)) return;\n const declar = node.declaration;\n if (isClassDeclaration(declar) || isFunctionDeclaration(declar)) {\n const id = declar.id;\n if (!id) return;\n\n const binding = scope.getBinding(id.name);\n binding?.reference(path);\n } else if (isVariableDeclaration(declar)) {\n for (const decl of declar.declarations) {\n for (const name of Object.keys(getBindingIdentifiers(decl))) {\n const binding = scope.getBinding(name);\n binding?.reference(path);\n }\n }\n }\n },\n },\n\n LabeledStatement(path) {\n path.scope.getBlockParent().registerDeclaration(path);\n },\n\n AssignmentExpression(path, state) {\n state.assignments.push(path);\n },\n\n UpdateExpression(path, state) {\n state.constantViolations.push(path);\n },\n\n UnaryExpression(path, state) {\n if (path.node.operator === \"delete\") {\n state.constantViolations.push(path);\n }\n },\n\n BlockScoped(path) {\n let scope = path.scope;\n if (scope.path === path) scope = scope.parent;\n\n const parent = scope.getBlockParent();\n parent.registerDeclaration(path);\n\n // Register class identifier in class' scope if this is a class declaration.\n if (path.isClassDeclaration() && path.node.id) {\n const id = path.node.id;\n const name = id.name;\n\n path.scope.bindings[name] = path.scope.parent.getBinding(name);\n }\n },\n\n CatchClause(path) {\n path.scope.registerBinding(\"let\", path);\n },\n\n Function(path) {\n const params: Array<NodePath> = path.get(\"params\");\n for (const param of params) {\n path.scope.registerBinding(\"param\", param);\n }\n\n // Register function expression id after params. When the id\n // collides with a function param, the id effectively can't be\n // referenced: here we registered it as a constantViolation\n if (\n path.isFunctionExpression() &&\n path.node.id &&\n (process.env.BABEL_8_BREAKING ||\n // @ts-expect-error Fixme: document symbol ast properties\n !path.node.id[NOT_LOCAL_BINDING])\n ) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n\n ClassExpression(path) {\n if (\n path.node.id &&\n (process.env.BABEL_8_BREAKING ||\n // @ts-expect-error Fixme: document symbol ast properties\n !path.node.id[NOT_LOCAL_BINDING])\n ) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n\n TSTypeAnnotation(path) {\n path.skip();\n },\n};\n\nlet scopeVisitor: ExplodedVisitor<CollectVisitorState>;\n\nlet uid = 0;\n\nexport type { Binding };\n\nexport { Scope as default };\nclass Scope {\n uid;\n\n path: NodePath;\n block: t.Pattern | t.Scopable;\n\n inited;\n\n labels: Map<string, NodePath<t.LabeledStatement>>;\n bindings: { [name: string]: Binding };\n /** Only defined in the program scope */\n referencesSet?: Set<string>;\n globals: { [name: string]: t.Identifier | t.JSXIdentifier };\n /** Only defined in the program scope */\n uidsSet?: Set<string>;\n data: { [key: string | symbol]: unknown };\n crawling: boolean;\n\n /**\n * This searches the current \"scope\" and collects all references/bindings\n * within.\n */\n constructor(path: NodePath<t.Pattern | t.Scopable>) {\n const { node } = path;\n const cached = scopeCache.get(node);\n // Sometimes, a scopable path is placed higher in the AST tree.\n // In these cases, have to create a new Scope.\n if (cached?.path === path) {\n return cached;\n }\n scopeCache.set(node, this);\n\n this.uid = uid++;\n\n this.block = node;\n this.path = path;\n\n this.labels = new Map();\n this.inited = false;\n\n if (!process.env.BABEL_8_BREAKING) {\n // Shadow the Babel 8 removal getters\n Object.defineProperties(this, {\n references: {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object.create(null),\n },\n uids: {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object.create(null),\n },\n });\n }\n }\n\n /**\n * Globals.\n */\n\n static globals = [...globalsBuiltinLower, ...globalsBuiltinUpper];\n\n /**\n * Variables available in current context.\n */\n\n static contextVariables = [\"arguments\", \"undefined\", \"Infinity\", \"NaN\"];\n\n get parent() {\n let parent,\n path = this.path;\n do {\n // Skip method scope if coming from inside computed key or decorator expression\n const shouldSkip = path.key === \"key\" || path.listKey === \"decorators\";\n path = path.parentPath;\n if (shouldSkip && path.isMethod()) path = path.parentPath;\n if (path?.isScope()) parent = path;\n } while (path && !parent);\n\n return parent?.scope;\n }\n\n get references() {\n throw new Error(\n \"Scope#references is not available in Babel 8. Use Scope#referencesSet instead.\",\n );\n }\n\n get uids() {\n throw new Error(\n \"Scope#uids is not available in Babel 8. Use Scope#uidsSet instead.\",\n );\n }\n\n /**\n * Generate a unique identifier and add it to the current scope.\n */\n\n generateDeclaredUidIdentifier(name?: string) {\n const id = this.generateUidIdentifier(name);\n this.push({ id });\n return cloneNode(id);\n }\n\n /**\n * Generate a unique identifier.\n */\n\n generateUidIdentifier(name?: string) {\n return identifier(this.generateUid(name));\n }\n\n /**\n * Generate a unique `_id1` binding.\n */\n\n generateUid(name: string = \"temp\"): string {\n name = toIdentifier(name).replace(/^_+/, \"\").replace(/\\d+$/g, \"\");\n\n let uid;\n let i = 0;\n do {\n uid = `_${name}`;\n\n // Ideally we would just use (i - 1) as the suffix, but that generates\n // unnecessary changes in every single file generated by Babel :)\n //\n // i: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...\n // suffix: (empty) 2 3 4 5 6 7 8 9 0 1 10 11 12 13 ...\n if (i >= 11) uid += i - 1;\n else if (i >= 9) uid += i - 9;\n else if (i >= 1) uid += i + 1;\n i++;\n } while (\n this.hasLabel(uid) ||\n this.hasBinding(uid) ||\n this.hasGlobal(uid) ||\n this.hasReference(uid)\n );\n\n const program = this.getProgramParent();\n if (process.env.BABEL_8_BREAKING) {\n program.referencesSet.add(uid);\n program.uidsSet.add(uid);\n } else {\n // @ts-expect-error Babel 7\n program.references[uid] = true;\n // @ts-expect-error Babel 7\n program.uids[uid] = true;\n }\n\n return uid;\n }\n\n generateUidBasedOnNode(node: t.Node, defaultName?: string) {\n const parts: NodePart[] = [];\n gatherNodeParts(node, parts);\n\n let id = parts.join(\"$\");\n id = id.replace(/^_/, \"\") || defaultName || \"ref\";\n\n return this.generateUid(id.slice(0, 20));\n }\n\n /**\n * Generate a unique identifier based on a node.\n */\n\n generateUidIdentifierBasedOnNode(node: t.Node, defaultName?: string) {\n return identifier(this.generateUidBasedOnNode(node, defaultName));\n }\n\n /**\n * Determine whether evaluating the specific input `node` is a consequenceless reference. ie.\n * evaluating it won't result in potentially arbitrary code from being ran. The following are\n * allowed and determined not to cause side effects:\n *\n * - `this` expressions\n * - `super` expressions\n * - Bound identifiers\n */\n\n isStatic(node: t.Node): boolean {\n if (isThisExpression(node) || isSuper(node) || isTopicReference(node)) {\n return true;\n }\n\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding) {\n return binding.constant;\n } else {\n return this.hasBinding(node.name);\n }\n }\n\n return false;\n }\n\n /**\n * Possibly generate a memoised identifier if it is not static and has consequences.\n */\n\n maybeGenerateMemoised(node: t.Node, dontPush?: boolean) {\n if (this.isStatic(node)) {\n return null;\n } else {\n const id = this.generateUidIdentifierBasedOnNode(node);\n if (!dontPush) {\n this.push({ id });\n return cloneNode(id);\n }\n return id;\n }\n }\n\n checkBlockScopedCollisions(\n local: Binding,\n kind: BindingKind,\n name: string,\n id: any,\n ) {\n // ignore parameters\n if (kind === \"param\") return;\n\n // Ignore existing binding if it's the name of the current function or\n // class expression\n if (local.kind === \"local\") return;\n\n const duplicate =\n // don't allow duplicate bindings to exist alongside\n kind === \"let\" ||\n local.kind === \"let\" ||\n local.kind === \"const\" ||\n local.kind === \"module\" ||\n // don't allow a local of param with a kind of let\n (local.kind === \"param\" && kind === \"const\");\n\n if (duplicate) {\n throw this.path.hub.buildError(\n id,\n `Duplicate declaration \"${name}\"`,\n TypeError,\n );\n }\n }\n\n rename(\n oldName: string,\n newName?: string,\n // prettier-ignore\n /* Babel 7 - block?: t.Pattern | t.Scopable */\n ) {\n const binding = this.getBinding(oldName);\n if (binding) {\n newName ||= this.generateUidIdentifier(oldName).name;\n const renamer = new Renamer(binding, oldName, newName);\n if (process.env.BABEL_8_BREAKING) {\n renamer.rename();\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) TODO: Delete this\n renamer.rename(arguments[2]);\n }\n }\n }\n\n dump() {\n const sep = \"-\".repeat(60);\n console.log(sep);\n let scope: Scope = this;\n do {\n console.log(\"#\", scope.block.type);\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n console.log(\" -\", name, {\n constant: binding.constant,\n references: binding.references,\n violations: binding.constantViolations.length,\n kind: binding.kind,\n });\n }\n } while ((scope = scope.parent));\n console.log(sep);\n }\n\n hasLabel(name: string) {\n return !!this.getLabel(name);\n }\n\n getLabel(name: string) {\n return this.labels.get(name);\n }\n\n registerLabel(path: NodePath<t.LabeledStatement>) {\n this.labels.set(path.node.label.name, path);\n }\n\n registerDeclaration(path: NodePath) {\n if (path.isLabeledStatement()) {\n this.registerLabel(path);\n } else if (path.isFunctionDeclaration()) {\n this.registerBinding(\"hoisted\", path.get(\"id\"), path);\n } else if (path.isVariableDeclaration()) {\n const declarations = path.get(\"declarations\");\n const { kind } = path.node;\n for (const declar of declarations) {\n this.registerBinding(\n kind === \"using\" || kind === \"await using\" ? \"const\" : kind,\n declar,\n );\n }\n } else if (path.isClassDeclaration()) {\n if (path.node.declare) return;\n this.registerBinding(\"let\", path);\n } else if (path.isImportDeclaration()) {\n const isTypeDeclaration =\n path.node.importKind === \"type\" || path.node.importKind === \"typeof\";\n const specifiers = path.get(\"specifiers\");\n for (const specifier of specifiers) {\n const isTypeSpecifier =\n isTypeDeclaration ||\n (specifier.isImportSpecifier() &&\n (specifier.node.importKind === \"type\" ||\n specifier.node.importKind === \"typeof\"));\n\n this.registerBinding(isTypeSpecifier ? \"unknown\" : \"module\", specifier);\n }\n } else if (path.isExportDeclaration()) {\n // todo: improve babel-types\n const declar = path.get(\"declaration\") as NodePath;\n if (\n declar.isClassDeclaration() ||\n declar.isFunctionDeclaration() ||\n declar.isVariableDeclaration()\n ) {\n this.registerDeclaration(declar);\n }\n } else {\n this.registerBinding(\"unknown\", path);\n }\n }\n\n buildUndefinedNode() {\n return buildUndefinedNode();\n }\n\n registerConstantViolation(path: NodePath) {\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n this.getBinding(name)?.reassign(path);\n }\n }\n\n registerBinding(\n kind: Binding[\"kind\"],\n path: NodePath,\n bindingPath: NodePath = path,\n ) {\n if (!kind) throw new ReferenceError(\"no `kind`\");\n\n if (path.isVariableDeclaration()) {\n const declarators: Array<NodePath> = path.get(\"declarations\");\n for (const declar of declarators) {\n this.registerBinding(kind, declar);\n }\n return;\n }\n\n const parent = this.getProgramParent();\n const ids = path.getOuterBindingIdentifiers(true);\n\n for (const name of Object.keys(ids)) {\n if (process.env.BABEL_8_BREAKING) {\n parent.referencesSet.add(name);\n } else {\n // @ts-expect-error Babel 7\n parent.references[name] = true;\n }\n\n for (const id of ids[name]) {\n const local = this.getOwnBinding(name);\n\n if (local) {\n // same identifier so continue safely as we're likely trying to register it\n // multiple times\n if (local.identifier === id) continue;\n\n this.checkBlockScopedCollisions(local, kind, name, id);\n }\n\n // A redeclaration of an existing variable is a modification\n if (local) {\n local.reassign(bindingPath);\n } else {\n this.bindings[name] = new Binding({\n identifier: id,\n scope: this,\n path: bindingPath,\n kind: kind,\n });\n }\n }\n }\n }\n\n addGlobal(node: t.Identifier | t.JSXIdentifier) {\n this.globals[node.name] = node;\n }\n\n hasUid(name: string): boolean {\n if (process.env.BABEL_8_BREAKING) {\n return this.getProgramParent().uidsSet.has(name);\n } else {\n let scope: Scope = this;\n\n do {\n // @ts-expect-error Babel 7\n if (scope.uids[name]) return true;\n } while ((scope = scope.parent));\n\n return false;\n }\n }\n\n hasGlobal(name: string): boolean {\n let scope: Scope = this;\n\n do {\n if (scope.globals[name]) return true;\n } while ((scope = scope.parent));\n\n return false;\n }\n\n hasReference(name: string): boolean {\n if (process.env.BABEL_8_BREAKING) {\n return this.getProgramParent().referencesSet.has(name);\n } else {\n // @ts-expect-error Babel 7\n return !!this.getProgramParent().references[name];\n }\n }\n\n isPure(node: t.Node, constantsOnly?: boolean): boolean {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (!binding) return false;\n if (constantsOnly) return binding.constant;\n return true;\n } else if (\n isThisExpression(node) ||\n isMetaProperty(node) ||\n isTopicReference(node) ||\n isPrivateName(node)\n ) {\n return true;\n } else if (isClass(node)) {\n if (node.superClass && !this.isPure(node.superClass, constantsOnly)) {\n return false;\n }\n if (node.decorators?.length > 0) {\n return false;\n }\n return this.isPure(node.body, constantsOnly);\n } else if (isClassBody(node)) {\n for (const method of node.body) {\n if (!this.isPure(method, constantsOnly)) return false;\n }\n return true;\n } else if (isBinary(node)) {\n return (\n this.isPure(node.left, constantsOnly) &&\n this.isPure(node.right, constantsOnly)\n );\n } else if (isArrayExpression(node) || isTupleExpression(node)) {\n for (const elem of node.elements) {\n if (elem !== null && !this.isPure(elem, constantsOnly)) return false;\n }\n return true;\n } else if (isObjectExpression(node) || isRecordExpression(node)) {\n for (const prop of node.properties) {\n if (!this.isPure(prop, constantsOnly)) return false;\n }\n return true;\n } else if (isMethod(node)) {\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (node.decorators?.length > 0) {\n return false;\n }\n return true;\n } else if (isProperty(node)) {\n // @ts-expect-error todo(flow->ts): computed in not present on private properties\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (node.decorators?.length > 0) {\n return false;\n }\n if (isObjectProperty(node) || node.static) {\n if (node.value !== null && !this.isPure(node.value, constantsOnly)) {\n return false;\n }\n }\n return true;\n } else if (isUnaryExpression(node)) {\n return this.isPure(node.argument, constantsOnly);\n } else if (isTemplateLiteral(node)) {\n for (const expression of node.expressions) {\n if (!this.isPure(expression, constantsOnly)) return false;\n }\n return true;\n } else if (isTaggedTemplateExpression(node)) {\n return (\n matchesPattern(node.tag, \"String.raw\") &&\n !this.hasBinding(\"String\", { noGlobals: true }) &&\n this.isPure(node.quasi, constantsOnly)\n );\n } else if (isMemberExpression(node)) {\n return (\n !node.computed &&\n isIdentifier(node.object) &&\n node.object.name === \"Symbol\" &&\n isIdentifier(node.property) &&\n node.property.name !== \"for\" &&\n !this.hasBinding(\"Symbol\", { noGlobals: true })\n );\n } else if (isCallExpression(node)) {\n return (\n matchesPattern(node.callee, \"Symbol.for\") &&\n !this.hasBinding(\"Symbol\", { noGlobals: true }) &&\n node.arguments.length === 1 &&\n t.isStringLiteral(node.arguments[0])\n );\n } else {\n return isPureish(node);\n }\n }\n\n /**\n * Set some arbitrary data on the current scope.\n */\n\n setData(key: string | symbol, val: any) {\n return (this.data[key] = val);\n }\n\n /**\n * Recursively walk up scope tree looking for the data `key`.\n */\n\n getData(key: string | symbol): any {\n let scope: Scope = this;\n do {\n const data = scope.data[key];\n if (data != null) return data;\n } while ((scope = scope.parent));\n }\n\n /**\n * Recursively walk up scope tree looking for the data `key` and if it exists,\n * remove it.\n */\n\n removeData(key: string) {\n let scope: Scope = this;\n do {\n const data = scope.data[key];\n if (data != null) scope.data[key] = null;\n } while ((scope = scope.parent));\n }\n\n init() {\n if (!this.inited) {\n this.inited = true;\n this.crawl();\n }\n }\n\n crawl() {\n const path = this.path;\n\n resetScope(this);\n this.data = Object.create(null);\n\n let scope: Scope = this;\n do {\n if (scope.crawling) return;\n if (scope.path.isProgram()) {\n break;\n }\n } while ((scope = scope.parent));\n\n const programParent = scope;\n\n const state: CollectVisitorState = {\n references: [],\n constantViolations: [],\n assignments: [],\n };\n\n this.crawling = true;\n scopeVisitor ||= traverse.visitors.merge([\n {\n Scope(path) {\n resetScope(path.scope);\n },\n },\n collectorVisitor,\n ]);\n // traverse does not visit the root node, here we explicitly collect\n // root node binding info when the root is not a Program.\n if (path.type !== \"Program\") {\n for (const visit of scopeVisitor.enter) {\n visit.call(state, path, state);\n }\n const typeVisitors = scopeVisitor[path.type];\n if (typeVisitors) {\n for (const visit of typeVisitors.enter) {\n visit.call(state, path, state);\n }\n }\n }\n path.traverse(scopeVisitor, state);\n this.crawling = false;\n\n // register assignments\n for (const path of state.assignments) {\n // register undeclared bindings as globals\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n if (path.scope.getBinding(name)) continue;\n programParent.addGlobal(ids[name]);\n }\n\n // register as constant violation\n path.scope.registerConstantViolation(path);\n }\n\n // register references\n for (const ref of state.references) {\n const binding = ref.scope.getBinding(ref.node.name);\n if (binding) {\n binding.reference(ref);\n } else {\n programParent.addGlobal(ref.node);\n }\n }\n\n // register constant violations\n for (const path of state.constantViolations) {\n path.scope.registerConstantViolation(path);\n }\n }\n\n push(opts: {\n id: t.ArrayPattern | t.Identifier | t.ObjectPattern;\n init?: t.Expression;\n unique?: boolean;\n _blockHoist?: number | undefined;\n kind?: \"var\" | \"let\" | \"const\";\n }) {\n let path = this.path;\n\n if (path.isPattern()) {\n path = this.getPatternParent().path;\n } else if (!path.isBlockStatement() && !path.isProgram()) {\n path = this.getBlockParent().path;\n }\n\n if (path.isSwitchStatement()) {\n path = (this.getFunctionParent() || this.getProgramParent()).path;\n }\n\n const { init, unique, kind = \"var\", id } = opts;\n\n // When injecting a non-const non-initialized binding inside\n // an IIFE, if the number of call arguments is less than or\n // equal to the number of function parameters, we can safely\n // inject the binding into the parameter list.\n if (\n !init &&\n !unique &&\n (kind === \"var\" || kind === \"let\") &&\n path.isFunction() &&\n // @ts-expect-error ArrowFunctionExpression never has a name\n !path.node.name &&\n isCallExpression(path.parent, { callee: path.node }) &&\n path.parent.arguments.length <= path.node.params.length &&\n isIdentifier(id)\n ) {\n path.pushContainer(\"params\", id);\n path.scope.registerBinding(\n \"param\",\n path.get(\"params\")[path.node.params.length - 1],\n );\n return;\n }\n\n if (path.isLoop() || path.isCatchClause() || path.isFunction()) {\n path.ensureBlock();\n path = path.get(\"body\");\n }\n\n const blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;\n\n const dataKey = `declaration:${kind}:${blockHoist}`;\n let declarPath = !unique && path.getData(dataKey);\n\n if (!declarPath) {\n const declar = variableDeclaration(kind, []);\n // @ts-expect-error todo(flow->ts): avoid modifying nodes\n declar._blockHoist = blockHoist;\n\n [declarPath] = (path as NodePath<t.BlockStatement>).unshiftContainer(\n \"body\",\n [declar],\n );\n if (!unique) path.setData(dataKey, declarPath);\n }\n\n const declarator = variableDeclarator(id, init);\n const len = declarPath.node.declarations.push(declarator);\n path.scope.registerBinding(kind, declarPath.get(\"declarations\")[len - 1]);\n }\n\n /**\n * Walk up to the top of the scope tree and get the `Program`.\n */\n\n getProgramParent(): Scope & {\n referencesSet: Set<string>;\n uidsSet: Set<string>;\n } {\n let scope: Scope = this;\n do {\n if (scope.path.isProgram()) {\n return scope as Scope & {\n referencesSet: Set<string>;\n uidsSet: Set<string>;\n };\n }\n } while ((scope = scope.parent));\n throw new Error(\"Couldn't find a Program\");\n }\n\n /**\n * Walk up the scope tree until we hit either a Function or return null.\n */\n\n getFunctionParent(): Scope | null {\n let scope: Scope = this;\n do {\n if (scope.path.isFunctionParent()) {\n return scope;\n }\n } while ((scope = scope.parent));\n return null;\n }\n\n /**\n * Walk up the scope tree until we hit either a BlockStatement/Loop/Program/Function/Switch or reach the\n * very top and hit Program.\n */\n\n getBlockParent() {\n let scope: Scope = this;\n do {\n if (scope.path.isBlockParent()) {\n return scope;\n }\n } while ((scope = scope.parent));\n throw new Error(\n \"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\",\n );\n }\n\n /**\n * Walk up from a pattern scope (function param initializer) until we hit a non-pattern scope,\n * then returns its block parent\n * @returns An ancestry scope whose path is a block parent\n */\n getPatternParent() {\n let scope: Scope = this;\n do {\n if (!scope.path.isPattern()) {\n return scope.getBlockParent();\n }\n } while ((scope = scope.parent.parent));\n throw new Error(\n \"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\",\n );\n }\n\n /**\n * Walks the scope tree and gathers **all** bindings.\n */\n\n getAllBindings(): Record<string, Binding> {\n const ids = Object.create(null);\n\n let scope: Scope = this;\n do {\n for (const key of Object.keys(scope.bindings)) {\n if (key in ids === false) {\n ids[key] = scope.bindings[key];\n }\n }\n scope = scope.parent;\n } while (scope);\n\n return ids;\n }\n\n bindingIdentifierEquals(name: string, node: t.Node): boolean {\n return this.getBindingIdentifier(name) === node;\n }\n\n getBinding(name: string): Binding | undefined {\n let scope: Scope = this;\n let previousPath;\n\n do {\n const binding = scope.getOwnBinding(name);\n if (binding) {\n // Check if a pattern is a part of parameter expressions.\n // Note: for performance reason we skip checking previousPath.parentPath.isFunction()\n // because `scope.path` is validated as scope in packages/babel-types/src/validators/isScope.js\n // That is, if a scope path is pattern, its parent must be Function/CatchClause\n\n // Spec 9.2.10.28: The closure created by this expression should not have visibility of\n // declarations in the function body. If the binding is not a `param`-kind (as function parameters)\n // or `local`-kind (as id in function expression),\n // then it must be defined inside the function body, thus it should be skipped\n if (\n previousPath?.isPattern() &&\n binding.kind !== \"param\" &&\n binding.kind !== \"local\"\n ) {\n // do nothing\n } else {\n return binding;\n }\n } else if (\n !binding &&\n name === \"arguments\" &&\n scope.path.isFunction() &&\n !scope.path.isArrowFunctionExpression()\n ) {\n break;\n }\n previousPath = scope.path;\n } while ((scope = scope.parent));\n }\n\n getOwnBinding(name: string): Binding | undefined {\n return this.bindings[name];\n }\n\n // todo: return probably can be undefined…\n getBindingIdentifier(name: string): t.Identifier {\n return this.getBinding(name)?.identifier;\n }\n\n // todo: flow->ts return probably can be undefined\n getOwnBindingIdentifier(name: string): t.Identifier {\n const binding = this.bindings[name];\n return binding?.identifier;\n }\n\n hasOwnBinding(name: string) {\n return !!this.getOwnBinding(name);\n }\n\n // By default, we consider generated UIDs as bindings.\n // This is because they are almost always used to declare variables,\n // and since the scope isn't always up-to-date it's better to assume that\n // there is a variable with that name. The `noUids` option can be used to\n // turn off this behavior, for example if you know that the generate UID\n // was used to declare a variable in a different scope.\n hasBinding(\n name: string,\n opts?:\n | boolean\n | { noGlobals?: boolean; noUids?: boolean; upToScope?: Scope },\n ) {\n if (!name) return false;\n // TODO: Only accept the object form.\n let noGlobals;\n let noUids;\n let upToScope;\n if (typeof opts === \"object\") {\n noGlobals = opts.noGlobals;\n noUids = opts.noUids;\n upToScope = opts.upToScope;\n } else if (typeof opts === \"boolean\") {\n noGlobals = opts;\n }\n let scope: Scope = this;\n do {\n if (upToScope === scope) {\n break;\n }\n if (scope.hasOwnBinding(name)) {\n return true;\n }\n } while ((scope = scope.parent));\n\n if (!noUids && this.hasUid(name)) return true;\n if (!noGlobals && Scope.globals.includes(name)) return true;\n if (!noGlobals && Scope.contextVariables.includes(name)) return true;\n return false;\n }\n\n parentHasBinding(\n name: string,\n opts?: { noGlobals?: boolean; noUids?: boolean },\n ) {\n return this.parent?.hasBinding(name, opts);\n }\n\n /**\n * Move a binding of `name` to another `scope`.\n */\n\n moveBindingTo(name: string, scope: Scope) {\n const info = this.getBinding(name);\n if (info) {\n info.scope.removeOwnBinding(name);\n info.scope = scope;\n scope.bindings[name] = info;\n }\n }\n\n removeOwnBinding(name: string) {\n delete this.bindings[name];\n }\n\n removeBinding(name: string) {\n // clear literal binding\n this.getBinding(name)?.scope.removeOwnBinding(name);\n\n // clear uids with this name - https://github.com/babel/babel/issues/2101\n if (process.env.BABEL_8_BREAKING) {\n this.getProgramParent().uidsSet.delete(name);\n } else {\n let scope: Scope = this;\n do {\n // @ts-expect-error Babel 7\n if (scope.uids[name]) {\n // @ts-expect-error Babel 7\n scope.uids[name] = false;\n }\n } while ((scope = scope.parent));\n }\n }\n\n /**\n * Hoist all the `var` variable to the beginning of the function/program\n * scope where their binding will be actually defined. For exmaple,\n * { var x = 2 }\n * will be transformed to\n * var x; { x = 2 }\n *\n * @param emit A custom function to emit `var` declarations, for example to\n * emit them in a different scope.\n */\n hoistVariables(\n emit: (id: t.Identifier, hasInit: boolean) => void = id =>\n this.push({ id }),\n ) {\n this.crawl();\n\n const seen = new Set();\n for (const name of Object.keys(this.bindings)) {\n const binding = this.bindings[name];\n if (!binding) continue;\n const { path } = binding;\n if (!path.isVariableDeclarator()) continue;\n const { parent, parentPath } = path;\n\n if (parent.kind !== \"var\" || seen.has(parent)) continue;\n seen.add(path.parent);\n\n let firstId;\n const init = [];\n for (const decl of parent.declarations) {\n firstId ??= decl.id;\n if (decl.init) {\n init.push(\n assignmentExpression(\n \"=\",\n // var declarator must not be a void pattern\n decl.id as Exclude<t.VariableDeclarator[\"id\"], t.VoidPattern>,\n decl.init,\n ),\n );\n }\n\n const ids = Object.keys(getBindingIdentifiers(decl, false, true, true));\n for (const name of ids) {\n emit(identifier(name), decl.init != null);\n }\n }\n\n // for (var i in test)\n if (parentPath.parentPath.isFor({ left: parent })) {\n parentPath.replaceWith(firstId);\n } else if (init.length === 0) {\n parentPath.remove();\n } else {\n const expr = init.length === 1 ? init[0] : sequenceExpression(init);\n if (parentPath.parentPath.isForStatement({ init: parent })) {\n parentPath.replaceWith(expr);\n } else {\n parentPath.replaceWith(expressionStatement(expr));\n }\n }\n }\n }\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n /** @deprecated Not used in our codebase */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype._renameFromMap = function _renameFromMap(\n map: Record<string | symbol, unknown>,\n oldName: string | symbol,\n newName: string | symbol,\n value: unknown,\n ) {\n if (map[oldName]) {\n map[newName] = value;\n map[oldName] = null;\n }\n };\n\n /**\n * Traverse node with current scope and path.\n *\n * !!! WARNING !!!\n * This method assumes that `this.path` is the NodePath representing `node`.\n * After running the traversal, the `.parentPath` of the NodePaths\n * corresponding to `node`'s children will be set to `this.path`.\n *\n * There is no good reason to use this method, since the only safe way to use\n * it is equivalent to `scope.path.traverse(opts, state)`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.traverse = function <S>(\n this: Scope,\n node: any,\n opts: any,\n state?: S,\n ) {\n traverse(node, opts, this, state, this.path);\n };\n\n /**\n * Generate an `_id1`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype._generateUid = function _generateUid(\n name: string,\n i: number,\n ) {\n let id = name;\n if (i > 1) id += i;\n return `_${id}`;\n };\n\n // TODO: (Babel 8) Split i in two parameters, and use an object of flags\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.toArray = function toArray(\n this: Scope,\n node: t.Node,\n i?: number | boolean,\n arrayLikeIsIterable?: boolean | void,\n ) {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding?.constant && binding.path.isGenericType(\"Array\")) {\n return node;\n }\n }\n\n if (isArrayExpression(node)) {\n return node;\n }\n\n if (isIdentifier(node, { name: \"arguments\" })) {\n return callExpression(\n memberExpression(\n memberExpression(\n memberExpression(identifier(\"Array\"), identifier(\"prototype\")),\n identifier(\"slice\"),\n ),\n identifier(\"call\"),\n ),\n [node],\n );\n }\n\n let helperName;\n const args = [node];\n if (i === true) {\n // Used in array-spread to create an array.\n helperName = \"toConsumableArray\";\n } else if (typeof i === \"number\") {\n args.push(numericLiteral(i));\n\n // Used in array-rest to create an array from a subset of an iterable.\n helperName = \"slicedToArray\";\n // TODO if (this.hub.isLoose(\"es6.forOf\")) helperName += \"-loose\";\n } else {\n // Used in array-rest to create an array\n helperName = \"toArray\";\n }\n\n if (arrayLikeIsIterable) {\n args.unshift(this.path.hub.addHelper(helperName));\n helperName = \"maybeArrayLike\";\n }\n\n // @ts-expect-error todo(flow->ts): t.Node is not valid to use in args, function argument typeneeds to be clarified\n return callExpression(this.path.hub.addHelper(helperName), args);\n };\n\n /**\n * Walks the scope tree and gathers all declarations of `kind`.\n */\n // @ts-expect-error Babel 7 compatibility\n Scope.prototype.getAllBindingsOfKind = function getAllBindingsOfKind(\n ...kinds: string[]\n ): Record<string, Binding> {\n const ids = Object.create(null);\n\n for (const kind of kinds) {\n let scope: Scope = this;\n do {\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n if (binding.kind === kind) ids[name] = binding;\n }\n scope = scope.parent;\n } while (scope);\n }\n\n return ids;\n };\n\n Object.defineProperties(Scope.prototype, {\n parentBlock: {\n configurable: true,\n enumerable: true,\n get(this: Scope) {\n return this.path.parent;\n },\n },\n hub: {\n configurable: true,\n enumerable: true,\n get(this: Scope) {\n return this.path.hub;\n },\n },\n });\n}\n\ntype _Binding = Binding;\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace Scope {\n export type Binding = _Binding;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,11 +5,120 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.traverseNode = traverseNode;
|
|
7
7
|
var _context = require("./context.js");
|
|
8
|
+
var _index = require("./path/index.js");
|
|
8
9
|
var _t = require("@babel/types");
|
|
10
|
+
var _context2 = require("./path/context.js");
|
|
9
11
|
const {
|
|
10
12
|
VISITOR_KEYS
|
|
11
13
|
} = _t;
|
|
14
|
+
function _visitPaths(ctx, paths) {
|
|
15
|
+
ctx.queue = paths;
|
|
16
|
+
ctx.priorityQueue = [];
|
|
17
|
+
const visited = new Set();
|
|
18
|
+
let stop = false;
|
|
19
|
+
let visitIndex = 0;
|
|
20
|
+
for (; visitIndex < paths.length;) {
|
|
21
|
+
const path = paths[visitIndex];
|
|
22
|
+
visitIndex++;
|
|
23
|
+
_context2.resync.call(path);
|
|
24
|
+
if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== ctx) {
|
|
25
|
+
_context2.pushContext.call(path, ctx);
|
|
26
|
+
}
|
|
27
|
+
if (path.key === null) continue;
|
|
28
|
+
const {
|
|
29
|
+
node
|
|
30
|
+
} = path;
|
|
31
|
+
if (visited.has(node)) continue;
|
|
32
|
+
if (node) visited.add(node);
|
|
33
|
+
if (_visit(ctx, path)) {
|
|
34
|
+
stop = true;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
if (ctx.priorityQueue.length) {
|
|
38
|
+
stop = _visitPaths(ctx, ctx.priorityQueue);
|
|
39
|
+
ctx.priorityQueue = [];
|
|
40
|
+
ctx.queue = paths;
|
|
41
|
+
if (stop) break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
for (let i = 0; i < visitIndex; i++) {
|
|
45
|
+
_context2.popContext.call(paths[i]);
|
|
46
|
+
}
|
|
47
|
+
ctx.queue = null;
|
|
48
|
+
return stop;
|
|
49
|
+
}
|
|
50
|
+
function _visit(ctx, path) {
|
|
51
|
+
var _opts$denylist;
|
|
52
|
+
const node = path.node;
|
|
53
|
+
if (!node) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const opts = ctx.opts;
|
|
57
|
+
const denylist = (_opts$denylist = opts.denylist) != null ? _opts$denylist : opts.blacklist;
|
|
58
|
+
if (denylist != null && denylist.includes(node.type)) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (opts.shouldSkip != null && opts.shouldSkip(path)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
if (path.shouldSkip) return path.shouldStop;
|
|
65
|
+
if (_context2._call.call(path, opts.enter)) return path.shouldStop;
|
|
66
|
+
if (path.node) {
|
|
67
|
+
var _opts$node$type;
|
|
68
|
+
if (_context2._call.call(path, (_opts$node$type = opts[node.type]) == null ? void 0 : _opts$node$type.enter)) return path.shouldStop;
|
|
69
|
+
}
|
|
70
|
+
path.shouldStop = _traverse(path.node, opts, path.scope, ctx.state, path, path.skipKeys);
|
|
71
|
+
if (path.node) {
|
|
72
|
+
if (_context2._call.call(path, opts.exit)) return true;
|
|
73
|
+
}
|
|
74
|
+
if (path.node) {
|
|
75
|
+
var _opts$node$type2;
|
|
76
|
+
_context2._call.call(path, (_opts$node$type2 = opts[node.type]) == null ? void 0 : _opts$node$type2.exit);
|
|
77
|
+
}
|
|
78
|
+
return path.shouldStop;
|
|
79
|
+
}
|
|
80
|
+
function _traverse(node, opts, scope, state, path, skipKeys, visitSelf) {
|
|
81
|
+
const keys = VISITOR_KEYS[node.type];
|
|
82
|
+
if (!(keys != null && keys.length)) return false;
|
|
83
|
+
const ctx = new _context.default(scope, opts, state, path);
|
|
84
|
+
if (visitSelf) {
|
|
85
|
+
if (skipKeys != null && skipKeys[path.parentKey]) return false;
|
|
86
|
+
return _visitPaths(ctx, [path]);
|
|
87
|
+
}
|
|
88
|
+
for (const key of keys) {
|
|
89
|
+
if (skipKeys != null && skipKeys[key]) continue;
|
|
90
|
+
const prop = node[key];
|
|
91
|
+
if (!prop) continue;
|
|
92
|
+
if (Array.isArray(prop)) {
|
|
93
|
+
if (!prop.length) continue;
|
|
94
|
+
const paths = [];
|
|
95
|
+
for (let i = 0; i < prop.length; i++) {
|
|
96
|
+
const childPath = _index.default.get({
|
|
97
|
+
parentPath: path,
|
|
98
|
+
parent: node,
|
|
99
|
+
container: prop,
|
|
100
|
+
key: i,
|
|
101
|
+
listKey: key
|
|
102
|
+
});
|
|
103
|
+
paths.push(childPath);
|
|
104
|
+
}
|
|
105
|
+
if (_visitPaths(ctx, paths)) return true;
|
|
106
|
+
} else {
|
|
107
|
+
if (_visitPaths(ctx, [_index.default.get({
|
|
108
|
+
parentPath: path,
|
|
109
|
+
parent: node,
|
|
110
|
+
container: node,
|
|
111
|
+
key,
|
|
112
|
+
listKey: null
|
|
113
|
+
})])) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
12
120
|
function traverseNode(node, opts, scope, state, path, skipKeys, visitSelf) {
|
|
121
|
+
;
|
|
13
122
|
const keys = VISITOR_KEYS[node.type];
|
|
14
123
|
if (!keys) return false;
|
|
15
124
|
const context = new _context.default(scope, opts, state, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_context","require","_t","VISITOR_KEYS","traverseNode","node","opts","scope","state","path","skipKeys","visitSelf","keys","type","context","TraversalContext","parentKey","visitQueue","key","visit"],"sources":["../src/traverse-node.ts"],"sourcesContent":["import TraversalContext from \"./context.ts\";\nimport type { ExplodedTraverseOptions } from \"./index.ts\";\nimport type NodePath from \"./path/index.ts\";\nimport type Scope from \"./scope/index.ts\";\nimport type * as t from \"@babel/types\";\nimport { VISITOR_KEYS } from \"@babel/types\";\n\n/**\n * Traverse the children of given node\n * @param {Node} node\n * @param {TraverseOptions} opts The traverse options used to create a new traversal context\n * @param {scope} scope A traversal scope used to create a new traversal context. When opts.noScope is true, scope should not be provided\n * @param {any} state A user data storage provided as the second callback argument for traversal visitors\n * @param {NodePath} path A NodePath of given node\n * @param {Record<string, boolean>} skipKeys A map from key names to whether that should be skipped during traversal. The skipKeys are applied to every descendants\n * @returns {boolean} Whether the traversal stops early\n\n * @note This function does not visit the given `node`.\n */\nexport function traverseNode<S = unknown>(\n node: t.Node,\n opts: ExplodedTraverseOptions<S>,\n scope?: Scope,\n state?: S,\n path?: NodePath,\n skipKeys?: Record<string, boolean>,\n visitSelf?: boolean,\n): boolean {\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return false;\n\n const context = new TraversalContext<S>(scope, opts, state, path);\n if (visitSelf) {\n if (skipKeys?.[path.parentKey]) return false;\n return context.visitQueue([path]);\n }\n\n for (const key of keys) {\n if (skipKeys?.[key]) continue;\n if (context.visit(node, key)) {\n return true;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,EAAA,GAAAD,OAAA;AAA4C;EAAnCE;AAAY,IAAAD,EAAA;AAcd,SAASE,YAAYA,CAC1BC,IAAY,EACZC,IAAgC,EAChCC,KAAa,EACbC,KAAS,EACTC,IAAe,EACfC,QAAkC,EAClCC,SAAmB,EACV;EACT,MAAMC,IAAI,GAAGT,YAAY,CAACE,IAAI,CAACQ,IAAI,CAAC;EACpC,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EAEvB,MAAME,OAAO,GAAG,IAAIC,gBAAgB,CAAIR,KAAK,EAAED,IAAI,EAAEE,KAAK,EAAEC,IAAI,CAAC;EACjE,IAAIE,SAAS,EAAE;IACb,IAAID,QAAQ,YAARA,QAAQ,CAAGD,IAAI,CAACO,SAAS,CAAC,EAAE,OAAO,KAAK;IAC5C,OAAOF,OAAO,CAACG,UAAU,CAAC,CAACR,IAAI,CAAC,CAAC;EACnC;EAEA,KAAK,MAAMS,GAAG,IAAIN,IAAI,EAAE;IACtB,IAAIF,QAAQ,YAARA,QAAQ,CAAGQ,GAAG,CAAC,EAAE;IACrB,IAAIJ,OAAO,CAACK,KAAK,CAACd,IAAI,EAAEa,GAAG,CAAC,EAAE;MAC5B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_context","require","_index","_t","_context2","VISITOR_KEYS","_visitPaths","ctx","paths","queue","priorityQueue","visited","Set","stop","visitIndex","length","path","resync","call","contexts","pushContext","key","node","has","add","_visit","i","popContext","_opts$denylist","opts","denylist","blacklist","includes","type","shouldSkip","shouldStop","_call","enter","_opts$node$type","_traverse","scope","state","skipKeys","exit","_opts$node$type2","visitSelf","keys","TraversalContext","parentKey","prop","Array","isArray","childPath","NodePath","get","parentPath","parent","container","listKey","push","traverseNode","context","visitQueue","visit"],"sources":["../src/traverse-node.ts"],"sourcesContent":["import TraversalContext from \"./context.ts\";\nimport type { ExplodedTraverseOptions } from \"./index.ts\";\nimport NodePath from \"./path/index.ts\";\nimport type Scope from \"./scope/index.ts\";\nimport type * as t from \"@babel/types\";\nimport { VISITOR_KEYS } from \"@babel/types\";\nimport { _call, popContext, pushContext, resync } from \"./path/context.ts\";\n\nfunction _visitPaths(ctx: TraversalContext, paths: NodePath[]): boolean {\n // set queue\n ctx.queue = paths;\n ctx.priorityQueue = [];\n\n const visited = new Set();\n let stop = false;\n let visitIndex = 0;\n\n for (; visitIndex < paths.length; ) {\n const path = paths[visitIndex];\n visitIndex++;\n\n resync.call(path);\n\n if (\n path.contexts.length === 0 ||\n path.contexts[path.contexts.length - 1] !== ctx\n ) {\n // The context might already have been pushed when this path was inserted and queued.\n // If we always re-pushed here, we could get duplicates and risk leaving contexts\n // on the stack after the traversal has completed, which could break things.\n pushContext.call(path, ctx);\n }\n\n // this path no longer belongs to the tree\n if (path.key === null) continue;\n\n // ensure we don't visit the same node twice\n const { node } = path;\n if (visited.has(node)) continue;\n if (node) visited.add(node);\n\n if (_visit(ctx, path)) {\n stop = true;\n break;\n }\n\n if (ctx.priorityQueue.length) {\n stop = _visitPaths(ctx, ctx.priorityQueue);\n ctx.priorityQueue = [];\n ctx.queue = paths;\n if (stop) break;\n }\n }\n\n // pop contexts\n for (let i = 0; i < visitIndex; i++) {\n popContext.call(paths[i]);\n }\n\n // clear queue\n ctx.queue = null;\n\n return stop;\n}\n\nfunction _visit(ctx: TraversalContext, path: NodePath) {\n const node = path.node;\n if (!node) {\n return false;\n }\n const opts = ctx.opts;\n\n // @ts-expect-error TODO(Babel 8): Remove blacklist\n const denylist = opts.denylist ?? opts.blacklist;\n if (denylist?.includes(node.type)) {\n return false;\n }\n\n if (opts.shouldSkip?.(path)) {\n return false;\n }\n\n // Note: We need to check \"this.shouldSkip\" first because\n // another visitor can set it to true. Usually .shouldSkip is false\n // before calling the enter visitor, but it can be true in case of\n // a requeued node (e.g. by .replaceWith()) that is then marked\n // with .skip().\n if (path.shouldSkip) return path.shouldStop;\n\n if (_call.call(path, opts.enter)) return path.shouldStop;\n if (path.node) {\n if (_call.call(path, opts[node.type]?.enter)) return path.shouldStop;\n }\n\n path.shouldStop = _traverse(\n path.node,\n opts,\n path.scope,\n ctx.state,\n path,\n path.skipKeys,\n );\n\n if (path.node) {\n if (_call.call(path, opts.exit)) return true;\n }\n if (path.node) {\n _call.call(path, opts[node.type]?.exit);\n }\n\n return path.shouldStop;\n}\n\nfunction _traverse<S>(\n node: t.Node,\n opts: ExplodedTraverseOptions<S>,\n scope?: Scope,\n state?: S,\n path?: NodePath,\n skipKeys?: Record<string, boolean>,\n visitSelf?: boolean,\n) {\n const keys = VISITOR_KEYS[node.type];\n if (!keys?.length) return false;\n\n const ctx = new TraversalContext(scope, opts, state, path);\n if (visitSelf) {\n if (skipKeys?.[path.parentKey]) return false;\n return _visitPaths(ctx, [path]);\n }\n\n for (const key of keys) {\n if (skipKeys?.[key]) continue;\n // @ts-expect-error key must present in node\n const prop = node[key];\n if (!prop) continue;\n\n if (Array.isArray(prop)) {\n if (!prop.length) continue;\n const paths = [];\n for (let i = 0; i < prop.length; i++) {\n const childPath = NodePath.get({\n parentPath: path,\n parent: node,\n container: prop,\n key: i,\n listKey: key,\n });\n paths.push(childPath);\n }\n if (_visitPaths(ctx, paths)) return true;\n } else {\n if (\n _visitPaths(ctx, [\n NodePath.get({\n parentPath: path,\n parent: node,\n container: node,\n key,\n listKey: null,\n }),\n ])\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n\n/**\n * Traverse the children of given node\n * @param {Node} node\n * @param {TraverseOptions} opts The traverse options used to create a new traversal context\n * @param {scope} scope A traversal scope used to create a new traversal context. When opts.noScope is true, scope should not be provided\n * @param {any} state A user data storage provided as the second callback argument for traversal visitors\n * @param {NodePath} path A NodePath of given node\n * @param {Record<string, boolean>} skipKeys A map from key names to whether that should be skipped during traversal. The skipKeys are applied to every descendants\n * @returns {boolean} Whether the traversal stops early\n\n * @note This function does not visit the given `node`.\n */\nexport function traverseNode<S = unknown>(\n node: t.Node,\n opts: ExplodedTraverseOptions<S>,\n scope?: Scope,\n state?: S,\n path?: NodePath,\n skipKeys?: Record<string, boolean>,\n visitSelf?: boolean,\n): boolean {\n if (process.env.BABEL_8_BREAKING) {\n return _traverse(node, opts, scope, state, path, skipKeys, visitSelf);\n }\n\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return false;\n\n const context = new TraversalContext<S>(scope, opts, state, path);\n if (visitSelf) {\n if (skipKeys?.[path.parentKey]) return false;\n return context.visitQueue([path]);\n }\n\n for (const key of keys) {\n if (skipKeys?.[key]) continue;\n if (context.visit(node, key)) {\n return true;\n }\n }\n\n return false;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,9 +53,11 @@ function explode$1(visitor) {
|
|
|
53
53
|
const types = virtualTypes[nodeType];
|
|
54
54
|
if (types !== null) {
|
|
55
55
|
for (const type of types) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
if (visitor[type]) {
|
|
57
|
+
mergePair(visitor[type], fns);
|
|
58
|
+
} else {
|
|
59
|
+
visitor[type] = fns;
|
|
60
|
+
}
|
|
59
61
|
}
|
|
60
62
|
} else {
|
|
61
63
|
mergePair(visitor, fns);
|
|
@@ -102,7 +104,7 @@ function verify$1(visitor) {
|
|
|
102
104
|
}
|
|
103
105
|
if (shouldIgnoreKey(nodeType)) continue;
|
|
104
106
|
if (!TYPES.includes(nodeType)) {
|
|
105
|
-
throw new Error(`You gave us a visitor for the node type ${nodeType} but it's not a valid type in @babel/traverse ${"7.
|
|
107
|
+
throw new Error(`You gave us a visitor for the node type ${nodeType} but it's not a valid type in @babel/traverse ${"7.28.0"}`);
|
|
106
108
|
}
|
|
107
109
|
const visitors = visitor[nodeType];
|
|
108
110
|
if (typeof visitors === "object") {
|