@stytch/nextjs 22.0.2 → 22.0.3
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/CHANGELOG.md +7 -0
- package/dist/cjs/{StytchB2BContext-vmV6nYF8.js → StytchB2BContext-C7WFy1M0.js} +2 -2
- package/dist/cjs/{StytchB2BContext-vmV6nYF8.js.map → StytchB2BContext-C7WFy1M0.js.map} +1 -1
- package/dist/cjs/adminPortal/index.cjs +8 -6
- package/dist/cjs/adminPortal/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.cjs +23 -31
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/{shadcn-B-Adp3kE.js → shadcn-B9XVRjLw.js} +5 -36
- package/dist/cjs/shadcn-B9XVRjLw.js.map +1 -0
- package/dist/cjs/{uniqueId-fflXqOJz.js → uniqueId-C-3bPIDs.js} +6 -6
- package/dist/cjs/{uniqueId-fflXqOJz.js.map → uniqueId-C-3bPIDs.js.map} +1 -1
- package/dist/cjs-dev/{StytchB2BContext-BkKXYdGK.js → StytchB2BContext-CD6mLKq3.js} +2 -2
- package/dist/cjs-dev/{StytchB2BContext-BkKXYdGK.js.map → StytchB2BContext-CD6mLKq3.js.map} +1 -1
- package/dist/cjs-dev/adminPortal/index.cjs +8 -6
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +23 -31
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/index.cjs +2 -2
- package/dist/cjs-dev/{shadcn-eOeZiv6G.js → shadcn-Co1jziWL.js} +5 -36
- package/dist/cjs-dev/shadcn-Co1jziWL.js.map +1 -0
- package/dist/cjs-dev/{uniqueId-BK4acUGt.js → uniqueId-CrAScvCS.js} +6 -6
- package/dist/cjs-dev/{uniqueId-BK4acUGt.js.map → uniqueId-CrAScvCS.js.map} +1 -1
- package/dist/esm/_virtual/index9.mjs +2 -2
- package/dist/esm/_virtual/moo.mjs +2 -2
- package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +2 -2
- package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +1 -1
- package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs +5 -5
- package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs.map +1 -1
- package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs +2 -2
- package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs.map +1 -1
- package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs +5 -5
- package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs +2 -2
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Button/Button.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Button/Button.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs +8 -8
- package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs +6 -6
- package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Input/Input.mjs +5 -5
- package/dist/esm/node_modules/@mui/material/Input/Input.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/List/List.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/List/List.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs +3 -3
- package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs +8 -8
- package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs +6 -6
- package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Select/Select.mjs +5 -5
- package/dist/esm/node_modules/@mui/material/Select/Select.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Table/Table.mjs +7 -7
- package/dist/esm/node_modules/@mui/material/Table/Table.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs +7 -7
- package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs +5 -5
- package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs +4 -4
- package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs +2 -2
- package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +2 -2
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs +2 -2
- package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +4 -4
- package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/styled-engine/index.mjs +2 -2
- package/dist/esm/node_modules/@mui/styled-engine/index.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +4 -4
- package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +4 -4
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +5 -5
- package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +4 -4
- package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/style/style.mjs +5 -5
- package/dist/esm/node_modules/@mui/system/esm/style/style.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs +5 -5
- package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +2 -2
- package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +4 -4
- package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs +2 -2
- package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +2 -2
- package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +1 -1
- package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs +2 -2
- package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +2 -2
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +6 -6
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +6 -6
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +4 -4
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +2 -2
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +1 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs +2 -2
- package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs +2 -2
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs +14 -14
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +5 -5
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs +4 -4
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs +3 -3
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs +5 -5
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs +6 -6
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs.map +1 -1
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs +2 -2
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs.map +1 -1
- package/dist/esm/node_modules/lodash.merge/index.mjs +2 -2
- package/dist/esm/node_modules/lodash.merge/index.mjs.map +1 -1
- package/dist/esm/node_modules/react-is/index.mjs +5 -5
- package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs +7 -7
- package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs.map +1 -1
- package/dist/esm/node_modules/stylis/src/Serializer.mjs +4 -4
- package/dist/esm/node_modules/stylis/src/Serializer.mjs.map +1 -1
- package/dist/esm/node_modules/stylis/src/Utility.mjs +2 -2
- package/dist/esm/node_modules/stylis/src/Utility.mjs.map +1 -1
- package/dist/esm/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs +2 -2
- package/dist/esm/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
- package/dist/esm/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs +2 -2
- package/dist/esm/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
- package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs +2 -2
- package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
- package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs +2 -2
- package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
- package/dist/esm/packages/web/messages/adminPortal/en.json.mjs +2 -2
- package/dist/esm/packages/web/messages/b2b/en.json.mjs +2 -2
- package/dist/esm/packages/web/messages/en.json.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/components/Autocomplete.mjs +8 -6
- package/dist/esm/packages/web/src/adminPortal/components/Autocomplete.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/components/IconButtonMenu.mjs +5 -5
- package/dist/esm/packages/web/src/adminPortal/components/IconButtonMenu.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/components/SettingsContainer.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/components/SettingsContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/components/Switch.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/components/Switch.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AdminPortalMemberManagementContainer.mjs +7 -7
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AdminPortalMemberManagementContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/DangerZoneSection.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/memberManagement/DangerZoneSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/AdminPortalSCIMContainer.mjs +7 -7
- package/dist/esm/packages/web/src/adminPortal/scim/AdminPortalSCIMContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionDetailsSection.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionDetailsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/settings/AdminPortalOrgSettingsContainer.mjs +7 -7
- package/dist/esm/packages/web/src/adminPortal/settings/AdminPortalOrgSettingsContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsAuthenticationSettingsSection.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsAuthenticationSettingsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/shared/components/Button.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/shared/components/Button.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/shared/components/InfoIcon.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/shared/components/InfoIcon.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/shared/components/SearchBar.mjs +3 -3
- package/dist/esm/packages/web/src/adminPortal/shared/components/SearchBar.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/shared/components/Toast.mjs +6 -6
- package/dist/esm/packages/web/src/adminPortal/shared/components/Toast.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/sso/AppDetails.mjs +10 -10
- package/dist/esm/packages/web/src/adminPortal/sso/AppDetails.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/sso/CreateApplication.mjs +10 -10
- package/dist/esm/packages/web/src/adminPortal/sso/CreateApplication.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/sso/DetailedAttributeMappingTable.mjs +4 -4
- package/dist/esm/packages/web/src/adminPortal/sso/DetailedAttributeMappingTable.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/AmazonBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/AmazonBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/AppleBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/AppleBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/BinanceBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/BinanceBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/BitbucketBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/BitbucketBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/CoinbaseBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/CoinbaseBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/DiscordBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/DiscordBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/FacebookBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/FacebookBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/FigmaBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/FigmaBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/GithubBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/GithubBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/GitlabBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/GitlabBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/GmailBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/GmailBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/GoogleBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/GoogleBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/LinkedinBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/LinkedinBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/MetamaskBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/MetamaskBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/MicrosoftBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/MicrosoftBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/OutlookBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/OutlookBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/PhantomBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/PhantomBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/SalesforceBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/SalesforceBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/SlackBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/SlackBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/SnapchatBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/SnapchatBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/TiktokBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/TiktokBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/TwitchBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/TwitchBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/XTwitterBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/XTwitterBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-black/YahooBlack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-black/YahooBlack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Github.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Github.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Gmail.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Gmail.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Google.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Google.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Microsoft.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Microsoft.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Outlook.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Outlook.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Slack.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Slack.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo-color/Yahoo.mjs +2 -2
- package/dist/esm/packages/web/src/assets/logo-color/Yahoo.mjs.map +1 -1
- package/dist/esm/packages/web/src/assets/logo.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2b/Container.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2b/Container.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/MfaState.mjs +0 -2
- package/dist/esm/packages/web/src/ui/b2b/MfaState.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/OrganizationRow.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2b/reducer/mfa.mjs +0 -29
- package/dist/esm/packages/web/src/ui/b2b/reducer/mfa.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/Discovery.mjs +1 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/Discovery.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeSaveScreen.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollManualScreen.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs +23 -31
- package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/Container.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2c/Container.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/GlobalContextProvider.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2c/GlobalContextProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/Error.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/Error.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Main/LoginForm/index.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/EditableRow.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/AnimatedContainer.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Button.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/CircularProgress.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/CodeContainer.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Column.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/LoadingBar.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Logo.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Toast.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/VerticalTransition.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/VisuallyHidden.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +4 -4
- package/dist/esm/packages/web/src/ui/components/mixins/Root.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/mixins/i18n.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/mixins/inputBase.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/Badge.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/Divider.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/Input.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/LastUsed.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/Loading.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/OTPEntry.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/PasswordError.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/PasswordStrengthCheck.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/molecules/PhoneInput.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/components/organisms/IDPConsent.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/organisms/IDPConsent.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/IDPConsentManifest.module.css.mjs +3 -3
- package/dist/esm/packages/web/src/ui/hooks/useStytchUser.mjs +2 -2
- package/dist/esm/packages/web/src/ui/hooks/useStytchUser.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index11.mjs +2 -2
- package/dist/esm-dev/_virtual/index12.mjs +2 -2
- package/dist/esm-dev/_virtual/moo.mjs +2 -2
- package/dist/esm-dev/_virtual/react-is.development.mjs +2 -2
- package/dist/esm-dev/_virtual/react-is.development2.mjs +2 -2
- package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +2 -2
- package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs +6 -6
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs +7 -7
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs +5 -5
- package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs +2 -2
- package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs +2 -2
- package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs +5 -5
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs +9 -9
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs +7 -7
- package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs +6 -6
- package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/List/List.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/List/List.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs +3 -3
- package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs +10 -10
- package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs +7 -7
- package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs +6 -6
- package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs +8 -8
- package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs +7 -7
- package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +6 -6
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs +5 -5
- package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +4 -4
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs +3 -3
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs +2 -2
- package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +2 -2
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +6 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +6 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +4 -4
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +2 -2
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs +2 -2
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs.map +1 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs +2 -2
- package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs +14 -14
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +5 -5
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs +4 -4
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs +3 -3
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs +5 -5
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs +6 -6
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs +2 -2
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs.map +1 -1
- package/dist/esm-dev/node_modules/lodash.merge/index.mjs +2 -2
- package/dist/esm-dev/node_modules/lodash.merge/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs +5 -5
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/index.mjs +5 -5
- package/dist/esm-dev/node_modules/react-is/cjs/react-is.development.mjs +5 -5
- package/dist/esm-dev/node_modules/react-is/index.mjs +5 -5
- package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs +7 -7
- package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs.map +1 -1
- package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs +4 -4
- package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs.map +1 -1
- package/dist/esm-dev/node_modules/stylis/src/Utility.mjs +2 -2
- package/dist/esm-dev/node_modules/stylis/src/Utility.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs +2 -2
- package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs +2 -2
- package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs +2 -2
- package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs +2 -2
- package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
- package/dist/esm-dev/packages/web/messages/adminPortal/en.json.mjs +2 -2
- package/dist/esm-dev/packages/web/messages/b2b/en.json.mjs +2 -2
- package/dist/esm-dev/packages/web/messages/en.json.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs +8 -6
- package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/components/IconButtonMenu.mjs +5 -5
- package/dist/esm-dev/packages/web/src/adminPortal/components/IconButtonMenu.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/components/SettingsContainer.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/components/SettingsContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/components/Switch.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/components/Switch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AdminPortalMemberManagementContainer.mjs +7 -7
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AdminPortalMemberManagementContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/DangerZoneSection.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/DangerZoneSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/AdminPortalSCIMContainer.mjs +7 -7
- package/dist/esm-dev/packages/web/src/adminPortal/scim/AdminPortalSCIMContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionDetailsSection.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionDetailsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/settings/AdminPortalOrgSettingsContainer.mjs +7 -7
- package/dist/esm-dev/packages/web/src/adminPortal/settings/AdminPortalOrgSettingsContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsAuthenticationSettingsSection.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsAuthenticationSettingsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Button.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Button.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/InfoIcon.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/InfoIcon.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/SearchBar.mjs +3 -3
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/SearchBar.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Toast.mjs +6 -6
- package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Toast.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/AppDetails.mjs +10 -10
- package/dist/esm-dev/packages/web/src/adminPortal/sso/AppDetails.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/CreateApplication.mjs +10 -10
- package/dist/esm-dev/packages/web/src/adminPortal/sso/CreateApplication.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/DetailedAttributeMappingTable.mjs +4 -4
- package/dist/esm-dev/packages/web/src/adminPortal/sso/DetailedAttributeMappingTable.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/AmazonBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/AmazonBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/AppleBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/AppleBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/BinanceBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/BinanceBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/BitbucketBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/BitbucketBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/CoinbaseBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/CoinbaseBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/DiscordBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/DiscordBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/FacebookBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/FacebookBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/FigmaBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/FigmaBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/GithubBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/GithubBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/GitlabBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/GitlabBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/GmailBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/GmailBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/GoogleBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/GoogleBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/LinkedinBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/LinkedinBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/MetamaskBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/MetamaskBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/MicrosoftBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/MicrosoftBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/OutlookBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/OutlookBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/PhantomBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/PhantomBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/SalesforceBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/SalesforceBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/SlackBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/SlackBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/SnapchatBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/SnapchatBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/TiktokBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/TiktokBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/TwitchBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/TwitchBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/XTwitterBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/XTwitterBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-black/YahooBlack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-black/YahooBlack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Github.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Github.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Gmail.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Gmail.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Google.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Google.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Microsoft.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Microsoft.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Outlook.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Outlook.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Slack.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Slack.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo-color/Yahoo.mjs +2 -2
- package/dist/esm-dev/packages/web/src/assets/logo-color/Yahoo.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/assets/logo.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/Container.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/Container.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs +0 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/OrganizationRow.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs +0 -29
- package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs +1 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeSaveScreen.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollManualScreen.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs +23 -31
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/Container.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/b2c/Container.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/GlobalContextProvider.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/b2c/GlobalContextProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/Error.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/Error.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/AnimatedContainer.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CircularProgress.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CodeContainer.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Column.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/LoadingBar.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Logo.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Toast.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VerticalTransition.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VisuallyHidden.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +4 -4
- package/dist/esm-dev/packages/web/src/ui/components/mixins/Root.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/mixins/i18n.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/mixins/inputBase.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Badge.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Divider.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/LastUsed.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Loading.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/OTPEntry.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordError.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordStrengthCheck.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PhoneInput.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsent.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsent.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsentManifest.module.css.mjs +3 -3
- package/dist/esm-dev/packages/web/src/ui/hooks/useStytchUser.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/hooks/useStytchUser.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/shadcn-B-Adp3kE.js.map +0 -1
- package/dist/cjs-dev/shadcn-eOeZiv6G.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transition.mjs","sources":["../../../../../../../node_modules/react-transition-group/esm/Transition.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;"],"names":["ReactDOM","React","noop"],"mappings":";;;;;;;;;;AASU,IAAC,SAAS,GAAG;AACb,IAAC,MAAM,GAAG;AACV,IAAC,QAAQ,GAAG;AACZ,IAAC,OAAO,GAAG;AACX,IAAC,OAAO,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEG,IAAC,UAAU,gBAAgB,UAAU,gBAAgB,EAAE;AAC1D,EAAE,cAAc,CAAC,UAAU,EAAE,gBAAgB,CAAC;;AAE9C,EAAE,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE;AACtC,IAAI,IAAI,KAAK;;AAEb,IAAI,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI;AAC/D,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC;;AAE9B,IAAI,IAAI,MAAM,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACpF,IAAI,IAAI,aAAa;AACrB,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI;;AAE7B,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE;AAClB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,aAAa,GAAG,MAAM;AAC9B,QAAQ,KAAK,CAAC,YAAY,GAAG,QAAQ;AACrC,MAAM,CAAC,MAAM;AACb,QAAQ,aAAa,GAAG,OAAO;AAC/B,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,EAAE;AACrD,QAAQ,aAAa,GAAG,SAAS;AACjC,MAAM,CAAC,MAAM;AACb,QAAQ,aAAa,GAAG,MAAM;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,KAAK,CAAC,KAAK,GAAG;AAClB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI;AAC7B,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF,EAAE,UAAU,CAAC,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC3F,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE;;AAExB,IAAI,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE;AAClD,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE;AAChB,OAAO;AACP,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS;;AAEnC,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,iBAAiB,GAAG;AAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;AAC9C,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,kBAAkB,CAAC,SAAS,EAAE;AACrE,IAAI,IAAI,UAAU,GAAG,IAAI;;AAEzB,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE;AAClC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;AAEpC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;AACzB,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE;AACvD,UAAU,UAAU,GAAG,QAAQ;AAC/B,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE;AACvD,UAAU,UAAU,GAAG,OAAO;AAC9B,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC;AACxC,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,oBAAoB,GAAG,SAAS,oBAAoB,GAAG;AAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,WAAW,GAAG;AAC9C,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO;AACpC,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM;AAC3B,IAAI,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO;;AAEnC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;AACzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;AAE5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;AACpE,IAAI;;AAEJ,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE;AACpE,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC7B,MAAM,QAAQ,GAAG,KAAK;AACtB,IAAI;;AAEJ,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE;AAC7B;AACA,MAAM,IAAI,CAAC,kBAAkB,EAAE;;AAE/B,MAAM,IAAI,UAAU,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AACjE,UAAU,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClG;AACA;;AAEA,UAAU,IAAI,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;AACrC,QAAQ;;AAER,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AACnC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AACzE,MAAM,IAAI,CAAC,QAAQ,CAAC;AACpB,QAAQ,MAAM,EAAE;AAChB,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,QAAQ,EAAE;AACxD,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;AAChC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ;;AAErE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAACA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;AAC1F,QAAQ,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC5B,QAAQ,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEjC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACrC,IAAI,IAAI,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;AACpE;;AAEA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;AAChD,MAAM,IAAI,CAAC,YAAY,CAAC;AACxB,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,YAAY;AACrB,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;AACzC,MAAM,CAAC,CAAC;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;AACjD,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,MAAM,MAAM,EAAE;AACd,KAAK,EAAE,YAAY;AACnB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC;;AAExD,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY;AACvD,QAAQ,MAAM,CAAC,YAAY,CAAC;AAC5B,UAAU,MAAM,EAAE;AAClB,SAAS,EAAE,YAAY;AACvB,UAAU,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;AAC3D,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,WAAW,GAAG;AAC9C,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;AAC9B,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACrC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;AAEhF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AAClC,MAAM,IAAI,CAAC,YAAY,CAAC;AACxB,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,YAAY;AACrB,QAAQ,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AACxC,MAAM,CAAC,CAAC;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AAChC,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,MAAM,MAAM,EAAE;AACd,KAAK,EAAE,YAAY;AACnB,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;;AAEvC,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY;AACxD,QAAQ,MAAM,CAAC,YAAY,CAAC;AAC5B,UAAU,MAAM,EAAE;AAClB,SAAS,EAAE,YAAY;AACvB,UAAU,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC1C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,kBAAkB,GAAG;AAC5D,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AACpC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAChC,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI;AAC9B,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;AACnE;AACA;AACA;AACA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;AACtC,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,QAAQ,EAAE;AAC9D,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,CAAC,YAAY,GAAG,UAAU,KAAK,EAAE;AACzC,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,GAAG,KAAK;AACtB,QAAQ,MAAM,CAAC,YAAY,GAAG,IAAI;AAClC,QAAQ,QAAQ,CAAC,KAAK,CAAC;AACvB,MAAM;AACN,IAAI,CAAC;;AAEL,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,YAAY;AAC3C,MAAM,MAAM,GAAG,KAAK;AACpB,IAAI,CAAC;;AAEL,IAAI,OAAO,IAAI,CAAC,YAAY;AAC5B,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE;AACtE,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AACjC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3F,IAAI,IAAI,4BAA4B,GAAG,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;;AAEpF,IAAI,IAAI,CAAC,IAAI,IAAI,4BAA4B,EAAE;AAC/C,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACtC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;AACnC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;AACtF,UAAU,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9B,UAAU,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEtC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC7D,IAAI;;AAEJ,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;AAC5C,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACpC,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;AAElC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAC9B,MAAM,OAAO,IAAI;AACjB,IAAI;;AAEJ,IAAO,IAAC,WAAW,GAAG,IAAI,CAAC,KAAK;AAChC,QAAQ,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACvC,QAAc,WAAW,CAAC,EAAE;AAC5B,QAAwB,WAAW,CAAC,YAAY;AAChD,QAAyB,WAAW,CAAC,aAAa;AAClD,QAAkB,WAAW,CAAC,MAAM;AACpC,QAAiB,WAAW,CAAC,KAAK;AAClC,QAAgB,WAAW,CAAC,IAAI;AAChC,QAAmB,WAAW,CAAC,OAAO;AACtC,QAA0B,WAAW,CAAC,cAAc;AACpD,QAAmB,WAAW,CAAC,OAAO;AACtC,QAAsB,WAAW,CAAC,UAAU;AAC5C,QAAqB,WAAW,CAAC,SAAS;AAC1C,QAAkB,WAAW,CAAC,MAAM;AACpC,QAAqB,WAAW,CAAC,SAAS;AAC1C,QAAoB,WAAW,CAAC,QAAQ;AACxC,QAAmB,WAAW,CAAC,OAAO;AACtC,YAAQ,UAAU,GAAG,6BAA6B,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;;AAE/P,IAAI;AACJ;AACA;AACA,MAAMC,cAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,EAAE;AAC3D,QAAQ,KAAK,EAAE;AACf,OAAO,EAAE,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAGA,cAAK,CAAC,YAAY,CAACA,cAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;AACtI;AACA,EAAE,CAAC;;AAEH,EAAE,OAAO,UAAU;AACnB,CAAC,CAACA,cAAK,CAAC,SAAS;;AAEjB,UAAU,CAAC,WAAW,GAAG,sBAAsB;AAC/C,UAAU,CAAC,SAAS,GAA2C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;AAC3B,IAAI,OAAO,EAAE,OAAO,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,UAAU,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACvI,MAAM,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;AAChC,MAAM,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,eAAe,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;AACvL,IAAI;AACJ,GAAG,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;;AAErG;AACA;AACA;AACA,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;;AAE9B;AACA;AACA;AACA;AACA,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;;AAExB;AACA;AACA;AACA,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;;AAEvB;AACA;AACA;AACA,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;AACnC,IAAI,IAAI,EAAE,GAAG,aAAa;AAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU;;AAEjD,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAChH,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AACtC,IAAI;;AAEJ,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC;AACtB,CAAC,CAAK,CAAC;;AAEP,SAASC,MAAI,GAAG,CAAC;;AAEjB,UAAU,CAAC,YAAY,GAAG;AAC1B,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,OAAO,EAAEA,MAAI;AACf,EAAE,UAAU,EAAEA,MAAI;AAClB,EAAE,SAAS,EAAEA,MAAI;AACjB,EAAE,MAAM,EAAEA,MAAI;AACd,EAAE,SAAS,EAAEA,MAAI;AACjB,EAAE,QAAQ,EAAEA;AACZ,CAAC;AACD,UAAU,CAAC,SAAS,GAAG,SAAS;AAChC,UAAU,CAAC,MAAM,GAAG,MAAM;AAC1B,UAAU,CAAC,QAAQ,GAAG,QAAQ;AAC9B,UAAU,CAAC,OAAO,GAAG,OAAO;AAC5B,UAAU,CAAC,OAAO,GAAG,OAAO;;;;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Transition.mjs","sources":["../../../../../../../node_modules/react-transition-group/esm/Transition.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;"],"names":["ReactDOM","React"],"mappings":";;;;;;;;;;AASU,IAAC,SAAS,GAAG;AACb,IAAC,MAAM,GAAG;AACV,IAAC,QAAQ,GAAG;AACZ,IAAC,OAAO,GAAG;AACX,IAAC,OAAO,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEG,IAAC,UAAU,gBAAgB,UAAU,gBAAgB,EAAE;AAC1D,EAAE,cAAc,CAAC,UAAU,EAAE,gBAAgB,CAAC;;AAE9C,EAAE,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE;AACtC,IAAI,IAAI,KAAK;;AAEb,IAAI,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI;AAC/D,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC;;AAE9B,IAAI,IAAI,MAAM,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACpF,IAAI,IAAI,aAAa;AACrB,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI;;AAE7B,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE;AAClB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,aAAa,GAAG,MAAM;AAC9B,QAAQ,KAAK,CAAC,YAAY,GAAG,QAAQ;AACrC,MAAM,CAAC,MAAM;AACb,QAAQ,aAAa,GAAG,OAAO;AAC/B,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,EAAE;AACrD,QAAQ,aAAa,GAAG,SAAS;AACjC,MAAM,CAAC,MAAM;AACb,QAAQ,aAAa,GAAG,MAAM;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,KAAK,CAAC,KAAK,GAAG;AAClB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI;AAC7B,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF,EAAE,UAAU,CAAC,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC3F,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE;;AAExB,IAAI,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE;AAClD,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE;AAChB,OAAO;AACP,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS;;AAEnC,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,iBAAiB,GAAG;AAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;AAC9C,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,kBAAkB,CAAC,SAAS,EAAE;AACrE,IAAI,IAAI,UAAU,GAAG,IAAI;;AAEzB,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE;AAClC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;AAEpC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;AACzB,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE;AACvD,UAAU,UAAU,GAAG,QAAQ;AAC/B,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE;AACvD,UAAU,UAAU,GAAG,OAAO;AAC9B,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC;AACxC,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,oBAAoB,GAAG,SAAS,oBAAoB,GAAG;AAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,WAAW,GAAG;AAC9C,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO;AACpC,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM;AAC3B,IAAI,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO;;AAEnC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;AACzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;AAE5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;AACpE,IAAI;;AAEJ,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE;AACpE,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC7B,MAAM,QAAQ,GAAG,KAAK;AACtB,IAAI;;AAEJ,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE;AAC7B;AACA,MAAM,IAAI,CAAC,kBAAkB,EAAE;;AAE/B,MAAM,IAAI,UAAU,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AACjE,UAAU,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClG;AACA;;AAEA,UAAU,IAAI,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;AACrC,QAAQ;;AAER,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AACnC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AACzE,MAAM,IAAI,CAAC,QAAQ,CAAC;AACpB,QAAQ,MAAM,EAAE;AAChB,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,QAAQ,EAAE;AACxD,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;AAChC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ;;AAErE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAACA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;AAC1F,QAAQ,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC5B,QAAQ,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEjC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACrC,IAAI,IAAI,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;AACpE;;AAEA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;AAChD,MAAM,IAAI,CAAC,YAAY,CAAC;AACxB,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,YAAY;AACrB,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;AACzC,MAAM,CAAC,CAAC;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;AACjD,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,MAAM,MAAM,EAAE;AACd,KAAK,EAAE,YAAY;AACnB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC;;AAExD,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY;AACvD,QAAQ,MAAM,CAAC,YAAY,CAAC;AAC5B,UAAU,MAAM,EAAE;AAClB,SAAS,EAAE,YAAY;AACvB,UAAU,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;AAC3D,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,WAAW,GAAG;AAC9C,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;AAC9B,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACrC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;AAEhF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AAClC,MAAM,IAAI,CAAC,YAAY,CAAC;AACxB,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,YAAY;AACrB,QAAQ,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AACxC,MAAM,CAAC,CAAC;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AAChC,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,MAAM,MAAM,EAAE;AACd,KAAK,EAAE,YAAY;AACnB,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;;AAEvC,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY;AACxD,QAAQ,MAAM,CAAC,YAAY,CAAC;AAC5B,UAAU,MAAM,EAAE;AAClB,SAAS,EAAE,YAAY;AACvB,UAAU,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC1C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,kBAAkB,GAAG;AAC5D,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AACpC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAChC,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI;AAC9B,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;AACnE;AACA;AACA;AACA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;AACtC,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,QAAQ,EAAE;AAC9D,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,MAAM,GAAG,IAAI;;AAErB,IAAI,IAAI,CAAC,YAAY,GAAG,UAAU,KAAK,EAAE;AACzC,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,GAAG,KAAK;AACtB,QAAQ,MAAM,CAAC,YAAY,GAAG,IAAI;AAClC,QAAQ,QAAQ,CAAC,KAAK,CAAC;AACvB,MAAM;AACN,IAAI,CAAC;;AAEL,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,YAAY;AAC3C,MAAM,MAAM,GAAG,KAAK;AACpB,IAAI,CAAC;;AAEL,IAAI,OAAO,IAAI,CAAC,YAAY;AAC5B,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE;AACtE,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AACjC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAGA,iBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3F,IAAI,IAAI,4BAA4B,GAAG,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;;AAEpF,IAAI,IAAI,CAAC,IAAI,IAAI,4BAA4B,EAAE;AAC/C,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACtC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;AACnC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;AACtF,UAAU,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9B,UAAU,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEtC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC7D,IAAI;;AAEJ,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;AAC5C,IAAI;AACJ,EAAE,CAAC;;AAEH,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACpC,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;AAElC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAC9B,MAAM,OAAO,IAAI;AACjB,IAAI;;AAEJ,IAAO,IAAC,WAAW,GAAG,IAAI,CAAC,KAAK;AAChC,QAAQ,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACvC,QAAc,WAAW,CAAC,EAAE;AAC5B,QAAwB,WAAW,CAAC,YAAY;AAChD,QAAyB,WAAW,CAAC,aAAa;AAClD,QAAkB,WAAW,CAAC,MAAM;AACpC,QAAiB,WAAW,CAAC,KAAK;AAClC,QAAgB,WAAW,CAAC,IAAI;AAChC,QAAmB,WAAW,CAAC,OAAO;AACtC,QAA0B,WAAW,CAAC,cAAc;AACpD,QAAmB,WAAW,CAAC,OAAO;AACtC,QAAsB,WAAW,CAAC,UAAU;AAC5C,QAAqB,WAAW,CAAC,SAAS;AAC1C,QAAkB,WAAW,CAAC,MAAM;AACpC,QAAqB,WAAW,CAAC,SAAS;AAC1C,QAAoB,WAAW,CAAC,QAAQ;AACxC,QAAmB,WAAW,CAAC,OAAO;AACtC,YAAQ,UAAU,GAAG,6BAA6B,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;;AAE/P,IAAI;AACJ;AACA;AACA,MAAMC,cAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,EAAE;AAC3D,QAAQ,KAAK,EAAE;AACf,OAAO,EAAE,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAGA,cAAK,CAAC,YAAY,CAACA,cAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;AACtI;AACA,EAAE,CAAC;;AAEH,EAAE,OAAO,UAAU;AACnB,CAAC,CAACA,cAAK,CAAC,SAAS;;AAEjB,UAAU,CAAC,WAAW,GAAG,sBAAsB;AAC/C,UAAU,CAAC,SAAS,GAA2C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;AAC3B,IAAI,OAAO,EAAE,OAAO,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,UAAU,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACvI,MAAM,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;AAChC,MAAM,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,eAAe,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;AACvL,IAAI;AACJ,GAAG,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;;AAErG;AACA;AACA;AACA,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;;AAE9B;AACA;AACA;AACA;AACA,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;;AAExB;AACA;AACA;AACA,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;;AAEvB;AACA;AACA;AACA,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;AACnC,IAAI,IAAI,EAAE,GAAG,aAAa;AAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU;;AAEjD,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAChH,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AACtC,IAAI;;AAEJ,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC;AACtB,CAAC,CAAK,CAAC;;AAEP,SAAS,IAAI,GAAG,CAAC;;AAEjB,UAAU,CAAC,YAAY,GAAG;AAC1B,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,QAAQ,EAAE;AACZ,CAAC;AACD,UAAU,CAAC,SAAS,GAAG,SAAS;AAChC,UAAU,CAAC,MAAM,GAAG,MAAM;AAC1B,UAAU,CAAC,QAAQ,GAAG,QAAQ;AAC9B,UAAU,CAAC,OAAO,GAAG,OAAO;AAC5B,UAAU,CAAC,OAAO,GAAG,OAAO;;;;","x_google_ignoreList":[0]}
|
|
@@ -6,7 +6,7 @@ import { sizeof, strlen } from './Utility.mjs';
|
|
|
6
6
|
* @param {function} callback
|
|
7
7
|
* @return {string}
|
|
8
8
|
*/
|
|
9
|
-
function serialize
|
|
9
|
+
function serialize (children, callback) {
|
|
10
10
|
var output = '';
|
|
11
11
|
var length = sizeof(children);
|
|
12
12
|
|
|
@@ -28,12 +28,12 @@ function stringify (element, index, children, callback) {
|
|
|
28
28
|
case LAYER: if (element.children.length) break
|
|
29
29
|
case IMPORT: case DECLARATION: return element.return = element.return || element.value
|
|
30
30
|
case COMMENT: return ''
|
|
31
|
-
case KEYFRAMES: return element.return = element.value + '{' + serialize
|
|
31
|
+
case KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'
|
|
32
32
|
case RULESET: element.value = element.props.join(',');
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
return strlen(children = serialize
|
|
35
|
+
return strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export { serialize
|
|
38
|
+
export { serialize, stringify };
|
|
39
39
|
//# sourceMappingURL=Serializer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serializer.mjs","sources":["../../../../../../../node_modules/stylis/src/Serializer.js"],"sourcesContent":["import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n"],"names":[
|
|
1
|
+
{"version":3,"file":"Serializer.mjs","sources":["../../../../../../../node_modules/stylis/src/Serializer.js"],"sourcesContent":["import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n"],"names":[],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC/C,CAAC,IAAI,MAAM,GAAG;AACd,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ;;AAE7B,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;AAChC,EAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI;;AAE5D,CAAC,OAAO;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC/D,CAAC,QAAQ,OAAO,CAAC,IAAI;AACrB,EAAE,KAAK,KAAK,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC3C,EAAE,KAAK,MAAM,CAAC,CAAC,KAAK,WAAW,EAAE,OAAO,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;AACnF,EAAE,KAAK,OAAO,EAAE,OAAO;AACvB,EAAE,KAAK,SAAS,EAAE,OAAO,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;AACxG,EAAE,KAAK,OAAO,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;AACtD;;AAEA,CAAC,OAAO,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG;AAC3H;;;;","x_google_ignoreList":[0]}
|
|
@@ -21,7 +21,7 @@ var assign = Object.assign;
|
|
|
21
21
|
* @param {number} length
|
|
22
22
|
* @return {number}
|
|
23
23
|
*/
|
|
24
|
-
function hash
|
|
24
|
+
function hash (value, length) {
|
|
25
25
|
return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -114,5 +114,5 @@ function combine (array, callback) {
|
|
|
114
114
|
return array.map(callback).join('')
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
export { abs, append, assign, charat, combine, from, hash
|
|
117
|
+
export { abs, append, assign, charat, combine, from, hash, indexof, match, replace, sizeof, strlen, substr, trim };
|
|
118
118
|
//# sourceMappingURL=Utility.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utility.mjs","sources":["../../../../../../../node_modules/stylis/src/Utility.js"],"sourcesContent":["/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n"],"names":[
|
|
1
|
+
{"version":3,"file":"Utility.mjs","sources":["../../../../../../../node_modules/stylis/src/Utility.js"],"sourcesContent":["/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACU,IAAC,GAAG,GAAG,IAAI,CAAC;;AAEtB;AACA;AACA;AACA;AACU,IAAC,IAAI,GAAG,MAAM,CAAC;;AAEzB;AACA;AACA;AACA;AACU,IAAC,MAAM,GAAG,MAAM,CAAC;;AAE3B;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AACrC,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG;AACvJ;;AAEA;AACA;AACA;AACA;AACO,SAAS,IAAI,EAAE,KAAK,EAAE;AAC7B,CAAC,OAAO,KAAK,CAAC,IAAI;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;AACvC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE;AACtD,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AACxC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AACtC,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG;AAC9B;;AAEA;AACA;AACA;AACA;AACO,SAAS,MAAM,EAAE,KAAK,EAAE;AAC/B,CAAC,OAAO,KAAK,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACO,SAAS,MAAM,EAAE,KAAK,EAAE;AAC/B,CAAC,OAAO,KAAK,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AACtC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1C,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE;AACnC;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { omitUser } from '../utils/index.mjs';
|
|
2
2
|
import { validateInDev } from '../utils/dev.mjs';
|
|
3
3
|
|
|
4
|
-
const DefaultDynamicConfig
|
|
4
|
+
const DefaultDynamicConfig = Promise.resolve({
|
|
5
5
|
siweRequiredForCryptoWallets: false
|
|
6
6
|
});
|
|
7
7
|
class HeadlessCryptoWalletClient {
|
|
@@ -12,7 +12,7 @@ class HeadlessCryptoWalletClient {
|
|
|
12
12
|
dfpProtectedAuth;
|
|
13
13
|
_config;
|
|
14
14
|
authenticate;
|
|
15
|
-
constructor(_networkClient, _apiNetworkClient, _subscriptionService, executeRecaptcha = ()=>Promise.resolve(undefined), dfpProtectedAuth, _config = DefaultDynamicConfig
|
|
15
|
+
constructor(_networkClient, _apiNetworkClient, _subscriptionService, executeRecaptcha = ()=>Promise.resolve(undefined), dfpProtectedAuth, _config = DefaultDynamicConfig){
|
|
16
16
|
this._networkClient = _networkClient;
|
|
17
17
|
this._apiNetworkClient = _apiNetworkClient;
|
|
18
18
|
this._subscriptionService = _subscriptionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadlessCryptoWalletClient.mjs","sources":["../../../../../../../core/src/HeadlessClients/HeadlessCryptoWalletClient.ts"],"sourcesContent":["import { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport {\n CryptoWalletAuthenticateOptions,\n CryptoWalletAuthenticateResponse,\n CryptoWalletAuthenticateStartOptions,\n CryptoWalletAuthenticateStartResponse,\n IHeadlessCryptoWalletClient,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n siweRequiredForCryptoWallets: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n siweRequiredForCryptoWallets: false,\n});\n\nexport class HeadlessCryptoWalletClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessCryptoWalletClient<TProjectConfiguration>\n{\n authenticate: (\n options: CryptoWalletAuthenticateOptions,\n ) => Promise<CryptoWalletAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _apiNetworkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private executeRecaptcha: () => Promise<string | undefined> = () => Promise.resolve(undefined),\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n private _config: DynamicConfig = DefaultDynamicConfig,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (\n options: CryptoWalletAuthenticateOptions,\n ): Promise<CryptoWalletAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.cryptoWallets.authenticate', options, {\n signature: 'string',\n crypto_wallet_address: 'string',\n crypto_wallet_type: 'string',\n session_duration_minutes: 'number',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._apiNetworkClient.retriableFetchSDK<\n WithUser<CryptoWalletAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/crypto_wallets/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n signature: options.signature,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n async authenticateStart(\n options: CryptoWalletAuthenticateStartOptions,\n ): Promise<CryptoWalletAuthenticateStartResponse> {\n validateInDev('stytch.cryptoWallets.authenticateStart', options, {\n crypto_wallet_address: 'string',\n crypto_wallet_type: 'string',\n });\n if (options.siwe_params) {\n validateInDev('stytch.cryptoWallets.authenticateStart', options.siwe_params, {\n uri: 'optionalString',\n chain_id: 'optionalString',\n issued_at: 'optionalString',\n statement: 'optionalString',\n not_before: 'optionalString',\n message_request_id: 'optionalString',\n resources: 'optionalStringArray',\n });\n }\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n const captcha_token = await this.executeRecaptcha();\n const { siweRequiredForCryptoWallets } = await this._config;\n\n const body: CryptoWalletAuthenticateStartOptions = {\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n };\n if (siweRequiredForCryptoWallets && options.crypto_wallet_type == 'ethereum') {\n body.siwe_params = { ...options.siwe_params, uri: options.siwe_params?.uri || window.location.origin };\n }\n\n const endpoint = isLoggedIn\n ? '/crypto_wallets/authenticate/start/secondary'\n : '/crypto_wallets/authenticate/start/primary';\n\n const requestBody = {\n ...body,\n captcha_token,\n };\n return this._apiNetworkClient.fetchSDK<CryptoWalletAuthenticateStartResponse>({\n url: endpoint,\n method: 'POST',\n body: requestBody,\n });\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","siweRequiredForCryptoWallets","HeadlessCryptoWalletClient","authenticate","_networkClient","_apiNetworkClient","_subscriptionService","executeRecaptcha","undefined","dfpProtectedAuth","_config","withUpdateSession","options","validateInDev","signature","crypto_wallet_address","crypto_wallet_type","session_duration_minutes","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","resp","retriableFetchSDK","url","method","body","retryCallback","retryWithCaptchaAndDFP","omitUser","authenticateStart","siwe_params","uri","chain_id","issued_at","statement","not_before","message_request_id","resources","isLoggedIn","getSession","window","location","origin","endpoint","requestBody","fetchSDK"],"mappings":";;;AAgBA,MAAMA,
|
|
1
|
+
{"version":3,"file":"HeadlessCryptoWalletClient.mjs","sources":["../../../../../../../core/src/HeadlessClients/HeadlessCryptoWalletClient.ts"],"sourcesContent":["import { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport {\n CryptoWalletAuthenticateOptions,\n CryptoWalletAuthenticateResponse,\n CryptoWalletAuthenticateStartOptions,\n CryptoWalletAuthenticateStartResponse,\n IHeadlessCryptoWalletClient,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n siweRequiredForCryptoWallets: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n siweRequiredForCryptoWallets: false,\n});\n\nexport class HeadlessCryptoWalletClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessCryptoWalletClient<TProjectConfiguration>\n{\n authenticate: (\n options: CryptoWalletAuthenticateOptions,\n ) => Promise<CryptoWalletAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _apiNetworkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private executeRecaptcha: () => Promise<string | undefined> = () => Promise.resolve(undefined),\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n private _config: DynamicConfig = DefaultDynamicConfig,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (\n options: CryptoWalletAuthenticateOptions,\n ): Promise<CryptoWalletAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.cryptoWallets.authenticate', options, {\n signature: 'string',\n crypto_wallet_address: 'string',\n crypto_wallet_type: 'string',\n session_duration_minutes: 'number',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._apiNetworkClient.retriableFetchSDK<\n WithUser<CryptoWalletAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/crypto_wallets/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n signature: options.signature,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n async authenticateStart(\n options: CryptoWalletAuthenticateStartOptions,\n ): Promise<CryptoWalletAuthenticateStartResponse> {\n validateInDev('stytch.cryptoWallets.authenticateStart', options, {\n crypto_wallet_address: 'string',\n crypto_wallet_type: 'string',\n });\n if (options.siwe_params) {\n validateInDev('stytch.cryptoWallets.authenticateStart', options.siwe_params, {\n uri: 'optionalString',\n chain_id: 'optionalString',\n issued_at: 'optionalString',\n statement: 'optionalString',\n not_before: 'optionalString',\n message_request_id: 'optionalString',\n resources: 'optionalStringArray',\n });\n }\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n const captcha_token = await this.executeRecaptcha();\n const { siweRequiredForCryptoWallets } = await this._config;\n\n const body: CryptoWalletAuthenticateStartOptions = {\n crypto_wallet_address: options.crypto_wallet_address,\n crypto_wallet_type: options.crypto_wallet_type,\n };\n if (siweRequiredForCryptoWallets && options.crypto_wallet_type == 'ethereum') {\n body.siwe_params = { ...options.siwe_params, uri: options.siwe_params?.uri || window.location.origin };\n }\n\n const endpoint = isLoggedIn\n ? '/crypto_wallets/authenticate/start/secondary'\n : '/crypto_wallets/authenticate/start/primary';\n\n const requestBody = {\n ...body,\n captcha_token,\n };\n return this._apiNetworkClient.fetchSDK<CryptoWalletAuthenticateStartResponse>({\n url: endpoint,\n method: 'POST',\n body: requestBody,\n });\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","siweRequiredForCryptoWallets","HeadlessCryptoWalletClient","authenticate","_networkClient","_apiNetworkClient","_subscriptionService","executeRecaptcha","undefined","dfpProtectedAuth","_config","withUpdateSession","options","validateInDev","signature","crypto_wallet_address","crypto_wallet_type","session_duration_minutes","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","resp","retriableFetchSDK","url","method","body","retryCallback","retryWithCaptchaAndDFP","omitUser","authenticateStart","siwe_params","uri","chain_id","issued_at","statement","not_before","message_request_id","resources","isLoggedIn","getSession","window","location","origin","endpoint","requestBody","fetchSDK"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { omitUser } from '../utils/index.mjs';
|
|
2
2
|
import { validateInDev } from '../utils/dev.mjs';
|
|
3
3
|
|
|
4
|
-
const DefaultDynamicConfig
|
|
4
|
+
const DefaultDynamicConfig = Promise.resolve({
|
|
5
5
|
pkceRequiredForEmailMagicLinks: false
|
|
6
6
|
});
|
|
7
7
|
class HeadlessMagicLinksClient {
|
|
@@ -13,7 +13,7 @@ class HeadlessMagicLinksClient {
|
|
|
13
13
|
dfpProtectedAuth;
|
|
14
14
|
email;
|
|
15
15
|
authenticate;
|
|
16
|
-
constructor(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager, _config = DefaultDynamicConfig
|
|
16
|
+
constructor(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager, _config = DefaultDynamicConfig, dfpProtectedAuth){
|
|
17
17
|
this._networkClient = _networkClient;
|
|
18
18
|
this._subscriptionService = _subscriptionService;
|
|
19
19
|
this._pkceManager = _pkceManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadlessMagicLinkClient.mjs","sources":["../../../../../../../core/src/HeadlessClients/HeadlessMagicLinkClient.ts"],"sourcesContent":["import { IConsumerSubscriptionService } from '..';\nimport { IDFPProtectedAuthProvider } from '../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../NetworkClient';\nimport { IPKCEManager } from '../PKCEManager';\nimport {\n IHeadlessMagicLinksClient,\n MagicLinksAuthenticateOptions,\n MagicLinksAuthenticateResponse,\n MagicLinksLoginOrCreateOptions,\n MagicLinksLoginOrCreateResponse,\n MagicLinksSendOptions,\n MagicLinksSendResponse,\n ResponseCommon,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n pkceRequiredForEmailMagicLinks: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false,\n});\n\nexport class HeadlessMagicLinksClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessMagicLinksClient<TProjectConfiguration>\n{\n email: {\n loginOrCreate: (email: string, options?: MagicLinksLoginOrCreateOptions) => Promise<ResponseCommon>;\n send: (email: string, options?: MagicLinksSendOptions) => Promise<ResponseCommon>;\n };\n\n authenticate: (\n token: string,\n options: MagicLinksAuthenticateOptions,\n ) => Promise<MagicLinksAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _passwordResetPKCEManager: IPKCEManager,\n private _config: DynamicConfig = DefaultDynamicConfig,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.email = {\n loginOrCreate: async (email: string, options: MagicLinksLoginOrCreateOptions = {}): Promise<ResponseCommon> => {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n\n let code_challenge: string | undefined = undefined;\n if (pkceRequiredForEmailMagicLinks) {\n code_challenge = await this.getCodeChallenge();\n }\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = {\n ...options,\n email,\n code_challenge,\n captcha_token,\n dfp_telemetry_id,\n };\n return this._networkClient.retriableFetchSDK<MagicLinksLoginOrCreateResponse>({\n url: '/magic_links/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n\n send: async (email: string, options: MagicLinksSendOptions = {}): Promise<ResponseCommon> => {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n\n let code_challenge: string | undefined = undefined;\n if (pkceRequiredForEmailMagicLinks) {\n code_challenge = await this.getCodeChallenge();\n }\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = {\n ...options,\n email,\n code_challenge,\n captcha_token,\n dfp_telemetry_id,\n };\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/magic_links/email/send/secondary' : '/magic_links/email/send/primary';\n\n return this._networkClient.retriableFetchSDK<MagicLinksSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (token: string, options: MagicLinksAuthenticateOptions) => {\n validateInDev(\n 'stytch.magicLinks.authenticate',\n { token, ...options },\n {\n token: 'string',\n session_duration_minutes: 'number',\n },\n );\n\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n const passwordResetPKPair = await this._passwordResetPKCEManager.getPKPair();\n\n let resp: WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>> | null = null;\n\n if (passwordResetPKPair?.code_verifier) {\n try {\n resp = await this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, { token, ...options });\n } catch (e) {\n if ((e as Error).message.includes('pkce')) {\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log(\n 'Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.',\n );\n } else {\n throw e;\n }\n }\n }\n\n if (!resp) {\n resp = await this.handlePKCEForAuthenticate(this._pkceManager, { token, ...options });\n }\n\n return omitUser(resp);\n },\n );\n }\n\n private async getCodeChallenge(): Promise<string> {\n let keyPair = await this._pkceManager.getPKPair();\n if (keyPair) {\n return keyPair.code_challenge;\n }\n keyPair = await this._pkceManager.startPKCETransaction();\n return keyPair.code_challenge;\n }\n\n private async handlePKCEForAuthenticate(\n pkceManager: IPKCEManager,\n data: MagicLinksAuthenticateOptions & { token: string },\n ): Promise<WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>>> {\n const pkPair = await pkceManager.getPKPair();\n\n const requestBody = {\n code_verifier: pkPair?.code_verifier,\n ...data,\n };\n\n const resp = await this._networkClient.fetchSDK<WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>>>({\n url: '/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n });\n\n pkceManager.clearPKPair();\n\n return resp;\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","pkceRequiredForEmailMagicLinks","HeadlessMagicLinksClient","email","authenticate","_config","dfpProtectedAuth","_networkClient","_subscriptionService","_pkceManager","_passwordResetPKCEManager","loginOrCreate","options","code_challenge","undefined","getCodeChallenge","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","requestBody","retriableFetchSDK","url","body","method","retryCallback","retryWithCaptchaAndDFP","send","isLoggedIn","getSession","endpoint","withUpdateSession","token","validateInDev","session_duration_minutes","passwordResetPKPair","getPKPair","resp","code_verifier","handlePKCEForAuthenticate","e","message","includes","console","log","omitUser","keyPair","startPKCETransaction","pkceManager","data","pkPair","fetchSDK","clearPKPair"],"mappings":";;;AAsBA,MAAMA,sBAAAA,GAAuBC,OAAAA,CAAQC,OAAO,CAAC;IAC3CC,8BAAAA,EAAgC;AAClC,CAAA,CAAA;AAEO,MAAMC,wBAAAA,CAAAA;;;;;;;IAGXC,KAAAA;IAKAC,YAAAA;AAKA,IAAA,WAAA,CACE,cAAsC,EACtC,oBAAiF,EACjF,YAAkC,EAClC,yBAA+C,EAC/C,OAAQC,GAAyBP,sBAAoB,EAC7CQ,gBAA2C,CACnD;aANQC,cAAAA,GAAAA,cAAAA;aACAC,oBAAAA,GAAAA,oBAAAA;aACAC,YAAAA,GAAAA,YAAAA;aACAC,yBAAAA,GAAAA,yBAAAA;aACAL,OAAAA,GAAAA,OAAAA;aACAC,gBAAAA,GAAAA,gBAAAA;QAER,IAAI,CAACH,KAAK,GAAG;AACXQ,YAAAA,aAAAA,EAAe,OAAOR,KAAAA,EAAeS,OAAAA,GAA0C,EAAE,GAAA;AAC/E,gBAAA,MAAM,EAAEX,8BAA8B,EAAE,GAAG,MAAM,IAAI,CAACI,OAAO;AAE7D,gBAAA,IAAIQ,cAAAA,GAAqCC,SAAAA;AACzC,gBAAA,IAAIb,8BAAAA,EAAgC;oBAClCY,cAAAA,GAAiB,MAAM,IAAI,CAACE,gBAAgB,EAAA;AAC9C,gBAAA;gBAEA,MAAM,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAG,MAAM,IAAI,CAACX,gBAAgB,CAACY,2BAA2B,EAAA;AACnG,gBAAA,MAAMC,WAAAA,GAAc;AAClB,oBAAA,GAAGP,OAAO;AACVT,oBAAAA,KAAAA;AACAU,oBAAAA,cAAAA;AACAI,oBAAAA,aAAAA;AACAD,oBAAAA;AACF,iBAAA;AACA,gBAAA,OAAO,IAAI,CAACT,cAAc,CAACa,iBAAiB,CAAkC;oBAC5EC,GAAAA,EAAK,oCAAA;oBACLC,IAAAA,EAAMH,WAAAA;oBACNI,MAAAA,EAAQ,MAAA;AACRC,oBAAAA,aAAAA,EAAe,IAAI,CAAClB,gBAAgB,CAACmB;AACvC,iBAAA,CAAA;AACF,YAAA,CAAA;AAEAC,YAAAA,IAAAA,EAAM,OAAOvB,KAAAA,EAAeS,OAAAA,GAAiC,EAAE,GAAA;AAC7D,gBAAA,MAAM,EAAEX,8BAA8B,EAAE,GAAG,MAAM,IAAI,CAACI,OAAO;AAE7D,gBAAA,IAAIQ,cAAAA,GAAqCC,SAAAA;AACzC,gBAAA,IAAIb,8BAAAA,EAAgC;oBAClCY,cAAAA,GAAiB,MAAM,IAAI,CAACE,gBAAgB,EAAA;AAC9C,gBAAA;gBACA,MAAM,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAG,MAAM,IAAI,CAACX,gBAAgB,CAACY,2BAA2B,EAAA;AACnG,gBAAA,MAAMC,WAAAA,GAAc;AAClB,oBAAA,GAAGP,OAAO;AACVT,oBAAAA,KAAAA;AACAU,oBAAAA,cAAAA;AACAI,oBAAAA,aAAAA;AACAD,oBAAAA;AACF,iBAAA;AACA,gBAAA,MAAMW,aAAa,CAAC,CAAC,IAAI,CAACnB,oBAAoB,CAACoB,UAAU,EAAA;gBAEzD,MAAMC,QAAAA,GAAWF,aAAa,mCAAA,GAAsC,iCAAA;AAEpE,gBAAA,OAAO,IAAI,CAACpB,cAAc,CAACa,iBAAiB,CAAyB;oBACnEC,GAAAA,EAAKQ,QAAAA;oBACLP,IAAAA,EAAMH,WAAAA;oBACNI,MAAAA,EAAQ,MAAA;AACRC,oBAAAA,aAAAA,EAAe,IAAI,CAAClB,gBAAgB,CAACmB;AACvC,iBAAA,CAAA;AACF,YAAA;AACF,SAAA;QAEA,IAAI,CAACrB,YAAY,GAAG,IAAI,CAACI,oBAAoB,CAACsB,iBAAiB,CAC7D,OAAOC,KAAAA,EAAenB,OAAAA,GAAAA;AACpBoB,YAAAA,aAAAA,CACE,gCAAA,EACA;AAAED,gBAAAA,KAAAA;AAAO,gBAAA,GAAGnB;aAAQ,EACpB;gBACEmB,KAAAA,EAAO,QAAA;gBACPE,wBAAAA,EAA0B;AAC5B,aAAA,CAAA;;;;;;;AASF,YAAA,MAAMC,sBAAsB,MAAM,IAAI,CAACxB,yBAAyB,CAACyB,SAAS,EAAA;AAE1E,YAAA,IAAIC,IAAAA,GAA+E,IAAA;AAEnF,YAAA,IAAIF,qBAAqBG,aAAAA,EAAe;gBACtC,IAAI;oBACFD,IAAAA,GAAO,MAAM,IAAI,CAACE,yBAAyB,CAAC,IAAI,CAAC5B,yBAAyB,EAAE;AAAEqB,wBAAAA,KAAAA;AAAO,wBAAA,GAAGnB;AAAQ,qBAAA,CAAA;AAClG,gBAAA,CAAA,CAAE,OAAO2B,CAAAA,EAAG;AACV,oBAAA,IAAI,CAACA,CAAYC,OAAO,CAACC,QAAQ,CAAC,MAAA,CAAA,EAAS;;;AAGzCC,wBAAAA,OAAAA,CAAQC,GAAG,CACT,6GAAA,CAAA;oBAEJ,CAAA,MAAO;wBACL,MAAMJ,CAAAA;AACR,oBAAA;AACF,gBAAA;AACF,YAAA;AAEA,YAAA,IAAI,CAACH,IAAAA,EAAM;gBACTA,IAAAA,GAAO,MAAM,IAAI,CAACE,yBAAyB,CAAC,IAAI,CAAC7B,YAAY,EAAE;AAAEsB,oBAAAA,KAAAA;AAAO,oBAAA,GAAGnB;AAAQ,iBAAA,CAAA;AACrF,YAAA;AAEA,YAAA,OAAOgC,QAAAA,CAASR,IAAAA,CAAAA;AAClB,QAAA,CAAA,CAAA;AAEJ,IAAA;AAEA,IAAA,MAAcrB,gBAAAA,GAAoC;AAChD,QAAA,IAAI8B,UAAU,MAAM,IAAI,CAACpC,YAAY,CAAC0B,SAAS,EAAA;AAC/C,QAAA,IAAIU,OAAAA,EAAS;AACX,YAAA,OAAOA,QAAQhC,cAAc;AAC/B,QAAA;AACAgC,QAAAA,OAAAA,GAAU,MAAM,IAAI,CAACpC,YAAY,CAACqC,oBAAoB,EAAA;AACtD,QAAA,OAAOD,QAAQhC,cAAc;AAC/B,IAAA;AAEA,IAAA,MAAcyB,yBAAAA,CACZS,WAAyB,EACzBC,IAAuD,EACmB;QAC1E,MAAMC,MAAAA,GAAS,MAAMF,WAAAA,CAAYZ,SAAS,EAAA;AAE1C,QAAA,MAAMhB,WAAAA,GAAc;AAClBkB,YAAAA,aAAAA,EAAeY,MAAAA,EAAQZ,aAAAA;AACvB,YAAA,GAAGW;AACL,SAAA;AAEA,QAAA,MAAMZ,OAAO,MAAM,IAAI,CAAC7B,cAAc,CAAC2C,QAAQ,CAAkE;YAC/G7B,GAAAA,EAAK,2BAAA;YACLC,IAAAA,EAAMH,WAAAA;YACNI,MAAAA,EAAQ;AACV,SAAA,CAAA;AAEAwB,QAAAA,WAAAA,CAAYI,WAAW,EAAA;QAEvB,OAAOf,IAAAA;AACT,IAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"HeadlessMagicLinkClient.mjs","sources":["../../../../../../../core/src/HeadlessClients/HeadlessMagicLinkClient.ts"],"sourcesContent":["import { IConsumerSubscriptionService } from '..';\nimport { IDFPProtectedAuthProvider } from '../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../NetworkClient';\nimport { IPKCEManager } from '../PKCEManager';\nimport {\n IHeadlessMagicLinksClient,\n MagicLinksAuthenticateOptions,\n MagicLinksAuthenticateResponse,\n MagicLinksLoginOrCreateOptions,\n MagicLinksLoginOrCreateResponse,\n MagicLinksSendOptions,\n MagicLinksSendResponse,\n ResponseCommon,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n pkceRequiredForEmailMagicLinks: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false,\n});\n\nexport class HeadlessMagicLinksClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessMagicLinksClient<TProjectConfiguration>\n{\n email: {\n loginOrCreate: (email: string, options?: MagicLinksLoginOrCreateOptions) => Promise<ResponseCommon>;\n send: (email: string, options?: MagicLinksSendOptions) => Promise<ResponseCommon>;\n };\n\n authenticate: (\n token: string,\n options: MagicLinksAuthenticateOptions,\n ) => Promise<MagicLinksAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _passwordResetPKCEManager: IPKCEManager,\n private _config: DynamicConfig = DefaultDynamicConfig,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.email = {\n loginOrCreate: async (email: string, options: MagicLinksLoginOrCreateOptions = {}): Promise<ResponseCommon> => {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n\n let code_challenge: string | undefined = undefined;\n if (pkceRequiredForEmailMagicLinks) {\n code_challenge = await this.getCodeChallenge();\n }\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = {\n ...options,\n email,\n code_challenge,\n captcha_token,\n dfp_telemetry_id,\n };\n return this._networkClient.retriableFetchSDK<MagicLinksLoginOrCreateResponse>({\n url: '/magic_links/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n\n send: async (email: string, options: MagicLinksSendOptions = {}): Promise<ResponseCommon> => {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n\n let code_challenge: string | undefined = undefined;\n if (pkceRequiredForEmailMagicLinks) {\n code_challenge = await this.getCodeChallenge();\n }\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = {\n ...options,\n email,\n code_challenge,\n captcha_token,\n dfp_telemetry_id,\n };\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/magic_links/email/send/secondary' : '/magic_links/email/send/primary';\n\n return this._networkClient.retriableFetchSDK<MagicLinksSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (token: string, options: MagicLinksAuthenticateOptions) => {\n validateInDev(\n 'stytch.magicLinks.authenticate',\n { token, ...options },\n {\n token: 'string',\n session_duration_minutes: 'number',\n },\n );\n\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n const passwordResetPKPair = await this._passwordResetPKCEManager.getPKPair();\n\n let resp: WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>> | null = null;\n\n if (passwordResetPKPair?.code_verifier) {\n try {\n resp = await this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, { token, ...options });\n } catch (e) {\n if ((e as Error).message.includes('pkce')) {\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log(\n 'Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.',\n );\n } else {\n throw e;\n }\n }\n }\n\n if (!resp) {\n resp = await this.handlePKCEForAuthenticate(this._pkceManager, { token, ...options });\n }\n\n return omitUser(resp);\n },\n );\n }\n\n private async getCodeChallenge(): Promise<string> {\n let keyPair = await this._pkceManager.getPKPair();\n if (keyPair) {\n return keyPair.code_challenge;\n }\n keyPair = await this._pkceManager.startPKCETransaction();\n return keyPair.code_challenge;\n }\n\n private async handlePKCEForAuthenticate(\n pkceManager: IPKCEManager,\n data: MagicLinksAuthenticateOptions & { token: string },\n ): Promise<WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>>> {\n const pkPair = await pkceManager.getPKPair();\n\n const requestBody = {\n code_verifier: pkPair?.code_verifier,\n ...data,\n };\n\n const resp = await this._networkClient.fetchSDK<WithUser<MagicLinksAuthenticateResponse<TProjectConfiguration>>>({\n url: '/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n });\n\n pkceManager.clearPKPair();\n\n return resp;\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","pkceRequiredForEmailMagicLinks","HeadlessMagicLinksClient","email","authenticate","_config","dfpProtectedAuth","_networkClient","_subscriptionService","_pkceManager","_passwordResetPKCEManager","loginOrCreate","options","code_challenge","undefined","getCodeChallenge","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","requestBody","retriableFetchSDK","url","body","method","retryCallback","retryWithCaptchaAndDFP","send","isLoggedIn","getSession","endpoint","withUpdateSession","token","validateInDev","session_duration_minutes","passwordResetPKPair","getPKPair","resp","code_verifier","handlePKCEForAuthenticate","e","message","includes","console","log","omitUser","keyPair","startPKCETransaction","pkceManager","data","pkPair","fetchSDK","clearPKPair"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DisabledDFPProtectedAuthProvider } from '../../DFPProtectedAuthProvider.mjs';
|
|
2
2
|
import { validateInDev } from '../../utils/dev.mjs';
|
|
3
3
|
|
|
4
|
-
const DefaultDynamicConfig
|
|
4
|
+
const DefaultDynamicConfig = Promise.resolve({
|
|
5
5
|
pkceRequiredForEmailMagicLinks: false
|
|
6
6
|
});
|
|
7
7
|
class HeadlessB2BMagicLinksClient {
|
|
@@ -14,7 +14,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
14
14
|
email;
|
|
15
15
|
authenticate;
|
|
16
16
|
discovery;
|
|
17
|
-
constructor(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager, _config = DefaultDynamicConfig
|
|
17
|
+
constructor(_networkClient, _subscriptionService, _pkceManager, _passwordResetPKCEManager, _config = DefaultDynamicConfig, dfpProtectedAuth = DisabledDFPProtectedAuthProvider()){
|
|
18
18
|
this._networkClient = _networkClient;
|
|
19
19
|
this._subscriptionService = _subscriptionService;
|
|
20
20
|
this._pkceManager = _pkceManager;
|
package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadlessB2BMagicLinkClient.mjs","sources":["../../../../../../../../core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.ts"],"sourcesContent":["import { DisabledDFPProtectedAuthProvider, IDFPProtectedAuthProvider } from '../../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../../NetworkClient';\nimport { IPKCEManager } from '../../PKCEManager';\nimport {\n B2BMagicLinksInviteOptions,\n B2BMagicLinksInviteResponse,\n ResponseCommon,\n StytchProjectConfigurationInput,\n} from '../../public';\nimport {\n B2BMagicLinkLoginOrSignupOptions,\n B2BMagicLinkLoginOrSignupResponse,\n B2BMagicLinksAuthenticateOptions,\n B2BMagicLinksAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateOptions,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BMagicLinksEmailDiscoverySendOptions,\n B2BMagicLinksEmailDiscoverySendResponse,\n IHeadlessB2BMagicLinksClient,\n} from '../../public/b2b/magicLinks';\nimport { IB2BSubscriptionService } from '../../SubscriptionService';\nimport { validateInDev } from '../../utils/dev';\n\ntype DynamicConfig = Promise<{\n pkceRequiredForEmailMagicLinks: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false,\n});\n\nexport class HeadlessB2BMagicLinksClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessB2BMagicLinksClient<TProjectConfiguration>\n{\n email: {\n invite: (data: B2BMagicLinksInviteOptions) => Promise<B2BMagicLinksInviteResponse>;\n loginOrSignup: (data: B2BMagicLinkLoginOrSignupOptions) => Promise<ResponseCommon>;\n discovery: {\n send: (data: B2BMagicLinksEmailDiscoverySendOptions) => Promise<B2BMagicLinksEmailDiscoverySendResponse>;\n };\n };\n\n authenticate: (\n data: B2BMagicLinksAuthenticateOptions,\n ) => Promise<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>>;\n\n discovery: {\n authenticate: (\n data: B2BMagicLinksDiscoveryAuthenticateOptions,\n ) => Promise<B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>>;\n };\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IB2BSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _passwordResetPKCEManager: IPKCEManager,\n private _config: DynamicConfig = DefaultDynamicConfig,\n private dfpProtectedAuth: IDFPProtectedAuthProvider = DisabledDFPProtectedAuthProvider(),\n ) {\n this.email = {\n invite: async (data: B2BMagicLinksInviteOptions): Promise<B2BMagicLinksInviteResponse> => {\n validateInDev('stytch.magicLinks.email.invite', data, {\n email_address: 'string',\n invite_redirect_url: 'optionalString',\n invite_template_id: 'optionalString',\n name: 'optionalString',\n locale: 'optionalString',\n roles: 'optionalStringArray',\n invite_expiration_minutes: 'optionalNumber',\n });\n\n return this._networkClient.fetchSDK<B2BMagicLinksInviteResponse>({\n url: '/b2b/magic_links/email/invite',\n body: data,\n method: 'POST',\n });\n },\n loginOrSignup: async (data: B2BMagicLinkLoginOrSignupOptions): Promise<ResponseCommon> => {\n validateInDev('stytch.magicLinks.email.loginOrSignup', data, {\n email_address: 'string',\n organization_id: 'string',\n login_redirect_url: 'optionalString',\n login_template_id: 'optionalString',\n signup_redirect_url: 'optionalString',\n signup_template_id: 'optionalString',\n locale: 'optionalString',\n login_expiration_minutes: 'optionalNumber',\n signup_expiration_minutes: 'optionalNumber',\n });\n\n const pkce_code_challenge = await this.getCodeChallenge();\n const requestBody = {\n ...data,\n pkce_code_challenge,\n };\n return this._networkClient.fetchSDK<B2BMagicLinkLoginOrSignupResponse>({\n url: '/b2b/magic_links/email/login_or_signup',\n body: requestBody,\n method: 'POST',\n });\n },\n discovery: {\n send: async (\n data: B2BMagicLinksEmailDiscoverySendOptions,\n ): Promise<B2BMagicLinksEmailDiscoverySendResponse> => {\n validateInDev('stytch.magicLinks.email.discovery.send', data, {\n email_address: 'string',\n discovery_redirect_url: 'optionalString',\n login_template_id: 'optionalString',\n locale: 'optionalString',\n discovery_expiration_minutes: 'optionalNumber',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const pkce_code_challenge = await this.getCodeChallenge();\n const requestBody = {\n ...data,\n pkce_code_challenge,\n dfp_telemetry_id,\n captcha_token,\n };\n return this._networkClient.retriableFetchSDK<B2BMagicLinksEmailDiscoverySendResponse>({\n url: '/b2b/magic_links/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n },\n };\n\n this.authenticate = this._subscriptionService.withUpdateSession(async (data: B2BMagicLinksAuthenticateOptions) => {\n validateInDev('stytch.magicLinks.authenticate', data, {\n magic_links_token: 'string',\n session_duration_minutes: 'number',\n locale: 'optionalString',\n });\n\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n const passwordResetPKPair = await this._passwordResetPKCEManager.getPKPair();\n\n let resp: B2BMagicLinksAuthenticateResponse<TProjectConfiguration> | null = null;\n\n if (passwordResetPKPair?.code_verifier) {\n try {\n resp = await this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, data);\n } catch (e) {\n if ((e as Error).message.includes('pkce')) {\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log(\n 'Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.',\n );\n } else {\n throw e;\n }\n }\n }\n\n if (!resp) {\n resp = await this.handlePKCEForAuthenticate(this._pkceManager, data);\n }\n\n return resp;\n });\n\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(\n async (\n data: B2BMagicLinksDiscoveryAuthenticateOptions,\n ): Promise<B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.magicLinks.discovery.authenticate', data, {\n discovery_magic_links_token: 'string',\n });\n\n const pkPair = await this._pkceManager.getPKPair();\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n pkce_code_verifier: pkPair?.code_verifier,\n dfp_telemetry_id,\n captcha_token,\n ...data,\n };\n const resp = await this._networkClient.retriableFetchSDK<\n B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>\n >({\n url: '/b2b/magic_links/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n this._pkceManager.clearPKPair();\n\n return resp;\n },\n ),\n };\n }\n\n private async getCodeChallenge(): Promise<string | undefined> {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n if (!pkceRequiredForEmailMagicLinks) {\n return undefined;\n }\n let keyPair = await this._pkceManager.getPKPair();\n if (keyPair) {\n return keyPair.code_challenge;\n }\n keyPair = await this._pkceManager.startPKCETransaction();\n return keyPair.code_challenge;\n }\n\n private async handlePKCEForAuthenticate(\n pkceManager: IPKCEManager,\n data: B2BMagicLinksAuthenticateOptions,\n ): Promise<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>> {\n const pkPair = await pkceManager.getPKPair();\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n pkce_code_verifier: pkPair?.code_verifier,\n dfp_telemetry_id,\n captcha_token,\n intermediate_session_token: (await this._subscriptionService.getIntermediateSessionToken()) || undefined,\n ...data,\n };\n const resp = await this._networkClient.retriableFetchSDK<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>>({\n url: '/b2b/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n pkceManager.clearPKPair();\n\n return resp;\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","pkceRequiredForEmailMagicLinks","HeadlessB2BMagicLinksClient","email","authenticate","discovery","_config","dfpProtectedAuth","DisabledDFPProtectedAuthProvider","_networkClient","_subscriptionService","_pkceManager","_passwordResetPKCEManager","invite","data","validateInDev","email_address","invite_redirect_url","invite_template_id","name","locale","roles","invite_expiration_minutes","fetchSDK","url","body","method","loginOrSignup","organization_id","login_redirect_url","login_template_id","signup_redirect_url","signup_template_id","login_expiration_minutes","signup_expiration_minutes","pkce_code_challenge","getCodeChallenge","requestBody","send","discovery_redirect_url","discovery_expiration_minutes","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","retriableFetchSDK","retryCallback","retryWithCaptchaAndDFP","withUpdateSession","magic_links_token","session_duration_minutes","passwordResetPKPair","getPKPair","resp","code_verifier","handlePKCEForAuthenticate","e","message","includes","console","log","discovery_magic_links_token","pkPair","pkce_code_verifier","clearPKPair","undefined","keyPair","code_challenge","startPKCETransaction","pkceManager","intermediate_session_token","getIntermediateSessionToken"],"mappings":";;;AA2BA,MAAMA,sBAAAA,GAAuBC,OAAAA,CAAQC,OAAO,CAAC;IAC3CC,8BAAAA,EAAgC;AAClC,CAAA,CAAA;AAEO,MAAMC,2BAAAA,CAAAA;;;;;;;IAGXC,KAAAA;IAQAC,YAAAA;IAIAC,SAAAA;AAMA,IAAA,WAAA,CACE,cAAsC,EACtC,oBAA4E,EAC5E,YAAkC,EAClC,yBAA+C,EAC/C,OAAQC,GAAyBR,sBAAoB,EACrD,gBAAQS,GAA8CC,kCAAkC,CACxF;aANQC,cAAAA,GAAAA,cAAAA;aACAC,oBAAAA,GAAAA,oBAAAA;aACAC,YAAAA,GAAAA,YAAAA;aACAC,yBAAAA,GAAAA,yBAAAA;aACAN,OAAAA,GAAAA,OAAAA;aACAC,gBAAAA,GAAAA,gBAAAA;QAER,IAAI,CAACJ,KAAK,GAAG;AACXU,YAAAA,MAAAA,EAAQ,OAAOC,IAAAA,GAAAA;AACbC,gBAAAA,aAAAA,CAAc,kCAAkCD,IAAAA,EAAM;oBACpDE,aAAAA,EAAe,QAAA;oBACfC,mBAAAA,EAAqB,gBAAA;oBACrBC,kBAAAA,EAAoB,gBAAA;oBACpBC,IAAAA,EAAM,gBAAA;oBACNC,MAAAA,EAAQ,gBAAA;oBACRC,KAAAA,EAAO,qBAAA;oBACPC,yBAAAA,EAA2B;AAC7B,iBAAA,CAAA;AAEA,gBAAA,OAAO,IAAI,CAACb,cAAc,CAACc,QAAQ,CAA8B;oBAC/DC,GAAAA,EAAK,+BAAA;oBACLC,IAAAA,EAAMX,IAAAA;oBACNY,MAAAA,EAAQ;AACV,iBAAA,CAAA;AACF,YAAA,CAAA;AACAC,YAAAA,aAAAA,EAAe,OAAOb,IAAAA,GAAAA;AACpBC,gBAAAA,aAAAA,CAAc,yCAAyCD,IAAAA,EAAM;oBAC3DE,aAAAA,EAAe,QAAA;oBACfY,eAAAA,EAAiB,QAAA;oBACjBC,kBAAAA,EAAoB,gBAAA;oBACpBC,iBAAAA,EAAmB,gBAAA;oBACnBC,mBAAAA,EAAqB,gBAAA;oBACrBC,kBAAAA,EAAoB,gBAAA;oBACpBZ,MAAAA,EAAQ,gBAAA;oBACRa,wBAAAA,EAA0B,gBAAA;oBAC1BC,yBAAAA,EAA2B;AAC7B,iBAAA,CAAA;AAEA,gBAAA,MAAMC,mBAAAA,GAAsB,MAAM,IAAI,CAACC,gBAAgB,EAAA;AACvD,gBAAA,MAAMC,WAAAA,GAAc;AAClB,oBAAA,GAAGvB,IAAI;AACPqB,oBAAAA;AACF,iBAAA;AACA,gBAAA,OAAO,IAAI,CAAC1B,cAAc,CAACc,QAAQ,CAAoC;oBACrEC,GAAAA,EAAK,wCAAA;oBACLC,IAAAA,EAAMY,WAAAA;oBACNX,MAAAA,EAAQ;AACV,iBAAA,CAAA;AACF,YAAA,CAAA;YACArB,SAAAA,EAAW;AACTiC,gBAAAA,IAAAA,EAAM,OACJxB,IAAAA,GAAAA;AAEAC,oBAAAA,aAAAA,CAAc,0CAA0CD,IAAAA,EAAM;wBAC5DE,aAAAA,EAAe,QAAA;wBACfuB,sBAAAA,EAAwB,gBAAA;wBACxBT,iBAAAA,EAAmB,gBAAA;wBACnBV,MAAAA,EAAQ,gBAAA;wBACRoB,4BAAAA,EAA8B;AAChC,qBAAA,CAAA;oBAEA,MAAM,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAG,MAAM,IAAI,CAACnC,gBAAgB,CAACoC,2BAA2B,EAAA;AACnG,oBAAA,MAAMR,mBAAAA,GAAsB,MAAM,IAAI,CAACC,gBAAgB,EAAA;AACvD,oBAAA,MAAMC,WAAAA,GAAc;AAClB,wBAAA,GAAGvB,IAAI;AACPqB,wBAAAA,mBAAAA;AACAM,wBAAAA,gBAAAA;AACAC,wBAAAA;AACF,qBAAA;AACA,oBAAA,OAAO,IAAI,CAACjC,cAAc,CAACmC,iBAAiB,CAA0C;wBACpFpB,GAAAA,EAAK,uCAAA;wBACLC,IAAAA,EAAMY,WAAAA;wBACNX,MAAAA,EAAQ,MAAA;AACRmB,wBAAAA,aAAAA,EAAe,IAAI,CAACtC,gBAAgB,CAACuC;AACvC,qBAAA,CAAA;AACF,gBAAA;AACF;AACF,SAAA;QAEA,IAAI,CAAC1C,YAAY,GAAG,IAAI,CAACM,oBAAoB,CAACqC,iBAAiB,CAAC,OAAOjC,IAAAA,GAAAA;AACrEC,YAAAA,aAAAA,CAAc,kCAAkCD,IAAAA,EAAM;gBACpDkC,iBAAAA,EAAmB,QAAA;gBACnBC,wBAAAA,EAA0B,QAAA;gBAC1B7B,MAAAA,EAAQ;AACV,aAAA,CAAA;;;;;;;AAQA,YAAA,MAAM8B,sBAAsB,MAAM,IAAI,CAACtC,yBAAyB,CAACuC,SAAS,EAAA;AAE1E,YAAA,IAAIC,IAAAA,GAAwE,IAAA;AAE5E,YAAA,IAAIF,qBAAqBG,aAAAA,EAAe;gBACtC,IAAI;oBACFD,IAAAA,GAAO,MAAM,IAAI,CAACE,yBAAyB,CAAC,IAAI,CAAC1C,yBAAyB,EAAEE,IAAAA,CAAAA;AAC9E,gBAAA,CAAA,CAAE,OAAOyC,CAAAA,EAAG;AACV,oBAAA,IAAI,CAACA,CAAYC,OAAO,CAACC,QAAQ,CAAC,MAAA,CAAA,EAAS;;;AAGzCC,wBAAAA,OAAAA,CAAQC,GAAG,CACT,6GAAA,CAAA;oBAEJ,CAAA,MAAO;wBACL,MAAMJ,CAAAA;AACR,oBAAA;AACF,gBAAA;AACF,YAAA;AAEA,YAAA,IAAI,CAACH,IAAAA,EAAM;gBACTA,IAAAA,GAAO,MAAM,IAAI,CAACE,yBAAyB,CAAC,IAAI,CAAC3C,YAAY,EAAEG,IAAAA,CAAAA;AACjE,YAAA;YAEA,OAAOsC,IAAAA;AACT,QAAA,CAAA,CAAA;QAEA,IAAI,CAAC/C,SAAS,GAAG;AACfD,YAAAA,YAAAA,EAAc,IAAI,CAACM,oBAAoB,CAACqC,iBAAiB,CACvD,OACEjC,IAAAA,GAAAA;AAEAC,gBAAAA,aAAAA,CAAc,4CAA4CD,IAAAA,EAAM;oBAC9D8C,2BAAAA,EAA6B;AAC/B,iBAAA,CAAA;AAEA,gBAAA,MAAMC,SAAS,MAAM,IAAI,CAAClD,YAAY,CAACwC,SAAS,EAAA;gBAEhD,MAAM,EAAEV,gBAAgB,EAAEC,aAAa,EAAE,GAAG,MAAM,IAAI,CAACnC,gBAAgB,CAACoC,2BAA2B,EAAA;AAEnG,gBAAA,MAAMN,WAAAA,GAAc;AAClByB,oBAAAA,kBAAAA,EAAoBD,MAAAA,EAAQR,aAAAA;AAC5BZ,oBAAAA,gBAAAA;AACAC,oBAAAA,aAAAA;AACA,oBAAA,GAAG5B;AACL,iBAAA;AACA,gBAAA,MAAMsC,OAAO,MAAM,IAAI,CAAC3C,cAAc,CAACmC,iBAAiB,CAEtD;oBACApB,GAAAA,EAAK,yCAAA;oBACLC,IAAAA,EAAMY,WAAAA;oBACNX,MAAAA,EAAQ,MAAA;AACRmB,oBAAAA,aAAAA,EAAe,IAAI,CAACtC,gBAAgB,CAACuC;AACvC,iBAAA,CAAA;gBAEA,IAAI,CAACnC,YAAY,CAACoD,WAAW,EAAA;gBAE7B,OAAOX,IAAAA;AACT,YAAA,CAAA;AAEJ,SAAA;AACF,IAAA;AAEA,IAAA,MAAchB,gBAAAA,GAAgD;AAC5D,QAAA,MAAM,EAAEnC,8BAA8B,EAAE,GAAG,MAAM,IAAI,CAACK,OAAO;AAC7D,QAAA,IAAI,CAACL,8BAAAA,EAAgC;YACnC,OAAO+D,SAAAA;AACT,QAAA;AACA,QAAA,IAAIC,UAAU,MAAM,IAAI,CAACtD,YAAY,CAACwC,SAAS,EAAA;AAC/C,QAAA,IAAIc,OAAAA,EAAS;AACX,YAAA,OAAOA,QAAQC,cAAc;AAC/B,QAAA;AACAD,QAAAA,OAAAA,GAAU,MAAM,IAAI,CAACtD,YAAY,CAACwD,oBAAoB,EAAA;AACtD,QAAA,OAAOF,QAAQC,cAAc;AAC/B,IAAA;AAEA,IAAA,MAAcZ,yBAAAA,CACZc,WAAyB,EACzBtD,IAAsC,EAC6B;QACnE,MAAM+C,MAAAA,GAAS,MAAMO,WAAAA,CAAYjB,SAAS,EAAA;QAE1C,MAAM,EAAEV,gBAAgB,EAAEC,aAAa,EAAE,GAAG,MAAM,IAAI,CAACnC,gBAAgB,CAACoC,2BAA2B,EAAA;AAEnG,QAAA,MAAMN,WAAAA,GAAc;AAClByB,YAAAA,kBAAAA,EAAoBD,MAAAA,EAAQR,aAAAA;AAC5BZ,YAAAA,gBAAAA;AACAC,YAAAA,aAAAA;AACA2B,YAAAA,0BAAAA,EAA4B,MAAO,IAAI,CAAC3D,oBAAoB,CAAC4D,2BAA2B,EAAA,IAAON,SAAAA;AAC/F,YAAA,GAAGlD;AACL,SAAA;AACA,QAAA,MAAMsC,OAAO,MAAM,IAAI,CAAC3C,cAAc,CAACmC,iBAAiB,CAA2D;YACjHpB,GAAAA,EAAK,+BAAA;YACLC,IAAAA,EAAMY,WAAAA;YACNX,MAAAA,EAAQ,MAAA;AACRmB,YAAAA,aAAAA,EAAe,IAAI,CAACtC,gBAAgB,CAACuC;AACvC,SAAA,CAAA;AAEAsB,QAAAA,WAAAA,CAAYL,WAAW,EAAA;QAEvB,OAAOX,IAAAA;AACT,IAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"HeadlessB2BMagicLinkClient.mjs","sources":["../../../../../../../../core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.ts"],"sourcesContent":["import { DisabledDFPProtectedAuthProvider, IDFPProtectedAuthProvider } from '../../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../../NetworkClient';\nimport { IPKCEManager } from '../../PKCEManager';\nimport {\n B2BMagicLinksInviteOptions,\n B2BMagicLinksInviteResponse,\n ResponseCommon,\n StytchProjectConfigurationInput,\n} from '../../public';\nimport {\n B2BMagicLinkLoginOrSignupOptions,\n B2BMagicLinkLoginOrSignupResponse,\n B2BMagicLinksAuthenticateOptions,\n B2BMagicLinksAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateOptions,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BMagicLinksEmailDiscoverySendOptions,\n B2BMagicLinksEmailDiscoverySendResponse,\n IHeadlessB2BMagicLinksClient,\n} from '../../public/b2b/magicLinks';\nimport { IB2BSubscriptionService } from '../../SubscriptionService';\nimport { validateInDev } from '../../utils/dev';\n\ntype DynamicConfig = Promise<{\n pkceRequiredForEmailMagicLinks: boolean;\n}>;\n\nconst DefaultDynamicConfig = Promise.resolve({\n pkceRequiredForEmailMagicLinks: false,\n});\n\nexport class HeadlessB2BMagicLinksClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessB2BMagicLinksClient<TProjectConfiguration>\n{\n email: {\n invite: (data: B2BMagicLinksInviteOptions) => Promise<B2BMagicLinksInviteResponse>;\n loginOrSignup: (data: B2BMagicLinkLoginOrSignupOptions) => Promise<ResponseCommon>;\n discovery: {\n send: (data: B2BMagicLinksEmailDiscoverySendOptions) => Promise<B2BMagicLinksEmailDiscoverySendResponse>;\n };\n };\n\n authenticate: (\n data: B2BMagicLinksAuthenticateOptions,\n ) => Promise<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>>;\n\n discovery: {\n authenticate: (\n data: B2BMagicLinksDiscoveryAuthenticateOptions,\n ) => Promise<B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>>;\n };\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IB2BSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _passwordResetPKCEManager: IPKCEManager,\n private _config: DynamicConfig = DefaultDynamicConfig,\n private dfpProtectedAuth: IDFPProtectedAuthProvider = DisabledDFPProtectedAuthProvider(),\n ) {\n this.email = {\n invite: async (data: B2BMagicLinksInviteOptions): Promise<B2BMagicLinksInviteResponse> => {\n validateInDev('stytch.magicLinks.email.invite', data, {\n email_address: 'string',\n invite_redirect_url: 'optionalString',\n invite_template_id: 'optionalString',\n name: 'optionalString',\n locale: 'optionalString',\n roles: 'optionalStringArray',\n invite_expiration_minutes: 'optionalNumber',\n });\n\n return this._networkClient.fetchSDK<B2BMagicLinksInviteResponse>({\n url: '/b2b/magic_links/email/invite',\n body: data,\n method: 'POST',\n });\n },\n loginOrSignup: async (data: B2BMagicLinkLoginOrSignupOptions): Promise<ResponseCommon> => {\n validateInDev('stytch.magicLinks.email.loginOrSignup', data, {\n email_address: 'string',\n organization_id: 'string',\n login_redirect_url: 'optionalString',\n login_template_id: 'optionalString',\n signup_redirect_url: 'optionalString',\n signup_template_id: 'optionalString',\n locale: 'optionalString',\n login_expiration_minutes: 'optionalNumber',\n signup_expiration_minutes: 'optionalNumber',\n });\n\n const pkce_code_challenge = await this.getCodeChallenge();\n const requestBody = {\n ...data,\n pkce_code_challenge,\n };\n return this._networkClient.fetchSDK<B2BMagicLinkLoginOrSignupResponse>({\n url: '/b2b/magic_links/email/login_or_signup',\n body: requestBody,\n method: 'POST',\n });\n },\n discovery: {\n send: async (\n data: B2BMagicLinksEmailDiscoverySendOptions,\n ): Promise<B2BMagicLinksEmailDiscoverySendResponse> => {\n validateInDev('stytch.magicLinks.email.discovery.send', data, {\n email_address: 'string',\n discovery_redirect_url: 'optionalString',\n login_template_id: 'optionalString',\n locale: 'optionalString',\n discovery_expiration_minutes: 'optionalNumber',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const pkce_code_challenge = await this.getCodeChallenge();\n const requestBody = {\n ...data,\n pkce_code_challenge,\n dfp_telemetry_id,\n captcha_token,\n };\n return this._networkClient.retriableFetchSDK<B2BMagicLinksEmailDiscoverySendResponse>({\n url: '/b2b/magic_links/email/discovery/send',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n },\n };\n\n this.authenticate = this._subscriptionService.withUpdateSession(async (data: B2BMagicLinksAuthenticateOptions) => {\n validateInDev('stytch.magicLinks.authenticate', data, {\n magic_links_token: 'string',\n session_duration_minutes: 'number',\n locale: 'optionalString',\n });\n\n // When a user resets their password with PKCE turned on, they create a pkPair in the 'passwords' namespace.\n // However, when the user gets the reset password email, they have the option to log in without a password.\n // This redirects them to the magic link authenticate flow, which automatically looks for the pkce code_verifier\n // in the 'magic_links' namespace, breaking the flow. Unfortunately we won't know for sure in the eml authenticate call\n // whether or not the user is coming from a password reset flow. To handle this, we have to try to authenticate with\n // both the 'passwords' and 'magic_links' code_verifiers.\n const passwordResetPKPair = await this._passwordResetPKCEManager.getPKPair();\n\n let resp: B2BMagicLinksAuthenticateResponse<TProjectConfiguration> | null = null;\n\n if (passwordResetPKPair?.code_verifier) {\n try {\n resp = await this.handlePKCEForAuthenticate(this._passwordResetPKCEManager, data);\n } catch (e) {\n if ((e as Error).message.includes('pkce')) {\n // If pkce-related error, fall back to magic links code_verifier\n // eslint-disable-next-line no-console\n console.log(\n 'Authenticate with passwords pkce namespace failed. Falling back to authenticate with magic_links namespace.',\n );\n } else {\n throw e;\n }\n }\n }\n\n if (!resp) {\n resp = await this.handlePKCEForAuthenticate(this._pkceManager, data);\n }\n\n return resp;\n });\n\n this.discovery = {\n authenticate: this._subscriptionService.withUpdateSession(\n async (\n data: B2BMagicLinksDiscoveryAuthenticateOptions,\n ): Promise<B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.magicLinks.discovery.authenticate', data, {\n discovery_magic_links_token: 'string',\n });\n\n const pkPair = await this._pkceManager.getPKPair();\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n pkce_code_verifier: pkPair?.code_verifier,\n dfp_telemetry_id,\n captcha_token,\n ...data,\n };\n const resp = await this._networkClient.retriableFetchSDK<\n B2BMagicLinksDiscoveryAuthenticateResponse<TProjectConfiguration>\n >({\n url: '/b2b/magic_links/discovery/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n this._pkceManager.clearPKPair();\n\n return resp;\n },\n ),\n };\n }\n\n private async getCodeChallenge(): Promise<string | undefined> {\n const { pkceRequiredForEmailMagicLinks } = await this._config;\n if (!pkceRequiredForEmailMagicLinks) {\n return undefined;\n }\n let keyPair = await this._pkceManager.getPKPair();\n if (keyPair) {\n return keyPair.code_challenge;\n }\n keyPair = await this._pkceManager.startPKCETransaction();\n return keyPair.code_challenge;\n }\n\n private async handlePKCEForAuthenticate(\n pkceManager: IPKCEManager,\n data: B2BMagicLinksAuthenticateOptions,\n ): Promise<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>> {\n const pkPair = await pkceManager.getPKPair();\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n pkce_code_verifier: pkPair?.code_verifier,\n dfp_telemetry_id,\n captcha_token,\n intermediate_session_token: (await this._subscriptionService.getIntermediateSessionToken()) || undefined,\n ...data,\n };\n const resp = await this._networkClient.retriableFetchSDK<B2BMagicLinksAuthenticateResponse<TProjectConfiguration>>({\n url: '/b2b/magic_links/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n pkceManager.clearPKPair();\n\n return resp;\n }\n}\n"],"names":["DefaultDynamicConfig","Promise","resolve","pkceRequiredForEmailMagicLinks","HeadlessB2BMagicLinksClient","email","authenticate","discovery","_config","dfpProtectedAuth","DisabledDFPProtectedAuthProvider","_networkClient","_subscriptionService","_pkceManager","_passwordResetPKCEManager","invite","data","validateInDev","email_address","invite_redirect_url","invite_template_id","name","locale","roles","invite_expiration_minutes","fetchSDK","url","body","method","loginOrSignup","organization_id","login_redirect_url","login_template_id","signup_redirect_url","signup_template_id","login_expiration_minutes","signup_expiration_minutes","pkce_code_challenge","getCodeChallenge","requestBody","send","discovery_redirect_url","discovery_expiration_minutes","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","retriableFetchSDK","retryCallback","retryWithCaptchaAndDFP","withUpdateSession","magic_links_token","session_duration_minutes","passwordResetPKPair","getPKPair","resp","code_verifier","handlePKCEForAuthenticate","e","message","includes","console","log","discovery_magic_links_token","pkPair","pkce_code_verifier","clearPKPair","undefined","keyPair","code_challenge","startPKCETransaction","pkceManager","intermediate_session_token","getIntermediateSessionToken"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { validateInDev } from '../../utils/dev.mjs';
|
|
2
2
|
|
|
3
|
-
const DefaultDynamicConfig
|
|
3
|
+
const DefaultDynamicConfig = Promise.resolve({
|
|
4
4
|
pkceRequiredForPasswordResets: false
|
|
5
5
|
});
|
|
6
6
|
class HeadlessB2BPasswordsClient {
|
|
@@ -14,7 +14,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
14
14
|
resetByEmail;
|
|
15
15
|
resetByExistingPassword;
|
|
16
16
|
resetBySession;
|
|
17
|
-
constructor(_networkClient, _subscriptionService, _pkceManager, _config = DefaultDynamicConfig
|
|
17
|
+
constructor(_networkClient, _subscriptionService, _pkceManager, _config = DefaultDynamicConfig, dfpProtectedAuth){
|
|
18
18
|
this._networkClient = _networkClient;
|
|
19
19
|
this._subscriptionService = _subscriptionService;
|
|
20
20
|
this._pkceManager = _pkceManager;
|