@stytch/react 20.0.0-next.7 → 20.0.0
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 +15 -59
- package/dist/cjs/adminPortal/index.cjs +29 -29
- package/dist/cjs/adminPortal/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.cjs +5 -5
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +5 -5
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/{shadcn-CEwpX1ov.js → shadcn-Du-ZeW8t.js} +11 -8
- package/dist/cjs/shadcn-Du-ZeW8t.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +29 -29
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +5 -5
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/index.cjs +5 -5
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/{shadcn-CFfLoRN4.js → shadcn-BZDGkwFh.js} +11 -8
- package/dist/cjs-dev/shadcn-BZDGkwFh.js.map +1 -0
- package/dist/esm/internal/assets/dist/index.mjs +29 -29
- package/dist/esm/internal/assets/dist/index.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/B2BOneTap.mjs +5 -5
- package/dist/esm/packages/web/src/ui/b2b/components/B2BOneTap.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -5
- package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/hooks/useIsMounted.mjs +10 -7
- package/dist/esm/packages/web/src/ui/hooks/useIsMounted.mjs.map +1 -1
- package/dist/esm-dev/internal/assets/dist/index.mjs +29 -29
- package/dist/esm-dev/internal/assets/dist/index.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/B2BOneTap.mjs +5 -5
- package/dist/esm-dev/packages/web/src/ui/b2b/components/B2BOneTap.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -5
- package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/hooks/useIsMounted.mjs +10 -7
- package/dist/esm-dev/packages/web/src/ui/hooks/useIsMounted.mjs.map +1 -1
- package/package.json +16 -8
- package/dist/cjs/shadcn-CEwpX1ov.js.map +0 -1
- package/dist/cjs-dev/shadcn-CFfLoRN4.js.map +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs +0 -7
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs.map +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs +0 -12
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs +0 -8
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs.map +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs +0 -12
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +0 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs +0 -8
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.mjs +0 -442
- package/dist/esm/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs +0 -56
- package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs +0 -17
- package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +0 -10
- package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs +0 -106
- package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.mjs +0 -124
- package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/serialize/dist/emotion-serialize.esm.mjs +0 -230
- package/dist/esm/node_modules/@emotion/serialize/dist/emotion-serialize.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/sheet/dist/emotion-sheet.esm.mjs +0 -139
- package/dist/esm/node_modules/@emotion/sheet/dist/emotion-sheet.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs +0 -167
- package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.mjs +0 -14
- package/dist/esm/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs +0 -53
- package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs +0 -12
- package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs +0 -46
- package/dist/esm/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs.map +0 -1
- package/dist/esm/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs +0 -207
- package/dist/esm/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs.map +0 -1
- package/dist/esm/node_modules/@lingui/core/dist/index.mjs +0 -416
- package/dist/esm/node_modules/@lingui/core/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@lingui/message-utils/dist/compileMessage.mjs +0 -365
- package/dist/esm/node_modules/@lingui/message-utils/dist/compileMessage.mjs.map +0 -1
- package/dist/esm/node_modules/@lingui/react/dist/index.mjs +0 -51
- package/dist/esm/node_modules/@lingui/react/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs +0 -139
- package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +0 -1
- package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs +0 -75
- package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs.map +0 -1
- package/dist/esm/node_modules/@messageformat/parser/lib/parser.mjs +0 -326
- package/dist/esm/node_modules/@messageformat/parser/lib/parser.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Add.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/Add.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/AddRounded.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/AddRounded.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckRounded.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/CheckRounded.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/ChevronLeft.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/ChevronLeft.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/ChevronRight.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/ChevronRight.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Close.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/Close.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/DoneAll.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/DoneAll.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/EditOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/EditOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/EmailOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/EmailOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Error.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/Error.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/ExpandMore.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/ExpandMore.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/FilterList.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/FilterList.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/InfoOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/InfoOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/MoreVert.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/MoreVert.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/RemoveRounded.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/RemoveRounded.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Search.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/Search.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Tune.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/Tune.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs +0 -9
- package/dist/esm/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs +0 -223
- package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Accordion/AccordionContext.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Accordion/AccordionContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Accordion/accordionClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Accordion/accordionClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +0 -48
- package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +0 -160
- package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs +0 -261
- package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Alert/alertClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Alert/alertClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +0 -741
- package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs +0 -115
- package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Backdrop/backdropClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Backdrop/backdropClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Button/Button.mjs +0 -572
- package/dist/esm/node_modules/@mui/material/Button/Button.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Button/buttonClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Button/buttonClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +0 -287
- package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/Ripple.mjs +0 -49
- package/dist/esm/node_modules/@mui/material/ButtonBase/Ripple.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/TouchRipple.mjs +0 -310
- package/dist/esm/node_modules/@mui/material/ButtonBase/TouchRipple.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs +0 -148
- package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Checkbox/checkboxClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Checkbox/checkboxClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs +0 -468
- package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Chip/chipClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Chip/chipClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +0 -221
- package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs +0 -141
- package/dist/esm/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs +0 -316
- package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Collapse/collapseClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Collapse/collapseClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs +0 -314
- package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Dialog/DialogContext.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/Dialog/DialogContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Dialog/dialogClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Dialog/dialogClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs +0 -69
- package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs +0 -82
- package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +0 -55
- package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs +0 -251
- package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Divider/dividerClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Divider/dividerClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs +0 -133
- package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs +0 -322
- package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FilledInput/filledInputClasses.mjs +0 -14
- package/dist/esm/node_modules/@mui/material/FilledInput/filledInputClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs +0 -212
- package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControl/FormControlContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/FormControl/FormControlContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControl/formControlClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/FormControl/formControlClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControl/formControlState.mjs +0 -18
- package/dist/esm/node_modules/@mui/material/FormControl/formControlState.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControl/useFormControl.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/FormControl/useFormControl.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +0 -194
- package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs +0 -81
- package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormGroup/formGroupClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/FormGroup/formGroupClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +0 -128
- package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs +0 -129
- package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/FormLabel/formLabelClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/FormLabel/formLabelClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs +0 -16
- package/dist/esm/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Grow/Grow.mjs +0 -187
- package/dist/esm/node_modules/@mui/material/Grow/Grow.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs +0 -227
- package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/IconButton/iconButtonClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/IconButton/iconButtonClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -12
- package/dist/esm/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Input/Input.mjs +0 -174
- package/dist/esm/node_modules/@mui/material/Input/Input.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Input/inputClasses.mjs +0 -14
- package/dist/esm/node_modules/@mui/material/Input/inputClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs +0 -500
- package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InputBase/inputBaseClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/InputBase/inputBaseClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InputBase/utils.mjs +0 -33
- package/dist/esm/node_modules/@mui/material/InputBase/utils.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs +0 -217
- package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/List/List.mjs +0 -91
- package/dist/esm/node_modules/@mui/material/List/List.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/List/ListContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/List/ListContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/List/listClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/List/listClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +0 -120
- package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs +0 -192
- package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Menu/menuClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Menu/menuClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs +0 -206
- package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/MenuItem/menuItemClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/MenuItem/menuItemClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/MenuList/MenuList.mjs +0 -239
- package/dist/esm/node_modules/@mui/material/MenuList/MenuList.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs +0 -225
- package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Modal/ModalManager.mjs +0 -217
- package/dist/esm/node_modules/@mui/material/Modal/ModalManager.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Modal/modalClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Modal/modalClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs +0 -204
- package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +0 -184
- package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +0 -129
- package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +0 -244
- package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs +0 -14
- package/dist/esm/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs +0 -108
- package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Paper/paperClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Paper/paperClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs +0 -341
- package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Popover/popoverClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Popover/popoverClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs +0 -240
- package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Popper/Popper.mjs +0 -77
- package/dist/esm/node_modules/@mui/material/Popper/Popper.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Popper/popperClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Popper/popperClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs +0 -59
- package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs +0 -176
- package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Radio/RadioButtonIcon.mjs +0 -72
- package/dist/esm/node_modules/@mui/material/Radio/RadioButtonIcon.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Radio/radioClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Radio/radioClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Select/Select.mjs +0 -153
- package/dist/esm/node_modules/@mui/material/Select/Select.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs +0 -504
- package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Select/selectClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Select/selectClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs +0 -212
- package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Snackbar/snackbarClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Snackbar/snackbarClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Snackbar/useSnackbar.mjs +0 -135
- package/dist/esm/node_modules/@mui/material/Snackbar/useSnackbar.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +0 -101
- package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +0 -162
- package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs +0 -247
- package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Switch/switchClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Switch/switchClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Table/Table.mjs +0 -94
- package/dist/esm/node_modules/@mui/material/Table/Table.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Table/TableContext.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/Table/TableContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Table/Tablelvl2Context.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/Table/Tablelvl2Context.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Table/tableClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Table/tableClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs +0 -59
- package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableBody/tableBodyClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TableBody/tableBodyClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs +0 -212
- package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableCell/tableCellClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TableCell/tableCellClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs +0 -51
- package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs +0 -59
- package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableHead/tableHeadClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TableHead/tableHeadClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs +0 -308
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs +0 -109
- package/dist/esm/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs +0 -90
- package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TableRow/tableRowClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TableRow/tableRowClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TextField/TextField.mjs +0 -239
- package/dist/esm/node_modules/@mui/material/TextField/TextField.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TextField/textFieldClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/TextField/textFieldClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +0 -184
- package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs +0 -91
- package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Toolbar/toolbarClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Toolbar/toolbarClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs +0 -676
- package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Tooltip/tooltipClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Tooltip/tooltipClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs +0 -183
- package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Typography/typographyClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/Typography/typographyClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs +0 -269
- package/dist/esm/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/blue.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/colors/blue.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/common.mjs +0 -7
- package/dist/esm/node_modules/@mui/material/colors/common.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/green.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/colors/green.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/grey.mjs +0 -19
- package/dist/esm/node_modules/@mui/material/colors/grey.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/lightBlue.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/colors/lightBlue.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/orange.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/colors/orange.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/purple.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/colors/purple.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/colors/red.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/colors/red.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs +0 -193
- package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/Cancel.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/Cancel.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/Close.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/Close.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/LastPage.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/LastPage.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/internal/switchBaseClasses.mjs +0 -10
- package/dist/esm/node_modules/@mui/material/internal/switchBaseClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/ThemeProvider.mjs +0 -31
- package/dist/esm/node_modules/@mui/material/styles/ThemeProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs +0 -19
- package/dist/esm/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs +0 -64
- package/dist/esm/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createColorScheme.mjs +0 -45
- package/dist/esm/node_modules/@mui/material/styles/createColorScheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createGetSelector.mjs +0 -64
- package/dist/esm/node_modules/@mui/material/styles/createGetSelector.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createMixins.mjs +0 -19
- package/dist/esm/node_modules/@mui/material/styles/createMixins.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createPalette.mjs +0 -295
- package/dist/esm/node_modules/@mui/material/styles/createPalette.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createTheme.mjs +0 -102
- package/dist/esm/node_modules/@mui/material/styles/createTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createThemeNoVars.mjs +0 -59
- package/dist/esm/node_modules/@mui/material/styles/createThemeNoVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs +0 -394
- package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createTransitions.mjs +0 -70
- package/dist/esm/node_modules/@mui/material/styles/createTransitions.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs +0 -88
- package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/defaultTheme.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/styles/defaultTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs +0 -7
- package/dist/esm/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/getOverlayAlpha.mjs +0 -13
- package/dist/esm/node_modules/@mui/material/styles/getOverlayAlpha.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/identifier.mjs +0 -4
- package/dist/esm/node_modules/@mui/material/styles/identifier.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/rootShouldForwardProp.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/styles/rootShouldForwardProp.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/shadows.mjs +0 -12
- package/dist/esm/node_modules/@mui/material/styles/shadows.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs +0 -8
- package/dist/esm/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/slotShouldForwardProp.mjs +0 -7
- package/dist/esm/node_modules/@mui/material/styles/slotShouldForwardProp.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/stringifyTheme.mjs +0 -58
- package/dist/esm/node_modules/@mui/material/styles/stringifyTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/styled.mjs +0 -13
- package/dist/esm/node_modules/@mui/material/styles/styled.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/useTheme.mjs +0 -12
- package/dist/esm/node_modules/@mui/material/styles/useTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/styles/zIndex.mjs +0 -15
- package/dist/esm/node_modules/@mui/material/styles/zIndex.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/transitions/utils.mjs +0 -16
- package/dist/esm/node_modules/@mui/material/transitions/utils.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs +0 -941
- package/dist/esm/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs +0 -87
- package/dist/esm/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/useMediaQuery/index.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/useMediaQuery/index.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/capitalize.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/capitalize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/createChainedFunction.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/createChainedFunction.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs +0 -44
- package/dist/esm/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/createSvgIcon.mjs +0 -19
- package/dist/esm/node_modules/@mui/material/utils/createSvgIcon.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/debounce.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/debounce.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/getScrollbarSize.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/getScrollbarSize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/isHostComponent.mjs +0 -9
- package/dist/esm/node_modules/@mui/material/utils/isHostComponent.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/isMuiElement.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/isMuiElement.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/memoTheme.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/memoTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/ownerDocument.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/ownerDocument.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/ownerWindow.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/ownerWindow.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useControlled.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/useControlled.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useEnhancedEffect.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/useEnhancedEffect.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useEventCallback.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/useEventCallback.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useForkRef.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/useForkRef.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useId.mjs +0 -6
- package/dist/esm/node_modules/@mui/material/utils/useId.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/utils/useSlot.mjs +0 -82
- package/dist/esm/node_modules/@mui/material/utils/useSlot.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/material/zero-styled/index.mjs +0 -27
- package/dist/esm/node_modules/@mui/material/zero-styled/index.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +0 -45
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/nested.mjs +0 -5
- package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/nested.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs +0 -6
- package/dist/esm/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs +0 -10
- package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +0 -20
- package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/styled-engine/index.mjs +0 -35
- package/dist/esm/node_modules/@mui/styled-engine/index.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -50
- package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +0 -44
- package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -82
- package/dist/esm/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.mjs +0 -20
- package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +0 -73
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs +0 -51
- package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/borders/borders.mjs +0 -49
- package/dist/esm/node_modules/@mui/system/esm/borders/borders.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +0 -85
- package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs +0 -287
- package/dist/esm/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/compose/compose.mjs +0 -27
- package/dist/esm/node_modules/@mui/system/esm/compose/compose.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs +0 -83
- package/dist/esm/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createStyled/createStyled.mjs +0 -274
- package/dist/esm/node_modules/@mui/system/esm/createStyled/createStyled.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +0 -90
- package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createSpacing.mjs +0 -29
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createSpacing.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs +0 -52
- package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/createTheme/shape.mjs +0 -6
- package/dist/esm/node_modules/@mui/system/esm/createTheme/shape.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs +0 -68
- package/dist/esm/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +0 -80
- package/dist/esm/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs +0 -258
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +0 -25
- package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs +0 -132
- package/dist/esm/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs +0 -24
- package/dist/esm/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +0 -53
- package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs +0 -156
- package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs +0 -14
- package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +0 -230
- package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/memoTheme.mjs +0 -31
- package/dist/esm/node_modules/@mui/system/esm/memoTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/memoize/memoize.mjs +0 -12
- package/dist/esm/node_modules/@mui/system/esm/memoize/memoize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs +0 -13
- package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/palette/palette.mjs +0 -29
- package/dist/esm/node_modules/@mui/system/esm/palette/palette.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/preprocessStyles.mjs +0 -29
- package/dist/esm/node_modules/@mui/system/esm/preprocessStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/sizing/sizing.mjs +0 -67
- package/dist/esm/node_modules/@mui/system/esm/sizing/sizing.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/spacing/spacing.mjs +0 -121
- package/dist/esm/node_modules/@mui/system/esm/spacing/spacing.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/style/style.mjs +0 -75
- package/dist/esm/node_modules/@mui/system/esm/style/style.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs +0 -297
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +0 -55
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs +0 -137
- package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs +0 -110
- package/dist/esm/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs +0 -10
- package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +0 -16
- package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +0 -13
- package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs +0 -19
- package/dist/esm/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs +0 -30
- package/dist/esm/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/capitalize/capitalize.mjs +0 -15
- package/dist/esm/node_modules/@mui/utils/esm/capitalize/capitalize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/clamp/clamp.mjs +0 -6
- package/dist/esm/node_modules/@mui/utils/esm/clamp/clamp.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs +0 -56
- package/dist/esm/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs +0 -20
- package/dist/esm/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs +0 -20
- package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs +0 -67
- package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs +0 -20
- package/dist/esm/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.mjs +0 -18
- package/dist/esm/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs +0 -23
- package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs +0 -12
- package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs +0 -21
- package/dist/esm/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs +0 -10
- package/dist/esm/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs +0 -13
- package/dist/esm/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +0 -9
- package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs +0 -12
- package/dist/esm/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs +0 -93
- package/dist/esm/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs +0 -20
- package/dist/esm/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs +0 -6
- package/dist/esm/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs +0 -9
- package/dist/esm/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs +0 -13
- package/dist/esm/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs +0 -46
- package/dist/esm/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/setRef/setRef.mjs +0 -23
- package/dist/esm/node_modules/@mui/utils/esm/setRef/setRef.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useControlled/useControlled.mjs +0 -24
- package/dist/esm/node_modules/@mui/utils/esm/useControlled/useControlled.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs +0 -13
- package/dist/esm/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs +0 -20
- package/dist/esm/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs +0 -61
- package/dist/esm/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs +0 -47
- package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs +0 -21
- package/dist/esm/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs +0 -16
- package/dist/esm/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs +0 -12
- package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs +0 -39
- package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs.map +0 -1
- package/dist/esm/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs +0 -37
- package/dist/esm/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/createPopper.mjs +0 -199
- package/dist/esm/node_modules/@popperjs/core/lib/createPopper.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.mjs +0 -27
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs +0 -45
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs +0 -73
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs +0 -61
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs +0 -8
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs +0 -10
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs +0 -33
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs +0 -9
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs +0 -29
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs +0 -15
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs +0 -72
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs +0 -23
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs +0 -20
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs +0 -35
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs +0 -15
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs +0 -14
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs +0 -17
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +0 -24
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs +0 -8
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs +0 -14
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs +0 -8
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs +0 -30
- package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/enums.mjs +0 -34
- package/dist/esm/node_modules/@popperjs/core/lib/enums.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +0 -88
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +0 -93
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +0 -172
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs +0 -52
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs +0 -150
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs +0 -64
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs +0 -57
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +0 -27
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +0 -145
- package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/popper.mjs +0 -18
- package/dist/esm/node_modules/@popperjs/core/lib/popper.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs +0 -47
- package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs +0 -72
- package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.mjs +0 -18
- package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs +0 -67
- package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs +0 -9
- package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs +0 -11
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +0 -14
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs +0 -12
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs +0 -6
- package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.mjs +0 -17
- package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs +0 -8
- package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs +0 -47
- package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs +0 -11
- package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.mjs +0 -14
- package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.mjs.map +0 -1
- package/dist/esm/node_modules/@popperjs/core/lib/utils/within.mjs +0 -12
- package/dist/esm/node_modules/@popperjs/core/lib/utils/within.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/primitive/dist/index.mjs +0 -12
- package/dist/esm/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -71
- package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -40
- package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-context/dist/index.mjs +0 -64
- package/dist/esm/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -12
- package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
- package/dist/esm/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -131
- package/dist/esm/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -41
- package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
- package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -90
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -188
- package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
- package/dist/esm/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -71
- package/dist/esm/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
- package/dist/esm/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/base-x/src/index.mjs +0 -134
- package/dist/esm/node_modules/base-x/src/index.mjs.map +0 -1
- package/dist/esm/node_modules/bs58/index.mjs +0 -17
- package/dist/esm/node_modules/bs58/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/index.mjs +0 -85
- package/dist/esm/node_modules/chroma-js/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/Color.mjs +0 -53
- package/dist/esm/node_modules/chroma-js/src/Color.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/chroma.mjs +0 -11
- package/dist/esm/node_modules/chroma-js/src/chroma.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs +0 -82
- package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs +0 -165
- package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs +0 -92
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs +0 -89
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs +0 -58
- package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs +0 -93
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs +0 -22
- package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs +0 -16
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs +0 -398
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs +0 -62
- package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs +0 -4
- package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs +0 -20
- package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs +0 -21
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs +0 -15
- package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs +0 -20
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs +0 -19
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +0 -18
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +0 -20
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs +0 -239
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs +0 -27
- package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs +0 -27
- package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs +0 -27
- package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs +0 -18
- package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs +0 -18
- package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs +0 -65
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs +0 -24
- package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +0 -58
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +0 -25
- package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +0 -57
- package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs +0 -30
- package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +0 -33
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +0 -49
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +0 -34
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +0 -37
- package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +0 -47
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +0 -50
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +0 -35
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/input.mjs +0 -7
- package/dist/esm/node_modules/chroma-js/src/io/input.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs +0 -30
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs +0 -116
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +0 -102
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +0 -68
- package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +0 -11
- package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs +0 -38
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs +0 -15
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs +0 -21
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +0 -15
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs +0 -30
- package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs +0 -33
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs +0 -10
- package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +0 -36
- package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +0 -39
- package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs +0 -29
- package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +0 -15
- package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs +0 -47
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs +0 -23
- package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +0 -33
- package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +0 -40
- package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs +0 -6
- package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs +0 -18
- package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/get.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/ops/get.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs +0 -56
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs +0 -11
- package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs +0 -13
- package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs +0 -16
- package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/set.mjs +0 -44
- package/dist/esm/node_modules/chroma-js/src/ops/set.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs +0 -12
- package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs +0 -194
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs +0 -18
- package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs +0 -15
- package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs +0 -71
- package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs +0 -66
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs +0 -20
- package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs +0 -24
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/last.mjs +0 -11
- package/dist/esm/node_modules/chroma-js/src/utils/last.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs +0 -8
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs +0 -39
- package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs +0 -19
- package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/type.mjs +0 -21
- package/dist/esm/node_modules/chroma-js/src/utils/type.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs +0 -20
- package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs +0 -14
- package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs.map +0 -1
- package/dist/esm/node_modules/chroma-js/src/version.mjs +0 -5
- package/dist/esm/node_modules/chroma-js/src/version.mjs.map +0 -1
- package/dist/esm/node_modules/classnames/index.mjs +0 -86
- package/dist/esm/node_modules/classnames/index.mjs.map +0 -1
- package/dist/esm/node_modules/clsx/dist/clsx.mjs +0 -4
- package/dist/esm/node_modules/clsx/dist/clsx.mjs.map +0 -1
- package/dist/esm/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs +0 -115
- package/dist/esm/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs.map +0 -1
- package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.mjs +0 -27
- package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.mjs.map +0 -1
- package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs +0 -17
- package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs.map +0 -1
- package/dist/esm/node_modules/input-otp/dist/index.mjs +0 -25
- package/dist/esm/node_modules/input-otp/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs +0 -134
- package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs.map +0 -1
- package/dist/esm/node_modules/lodash.merge/index.mjs +0 -1985
- package/dist/esm/node_modules/lodash.merge/index.mjs.map +0 -1
- package/dist/esm/node_modules/moo/moo.mjs +0 -655
- package/dist/esm/node_modules/moo/moo.mjs.map +0 -1
- package/dist/esm/node_modules/nanoid/index.browser.mjs +0 -17
- package/dist/esm/node_modules/nanoid/index.browser.mjs.map +0 -1
- package/dist/esm/node_modules/react-is/cjs/react-is.production.mjs +0 -140
- package/dist/esm/node_modules/react-is/cjs/react-is.production.mjs.map +0 -1
- package/dist/esm/node_modules/react-is/index.mjs +0 -17
- package/dist/esm/node_modules/react-is/index.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs +0 -440
- package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.mjs +0 -133
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroupContext.mjs +0 -6
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroupContext.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/config.mjs +0 -6
- package/dist/esm/node_modules/react-transition-group/esm/config.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.mjs +0 -144
- package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.mjs.map +0 -1
- package/dist/esm/node_modules/react-transition-group/esm/utils/reflow.mjs +0 -6
- package/dist/esm/node_modules/react-transition-group/esm/utils/reflow.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Enum.mjs +0 -13
- package/dist/esm/node_modules/stylis/src/Enum.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Middleware.mjs +0 -33
- package/dist/esm/node_modules/stylis/src/Middleware.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Parser.mjs +0 -194
- package/dist/esm/node_modules/stylis/src/Parser.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Serializer.mjs +0 -39
- package/dist/esm/node_modules/stylis/src/Serializer.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Tokenizer.mjs +0 -224
- package/dist/esm/node_modules/stylis/src/Tokenizer.mjs.map +0 -1
- package/dist/esm/node_modules/stylis/src/Utility.mjs +0 -118
- package/dist/esm/node_modules/stylis/src/Utility.mjs.map +0 -1
- package/dist/esm/node_modules/swr/_internal/dist/index.mjs +0 -681
- package/dist/esm/node_modules/swr/_internal/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/swr/core/dist/index.mjs +0 -488
- package/dist/esm/node_modules/swr/core/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/swr/infinite/dist/index.mjs +0 -233
- package/dist/esm/node_modules/swr/infinite/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/swr/mutation/dist/index.mjs +0 -126
- package/dist/esm/node_modules/swr/mutation/dist/index.mjs.map +0 -1
- package/dist/esm/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.mjs +0 -78
- package/dist/esm/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.mjs.map +0 -1
- package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs +0 -17
- package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/regex.mjs +0 -4
- package/dist/esm/node_modules/uuid/dist/esm-browser/regex.mjs.map +0 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs +0 -22
- package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs.map +0 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs +0 -32
- package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs.map +0 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs +0 -15
- package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +0 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/validate.mjs +0 -8
- package/dist/esm/node_modules/uuid/dist/esm-browser/validate.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs +0 -7
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/extends.mjs +0 -12
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs +0 -8
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs +0 -12
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs +0 -8
- package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.mjs +0 -600
- package/dist/esm-dev/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs +0 -56
- package/dist/esm-dev/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs +0 -17
- package/dist/esm-dev/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +0 -10
- package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs +0 -184
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs +0 -286
- package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs +0 -305
- package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.mjs +0 -159
- package/dist/esm-dev/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs +0 -186
- package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.mjs +0 -15
- package/dist/esm-dev/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs +0 -53
- package/dist/esm-dev/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs +0 -12
- package/dist/esm-dev/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs +0 -46
- package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs +0 -207
- package/dist/esm-dev/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@lingui/core/dist/index.mjs +0 -426
- package/dist/esm-dev/node_modules/@lingui/core/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@lingui/message-utils/dist/compileMessage.mjs +0 -365
- package/dist/esm-dev/node_modules/@lingui/message-utils/dist/compileMessage.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs +0 -66
- package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs +0 -139
- package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs +0 -75
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/parser.mjs +0 -326
- package/dist/esm-dev/node_modules/@messageformat/parser/lib/parser.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Add.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Add.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/AddRounded.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/AddRounded.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckRounded.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckRounded.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronLeft.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronLeft.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronRight.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronRight.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Close.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Close.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/DoneAll.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/DoneAll.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/EditOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/EditOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/EmailOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/EmailOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Error.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Error.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ExpandMore.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ExpandMore.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/FilterList.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/FilterList.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/InfoOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/InfoOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/MoreVert.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/MoreVert.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/RemoveRounded.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/RemoveRounded.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Search.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Search.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Tune.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/Tune.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs +0 -317
- package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Accordion/AccordionContext.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/material/Accordion/AccordionContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Accordion/accordionClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Accordion/accordionClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +0 -71
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +0 -200
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs +0 -387
- package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Alert/alertClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Alert/alertClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +0 -1187
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs +0 -206
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/backdropClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Backdrop/backdropClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs +0 -689
- package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Button/buttonClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Button/buttonClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +0 -448
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/Ripple.mjs +0 -85
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/Ripple.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/TouchRipple.mjs +0 -326
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/TouchRipple.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs +0 -251
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/checkboxClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Checkbox/checkboxClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs +0 -577
- package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Chip/chipClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Chip/chipClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +0 -287
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs +0 -178
- package/dist/esm-dev/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs +0 -413
- package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Collapse/collapseClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Collapse/collapseClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -25
- package/dist/esm-dev/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs +0 -453
- package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Dialog/DialogContext.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/Dialog/DialogContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Dialog/dialogClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Dialog/dialogClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs +0 -97
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs +0 -110
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +0 -82
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs +0 -315
- package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Divider/dividerClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Divider/dividerClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs +0 -210
- package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs +0 -516
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/filledInputClasses.mjs +0 -14
- package/dist/esm-dev/node_modules/@mui/material/FilledInput/filledInputClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs +0 -304
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControlContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControlContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlState.mjs +0 -18
- package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlState.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControl/useFormControl.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/FormControl/useFormControl.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +0 -284
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs +0 -109
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/formGroupClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/FormGroup/formGroupClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +0 -187
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs +0 -183
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/formLabelClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/FormLabel/formLabelClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs +0 -27
- package/dist/esm-dev/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Grow/Grow.mjs +0 -263
- package/dist/esm-dev/node_modules/@mui/material/Grow/Grow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs +0 -312
- package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/IconButton/iconButtonClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/IconButton/iconButtonClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs +0 -361
- package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Input/inputClasses.mjs +0 -14
- package/dist/esm-dev/node_modules/@mui/material/Input/inputClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs +0 -750
- package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InputBase/inputBaseClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/InputBase/inputBaseClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InputBase/utils.mjs +0 -33
- package/dist/esm-dev/node_modules/@mui/material/InputBase/utils.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs +0 -285
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/List/List.mjs +0 -135
- package/dist/esm-dev/node_modules/@mui/material/List/List.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/List/ListContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/List/ListContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/List/listClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/List/listClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +0 -168
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs +0 -303
- package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Menu/menuClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Menu/menuClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs +0 -284
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/menuItemClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/MenuItem/menuItemClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/MenuList/MenuList.mjs +0 -291
- package/dist/esm-dev/node_modules/@mui/material/MenuList/MenuList.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs +0 -407
- package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/ModalManager.mjs +0 -217
- package/dist/esm-dev/node_modules/@mui/material/Modal/ModalManager.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/modalClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Modal/modalClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs +0 -204
- package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +0 -241
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +0 -156
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +0 -411
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs +0 -14
- package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs +0 -172
- package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Paper/paperClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Paper/paperClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs +0 -557
- package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Popover/popoverClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Popover/popoverClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs +0 -376
- package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Popper/Popper.mjs +0 -211
- package/dist/esm-dev/node_modules/@mui/material/Popper/Popper.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Popper/popperClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Popper/popperClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs +0 -92
- package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs +0 -265
- package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Radio/RadioButtonIcon.mjs +0 -88
- package/dist/esm-dev/node_modules/@mui/material/Radio/RadioButtonIcon.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Radio/radioClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Radio/radioClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs +0 -301
- package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs +0 -673
- package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Select/selectClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Select/selectClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs +0 -344
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/snackbarClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/snackbarClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/useSnackbar.mjs +0 -135
- package/dist/esm-dev/node_modules/@mui/material/Snackbar/useSnackbar.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +0 -133
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +0 -235
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs +0 -343
- package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Switch/switchClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Switch/switchClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs +0 -137
- package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Table/TableContext.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/Table/TableContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Table/Tablelvl2Context.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/Table/Tablelvl2Context.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Table/tableClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Table/tableClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs +0 -87
- package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableBody/tableBodyClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TableBody/tableBodyClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs +0 -271
- package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableCell/tableCellClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TableCell/tableCellClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs +0 -79
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs +0 -87
- package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableHead/tableHeadClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TableHead/tableHeadClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs +0 -506
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs +0 -191
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs +0 -128
- package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TableRow/tableRowClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TableRow/tableRowClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TextField/TextField.mjs +0 -447
- package/dist/esm-dev/node_modules/@mui/material/TextField/TextField.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TextField/textFieldClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/TextField/textFieldClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +0 -220
- package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs +0 -130
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/toolbarClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Toolbar/toolbarClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs +0 -896
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/tooltipClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Tooltip/tooltipClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs +0 -270
- package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Typography/typographyClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/Typography/typographyClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs +0 -333
- package/dist/esm-dev/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/blue.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/colors/blue.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/common.mjs +0 -7
- package/dist/esm-dev/node_modules/@mui/material/colors/common.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/green.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/colors/green.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/grey.mjs +0 -19
- package/dist/esm-dev/node_modules/@mui/material/colors/grey.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/lightBlue.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/colors/lightBlue.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/orange.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/colors/orange.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/purple.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/colors/purple.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/colors/red.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/colors/red.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs +0 -301
- package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Cancel.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Cancel.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Close.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Close.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/LastPage.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/LastPage.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/internal/switchBaseClasses.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/material/internal/switchBaseClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProvider.mjs +0 -31
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs +0 -19
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs +0 -64
- package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createColorScheme.mjs +0 -45
- package/dist/esm-dev/node_modules/@mui/material/styles/createColorScheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createGetSelector.mjs +0 -64
- package/dist/esm-dev/node_modules/@mui/material/styles/createGetSelector.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createMixins.mjs +0 -19
- package/dist/esm-dev/node_modules/@mui/material/styles/createMixins.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createPalette.mjs +0 -305
- package/dist/esm-dev/node_modules/@mui/material/styles/createPalette.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createTheme.mjs +0 -102
- package/dist/esm-dev/node_modules/@mui/material/styles/createTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeNoVars.mjs +0 -89
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeNoVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs +0 -393
- package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createTransitions.mjs +0 -92
- package/dist/esm-dev/node_modules/@mui/material/styles/createTransitions.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs +0 -96
- package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/defaultTheme.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/styles/defaultTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs +0 -7
- package/dist/esm-dev/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/getOverlayAlpha.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/material/styles/getOverlayAlpha.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/identifier.mjs +0 -4
- package/dist/esm-dev/node_modules/@mui/material/styles/identifier.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/rootShouldForwardProp.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/styles/rootShouldForwardProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/shadows.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/material/styles/shadows.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs +0 -8
- package/dist/esm-dev/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/slotShouldForwardProp.mjs +0 -7
- package/dist/esm-dev/node_modules/@mui/material/styles/slotShouldForwardProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/stringifyTheme.mjs +0 -58
- package/dist/esm-dev/node_modules/@mui/material/styles/stringifyTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/styled.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/material/styles/styled.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/useTheme.mjs +0 -17
- package/dist/esm-dev/node_modules/@mui/material/styles/useTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/styles/zIndex.mjs +0 -15
- package/dist/esm-dev/node_modules/@mui/material/styles/zIndex.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/transitions/utils.mjs +0 -16
- package/dist/esm-dev/node_modules/@mui/material/transitions/utils.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs +0 -973
- package/dist/esm-dev/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs +0 -87
- package/dist/esm-dev/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/useMediaQuery/index.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/useMediaQuery/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/capitalize.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/capitalize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/createChainedFunction.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/createChainedFunction.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs +0 -44
- package/dist/esm-dev/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/createSvgIcon.mjs +0 -24
- package/dist/esm-dev/node_modules/@mui/material/utils/createSvgIcon.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/debounce.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/debounce.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/getScrollbarSize.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/getScrollbarSize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/isHostComponent.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/material/utils/isHostComponent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/isMuiElement.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/isMuiElement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/memoTheme.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/memoTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/ownerDocument.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/ownerDocument.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/ownerWindow.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/ownerWindow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/unsupportedProp.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/unsupportedProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useControlled.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/useControlled.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useEnhancedEffect.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/useEnhancedEffect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useEventCallback.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/useEventCallback.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useForkRef.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/useForkRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useId.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/material/utils/useId.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/utils/useSlot.mjs +0 -82
- package/dist/esm-dev/node_modules/@mui/material/utils/useSlot.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/material/zero-styled/index.mjs +0 -27
- package/dist/esm-dev/node_modules/@mui/material/zero-styled/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +0 -70
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/nested.mjs +0 -5
- package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/nested.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs +0 -15
- package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +0 -25
- package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs +0 -45
- package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -65
- package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +0 -63
- package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -82
- package/dist/esm-dev/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/RtlProvider/index.mjs +0 -25
- package/dist/esm-dev/node_modules/@mui/system/esm/RtlProvider/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +0 -101
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs +0 -51
- package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/borders/borders.mjs +0 -52
- package/dist/esm-dev/node_modules/@mui/system/esm/borders/borders.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +0 -85
- package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs +0 -299
- package/dist/esm-dev/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/compose/compose.mjs +0 -27
- package/dist/esm-dev/node_modules/@mui/system/esm/compose/compose.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs +0 -83
- package/dist/esm-dev/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createStyled/createStyled.mjs +0 -292
- package/dist/esm-dev/node_modules/@mui/system/esm/createStyled/createStyled.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +0 -90
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createSpacing.mjs +0 -34
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createSpacing.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs +0 -52
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/shape.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/shape.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs +0 -70
- package/dist/esm-dev/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +0 -87
- package/dist/esm-dev/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs +0 -327
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +0 -25
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs +0 -132
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs +0 -29
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +0 -53
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs +0 -156
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs +0 -14
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +0 -230
- package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/memoTheme.mjs +0 -31
- package/dist/esm-dev/node_modules/@mui/system/esm/memoTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/memoize/memoize.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/system/esm/memoize/memoize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/palette/palette.mjs +0 -29
- package/dist/esm-dev/node_modules/@mui/system/esm/palette/palette.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/preprocessStyles.mjs +0 -29
- package/dist/esm-dev/node_modules/@mui/system/esm/preprocessStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/responsivePropType/responsivePropType.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/system/esm/responsivePropType/responsivePropType.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/sizing/sizing.mjs +0 -67
- package/dist/esm-dev/node_modules/@mui/system/esm/sizing/sizing.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/spacing/spacing.mjs +0 -147
- package/dist/esm-dev/node_modules/@mui/system/esm/spacing/spacing.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs +0 -78
- package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs +0 -297
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +0 -55
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs +0 -137
- package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs +0 -122
- package/dist/esm-dev/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +0 -16
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs +0 -19
- package/dist/esm-dev/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType.mjs +0 -14
- package/dist/esm-dev/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs +0 -30
- package/dist/esm-dev/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/capitalize/capitalize.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/utils/esm/capitalize/capitalize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.mjs +0 -8
- package/dist/esm-dev/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/clamp/clamp.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/utils/esm/clamp/clamp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs +0 -56
- package/dist/esm-dev/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs +0 -67
- package/dist/esm-dev/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs +0 -45
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs +0 -44
- package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/exactProp/exactProp.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/exactProp/exactProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs +0 -23
- package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.mjs +0 -42
- package/dist/esm-dev/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs +0 -21
- package/dist/esm-dev/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/integerPropType/integerPropType.mjs +0 -47
- package/dist/esm-dev/node_modules/@mui/utils/esm/integerPropType/integerPropType.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs +0 -18
- package/dist/esm-dev/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs +0 -93
- package/dist/esm-dev/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs +0 -9
- package/dist/esm-dev/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/refType/refType.mjs +0 -6
- package/dist/esm-dev/node_modules/@mui/utils/esm/refType/refType.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs +0 -46
- package/dist/esm-dev/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/setRef/setRef.mjs +0 -23
- package/dist/esm-dev/node_modules/@mui/utils/esm/setRef/setRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.mjs +0 -10
- package/dist/esm-dev/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useControlled/useControlled.mjs +0 -41
- package/dist/esm-dev/node_modules/@mui/utils/esm/useControlled/useControlled.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs +0 -13
- package/dist/esm-dev/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs +0 -20
- package/dist/esm-dev/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs +0 -61
- package/dist/esm-dev/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs +0 -47
- package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs +0 -21
- package/dist/esm-dev/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs +0 -16
- package/dist/esm-dev/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs +0 -12
- package/dist/esm-dev/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs +0 -39
- package/dist/esm-dev/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs +0 -37
- package/dist/esm-dev/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/createPopper.mjs +0 -199
- package/dist/esm-dev/node_modules/@popperjs/core/lib/createPopper.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/contains.mjs +0 -27
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/contains.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs +0 -45
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs +0 -73
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs +0 -61
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs +0 -8
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs +0 -10
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs +0 -33
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs +0 -9
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs +0 -29
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs +0 -15
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs +0 -72
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs +0 -23
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs +0 -20
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs +0 -35
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs +0 -15
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs +0 -14
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs +0 -17
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +0 -24
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs +0 -8
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs +0 -14
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs +0 -8
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs +0 -30
- package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/enums.mjs +0 -34
- package/dist/esm-dev/node_modules/@popperjs/core/lib/enums.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +0 -88
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +0 -93
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +0 -172
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs +0 -52
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs +0 -150
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs +0 -64
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs +0 -57
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +0 -27
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +0 -145
- package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/popper.mjs +0 -18
- package/dist/esm-dev/node_modules/@popperjs/core/lib/popper.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs +0 -47
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs +0 -72
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/debounce.mjs +0 -18
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/debounce.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs +0 -67
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs +0 -9
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs +0 -11
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +0 -14
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs +0 -12
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getVariation.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getVariation.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs +0 -6
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergeByName.mjs +0 -17
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergeByName.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs +0 -8
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs +0 -47
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs +0 -11
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/userAgent.mjs +0 -14
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/userAgent.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/within.mjs +0 -12
- package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/within.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/primitive/dist/index.mjs +0 -12
- package/dist/esm-dev/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -71
- package/dist/esm-dev/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -40
- package/dist/esm-dev/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-context/dist/index.mjs +0 -64
- package/dist/esm-dev/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -12
- package/dist/esm-dev/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
- package/dist/esm-dev/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -131
- package/dist/esm-dev/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -41
- package/dist/esm-dev/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
- package/dist/esm-dev/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -90
- package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -188
- package/dist/esm-dev/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
- package/dist/esm-dev/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -71
- package/dist/esm-dev/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
- package/dist/esm-dev/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/base-x/src/index.mjs +0 -134
- package/dist/esm-dev/node_modules/base-x/src/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/bs58/index.mjs +0 -17
- package/dist/esm-dev/node_modules/bs58/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/index.mjs +0 -85
- package/dist/esm-dev/node_modules/chroma-js/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs +0 -53
- package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs +0 -11
- package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs +0 -82
- package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs +0 -165
- package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs +0 -92
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs +0 -89
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs +0 -58
- package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs +0 -93
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs +0 -22
- package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs +0 -16
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs +0 -398
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs +0 -62
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs +0 -4
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs +0 -20
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs +0 -21
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs +0 -15
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs +0 -20
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs +0 -19
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +0 -18
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +0 -20
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs +0 -239
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs +0 -27
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs +0 -27
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs +0 -27
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs +0 -18
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs +0 -18
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs +0 -65
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs +0 -24
- package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +0 -58
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +0 -25
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +0 -57
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs +0 -30
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +0 -33
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +0 -49
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +0 -34
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +0 -37
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +0 -47
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +0 -50
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +0 -35
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs +0 -7
- package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs +0 -30
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs +0 -116
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +0 -102
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +0 -68
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +0 -11
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs +0 -38
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs +0 -15
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs +0 -21
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +0 -15
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs +0 -30
- package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs +0 -33
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs +0 -10
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +0 -36
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +0 -39
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs +0 -29
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +0 -15
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs +0 -47
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs +0 -23
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +0 -33
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +0 -40
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs +0 -6
- package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs +0 -18
- package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs +0 -56
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs +0 -11
- package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs +0 -13
- package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs +0 -16
- package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs +0 -44
- package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs +0 -12
- package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs +0 -194
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs +0 -18
- package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs +0 -15
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs +0 -71
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs +0 -66
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs +0 -20
- package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs +0 -24
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs +0 -11
- package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs +0 -8
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs +0 -39
- package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs +0 -19
- package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs +0 -21
- package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs +0 -20
- package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs +0 -14
- package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chroma-js/src/version.mjs +0 -5
- package/dist/esm-dev/node_modules/chroma-js/src/version.mjs.map +0 -1
- package/dist/esm-dev/node_modules/chromatic/isChromatic.mjs +0 -13
- package/dist/esm-dev/node_modules/chromatic/isChromatic.mjs.map +0 -1
- package/dist/esm-dev/node_modules/classnames/index.mjs +0 -86
- package/dist/esm-dev/node_modules/classnames/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/clsx/dist/clsx.mjs +0 -4
- package/dist/esm-dev/node_modules/clsx/dist/clsx.mjs.map +0 -1
- package/dist/esm-dev/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs +0 -115
- package/dist/esm-dev/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs.map +0 -1
- package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.mjs +0 -191
- package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
- package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs +0 -17
- package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/input-otp/dist/index.mjs +0 -25
- package/dist/esm-dev/node_modules/input-otp/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs +0 -134
- package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs.map +0 -1
- package/dist/esm-dev/node_modules/lodash.merge/index.mjs +0 -1985
- package/dist/esm-dev/node_modules/lodash.merge/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/moo/moo.mjs +0 -655
- package/dist/esm-dev/node_modules/moo/moo.mjs.map +0 -1
- package/dist/esm-dev/node_modules/nanoid/index.browser.mjs +0 -17
- package/dist/esm-dev/node_modules/nanoid/index.browser.mjs.map +0 -1
- package/dist/esm-dev/node_modules/object-assign/index.mjs +0 -100
- package/dist/esm-dev/node_modules/object-assign/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/checkPropTypes.mjs +0 -116
- package/dist/esm-dev/node_modules/prop-types/checkPropTypes.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/factoryWithTypeCheckers.mjs +0 -626
- package/dist/esm-dev/node_modules/prop-types/factoryWithTypeCheckers.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/index.mjs +0 -29
- package/dist/esm-dev/node_modules/prop-types/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/lib/ReactPropTypesSecret.mjs +0 -22
- package/dist/esm-dev/node_modules/prop-types/lib/ReactPropTypesSecret.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/lib/has.mjs +0 -12
- package/dist/esm-dev/node_modules/prop-types/lib/has.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs +0 -191
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/index.mjs +0 -17
- package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-is/cjs/react-is.development.mjs +0 -142
- package/dist/esm-dev/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-is/index.mjs +0 -17
- package/dist/esm-dev/node_modules/react-is/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs +0 -628
- package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroup.mjs +0 -191
- package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroup.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroupContext.mjs +0 -6
- package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroupContext.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/config.mjs +0 -6
- package/dist/esm-dev/node_modules/react-transition-group/esm/config.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/ChildMapping.mjs +0 -144
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/ChildMapping.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/PropTypes.mjs +0 -22
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/PropTypes.mjs.map +0 -1
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/reflow.mjs +0 -6
- package/dist/esm-dev/node_modules/react-transition-group/esm/utils/reflow.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Enum.mjs +0 -13
- package/dist/esm-dev/node_modules/stylis/src/Enum.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Middleware.mjs +0 -21
- package/dist/esm-dev/node_modules/stylis/src/Middleware.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Parser.mjs +0 -194
- package/dist/esm-dev/node_modules/stylis/src/Parser.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs +0 -39
- package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Tokenizer.mjs +0 -224
- package/dist/esm-dev/node_modules/stylis/src/Tokenizer.mjs.map +0 -1
- package/dist/esm-dev/node_modules/stylis/src/Utility.mjs +0 -118
- package/dist/esm-dev/node_modules/stylis/src/Utility.mjs.map +0 -1
- package/dist/esm-dev/node_modules/swr/_internal/dist/index.mjs +0 -681
- package/dist/esm-dev/node_modules/swr/_internal/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/swr/core/dist/index.mjs +0 -488
- package/dist/esm-dev/node_modules/swr/core/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs +0 -233
- package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/swr/mutation/dist/index.mjs +0 -126
- package/dist/esm-dev/node_modules/swr/mutation/dist/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -106
- package/dist/esm-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -1
- package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs +0 -17
- package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/regex.mjs +0 -4
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/regex.mjs.map +0 -1
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/rng.mjs +0 -22
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/rng.mjs.map +0 -1
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/stringify.mjs +0 -32
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/stringify.mjs.map +0 -1
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/v4.mjs +0 -15
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/v4.mjs.map +0 -1
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/validate.mjs +0 -8
- package/dist/esm-dev/node_modules/uuid/dist/esm-browser/validate.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../core/src/Events.ts","../../../web/src/messages/en.ts","../../../web/src/ui/b2c/reducer.ts","../../../web/src/ui/b2c/GlobalContextProvider.tsx","../../../web/src/assets/genericWallet.tsx","../../../web/src/assets/passkeys.tsx","../../../web/src/ui/hooks/useStytchUser.ts","../../../web/src/ui/b2c/utils.ts","../../../web/src/ui/b2c/screens/IdentityProvider/IDPConsent.tsx","../../../web/src/ui/b2c/IDPContainer.tsx","../../../web/src/ui/react/b2c/StytchContext.tsx","../../../web/src/ui/react/bindings/createB2CComponent.tsx","../../../web/src/ui/react/b2c/IdentityProvider.tsx","../../../web/src/ui/hooks/useIsOnlyFloatingOneTap.ts","../../../web/src/ui/hooks/usePromptPasskey.ts","../../../web/src/ui/b2c/screens/Main/index.tsx","../../../web/src/ui/b2c/Container.tsx","../../../web/src/ui/b2c/AppContainer.tsx","../../../web/src/ui/react/b2c/StytchLogin.tsx","../../../web/src/ui/b2c/screens/Main/useLastUsedOAuth.tsx","../../../web/src/ui/b2c/components/OAuthButton.tsx","../../../web/src/ui/b2c/components/GoogleOneTap.tsx","../../../web/src/assets/logo-color/Amazon.tsx","../../../web/src/assets/logo-color/Apple.tsx","../../../web/src/assets/logo-color/Binance.tsx","../../../web/src/assets/logo-color/Bitbucket.tsx","../../../web/src/assets/logo-color/Coinbase.tsx","../../../web/src/assets/logo-color/Discord.tsx","../../../web/src/assets/logo-color/Facebook.tsx","../../../web/src/assets/logo-color/Figma.tsx","../../../web/src/assets/logo-color/Gitlab.tsx","../../../web/src/assets/logo-color/Linkedin.tsx","../../../web/src/assets/logo-color/Metamask.tsx","../../../web/src/assets/logo-color/Phantom.tsx","../../../web/src/assets/logo-color/Salesforce.tsx","../../../web/src/assets/logo-color/Snapchat.tsx","../../../web/src/assets/logo-color/Tiktok.tsx","../../../web/src/assets/logo-color/Twitch.tsx","../../../web/src/assets/logo-color/XTwitter.tsx","../../../web/src/ui/b2c/components/Icons.ts","../../../../node_modules/base-x/src/index.js","../../../../node_modules/bs58/index.js","../../../web/src/utils/crypto.tsx","../../../web/src/ui/b2c/screens/Crypto/ConnectWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/Error.tsx","../../../web/src/ui/b2c/screens/Crypto/WalletButtons.tsx","../../../web/src/ui/b2c/screens/Crypto/OtherWallets.tsx","../../../web/src/ui/b2c/screens/Crypto/SetupNewWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/SignMessage.tsx","../../../web/src/ui/b2c/screens/Crypto/Success.tsx","../../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-context/dist/index.mjs","../../../../node_modules/@radix-ui/react-collection/dist/index.mjs","../../../../node_modules/@radix-ui/primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../../../node_modules/@radix-ui/react-id/dist/index.mjs","../../../../node_modules/@radix-ui/react-direction/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../../node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../web/src/ui/b2c/StytchProduct.ts","../../../web/src/ui/b2c/screens/Main/LoginForm/index.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/OTPForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasskeyButton.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasswordForm.tsx","../../../web/src/ui/b2c/screens/Main/OAuthButtons.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.tsx","../../../web/src/utils/passkeys.ts","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationStart.tsx","../../../web/src/ui/b2c/screens/Passkey/EditableRow.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.tsx","../../../web/src/ui/b2c/screens/Password/useResetResendPasswordActions.tsx","../../../web/src/ui/b2c/screens/Password/PasswordBreached.tsx","../../../web/src/ui/b2c/screens/Password/PasswordConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordDedupe.tsx","../../../web/src/ui/b2c/screens/Password/PasswordForgot.tsx","../../../web/src/ui/b2c/screens/Password/PasswordSetNew.tsx","../../../web/src/ui/b2c/screens/Password/ResetPasswordScreen.tsx","../../../web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.ts","../../../web/src/ui/b2c/screens/Secondary/EmailConfirmation.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordAuthenticate.tsx","../../../web/src/ui/b2c/screens/Password/PasswordNewUser.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.tsx","../../../web/src/ui/b2c/Products.tsx","../../../web/src/ui/b2c/PasskeyRegistrationContainer.tsx","../../../web/src/ui/react/b2c/StytchPasskeyRegistration.tsx","../../../web/src/ui/b2c/ResetPasswordContainer.tsx","../../../web/src/ui/react/b2c/StytchPasswordReset.tsx","../../src/StytchContext.tsx","../../src/index.ts"],"sourcesContent":["import { RNUIProductConfig, StytchSDKError, TokenType } from './public';\nimport { BootstrapData, CommonB2BLoginConfig, CommonLoginConfig } from './types';\n\nexport enum EmailSentType {\n LoginOrCreateEML = 'login_or_create_eml',\n LoginOrCreateOTP = 'login_or_create_otp',\n ResetPassword = 'reset_password',\n}\n\nexport type AnalyticsEvent =\n | {\n name: 'sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'b2b_sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'render_login_screen';\n details: {\n options: CommonLoginConfig | RNUIProductConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_login_screen';\n details: {\n options: CommonB2BLoginConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'email_sent';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'email_try_again_clicked';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'start_oauth_flow';\n details: {\n provider_type: string;\n custom_scopes?: string[];\n cname_domain: string | null;\n pkce: boolean;\n provider_params?: Record<string, string>;\n };\n }\n | {\n name: 'deeplink_handled_success';\n details: {\n token_type: TokenType;\n };\n }\n | {\n name: 'deeplink_handled_failure';\n details: {\n error: StytchSDKError | undefined;\n };\n }\n | {\n name: 'oauth_success';\n details: {\n provider_type: string;\n };\n }\n | {\n name: 'oauth_failure';\n details: {\n error: StytchSDKError | string | undefined;\n };\n }\n | {\n name: 'ui_authentication_success';\n details: {\n method: 'oauth' | 'otp' | 'magicLinks' | 'passwords';\n };\n }\n | {\n name: 'render_b2b_admin_portal_sso';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_org_settings';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_member_management';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_scim';\n details: Record<string, never>;\n };\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../messages/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { AppScreens, AppState, CryptoState, OTPState, PasswordState } from './GlobalContextProvider';\n\nexport type Action =\n | { type: 'transition'; screen: AppScreens }\n | { type: 'set_magic_link_email'; email: string }\n | { type: 'update_otp_state'; otpState: OTPState }\n | { type: 'update_crypto_state'; cryptoState: CryptoState }\n | { type: 'update_password_state'; passwordState: PasswordState };\n\nexport const reducer = (state: AppState, action: Action): AppState => {\n switch (action.type) {\n case 'transition':\n return {\n ...state,\n screen: action.screen,\n };\n case 'set_magic_link_email': {\n return {\n ...state,\n formState: {\n ...state.formState,\n magicLinkState: { email: action.email },\n },\n };\n }\n case 'update_otp_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n otpState: action.otpState,\n },\n };\n }\n case 'update_crypto_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n cryptoState: action.cryptoState,\n },\n };\n }\n case 'update_password_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n passwordState: action.passwordState,\n },\n };\n }\n\n default:\n throw new Error();\n }\n};\n","import { Callbacks, OTPMethods, StytchProjectConfigurationInput, Wallets } from '@stytch/core/public';\nimport React, { useContext } from 'react';\n\nimport type { StytchClient } from '../../StytchClient';\nimport { StytchLoginConfig } from '../../types';\nimport { noop } from '../../utils';\nimport { useEvent } from '../hooks/useEvent';\nimport { Action, reducer } from './reducer';\n\n/* eslint-disable lingui/no-unlocalized-strings -- internal constants, not user-facing strings */\nexport const AppScreens = {\n Main: 'Main',\n FloatingOneTap: 'FloatingOneTap',\n PasskeyRegistrationStart: 'PasskeyRegistrationStart',\n PasskeyRegistrationSuccess: 'PasskeyRegistrationSuccess',\n PasskeyConfirmation: 'PasskeyConfirmation',\n PasswordCreateOrLogin: 'PasswordCreateOrLogin',\n PasswordResetForm: 'PasswordResetForm',\n PasswordForgot: 'PasswordForgot',\n PasswordBreached: 'PasswordBreached',\n PasswordSetNew: 'PasswordSetNew',\n PasswordDedupe: 'PasswordDedupe',\n PasswordConfirmation: 'PasswordConfirmation',\n EmailConfirmation: 'EmailConfirmation',\n OTPAuthenticate: 'OTPAuthenticate',\n OTPConfirmation: 'OTPConfirmation',\n CryptoConnect: 'CryptoConnect',\n CryptoSignMessage: 'CryptoSignMessage',\n CryptoOtherScreen: 'CryptoOtherScreen',\n CryptoSetupWallet: 'CryptoSetupWallet',\n CryptoError: 'CryptoError',\n CryptoConfirmation: 'CryptoConfirmation',\n} as const;\n/* eslint-enable lingui/no-unlocalized-strings */\n\nexport type AppScreens = keyof typeof AppScreens;\n\nexport type MagicLinkState = {\n email: string;\n};\n\nexport type OTPState = {\n type: OTPMethods;\n methodId: string;\n otpDestination: string;\n};\n\nexport type PasswordState = {\n email: string;\n type: 'new' | 'passwordless' | 'password';\n};\n\nexport type CryptoState = {\n walletAddress: string;\n walletOption: Wallets;\n walletChallenge: string;\n};\n\nexport type ResetPasswordState = {\n token: string;\n};\n\nexport type FormState = {\n magicLinkState: MagicLinkState;\n otpState: OTPState;\n cryptoState: CryptoState;\n passwordState: PasswordState;\n resetPasswordState: ResetPasswordState;\n};\n\nexport type AppState = {\n screen: AppScreens;\n formState: FormState;\n};\n\nexport type AppContext<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n state: [AppState, React.Dispatch<Action>];\n};\n\nexport const DEFAULT_STATE: AppState = {\n screen: AppScreens.Main,\n formState: {\n magicLinkState: {\n email: '',\n },\n otpState: {\n type: OTPMethods.Email,\n methodId: '',\n otpDestination: '',\n },\n cryptoState: {\n walletAddress: '',\n walletOption: Wallets.Metamask,\n walletChallenge: '',\n },\n passwordState: {\n email: '',\n type: 'new',\n },\n resetPasswordState: {\n token: '',\n },\n },\n};\n\nexport const GlobalContext = React.createContext<AppContext<StytchProjectConfigurationInput>>({\n client: {} as StytchClient<StytchProjectConfigurationInput>,\n config: {} as StytchLoginConfig,\n state: [DEFAULT_STATE, () => null],\n});\n\nexport type GlobalContextProviderProps<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n children: React.ReactNode;\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n initialState?: AppState;\n};\n\nexport const GlobalContextProvider = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n children,\n client,\n config,\n callbacks,\n initialState,\n}: GlobalContextProviderProps<TProjectConfiguration>) => {\n const state = React.useReducer(reducer, initialState ?? DEFAULT_STATE);\n\n return <GlobalContext.Provider value={{ client, state, config, callbacks }}>{children}</GlobalContext.Provider>;\n};\n\nexport const useGlobalContext = () => useContext(GlobalContext);\nexport const useStytch = () => useGlobalContext().client;\nexport const useGlobalReducer = () => useGlobalContext().state;\nexport const useConfig = () => useGlobalContext().config;\nexport const useErrorCallback = () => useEvent(useGlobalContext().callbacks?.onError ?? noop);\nexport const useEventCallback = () => useEvent(useGlobalContext().callbacks?.onEvent ?? noop);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const GenericWalletIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M18.5 4.28V2C18.5 0.9 17.6 0 16.5 0H2.5C1.39 0 0.5 0.9 0.5 2V16C0.5 17.1 1.39 18 2.5 18H16.5C17.6 18 18.5 17.1 18.5 16V13.72C19.09 13.37 19.5 12.74 19.5 12V6C19.5 5.26 19.09 4.63 18.5 4.28ZM17.5 6V12H10.5V6H17.5ZM2.5 16V2H16.5V4H10.5C9.4 4 8.5 4.9 8.5 6V12C8.5 13.1 9.4 14 10.5 14H16.5V16H2.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.5 10.5C14.3284 10.5 15 9.82843 15 9C15 8.17157 14.3284 7.5 13.5 7.5C12.6716 7.5 12 8.17157 12 9C12 9.82843 12.6716 10.5 13.5 10.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const PasskeyIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M8.75 10C10.8211 10 12.5 8.32107 12.5 6.25C12.5 4.17893 10.8211 2.5 8.75 2.5C6.67893 2.5 5 4.17893 5 6.25C5 8.32107 6.67893 10 8.75 10Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.7501 10.0001C18.7519 9.47774 18.6134 8.96445 18.349 8.51388C18.0847 8.06332 17.7041 7.69203 17.2472 7.43881C16.7903 7.18559 16.2738 7.05973 15.7516 7.07439C15.2294 7.08905 14.7207 7.24369 14.2787 7.52214C13.8367 7.8006 13.4776 8.19265 13.239 8.65733C13.0003 9.12202 12.8908 9.64227 12.9219 10.1637C12.9531 10.6852 13.1237 11.1887 13.416 11.6217C13.7082 12.0547 14.1114 12.4012 14.5834 12.6251V17.0835L15.8334 18.3335L17.9167 16.2501L16.6667 15.0001L17.9167 13.7501L16.8834 12.7168C17.4322 12.505 17.9042 12.1323 18.2373 11.6474C18.5704 11.1626 18.7492 10.5884 18.7501 10.0001ZM15.8334 10.0001C15.6686 10.0001 15.5075 9.95126 15.3704 9.85969C15.2334 9.76812 15.1266 9.63797 15.0635 9.4857C15.0004 9.33343 14.9839 9.16587 15.0161 9.00422C15.0482 8.84257 15.1276 8.69409 15.2441 8.57754C15.3607 8.461 15.5092 8.38163 15.6708 8.34948C15.8325 8.31732 16 8.33383 16.1523 8.3969C16.3046 8.45997 16.4347 8.56678 16.5263 8.70382C16.6179 8.84086 16.6667 9.00198 16.6667 9.1668C16.6667 9.38781 16.5789 9.59977 16.4227 9.75605C16.2664 9.91233 16.0544 10.0001 15.8334 10.0001Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0333 11.6833C11.3934 11.398 10.7007 11.2504 10 11.25H7.5C6.17392 11.25 4.90215 11.7768 3.96447 12.7145C3.02678 13.6521 2.5 14.9239 2.5 16.25V17.9167H13.3333V13.325C12.7713 12.8933 12.3248 12.3293 12.0333 11.6833Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { User } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../b2c/GlobalContextProvider';\n\n// useStytchUser is a very lightweight copy-pasta of the hook from stytch-react\n// If we end up calling this in several places, consider hoisting to global context\nexport const useStytchUser = (): User | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.user.getSync());\n};\n","import { BootstrapData } from '@stytch/core';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { readB2CInternals } from '../../utils/internal';\nimport { useStytch } from './GlobalContextProvider';\nimport { ProductId, StytchProduct } from './StytchProduct';\n\nexport const useBootstrap = (): { bootstrap: BootstrapData; fromCache: boolean } => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState({\n bootstrap: readB2CInternals(stytchClient).bootstrap.getSync(),\n fromCache: true,\n });\n\n useEffect(() => {\n readB2CInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) =>\n setBootstrap({\n bootstrap: data,\n fromCache: false,\n }),\n );\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport function hasProduct(products: StytchProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'tabs' | 'mainScreen'>(\n products: StytchProduct[],\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchProduct[Type]>;\n for (const product of products) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, screenType]);\n}\n\n/**\n * In B2C, ResetPassword and PasskeyRegistration always need passwords and passkey products respectively,\n * so we inject these into config just in case the customer don't have it. If they are missing the components\n * just crash immediately.\n */\nexport function addProduct<Config extends { products?: StytchProduct[] }>(\n config: Config | undefined,\n product: StytchProduct,\n): Config {\n if (config?.products?.includes(product)) return config;\n\n const products = config?.products ?? [];\n return {\n ...(config ?? {}),\n products: [...products, product],\n } as Config;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { NoCurrentSessionError } from '@stytch/core/public';\nimport React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { AuthTokenParams } from '../../../../types';\nimport { OAuthAuthorizeParams, OAuthLogoutParams, parseIDPParams } from '../../../../utils/idpHelpers';\nimport { ErrorDisplay } from '../../../components/molecules/ErrorScreen';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport MainContainer from '../../../components/molecules/MainContainer';\nimport { IDPConsent, useIDPState } from '../../../components/organisms/IDPConsent';\nimport { useTrustedAuthTokenParams } from '../../../components/organisms/IDPContextProvider';\nimport { IDPLogout, useLogoutState } from '../../../components/organisms/IDPLogout';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { useErrorCallback, useEventCallback, useStytch } from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nconst IDPConsentScreenImpl = ({\n initialError,\n initialParams,\n}: {\n initialError: string | null;\n initialParams: OAuthAuthorizeParams;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n const { oauthAuthorizeStart, oauthAuthorizeSubmit } = stytchClient.idp;\n\n const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n\n const idpConsentInfo = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} {...idpConsentInfo}></IDPConsent>;\n};\n\nconst IDPLogoutScreenImpl = ({\n initialError,\n initialParams,\n navigate,\n}: {\n initialError: string | null;\n initialParams: OAuthLogoutParams;\n navigate?: (href: string) => void;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const { oauthLogoutStart } = stytchClient.idp;\n const revokeSession = () => stytchClient.session.revoke({ forceClear: true });\n\n const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n const idpLogoutState = useLogoutState({\n initialError,\n initialParams,\n oauthLogoutStart,\n revokeSession,\n onError,\n navigate,\n });\n\n return <IDPLogout {...idpLogoutState} bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} />;\n};\n\nexport const IDPConsentScreen = ({\n searchParams = window.location.search,\n navigate,\n}: {\n searchParams?: string;\n navigate?: (href: string) => void;\n} = {}) => {\n // Preserve the URL Params seen on first render - even if they change later\n const [{ flow, error }] = useState(parseIDPParams(searchParams));\n const { theme, displayWatermark } = usePresentation();\n\n let content;\n if (flow.type === 'Authorize') {\n content = (\n <EnsureUserIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureUserIsLoggedIn>\n );\n } else if (flow.type === 'Logout') {\n content = <IDPLogoutScreenImpl initialError={error} initialParams={flow.params} navigate={navigate} />;\n }\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {content}\n </MainContainer>\n );\n};\n\nconst EnsureUserIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const user = useStytchUser();\n const onError = useErrorCallback();\n const onErrorRef = useRef(onError);\n useEffect(() => {\n onErrorRef.current = onError;\n }, [onError]);\n\n // if a trusted auth token is provided, attest it before rendering the consent screen\n const stytchClient = useStytch();\n const authParams = useTrustedAuthTokenParams();\n const [attesting, setAttesting] = useState(false);\n const [attested, setAttested] = useState(false);\n\n useEffect(() => {\n if (attesting || attested) return;\n\n const attestTrustedToken = async (authParams: AuthTokenParams | undefined): Promise<void> => {\n if (authParams?.trustedAuthToken && authParams?.tokenProfileID) {\n setAttesting(true);\n const token = authParams.trustedAuthToken;\n const profile_id = authParams.tokenProfileID;\n\n // revoke the current session before calling attest\n if (stytchClient.user.getSync()) {\n await stytchClient.session.revoke({ forceClear: true });\n }\n\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n session_duration_minutes: 60,\n });\n } catch (error) {\n onErrorRef.current(error as Error);\n } finally {\n setAttesting(false);\n setAttested(true);\n }\n }\n // set this either way to short-circuit the useEffect below\n setAttested(true);\n };\n attestTrustedToken(authParams);\n }, [authParams, attesting, attested, stytchClient]);\n\n useEffect(() => {\n if (user) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [user]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (user) {\n return children;\n } else {\n return (\n <ErrorDisplay\n text={t({\n id: 'idpConsent.noActiveSession',\n message: 'No active session detected. Please log in to continue.',\n })}\n />\n );\n }\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, IDPSDKConfig, StytchLoginConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { IDPConsentScreen } from './screens/IdentityProvider/IDPConsent';\n\nexport const IDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n styles,\n getIDPConsentManifest,\n authTokenParams,\n}: IDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_idp_screen',\n details: { bootstrap: data },\n });\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={authTokenParams}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <IDPConsentScreen />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </IDPContextProvider>\n </GlobalContextProvider>\n );\n};\n","'use client';\n\nimport { PermissionsMap, Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { mergeWithStableProps } from '@stytch/js-utils';\nimport React, {\n ComponentType,\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { isStytchSSRProxy } from '../bindings/StytchSSRProxy';\nimport { useAsyncState } from '../utils/async';\nimport { noProviderError, providerMustBeUniqueError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// There's no user facing strings in this file\n/* eslint-disable lingui/no-unlocalized-strings */\n\ntype StytchContext<TProjectConfiguration extends StytchProjectConfigurationInput> =\n | {\n isMounted: false;\n }\n | {\n isMounted: true;\n client: StytchClient<TProjectConfiguration>;\n };\n\ntype SWRUserUninitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRUserInitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: User | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRUser<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRUserInitialized\n : SWRUserInitialized | SWRUserUninitialized;\n\nconst initialUser: SWRUserUninitialized = {\n user: null,\n fromCache: false,\n isInitialized: false,\n};\n\ntype SWRSessionUninitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRSessionInitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: Session | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRSession<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRSessionInitialized\n : SWRSessionInitialized | SWRSessionUninitialized;\n\nconst initialSession: SWRSessionUninitialized = {\n session: null,\n fromCache: false,\n isInitialized: false,\n};\n\nconst StytchContext = createContext<StytchContext<StytchProjectConfigurationInput>>({ isMounted: false });\nconst StytchUserContext = createContext<SWRUser>(initialUser);\nconst StytchSessionContext = createContext<SWRSession>(initialSession);\n\nexport const useIsMounted__INTERNAL = (): boolean => useContext(StytchContext).isMounted;\n\n/**\n * Returns the active User.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = <TAssumeHydrated extends boolean = false>(): SWRUser<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchUser'));\n return useContext(StytchUserContext) as SWRUser<TAssumeHydrated>;\n};\n\n/**\n * Returns the active user's Stytch session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = <TAssumeHydrated extends boolean = false>(): SWRSession<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchSession'));\n return useContext(StytchSessionContext) as SWRSession<TAssumeHydrated>;\n};\n\n/**\n * Returns the Stytch client stored in the Stytch context.\n *\n * @example\n * const stytch = useStytch();\n * useEffect(() => {\n * stytch.magicLinks.authenticate('...')\n * }, [stytch]);\n */\nexport const useStytch = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(): StytchClient<TProjectConfiguration> => {\n const ctx = useContext(StytchContext);\n invariant(ctx.isMounted, noProviderError('useStytch'));\n return ctx.client as StytchClient<TProjectConfiguration>;\n};\n\nexport const withStytch = <\n T extends object,\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(\n Component: ComponentType<T & { stytch: StytchClient<TProjectConfiguration> }>,\n): ComponentType<T> => {\n const WithStytch: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytch'));\n return <Component {...props} stytch={useStytch()} />;\n };\n WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;\n return WithStytch;\n};\n\nexport const withStytchUser = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchUser: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchUser'));\n const { user, isInitialized, fromCache } = useStytchUser<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchUser={user}\n stytchUserIsInitialized={isInitialized}\n stytchUserIsFromCache={fromCache}\n />\n );\n };\n WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchUser;\n};\n\nexport const withStytchSession = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchSession: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchSession'));\n const { session, isInitialized, fromCache } = useStytchSession<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchSession={session}\n stytchSessionIsInitialized={isInitialized}\n stytchSessionIsFromCache={fromCache}\n />\n );\n };\n WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchSession;\n};\n\ntype SWRIsAuthorizedUninitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: false;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRIsAuthorizedInitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: boolean;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: boolean;\n};\n\ntype SWRIsAuthorized<TAlwaysInitialized extends boolean> = TAlwaysInitialized extends true\n ? SWRIsAuthorizedInitialized\n : SWRIsAuthorizedInitialized | SWRIsAuthorizedUninitialized;\n\n/**\n * Determines whether the logged-in user is allowed to perform the specified action on the specified resource.\n * Returns `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, this method will always return false.\n * If the resource or action provided are not valid for the configured RBAC policy, this method will return false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');\n * return <button disabled={!isAuthorized}>Edit</button>\n */\nexport const useStytchIsAuthorized = <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n): SWRIsAuthorized<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchIsAuthorized', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [isAuthorized, setIsAuthorized] = useAsyncState<SWRIsAuthorized<boolean>>({\n isInitialized: false,\n fromCache: false,\n isAuthorized: false,\n });\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n\n setIsAuthorized({\n isInitialized: true,\n fromCache: true,\n isAuthorized: client.rbac.isAuthorizedSync(resourceId, action),\n });\n }, [action, client, resourceId, setIsAuthorized]);\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n client.rbac.isAuthorized(resourceId, action).then((isAuthorized) => {\n setIsAuthorized({ isAuthorized, fromCache: false, isInitialized: true });\n });\n }, [client, user?.roles, resourceId, action, setIsAuthorized]);\n\n return isAuthorized;\n};\n\ntype permissionsLoaded<Permissions extends Record<string, string>> =\n | {\n loaded: false;\n value: null;\n }\n | {\n loaded: true;\n value: PermissionsMap<Permissions>;\n };\n\n/**\n * Wrap your component with this HOC in order to receive the permissions for the logged-in user.\n * Evaluates all permissions granted to the logged-in user.\n * Returns a Record<RoleId, Record<Action, boolean>> response indicating the user's permissions.\n * Each boolean will be `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, all values will be false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * type Permissions = {\n * document: 'create' | 'read' | 'write\n * image: 'create' | 'read'\n * }\n *\n * const MyComponent = (props) => {\n * const canEditDocuments = props.stytchPermissions.document.edit;\n * const canReadImages = props.stytchPermissions.image.read;\n * }\n * return withStytchPermissions<Permissions>(MyComponent)\n */\nexport const withStytchPermissions = <Permissions extends Record<string, string>, T extends object>(\n Component: ComponentType<T & { stytchPermissions: PermissionsMap<Permissions> }>,\n): ComponentType<T> => {\n const WithStytchPermissions: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useRBACPermissions', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [permissions, setPermissions] = useAsyncState<permissionsLoaded<Permissions>>({ loaded: false, value: null });\n\n useEffect(() => {\n client.rbac.allPermissions<Permissions>().then((permissions) => {\n setPermissions({ loaded: true, value: permissions });\n });\n }, [client, user?.roles, setPermissions]);\n\n if (!permissions.loaded) {\n return null;\n }\n return <Component {...props} stytchPermissions={permissions.value} />;\n };\n WithStytchPermissions.displayName = `withStytchPermissions(${\n Component.displayName || Component.name || 'Component'\n })`;\n return WithStytchPermissions;\n};\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, created using either {@link createStytchHeadlessClient} or {@link createStytchClient}\n */\n stytch: StytchClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * This value defaults to `false` in `@stytch/nextjs`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = false,\n}: StytchProviderProps<TProjectConfiguration>) => {\n invariant(!useIsMounted__INTERNAL(), providerMustBeUniqueError);\n invariant(\n !assumeHydrated || typeof window !== 'undefined',\n 'The `assumeHydrated` prop must be set to `false` when using StytchProvider in a server environment.',\n );\n\n const ctx = useMemo(() => ({ client: stytch, isMounted: true }), [stytch]);\n\n type ClientState<TAlwaysInitialized extends boolean> = {\n session: SWRSession<TAlwaysInitialized>;\n user: SWRUser<TAlwaysInitialized>;\n };\n\n const getHydratedState = useCallback(() => {\n return {\n session: { ...stytch.session.getInfo(), isInitialized: true },\n user: { ...stytch.user.getInfo(), isInitialized: true },\n } satisfies ClientState<true>;\n }, [stytch]);\n\n const getInitialState = () => {\n return {\n session: initialSession,\n user: initialUser,\n } satisfies ClientState<false>;\n };\n\n const [{ user, session }, setClientState] = useAsyncState<ClientState<boolean>>(() =>\n assumeHydrated ? getHydratedState() : (getInitialState() as ClientState<boolean>),\n );\n\n // Store the initial value of `assumeHydrated` in a ref, because it is\n // logically only relevant for the first render\n const assumeHydratedRef = useRef(assumeHydrated);\n useEffect(() => {\n if (isStytchSSRProxy(stytch)) {\n return;\n }\n\n const updateState = () => {\n setClientState((oldState) => mergeWithStableProps(oldState, getHydratedState()));\n };\n\n if (!assumeHydratedRef.current) {\n updateState();\n }\n\n return stytch.onStateChange(updateState);\n }, [getHydratedState, setClientState, stytch]);\n\n return (\n <StytchContext.Provider value={ctx}>\n <StytchUserContext.Provider value={user}>\n <StytchSessionContext.Provider value={session}>{children}</StytchSessionContext.Provider>\n </StytchUserContext.Provider>\n </StytchContext.Provider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport { injectCssIntoNode, injectGlobalStyle } from '@stytch/internal-style-injector';\nimport React, { ComponentType, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytch } from '../b2c/StytchContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2BComponent and createWebComponent\nexport function createB2CComponent<\n Props extends {\n client: StytchClient<TProjectConfiguration>;\n config?: StytchLoginConfig;\n presentation?: PresentationConfig;\n },\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(name: string, Component: ComponentType<Props>) {\n const Wrapped: ComponentType<Omit<Props, 'client'>> = (props) => {\n serverRenderError(name);\n invariant(useIsMounted__INTERNAL(), noProviderError(`<${name} />`));\n\n const client = useStytch<TProjectConfiguration>();\n\n const shadow = props.presentation?.options?.enableShadowDOM ?? props.config?.enableShadowDOM;\n const root = useRef<HTMLDivElement>(null);\n const [mountPoint, setMountPoint] = useState<HTMLDivElement>();\n\n useLayoutEffect(() => {\n if (shadow) {\n if (!root.current || root.current.shadowRoot) return;\n const shadowRoot = root.current.attachShadow({ mode: 'open' });\n const mountPoint = document.createElement('div');\n\n shadowRoot.appendChild(injectCssIntoNode());\n shadowRoot.appendChild(mountPoint);\n\n setMountPoint(mountPoint);\n } else {\n injectGlobalStyle();\n }\n }, [shadow]);\n\n const element = <Component {...(props as Props)} client={client} />;\n if (shadow) {\n return <div ref={root}>{mountPoint && createPortal(element, mountPoint)}</div>;\n } else {\n return element;\n }\n };\n\n Wrapped.displayName = name;\n return Wrapped;\n}\n","import { AuthTokenParams, IDPConsentManifestGenerator } from '../../../types';\nimport { IDPContainer } from '../../b2c/IDPContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport type IdentityProviderProps = Omit<StytchProps, 'config'> & {\n /**\n * Optional {@link IDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: IDPConsentManifestGenerator;\n /**\n * Optional {@link AuthTokenParams} to provide a trusted auth token to provide for attestation prior to running OAuth flow.\n */\n authTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch IDP component.\n * Parses OAuth Authorization params (client_id, scope, nonce, etc.) out of the page URL.\n * Requires the user to be logged in.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <IdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const IdentityProvider = /* @__PURE__ */ createB2CComponent('IdentityProvider', IDPContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getShouldRenderFloatingOneTap } from '../../oneTap/positionModes';\nimport { StytchLoginConfig } from '../../types';\nimport { hasProduct } from '../b2c/utils';\n\nexport const useIsOnlyFloatingOneTap = (config: StytchLoginConfig) => {\n return useMemo(() => {\n const position = config.oauthOptions?.providers[0].position;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n config.oauthOptions?.providers[0].type === OAuthProviders.Google &&\n config.oauthOptions?.providers[0].one_tap === true &&\n getShouldRenderFloatingOneTap(position)\n );\n }, [config]);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType, StytchProjectConfigurationInput, WebAuthnAuthenticateResponse } from '@stytch/core/public';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { extractErrorMessage } from '../../utils/extractErrorMessage';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../b2c/GlobalContextProvider';\nimport { hasProduct } from '../b2c/utils';\n\nconst MAX_ATTEMPTS = 5;\n\nexport type StartPasskeyAuth = () => Promise<WebAuthnAuthenticateResponse<StytchProjectConfigurationInput>>;\n\nexport const usePromptPasskey = ({\n canAutofill,\n shadowDOM,\n}: {\n canAutofill: boolean;\n shadowDOM: boolean;\n}): [startPasskeyAuth: StartPasskeyAuth, error: string | undefined] => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n\n const [error, setError] = useState<string>();\n\n const startPasskeyAuth = useCallback(\n async ({\n conditionalMediation = false,\n abortController,\n }: {\n conditionalMediation?: boolean;\n abortController?: AbortController;\n } = {}) => {\n try {\n const resp = await stytchClient.webauthn.authenticate({\n domain: config.passkeyOptions?.domain,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n conditional_mediation: conditionalMediation,\n is_passkey: true,\n signal: abortController?.signal,\n disable_input_check: shadowDOM,\n });\n\n if (!resp) {\n throw new Error('Empty response');\n }\n\n onEvent({ type: StytchEventType.PasskeyAuthenticate, data: resp });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyConfirmation });\n return resp;\n } catch (e) {\n if (extractErrorType(e) === 'webauthn_registration_not_found') {\n setError(\n t({\n id: 'error.passkeyRegistrationNotFound',\n message:\n 'Passkey registration not found. You may have deleted the passkey from your account but not password manager. Please try again.',\n }),\n );\n } else if (e instanceof Error && e.name === 'StytchAPIError') {\n setError(\n t({\n id: 'error.passkeyUnknown',\n message: 'Unknown error occurred during passkey authentication. Please try again.',\n }),\n );\n }\n\n const message = extractErrorMessage(e);\n if (message) {\n onError({ message });\n }\n\n throw e;\n }\n },\n [\n shadowDOM,\n config.passkeyOptions?.domain,\n config.sessionOptions?.sessionDurationMinutes,\n dispatch,\n onError,\n onEvent,\n stytchClient.webauthn,\n t,\n ],\n );\n\n useEffect(() => {\n if (!hasPasskeys || !canAutofill) {\n return;\n }\n\n // Skip passkey authentication in Storybook environment\n if (process.env.STORYBOOK) {\n return;\n }\n\n const abortController = new AbortController();\n (async () => {\n if (!(await stytchClient.webauthn.browserSupportsAutofill())) {\n return;\n }\n\n for (let i = 0; i < MAX_ATTEMPTS; ++i) {\n if (abortController.signal.aborted) {\n return;\n }\n\n try {\n await startPasskeyAuth({ abortController, conditionalMediation: true });\n return;\n } catch (e) {\n // User denied permission\n if (e instanceof DOMException && e.name === 'NotAllowedError') {\n return;\n }\n\n // Otherwise swallow error\n }\n }\n })();\n\n return () => {\n abortController.abort();\n };\n }, [canAutofill, hasPasskeys, startPasskeyAuth, stytchClient.webauthn]);\n\n return [startPasskeyAuth, error];\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { isTruthy } from '../../../../utils/isTruthy';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { usePromptPasskey } from '../../../hooks/usePromptPasskey';\nimport { useConfig, useStytch } from '../../GlobalContextProvider';\nimport { MainScreenGroup, MainScreenKey } from '../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../utils';\n\nexport const MainScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n\n const { options } = usePresentation();\n const { t } = useLingui();\n const [mainScreenGroups, setMainScreenGroups] = useState<MainScreenGroup[]>([]);\n\n const { products, oauthOptions } = config;\n const hasButtons = (hasProduct(products, 'oauth') && oauthOptions) || hasProduct(products, 'crypto');\n const hasPasskeys = hasProduct(products, 'passkeys');\n const hasInput =\n hasProduct(products, 'emailMagicLinks') || hasProduct(products, 'otp') || hasProduct(products, 'passwords');\n\n const [startPasskeyAuth, passkeyError] = usePromptPasskey({\n canAutofill: hasInput,\n shadowDOM: Boolean(options.enableShadowDOM),\n });\n const productComponents = useProductComponents(products, 'mainScreen')!;\n\n useEffect(() => {\n const loadProductComponents = async () => {\n // Deduplicate components mapped from products\n const keys = Array.from(\n new Set<MainScreenKey>(\n products\n .map((product) => {\n switch (product.id) {\n case 'oauth':\n case 'crypto':\n return product.id;\n case 'emailMagicLinks':\n case 'otp':\n case 'passwords':\n return 'login-form';\n }\n })\n .filter(isTruthy),\n ),\n );\n\n const showDivider = hasButtons && hasInput;\n if (keys.length > 1 && showDivider) {\n keys.splice(-1, 0, 'divider');\n }\n\n // Add a passkey button if the user has configured passkeys, don't have a login form,\n // or the browser does not support autofill\n if (hasPasskeys && (!hasInput || !(await stytchClient.webauthn.browserSupportsAutofill()))) {\n keys.unshift('passkey-button');\n }\n\n // Group Wallet and Oauth buttons (basically going from [Password, Wallet, OAuth] to [Password, [Wallet, OAuth]])\n // This reassignment is only there to make TS happy - .splice mutates, and groups === keys\n // so it is not really needed\n const groups: MainScreenGroup[] = keys;\n const walletIndex = keys.indexOf('crypto');\n const oauthIndex = keys.indexOf('oauth');\n if (walletIndex !== -1 && oauthIndex !== -1 && Math.abs(walletIndex - oauthIndex) === 1) {\n const index = Math.min(walletIndex, oauthIndex);\n groups.splice(index, 0, keys.splice(index, 2));\n }\n\n setMainScreenGroups(groups);\n };\n\n loadProductComponents();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n if (hasPasskeys && products.length === 1)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use Passkeys by itself, please add another product to the config.')}\n </Typography>\n );\n\n const props = { startPasskeyAuth };\n const renderComponent = (key: MainScreenGroup, index: number) => {\n if (Array.isArray(key)) {\n return (\n <Column gap={2} key={index}>\n {key.map(renderComponent)}\n </Column>\n );\n }\n\n if (key === 'divider') {\n return <Divider key={index} />;\n }\n\n const Component = productComponents[key];\n return <Component key={key} {...props} />;\n };\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText && (\n <Typography variant=\"header\" align=\"center\">\n {t({ id: 'login.title', message: 'Sign up or log in' })}\n </Typography>\n )}\n\n {passkeyError && <ErrorText>{passkeyError}</ErrorText>}\n\n {mainScreenGroups.map(renderComponent)}\n </Column>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport Logo from '../components/atoms/Logo';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { AppScreens, useConfig, useGlobalReducer } from './GlobalContextProvider';\nimport { MainScreen } from './screens/Main';\nimport { useProductComponents } from './utils';\n\nconst AppContainer: () => null | ReactNode = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config.products, 'screens');\n\n if (isOnlyFloatingOneTap) {\n const { FloatingOneTap } = screenComponentMap;\n return <FloatingOneTap />;\n }\n\n // MainScreen is omitted from StytchProduct since it's used by everything\n const ScreenComponent = currentScreen === AppScreens.Main ? MainScreen : screenComponentMap[currentScreen];\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {options.logo && <Logo appLogo={options.logo} />}\n\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { GlobalContextProvider } from './GlobalContextProvider';\n\nexport const AppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_login_screen',\n details: { options: config, bootstrap: data },\n });\n setDisplayWatermark(data.displayWatermark);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { AppContainer } from '../../b2c/AppContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\nexport interface StytchProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * A {@link StytchLoginConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n * @example\n * {\n * products: [Products.crypto, Products.otp]\n * }\n *\n * @example\n * {\n * products: [Products.emailMagicLinks]\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * }\n * }\n *\n * @example\n * {\n * products: [Products.oauth]\n * oauthOptions: {\n * providers: [\n * { type: 'google', one_tap: true, position: 'embedded' },\n * { type: 'microsoft' },\n * { type: 'apple' },\n * { type: 'facebook' },\n * ],\n * }\n * }\n */\n config: StytchLoginConfig;\n /**\n * An optional {@link PresentationConfig} to customize the UI presentation.\n */\n presentation?: PresentationConfig;\n /**\n * An optional {@link Callbacks} object.\n *\n * @example\n * {\n * onError: ({message}) => {\n * console.error('Stytch login screen error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.CryptoWalletAuthenticate) {\n * console.log('Logged in with crypto wallet', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n}\n\n/**\n * The Stytch Login Screen component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchLogin\n * config={{\n * products: [Products.emailMagicLinks, Products.oauth],\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * oauthOptions: {\n * providers: [{ type: OAuthProviders.Google }, { type: OAuthProviders.Microsoft }],\n * },\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchLogin = /* @__PURE__ */ createB2CComponent('StytchLogin', AppContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { safeLocalStorage } from '../../../../utils/storage';\nimport { useStytch } from '../../GlobalContextProvider';\n\nexport function useLastUsedOAuth() {\n const stytch = useStytch();\n const { publicToken } = readB2CInternals(stytch);\n\n const lastUsedOAuth = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2c_last_used_oauth'), [publicToken]);\n const setLastUsedOAuth = (providerType: OAuthProviders) => {\n safeLocalStorage.setItem(publicToken, 'b2c_last_used_oauth', providerType);\n };\n\n return [lastUsedOAuth, setLastUsedOAuth] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { IconRegistry } from '../../components/IconRegistry';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ninterface ProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo = {\n [OAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [OAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [OAuthProviders.Apple]: {\n messageDescriptor: msg({ id: 'oauth.continueWithApple', message: 'Continue with Apple' }),\n },\n [OAuthProviders.Github]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n [OAuthProviders.GitLab]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitLab', message: 'Continue with GitLab' }),\n },\n [OAuthProviders.Facebook]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFacebook', message: 'Continue with Facebook' }),\n },\n [OAuthProviders.Discord]: {\n messageDescriptor: msg({ id: 'oauth.continueWithDiscord', message: 'Continue with Discord' }),\n },\n [OAuthProviders.Salesforce]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSalesforce', message: 'Continue with Salesforce' }),\n },\n [OAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [OAuthProviders.Amazon]: {\n messageDescriptor: msg({ id: 'oauth.continueWithAmazon', message: 'Continue with Amazon' }),\n },\n [OAuthProviders.Bitbucket]: {\n messageDescriptor: msg({ id: 'oauth.continueWithBitbucket', message: 'Continue with Bitbucket' }),\n },\n [OAuthProviders.LinkedIn]: {\n messageDescriptor: msg({ id: 'oauth.continueWithLinkedIn', message: 'Continue with LinkedIn' }),\n },\n [OAuthProviders.Coinbase]: {\n messageDescriptor: msg({ id: 'oauth.continueWithCoinbase', message: 'Continue with Coinbase' }),\n },\n [OAuthProviders.Twitch]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTwitch', message: 'Continue with Twitch' }),\n },\n [OAuthProviders.Twitter]: {\n messageDescriptor: msg({ id: 'oauth.continueWithX', message: 'Continue with X' }),\n },\n [OAuthProviders.TikTok]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTikTok', message: 'Continue with TikTok' }),\n },\n [OAuthProviders.Snapchat]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSnapchat', message: 'Continue with Snapchat' }),\n },\n [OAuthProviders.Figma]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFigma', message: 'Continue with Figma' }),\n },\n [OAuthProviders.Yahoo]: {\n messageDescriptor: msg({ id: 'oauth.continueWithYahoo', message: 'Continue with Yahoo' }),\n },\n} satisfies Record<OAuthProviders, ProviderInfo>;\n\ntype Props = {\n providerType: StringLiteralFromEnum<OAuthProviders>;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: Props) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<keyof typeof oauthIcons> = presentation.iconRegistry;\n const id = getButtonId(`oauth-${providerType}`, presentation.options);\n\n const provider = providerInfo[providerType];\n let label: string = providerType;\n let icon = null;\n if (provider) {\n const { messageDescriptor } = provider;\n\n const iconName = providerType === 'twitter' ? 'xTwitter' : providerType;\n const Icon = iconRegistry[iconName];\n\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n await stytchClient.oauth[providerType].start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n onSuccess?.();\n };\n\n return (\n <Button onClick={onButtonClick} variant=\"outline\" icon={icon} id={id}>\n {label}\n </Button>\n );\n};\n","import { DEV, logger, StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { OneTapProvider } from '../../../oneTap/OneTapProvider';\nimport { getRenderedOneTapMode } from '../../../oneTap/positionModes';\nimport { readB2CInternals } from '../../../utils/internal';\nimport { CircularProgress } from '../../components/atoms/CircularProgress';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useIsUnmounted } from '../../hooks/useIsMounted';\nimport { useIsOnlyFloatingOneTap } from '../../hooks/useIsOnlyFloatingOneTap';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport { useLastUsedOAuth } from '../screens/Main/useLastUsedOAuth';\nimport styles from './GoogleOneTap.module.css';\nimport { OAuthButton } from './OAuthButton';\n\ntype Props = {\n position?: StringLiteralFromEnum<OneTapPositions>;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nconst OAUTH_BUTTON_HEIGHT = 38;\n\n// See WebComponents.tsx - when using shadow DOM, the Google script cannot see the\n// mount point, so we render it outside and use slot to bring it back in\nconst OneTapMountNode = ({ enableShadowDOM }: { enableShadowDOM: boolean | undefined }) =>\n enableShadowDOM ? (\n <slot name=\"one-tap\"></slot>\n ) : (\n <div data-prompt_parent_id=\"g_id_onload\" id=\"google-parent-prompt\" />\n );\n\nexport const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutside }: Props) => {\n const oneTapRenderMode = getRenderedOneTapMode(position);\n const shouldRenderEmbeddedOneTap = oneTapRenderMode === 'embedded';\n const shouldRenderOneTap = !!oneTapRenderMode;\n\n const config = useConfig();\n const stytch = useStytch();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const [pending, setPending] = useState(shouldRenderEmbeddedOneTap);\n const [canDisplayOneTap, setCanDisplayOneTap] = useState(true);\n const [height, setHeight] = useState(OAUTH_BUTTON_HEIGHT);\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const resizeCount = useRef(0);\n const timeout = useRef<number>();\n const isUnmounted = useIsUnmounted();\n const [lastUsedMethod, setLastUsedOAuth] = useLastUsedOAuth();\n const { options } = usePresentation();\n\n /*\n * Begin One Tap Render Smoothing Logic\n */\n // Gets height of rendered one-tap UI, and sets the container height to that.\n // Animation is added for a smoother transition,\n const onResize = useCallback<ResizeObserverCallback>(([el]) => {\n if (timeout.current != null) {\n clearTimeout(timeout.current);\n }\n // On initial load, the one-tap ui rapidly changes heights 3 times. Checking\n // the resizeCount lets us debounce the first 2 resizes, so they will get\n // cancelled, but if they don't, it will resize after the short delay.\n if (resizeCount.current > 1) {\n // While setting the height, if the contentRect height is 0, it could also mean that the\n // oauthOptions props are being changed, and in that scenario if we can continue to display\n // one tap, we are setting the container height to the current height. If one tap cannot display\n // one tap, we will set the container height to the height of the button component.\n // Else we will set the height to the contentRect height.\n setHeight((currentHeight) =>\n el.contentRect.height === 0 ? (canDisplayOneTap ? currentHeight : OAUTH_BUTTON_HEIGHT) : el.contentRect.height,\n );\n } else {\n timeout.current = window.setTimeout(\n () =>\n setHeight((currentHeight) =>\n el.contentRect.height === 0\n ? canDisplayOneTap\n ? currentHeight\n : OAUTH_BUTTON_HEIGHT\n : el.contentRect.height,\n ),\n 100,\n );\n }\n resizeCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n // If we are in embedded mode, initialize the resize observer and bind it to the React callback\n useEffect(() => {\n if (shouldRenderEmbeddedOneTap) {\n const el = document.getElementById('google-parent-prompt');\n if (el) {\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(el);\n return () => resizeObserver.disconnect();\n }\n }\n }, [onResize, shouldRenderEmbeddedOneTap]);\n /*\n * End One Tap Render Smoothing Logic\n */\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n if (!shouldRenderOneTap) {\n return;\n }\n\n const { oneTap } = readB2CInternals(stytch);\n const clientResult = await oneTap.createOneTapClient();\n if (!clientResult.success) {\n if (clientResult.reason === 'oauth_config_not_found') {\n setOneTapError(OneTapErrors.NoConfiguredOAuthClient);\n } else if (clientResult.reason === 'no_signup_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredSignupRedirectUrls);\n } else if (clientResult.reason === 'no_login_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredLoginRedirectUrls);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n const onOneTapCancelled = (showError?: boolean) => {\n setCanDisplayOneTap(false);\n setHeight(OAUTH_BUTTON_HEIGHT);\n if (showError) {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n };\n\n /**\n * One Tap is composed of two calls, an init() call and a prompt() call.\n * The init() call takes in a parent_id where One Tap should be shown\n * prompt() does the actual showing.\n * If the element does not exist, we show One Tap in the upper right corner.\n * If the element does exist, One Tap's lifecycle is tied to the lifecycle of said element.\n * Here, we call init() then prompt() in the useEffect. If the component unmounts before\n * prompt() is called, One Tap falls back to the element-does-not-exist behavior.\n * Fix: add a check for whether the component is still rendered immediately before we\n * call prompt, preventing this race condition\n */\n if (isUnmounted.current) {\n return;\n }\n\n const renderResult = await client.render({\n callback: oneTap.createOnSuccessHandler({\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n }),\n onOneTapCancelled,\n style: { position },\n cancelOnTapOutside,\n });\n\n // Check if the component has become unmounted during the async OT render process\n // Kill the rest of the logic if so\n if (isUnmounted.current) {\n client.cancel();\n return;\n }\n\n setCanDisplayOneTap(renderResult.success);\n setPending(false);\n\n if (!renderResult.success) {\n if (renderResult.reason === 'unregistered_origin') {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n if (renderResult.reason === 'invalid_client') {\n setOneTapError(OneTapErrors.InvalidOAuthClient);\n }\n logger.error('Unable to render One Tap prompt', renderResult);\n }\n return client;\n }, [\n shouldRenderOneTap,\n stytch,\n isUnmounted,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.signupRedirectURL,\n position,\n cancelOnTapOutside,\n ]);\n\n useEffect(() => {\n let client: GoogleOneTapClient | undefined;\n attemptToLoadOneTap()\n .then(($client) => (client = $client))\n .catch((err) => {\n logger.error('Unable to render One Tap prompt', err);\n setCanDisplayOneTap(false);\n setPending(false);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n // Fallback Google auth button in case One Tap cannot be displayed\n const fallbackButton = (\n <OAuthButton\n providerType={OAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedOAuth(OAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === OAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (isOnlyFloatingOneTap) {\n return <OneTapMountNode enableShadowDOM={options.enableShadowDOM} />;\n }\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n if (shouldRenderEmbeddedOneTap && OneTapProvider.willGoogleOneTapShowEmbedded()) {\n return (\n <div className={classNames(styles.container, { [styles.pending]: pending })} style={{ height: height + 'px' }}>\n {pending && <CircularProgress size={25} />}\n {canDisplayOneTap ? <OneTapMountNode enableShadowDOM={options.enableShadowDOM} /> : fallbackButton}\n </div>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const AmazonIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#F90\"\n d=\"M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69\"\n />\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const AppleIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#000\"\n d=\"M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const BinanceIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#F3BA2F\"\n d=\"m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z\"\n />\n <path fill=\"#F3BA2F\" d=\"M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const BitbucketIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#1868DB\"\n d=\"m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const CoinbaseIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#0052FF\" d=\"M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const DiscordIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#5865F2\"\n d=\"M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const FacebookIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#0866FF\"\n d=\"M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10\"\n />\n <path\n fill=\"#fff\"\n d=\"m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const FigmaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#24CB71\" d=\"M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0\" />\n <path fill=\"#FF7237\" d=\"M10 1v6h3a3 3 0 0 0 0-6z\" />\n <path fill=\"#00B6FF\" d=\"M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n <path fill=\"#FF3737\" d=\"M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3\" />\n <path fill=\"#874FFF\" d=\"M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const GitlabIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#E24329\"\n d=\"m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FCA326\"\n d=\"m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const LinkedinIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#007EBB\"\n fillRule=\"evenodd\"\n d=\"M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const MetamaskIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#FF5C16\"\n d=\"m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z\"\n />\n <path\n fill=\"#FF5C16\"\n d=\"m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z\"\n />\n <path\n fill=\"#E34807\"\n d=\"m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z\"\n />\n <path\n fill=\"#FF8D5D\"\n d=\"M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z\"\n />\n <path fill=\"#FF8D5D\" d=\"M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z\" />\n <path\n fill=\"#661800\"\n d=\"M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96\"\n />\n <path fill=\"#C0C4CD\" d=\"M11.02 17.1v1.58H8.98v-1.59z\" />\n <path fill=\"#E7EBF6\" d=\"m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const PhantomIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#AB9FF2\"\n d=\"M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const SalesforceIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#00A1E0\"\n fillRule=\"evenodd\"\n d=\"M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const SnapchatIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#fff\"\n d=\"M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5\"\n className={_styles.darkInvert}\n />\n <path\n fill=\"#000\"\n d=\"M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const TiktokIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#161823\"\n fillRule=\"evenodd\"\n d=\"M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const TwitchIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#fff\" d=\"m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\" />\n <path\n fill=\"#9146FF\"\n d=\"M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\"\n />\n <path fill=\"#9146FF\" d=\"M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const XTwitterIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#000\"\n d=\"M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import {\n AmazonIcon,\n AppleIcon,\n BinanceIcon,\n BitbucketIcon,\n CoinbaseIcon,\n DiscordIcon,\n FacebookIcon,\n FigmaIcon,\n GithubIcon,\n GitlabIcon,\n GmailIcon,\n GoogleIcon,\n LinkedinIcon,\n MetamaskIcon,\n MicrosoftIcon,\n OutlookIcon,\n PhantomIcon,\n SalesforceIcon,\n SlackIcon,\n SnapchatIcon,\n TiktokIcon,\n TwitchIcon,\n XTwitterIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\nimport type { IconRegistry } from '../../components/IconRegistry';\n\nexport const oauthIcons = {\n amazon: AmazonIcon,\n apple: AppleIcon,\n bitbucket: BitbucketIcon,\n coinbase: CoinbaseIcon,\n discord: DiscordIcon,\n facebook: FacebookIcon,\n figma: FigmaIcon,\n github: GithubIcon,\n gitlab: GitlabIcon,\n google: GoogleIcon,\n linkedin: LinkedinIcon,\n microsoft: MicrosoftIcon,\n salesforce: SalesforceIcon,\n slack: SlackIcon,\n snapchat: SnapchatIcon,\n tiktok: TiktokIcon,\n twitch: TwitchIcon,\n xTwitter: XTwitterIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport const cryptoIcons = {\n phantom: PhantomIcon,\n metamask: MetamaskIcon,\n binance: BinanceIcon,\n coinbase: CoinbaseIcon,\n} satisfies IconRegistry<string>;\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof cryptoIcons\n | keyof typeof emailIcons;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Find code of next character\n var charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n var carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { Wallets } from '@stytch/core/public';\nimport { encode } from 'bs58';\n\nimport { GenericWalletIcon } from '../assets';\nimport { cryptoIcons } from '../ui/b2c/components/Icons';\nimport { IconRegistry } from '../ui/components/IconRegistry';\nimport { getButtonId, usePresentation } from '../ui/components/PresentationConfig';\n\ntype ProviderRequest = ({\n method,\n params,\n}: {\n method: 'eth_requestAccounts' | 'personal_sign';\n params?: string[];\n}) => string[] | string;\n\ntype ETHProvider = {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request: ProviderRequest;\n};\n\ndeclare global {\n interface Window {\n solana: {\n isPhantom?: boolean;\n connect: () => { publicKey: { toString: () => string } };\n request: ({\n method,\n params,\n }: {\n method: 'signMessage';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: Record<string, any>;\n }) => { signature: Uint8Array };\n };\n\n ethereum: {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request?: ({ method, params }: { method: string; params?: string[] }) => string[] | string;\n providers?: ETHProvider[];\n };\n\n BinanceChain: { request: ProviderRequest };\n }\n}\n\nconst hasMultipleEthereumWallets = () => !!window.ethereum?.providers;\n\nconst hasMetaMask = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask)\n : window.ethereum.isMetaMask);\n\nconst hasCoinbaseWallet = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet)\n : window.ethereum?.isCoinbaseWallet);\n\nconst hasOtherEthereumWallet = () => !hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;\n\nconst getMetaMaskProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask) : window.ethereum;\n\nconst getCoinbaseProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet) : window.ethereum;\n\nconst getOtherInjectedProvider = () =>\n window.ethereum.providers?.find((wallet) => !wallet.isCoinbaseWallet && !wallet.isMetaMask);\n\ntype CryptoIcon = keyof typeof cryptoIcons;\nexport const walletIcons: Partial<Record<Wallets, CryptoIcon>> = {\n [Wallets.Phantom]: 'phantom',\n [Wallets.Binance]: 'binance',\n [Wallets.Coinbase]: 'coinbase',\n [Wallets.Metamask]: 'metamask',\n};\n\nexport const useCryptoButtonProps = () => {\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<CryptoIcon> = presentation.iconRegistry;\n\n return {\n getIcon: (wallet: Wallets) => {\n const iconName = walletIcons[wallet];\n return iconName ? iconRegistry[iconName] : GenericWalletIcon;\n },\n getId: (wallet: Wallets) => getButtonId(`wallet-${wallet}`, presentation.options),\n };\n};\n\nexport const WalletToText: Record<Wallets, MessageDescriptor> = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.phantom', message: 'Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.binance', message: 'Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.coinbase', message: 'Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.metamask', message: 'Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({ id: 'crypto.wallet.otherEthereum', message: 'Other Ethereum Wallet' }),\n [Wallets.GenericSolanaWallet]: msg({ id: 'crypto.wallet.otherSolana', message: 'Other Solana Wallet' }),\n};\n\nexport const isWalletVisible = (wallet: Wallets): boolean => {\n switch (wallet) {\n case Wallets.Metamask:\n return !!window.ethereum && hasMetaMask();\n case Wallets.Phantom:\n return (!!window.solana && window.solana?.isPhantom) ?? false;\n case Wallets.Binance:\n return !!window.BinanceChain;\n case Wallets.Coinbase:\n return !!window.ethereum && hasCoinbaseWallet();\n case Wallets.GenericEthereumWallet:\n return !!window.ethereum && hasOtherEthereumWallet();\n case Wallets.GenericSolanaWallet:\n return !!window.solana && !window.solana.isPhantom;\n default:\n return false;\n }\n};\n\nconst connectWithEthereumProvider = async (request: ProviderRequest): Promise<string> => {\n const [address] = await request({\n method: 'eth_requestAccounts',\n });\n return address;\n};\n\nexport const connectWithWallet = async ({ wallet }: { wallet: Wallets }): Promise<string> => {\n switch (wallet) {\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Phantom: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericSolanaWallet: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n default:\n return '';\n }\n};\n\nconst signMessageWithSolanaProvider = async (message: string): Promise<string> => {\n const encodedMessage = new TextEncoder().encode(message);\n const signResp = await window.solana.request({\n method: 'signMessage',\n params: {\n message: encodedMessage,\n display: 'utf8',\n },\n });\n return encode(signResp.signature);\n};\n\nconst signMessageWithEthereumProvider = async (\n request: ProviderRequest,\n message: string,\n address: string,\n): Promise<string> => {\n const signature = await request({\n method: 'personal_sign',\n params: [message, address],\n });\n return signature as string;\n};\n\nexport const signMessageWithWallet = async ({\n wallet,\n message,\n address,\n}: {\n wallet: Wallets;\n message: string;\n address: string;\n}): Promise<string> => {\n switch (wallet) {\n case Wallets.Phantom:\n case Wallets.GenericSolanaWallet:\n return signMessageWithSolanaProvider(message);\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n default:\n return '';\n }\n};\n\nexport const isSolanaWallet = (wallet: Wallets) => {\n const solanaWallets: Wallets[] = [Wallets.Phantom, Wallets.GenericSolanaWallet];\n return solanaWallets.includes(wallet);\n};\n\nexport const isEthereumWallet = (wallet: Wallets) => {\n const ethWallets: Wallets[] = [Wallets.Binance, Wallets.GenericEthereumWallet, Wallets.Coinbase, Wallets.Metamask];\n return ethWallets.includes(wallet);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { connectWithWallet, isSolanaWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const ConnectWallet = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not connect to wallet' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const walletOption = state.formState.cryptoState.walletOption;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onConnectWallet = async () => {\n const address = await connectWithWallet({ wallet: walletOption });\n stytchClient.cryptoWallets\n .authenticateStart({\n crypto_wallet_address: address,\n crypto_wallet_type: walletType,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticateStart, data });\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n walletAddress: address,\n walletChallenge: data.challenge,\n walletOption: walletOption,\n },\n });\n\n dispatch({ type: 'transition', screen: AppScreens.CryptoSignMessage });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onConnectWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.connectWallet.title', message: 'Connecting to your wallet...' })}\n body={t({\n id: 'crypto.connectWallet.instructionPopup',\n message: 'Complete sign in by connecting through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Error = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.error.title', message: 'Looks like there was an error' })}\n body={t({\n id: 'crypto.error.content',\n message: 'Your sign in request could not be completed. Go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { GenericWalletIcon } from '../../../../assets';\nimport { isWalletVisible, useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\n\nconst MAX_BUTTONS = 6;\n\nconst walletMessages = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.continueWithPhantom', message: 'Continue with Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.continueWithBinance', message: 'Continue with Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.continueWithCoinbase', message: 'Continue with Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.continueWithMetamask', message: 'Continue with Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({\n id: 'crypto.wallet.continueWithEthereum',\n message: 'Continue with Other Ethereum Wallet',\n }),\n [Wallets.GenericSolanaWallet]: msg({\n id: 'crypto.wallet.continueWithSolana',\n message: 'Continue with Other Solana Wallet',\n }),\n} satisfies Record<Wallets, MessageDescriptor>;\n\nexport const CryptoWalletButtons = ({ type }: { type: 'main' | 'other' }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n\n const { getIcon, getId } = useCryptoButtonProps();\n\n const oAuthOptions = config.oauthOptions?.providers.length ?? 0;\n\n // Crypto Buttons on screen = Maximum Buttons - OAuth Buttons - 1 (Other crypto or set up new wallet)\n const cryptoButtonsOnMainScreen = MAX_BUTTONS - oAuthOptions - 1;\n const onWalletStart = (wallet: Wallets) => {\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n ...state.formState.cryptoState,\n walletOption: wallet,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConnect });\n };\n\n const allDetectedWallets = (Object.keys(Wallets) as (keyof typeof Wallets)[]).filter((wallet) =>\n isWalletVisible(Wallets[wallet]),\n );\n\n const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;\n\n const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);\n const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);\n\n const walletsToRender = type === 'main' ? mainWallets : otherWallet;\n\n return (\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const walletEnum = Wallets[wallet];\n const Icon = getIcon(walletEnum);\n return (\n <Button\n key={wallet}\n variant=\"outline\"\n icon={<Icon />}\n onClick={() => onWalletStart(walletEnum)}\n id={getId(walletEnum)}\n >\n {type === 'main' ? t(walletMessages[walletEnum]) : t(WalletToText[walletEnum])}\n </Button>\n );\n })}\n\n {renderOtherScreenButton && type === 'main' ? (\n <Button\n variant=\"outline\"\n icon={<GenericWalletIcon />}\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoOtherScreen })}\n id={getId(Wallets.GenericEthereumWallet)}\n >\n {t(msg({ id: 'crypto.wallet.continueWithOtherWallet', message: 'Continue with other Crypto Wallet' }))}\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoSetupWallet })}\n >\n {t(msg({ id: 'crypto.wallet.setupNewWallet', message: 'Set up a new crypto wallet' }))}\n </Button>\n )}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\nimport { CryptoWalletButtons } from './WalletButtons';\n\nexport const OtherCryptoWallets = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'crypto.continueWithOtherWallet.title', message: 'Continue with other wallet' })}\n </Typography>\n\n <ButtonColumn>\n <CryptoWalletButtons type=\"other\" />\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button, { ButtonAnchor } from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const SetupNewWallet = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n const { getIcon, getId } = useCryptoButtonProps();\n const walletsToRender = [Wallets.Metamask, Wallets.Phantom, Wallets.Coinbase, Wallets.Binance];\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.setupNewWallet.title', message: 'Set up a new crypto wallet' })}\n body={t({\n id: 'crypto.setupNewWallet.content',\n message: 'Get started by downloading any Ethereum or Solana wallet.',\n })}\n helper={t({\n id: 'crypto.setupNewWallet.instruction',\n message:\n 'We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in.',\n })}\n />\n\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const Icon = getIcon(wallet);\n return (\n <ButtonAnchor\n key={wallet}\n variant=\"outline\"\n target=\"_blank\"\n rel=\"noreferrer\"\n icon={<Icon />}\n href=\"https://metamask.io/\"\n id={getId(wallet)}\n >\n {t(WalletToText[wallet])}\n </ButtonAnchor>\n );\n })}\n\n <Button variant=\"primary\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { isSolanaWallet, signMessageWithWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const SignMessage = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not sign message' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onSignWallet = async () => {\n const signature = await signMessageWithWallet({\n wallet: walletOption,\n message: walletChallenge,\n address: walletAddress,\n });\n\n stytchClient.cryptoWallets\n .authenticate({\n crypto_wallet_address: walletAddress,\n crypto_wallet_type: walletType,\n signature,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConfirmation });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onSignWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.signMessage.title', message: 'Completing signature request...' })}\n body={t({\n id: 'crypto.signMessage.instruction',\n message: 'Complete the signature request through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Success = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Confirmation\n header={t({ id: 'crypto.success.title', message: 'Success!' })}\n text={t({ id: 'crypto.success.content', message: 'You have successfully connected your wallet.' })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\nfunction getActiveElement(root = document) {\n const activeElement = root.activeElement;\n return activeElement && activeElement.shadowRoot ? getActiveElement(activeElement.shadowRoot) : activeElement;\n}\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import type { OTPMethods } from '@stytch/core/public';\nimport type { ComponentType } from 'react';\n\nimport type { Values } from '../../utils/types';\nimport type { IconRegistry } from '../components/IconRegistry';\nimport type { StartPasskeyAuth } from '../hooks/usePromptPasskey';\nimport type { IconNames } from './components/Icons';\nimport type { AppScreens } from './GlobalContextProvider';\n\nexport type ProductId =\n | 'emailMagicLinks'\n | 'oauth'\n | 'otp'\n | 'crypto'\n | 'passwords'\n | 'passkeys'\n | 'passkeyRegistration';\n\n// tabs types\nexport const MagicLinkMethods = {\n Email: 'emailMagicLinks',\n} as const;\nexport type MagicLinkMethods = Values<typeof MagicLinkMethods>;\n\nexport const PasswordMethods = {\n Email: 'passwords',\n} as const;\nexport type PasswordMethods = Values<typeof PasswordMethods>;\n\nexport type TabMethods = OTPMethods | MagicLinkMethods | PasswordMethods;\n\n// mainScreen types\nexport type MainScreenKey = 'oauth' | 'crypto' | 'login-form' | 'divider' | 'passkey-button';\nexport type MainScreenGroup = MainScreenKey | MainScreenKey[];\n\nexport type MainScreenChildProps = {\n startPasskeyAuth: StartPasskeyAuth;\n};\n\nexport type StytchProduct = Readonly<{\n id: ProductId;\n\n screens: Partial<Record<AppScreens, ComponentType>>;\n tabs?: Partial<Record<TabMethods, ComponentType>>;\n mainScreen?: Partial<Record<MainScreenKey, ComponentType<MainScreenChildProps>>>;\n icons?: Partial<IconRegistry<IconNames>>;\n}>;\n","import type { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport { OTPMethods } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport { Tabs } from 'radix-ui';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../../../components/atoms/Button';\nimport Typography from '../../../../components/atoms/Typography';\nimport { useConfig } from '../../../GlobalContextProvider';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct, TabMethods } from '../../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../../utils';\nimport styles from './index.module.css';\n\nexport const OTPTabHeaders: Record<TabMethods, MessageDescriptor> = {\n [OTPMethods.SMS]: msg({ id: 'tab.text', message: 'Text' }),\n [OTPMethods.WhatsApp]: msg({ id: 'tab.whatsapp', message: 'WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [MagicLinkMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [PasswordMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n};\n\nexport const getTabMethods = (products: StytchProduct[], otpMethods: OTPMethods[]) => {\n const hasPassword = hasProduct(products, 'passwords');\n const tabMethods = new Set<TabMethods>();\n for (const { id } of products) {\n if (id === 'emailMagicLinks') {\n tabMethods.add(hasPassword ? PasswordMethods.Email : MagicLinkMethods.Email);\n } else if (id === 'passwords') {\n tabMethods.add(PasswordMethods.Email);\n } else if (id === 'otp') {\n for (const method of otpMethods) {\n tabMethods.add(method === OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);\n }\n }\n }\n return Array.from(tabMethods);\n};\n\nexport const LoginForm = () => {\n const { t } = useLingui();\n const { otpOptions, products } = useConfig();\n const productsIncludesOtp = hasProduct(products, 'otp');\n const otpMethods = productsIncludesOtp ? (otpOptions?.methods ?? []) : [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');\n const hasOTPEmail = productsIncludesOtp && otpMethods.includes(OTPMethods.Email);\n\n const tabMethods = getTabMethods(products, otpMethods);\n const tabMethodComponents = useProductComponents(products, 'tabs');\n\n if (hasEmailMagicLink && hasOTPEmail)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use both EML and Email OTP')}\n </Typography>\n );\n\n return (\n <Tabs.Root defaultValue={tabMethods[0]}>\n {tabMethods.length > 1 && (\n <Tabs.List className={styles.tabRow} aria-label={t({ message: 'Select login method', id: 'tab.listLabel' })}>\n {tabMethods.map((method) => (\n <Tabs.Trigger\n value={method}\n key={method}\n className={classNames(buttonClassNames({ variant: 'outline', block: true }), styles.tab)}\n >\n {t(OTPTabHeaders[method])}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n )}\n\n {tabMethods.map((method) => {\n const Component = tabMethodComponents![method];\n if (tabMethods.length > 1) {\n return (\n // We override tabIndex here because each tab will have some interactive element\n // > It is recommended that all tabpanel elements in a tab set are focusable if there are any panels in\n // > the set that contain content where the first element in the panel is not focusable.\n // - From: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/examples/tabs-automatic/#accessibilityfeatures\n <Tabs.Content value={method} key={method} tabIndex={-1}>\n <Component />\n </Tabs.Content>\n );\n } else {\n return <Component key={method} />;\n }\n })}\n </Tabs.Root>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertMagicLinkOptions, EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const MagicLinkEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const emailMagicLinksOptions = config.emailMagicLinksOptions;\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const submittingEmail = email;\n if (!submittingEmail.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.magicLinks.email\n .loginOrCreate(submittingEmail, convertMagicLinkOptions(emailMagicLinksOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email: submittingEmail } });\n setIsSubmitting(false);\n dispatch({ type: 'set_magic_link_email', email: submittingEmail });\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: submittingEmail, type: EmailSentType.LoginOrCreateEML },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { CountryCode, DEFAULT_OTP_EXPIRATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport PhoneInput, { getPhoneNumberProps } from '../../../../components/molecules/PhoneInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const OTPButtonText = {\n [OTPMethods.SMS]: msg({ id: 'button.sms', message: 'Continue with text message' }),\n [OTPMethods.WhatsApp]: msg({ id: 'button.whatsapp', message: 'Continue with WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'button.emailLogin', message: 'Continue with email' }),\n};\n\nexport const OTPEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n return setErrorMessage(errorText);\n };\n\n const handleEmailSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setIsSubmitting(true);\n\n if (!email.match(EMAIL_REGEX))\n return stopSubmit(t({ id: 'errors.invalidEmail', message: 'Invalid email address.' }));\n\n setErrorMessage('');\n setIsSubmitting(true);\n\n stytchClient.otps.email\n .loginOrCreate(email, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n login_template_id: config.otpOptions?.loginTemplateId,\n signup_template_id: config.otpOptions?.signupTemplateId,\n locale: config.otpOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.LoginOrCreateOTP },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleEmailSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[OTPMethods.Email])}\n </Button>\n </Column>\n );\n};\n\nexport const PhoneForm = ({ method }: { method: OTPMethods }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [phoneNumber, setPhoneNumber] = useState('');\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const [country, setCountry] = useState<CountryCode>('US');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n setErrorMessage(errorText);\n };\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2CInternals(stytchClient).clientsideServices);\n\n const handlePhoneSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country,\n });\n\n if (!parsedNumber.isValid) {\n return stopSubmit(\n t({\n id: 'error.invalidPhoneNumber',\n message: 'Phone number format is invalid. Ensure the phone number is in the E.164 format.',\n }),\n );\n }\n\n setIsSubmitting(true);\n setErrorMessage('');\n\n stytchClient.otps[method]\n .loginOrCreate(parsedNumber.number, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: method,\n methodId: data.method_id,\n otpDestination: parsedNumber.number,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n return (\n <Column as=\"form\" gap={4} onSubmit={handlePhoneSubmit}>\n <PhoneInput\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n country={country}\n setCountry={setCountry}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n hasPasskeys={hasPasskeys}\n error={errorMessage}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[method])}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { PasskeyIcon } from '../../../../../assets';\nimport Button from '../../../../components/atoms/Button';\nimport { StartPasskeyAuth } from '../../../../hooks/usePromptPasskey';\n\nexport const PasskeyButton = ({ startPasskeyAuth }: { startPasskeyAuth: StartPasskeyAuth }) => {\n const { t } = useLingui();\n\n return (\n <Button icon={<PasskeyIcon />} variant=\"outline\" onClick={startPasskeyAuth}>\n {t({ id: 'button.loginWithPasskey', message: 'Login with a Passkey' })}\n </Button>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport { AppScreens, useConfig, useErrorCallback, useGlobalReducer, useStytch } from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const PasswordsEmailForm = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const onError = useErrorCallback();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n\n readB2CInternals(stytch)\n .searchManager.searchUser(email)\n .then(({ userType }) => {\n dispatch({ type: 'update_password_state', passwordState: { email, type: userType } });\n dispatch({ type: 'transition', screen: AppScreens.PasswordCreateOrLogin });\n readB2CInternals(stytch).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { arrayUtils } from '@stytch/core';\nimport React from 'react';\n\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport LastUsed from '../../../components/molecules/LastUsed';\nimport { GoogleOneTap } from '../../components/GoogleOneTap';\nimport { OAuthButton } from '../../components/OAuthButton';\nimport { useConfig } from '../../GlobalContextProvider';\nimport { useLastUsedOAuth } from './useLastUsedOAuth';\n\nexport const OAuthButtons = () => {\n const config = useConfig();\n const [lastUsedOAuth, setLastUsedOAuth] = useLastUsedOAuth();\n\n if (!config.oauthOptions) return <></>;\n const { providers, loginRedirectURL, signupRedirectURL } = config.oauthOptions;\n\n const [reorderedProviders, foundLastUsed] = arrayUtils.moveToFront(\n providers,\n (provider) => provider.type === lastUsedOAuth,\n );\n\n return (\n <ButtonColumn>\n {reorderedProviders.map((provider, index) => {\n const providerProps = {\n customScopes: provider.custom_scopes,\n providerParams: provider.provider_params,\n };\n\n if (provider.one_tap) {\n return (\n <GoogleOneTap\n position={provider.position}\n key={`oauth-${provider.type}`}\n {...providerProps}\n cancelOnTapOutside={provider.cancel_on_tap_outside}\n />\n );\n }\n\n const button = (\n <OAuthButton\n key={`oauth-${provider.type}`}\n providerType={provider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n onSuccess={() => setLastUsedOAuth(provider.type)}\n {...providerProps}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const PasskeyConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation\n text={t({ id: 'passkey.success.content', message: 'Your Passkey has been successfully authenticated.' })}\n />\n );\n};\n","export enum Device {\n DESKTOP = 'Desktop device',\n MOBILE = 'Mobile device',\n UNKNOWN = 'Unknown device',\n}\n\nexport const determineDeviceType = (userAgent: string): Device => {\n // TODO: Add more device types/ make more fine grained\n if (userAgent === '') {\n return Device.UNKNOWN;\n }\n\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const mobileKeywords = ['mobile', 'android', 'iphone', 'ipad', 'windows phone'];\n userAgent = userAgent.toLowerCase();\n for (const keyword of mobileKeywords) {\n if (userAgent.includes(keyword)) {\n return Device.MOBILE;\n }\n }\n\n return Device.DESKTOP;\n};\n\n// This commonly occurs when a user tries to register a Passkey using a QR code on a separate device\n// but the Passkey has already been sync'd to that device (e.g. the user registers an Apple passkey on their Macbook,\n// it then syncs to their iPhone, and then they try to register the same Passkey on their iPhone). At some point we\n// may be able to remove this logic when this is handled within the browser Passkeys UI.\nexport const SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'At least one credential matches an entry of the excludeCredentials list in the platform attached authenticator.';\nexport const CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.';\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport {\n CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n} from '../../../../utils/passkeys';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasskeyRegistrationStart = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [userState, setUserState] = useState<'noUser' | 'hasUser' | 'loading'>(() =>\n // We'll optimistically say if the user has a cached session then they are logged in, otherwise we try loading first\n stytchClient.user.getSync() != null ? 'hasUser' : 'loading',\n );\n const [error, setError] = useState<string>();\n const config = useConfig();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n useEffect(() => {\n stytchClient.user\n .get()\n .then(() => {\n setUserState('hasUser');\n })\n .catch((e: StytchAPIError) => {\n setUserState('noUser');\n onError(e);\n });\n }, [onError, stytchClient]);\n\n const [, dispatch] = useGlobalReducer();\n\n const onCreatePasskey = () => {\n setError(undefined);\n\n stytchClient.webauthn\n .register({\n domain: config.passkeyOptions?.domain,\n is_passkey: true,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.PasskeyRegister, data });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n\n if (\n e.message.includes(SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE) ||\n e.message.includes(CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE)\n ) {\n setError(\n t({\n id: 'error.duplicatePasskey',\n message:\n 'The Passkey cannot be created as it seems to be already registered. It is possible this Passkey was registered on another device but has synced cross-device.',\n }),\n );\n return;\n } else {\n setError(\n t({\n id: 'error.passkeyNotCreated',\n message:\n 'Your Passkey was not created. Click “Create a Passkey” to try again or skip without adding a Passkey.',\n }),\n );\n }\n });\n };\n\n const onSkip = () => {\n onEvent({ type: StytchEventType.PasskeySkip, data: {} });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n };\n\n if (userState === 'loading') {\n return <LoadingScreen />;\n }\n\n if (userState === 'noUser') {\n return (\n <ErrorText>\n {t({\n id: 'passkey.registrationStart.error.noUser',\n message: 'Error: Cannot use PasskeyRegistration component without active user authenticated.',\n })}\n </ErrorText>\n );\n }\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({\n id: 'passkey.registrationStart.title',\n message: 'Set up a new Passkey',\n })}\n body={t({\n id: 'passkey.registrationStart.subtitle',\n message: \"With Passkeys you don't need to remember complex passwords.\",\n })}\n helper={t({\n id: 'passkey.registrationStart.description',\n message:\n 'Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock. Creating a Passkey will allow you to easily and securely log in to your account.',\n })}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => onCreatePasskey()}>\n {t({\n id: 'button.createPasskey',\n message: 'Create a Passkey',\n })}\n </Button>\n\n {error && <ErrorText>{error}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={() => onSkip()}>\n {t({\n id: 'button.skip',\n message: 'Skip',\n })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport classNames from 'classnames';\nimport React, { useEffect, useRef } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Typography from '../../../components/atoms/Typography';\nimport Input from '../../../components/molecules/Input';\nimport styles from './EditableRow.module.css';\n\nexport type EditableRowState =\n | { type: 'viewing' } //\n | { type: 'editing'; id: string; newName: string }\n | { type: 'deleting'; id: string };\n\nconst commonButtonProps = {\n block: false,\n variant: 'ghost',\n} as const;\n\ntype Props = {\n id: string;\n name: string;\n className?: string;\n state: EditableRowState;\n updateState: (newState: EditableRowState) => void;\n handleEdit: (id: string, newName: string) => void;\n};\n\nexport const EditableRow = ({ id, name, className, state, updateState, handleEdit }: Props) => {\n const { t } = useLingui();\n\n const isEditing = isEditingRow(id, state);\n const othersEditing = state.type !== 'viewing' && state.id !== id;\n\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (isEditing) {\n inputRef.current?.focus();\n }\n }, [isEditing]);\n\n return (\n <form\n className={classNames(styles.row, className)}\n onSubmit={(evt) => {\n evt.preventDefault();\n if (isEditing) {\n handleEdit(id, state.newName);\n }\n }}\n data-testid={testId(id)}\n >\n <div className={styles.input}>\n {isEditing ? (\n <Input\n id={`passkey-name-${id}`}\n ref={inputRef}\n label={t({ id: 'passkey.editing.label', message: 'Passkey name' })}\n hideLabel\n value={isEditing ? state.newName : name}\n onChange={(e) => {\n if (isEditing) {\n updateState({ ...state, newName: e.target.value });\n }\n }}\n />\n ) : (\n <Typography color=\"muted\">{name}</Typography>\n )}\n </div>\n\n {(() => {\n if (state.type === 'deleting') return null;\n\n if (isEditing) {\n return (\n <div className={styles.actions}>\n <Button key=\"submit\" type=\"submit\" {...commonButtonProps}>\n {t({ id: 'button.save', message: 'Save' })}\n </Button>\n <Button onClick={() => updateState({ type: 'viewing' })} {...commonButtonProps}>\n {t({ id: 'button.cancel', message: 'Cancel' })}\n </Button>\n </div>\n );\n }\n\n if (state.type === 'viewing' || othersEditing) {\n return (\n <div className={styles.actions}>\n <Button\n // key required to workaround a React/Preact issue when button type is updated on re-render\n key=\"edit\"\n onClick={() => updateState({ type: 'editing', id, newName: name })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.edit', message: 'Edit' })}\n </Button>\n <Button\n onClick={() => updateState({ type: 'deleting', id })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.delete', message: 'Delete' })}\n </Button>\n </div>\n );\n }\n })()}\n </form>\n );\n};\n\nexport function isEditingRow(\n id: string,\n state: EditableRowState,\n): state is Extract<EditableRowState, { type: 'editing' }> {\n return state.type === 'editing' && state.id === id;\n}\n\nexport function testId(id: string) {\n return `editable-row-${id}`;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { logger } from '@stytch/core';\nimport { errorToStytchError, StytchEventType, WebAuthnRegistration } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport Typography from '../../../components/atoms/Typography';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { AppScreens, useEventCallback, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { EditableRow, EditableRowState } from './EditableRow';\nimport styles from './PasskeyRegistrationSuccess.module.css';\n\n// TODO: Add some type of device icon once we have better insight into that.\n// const deviceTypeToIcon: Partial<Record<Device, React.JSX.Element>> = {\n// [Device.DESKTOP]: <Computer />,\n// [Device.MOBILE]: <Mobile />,\n// };\n\ntype OptimisticUpdate = {\n registrations: WebAuthnRegistration[];\n update: Promise<unknown>;\n};\n\nexport const PasskeyRegistrationSuccess = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const user = useStytchUser();\n\n const [optimisticRegistrations, setOptimisticRegistrations] = useState<OptimisticUpdate>();\n const webAuthnRegistrations = optimisticRegistrations?.registrations ?? user?.webauthn_registrations;\n\n const [editableRowState, setEditableRowState] = useState<EditableRowState>({ type: 'viewing' });\n\n const onEvent = useEventCallback();\n const [, dispatch] = useGlobalReducer();\n\n const onSetUpANewPasskey = async () => {\n await optimisticRegistrations?.update;\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationStart });\n };\n\n const onDone = async () => {\n await optimisticRegistrations?.update;\n onEvent({ type: StytchEventType.PasskeyDone, data: {} });\n };\n\n const startOptimisticUpdate = (registrations: WebAuthnRegistration[], update: Promise<unknown>) => {\n const prevEditableRowState = { ...editableRowState };\n\n setOptimisticRegistrations({ registrations, update });\n setEditableRowState({ type: 'viewing' });\n\n update\n .catch((error) => {\n logger.error(error);\n errorToast({ message: errorToStytchError(error).message });\n setEditableRowState(prevEditableRowState);\n })\n .then(() => {\n setOptimisticRegistrations(undefined);\n });\n };\n\n const deleteReg = (id: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.filter((r) => r.webauthn_registration_id !== id),\n stytchClient.user.deleteWebauthnRegistration(id),\n );\n };\n\n const updateReg = (id: string, name: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.map((r) => (r.webauthn_registration_id === id ? { ...r, name } : r)),\n stytchClient.webauthn.update({ webauthn_registration_id: id, name }).then(() => stytchClient.user.get()),\n );\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'passkey.registrationSuccess.title',\n message: 'Passkey successfully created!',\n })}\n </Typography>\n\n {webAuthnRegistrations && webAuthnRegistrations.length > 0 && (\n <Column gap={4}>\n <Typography weight=\"medium\">\n {t({\n id: 'passkey.registrationSuccess.existingPasskeys',\n message: 'Existing Passkeys',\n })}\n </Typography>\n\n <Column className={styles.existing}>\n {webAuthnRegistrations.map((registration: WebAuthnRegistration) => (\n // TODO: Add some type of device icon once we have better insight into that.\n // deviceTypeToIcon[determineDeviceType(registration.user_agent)]\n <EditableRow\n className={styles.passkeyRow}\n key={registration.webauthn_registration_id}\n id={registration.webauthn_registration_id}\n name={registration.name}\n state={editableRowState}\n updateState={setEditableRowState}\n handleEdit={updateReg}\n />\n ))}\n </Column>\n </Column>\n )}\n\n <ButtonColumn>\n {editableRowState.type === 'deleting' ? (\n <>\n <Button\n variant=\"destructive\"\n onClick={() => {\n deleteReg(editableRowState.id);\n }}\n >\n {t({\n id: 'button.delete',\n message: 'Delete',\n })}\n </Button>\n\n <ErrorText\n // alert role to ensure this gets read out when the row delete button is clicked\n role=\"alert\"\n >\n {t({\n id: 'passkey.registrationSuccess.deleteWarning',\n message: 'Once deleted, the passkey cannot be restored.',\n })}\n </ErrorText>\n\n <Button\n variant=\"ghost\"\n onClick={() => {\n setEditableRowState({ type: 'viewing' });\n }}\n >\n {t({\n id: 'button.cancel',\n message: 'Cancel',\n })}\n </Button>\n </>\n ) : (\n <>\n <Button variant=\"primary\" disabled={editableRowState.type === 'editing'} onClick={onSetUpANewPasskey}>\n {t({\n id: 'passkey.registrationSuccess.setupAnother',\n message: 'Set up another Passkey',\n })}\n </Button>\n\n <Button variant=\"ghost\" disabled={editableRowState.type === 'editing'} onClick={onDone}>\n {t({\n id: 'button.done',\n message: 'Done',\n })}\n </Button>\n </>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { convertMagicLinkOptions, convertPasswordResetOptions } from '../../../../utils';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\n\n/**\n * Handle the common behavior part of email actions, used in conjunction with <EmailActionLayout>\n */\nexport function useResetResendPasswordActions() {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const email = state.formState.passwordState.email;\n const { emailMagicLinksOptions, passwordOptions } = useConfig();\n\n return {\n email,\n\n resendResetPassword: () =>\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)),\n\n sendMagicLink: async () => {\n const result = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n return result;\n },\n\n goBack: () => dispatch({ type: 'transition', screen: AppScreens.Main }),\n };\n}\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordBreached = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.breached.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.breached.content\"\n message=\"A different site where you use the same password had a security issue recently. For your safety, an email was sent to you at <bold>{email}</bold> to reset your password.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const PasswordConfirmation = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordDedupe = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.resetRequired.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.resetRequired.content\"\n message=\"We want to make sure your account is secure and that it's really you logging in! A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport React from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useStytch } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordForgot = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.forgot.title', message: 'Forgot your password?' })}\n description={\n <Trans\n id=\"password.forgot.content\"\n message=\"A link to reset your password was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={() => {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n\n return resendResetPassword();\n }}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useErrorCallback, useEventCallback } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordSetNew = () => {\n const { t } = useLingui();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n\n const { email, resendResetPassword, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.setNew.title',\n message: 'Check your email',\n })}\n description={\n <Trans\n id=\"password.setNew.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={async () => {\n try {\n const data = await resendResetPassword();\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n onError(e);\n throw e;\n }\n }}\n goBack={goBack}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { debounce } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport VerticalTransition from '../../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const ResetPasswordScreen = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const { bootstrap } = useBootstrap();\n const [state, dispatch] = useGlobalReducer();\n const passwordToken = state.formState.resetPasswordState.token;\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const resetTokenType = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n return parsed?.tokenType ?? '';\n }, [stytchClient]);\n\n const [password, setPassword] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n // Passwordless login states\n const [loginErrorMessage, setLoginErrorMessage] = useState('');\n const [isLoggingIn, setIsLoggingIn] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, feedback, valid_password, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n });\n }),\n [stytchClient.passwords],\n );\n\n useEffect(() => {\n if (resetTokenType === 'login') {\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: Error) => {\n onError(e);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [resetTokenType]);\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .resetByEmail({\n token: passwordToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordResetByEmail, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n };\n\n const handlePasswordlessLogin = () => {\n setLoginErrorMessage('');\n setIsLoggingIn(true);\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setLoginErrorMessage(getTranslatedError(e, t));\n })\n .finally(() => {\n setIsLoggingIn(false);\n });\n };\n\n if (resetTokenType === 'login') {\n return (\n // Same as <LoggingInScreen>, but use its own string ID\n <Typography variant=\"header\" align=\"center\">\n {t({\n id: 'password.reset.loggingInProgress',\n message: 'Logging in...',\n })}\n </Typography>\n );\n }\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <form onSubmit={handleSubmit}>\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'password.reset.title',\n message: 'Reset your password',\n })}\n </Typography>\n\n <Column gap={2}>\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <div>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n </div>\n </Column>\n\n <ButtonColumn\n top={\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n }\n bottom={\n <Column gap={2}>\n <Button variant=\"outline\" disabled={isLoggingIn} onClick={handlePasswordlessLogin} loading={isLoggingIn}>\n <VerticalTransition\n primary={t({\n id: 'password.reset.loginWithoutPassword',\n message: 'Login without a password',\n })}\n secondary={t({\n id: 'login.loading',\n message: 'Logging in...',\n })}\n triggered={isLoggingIn}\n />\n </Button>\n\n {loginErrorMessage && <ErrorText>{loginErrorMessage}</ErrorText>}\n </Column>\n }\n />\n </Column>\n </form>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES } from '@stytch/core';\nimport { OTPMethods, StytchEventType, StytchSDKAPIError } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { convertMagicLinkOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport {\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport function usePasswordlessAuthenticate() {\n const { t } = useLingui();\n\n const stytchClient = useStytch();\n const { emailMagicLinksOptions, otpOptions } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const email = state.formState.passwordState.email;\n\n const sendLink = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email } });\n dispatch({ type: 'set_magic_link_email', email: email });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const sendCode = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.otps.email.loginOrCreate(email, {\n expiration_minutes: otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n locale: otpOptions?.locale,\n });\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return {\n sendLink,\n sendCode,\n isSubmitting,\n };\n}\n","import { EmailSentType } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../../components/organisms/EmailConfirmationView';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\n/**\n * Resolves the best email domain to use as a hint for login\n */\nexport const useEmailDomain = () => {\n const stytch = useStytch();\n const config = useConfig();\n /**\n * Read the emailDomains out of sync storage, then read out of async storage\n * TODO - Should all bootstrap data live in the config somewhere?\n */\n const [emailDomains, setEmailDomains] = useState(() => {\n const { emailDomains } = readB2CInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2CInternals(stytch)\n .bootstrap.getAsync()\n .then(({ emailDomains }) => {\n setEmailDomains(emailDomains);\n });\n }, [stytch]);\n\n // If a domain is explicitly passed in, use it!\n if (config.emailMagicLinksOptions?.domainHint) {\n return config.emailMagicLinksOptions?.domainHint;\n }\n // If there can only be one logical choice, use it!\n if (emailDomains?.length === 1) {\n return emailDomains[0];\n }\n // If it isn't clear who sent the email\n // we simply won't provide a hint!\n return null;\n};\n\nexport const EmailConfirmation = ({ showGoBack = true }: { showGoBack?: boolean }) => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n const { sendLink, isSubmitting } = usePasswordlessAuthenticate();\n\n const email =\n state.formState.magicLinkState.email !== ''\n ? state.formState.magicLinkState.email\n : state.formState.passwordState.email;\n\n const goBack = () => {\n dispatch({ type: 'set_magic_link_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.LoginOrCreateEML },\n });\n };\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={showGoBack ? goBack : undefined}\n resend={sendLink}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../utils/internal';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { ResendOTPButton } from '../../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../../components/organisms/SentOTPEntry';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const OTPAuthenticate = ({ hideBackButton = false }: { hideBackButton?: boolean }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const destination = state.formState.otpState.otpDestination;\n const selectionMethod = state.formState.otpState.type;\n const [errorMessage, setErrorMessage] = useState('');\n const [formattedDestination, setFormattedDestination] = useState(destination);\n\n const calculateExpiration = () =>\n Date.now() + 1000 * 60 * (config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES);\n\n useEffect(() => {\n const parseDestination = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2CInternals(stytchClient).clientsideServices.parsedPhoneNumber({ phoneNumber });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: destination,\n });\n\n setFormattedDestination(selectionMethod === OTPMethods.Email ? destination : national);\n };\n\n parseDestination();\n }, [selectionMethod, destination, stytchClient]);\n\n const [expiration, setExpiration] = useState(calculateExpiration);\n const resendCountdown = useCountdown();\n\n const resendOTP = async () => {\n if (selectionMethod === OTPMethods.Email) {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: destination, type: EmailSentType.LoginOrCreateOTP },\n });\n }\n\n try {\n const data = await stytchClient.otps[selectionMethod].loginOrCreate(destination, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n });\n\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n setExpiration(calculateExpiration());\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: selectionMethod,\n methodId: data.method_id,\n otpDestination: destination,\n },\n });\n } catch (e: unknown) {\n onError(e as StytchAPIError);\n setErrorMessage(getTranslatedError(e as StytchAPIError, t));\n throw e;\n }\n };\n\n const handleSubmit = async (otp: string) => {\n setIsSubmitting(true);\n stytchClient.otps\n .authenticate(otp, state.formState.otpState.methodId, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.OTPsAuthenticate, data });\n setIsSubmitting(false);\n dispatch({\n type: 'transition',\n screen: AppScreens.OTPConfirmation,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n resendCountdown.clear();\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column gap={6}>\n <SentOTPEntry\n expiration={expiration}\n formattedDestination={formattedDestination}\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={resendOTP} isSubmitting={isSubmitting} />\n\n {!hideBackButton && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const OTPConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation text={t({ id: 'otp.success.content', message: 'Your passcode has been successfully verified.' })} />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasswordAuthenticate = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .authenticate({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const onForgot = () => {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgot });\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} disabled />\n\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={onForgot}>\n {t({ id: 'button.forgotPassword', message: 'Forgot your password?' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useMemo, useState } from 'react';\n\nimport { convertPasswordResetOptions, debounce, noop } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const PasswordNewUser = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { bootstrap } = useBootstrap();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const email = state.formState.passwordState.email;\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((email: string, password: string) => {\n setErrorMessage('');\n stytchClient.passwords\n .strengthCheck({ email, password })\n .then(({ score, feedback, valid_password, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(email, password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .create({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordCreate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={noop} disabled />\n\n <PasswordInput password={password} setPassword={onPasswordChange} error={errorMessage} {...passwordInputProps} />\n\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { EmailConfirmation } from './EmailConfirmation';\nimport { OTPAuthenticate } from './OTPAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\ntype PasswordlessAuthenticateProps = {\n secondaryType: 'eml' | 'otp' | undefined;\n};\n\nexport const PasswordlessAuthenticate = ({ secondaryType }: PasswordlessAuthenticateProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [errorMessage, setErrorMessage] = useState('');\n\n const { sendLink, sendCode } = usePasswordlessAuthenticate();\n const passwordOptions = config.passwordOptions;\n\n const email = state.formState.passwordState.email;\n\n const resetPassword = () => {\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n useMountEffect(() => {\n switch (secondaryType) {\n case 'eml':\n sendLink().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n case 'otp':\n sendCode().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n default:\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n });\n return;\n }\n });\n\n if (!secondaryType) {\n return null;\n }\n\n return (\n <>\n {secondaryType === 'eml' ? <EmailConfirmation showGoBack={false} /> : <OTPAuthenticate hideBackButton />}\n\n <Divider />\n\n <Column gap={2}>\n <Button onClick={resetPassword} variant=\"outline\">\n {t({ id: 'button.createPasswordInstead', message: 'Create a password instead' })}\n </Button>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n </Column>\n </>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { OTPMethods } from '@stytch/core/public';\nimport React, { Dispatch } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\nimport { Action } from '../../reducer';\nimport { hasProduct } from '../../utils';\nimport { PasswordAuthenticate } from '../Password/PasswordAuthenticate';\nimport { PasswordNewUser } from '../Password/PasswordNewUser';\nimport { PasswordlessAuthenticate } from './PasswordlessAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\nexport const PasswordCreateAuthenticate = () => {\n const { t } = useLingui();\n const { emailMagicLinksOptions, otpOptions, products } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n\n const otpMethods = otpOptions?.methods ?? [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;\n const hasOTPEmail = otpMethods.includes(OTPMethods.Email);\n const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;\n const userType = state.formState.passwordState.type;\n\n const secondaryAuth = useSecondaryAuthenticate(secondaryType, { dispatch });\n\n return (\n <Column gap={2}>\n {(() => {\n switch (userType) {\n case 'new':\n return (\n <Column gap={6}>\n {secondaryAuth ? (\n <TextColumn\n header={t({ id: 'password.createAccount.title', message: 'Create an account' })}\n body={t({\n id: 'createAccount.title',\n message: 'Choose how you would like to create your account.',\n })}\n />\n ) : (\n <TextColumn\n header={t({ id: 'password.setPassword.title', message: 'Set a password' })}\n body={t({\n id: 'password.createAccount.content',\n message: 'Finish creating your account by setting a password.',\n })}\n />\n )}\n\n {secondaryAuth && (\n <Button variant=\"primary\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n\n {secondaryAuth && <Divider />}\n\n <PasswordNewUser />\n </Column>\n );\n\n case 'password':\n return (\n <Column gap={6}>\n <Typography variant=\"header\">{t({ id: 'password.login.title', message: 'Log in' })}</Typography>\n\n <PasswordAuthenticate />\n\n {secondaryAuth && <Divider />}\n\n {secondaryAuth && (\n <Button variant=\"outline\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n </Column>\n );\n\n case 'passwordless':\n return <PasswordlessAuthenticate secondaryType={secondaryType} />;\n }\n })()}\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n\nfunction useSecondaryAuthenticate(\n secondaryType: 'eml' | 'otp' | undefined,\n {\n dispatch,\n }: {\n dispatch: Dispatch<Action>;\n },\n) {\n const { t } = useLingui();\n const { sendLink, sendCode, isSubmitting } = usePasswordlessAuthenticate();\n\n if (secondaryType == null) {\n return undefined;\n }\n\n const buttonText =\n secondaryType === 'eml'\n ? t({\n id: 'button.emailMagicLink',\n message: 'Email me a login link',\n })\n : t({\n id: 'button.emailOTP',\n message: 'Email me a login code',\n });\n\n const handle =\n secondaryType === 'eml'\n ? async () => {\n await sendLink();\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n }\n : async () => {\n await sendCode();\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n };\n\n return {\n buttonText,\n handle,\n isSubmitting,\n };\n}\n","'use client';\n\nimport { OneTapPositions, OTPMethods } from '@stytch/core/public';\nimport React from 'react';\n\nimport { GoogleOneTap } from './components/GoogleOneTap';\nimport { cryptoIcons, emailIcons, oauthIcons } from './components/Icons';\nimport { AppScreens } from './GlobalContextProvider';\nimport { ConnectWallet } from './screens/Crypto/ConnectWallet';\nimport { Error } from './screens/Crypto/Error';\nimport { OtherCryptoWallets } from './screens/Crypto/OtherWallets';\nimport { SetupNewWallet } from './screens/Crypto/SetupNewWallet';\nimport { SignMessage } from './screens/Crypto/SignMessage';\nimport { Success } from './screens/Crypto/Success';\nimport { CryptoWalletButtons } from './screens/Crypto/WalletButtons';\nimport { LoginForm } from './screens/Main/LoginForm';\nimport { MagicLinkEmailForm } from './screens/Main/LoginForm/MagicLinkForm';\nimport { OTPEmailForm, PhoneForm } from './screens/Main/LoginForm/OTPForm';\nimport { PasskeyButton } from './screens/Main/LoginForm/PasskeyButton';\nimport { PasswordsEmailForm } from './screens/Main/LoginForm/PasswordForm';\nimport { OAuthButtons } from './screens/Main/OAuthButtons';\nimport { PasskeyConfirmation } from './screens/Passkey/PasskeyConfirmation';\nimport { PasskeyRegistrationStart } from './screens/Passkey/PasskeyRegistrationStart';\nimport { PasskeyRegistrationSuccess } from './screens/Passkey/PasskeyRegistrationSuccess';\nimport { PasswordBreached } from './screens/Password/PasswordBreached';\nimport { PasswordConfirmation } from './screens/Password/PasswordConfirmation';\nimport { PasswordDedupe } from './screens/Password/PasswordDedupe';\nimport { PasswordForgot } from './screens/Password/PasswordForgot';\nimport { PasswordSetNew } from './screens/Password/PasswordSetNew';\nimport { ResetPasswordScreen } from './screens/Password/ResetPasswordScreen';\nimport { EmailConfirmation } from './screens/Secondary/EmailConfirmation';\nimport { OTPAuthenticate } from './screens/Secondary/OTPAuthenticate';\nimport { OTPConfirmation } from './screens/Secondary/OTPConfirmation';\nimport { PasswordCreateAuthenticate } from './screens/Secondary/PasswordCreateAuthenticate';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct } from './StytchProduct';\n\nconst PhoneFormSMS = () => <PhoneForm method={OTPMethods.SMS} />;\nconst PhoneFormWhatsApp = () => <PhoneForm method={OTPMethods.WhatsApp} />;\nconst MainWalletButtons = () => <CryptoWalletButtons type=\"main\" />;\nconst FloatingOneTap = () => <GoogleOneTap position={OneTapPositions.floating} />;\n\nexport const emailMagicLinks: StytchProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n tabs: {\n [MagicLinkMethods.Email]: MagicLinkEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchProduct = {\n id: 'oauth',\n screens: {\n [AppScreens.FloatingOneTap]: FloatingOneTap,\n },\n mainScreen: {\n oauth: OAuthButtons,\n },\n icons: oauthIcons,\n};\n\nexport const otp: StytchProduct = {\n id: 'otp',\n screens: {\n [AppScreens.OTPAuthenticate]: OTPAuthenticate,\n [AppScreens.OTPConfirmation]: OTPConfirmation,\n },\n tabs: {\n [OTPMethods.Email]: OTPEmailForm,\n [OTPMethods.SMS]: PhoneFormSMS,\n [OTPMethods.WhatsApp]: PhoneFormWhatsApp,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passwords: StytchProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordCreateOrLogin]: PasswordCreateAuthenticate,\n [AppScreens.PasswordResetForm]: ResetPasswordScreen,\n [AppScreens.PasswordForgot]: PasswordForgot,\n [AppScreens.PasswordBreached]: PasswordBreached,\n [AppScreens.PasswordSetNew]: PasswordSetNew,\n [AppScreens.PasswordDedupe]: PasswordDedupe,\n [AppScreens.PasswordConfirmation]: PasswordConfirmation,\n },\n tabs: {\n [PasswordMethods.Email]: PasswordsEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passkeys: StytchProduct = {\n id: 'passkeys',\n screens: {\n [AppScreens.PasskeyConfirmation]: PasskeyConfirmation,\n },\n mainScreen: {\n 'passkey-button': PasskeyButton,\n },\n};\n\nexport const passkeyRegistration: StytchProduct = {\n id: 'passkeyRegistration',\n screens: {\n [AppScreens.PasskeyRegistrationStart]: PasskeyRegistrationStart,\n [AppScreens.PasskeyRegistrationSuccess]: PasskeyRegistrationSuccess,\n },\n};\n\nexport const crypto: StytchProduct = {\n id: 'crypto',\n screens: {\n [AppScreens.CryptoConnect]: ConnectWallet,\n [AppScreens.CryptoSignMessage]: SignMessage,\n [AppScreens.CryptoOtherScreen]: OtherCryptoWallets,\n [AppScreens.CryptoSetupWallet]: SetupNewWallet,\n [AppScreens.CryptoError]: Error,\n [AppScreens.CryptoConfirmation]: Success,\n },\n mainScreen: {\n crypto: MainWalletButtons,\n },\n icons: cryptoIcons,\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passkeyRegistration } from './Products';\nimport { addProduct } from './utils';\n\nexport const PasskeyRegistrationContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passkeyRegistration);\n\n /**\n * Read the watermark out of sync storage, then read it out of async storage\n */\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasskeyRegistrationStart,\n formState: {\n ...DEFAULT_STATE.formState,\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { PasskeyRegistrationContainer } from '../../b2c/PasskeyRegistrationContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\n/**\n * The Stytch Passkey Registration component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasskeyRegistration\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasskeyRegistration = /* @__PURE__ */ createB2CComponent(\n 'StytchPasskeyRegistration',\n PasskeyRegistrationContainer,\n);\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, ResetPasswordSDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passwords } from './Products';\nimport { addProduct } from './utils';\n\nexport const ResetPasswordContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n passwordResetToken: rawToken,\n}: ResetPasswordSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passwords);\n\n // Default to reading token from URL if not provided\n let token = rawToken;\n if (!token) {\n const result = client.parseAuthenticateUrl();\n if (result?.tokenType === 'reset_password' || result?.tokenType === 'login') {\n token = result.token;\n }\n }\n\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasswordResetForm,\n formState: {\n ...DEFAULT_STATE.formState,\n resetPasswordState: {\n token: token!,\n },\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { ResetPasswordContainer } from '../../b2c/ResetPasswordContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport interface StytchResetPasswordProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StytchProps<TProjectConfiguration> {\n /**\n * A Stytch password reset token.\n */\n passwordResetToken: string;\n}\n\n/**\n * The Stytch Reset Password component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasswordReset\n * config={{\n * products: [Products.passwords],\n * passwordOptions: {\n * loginRedirectURL: '${exampleURL}/authenticate',\n * resetPasswordRedirectURL: '${exampleURL}/authenticate',\n * },\n * }}\n * passwordResetToken=\"PvC5UudZ7TPZbELt95yXAQ-8MeEUCRob8bUQ-g52fIJs\"\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasswordReset = /* @__PURE__ */ createB2CComponent('StytchPasswordReset', ResetPasswordContainer);\n","'use client';\n\nimport { Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { StytchClient } from '@stytch/web/headless';\nimport {\n StytchProvider as StytchProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchSession as useStytchSessionShared,\n useStytchUser as useStytchUserShared,\n withStytchPermissions as withStytchPermissionsShared,\n withStytchSession as withStytchSessionShared,\n withStytchUser as withStytchUserShared,\n} from '@stytch/web/react/b2c';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytch, withStytch } from '@stytch/web/react/b2c';\n\n/**\n * Returns the active User.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = useStytchUserShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchUserShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active user's Stytch session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = useStytchSessionShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchSessionShared<TAssumeHydrated>\n>;\n\nexport const withStytchUser = withStytchUserShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchUserShared<T, TAssumeHydrated>>;\n\nexport const withStytchSession = withStytchSessionShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchSessionShared<T, TAssumeHydrated>>;\n\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = true>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchPermissions = withStytchPermissionsShared as <\n Permissions extends Record<string, string>,\n T extends object,\n>(\n Component: ComponentType<T & { stytchPermissions: Record<string, Record<string, boolean>> }>,\n) => ReturnType<typeof withStytchPermissionsShared<Permissions, T>>;\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchClient}\n */\n stytch: StytchClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * If you encounter hydration errors relating to the use of this component,\n * set this to `false`.\n *\n * This value defaults to `true` in `@stytch/react`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchProviderShared>\n);\n","import { createStytchClient } from '@stytch/web/headless';\n\n/**\n * @deprecated - use {@link createStytchClient} instead\n */\nexport const createStytchUIClient = createStytchClient;\n\nexport type { StytchProviderProps } from './StytchContext';\nexport {\n StytchProvider,\n useStytch,\n useStytchIsAuthorized,\n useStytchSession,\n useStytchUser,\n withStytch,\n withStytchPermissions,\n withStytchSession,\n withStytchUser,\n} from './StytchContext';\nexport * from '@stytch/core/public';\nexport type {\n AuthTokenParams,\n IDPConsentManifestGenerator,\n IDPSDKConfig,\n ResetPasswordSDKConfig,\n SDKConfig,\n Strings,\n StytchLoginConfig,\n} from '@stytch/web';\nexport { Products } from '@stytch/web';\nexport * from '@stytch/web/common';\nexport * from '@stytch/web/headless';\nexport type { IdentityProviderProps, StytchProps, StytchResetPasswordProps } from '@stytch/web/react/b2c';\nexport { IdentityProvider, StytchLogin, StytchPasskeyRegistration, StytchPasswordReset } from '@stytch/web/react/b2c';\n"],"names":["EmailSentType","messages","_messages","reducer","state","action","type","screen","formState","magicLinkState","email","otpState","cryptoState","passwordState","Error","AppScreens","Main","FloatingOneTap","PasskeyRegistrationStart","PasskeyRegistrationSuccess","PasskeyConfirmation","PasswordCreateOrLogin","PasswordResetForm","PasswordForgot","PasswordBreached","PasswordSetNew","PasswordDedupe","PasswordConfirmation","EmailConfirmation","OTPAuthenticate","OTPConfirmation","CryptoConnect","CryptoSignMessage","CryptoOtherScreen","CryptoSetupWallet","CryptoError","CryptoConfirmation","DEFAULT_STATE","OTPMethods","Email","methodId","otpDestination","walletAddress","walletOption","Wallets","Metamask","walletChallenge","resetPasswordState","token","GlobalContext","React","createContext","client","config","GlobalContextProvider","children","callbacks","initialState","useReducer","Provider","value","useGlobalContext","useContext","useStytch","useGlobalReducer","useConfig","useErrorCallback","useEvent","onError","noop","useEventCallback","onEvent","GenericWalletIcon","size","DEFAULT_ICON_SIZE","props","svg","width","height","viewBox","xmlns","path","d","fill","PasskeyIcon","useStytchUser","stytch","useSyncExternalStore","onStateChange","user","getSync","useBootstrap","stytchClient","bootstrap","setBootstrap","useState","readB2CInternals","fromCache","useEffect","getAsync","then","data","hasProduct","products","product","some","p","id","useProductComponents","screenType","useMemo","map","Object","assign","addProduct","includes","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","bootstrapNotLoaded","idpConsentInfo","useIDPState","IDPConsent","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","searchParams","window","location","search","flow","error","parseIDPParams","theme","displayWatermark","usePresentation","content","EnsureUserIsLoggedIn","params","MainContainer","useLingui","onErrorRef","useRef","current","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","session_duration_minutes","NoCurrentSessionError","LoadingScreen","ErrorDisplay","text","IDPContainer","presentation","strings","styles","getIDPConsentManifest","authTokenParams","presentationValue","usePresentationWithDefault","networkClient","logEvent","name","details","RUN_IN_DEV","logger","IDPContextProvider","consentManifestGenerator","PresentationContext","I18nProviderWrapper","overrides","initialUser","isInitialized","initialSession","StytchContext","isMounted","StytchUserContext","StytchSessionContext","useIsMounted__INTERNAL","invariant","noProviderError","useStytchSession","ctx","withStytch","Component","WithStytch","displayName","withStytchUser","WithStytchUser","stytchUser","stytchUserIsInitialized","stytchUserIsFromCache","withStytchSession","WithStytchSession","stytchSession","stytchSessionIsInitialized","stytchSessionIsFromCache","useStytchIsAuthorized","resourceId","isAuthorized","setIsAuthorized","useAsyncState","isStytchSSRProxy","rbac","isAuthorizedSync","roles","withStytchPermissions","WithStytchPermissions","permissions","setPermissions","loaded","allPermissions","stytchPermissions","StytchProvider","assumeHydrated","providerMustBeUniqueError","getHydratedState","useCallback","getInfo","getInitialState","setClientState","assumeHydratedRef","updateState","oldState","mergeWithStableProps","createB2CComponent","Wrapped","serverRenderError","shadow","options","enableShadowDOM","root","mountPoint","setMountPoint","useLayoutEffect","shadowRoot","attachShadow","mode","document","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","div","ref","createPortal","IdentityProvider","useIsOnlyFloatingOneTap","position","oauthOptions","providers","length","OAuthProviders","Google","one_tap","getShouldRenderFloatingOneTap","MAX_ATTEMPTS","usePromptPasskey","canAutofill","shadowDOM","hasPasskeys","dispatch","setError","startPasskeyAuth","conditionalMediation","abortController","resp","webauthn","authenticate","domain","passkeyOptions","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","conditional_mediation","is_passkey","signal","disable_input_check","StytchEventType","PasskeyAuthenticate","e","extractErrorType","message","extractErrorMessage","AbortController","browserSupportsAutofill","i","aborted","DOMException","abort","MainScreen","mainScreenGroups","setMainScreenGroups","hasButtons","hasInput","passkeyError","Boolean","productComponents","loadProductComponents","keys","Array","from","Set","filter","isTruthy","showDivider","splice","unshift","groups","walletIndex","indexOf","oauthIndex","Math","abs","index","min","Typography","variant","color","DEV","renderComponent","key","isArray","Column","gap","Divider","hideHeaderText","align","ErrorText","AppContainer","isOnlyFloatingOneTap","currentScreen","screenComponentMap","ScreenComponent","logo","Logo","appLogo","setDisplayWatermark","Container","StytchLogin","useLastUsedOAuth","publicToken","lastUsedOAuth","safeLocalStorage","getItem","setLastUsedOAuth","providerType","setItem","providerInfo","messageDescriptor","Microsoft","Apple","Github","GitLab","Facebook","Discord","Salesforce","Slack","Amazon","Bitbucket","LinkedIn","Coinbase","Twitch","Twitter","TikTok","Snapchat","Figma","Yahoo","OAuthButton","loginRedirectUrl","signupRedirectUrl","customScopes","providerParams","onSuccess","iconRegistry","getButtonId","provider","label","icon","iconName","Icon","onButtonClick","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","Button","onClick","OAUTH_BUTTON_HEIGHT","OneTapMountNode","slot","data-prompt_parent_id","GoogleOneTap","cancelOnTapOutside","oneTapRenderMode","getRenderedOneTapMode","shouldRenderEmbeddedOneTap","shouldRenderOneTap","pending","setPending","canDisplayOneTap","setCanDisplayOneTap","setHeight","oneTapError","setOneTapError","resizeCount","timeout","isUnmounted","useIsUnmounted","lastUsedMethod","onResize","el","clearTimeout","currentHeight","contentRect","setTimeout","getElementById","resizeObserver","ResizeObserver","observe","disconnect","attemptToLoadOneTap","oneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","NoConfiguredSignupRedirectUrls","NoConfiguredLoginRedirectUrls","onOneTapCancelled","showError","OriginNotAllowedForClient","renderResult","render","callback","createOnSuccessHandler","loginRedirectURL","signupRedirectURL","redirectOnSuccess","style","cancel","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","ErrorMessages","OneTapProvider","willGoogleOneTapShowEmbedded","className","classNames","container","CircularProgress","AmazonIcon","fillRule","clipRule","_styles","darkInvert","AppleIcon","BinanceIcon","BitbucketIcon","CoinbaseIcon","DiscordIcon","FacebookIcon","FigmaIcon","GitlabIcon","LinkedinIcon","MetamaskIcon","PhantomIcon","SalesforceIcon","SnapchatIcon","TiktokIcon","TwitchIcon","XTwitterIcon","oauthIcons","amazon","apple","bitbucket","coinbase","discord","facebook","figma","github","GithubIcon","gitlab","google","GoogleIcon","linkedin","microsoft","MicrosoftIcon","salesforce","slack","SlackIcon","snapchat","tiktok","twitch","xTwitter","yahoo","YahooIcon","cryptoIcons","phantom","metamask","binance","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","require$$0","hasMultipleEthereumWallets","ethereum","hasMetaMask","find","wallet","isMetaMask","hasCoinbaseWallet","isCoinbaseWallet","hasOtherEthereumWallet","getMetaMaskProvider","getCoinbaseProvider","getOtherInjectedProvider","walletIcons","Phantom","Binance","useCryptoButtonProps","getIcon","getId","WalletToText","GenericEthereumWallet","GenericSolanaWallet","isWalletVisible","solana","isPhantom","BinanceChain","connectWithEthereumProvider","request","address","method","connectWithWallet","connectResp","connect","publicKey","toString","signMessageWithSolanaProvider","encodedMessage","TextEncoder","encode","signResp","display","signature","signMessageWithEthereumProvider","signMessageWithWallet","isSolanaWallet","solanaWallets","ConnectWallet","handleError","walletType","onConnectWallet","cryptoWallets","authenticateStart","crypto_wallet_address","crypto_wallet_type","CryptoWalletAuthenticateStart","challenge","useMountEffect","TextColumn","header","body","helper","MAX_BUTTONS","walletMessages","CryptoWalletButtons","oAuthOptions","cryptoButtonsOnMainScreen","onWalletStart","allDetectedWallets","renderOtherScreenButton","mainWallets","slice","otherWallet","walletsToRender","ButtonColumn","walletEnum","OtherCryptoWallets","SetupNewWallet","ButtonAnchor","target","rel","href","SignMessage","onSignWallet","CryptoWalletAuthenticate","Success","Confirmation","jsx","getElementRef","React2","RovingFocusGroup.Root","RovingFocusGroup.Item","MagicLinkMethods","PasswordMethods","OTPTabHeaders","SMS","WhatsApp","getTabMethods","otpMethods","hasPassword","tabMethods","add","LoginForm","otpOptions","productsIncludesOtp","methods","hasEmailMagicLink","hasOTPEmail","tabMethodComponents","Tabs","defaultValue","tabRow","aria-label","buttonClassNames","block","tab","tabIndex","MagicLinkEmailForm","emailMagicLinksOptions","setEmail","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","handleSubmit","preventDefault","submittingEmail","match","EMAIL_REGEX","magicLinks","loginOrCreate","convertMagicLinkOptions","MagicLinkLoginOrCreateEvent","LoginOrCreateEML","getTranslatedError","as","onSubmit","EmailInput","hideLabel","loading","OTPButtonText","OTPEmailForm","stopSubmit","errorText","handleEmailSubmit","otps","expiration_minutes","expirationMinutes","DEFAULT_OTP_EXPIRATION_MINUTES","login_template_id","loginTemplateId","signup_template_id","signupTemplateId","locale","OTPsLoginOrCreateEvent","method_id","LoginOrCreateOTP","PhoneForm","phoneNumber","setPhoneNumber","country","setCountry","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","handlePhoneSubmit","parsedNumber","formatNumberToIncludeCountryCode","isValid","number","PhoneInput","phone","setPhone","PasskeyButton","PasswordsEmailForm","searchManager","searchUser","userType","ResetPassword","OAuthButtons","reorderedProviders","foundLastUsed","arrayUtils","moveToFront","providerProps","cancel_on_tap_outside","button","AuthenticateFlowComplete","SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","userState","setUserState","get","onCreatePasskey","undefined","register","PasskeyRegister","onSkip","PasskeySkip","commonButtonProps","EditableRow","handleEdit","isEditing","isEditingRow","othersEditing","inputRef","focus","form","row","evt","newName","data-testid","testId","input","Input","onChange","actions","disabled","optimisticRegistrations","setOptimisticRegistrations","webAuthnRegistrations","registrations","webauthn_registrations","editableRowState","setEditableRowState","onSetUpANewPasskey","update","onDone","PasskeyDone","startOptimisticUpdate","prevEditableRowState","errorToast","errorToStytchError","deleteReg","r","webauthn_registration_id","deleteWebauthnRegistration","updateReg","weight","existing","registration","passkeyRow","role","useResetResendPasswordActions","passwordOptions","resendResetPassword","passwords","resetByEmailStart","convertPasswordResetOptions","sendMagicLink","result","goBack","EmailActionLayout","description","Trans","components","bold","b","values","resend","PasswordResetByEmailStart","ResetPasswordScreen","passwordToken","resetTokenType","parsed","parseAuthenticateUrl","tokenType","password","setPassword","passwordError","setPasswordError","policy","loginErrorMessage","setLoginErrorMessage","isLoggingIn","setIsLoggingIn","updateStrengthCheck","debounce","strengthCheck","score","feedback","valid_password","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","luds_requirements","missing_characters","missingComplexity","missing_complexity","onPasswordChange","resetByEmail","PasswordResetByEmail","handlePasswordlessLogin","finally","passwordInputProps","getNewPasswordProps","PasswordInput","PasswordError","top","bottom","VerticalTransition","primary","secondary","triggered","usePasswordlessAuthenticate","sendLink","sendCode","useEmailDomain","emailDomains","setEmailDomains","domainHint","showGoBack","emailDomain","countdown","useCountdown","EmailConfirmationView","hideBackButton","destination","selectionMethod","formattedDestination","setFormattedDestination","calculateExpiration","Date","now","parseDestination","parsedPhoneNumber","national","formatNumber","expiration","setExpiration","resendCountdown","resendOTP","otp","OTPsAuthenticate","clear","SentOTPEntry","ResendOTPButton","PasswordAuthenticate","error_type","onForgot","PasswordNewUser","create","PasswordCreate","PasswordlessAuthenticate","secondaryType","resetPassword","PasswordCreateAuthenticate","secondaryAuth","useSecondaryAuthenticate","handle","buttonText","PhoneFormSMS","PhoneFormWhatsApp","MainWalletButtons","OneTapPositions","floating","emailMagicLinks","screens","tabs","mainScreen","icons","passkeys","passkeyRegistration","crypto","PasskeyRegistrationContainer","rawConfig","StytchPasskeyRegistration","ResetPasswordContainer","passwordResetToken","rawToken","StytchPasswordReset","useStytchUserShared","useStytchSessionShared","withStytchUserShared","withStytchSessionShared","useStytchIsAuthorizedShared","withStytchPermissionsShared","StytchProviderShared","createStytchUIClient","createStytchClient"],"mappings":"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","x_google_ignoreList":[40,41,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../core/src/Events.ts","../../../web/src/messages/en.ts","../../../web/src/ui/b2c/reducer.ts","../../../web/src/ui/b2c/GlobalContextProvider.tsx","../../../web/src/assets/genericWallet.tsx","../../../web/src/assets/passkeys.tsx","../../../web/src/ui/hooks/useStytchUser.ts","../../../web/src/ui/b2c/utils.ts","../../../web/src/ui/b2c/screens/IdentityProvider/IDPConsent.tsx","../../../web/src/ui/b2c/IDPContainer.tsx","../../../web/src/ui/react/b2c/StytchContext.tsx","../../../web/src/ui/react/bindings/createB2CComponent.tsx","../../../web/src/ui/react/b2c/IdentityProvider.tsx","../../../web/src/ui/hooks/useIsOnlyFloatingOneTap.ts","../../../web/src/ui/hooks/usePromptPasskey.ts","../../../web/src/ui/b2c/screens/Main/index.tsx","../../../web/src/ui/b2c/Container.tsx","../../../web/src/ui/b2c/AppContainer.tsx","../../../web/src/ui/react/b2c/StytchLogin.tsx","../../../web/src/ui/b2c/screens/Main/useLastUsedOAuth.tsx","../../../web/src/ui/b2c/components/OAuthButton.tsx","../../../web/src/ui/b2c/components/GoogleOneTap.tsx","../../../web/src/assets/logo-color/Amazon.tsx","../../../web/src/assets/logo-color/Apple.tsx","../../../web/src/assets/logo-color/Binance.tsx","../../../web/src/assets/logo-color/Bitbucket.tsx","../../../web/src/assets/logo-color/Coinbase.tsx","../../../web/src/assets/logo-color/Discord.tsx","../../../web/src/assets/logo-color/Facebook.tsx","../../../web/src/assets/logo-color/Figma.tsx","../../../web/src/assets/logo-color/Gitlab.tsx","../../../web/src/assets/logo-color/Linkedin.tsx","../../../web/src/assets/logo-color/Metamask.tsx","../../../web/src/assets/logo-color/Phantom.tsx","../../../web/src/assets/logo-color/Salesforce.tsx","../../../web/src/assets/logo-color/Snapchat.tsx","../../../web/src/assets/logo-color/Tiktok.tsx","../../../web/src/assets/logo-color/Twitch.tsx","../../../web/src/assets/logo-color/XTwitter.tsx","../../../web/src/ui/b2c/components/Icons.ts","../../../../node_modules/base-x/src/index.js","../../../../node_modules/bs58/index.js","../../../web/src/utils/crypto.tsx","../../../web/src/ui/b2c/screens/Crypto/ConnectWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/Error.tsx","../../../web/src/ui/b2c/screens/Crypto/WalletButtons.tsx","../../../web/src/ui/b2c/screens/Crypto/OtherWallets.tsx","../../../web/src/ui/b2c/screens/Crypto/SetupNewWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/SignMessage.tsx","../../../web/src/ui/b2c/screens/Crypto/Success.tsx","../../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-context/dist/index.mjs","../../../../node_modules/@radix-ui/react-collection/dist/index.mjs","../../../../node_modules/@radix-ui/primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../../../node_modules/@radix-ui/react-id/dist/index.mjs","../../../../node_modules/@radix-ui/react-direction/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../../node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../web/src/ui/b2c/StytchProduct.ts","../../../web/src/ui/b2c/screens/Main/LoginForm/index.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/OTPForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasskeyButton.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasswordForm.tsx","../../../web/src/ui/b2c/screens/Main/OAuthButtons.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.tsx","../../../web/src/utils/passkeys.ts","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationStart.tsx","../../../web/src/ui/b2c/screens/Passkey/EditableRow.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.tsx","../../../web/src/ui/b2c/screens/Password/useResetResendPasswordActions.tsx","../../../web/src/ui/b2c/screens/Password/PasswordBreached.tsx","../../../web/src/ui/b2c/screens/Password/PasswordConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordDedupe.tsx","../../../web/src/ui/b2c/screens/Password/PasswordForgot.tsx","../../../web/src/ui/b2c/screens/Password/PasswordSetNew.tsx","../../../web/src/ui/b2c/screens/Password/ResetPasswordScreen.tsx","../../../web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.ts","../../../web/src/ui/b2c/screens/Secondary/EmailConfirmation.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordAuthenticate.tsx","../../../web/src/ui/b2c/screens/Password/PasswordNewUser.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.tsx","../../../web/src/ui/b2c/Products.tsx","../../../web/src/ui/b2c/PasskeyRegistrationContainer.tsx","../../../web/src/ui/react/b2c/StytchPasskeyRegistration.tsx","../../../web/src/ui/b2c/ResetPasswordContainer.tsx","../../../web/src/ui/react/b2c/StytchPasswordReset.tsx","../../src/StytchContext.tsx","../../src/index.ts"],"sourcesContent":["import { RNUIProductConfig, StytchSDKError, TokenType } from './public';\nimport { BootstrapData, CommonB2BLoginConfig, CommonLoginConfig } from './types';\n\nexport enum EmailSentType {\n LoginOrCreateEML = 'login_or_create_eml',\n LoginOrCreateOTP = 'login_or_create_otp',\n ResetPassword = 'reset_password',\n}\n\nexport type AnalyticsEvent =\n | {\n name: 'sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'b2b_sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'render_login_screen';\n details: {\n options: CommonLoginConfig | RNUIProductConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_login_screen';\n details: {\n options: CommonB2BLoginConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'email_sent';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'email_try_again_clicked';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'start_oauth_flow';\n details: {\n provider_type: string;\n custom_scopes?: string[];\n cname_domain: string | null;\n pkce: boolean;\n provider_params?: Record<string, string>;\n };\n }\n | {\n name: 'deeplink_handled_success';\n details: {\n token_type: TokenType;\n };\n }\n | {\n name: 'deeplink_handled_failure';\n details: {\n error: StytchSDKError | undefined;\n };\n }\n | {\n name: 'oauth_success';\n details: {\n provider_type: string;\n };\n }\n | {\n name: 'oauth_failure';\n details: {\n error: StytchSDKError | string | undefined;\n };\n }\n | {\n name: 'ui_authentication_success';\n details: {\n method: 'oauth' | 'otp' | 'magicLinks' | 'passwords';\n };\n }\n | {\n name: 'render_b2b_admin_portal_sso';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_org_settings';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_member_management';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_scim';\n details: Record<string, never>;\n };\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../messages/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { AppScreens, AppState, CryptoState, OTPState, PasswordState } from './GlobalContextProvider';\n\nexport type Action =\n | { type: 'transition'; screen: AppScreens }\n | { type: 'set_magic_link_email'; email: string }\n | { type: 'update_otp_state'; otpState: OTPState }\n | { type: 'update_crypto_state'; cryptoState: CryptoState }\n | { type: 'update_password_state'; passwordState: PasswordState };\n\nexport const reducer = (state: AppState, action: Action): AppState => {\n switch (action.type) {\n case 'transition':\n return {\n ...state,\n screen: action.screen,\n };\n case 'set_magic_link_email': {\n return {\n ...state,\n formState: {\n ...state.formState,\n magicLinkState: { email: action.email },\n },\n };\n }\n case 'update_otp_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n otpState: action.otpState,\n },\n };\n }\n case 'update_crypto_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n cryptoState: action.cryptoState,\n },\n };\n }\n case 'update_password_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n passwordState: action.passwordState,\n },\n };\n }\n\n default:\n throw new Error();\n }\n};\n","import { Callbacks, OTPMethods, StytchProjectConfigurationInput, Wallets } from '@stytch/core/public';\nimport React, { useContext } from 'react';\n\nimport type { StytchClient } from '../../StytchClient';\nimport { StytchLoginConfig } from '../../types';\nimport { noop } from '../../utils';\nimport { useEvent } from '../hooks/useEvent';\nimport { Action, reducer } from './reducer';\n\n/* eslint-disable lingui/no-unlocalized-strings -- internal constants, not user-facing strings */\nexport const AppScreens = {\n Main: 'Main',\n FloatingOneTap: 'FloatingOneTap',\n PasskeyRegistrationStart: 'PasskeyRegistrationStart',\n PasskeyRegistrationSuccess: 'PasskeyRegistrationSuccess',\n PasskeyConfirmation: 'PasskeyConfirmation',\n PasswordCreateOrLogin: 'PasswordCreateOrLogin',\n PasswordResetForm: 'PasswordResetForm',\n PasswordForgot: 'PasswordForgot',\n PasswordBreached: 'PasswordBreached',\n PasswordSetNew: 'PasswordSetNew',\n PasswordDedupe: 'PasswordDedupe',\n PasswordConfirmation: 'PasswordConfirmation',\n EmailConfirmation: 'EmailConfirmation',\n OTPAuthenticate: 'OTPAuthenticate',\n OTPConfirmation: 'OTPConfirmation',\n CryptoConnect: 'CryptoConnect',\n CryptoSignMessage: 'CryptoSignMessage',\n CryptoOtherScreen: 'CryptoOtherScreen',\n CryptoSetupWallet: 'CryptoSetupWallet',\n CryptoError: 'CryptoError',\n CryptoConfirmation: 'CryptoConfirmation',\n} as const;\n/* eslint-enable lingui/no-unlocalized-strings */\n\nexport type AppScreens = keyof typeof AppScreens;\n\nexport type MagicLinkState = {\n email: string;\n};\n\nexport type OTPState = {\n type: OTPMethods;\n methodId: string;\n otpDestination: string;\n};\n\nexport type PasswordState = {\n email: string;\n type: 'new' | 'passwordless' | 'password';\n};\n\nexport type CryptoState = {\n walletAddress: string;\n walletOption: Wallets;\n walletChallenge: string;\n};\n\nexport type ResetPasswordState = {\n token: string;\n};\n\nexport type FormState = {\n magicLinkState: MagicLinkState;\n otpState: OTPState;\n cryptoState: CryptoState;\n passwordState: PasswordState;\n resetPasswordState: ResetPasswordState;\n};\n\nexport type AppState = {\n screen: AppScreens;\n formState: FormState;\n};\n\nexport type AppContext<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n state: [AppState, React.Dispatch<Action>];\n};\n\nexport const DEFAULT_STATE: AppState = {\n screen: AppScreens.Main,\n formState: {\n magicLinkState: {\n email: '',\n },\n otpState: {\n type: OTPMethods.Email,\n methodId: '',\n otpDestination: '',\n },\n cryptoState: {\n walletAddress: '',\n walletOption: Wallets.Metamask,\n walletChallenge: '',\n },\n passwordState: {\n email: '',\n type: 'new',\n },\n resetPasswordState: {\n token: '',\n },\n },\n};\n\nexport const GlobalContext = React.createContext<AppContext<StytchProjectConfigurationInput>>({\n client: {} as StytchClient<StytchProjectConfigurationInput>,\n config: {} as StytchLoginConfig,\n state: [DEFAULT_STATE, () => null],\n});\n\nexport type GlobalContextProviderProps<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n children: React.ReactNode;\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n initialState?: AppState;\n};\n\nexport const GlobalContextProvider = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n children,\n client,\n config,\n callbacks,\n initialState,\n}: GlobalContextProviderProps<TProjectConfiguration>) => {\n const state = React.useReducer(reducer, initialState ?? DEFAULT_STATE);\n\n return <GlobalContext.Provider value={{ client, state, config, callbacks }}>{children}</GlobalContext.Provider>;\n};\n\nexport const useGlobalContext = () => useContext(GlobalContext);\nexport const useStytch = () => useGlobalContext().client;\nexport const useGlobalReducer = () => useGlobalContext().state;\nexport const useConfig = () => useGlobalContext().config;\nexport const useErrorCallback = () => useEvent(useGlobalContext().callbacks?.onError ?? noop);\nexport const useEventCallback = () => useEvent(useGlobalContext().callbacks?.onEvent ?? noop);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const GenericWalletIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M18.5 4.28V2C18.5 0.9 17.6 0 16.5 0H2.5C1.39 0 0.5 0.9 0.5 2V16C0.5 17.1 1.39 18 2.5 18H16.5C17.6 18 18.5 17.1 18.5 16V13.72C19.09 13.37 19.5 12.74 19.5 12V6C19.5 5.26 19.09 4.63 18.5 4.28ZM17.5 6V12H10.5V6H17.5ZM2.5 16V2H16.5V4H10.5C9.4 4 8.5 4.9 8.5 6V12C8.5 13.1 9.4 14 10.5 14H16.5V16H2.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.5 10.5C14.3284 10.5 15 9.82843 15 9C15 8.17157 14.3284 7.5 13.5 7.5C12.6716 7.5 12 8.17157 12 9C12 9.82843 12.6716 10.5 13.5 10.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const PasskeyIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M8.75 10C10.8211 10 12.5 8.32107 12.5 6.25C12.5 4.17893 10.8211 2.5 8.75 2.5C6.67893 2.5 5 4.17893 5 6.25C5 8.32107 6.67893 10 8.75 10Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.7501 10.0001C18.7519 9.47774 18.6134 8.96445 18.349 8.51388C18.0847 8.06332 17.7041 7.69203 17.2472 7.43881C16.7903 7.18559 16.2738 7.05973 15.7516 7.07439C15.2294 7.08905 14.7207 7.24369 14.2787 7.52214C13.8367 7.8006 13.4776 8.19265 13.239 8.65733C13.0003 9.12202 12.8908 9.64227 12.9219 10.1637C12.9531 10.6852 13.1237 11.1887 13.416 11.6217C13.7082 12.0547 14.1114 12.4012 14.5834 12.6251V17.0835L15.8334 18.3335L17.9167 16.2501L16.6667 15.0001L17.9167 13.7501L16.8834 12.7168C17.4322 12.505 17.9042 12.1323 18.2373 11.6474C18.5704 11.1626 18.7492 10.5884 18.7501 10.0001ZM15.8334 10.0001C15.6686 10.0001 15.5075 9.95126 15.3704 9.85969C15.2334 9.76812 15.1266 9.63797 15.0635 9.4857C15.0004 9.33343 14.9839 9.16587 15.0161 9.00422C15.0482 8.84257 15.1276 8.69409 15.2441 8.57754C15.3607 8.461 15.5092 8.38163 15.6708 8.34948C15.8325 8.31732 16 8.33383 16.1523 8.3969C16.3046 8.45997 16.4347 8.56678 16.5263 8.70382C16.6179 8.84086 16.6667 9.00198 16.6667 9.1668C16.6667 9.38781 16.5789 9.59977 16.4227 9.75605C16.2664 9.91233 16.0544 10.0001 15.8334 10.0001Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0333 11.6833C11.3934 11.398 10.7007 11.2504 10 11.25H7.5C6.17392 11.25 4.90215 11.7768 3.96447 12.7145C3.02678 13.6521 2.5 14.9239 2.5 16.25V17.9167H13.3333V13.325C12.7713 12.8933 12.3248 12.3293 12.0333 11.6833Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { User } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../b2c/GlobalContextProvider';\n\n// useStytchUser is a very lightweight copy-pasta of the hook from stytch-react\n// If we end up calling this in several places, consider hoisting to global context\nexport const useStytchUser = (): User | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.user.getSync());\n};\n","import { BootstrapData } from '@stytch/core';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { readB2CInternals } from '../../utils/internal';\nimport { useStytch } from './GlobalContextProvider';\nimport { ProductId, StytchProduct } from './StytchProduct';\n\nexport const useBootstrap = (): { bootstrap: BootstrapData; fromCache: boolean } => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState({\n bootstrap: readB2CInternals(stytchClient).bootstrap.getSync(),\n fromCache: true,\n });\n\n useEffect(() => {\n readB2CInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) =>\n setBootstrap({\n bootstrap: data,\n fromCache: false,\n }),\n );\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport function hasProduct(products: StytchProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'tabs' | 'mainScreen'>(\n products: StytchProduct[],\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchProduct[Type]>;\n for (const product of products) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, screenType]);\n}\n\n/**\n * In B2C, ResetPassword and PasskeyRegistration always need passwords and passkey products respectively,\n * so we inject these into config just in case the customer don't have it. If they are missing the components\n * just crash immediately.\n */\nexport function addProduct<Config extends { products?: StytchProduct[] }>(\n config: Config | undefined,\n product: StytchProduct,\n): Config {\n if (config?.products?.includes(product)) return config;\n\n const products = config?.products ?? [];\n return {\n ...(config ?? {}),\n products: [...products, product],\n } as Config;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { NoCurrentSessionError } from '@stytch/core/public';\nimport React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { AuthTokenParams } from '../../../../types';\nimport { OAuthAuthorizeParams, OAuthLogoutParams, parseIDPParams } from '../../../../utils/idpHelpers';\nimport { ErrorDisplay } from '../../../components/molecules/ErrorScreen';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport MainContainer from '../../../components/molecules/MainContainer';\nimport { IDPConsent, useIDPState } from '../../../components/organisms/IDPConsent';\nimport { useTrustedAuthTokenParams } from '../../../components/organisms/IDPContextProvider';\nimport { IDPLogout, useLogoutState } from '../../../components/organisms/IDPLogout';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { useErrorCallback, useEventCallback, useStytch } from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nconst IDPConsentScreenImpl = ({\n initialError,\n initialParams,\n}: {\n initialError: string | null;\n initialParams: OAuthAuthorizeParams;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n const { oauthAuthorizeStart, oauthAuthorizeSubmit } = stytchClient.idp;\n\n const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n\n const idpConsentInfo = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} {...idpConsentInfo}></IDPConsent>;\n};\n\nconst IDPLogoutScreenImpl = ({\n initialError,\n initialParams,\n navigate,\n}: {\n initialError: string | null;\n initialParams: OAuthLogoutParams;\n navigate?: (href: string) => void;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const { oauthLogoutStart } = stytchClient.idp;\n const revokeSession = () => stytchClient.session.revoke({ forceClear: true });\n\n const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n const idpLogoutState = useLogoutState({\n initialError,\n initialParams,\n oauthLogoutStart,\n revokeSession,\n onError,\n navigate,\n });\n\n return <IDPLogout {...idpLogoutState} bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} />;\n};\n\nexport const IDPConsentScreen = ({\n searchParams = window.location.search,\n navigate,\n}: {\n searchParams?: string;\n navigate?: (href: string) => void;\n} = {}) => {\n // Preserve the URL Params seen on first render - even if they change later\n const [{ flow, error }] = useState(parseIDPParams(searchParams));\n const { theme, displayWatermark } = usePresentation();\n\n let content;\n if (flow.type === 'Authorize') {\n content = (\n <EnsureUserIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureUserIsLoggedIn>\n );\n } else if (flow.type === 'Logout') {\n content = <IDPLogoutScreenImpl initialError={error} initialParams={flow.params} navigate={navigate} />;\n }\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {content}\n </MainContainer>\n );\n};\n\nconst EnsureUserIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const user = useStytchUser();\n const onError = useErrorCallback();\n const onErrorRef = useRef(onError);\n useEffect(() => {\n onErrorRef.current = onError;\n }, [onError]);\n\n // if a trusted auth token is provided, attest it before rendering the consent screen\n const stytchClient = useStytch();\n const authParams = useTrustedAuthTokenParams();\n const [attesting, setAttesting] = useState(false);\n const [attested, setAttested] = useState(false);\n\n useEffect(() => {\n if (attesting || attested) return;\n\n const attestTrustedToken = async (authParams: AuthTokenParams | undefined): Promise<void> => {\n if (authParams?.trustedAuthToken && authParams?.tokenProfileID) {\n setAttesting(true);\n const token = authParams.trustedAuthToken;\n const profile_id = authParams.tokenProfileID;\n\n // revoke the current session before calling attest\n if (stytchClient.user.getSync()) {\n await stytchClient.session.revoke({ forceClear: true });\n }\n\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n session_duration_minutes: 60,\n });\n } catch (error) {\n onErrorRef.current(error as Error);\n } finally {\n setAttesting(false);\n setAttested(true);\n }\n }\n // set this either way to short-circuit the useEffect below\n setAttested(true);\n };\n attestTrustedToken(authParams);\n }, [authParams, attesting, attested, stytchClient]);\n\n useEffect(() => {\n if (user) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [user]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (user) {\n return children;\n } else {\n return (\n <ErrorDisplay\n text={t({\n id: 'idpConsent.noActiveSession',\n message: 'No active session detected. Please log in to continue.',\n })}\n />\n );\n }\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, IDPSDKConfig, StytchLoginConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { IDPConsentScreen } from './screens/IdentityProvider/IDPConsent';\n\nexport const IDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n styles,\n getIDPConsentManifest,\n authTokenParams,\n}: IDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_idp_screen',\n details: { bootstrap: data },\n });\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={authTokenParams}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <IDPConsentScreen />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </IDPContextProvider>\n </GlobalContextProvider>\n );\n};\n","'use client';\n\nimport { PermissionsMap, Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { mergeWithStableProps } from '@stytch/js-utils';\nimport React, {\n ComponentType,\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { isStytchSSRProxy } from '../bindings/StytchSSRProxy';\nimport { useAsyncState } from '../utils/async';\nimport { noProviderError, providerMustBeUniqueError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// There's no user facing strings in this file\n/* eslint-disable lingui/no-unlocalized-strings */\n\ntype StytchContext<TProjectConfiguration extends StytchProjectConfigurationInput> =\n | {\n isMounted: false;\n }\n | {\n isMounted: true;\n client: StytchClient<TProjectConfiguration>;\n };\n\ntype SWRUserUninitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRUserInitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: User | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRUser<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRUserInitialized\n : SWRUserInitialized | SWRUserUninitialized;\n\nconst initialUser: SWRUserUninitialized = {\n user: null,\n fromCache: false,\n isInitialized: false,\n};\n\ntype SWRSessionUninitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRSessionInitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: Session | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRSession<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRSessionInitialized\n : SWRSessionInitialized | SWRSessionUninitialized;\n\nconst initialSession: SWRSessionUninitialized = {\n session: null,\n fromCache: false,\n isInitialized: false,\n};\n\nconst StytchContext = createContext<StytchContext<StytchProjectConfigurationInput>>({ isMounted: false });\nconst StytchUserContext = createContext<SWRUser>(initialUser);\nconst StytchSessionContext = createContext<SWRSession>(initialSession);\n\nexport const useIsMounted__INTERNAL = (): boolean => useContext(StytchContext).isMounted;\n\n/**\n * Returns the active User.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = <TAssumeHydrated extends boolean = false>(): SWRUser<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchUser'));\n return useContext(StytchUserContext) as SWRUser<TAssumeHydrated>;\n};\n\n/**\n * Returns the active user's Stytch session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = <TAssumeHydrated extends boolean = false>(): SWRSession<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchSession'));\n return useContext(StytchSessionContext) as SWRSession<TAssumeHydrated>;\n};\n\n/**\n * Returns the Stytch client stored in the Stytch context.\n *\n * @example\n * const stytch = useStytch();\n * useEffect(() => {\n * stytch.magicLinks.authenticate('...')\n * }, [stytch]);\n */\nexport const useStytch = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(): StytchClient<TProjectConfiguration> => {\n const ctx = useContext(StytchContext);\n invariant(ctx.isMounted, noProviderError('useStytch'));\n return ctx.client as StytchClient<TProjectConfiguration>;\n};\n\nexport const withStytch = <\n T extends object,\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(\n Component: ComponentType<T & { stytch: StytchClient<TProjectConfiguration> }>,\n): ComponentType<T> => {\n const WithStytch: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytch'));\n return <Component {...props} stytch={useStytch()} />;\n };\n WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;\n return WithStytch;\n};\n\nexport const withStytchUser = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchUser: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchUser'));\n const { user, isInitialized, fromCache } = useStytchUser<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchUser={user}\n stytchUserIsInitialized={isInitialized}\n stytchUserIsFromCache={fromCache}\n />\n );\n };\n WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchUser;\n};\n\nexport const withStytchSession = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchSession: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchSession'));\n const { session, isInitialized, fromCache } = useStytchSession<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchSession={session}\n stytchSessionIsInitialized={isInitialized}\n stytchSessionIsFromCache={fromCache}\n />\n );\n };\n WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchSession;\n};\n\ntype SWRIsAuthorizedUninitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: false;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRIsAuthorizedInitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: boolean;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: boolean;\n};\n\ntype SWRIsAuthorized<TAlwaysInitialized extends boolean> = TAlwaysInitialized extends true\n ? SWRIsAuthorizedInitialized\n : SWRIsAuthorizedInitialized | SWRIsAuthorizedUninitialized;\n\n/**\n * Determines whether the logged-in user is allowed to perform the specified action on the specified resource.\n * Returns `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, this method will always return false.\n * If the resource or action provided are not valid for the configured RBAC policy, this method will return false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');\n * return <button disabled={!isAuthorized}>Edit</button>\n */\nexport const useStytchIsAuthorized = <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n): SWRIsAuthorized<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchIsAuthorized', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [isAuthorized, setIsAuthorized] = useAsyncState<SWRIsAuthorized<boolean>>({\n isInitialized: false,\n fromCache: false,\n isAuthorized: false,\n });\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n\n setIsAuthorized({\n isInitialized: true,\n fromCache: true,\n isAuthorized: client.rbac.isAuthorizedSync(resourceId, action),\n });\n }, [action, client, resourceId, setIsAuthorized]);\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n client.rbac.isAuthorized(resourceId, action).then((isAuthorized) => {\n setIsAuthorized({ isAuthorized, fromCache: false, isInitialized: true });\n });\n }, [client, user?.roles, resourceId, action, setIsAuthorized]);\n\n return isAuthorized;\n};\n\ntype permissionsLoaded<Permissions extends Record<string, string>> =\n | {\n loaded: false;\n value: null;\n }\n | {\n loaded: true;\n value: PermissionsMap<Permissions>;\n };\n\n/**\n * Wrap your component with this HOC in order to receive the permissions for the logged-in user.\n * Evaluates all permissions granted to the logged-in user.\n * Returns a Record<RoleId, Record<Action, boolean>> response indicating the user's permissions.\n * Each boolean will be `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, all values will be false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * type Permissions = {\n * document: 'create' | 'read' | 'write\n * image: 'create' | 'read'\n * }\n *\n * const MyComponent = (props) => {\n * const canEditDocuments = props.stytchPermissions.document.edit;\n * const canReadImages = props.stytchPermissions.image.read;\n * }\n * return withStytchPermissions<Permissions>(MyComponent)\n */\nexport const withStytchPermissions = <Permissions extends Record<string, string>, T extends object>(\n Component: ComponentType<T & { stytchPermissions: PermissionsMap<Permissions> }>,\n): ComponentType<T> => {\n const WithStytchPermissions: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useRBACPermissions', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [permissions, setPermissions] = useAsyncState<permissionsLoaded<Permissions>>({ loaded: false, value: null });\n\n useEffect(() => {\n client.rbac.allPermissions<Permissions>().then((permissions) => {\n setPermissions({ loaded: true, value: permissions });\n });\n }, [client, user?.roles, setPermissions]);\n\n if (!permissions.loaded) {\n return null;\n }\n return <Component {...props} stytchPermissions={permissions.value} />;\n };\n WithStytchPermissions.displayName = `withStytchPermissions(${\n Component.displayName || Component.name || 'Component'\n })`;\n return WithStytchPermissions;\n};\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, created using either {@link createStytchHeadlessClient} or {@link createStytchClient}\n */\n stytch: StytchClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * This value defaults to `false` in `@stytch/nextjs`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = false,\n}: StytchProviderProps<TProjectConfiguration>) => {\n invariant(!useIsMounted__INTERNAL(), providerMustBeUniqueError);\n invariant(\n !assumeHydrated || typeof window !== 'undefined',\n 'The `assumeHydrated` prop must be set to `false` when using StytchProvider in a server environment.',\n );\n\n const ctx = useMemo(() => ({ client: stytch, isMounted: true }), [stytch]);\n\n type ClientState<TAlwaysInitialized extends boolean> = {\n session: SWRSession<TAlwaysInitialized>;\n user: SWRUser<TAlwaysInitialized>;\n };\n\n const getHydratedState = useCallback(() => {\n return {\n session: { ...stytch.session.getInfo(), isInitialized: true },\n user: { ...stytch.user.getInfo(), isInitialized: true },\n } satisfies ClientState<true>;\n }, [stytch]);\n\n const getInitialState = () => {\n return {\n session: initialSession,\n user: initialUser,\n } satisfies ClientState<false>;\n };\n\n const [{ user, session }, setClientState] = useAsyncState<ClientState<boolean>>(() =>\n assumeHydrated ? getHydratedState() : (getInitialState() as ClientState<boolean>),\n );\n\n // Store the initial value of `assumeHydrated` in a ref, because it is\n // logically only relevant for the first render\n const assumeHydratedRef = useRef(assumeHydrated);\n useEffect(() => {\n if (isStytchSSRProxy(stytch)) {\n return;\n }\n\n const updateState = () => {\n setClientState((oldState) => mergeWithStableProps(oldState, getHydratedState()));\n };\n\n if (!assumeHydratedRef.current) {\n updateState();\n }\n\n return stytch.onStateChange(updateState);\n }, [getHydratedState, setClientState, stytch]);\n\n return (\n <StytchContext.Provider value={ctx}>\n <StytchUserContext.Provider value={user}>\n <StytchSessionContext.Provider value={session}>{children}</StytchSessionContext.Provider>\n </StytchUserContext.Provider>\n </StytchContext.Provider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport { injectCssIntoNode, injectGlobalStyle } from '@stytch/internal-style-injector';\nimport React, { ComponentType, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytch } from '../b2c/StytchContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2BComponent and createWebComponent\nexport function createB2CComponent<\n Props extends {\n client: StytchClient<TProjectConfiguration>;\n config?: StytchLoginConfig;\n presentation?: PresentationConfig;\n },\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(name: string, Component: ComponentType<Props>) {\n const Wrapped: ComponentType<Omit<Props, 'client'>> = (props) => {\n serverRenderError(name);\n invariant(useIsMounted__INTERNAL(), noProviderError(`<${name} />`));\n\n const client = useStytch<TProjectConfiguration>();\n\n const shadow = props.presentation?.options?.enableShadowDOM ?? props.config?.enableShadowDOM;\n const root = useRef<HTMLDivElement>(null);\n const [mountPoint, setMountPoint] = useState<HTMLDivElement>();\n\n useLayoutEffect(() => {\n if (shadow) {\n if (!root.current || root.current.shadowRoot) return;\n const shadowRoot = root.current.attachShadow({ mode: 'open' });\n const mountPoint = document.createElement('div');\n\n shadowRoot.appendChild(injectCssIntoNode());\n shadowRoot.appendChild(mountPoint);\n\n setMountPoint(mountPoint);\n } else {\n injectGlobalStyle();\n }\n }, [shadow]);\n\n const element = <Component {...(props as Props)} client={client} />;\n if (shadow) {\n return <div ref={root}>{mountPoint && createPortal(element, mountPoint)}</div>;\n } else {\n return element;\n }\n };\n\n Wrapped.displayName = name;\n return Wrapped;\n}\n","import { AuthTokenParams, IDPConsentManifestGenerator } from '../../../types';\nimport { IDPContainer } from '../../b2c/IDPContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport type IdentityProviderProps = Omit<StytchProps, 'config'> & {\n /**\n * Optional {@link IDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: IDPConsentManifestGenerator;\n /**\n * Optional {@link AuthTokenParams} to provide a trusted auth token to provide for attestation prior to running OAuth flow.\n */\n authTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch IDP component.\n * Parses OAuth Authorization params (client_id, scope, nonce, etc.) out of the page URL.\n * Requires the user to be logged in.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <IdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const IdentityProvider = /* @__PURE__ */ createB2CComponent('IdentityProvider', IDPContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getShouldRenderFloatingOneTap } from '../../oneTap/positionModes';\nimport { StytchLoginConfig } from '../../types';\nimport { hasProduct } from '../b2c/utils';\n\nexport const useIsOnlyFloatingOneTap = (config: StytchLoginConfig) => {\n return useMemo(() => {\n const position = config.oauthOptions?.providers[0].position;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n config.oauthOptions?.providers[0].type === OAuthProviders.Google &&\n config.oauthOptions?.providers[0].one_tap === true &&\n getShouldRenderFloatingOneTap(position)\n );\n }, [config]);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType, StytchProjectConfigurationInput, WebAuthnAuthenticateResponse } from '@stytch/core/public';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { extractErrorMessage } from '../../utils/extractErrorMessage';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../b2c/GlobalContextProvider';\nimport { hasProduct } from '../b2c/utils';\n\nconst MAX_ATTEMPTS = 5;\n\nexport type StartPasskeyAuth = () => Promise<WebAuthnAuthenticateResponse<StytchProjectConfigurationInput>>;\n\nexport const usePromptPasskey = ({\n canAutofill,\n shadowDOM,\n}: {\n canAutofill: boolean;\n shadowDOM: boolean;\n}): [startPasskeyAuth: StartPasskeyAuth, error: string | undefined] => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n\n const [error, setError] = useState<string>();\n\n const startPasskeyAuth = useCallback(\n async ({\n conditionalMediation = false,\n abortController,\n }: {\n conditionalMediation?: boolean;\n abortController?: AbortController;\n } = {}) => {\n try {\n const resp = await stytchClient.webauthn.authenticate({\n domain: config.passkeyOptions?.domain,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n conditional_mediation: conditionalMediation,\n is_passkey: true,\n signal: abortController?.signal,\n disable_input_check: shadowDOM,\n });\n\n if (!resp) {\n throw new Error('Empty response');\n }\n\n onEvent({ type: StytchEventType.PasskeyAuthenticate, data: resp });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyConfirmation });\n return resp;\n } catch (e) {\n if (extractErrorType(e) === 'webauthn_registration_not_found') {\n setError(\n t({\n id: 'error.passkeyRegistrationNotFound',\n message:\n 'Passkey registration not found. You may have deleted the passkey from your account but not password manager. Please try again.',\n }),\n );\n } else if (e instanceof Error && e.name === 'StytchAPIError') {\n setError(\n t({\n id: 'error.passkeyUnknown',\n message: 'Unknown error occurred during passkey authentication. Please try again.',\n }),\n );\n }\n\n const message = extractErrorMessage(e);\n if (message) {\n onError({ message });\n }\n\n throw e;\n }\n },\n [\n shadowDOM,\n config.passkeyOptions?.domain,\n config.sessionOptions?.sessionDurationMinutes,\n dispatch,\n onError,\n onEvent,\n stytchClient.webauthn,\n t,\n ],\n );\n\n useEffect(() => {\n if (!hasPasskeys || !canAutofill) {\n return;\n }\n\n // Skip passkey authentication in Storybook environment\n if (process.env.STORYBOOK) {\n return;\n }\n\n const abortController = new AbortController();\n (async () => {\n if (!(await stytchClient.webauthn.browserSupportsAutofill())) {\n return;\n }\n\n for (let i = 0; i < MAX_ATTEMPTS; ++i) {\n if (abortController.signal.aborted) {\n return;\n }\n\n try {\n await startPasskeyAuth({ abortController, conditionalMediation: true });\n return;\n } catch (e) {\n // User denied permission\n if (e instanceof DOMException && e.name === 'NotAllowedError') {\n return;\n }\n\n // Otherwise swallow error\n }\n }\n })();\n\n return () => {\n abortController.abort();\n };\n }, [canAutofill, hasPasskeys, startPasskeyAuth, stytchClient.webauthn]);\n\n return [startPasskeyAuth, error];\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { isTruthy } from '../../../../utils/isTruthy';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { usePromptPasskey } from '../../../hooks/usePromptPasskey';\nimport { useConfig, useStytch } from '../../GlobalContextProvider';\nimport { MainScreenGroup, MainScreenKey } from '../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../utils';\n\nexport const MainScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n\n const { options } = usePresentation();\n const { t } = useLingui();\n const [mainScreenGroups, setMainScreenGroups] = useState<MainScreenGroup[]>([]);\n\n const { products, oauthOptions } = config;\n const hasButtons = (hasProduct(products, 'oauth') && oauthOptions) || hasProduct(products, 'crypto');\n const hasPasskeys = hasProduct(products, 'passkeys');\n const hasInput =\n hasProduct(products, 'emailMagicLinks') || hasProduct(products, 'otp') || hasProduct(products, 'passwords');\n\n const [startPasskeyAuth, passkeyError] = usePromptPasskey({\n canAutofill: hasInput,\n shadowDOM: Boolean(options.enableShadowDOM),\n });\n const productComponents = useProductComponents(products, 'mainScreen')!;\n\n useEffect(() => {\n const loadProductComponents = async () => {\n // Deduplicate components mapped from products\n const keys = Array.from(\n new Set<MainScreenKey>(\n products\n .map((product) => {\n switch (product.id) {\n case 'oauth':\n case 'crypto':\n return product.id;\n case 'emailMagicLinks':\n case 'otp':\n case 'passwords':\n return 'login-form';\n }\n })\n .filter(isTruthy),\n ),\n );\n\n const showDivider = hasButtons && hasInput;\n if (keys.length > 1 && showDivider) {\n keys.splice(-1, 0, 'divider');\n }\n\n // Add a passkey button if the user has configured passkeys, don't have a login form,\n // or the browser does not support autofill\n if (hasPasskeys && (!hasInput || !(await stytchClient.webauthn.browserSupportsAutofill()))) {\n keys.unshift('passkey-button');\n }\n\n // Group Wallet and Oauth buttons (basically going from [Password, Wallet, OAuth] to [Password, [Wallet, OAuth]])\n // This reassignment is only there to make TS happy - .splice mutates, and groups === keys\n // so it is not really needed\n const groups: MainScreenGroup[] = keys;\n const walletIndex = keys.indexOf('crypto');\n const oauthIndex = keys.indexOf('oauth');\n if (walletIndex !== -1 && oauthIndex !== -1 && Math.abs(walletIndex - oauthIndex) === 1) {\n const index = Math.min(walletIndex, oauthIndex);\n groups.splice(index, 0, keys.splice(index, 2));\n }\n\n setMainScreenGroups(groups);\n };\n\n loadProductComponents();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n if (hasPasskeys && products.length === 1)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use Passkeys by itself, please add another product to the config.')}\n </Typography>\n );\n\n const props = { startPasskeyAuth };\n const renderComponent = (key: MainScreenGroup, index: number) => {\n if (Array.isArray(key)) {\n return (\n <Column gap={2} key={index}>\n {key.map(renderComponent)}\n </Column>\n );\n }\n\n if (key === 'divider') {\n return <Divider key={index} />;\n }\n\n const Component = productComponents[key];\n return <Component key={key} {...props} />;\n };\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText && (\n <Typography variant=\"header\" align=\"center\">\n {t({ id: 'login.title', message: 'Sign up or log in' })}\n </Typography>\n )}\n\n {passkeyError && <ErrorText>{passkeyError}</ErrorText>}\n\n {mainScreenGroups.map(renderComponent)}\n </Column>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport Logo from '../components/atoms/Logo';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { AppScreens, useConfig, useGlobalReducer } from './GlobalContextProvider';\nimport { MainScreen } from './screens/Main';\nimport { useProductComponents } from './utils';\n\nconst AppContainer: () => null | ReactNode = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config.products, 'screens');\n\n if (isOnlyFloatingOneTap) {\n const { FloatingOneTap } = screenComponentMap;\n return <FloatingOneTap />;\n }\n\n // MainScreen is omitted from StytchProduct since it's used by everything\n const ScreenComponent = currentScreen === AppScreens.Main ? MainScreen : screenComponentMap[currentScreen];\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {options.logo && <Logo appLogo={options.logo} />}\n\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { GlobalContextProvider } from './GlobalContextProvider';\n\nexport const AppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_login_screen',\n details: { options: config, bootstrap: data },\n });\n setDisplayWatermark(data.displayWatermark);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { AppContainer } from '../../b2c/AppContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\nexport interface StytchProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * A {@link StytchLoginConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n * @example\n * {\n * products: [Products.crypto, Products.otp]\n * }\n *\n * @example\n * {\n * products: [Products.emailMagicLinks]\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * }\n * }\n *\n * @example\n * {\n * products: [Products.oauth]\n * oauthOptions: {\n * providers: [\n * { type: 'google', one_tap: true, position: 'embedded' },\n * { type: 'microsoft' },\n * { type: 'apple' },\n * { type: 'facebook' },\n * ],\n * }\n * }\n */\n config: StytchLoginConfig;\n /**\n * An optional {@link PresentationConfig} to customize the UI presentation.\n */\n presentation?: PresentationConfig;\n /**\n * An optional {@link Callbacks} object.\n *\n * @example\n * {\n * onError: ({message}) => {\n * console.error('Stytch login screen error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.CryptoWalletAuthenticate) {\n * console.log('Logged in with crypto wallet', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n}\n\n/**\n * The Stytch Login Screen component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchLogin\n * config={{\n * products: [Products.emailMagicLinks, Products.oauth],\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * oauthOptions: {\n * providers: [{ type: OAuthProviders.Google }, { type: OAuthProviders.Microsoft }],\n * },\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchLogin = /* @__PURE__ */ createB2CComponent('StytchLogin', AppContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { safeLocalStorage } from '../../../../utils/storage';\nimport { useStytch } from '../../GlobalContextProvider';\n\nexport function useLastUsedOAuth() {\n const stytch = useStytch();\n const { publicToken } = readB2CInternals(stytch);\n\n const lastUsedOAuth = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2c_last_used_oauth'), [publicToken]);\n const setLastUsedOAuth = (providerType: OAuthProviders) => {\n safeLocalStorage.setItem(publicToken, 'b2c_last_used_oauth', providerType);\n };\n\n return [lastUsedOAuth, setLastUsedOAuth] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { IconRegistry } from '../../components/IconRegistry';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ninterface ProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo = {\n [OAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [OAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [OAuthProviders.Apple]: {\n messageDescriptor: msg({ id: 'oauth.continueWithApple', message: 'Continue with Apple' }),\n },\n [OAuthProviders.Github]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n [OAuthProviders.GitLab]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitLab', message: 'Continue with GitLab' }),\n },\n [OAuthProviders.Facebook]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFacebook', message: 'Continue with Facebook' }),\n },\n [OAuthProviders.Discord]: {\n messageDescriptor: msg({ id: 'oauth.continueWithDiscord', message: 'Continue with Discord' }),\n },\n [OAuthProviders.Salesforce]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSalesforce', message: 'Continue with Salesforce' }),\n },\n [OAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [OAuthProviders.Amazon]: {\n messageDescriptor: msg({ id: 'oauth.continueWithAmazon', message: 'Continue with Amazon' }),\n },\n [OAuthProviders.Bitbucket]: {\n messageDescriptor: msg({ id: 'oauth.continueWithBitbucket', message: 'Continue with Bitbucket' }),\n },\n [OAuthProviders.LinkedIn]: {\n messageDescriptor: msg({ id: 'oauth.continueWithLinkedIn', message: 'Continue with LinkedIn' }),\n },\n [OAuthProviders.Coinbase]: {\n messageDescriptor: msg({ id: 'oauth.continueWithCoinbase', message: 'Continue with Coinbase' }),\n },\n [OAuthProviders.Twitch]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTwitch', message: 'Continue with Twitch' }),\n },\n [OAuthProviders.Twitter]: {\n messageDescriptor: msg({ id: 'oauth.continueWithX', message: 'Continue with X' }),\n },\n [OAuthProviders.TikTok]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTikTok', message: 'Continue with TikTok' }),\n },\n [OAuthProviders.Snapchat]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSnapchat', message: 'Continue with Snapchat' }),\n },\n [OAuthProviders.Figma]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFigma', message: 'Continue with Figma' }),\n },\n [OAuthProviders.Yahoo]: {\n messageDescriptor: msg({ id: 'oauth.continueWithYahoo', message: 'Continue with Yahoo' }),\n },\n} satisfies Record<OAuthProviders, ProviderInfo>;\n\ntype Props = {\n providerType: StringLiteralFromEnum<OAuthProviders>;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: Props) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<keyof typeof oauthIcons> = presentation.iconRegistry;\n const id = getButtonId(`oauth-${providerType}`, presentation.options);\n\n const provider = providerInfo[providerType];\n let label: string = providerType;\n let icon = null;\n if (provider) {\n const { messageDescriptor } = provider;\n\n const iconName = providerType === 'twitter' ? 'xTwitter' : providerType;\n const Icon = iconRegistry[iconName];\n\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n await stytchClient.oauth[providerType].start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n onSuccess?.();\n };\n\n return (\n <Button onClick={onButtonClick} variant=\"outline\" icon={icon} id={id}>\n {label}\n </Button>\n );\n};\n","import { DEV, logger, StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { OneTapProvider } from '../../../oneTap/OneTapProvider';\nimport { getRenderedOneTapMode } from '../../../oneTap/positionModes';\nimport { readB2CInternals } from '../../../utils/internal';\nimport { CircularProgress } from '../../components/atoms/CircularProgress';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useIsMounted } from '../../hooks/useIsMounted';\nimport { useIsOnlyFloatingOneTap } from '../../hooks/useIsOnlyFloatingOneTap';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport { useLastUsedOAuth } from '../screens/Main/useLastUsedOAuth';\nimport styles from './GoogleOneTap.module.css';\nimport { OAuthButton } from './OAuthButton';\n\ntype Props = {\n position?: StringLiteralFromEnum<OneTapPositions>;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nconst OAUTH_BUTTON_HEIGHT = 38;\n\n// See WebComponents.tsx - when using shadow DOM, the Google script cannot see the\n// mount point, so we render it outside and use slot to bring it back in\nconst OneTapMountNode = ({ enableShadowDOM }: { enableShadowDOM: boolean | undefined }) =>\n enableShadowDOM ? (\n <slot name=\"one-tap\"></slot>\n ) : (\n <div data-prompt_parent_id=\"g_id_onload\" id=\"google-parent-prompt\" />\n );\n\nexport const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutside }: Props) => {\n const oneTapRenderMode = getRenderedOneTapMode(position);\n const shouldRenderEmbeddedOneTap = oneTapRenderMode === 'embedded';\n const shouldRenderOneTap = !!oneTapRenderMode;\n\n const config = useConfig();\n const stytch = useStytch();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const [pending, setPending] = useState(shouldRenderEmbeddedOneTap);\n const [canDisplayOneTap, setCanDisplayOneTap] = useState(true);\n const [height, setHeight] = useState(OAUTH_BUTTON_HEIGHT);\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const resizeCount = useRef(0);\n const timeout = useRef<number>();\n const isMounted = useIsMounted();\n const [lastUsedMethod, setLastUsedOAuth] = useLastUsedOAuth();\n const { options } = usePresentation();\n\n /*\n * Begin One Tap Render Smoothing Logic\n */\n // Gets height of rendered one-tap UI, and sets the container height to that.\n // Animation is added for a smoother transition,\n const onResize = useCallback<ResizeObserverCallback>(([el]) => {\n if (timeout.current != null) {\n clearTimeout(timeout.current);\n }\n // On initial load, the one-tap ui rapidly changes heights 3 times. Checking\n // the resizeCount lets us debounce the first 2 resizes, so they will get\n // cancelled, but if they don't, it will resize after the short delay.\n if (resizeCount.current > 1) {\n // While setting the height, if the contentRect height is 0, it could also mean that the\n // oauthOptions props are being changed, and in that scenario if we can continue to display\n // one tap, we are setting the container height to the current height. If one tap cannot display\n // one tap, we will set the container height to the height of the button component.\n // Else we will set the height to the contentRect height.\n setHeight((currentHeight) =>\n el.contentRect.height === 0 ? (canDisplayOneTap ? currentHeight : OAUTH_BUTTON_HEIGHT) : el.contentRect.height,\n );\n } else {\n timeout.current = window.setTimeout(\n () =>\n setHeight((currentHeight) =>\n el.contentRect.height === 0\n ? canDisplayOneTap\n ? currentHeight\n : OAUTH_BUTTON_HEIGHT\n : el.contentRect.height,\n ),\n 100,\n );\n }\n resizeCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n // If we are in embedded mode, initialize the resize observer and bind it to the React callback\n useEffect(() => {\n if (shouldRenderEmbeddedOneTap) {\n const el = document.getElementById('google-parent-prompt');\n if (el) {\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(el);\n return () => resizeObserver.disconnect();\n }\n }\n }, [onResize, shouldRenderEmbeddedOneTap]);\n /*\n * End One Tap Render Smoothing Logic\n */\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n if (!shouldRenderOneTap) {\n return;\n }\n\n const { oneTap } = readB2CInternals(stytch);\n const clientResult = await oneTap.createOneTapClient();\n if (!clientResult.success) {\n if (clientResult.reason === 'oauth_config_not_found') {\n setOneTapError(OneTapErrors.NoConfiguredOAuthClient);\n } else if (clientResult.reason === 'no_signup_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredSignupRedirectUrls);\n } else if (clientResult.reason === 'no_login_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredLoginRedirectUrls);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n const onOneTapCancelled = (showError?: boolean) => {\n setCanDisplayOneTap(false);\n setHeight(OAUTH_BUTTON_HEIGHT);\n if (showError) {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n };\n\n /**\n * One Tap is composed of two calls, an init() call and a prompt() call.\n * The init() call takes in a parent_id where One Tap should be shown\n * prompt() does the actual showing.\n * If the element does not exist, we show One Tap in the upper right corner.\n * If the element does exist, One Tap's lifecycle is tied to the lifecycle of said element.\n * Here, we call init() then prompt() in the useEffect. If the component unmounts before\n * prompt() is called, One Tap falls back to the element-does-not-exist behavior.\n * Fix: add a check for whether the component is still rendered immediately before we\n * call prompt, preventing this race condition\n */\n if (!isMounted.current) {\n return;\n }\n\n const renderResult = await client.render({\n callback: oneTap.createOnSuccessHandler({\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n }),\n onOneTapCancelled,\n style: { position },\n cancelOnTapOutside,\n });\n\n // Check if the component has become unmounted during the async OT render process\n // Kill the rest of the logic if so\n if (!isMounted.current) {\n client.cancel();\n return;\n }\n\n setCanDisplayOneTap(renderResult.success);\n setPending(false);\n\n if (!renderResult.success) {\n if (renderResult.reason === 'unregistered_origin') {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n if (renderResult.reason === 'invalid_client') {\n setOneTapError(OneTapErrors.InvalidOAuthClient);\n }\n logger.error('Unable to render One Tap prompt', renderResult);\n }\n return client;\n }, [\n shouldRenderOneTap,\n stytch,\n isMounted,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.signupRedirectURL,\n position,\n cancelOnTapOutside,\n ]);\n\n useEffect(() => {\n let client: GoogleOneTapClient | undefined;\n attemptToLoadOneTap()\n .then(($client) => (client = $client))\n .catch((err) => {\n logger.error('Unable to render One Tap prompt', err);\n setCanDisplayOneTap(false);\n setPending(false);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n // Fallback Google auth button in case One Tap cannot be displayed\n const fallbackButton = (\n <OAuthButton\n providerType={OAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedOAuth(OAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === OAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (isOnlyFloatingOneTap) {\n return <OneTapMountNode enableShadowDOM={options.enableShadowDOM} />;\n }\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n if (shouldRenderEmbeddedOneTap && OneTapProvider.willGoogleOneTapShowEmbedded()) {\n return (\n <div className={classNames(styles.container, { [styles.pending]: pending })} style={{ height: height + 'px' }}>\n {pending && <CircularProgress size={25} />}\n {canDisplayOneTap ? <OneTapMountNode enableShadowDOM={options.enableShadowDOM} /> : fallbackButton}\n </div>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const AmazonIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#F90\"\n d=\"M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69\"\n />\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const AppleIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#000\"\n d=\"M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const BinanceIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#F3BA2F\"\n d=\"m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z\"\n />\n <path fill=\"#F3BA2F\" d=\"M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const BitbucketIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#1868DB\"\n d=\"m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const CoinbaseIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#0052FF\" d=\"M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const DiscordIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#5865F2\"\n d=\"M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const FacebookIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#0866FF\"\n d=\"M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10\"\n />\n <path\n fill=\"#fff\"\n d=\"m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const FigmaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#24CB71\" d=\"M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0\" />\n <path fill=\"#FF7237\" d=\"M10 1v6h3a3 3 0 0 0 0-6z\" />\n <path fill=\"#00B6FF\" d=\"M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n <path fill=\"#FF3737\" d=\"M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3\" />\n <path fill=\"#874FFF\" d=\"M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const GitlabIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#E24329\"\n d=\"m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FCA326\"\n d=\"m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const LinkedinIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#007EBB\"\n fillRule=\"evenodd\"\n d=\"M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const MetamaskIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#FF5C16\"\n d=\"m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z\"\n />\n <path\n fill=\"#FF5C16\"\n d=\"m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z\"\n />\n <path\n fill=\"#E34807\"\n d=\"m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z\"\n />\n <path\n fill=\"#FF8D5D\"\n d=\"M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z\"\n />\n <path fill=\"#FF8D5D\" d=\"M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z\" />\n <path\n fill=\"#661800\"\n d=\"M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96\"\n />\n <path fill=\"#C0C4CD\" d=\"M11.02 17.1v1.58H8.98v-1.59z\" />\n <path fill=\"#E7EBF6\" d=\"m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const PhantomIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#AB9FF2\"\n d=\"M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const SalesforceIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#00A1E0\"\n fillRule=\"evenodd\"\n d=\"M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const SnapchatIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#fff\"\n d=\"M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5\"\n className={_styles.darkInvert}\n />\n <path\n fill=\"#000\"\n d=\"M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const TiktokIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#161823\"\n fillRule=\"evenodd\"\n d=\"M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const TwitchIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#fff\" d=\"m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\" />\n <path\n fill=\"#9146FF\"\n d=\"M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\"\n />\n <path fill=\"#9146FF\" d=\"M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z\" />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const XTwitterIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#000\"\n d=\"M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import {\n AmazonIcon,\n AppleIcon,\n BinanceIcon,\n BitbucketIcon,\n CoinbaseIcon,\n DiscordIcon,\n FacebookIcon,\n FigmaIcon,\n GithubIcon,\n GitlabIcon,\n GmailIcon,\n GoogleIcon,\n LinkedinIcon,\n MetamaskIcon,\n MicrosoftIcon,\n OutlookIcon,\n PhantomIcon,\n SalesforceIcon,\n SlackIcon,\n SnapchatIcon,\n TiktokIcon,\n TwitchIcon,\n XTwitterIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\nimport type { IconRegistry } from '../../components/IconRegistry';\n\nexport const oauthIcons = {\n amazon: AmazonIcon,\n apple: AppleIcon,\n bitbucket: BitbucketIcon,\n coinbase: CoinbaseIcon,\n discord: DiscordIcon,\n facebook: FacebookIcon,\n figma: FigmaIcon,\n github: GithubIcon,\n gitlab: GitlabIcon,\n google: GoogleIcon,\n linkedin: LinkedinIcon,\n microsoft: MicrosoftIcon,\n salesforce: SalesforceIcon,\n slack: SlackIcon,\n snapchat: SnapchatIcon,\n tiktok: TiktokIcon,\n twitch: TwitchIcon,\n xTwitter: XTwitterIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport const cryptoIcons = {\n phantom: PhantomIcon,\n metamask: MetamaskIcon,\n binance: BinanceIcon,\n coinbase: CoinbaseIcon,\n} satisfies IconRegistry<string>;\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof cryptoIcons\n | keyof typeof emailIcons;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Find code of next character\n var charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n var carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { Wallets } from '@stytch/core/public';\nimport { encode } from 'bs58';\n\nimport { GenericWalletIcon } from '../assets';\nimport { cryptoIcons } from '../ui/b2c/components/Icons';\nimport { IconRegistry } from '../ui/components/IconRegistry';\nimport { getButtonId, usePresentation } from '../ui/components/PresentationConfig';\n\ntype ProviderRequest = ({\n method,\n params,\n}: {\n method: 'eth_requestAccounts' | 'personal_sign';\n params?: string[];\n}) => string[] | string;\n\ntype ETHProvider = {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request: ProviderRequest;\n};\n\ndeclare global {\n interface Window {\n solana: {\n isPhantom?: boolean;\n connect: () => { publicKey: { toString: () => string } };\n request: ({\n method,\n params,\n }: {\n method: 'signMessage';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: Record<string, any>;\n }) => { signature: Uint8Array };\n };\n\n ethereum: {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request?: ({ method, params }: { method: string; params?: string[] }) => string[] | string;\n providers?: ETHProvider[];\n };\n\n BinanceChain: { request: ProviderRequest };\n }\n}\n\nconst hasMultipleEthereumWallets = () => !!window.ethereum?.providers;\n\nconst hasMetaMask = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask)\n : window.ethereum.isMetaMask);\n\nconst hasCoinbaseWallet = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet)\n : window.ethereum?.isCoinbaseWallet);\n\nconst hasOtherEthereumWallet = () => !hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;\n\nconst getMetaMaskProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask) : window.ethereum;\n\nconst getCoinbaseProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet) : window.ethereum;\n\nconst getOtherInjectedProvider = () =>\n window.ethereum.providers?.find((wallet) => !wallet.isCoinbaseWallet && !wallet.isMetaMask);\n\ntype CryptoIcon = keyof typeof cryptoIcons;\nexport const walletIcons: Partial<Record<Wallets, CryptoIcon>> = {\n [Wallets.Phantom]: 'phantom',\n [Wallets.Binance]: 'binance',\n [Wallets.Coinbase]: 'coinbase',\n [Wallets.Metamask]: 'metamask',\n};\n\nexport const useCryptoButtonProps = () => {\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<CryptoIcon> = presentation.iconRegistry;\n\n return {\n getIcon: (wallet: Wallets) => {\n const iconName = walletIcons[wallet];\n return iconName ? iconRegistry[iconName] : GenericWalletIcon;\n },\n getId: (wallet: Wallets) => getButtonId(`wallet-${wallet}`, presentation.options),\n };\n};\n\nexport const WalletToText: Record<Wallets, MessageDescriptor> = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.phantom', message: 'Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.binance', message: 'Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.coinbase', message: 'Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.metamask', message: 'Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({ id: 'crypto.wallet.otherEthereum', message: 'Other Ethereum Wallet' }),\n [Wallets.GenericSolanaWallet]: msg({ id: 'crypto.wallet.otherSolana', message: 'Other Solana Wallet' }),\n};\n\nexport const isWalletVisible = (wallet: Wallets): boolean => {\n switch (wallet) {\n case Wallets.Metamask:\n return !!window.ethereum && hasMetaMask();\n case Wallets.Phantom:\n return (!!window.solana && window.solana?.isPhantom) ?? false;\n case Wallets.Binance:\n return !!window.BinanceChain;\n case Wallets.Coinbase:\n return !!window.ethereum && hasCoinbaseWallet();\n case Wallets.GenericEthereumWallet:\n return !!window.ethereum && hasOtherEthereumWallet();\n case Wallets.GenericSolanaWallet:\n return !!window.solana && !window.solana.isPhantom;\n default:\n return false;\n }\n};\n\nconst connectWithEthereumProvider = async (request: ProviderRequest): Promise<string> => {\n const [address] = await request({\n method: 'eth_requestAccounts',\n });\n return address;\n};\n\nexport const connectWithWallet = async ({ wallet }: { wallet: Wallets }): Promise<string> => {\n switch (wallet) {\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Phantom: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericSolanaWallet: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n default:\n return '';\n }\n};\n\nconst signMessageWithSolanaProvider = async (message: string): Promise<string> => {\n const encodedMessage = new TextEncoder().encode(message);\n const signResp = await window.solana.request({\n method: 'signMessage',\n params: {\n message: encodedMessage,\n display: 'utf8',\n },\n });\n return encode(signResp.signature);\n};\n\nconst signMessageWithEthereumProvider = async (\n request: ProviderRequest,\n message: string,\n address: string,\n): Promise<string> => {\n const signature = await request({\n method: 'personal_sign',\n params: [message, address],\n });\n return signature as string;\n};\n\nexport const signMessageWithWallet = async ({\n wallet,\n message,\n address,\n}: {\n wallet: Wallets;\n message: string;\n address: string;\n}): Promise<string> => {\n switch (wallet) {\n case Wallets.Phantom:\n case Wallets.GenericSolanaWallet:\n return signMessageWithSolanaProvider(message);\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n default:\n return '';\n }\n};\n\nexport const isSolanaWallet = (wallet: Wallets) => {\n const solanaWallets: Wallets[] = [Wallets.Phantom, Wallets.GenericSolanaWallet];\n return solanaWallets.includes(wallet);\n};\n\nexport const isEthereumWallet = (wallet: Wallets) => {\n const ethWallets: Wallets[] = [Wallets.Binance, Wallets.GenericEthereumWallet, Wallets.Coinbase, Wallets.Metamask];\n return ethWallets.includes(wallet);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { connectWithWallet, isSolanaWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const ConnectWallet = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not connect to wallet' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const walletOption = state.formState.cryptoState.walletOption;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onConnectWallet = async () => {\n const address = await connectWithWallet({ wallet: walletOption });\n stytchClient.cryptoWallets\n .authenticateStart({\n crypto_wallet_address: address,\n crypto_wallet_type: walletType,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticateStart, data });\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n walletAddress: address,\n walletChallenge: data.challenge,\n walletOption: walletOption,\n },\n });\n\n dispatch({ type: 'transition', screen: AppScreens.CryptoSignMessage });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onConnectWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.connectWallet.title', message: 'Connecting to your wallet...' })}\n body={t({\n id: 'crypto.connectWallet.instructionPopup',\n message: 'Complete sign in by connecting through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Error = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.error.title', message: 'Looks like there was an error' })}\n body={t({\n id: 'crypto.error.content',\n message: 'Your sign in request could not be completed. Go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { GenericWalletIcon } from '../../../../assets';\nimport { isWalletVisible, useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\n\nconst MAX_BUTTONS = 6;\n\nconst walletMessages = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.continueWithPhantom', message: 'Continue with Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.continueWithBinance', message: 'Continue with Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.continueWithCoinbase', message: 'Continue with Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.continueWithMetamask', message: 'Continue with Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({\n id: 'crypto.wallet.continueWithEthereum',\n message: 'Continue with Other Ethereum Wallet',\n }),\n [Wallets.GenericSolanaWallet]: msg({\n id: 'crypto.wallet.continueWithSolana',\n message: 'Continue with Other Solana Wallet',\n }),\n} satisfies Record<Wallets, MessageDescriptor>;\n\nexport const CryptoWalletButtons = ({ type }: { type: 'main' | 'other' }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n\n const { getIcon, getId } = useCryptoButtonProps();\n\n const oAuthOptions = config.oauthOptions?.providers.length ?? 0;\n\n // Crypto Buttons on screen = Maximum Buttons - OAuth Buttons - 1 (Other crypto or set up new wallet)\n const cryptoButtonsOnMainScreen = MAX_BUTTONS - oAuthOptions - 1;\n const onWalletStart = (wallet: Wallets) => {\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n ...state.formState.cryptoState,\n walletOption: wallet,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConnect });\n };\n\n const allDetectedWallets = (Object.keys(Wallets) as (keyof typeof Wallets)[]).filter((wallet) =>\n isWalletVisible(Wallets[wallet]),\n );\n\n const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;\n\n const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);\n const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);\n\n const walletsToRender = type === 'main' ? mainWallets : otherWallet;\n\n return (\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const walletEnum = Wallets[wallet];\n const Icon = getIcon(walletEnum);\n return (\n <Button\n key={wallet}\n variant=\"outline\"\n icon={<Icon />}\n onClick={() => onWalletStart(walletEnum)}\n id={getId(walletEnum)}\n >\n {type === 'main' ? t(walletMessages[walletEnum]) : t(WalletToText[walletEnum])}\n </Button>\n );\n })}\n\n {renderOtherScreenButton && type === 'main' ? (\n <Button\n variant=\"outline\"\n icon={<GenericWalletIcon />}\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoOtherScreen })}\n id={getId(Wallets.GenericEthereumWallet)}\n >\n {t(msg({ id: 'crypto.wallet.continueWithOtherWallet', message: 'Continue with other Crypto Wallet' }))}\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoSetupWallet })}\n >\n {t(msg({ id: 'crypto.wallet.setupNewWallet', message: 'Set up a new crypto wallet' }))}\n </Button>\n )}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\nimport { CryptoWalletButtons } from './WalletButtons';\n\nexport const OtherCryptoWallets = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'crypto.continueWithOtherWallet.title', message: 'Continue with other wallet' })}\n </Typography>\n\n <ButtonColumn>\n <CryptoWalletButtons type=\"other\" />\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button, { ButtonAnchor } from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const SetupNewWallet = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n const { getIcon, getId } = useCryptoButtonProps();\n const walletsToRender = [Wallets.Metamask, Wallets.Phantom, Wallets.Coinbase, Wallets.Binance];\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.setupNewWallet.title', message: 'Set up a new crypto wallet' })}\n body={t({\n id: 'crypto.setupNewWallet.content',\n message: 'Get started by downloading any Ethereum or Solana wallet.',\n })}\n helper={t({\n id: 'crypto.setupNewWallet.instruction',\n message:\n 'We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in.',\n })}\n />\n\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const Icon = getIcon(wallet);\n return (\n <ButtonAnchor\n key={wallet}\n variant=\"outline\"\n target=\"_blank\"\n rel=\"noreferrer\"\n icon={<Icon />}\n href=\"https://metamask.io/\"\n id={getId(wallet)}\n >\n {t(WalletToText[wallet])}\n </ButtonAnchor>\n );\n })}\n\n <Button variant=\"primary\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { isSolanaWallet, signMessageWithWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const SignMessage = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not sign message' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onSignWallet = async () => {\n const signature = await signMessageWithWallet({\n wallet: walletOption,\n message: walletChallenge,\n address: walletAddress,\n });\n\n stytchClient.cryptoWallets\n .authenticate({\n crypto_wallet_address: walletAddress,\n crypto_wallet_type: walletType,\n signature,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConfirmation });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onSignWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.signMessage.title', message: 'Completing signature request...' })}\n body={t({\n id: 'crypto.signMessage.instruction',\n message: 'Complete the signature request through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Success = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Confirmation\n header={t({ id: 'crypto.success.title', message: 'Success!' })}\n text={t({ id: 'crypto.success.content', message: 'You have successfully connected your wallet.' })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\nfunction getActiveElement(root = document) {\n const activeElement = root.activeElement;\n return activeElement && activeElement.shadowRoot ? getActiveElement(activeElement.shadowRoot) : activeElement;\n}\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import type { OTPMethods } from '@stytch/core/public';\nimport type { ComponentType } from 'react';\n\nimport type { Values } from '../../utils/types';\nimport type { IconRegistry } from '../components/IconRegistry';\nimport type { StartPasskeyAuth } from '../hooks/usePromptPasskey';\nimport type { IconNames } from './components/Icons';\nimport type { AppScreens } from './GlobalContextProvider';\n\nexport type ProductId =\n | 'emailMagicLinks'\n | 'oauth'\n | 'otp'\n | 'crypto'\n | 'passwords'\n | 'passkeys'\n | 'passkeyRegistration';\n\n// tabs types\nexport const MagicLinkMethods = {\n Email: 'emailMagicLinks',\n} as const;\nexport type MagicLinkMethods = Values<typeof MagicLinkMethods>;\n\nexport const PasswordMethods = {\n Email: 'passwords',\n} as const;\nexport type PasswordMethods = Values<typeof PasswordMethods>;\n\nexport type TabMethods = OTPMethods | MagicLinkMethods | PasswordMethods;\n\n// mainScreen types\nexport type MainScreenKey = 'oauth' | 'crypto' | 'login-form' | 'divider' | 'passkey-button';\nexport type MainScreenGroup = MainScreenKey | MainScreenKey[];\n\nexport type MainScreenChildProps = {\n startPasskeyAuth: StartPasskeyAuth;\n};\n\nexport type StytchProduct = Readonly<{\n id: ProductId;\n\n screens: Partial<Record<AppScreens, ComponentType>>;\n tabs?: Partial<Record<TabMethods, ComponentType>>;\n mainScreen?: Partial<Record<MainScreenKey, ComponentType<MainScreenChildProps>>>;\n icons?: Partial<IconRegistry<IconNames>>;\n}>;\n","import type { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport { OTPMethods } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport { Tabs } from 'radix-ui';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../../../components/atoms/Button';\nimport Typography from '../../../../components/atoms/Typography';\nimport { useConfig } from '../../../GlobalContextProvider';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct, TabMethods } from '../../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../../utils';\nimport styles from './index.module.css';\n\nexport const OTPTabHeaders: Record<TabMethods, MessageDescriptor> = {\n [OTPMethods.SMS]: msg({ id: 'tab.text', message: 'Text' }),\n [OTPMethods.WhatsApp]: msg({ id: 'tab.whatsapp', message: 'WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [MagicLinkMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [PasswordMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n};\n\nexport const getTabMethods = (products: StytchProduct[], otpMethods: OTPMethods[]) => {\n const hasPassword = hasProduct(products, 'passwords');\n const tabMethods = new Set<TabMethods>();\n for (const { id } of products) {\n if (id === 'emailMagicLinks') {\n tabMethods.add(hasPassword ? PasswordMethods.Email : MagicLinkMethods.Email);\n } else if (id === 'passwords') {\n tabMethods.add(PasswordMethods.Email);\n } else if (id === 'otp') {\n for (const method of otpMethods) {\n tabMethods.add(method === OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);\n }\n }\n }\n return Array.from(tabMethods);\n};\n\nexport const LoginForm = () => {\n const { t } = useLingui();\n const { otpOptions, products } = useConfig();\n const productsIncludesOtp = hasProduct(products, 'otp');\n const otpMethods = productsIncludesOtp ? (otpOptions?.methods ?? []) : [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');\n const hasOTPEmail = productsIncludesOtp && otpMethods.includes(OTPMethods.Email);\n\n const tabMethods = getTabMethods(products, otpMethods);\n const tabMethodComponents = useProductComponents(products, 'tabs');\n\n if (hasEmailMagicLink && hasOTPEmail)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use both EML and Email OTP')}\n </Typography>\n );\n\n return (\n <Tabs.Root defaultValue={tabMethods[0]}>\n {tabMethods.length > 1 && (\n <Tabs.List className={styles.tabRow} aria-label={t({ message: 'Select login method', id: 'tab.listLabel' })}>\n {tabMethods.map((method) => (\n <Tabs.Trigger\n value={method}\n key={method}\n className={classNames(buttonClassNames({ variant: 'outline', block: true }), styles.tab)}\n >\n {t(OTPTabHeaders[method])}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n )}\n\n {tabMethods.map((method) => {\n const Component = tabMethodComponents![method];\n if (tabMethods.length > 1) {\n return (\n // We override tabIndex here because each tab will have some interactive element\n // > It is recommended that all tabpanel elements in a tab set are focusable if there are any panels in\n // > the set that contain content where the first element in the panel is not focusable.\n // - From: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/examples/tabs-automatic/#accessibilityfeatures\n <Tabs.Content value={method} key={method} tabIndex={-1}>\n <Component />\n </Tabs.Content>\n );\n } else {\n return <Component key={method} />;\n }\n })}\n </Tabs.Root>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertMagicLinkOptions, EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const MagicLinkEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const emailMagicLinksOptions = config.emailMagicLinksOptions;\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const submittingEmail = email;\n if (!submittingEmail.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.magicLinks.email\n .loginOrCreate(submittingEmail, convertMagicLinkOptions(emailMagicLinksOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email: submittingEmail } });\n setIsSubmitting(false);\n dispatch({ type: 'set_magic_link_email', email: submittingEmail });\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: submittingEmail, type: EmailSentType.LoginOrCreateEML },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { CountryCode, DEFAULT_OTP_EXPIRATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport PhoneInput, { getPhoneNumberProps } from '../../../../components/molecules/PhoneInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const OTPButtonText = {\n [OTPMethods.SMS]: msg({ id: 'button.sms', message: 'Continue with text message' }),\n [OTPMethods.WhatsApp]: msg({ id: 'button.whatsapp', message: 'Continue with WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'button.emailLogin', message: 'Continue with email' }),\n};\n\nexport const OTPEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n return setErrorMessage(errorText);\n };\n\n const handleEmailSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setIsSubmitting(true);\n\n if (!email.match(EMAIL_REGEX))\n return stopSubmit(t({ id: 'errors.invalidEmail', message: 'Invalid email address.' }));\n\n setErrorMessage('');\n setIsSubmitting(true);\n\n stytchClient.otps.email\n .loginOrCreate(email, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n login_template_id: config.otpOptions?.loginTemplateId,\n signup_template_id: config.otpOptions?.signupTemplateId,\n locale: config.otpOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.LoginOrCreateOTP },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleEmailSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[OTPMethods.Email])}\n </Button>\n </Column>\n );\n};\n\nexport const PhoneForm = ({ method }: { method: OTPMethods }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [phoneNumber, setPhoneNumber] = useState('');\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const [country, setCountry] = useState<CountryCode>('US');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n setErrorMessage(errorText);\n };\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2CInternals(stytchClient).clientsideServices);\n\n const handlePhoneSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country,\n });\n\n if (!parsedNumber.isValid) {\n return stopSubmit(\n t({\n id: 'error.invalidPhoneNumber',\n message: 'Phone number format is invalid. Ensure the phone number is in the E.164 format.',\n }),\n );\n }\n\n setIsSubmitting(true);\n setErrorMessage('');\n\n stytchClient.otps[method]\n .loginOrCreate(parsedNumber.number, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: method,\n methodId: data.method_id,\n otpDestination: parsedNumber.number,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n return (\n <Column as=\"form\" gap={4} onSubmit={handlePhoneSubmit}>\n <PhoneInput\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n country={country}\n setCountry={setCountry}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n hasPasskeys={hasPasskeys}\n error={errorMessage}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[method])}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { PasskeyIcon } from '../../../../../assets';\nimport Button from '../../../../components/atoms/Button';\nimport { StartPasskeyAuth } from '../../../../hooks/usePromptPasskey';\n\nexport const PasskeyButton = ({ startPasskeyAuth }: { startPasskeyAuth: StartPasskeyAuth }) => {\n const { t } = useLingui();\n\n return (\n <Button icon={<PasskeyIcon />} variant=\"outline\" onClick={startPasskeyAuth}>\n {t({ id: 'button.loginWithPasskey', message: 'Login with a Passkey' })}\n </Button>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport { AppScreens, useConfig, useErrorCallback, useGlobalReducer, useStytch } from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const PasswordsEmailForm = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const onError = useErrorCallback();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n\n readB2CInternals(stytch)\n .searchManager.searchUser(email)\n .then(({ userType }) => {\n dispatch({ type: 'update_password_state', passwordState: { email, type: userType } });\n dispatch({ type: 'transition', screen: AppScreens.PasswordCreateOrLogin });\n readB2CInternals(stytch).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { arrayUtils } from '@stytch/core';\nimport React from 'react';\n\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport LastUsed from '../../../components/molecules/LastUsed';\nimport { GoogleOneTap } from '../../components/GoogleOneTap';\nimport { OAuthButton } from '../../components/OAuthButton';\nimport { useConfig } from '../../GlobalContextProvider';\nimport { useLastUsedOAuth } from './useLastUsedOAuth';\n\nexport const OAuthButtons = () => {\n const config = useConfig();\n const [lastUsedOAuth, setLastUsedOAuth] = useLastUsedOAuth();\n\n if (!config.oauthOptions) return <></>;\n const { providers, loginRedirectURL, signupRedirectURL } = config.oauthOptions;\n\n const [reorderedProviders, foundLastUsed] = arrayUtils.moveToFront(\n providers,\n (provider) => provider.type === lastUsedOAuth,\n );\n\n return (\n <ButtonColumn>\n {reorderedProviders.map((provider, index) => {\n const providerProps = {\n customScopes: provider.custom_scopes,\n providerParams: provider.provider_params,\n };\n\n if (provider.one_tap) {\n return (\n <GoogleOneTap\n position={provider.position}\n key={`oauth-${provider.type}`}\n {...providerProps}\n cancelOnTapOutside={provider.cancel_on_tap_outside}\n />\n );\n }\n\n const button = (\n <OAuthButton\n key={`oauth-${provider.type}`}\n providerType={provider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n onSuccess={() => setLastUsedOAuth(provider.type)}\n {...providerProps}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const PasskeyConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation\n text={t({ id: 'passkey.success.content', message: 'Your Passkey has been successfully authenticated.' })}\n />\n );\n};\n","export enum Device {\n DESKTOP = 'Desktop device',\n MOBILE = 'Mobile device',\n UNKNOWN = 'Unknown device',\n}\n\nexport const determineDeviceType = (userAgent: string): Device => {\n // TODO: Add more device types/ make more fine grained\n if (userAgent === '') {\n return Device.UNKNOWN;\n }\n\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const mobileKeywords = ['mobile', 'android', 'iphone', 'ipad', 'windows phone'];\n userAgent = userAgent.toLowerCase();\n for (const keyword of mobileKeywords) {\n if (userAgent.includes(keyword)) {\n return Device.MOBILE;\n }\n }\n\n return Device.DESKTOP;\n};\n\n// This commonly occurs when a user tries to register a Passkey using a QR code on a separate device\n// but the Passkey has already been sync'd to that device (e.g. the user registers an Apple passkey on their Macbook,\n// it then syncs to their iPhone, and then they try to register the same Passkey on their iPhone). At some point we\n// may be able to remove this logic when this is handled within the browser Passkeys UI.\nexport const SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'At least one credential matches an entry of the excludeCredentials list in the platform attached authenticator.';\nexport const CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.';\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport {\n CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n} from '../../../../utils/passkeys';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasskeyRegistrationStart = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [userState, setUserState] = useState<'noUser' | 'hasUser' | 'loading'>(() =>\n // We'll optimistically say if the user has a cached session then they are logged in, otherwise we try loading first\n stytchClient.user.getSync() != null ? 'hasUser' : 'loading',\n );\n const [error, setError] = useState<string>();\n const config = useConfig();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n useEffect(() => {\n stytchClient.user\n .get()\n .then(() => {\n setUserState('hasUser');\n })\n .catch((e: StytchAPIError) => {\n setUserState('noUser');\n onError(e);\n });\n }, [onError, stytchClient]);\n\n const [, dispatch] = useGlobalReducer();\n\n const onCreatePasskey = () => {\n setError(undefined);\n\n stytchClient.webauthn\n .register({\n domain: config.passkeyOptions?.domain,\n is_passkey: true,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.PasskeyRegister, data });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n\n if (\n e.message.includes(SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE) ||\n e.message.includes(CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE)\n ) {\n setError(\n t({\n id: 'error.duplicatePasskey',\n message:\n 'The Passkey cannot be created as it seems to be already registered. It is possible this Passkey was registered on another device but has synced cross-device.',\n }),\n );\n return;\n } else {\n setError(\n t({\n id: 'error.passkeyNotCreated',\n message:\n 'Your Passkey was not created. Click “Create a Passkey” to try again or skip without adding a Passkey.',\n }),\n );\n }\n });\n };\n\n const onSkip = () => {\n onEvent({ type: StytchEventType.PasskeySkip, data: {} });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n };\n\n if (userState === 'loading') {\n return <LoadingScreen />;\n }\n\n if (userState === 'noUser') {\n return (\n <ErrorText>\n {t({\n id: 'passkey.registrationStart.error.noUser',\n message: 'Error: Cannot use PasskeyRegistration component without active user authenticated.',\n })}\n </ErrorText>\n );\n }\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({\n id: 'passkey.registrationStart.title',\n message: 'Set up a new Passkey',\n })}\n body={t({\n id: 'passkey.registrationStart.subtitle',\n message: \"With Passkeys you don't need to remember complex passwords.\",\n })}\n helper={t({\n id: 'passkey.registrationStart.description',\n message:\n 'Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock. Creating a Passkey will allow you to easily and securely log in to your account.',\n })}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => onCreatePasskey()}>\n {t({\n id: 'button.createPasskey',\n message: 'Create a Passkey',\n })}\n </Button>\n\n {error && <ErrorText>{error}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={() => onSkip()}>\n {t({\n id: 'button.skip',\n message: 'Skip',\n })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport classNames from 'classnames';\nimport React, { useEffect, useRef } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Typography from '../../../components/atoms/Typography';\nimport Input from '../../../components/molecules/Input';\nimport styles from './EditableRow.module.css';\n\nexport type EditableRowState =\n | { type: 'viewing' } //\n | { type: 'editing'; id: string; newName: string }\n | { type: 'deleting'; id: string };\n\nconst commonButtonProps = {\n block: false,\n variant: 'ghost',\n} as const;\n\ntype Props = {\n id: string;\n name: string;\n className?: string;\n state: EditableRowState;\n updateState: (newState: EditableRowState) => void;\n handleEdit: (id: string, newName: string) => void;\n};\n\nexport const EditableRow = ({ id, name, className, state, updateState, handleEdit }: Props) => {\n const { t } = useLingui();\n\n const isEditing = isEditingRow(id, state);\n const othersEditing = state.type !== 'viewing' && state.id !== id;\n\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (isEditing) {\n inputRef.current?.focus();\n }\n }, [isEditing]);\n\n return (\n <form\n className={classNames(styles.row, className)}\n onSubmit={(evt) => {\n evt.preventDefault();\n if (isEditing) {\n handleEdit(id, state.newName);\n }\n }}\n data-testid={testId(id)}\n >\n <div className={styles.input}>\n {isEditing ? (\n <Input\n id={`passkey-name-${id}`}\n ref={inputRef}\n label={t({ id: 'passkey.editing.label', message: 'Passkey name' })}\n hideLabel\n value={isEditing ? state.newName : name}\n onChange={(e) => {\n if (isEditing) {\n updateState({ ...state, newName: e.target.value });\n }\n }}\n />\n ) : (\n <Typography color=\"muted\">{name}</Typography>\n )}\n </div>\n\n {(() => {\n if (state.type === 'deleting') return null;\n\n if (isEditing) {\n return (\n <div className={styles.actions}>\n <Button key=\"submit\" type=\"submit\" {...commonButtonProps}>\n {t({ id: 'button.save', message: 'Save' })}\n </Button>\n <Button onClick={() => updateState({ type: 'viewing' })} {...commonButtonProps}>\n {t({ id: 'button.cancel', message: 'Cancel' })}\n </Button>\n </div>\n );\n }\n\n if (state.type === 'viewing' || othersEditing) {\n return (\n <div className={styles.actions}>\n <Button\n // key required to workaround a React/Preact issue when button type is updated on re-render\n key=\"edit\"\n onClick={() => updateState({ type: 'editing', id, newName: name })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.edit', message: 'Edit' })}\n </Button>\n <Button\n onClick={() => updateState({ type: 'deleting', id })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.delete', message: 'Delete' })}\n </Button>\n </div>\n );\n }\n })()}\n </form>\n );\n};\n\nexport function isEditingRow(\n id: string,\n state: EditableRowState,\n): state is Extract<EditableRowState, { type: 'editing' }> {\n return state.type === 'editing' && state.id === id;\n}\n\nexport function testId(id: string) {\n return `editable-row-${id}`;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { logger } from '@stytch/core';\nimport { errorToStytchError, StytchEventType, WebAuthnRegistration } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport Typography from '../../../components/atoms/Typography';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { AppScreens, useEventCallback, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { EditableRow, EditableRowState } from './EditableRow';\nimport styles from './PasskeyRegistrationSuccess.module.css';\n\n// TODO: Add some type of device icon once we have better insight into that.\n// const deviceTypeToIcon: Partial<Record<Device, React.JSX.Element>> = {\n// [Device.DESKTOP]: <Computer />,\n// [Device.MOBILE]: <Mobile />,\n// };\n\ntype OptimisticUpdate = {\n registrations: WebAuthnRegistration[];\n update: Promise<unknown>;\n};\n\nexport const PasskeyRegistrationSuccess = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const user = useStytchUser();\n\n const [optimisticRegistrations, setOptimisticRegistrations] = useState<OptimisticUpdate>();\n const webAuthnRegistrations = optimisticRegistrations?.registrations ?? user?.webauthn_registrations;\n\n const [editableRowState, setEditableRowState] = useState<EditableRowState>({ type: 'viewing' });\n\n const onEvent = useEventCallback();\n const [, dispatch] = useGlobalReducer();\n\n const onSetUpANewPasskey = async () => {\n await optimisticRegistrations?.update;\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationStart });\n };\n\n const onDone = async () => {\n await optimisticRegistrations?.update;\n onEvent({ type: StytchEventType.PasskeyDone, data: {} });\n };\n\n const startOptimisticUpdate = (registrations: WebAuthnRegistration[], update: Promise<unknown>) => {\n const prevEditableRowState = { ...editableRowState };\n\n setOptimisticRegistrations({ registrations, update });\n setEditableRowState({ type: 'viewing' });\n\n update\n .catch((error) => {\n logger.error(error);\n errorToast({ message: errorToStytchError(error).message });\n setEditableRowState(prevEditableRowState);\n })\n .then(() => {\n setOptimisticRegistrations(undefined);\n });\n };\n\n const deleteReg = (id: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.filter((r) => r.webauthn_registration_id !== id),\n stytchClient.user.deleteWebauthnRegistration(id),\n );\n };\n\n const updateReg = (id: string, name: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.map((r) => (r.webauthn_registration_id === id ? { ...r, name } : r)),\n stytchClient.webauthn.update({ webauthn_registration_id: id, name }).then(() => stytchClient.user.get()),\n );\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'passkey.registrationSuccess.title',\n message: 'Passkey successfully created!',\n })}\n </Typography>\n\n {webAuthnRegistrations && webAuthnRegistrations.length > 0 && (\n <Column gap={4}>\n <Typography weight=\"medium\">\n {t({\n id: 'passkey.registrationSuccess.existingPasskeys',\n message: 'Existing Passkeys',\n })}\n </Typography>\n\n <Column className={styles.existing}>\n {webAuthnRegistrations.map((registration: WebAuthnRegistration) => (\n // TODO: Add some type of device icon once we have better insight into that.\n // deviceTypeToIcon[determineDeviceType(registration.user_agent)]\n <EditableRow\n className={styles.passkeyRow}\n key={registration.webauthn_registration_id}\n id={registration.webauthn_registration_id}\n name={registration.name}\n state={editableRowState}\n updateState={setEditableRowState}\n handleEdit={updateReg}\n />\n ))}\n </Column>\n </Column>\n )}\n\n <ButtonColumn>\n {editableRowState.type === 'deleting' ? (\n <>\n <Button\n variant=\"destructive\"\n onClick={() => {\n deleteReg(editableRowState.id);\n }}\n >\n {t({\n id: 'button.delete',\n message: 'Delete',\n })}\n </Button>\n\n <ErrorText\n // alert role to ensure this gets read out when the row delete button is clicked\n role=\"alert\"\n >\n {t({\n id: 'passkey.registrationSuccess.deleteWarning',\n message: 'Once deleted, the passkey cannot be restored.',\n })}\n </ErrorText>\n\n <Button\n variant=\"ghost\"\n onClick={() => {\n setEditableRowState({ type: 'viewing' });\n }}\n >\n {t({\n id: 'button.cancel',\n message: 'Cancel',\n })}\n </Button>\n </>\n ) : (\n <>\n <Button variant=\"primary\" disabled={editableRowState.type === 'editing'} onClick={onSetUpANewPasskey}>\n {t({\n id: 'passkey.registrationSuccess.setupAnother',\n message: 'Set up another Passkey',\n })}\n </Button>\n\n <Button variant=\"ghost\" disabled={editableRowState.type === 'editing'} onClick={onDone}>\n {t({\n id: 'button.done',\n message: 'Done',\n })}\n </Button>\n </>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { convertMagicLinkOptions, convertPasswordResetOptions } from '../../../../utils';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\n\n/**\n * Handle the common behavior part of email actions, used in conjunction with <EmailActionLayout>\n */\nexport function useResetResendPasswordActions() {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const email = state.formState.passwordState.email;\n const { emailMagicLinksOptions, passwordOptions } = useConfig();\n\n return {\n email,\n\n resendResetPassword: () =>\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)),\n\n sendMagicLink: async () => {\n const result = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n return result;\n },\n\n goBack: () => dispatch({ type: 'transition', screen: AppScreens.Main }),\n };\n}\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordBreached = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.breached.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.breached.content\"\n message=\"A different site where you use the same password had a security issue recently. For your safety, an email was sent to you at <bold>{email}</bold> to reset your password.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const PasswordConfirmation = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordDedupe = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.resetRequired.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.resetRequired.content\"\n message=\"We want to make sure your account is secure and that it's really you logging in! A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport React from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useStytch } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordForgot = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.forgot.title', message: 'Forgot your password?' })}\n description={\n <Trans\n id=\"password.forgot.content\"\n message=\"A link to reset your password was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={() => {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n\n return resendResetPassword();\n }}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useErrorCallback, useEventCallback } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordSetNew = () => {\n const { t } = useLingui();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n\n const { email, resendResetPassword, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.setNew.title',\n message: 'Check your email',\n })}\n description={\n <Trans\n id=\"password.setNew.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={async () => {\n try {\n const data = await resendResetPassword();\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n onError(e);\n throw e;\n }\n }}\n goBack={goBack}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { debounce } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport VerticalTransition from '../../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const ResetPasswordScreen = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const { bootstrap } = useBootstrap();\n const [state, dispatch] = useGlobalReducer();\n const passwordToken = state.formState.resetPasswordState.token;\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const resetTokenType = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n return parsed?.tokenType ?? '';\n }, [stytchClient]);\n\n const [password, setPassword] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n // Passwordless login states\n const [loginErrorMessage, setLoginErrorMessage] = useState('');\n const [isLoggingIn, setIsLoggingIn] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, feedback, valid_password, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n });\n }),\n [stytchClient.passwords],\n );\n\n useEffect(() => {\n if (resetTokenType === 'login') {\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: Error) => {\n onError(e);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [resetTokenType]);\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .resetByEmail({\n token: passwordToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordResetByEmail, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n };\n\n const handlePasswordlessLogin = () => {\n setLoginErrorMessage('');\n setIsLoggingIn(true);\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setLoginErrorMessage(getTranslatedError(e, t));\n })\n .finally(() => {\n setIsLoggingIn(false);\n });\n };\n\n if (resetTokenType === 'login') {\n return (\n // Same as <LoggingInScreen>, but use its own string ID\n <Typography variant=\"header\" align=\"center\">\n {t({\n id: 'password.reset.loggingInProgress',\n message: 'Logging in...',\n })}\n </Typography>\n );\n }\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <form onSubmit={handleSubmit}>\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'password.reset.title',\n message: 'Reset your password',\n })}\n </Typography>\n\n <Column gap={2}>\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <div>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n </div>\n </Column>\n\n <ButtonColumn\n top={\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n }\n bottom={\n <Column gap={2}>\n <Button variant=\"outline\" disabled={isLoggingIn} onClick={handlePasswordlessLogin} loading={isLoggingIn}>\n <VerticalTransition\n primary={t({\n id: 'password.reset.loginWithoutPassword',\n message: 'Login without a password',\n })}\n secondary={t({\n id: 'login.loading',\n message: 'Logging in...',\n })}\n triggered={isLoggingIn}\n />\n </Button>\n\n {loginErrorMessage && <ErrorText>{loginErrorMessage}</ErrorText>}\n </Column>\n }\n />\n </Column>\n </form>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES } from '@stytch/core';\nimport { OTPMethods, StytchEventType, StytchSDKAPIError } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { convertMagicLinkOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport {\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport function usePasswordlessAuthenticate() {\n const { t } = useLingui();\n\n const stytchClient = useStytch();\n const { emailMagicLinksOptions, otpOptions } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const email = state.formState.passwordState.email;\n\n const sendLink = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email } });\n dispatch({ type: 'set_magic_link_email', email: email });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const sendCode = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.otps.email.loginOrCreate(email, {\n expiration_minutes: otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n locale: otpOptions?.locale,\n });\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return {\n sendLink,\n sendCode,\n isSubmitting,\n };\n}\n","import { EmailSentType } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../../components/organisms/EmailConfirmationView';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\n/**\n * Resolves the best email domain to use as a hint for login\n */\nexport const useEmailDomain = () => {\n const stytch = useStytch();\n const config = useConfig();\n /**\n * Read the emailDomains out of sync storage, then read out of async storage\n * TODO - Should all bootstrap data live in the config somewhere?\n */\n const [emailDomains, setEmailDomains] = useState(() => {\n const { emailDomains } = readB2CInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2CInternals(stytch)\n .bootstrap.getAsync()\n .then(({ emailDomains }) => {\n setEmailDomains(emailDomains);\n });\n }, [stytch]);\n\n // If a domain is explicitly passed in, use it!\n if (config.emailMagicLinksOptions?.domainHint) {\n return config.emailMagicLinksOptions?.domainHint;\n }\n // If there can only be one logical choice, use it!\n if (emailDomains?.length === 1) {\n return emailDomains[0];\n }\n // If it isn't clear who sent the email\n // we simply won't provide a hint!\n return null;\n};\n\nexport const EmailConfirmation = ({ showGoBack = true }: { showGoBack?: boolean }) => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n const { sendLink, isSubmitting } = usePasswordlessAuthenticate();\n\n const email =\n state.formState.magicLinkState.email !== ''\n ? state.formState.magicLinkState.email\n : state.formState.passwordState.email;\n\n const goBack = () => {\n dispatch({ type: 'set_magic_link_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.LoginOrCreateEML },\n });\n };\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={showGoBack ? goBack : undefined}\n resend={sendLink}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../utils/internal';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { ResendOTPButton } from '../../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../../components/organisms/SentOTPEntry';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const OTPAuthenticate = ({ hideBackButton = false }: { hideBackButton?: boolean }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const destination = state.formState.otpState.otpDestination;\n const selectionMethod = state.formState.otpState.type;\n const [errorMessage, setErrorMessage] = useState('');\n const [formattedDestination, setFormattedDestination] = useState(destination);\n\n const calculateExpiration = () =>\n Date.now() + 1000 * 60 * (config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES);\n\n useEffect(() => {\n const parseDestination = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2CInternals(stytchClient).clientsideServices.parsedPhoneNumber({ phoneNumber });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: destination,\n });\n\n setFormattedDestination(selectionMethod === OTPMethods.Email ? destination : national);\n };\n\n parseDestination();\n }, [selectionMethod, destination, stytchClient]);\n\n const [expiration, setExpiration] = useState(calculateExpiration);\n const resendCountdown = useCountdown();\n\n const resendOTP = async () => {\n if (selectionMethod === OTPMethods.Email) {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: destination, type: EmailSentType.LoginOrCreateOTP },\n });\n }\n\n try {\n const data = await stytchClient.otps[selectionMethod].loginOrCreate(destination, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n });\n\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n setExpiration(calculateExpiration());\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: selectionMethod,\n methodId: data.method_id,\n otpDestination: destination,\n },\n });\n } catch (e: unknown) {\n onError(e as StytchAPIError);\n setErrorMessage(getTranslatedError(e as StytchAPIError, t));\n throw e;\n }\n };\n\n const handleSubmit = async (otp: string) => {\n setIsSubmitting(true);\n stytchClient.otps\n .authenticate(otp, state.formState.otpState.methodId, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.OTPsAuthenticate, data });\n setIsSubmitting(false);\n dispatch({\n type: 'transition',\n screen: AppScreens.OTPConfirmation,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n resendCountdown.clear();\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column gap={6}>\n <SentOTPEntry\n expiration={expiration}\n formattedDestination={formattedDestination}\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={resendOTP} isSubmitting={isSubmitting} />\n\n {!hideBackButton && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport { useEventCallback } from '../../GlobalContextProvider';\n\nexport const OTPConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation text={t({ id: 'otp.success.content', message: 'Your passcode has been successfully verified.' })} />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasswordAuthenticate = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .authenticate({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const onForgot = () => {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgot });\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} disabled />\n\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={onForgot}>\n {t({ id: 'button.forgotPassword', message: 'Forgot your password?' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useMemo, useState } from 'react';\n\nimport { convertPasswordResetOptions, debounce, noop } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const PasswordNewUser = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { bootstrap } = useBootstrap();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const email = state.formState.passwordState.email;\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((email: string, password: string) => {\n setErrorMessage('');\n stytchClient.passwords\n .strengthCheck({ email, password })\n .then(({ score, feedback, valid_password, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(email, password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .create({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordCreate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={noop} disabled />\n\n <PasswordInput password={password} setPassword={onPasswordChange} error={errorMessage} {...passwordInputProps} />\n\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { EmailConfirmation } from './EmailConfirmation';\nimport { OTPAuthenticate } from './OTPAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\ntype PasswordlessAuthenticateProps = {\n secondaryType: 'eml' | 'otp' | undefined;\n};\n\nexport const PasswordlessAuthenticate = ({ secondaryType }: PasswordlessAuthenticateProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [errorMessage, setErrorMessage] = useState('');\n\n const { sendLink, sendCode } = usePasswordlessAuthenticate();\n const passwordOptions = config.passwordOptions;\n\n const email = state.formState.passwordState.email;\n\n const resetPassword = () => {\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n useMountEffect(() => {\n switch (secondaryType) {\n case 'eml':\n sendLink().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n case 'otp':\n sendCode().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n default:\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n });\n return;\n }\n });\n\n if (!secondaryType) {\n return null;\n }\n\n return (\n <>\n {secondaryType === 'eml' ? <EmailConfirmation showGoBack={false} /> : <OTPAuthenticate hideBackButton />}\n\n <Divider />\n\n <Column gap={2}>\n <Button onClick={resetPassword} variant=\"outline\">\n {t({ id: 'button.createPasswordInstead', message: 'Create a password instead' })}\n </Button>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n </Column>\n </>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { OTPMethods } from '@stytch/core/public';\nimport React, { Dispatch } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\nimport { Action } from '../../reducer';\nimport { hasProduct } from '../../utils';\nimport { PasswordAuthenticate } from '../Password/PasswordAuthenticate';\nimport { PasswordNewUser } from '../Password/PasswordNewUser';\nimport { PasswordlessAuthenticate } from './PasswordlessAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\nexport const PasswordCreateAuthenticate = () => {\n const { t } = useLingui();\n const { emailMagicLinksOptions, otpOptions, products } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n\n const otpMethods = otpOptions?.methods ?? [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;\n const hasOTPEmail = otpMethods.includes(OTPMethods.Email);\n const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;\n const userType = state.formState.passwordState.type;\n\n const secondaryAuth = useSecondaryAuthenticate(secondaryType, { dispatch });\n\n return (\n <Column gap={2}>\n {(() => {\n switch (userType) {\n case 'new':\n return (\n <Column gap={6}>\n {secondaryAuth ? (\n <TextColumn\n header={t({ id: 'password.createAccount.title', message: 'Create an account' })}\n body={t({\n id: 'createAccount.title',\n message: 'Choose how you would like to create your account.',\n })}\n />\n ) : (\n <TextColumn\n header={t({ id: 'password.setPassword.title', message: 'Set a password' })}\n body={t({\n id: 'password.createAccount.content',\n message: 'Finish creating your account by setting a password.',\n })}\n />\n )}\n\n {secondaryAuth && (\n <Button variant=\"primary\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n\n {secondaryAuth && <Divider />}\n\n <PasswordNewUser />\n </Column>\n );\n\n case 'password':\n return (\n <Column gap={6}>\n <Typography variant=\"header\">{t({ id: 'password.login.title', message: 'Log in' })}</Typography>\n\n <PasswordAuthenticate />\n\n {secondaryAuth && <Divider />}\n\n {secondaryAuth && (\n <Button variant=\"outline\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n </Column>\n );\n\n case 'passwordless':\n return <PasswordlessAuthenticate secondaryType={secondaryType} />;\n }\n })()}\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n\nfunction useSecondaryAuthenticate(\n secondaryType: 'eml' | 'otp' | undefined,\n {\n dispatch,\n }: {\n dispatch: Dispatch<Action>;\n },\n) {\n const { t } = useLingui();\n const { sendLink, sendCode, isSubmitting } = usePasswordlessAuthenticate();\n\n if (secondaryType == null) {\n return undefined;\n }\n\n const buttonText =\n secondaryType === 'eml'\n ? t({\n id: 'button.emailMagicLink',\n message: 'Email me a login link',\n })\n : t({\n id: 'button.emailOTP',\n message: 'Email me a login code',\n });\n\n const handle =\n secondaryType === 'eml'\n ? async () => {\n await sendLink();\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n }\n : async () => {\n await sendCode();\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n };\n\n return {\n buttonText,\n handle,\n isSubmitting,\n };\n}\n","'use client';\n\nimport { OneTapPositions, OTPMethods } from '@stytch/core/public';\nimport React from 'react';\n\nimport { GoogleOneTap } from './components/GoogleOneTap';\nimport { cryptoIcons, emailIcons, oauthIcons } from './components/Icons';\nimport { AppScreens } from './GlobalContextProvider';\nimport { ConnectWallet } from './screens/Crypto/ConnectWallet';\nimport { Error } from './screens/Crypto/Error';\nimport { OtherCryptoWallets } from './screens/Crypto/OtherWallets';\nimport { SetupNewWallet } from './screens/Crypto/SetupNewWallet';\nimport { SignMessage } from './screens/Crypto/SignMessage';\nimport { Success } from './screens/Crypto/Success';\nimport { CryptoWalletButtons } from './screens/Crypto/WalletButtons';\nimport { LoginForm } from './screens/Main/LoginForm';\nimport { MagicLinkEmailForm } from './screens/Main/LoginForm/MagicLinkForm';\nimport { OTPEmailForm, PhoneForm } from './screens/Main/LoginForm/OTPForm';\nimport { PasskeyButton } from './screens/Main/LoginForm/PasskeyButton';\nimport { PasswordsEmailForm } from './screens/Main/LoginForm/PasswordForm';\nimport { OAuthButtons } from './screens/Main/OAuthButtons';\nimport { PasskeyConfirmation } from './screens/Passkey/PasskeyConfirmation';\nimport { PasskeyRegistrationStart } from './screens/Passkey/PasskeyRegistrationStart';\nimport { PasskeyRegistrationSuccess } from './screens/Passkey/PasskeyRegistrationSuccess';\nimport { PasswordBreached } from './screens/Password/PasswordBreached';\nimport { PasswordConfirmation } from './screens/Password/PasswordConfirmation';\nimport { PasswordDedupe } from './screens/Password/PasswordDedupe';\nimport { PasswordForgot } from './screens/Password/PasswordForgot';\nimport { PasswordSetNew } from './screens/Password/PasswordSetNew';\nimport { ResetPasswordScreen } from './screens/Password/ResetPasswordScreen';\nimport { EmailConfirmation } from './screens/Secondary/EmailConfirmation';\nimport { OTPAuthenticate } from './screens/Secondary/OTPAuthenticate';\nimport { OTPConfirmation } from './screens/Secondary/OTPConfirmation';\nimport { PasswordCreateAuthenticate } from './screens/Secondary/PasswordCreateAuthenticate';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct } from './StytchProduct';\n\nconst PhoneFormSMS = () => <PhoneForm method={OTPMethods.SMS} />;\nconst PhoneFormWhatsApp = () => <PhoneForm method={OTPMethods.WhatsApp} />;\nconst MainWalletButtons = () => <CryptoWalletButtons type=\"main\" />;\nconst FloatingOneTap = () => <GoogleOneTap position={OneTapPositions.floating} />;\n\nexport const emailMagicLinks: StytchProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n tabs: {\n [MagicLinkMethods.Email]: MagicLinkEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchProduct = {\n id: 'oauth',\n screens: {\n [AppScreens.FloatingOneTap]: FloatingOneTap,\n },\n mainScreen: {\n oauth: OAuthButtons,\n },\n icons: oauthIcons,\n};\n\nexport const otp: StytchProduct = {\n id: 'otp',\n screens: {\n [AppScreens.OTPAuthenticate]: OTPAuthenticate,\n [AppScreens.OTPConfirmation]: OTPConfirmation,\n },\n tabs: {\n [OTPMethods.Email]: OTPEmailForm,\n [OTPMethods.SMS]: PhoneFormSMS,\n [OTPMethods.WhatsApp]: PhoneFormWhatsApp,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passwords: StytchProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordCreateOrLogin]: PasswordCreateAuthenticate,\n [AppScreens.PasswordResetForm]: ResetPasswordScreen,\n [AppScreens.PasswordForgot]: PasswordForgot,\n [AppScreens.PasswordBreached]: PasswordBreached,\n [AppScreens.PasswordSetNew]: PasswordSetNew,\n [AppScreens.PasswordDedupe]: PasswordDedupe,\n [AppScreens.PasswordConfirmation]: PasswordConfirmation,\n },\n tabs: {\n [PasswordMethods.Email]: PasswordsEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passkeys: StytchProduct = {\n id: 'passkeys',\n screens: {\n [AppScreens.PasskeyConfirmation]: PasskeyConfirmation,\n },\n mainScreen: {\n 'passkey-button': PasskeyButton,\n },\n};\n\nexport const passkeyRegistration: StytchProduct = {\n id: 'passkeyRegistration',\n screens: {\n [AppScreens.PasskeyRegistrationStart]: PasskeyRegistrationStart,\n [AppScreens.PasskeyRegistrationSuccess]: PasskeyRegistrationSuccess,\n },\n};\n\nexport const crypto: StytchProduct = {\n id: 'crypto',\n screens: {\n [AppScreens.CryptoConnect]: ConnectWallet,\n [AppScreens.CryptoSignMessage]: SignMessage,\n [AppScreens.CryptoOtherScreen]: OtherCryptoWallets,\n [AppScreens.CryptoSetupWallet]: SetupNewWallet,\n [AppScreens.CryptoError]: Error,\n [AppScreens.CryptoConfirmation]: Success,\n },\n mainScreen: {\n crypto: MainWalletButtons,\n },\n icons: cryptoIcons,\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passkeyRegistration } from './Products';\nimport { addProduct } from './utils';\n\nexport const PasskeyRegistrationContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passkeyRegistration);\n\n /**\n * Read the watermark out of sync storage, then read it out of async storage\n */\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasskeyRegistrationStart,\n formState: {\n ...DEFAULT_STATE.formState,\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { PasskeyRegistrationContainer } from '../../b2c/PasskeyRegistrationContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\n/**\n * The Stytch Passkey Registration component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasskeyRegistration\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasskeyRegistration = /* @__PURE__ */ createB2CComponent(\n 'StytchPasskeyRegistration',\n PasskeyRegistrationContainer,\n);\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, ResetPasswordSDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passwords } from './Products';\nimport { addProduct } from './utils';\n\nexport const ResetPasswordContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n passwordResetToken: rawToken,\n}: ResetPasswordSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passwords);\n\n // Default to reading token from URL if not provided\n let token = rawToken;\n if (!token) {\n const result = client.parseAuthenticateUrl();\n if (result?.tokenType === 'reset_password' || result?.tokenType === 'login') {\n token = result.token;\n }\n }\n\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasswordResetForm,\n formState: {\n ...DEFAULT_STATE.formState,\n resetPasswordState: {\n token: token!,\n },\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { ResetPasswordContainer } from '../../b2c/ResetPasswordContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport interface StytchResetPasswordProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StytchProps<TProjectConfiguration> {\n /**\n * A Stytch password reset token.\n */\n passwordResetToken: string;\n}\n\n/**\n * The Stytch Reset Password component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasswordReset\n * config={{\n * products: [Products.passwords],\n * passwordOptions: {\n * loginRedirectURL: '${exampleURL}/authenticate',\n * resetPasswordRedirectURL: '${exampleURL}/authenticate',\n * },\n * }}\n * passwordResetToken=\"PvC5UudZ7TPZbELt95yXAQ-8MeEUCRob8bUQ-g52fIJs\"\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasswordReset = /* @__PURE__ */ createB2CComponent('StytchPasswordReset', ResetPasswordContainer);\n","'use client';\n\nimport { Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { StytchClient } from '@stytch/web/headless';\nimport {\n StytchProvider as StytchProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchSession as useStytchSessionShared,\n useStytchUser as useStytchUserShared,\n withStytchPermissions as withStytchPermissionsShared,\n withStytchSession as withStytchSessionShared,\n withStytchUser as withStytchUserShared,\n} from '@stytch/web/react/b2c';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytch, withStytch } from '@stytch/web/react/b2c';\n\n/**\n * Returns the active User.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = useStytchUserShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchUserShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active user's Stytch session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = useStytchSessionShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchSessionShared<TAssumeHydrated>\n>;\n\nexport const withStytchUser = withStytchUserShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchUserShared<T, TAssumeHydrated>>;\n\nexport const withStytchSession = withStytchSessionShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchSessionShared<T, TAssumeHydrated>>;\n\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = true>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchPermissions = withStytchPermissionsShared as <\n Permissions extends Record<string, string>,\n T extends object,\n>(\n Component: ComponentType<T & { stytchPermissions: Record<string, Record<string, boolean>> }>,\n) => ReturnType<typeof withStytchPermissionsShared<Permissions, T>>;\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchClient}\n */\n stytch: StytchClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * If you encounter hydration errors relating to the use of this component,\n * set this to `false`.\n *\n * This value defaults to `true` in `@stytch/react`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchProviderShared>\n);\n","import { createStytchClient } from '@stytch/web/headless';\n\n/**\n * @deprecated - use {@link createStytchClient} instead\n */\nexport const createStytchUIClient = createStytchClient;\n\nexport type { StytchProviderProps } from './StytchContext';\nexport {\n StytchProvider,\n useStytch,\n useStytchIsAuthorized,\n useStytchSession,\n useStytchUser,\n withStytch,\n withStytchPermissions,\n withStytchSession,\n withStytchUser,\n} from './StytchContext';\nexport * from '@stytch/core/public';\nexport type {\n AuthTokenParams,\n IDPConsentManifestGenerator,\n IDPSDKConfig,\n ResetPasswordSDKConfig,\n SDKConfig,\n Strings,\n StytchLoginConfig,\n} from '@stytch/web';\nexport { Products } from '@stytch/web';\nexport * from '@stytch/web/common';\nexport * from '@stytch/web/headless';\nexport type { IdentityProviderProps, StytchProps, StytchResetPasswordProps } from '@stytch/web/react/b2c';\nexport { IdentityProvider, StytchLogin, StytchPasskeyRegistration, StytchPasswordReset } from '@stytch/web/react/b2c';\n"],"names":["EmailSentType","messages","_messages","reducer","state","action","type","screen","formState","magicLinkState","email","otpState","cryptoState","passwordState","Error","AppScreens","Main","FloatingOneTap","PasskeyRegistrationStart","PasskeyRegistrationSuccess","PasskeyConfirmation","PasswordCreateOrLogin","PasswordResetForm","PasswordForgot","PasswordBreached","PasswordSetNew","PasswordDedupe","PasswordConfirmation","EmailConfirmation","OTPAuthenticate","OTPConfirmation","CryptoConnect","CryptoSignMessage","CryptoOtherScreen","CryptoSetupWallet","CryptoError","CryptoConfirmation","DEFAULT_STATE","OTPMethods","Email","methodId","otpDestination","walletAddress","walletOption","Wallets","Metamask","walletChallenge","resetPasswordState","token","GlobalContext","React","createContext","client","config","GlobalContextProvider","children","callbacks","initialState","useReducer","Provider","value","useGlobalContext","useContext","useStytch","useGlobalReducer","useConfig","useErrorCallback","useEvent","onError","noop","useEventCallback","onEvent","GenericWalletIcon","size","DEFAULT_ICON_SIZE","props","svg","width","height","viewBox","xmlns","path","d","fill","PasskeyIcon","useStytchUser","stytch","useSyncExternalStore","onStateChange","user","getSync","useBootstrap","stytchClient","bootstrap","setBootstrap","useState","readB2CInternals","fromCache","useEffect","getAsync","then","data","hasProduct","products","product","some","p","id","useProductComponents","screenType","useMemo","map","Object","assign","addProduct","includes","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","bootstrapNotLoaded","idpConsentInfo","useIDPState","IDPConsent","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","searchParams","window","location","search","flow","error","parseIDPParams","theme","displayWatermark","usePresentation","content","EnsureUserIsLoggedIn","params","MainContainer","useLingui","onErrorRef","useRef","current","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","session_duration_minutes","NoCurrentSessionError","LoadingScreen","ErrorDisplay","text","IDPContainer","presentation","strings","styles","getIDPConsentManifest","authTokenParams","presentationValue","usePresentationWithDefault","networkClient","logEvent","name","details","RUN_IN_DEV","logger","IDPContextProvider","consentManifestGenerator","PresentationContext","I18nProviderWrapper","overrides","initialUser","isInitialized","initialSession","StytchContext","isMounted","StytchUserContext","StytchSessionContext","useIsMounted__INTERNAL","invariant","noProviderError","useStytchSession","ctx","withStytch","Component","WithStytch","displayName","withStytchUser","WithStytchUser","stytchUser","stytchUserIsInitialized","stytchUserIsFromCache","withStytchSession","WithStytchSession","stytchSession","stytchSessionIsInitialized","stytchSessionIsFromCache","useStytchIsAuthorized","resourceId","isAuthorized","setIsAuthorized","useAsyncState","isStytchSSRProxy","rbac","isAuthorizedSync","roles","withStytchPermissions","WithStytchPermissions","permissions","setPermissions","loaded","allPermissions","stytchPermissions","StytchProvider","assumeHydrated","providerMustBeUniqueError","getHydratedState","useCallback","getInfo","getInitialState","setClientState","assumeHydratedRef","updateState","oldState","mergeWithStableProps","createB2CComponent","Wrapped","serverRenderError","shadow","options","enableShadowDOM","root","mountPoint","setMountPoint","useLayoutEffect","shadowRoot","attachShadow","mode","document","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","div","ref","createPortal","IdentityProvider","useIsOnlyFloatingOneTap","position","oauthOptions","providers","length","OAuthProviders","Google","one_tap","getShouldRenderFloatingOneTap","MAX_ATTEMPTS","usePromptPasskey","canAutofill","shadowDOM","hasPasskeys","dispatch","setError","startPasskeyAuth","conditionalMediation","abortController","resp","webauthn","authenticate","domain","passkeyOptions","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","conditional_mediation","is_passkey","signal","disable_input_check","StytchEventType","PasskeyAuthenticate","e","extractErrorType","message","extractErrorMessage","AbortController","browserSupportsAutofill","i","aborted","DOMException","abort","MainScreen","mainScreenGroups","setMainScreenGroups","hasButtons","hasInput","passkeyError","Boolean","productComponents","loadProductComponents","keys","Array","from","Set","filter","isTruthy","showDivider","splice","unshift","groups","walletIndex","indexOf","oauthIndex","Math","abs","index","min","Typography","variant","color","DEV","renderComponent","key","isArray","Column","gap","Divider","hideHeaderText","align","ErrorText","AppContainer","isOnlyFloatingOneTap","currentScreen","screenComponentMap","ScreenComponent","logo","Logo","appLogo","setDisplayWatermark","Container","StytchLogin","useLastUsedOAuth","publicToken","lastUsedOAuth","safeLocalStorage","getItem","setLastUsedOAuth","providerType","setItem","providerInfo","messageDescriptor","Microsoft","Apple","Github","GitLab","Facebook","Discord","Salesforce","Slack","Amazon","Bitbucket","LinkedIn","Coinbase","Twitch","Twitter","TikTok","Snapchat","Figma","Yahoo","OAuthButton","loginRedirectUrl","signupRedirectUrl","customScopes","providerParams","onSuccess","iconRegistry","getButtonId","provider","label","icon","iconName","Icon","onButtonClick","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","Button","onClick","OAUTH_BUTTON_HEIGHT","OneTapMountNode","slot","data-prompt_parent_id","GoogleOneTap","cancelOnTapOutside","oneTapRenderMode","getRenderedOneTapMode","shouldRenderEmbeddedOneTap","shouldRenderOneTap","pending","setPending","canDisplayOneTap","setCanDisplayOneTap","setHeight","oneTapError","setOneTapError","resizeCount","timeout","useIsMounted","lastUsedMethod","onResize","el","clearTimeout","currentHeight","contentRect","setTimeout","getElementById","resizeObserver","ResizeObserver","observe","disconnect","attemptToLoadOneTap","oneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","NoConfiguredSignupRedirectUrls","NoConfiguredLoginRedirectUrls","onOneTapCancelled","showError","OriginNotAllowedForClient","renderResult","render","callback","createOnSuccessHandler","loginRedirectURL","signupRedirectURL","redirectOnSuccess","style","cancel","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","ErrorMessages","OneTapProvider","willGoogleOneTapShowEmbedded","className","classNames","container","CircularProgress","AmazonIcon","fillRule","clipRule","_styles","darkInvert","AppleIcon","BinanceIcon","BitbucketIcon","CoinbaseIcon","DiscordIcon","FacebookIcon","FigmaIcon","GitlabIcon","LinkedinIcon","MetamaskIcon","PhantomIcon","SalesforceIcon","SnapchatIcon","TiktokIcon","TwitchIcon","XTwitterIcon","oauthIcons","amazon","apple","bitbucket","coinbase","discord","facebook","figma","github","GithubIcon","gitlab","google","GoogleIcon","linkedin","microsoft","MicrosoftIcon","salesforce","slack","SlackIcon","snapchat","tiktok","twitch","xTwitter","yahoo","YahooIcon","cryptoIcons","phantom","metamask","binance","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","require$$0","hasMultipleEthereumWallets","ethereum","hasMetaMask","find","wallet","isMetaMask","hasCoinbaseWallet","isCoinbaseWallet","hasOtherEthereumWallet","getMetaMaskProvider","getCoinbaseProvider","getOtherInjectedProvider","walletIcons","Phantom","Binance","useCryptoButtonProps","getIcon","getId","WalletToText","GenericEthereumWallet","GenericSolanaWallet","isWalletVisible","solana","isPhantom","BinanceChain","connectWithEthereumProvider","request","address","method","connectWithWallet","connectResp","connect","publicKey","toString","signMessageWithSolanaProvider","encodedMessage","TextEncoder","encode","signResp","display","signature","signMessageWithEthereumProvider","signMessageWithWallet","isSolanaWallet","solanaWallets","ConnectWallet","handleError","walletType","onConnectWallet","cryptoWallets","authenticateStart","crypto_wallet_address","crypto_wallet_type","CryptoWalletAuthenticateStart","challenge","useMountEffect","TextColumn","header","body","helper","MAX_BUTTONS","walletMessages","CryptoWalletButtons","oAuthOptions","cryptoButtonsOnMainScreen","onWalletStart","allDetectedWallets","renderOtherScreenButton","mainWallets","slice","otherWallet","walletsToRender","ButtonColumn","walletEnum","OtherCryptoWallets","SetupNewWallet","ButtonAnchor","target","rel","href","SignMessage","onSignWallet","CryptoWalletAuthenticate","Success","Confirmation","jsx","getElementRef","React2","RovingFocusGroup.Root","RovingFocusGroup.Item","MagicLinkMethods","PasswordMethods","OTPTabHeaders","SMS","WhatsApp","getTabMethods","otpMethods","hasPassword","tabMethods","add","LoginForm","otpOptions","productsIncludesOtp","methods","hasEmailMagicLink","hasOTPEmail","tabMethodComponents","Tabs","defaultValue","tabRow","aria-label","buttonClassNames","block","tab","tabIndex","MagicLinkEmailForm","emailMagicLinksOptions","setEmail","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","handleSubmit","preventDefault","submittingEmail","match","EMAIL_REGEX","magicLinks","loginOrCreate","convertMagicLinkOptions","MagicLinkLoginOrCreateEvent","LoginOrCreateEML","getTranslatedError","as","onSubmit","EmailInput","hideLabel","loading","OTPButtonText","OTPEmailForm","stopSubmit","errorText","handleEmailSubmit","otps","expiration_minutes","expirationMinutes","DEFAULT_OTP_EXPIRATION_MINUTES","login_template_id","loginTemplateId","signup_template_id","signupTemplateId","locale","OTPsLoginOrCreateEvent","method_id","LoginOrCreateOTP","PhoneForm","phoneNumber","setPhoneNumber","country","setCountry","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","handlePhoneSubmit","parsedNumber","formatNumberToIncludeCountryCode","isValid","number","PhoneInput","phone","setPhone","PasskeyButton","PasswordsEmailForm","searchManager","searchUser","userType","ResetPassword","OAuthButtons","reorderedProviders","foundLastUsed","arrayUtils","moveToFront","providerProps","cancel_on_tap_outside","button","AuthenticateFlowComplete","SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","userState","setUserState","get","onCreatePasskey","undefined","register","PasskeyRegister","onSkip","PasskeySkip","commonButtonProps","EditableRow","handleEdit","isEditing","isEditingRow","othersEditing","inputRef","focus","form","row","evt","newName","data-testid","testId","input","Input","onChange","actions","disabled","optimisticRegistrations","setOptimisticRegistrations","webAuthnRegistrations","registrations","webauthn_registrations","editableRowState","setEditableRowState","onSetUpANewPasskey","update","onDone","PasskeyDone","startOptimisticUpdate","prevEditableRowState","errorToast","errorToStytchError","deleteReg","r","webauthn_registration_id","deleteWebauthnRegistration","updateReg","weight","existing","registration","passkeyRow","role","useResetResendPasswordActions","passwordOptions","resendResetPassword","passwords","resetByEmailStart","convertPasswordResetOptions","sendMagicLink","result","goBack","EmailActionLayout","description","Trans","components","bold","b","values","resend","PasswordResetByEmailStart","ResetPasswordScreen","passwordToken","resetTokenType","parsed","parseAuthenticateUrl","tokenType","password","setPassword","passwordError","setPasswordError","policy","loginErrorMessage","setLoginErrorMessage","isLoggingIn","setIsLoggingIn","updateStrengthCheck","debounce","strengthCheck","score","feedback","valid_password","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","luds_requirements","missing_characters","missingComplexity","missing_complexity","onPasswordChange","resetByEmail","PasswordResetByEmail","handlePasswordlessLogin","finally","passwordInputProps","getNewPasswordProps","PasswordInput","PasswordError","top","bottom","VerticalTransition","primary","secondary","triggered","usePasswordlessAuthenticate","sendLink","sendCode","useEmailDomain","emailDomains","setEmailDomains","domainHint","showGoBack","emailDomain","countdown","useCountdown","EmailConfirmationView","hideBackButton","destination","selectionMethod","formattedDestination","setFormattedDestination","calculateExpiration","Date","now","parseDestination","parsedPhoneNumber","national","formatNumber","expiration","setExpiration","resendCountdown","resendOTP","otp","OTPsAuthenticate","clear","SentOTPEntry","ResendOTPButton","PasswordAuthenticate","error_type","onForgot","PasswordNewUser","create","PasswordCreate","PasswordlessAuthenticate","secondaryType","resetPassword","PasswordCreateAuthenticate","secondaryAuth","useSecondaryAuthenticate","handle","buttonText","PhoneFormSMS","PhoneFormWhatsApp","MainWalletButtons","OneTapPositions","floating","emailMagicLinks","screens","tabs","mainScreen","icons","passkeys","passkeyRegistration","crypto","PasskeyRegistrationContainer","rawConfig","StytchPasskeyRegistration","ResetPasswordContainer","passwordResetToken","rawToken","StytchPasswordReset","useStytchUserShared","useStytchSessionShared","withStytchUserShared","withStytchSessionShared","useStytchIsAuthorizedShared","withStytchPermissionsShared","StytchProviderShared","createStytchUIClient","createStytchClient"],"mappings":"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","x_google_ignoreList":[40,41,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}
|