@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":["../../../../web/src/assets/sso.tsx","../../../../web/src/assets/logo-color/Hubspot.tsx","../../../../web/src/assets/logo-color/Okta.tsx","../../../../web/src/messages/b2b/en.ts","../../../../web/src/utils/oauthProviderType.ts","../../../../../node_modules/swr/mutation/dist/index.mjs","../../../../web/src/ui/b2b/utils.ts","../../../../web/src/ui/b2b/hooks/useIsOnlyFloatingOneTap.ts","../../../../web/src/ui/b2b/hooks/useLastUsedAuthMethod.ts","../../../../web/src/ui/b2b/components/OAuthB2BButton.tsx","../../../../web/src/ui/b2b/components/B2BOneTap.tsx","../../../../web/src/ui/b2b/components/Icons.ts","../../../../web/src/ui/b2b/components/SSOButton.tsx","../../../../web/src/ui/b2b/hooks/useEmlDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmlLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/useEmailDomain.ts","../../../../web/src/ui/b2b/screens/EmailConfirmation.tsx","../../../../web/src/ui/b2b/components/UsePasswordButton.tsx","../../../../web/src/ui/b2b/hooks/useEffectiveAuthConfig.ts","../../../../web/src/ui/b2b/getOtpCodeExpiration.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/EmailForm.tsx","../../../../web/src/ui/b2b/screens/EmailMethodSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/EmailOTPEntryScreen.tsx","../../../../web/src/ui/b2b/usePasswordInput.ts","../../../../web/src/ui/b2b/screens/PasswordAuthenticate.tsx","../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx","../../../../web/src/ui/b2b/screens/PasswordForgotForm.tsx","../../../../web/src/ui/b2b/screens/PasswordResetConfirmation.tsx","../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx","../../../../web/src/ui/b2b/screens/PasswordSetNew.tsx","../../../../web/src/utils/assertUnreachable.ts","../../../../web/src/ui/b2b/types/authMethodKeys.ts","../../../../web/src/ui/b2b/screens/SsoAndOAuthButtons.tsx","../../../../web/src/ui/b2b/hooks/useSsoDiscoveryConnection.ts","../../../../web/src/ui/b2b/screens/SSODiscoveryEmail.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryFallback.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryMenu.tsx","../../../../web/src/ui/b2b/B2BProducts.tsx","../../../../web/src/ui/b2b/screens/Confirmation.tsx","../../../../web/src/ui/b2b/components/OrganizationRow.tsx","../../../../web/src/ui/b2b/screens/Discovery.tsx","../../../../web/src/ui/b2b/generateProductComponentsOrdering.ts","../../../../web/src/ui/b2b/screens/Main.tsx","../../../../web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeEntryScreen.tsx","../../../../web/src/ui/components/atoms/CodeContainer.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeSaveScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEnrollScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEntryScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollManualScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollQRScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEntryScreen.tsx","../../../../web/src/ui/b2b/Container.tsx","../../../../web/src/ui/b2b/InternalAppContainer.tsx","../../../../web/src/ui/b2b/hooks/useStytchMember.ts","../../../../web/src/ui/b2b/screens/IDPConsent.tsx","../../../../web/src/ui/b2b/App.tsx","../../../../web/src/ui/react/bindings/createB2BComponent.tsx","../../../../web/src/ui/react/b2b/B2BIdentityProvider.tsx","../../../../web/src/ui/react/b2b/Stytch.tsx","../../../src/b2b/StytchB2BContext.tsx","../../../src/b2b/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const SSOIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_221_1596)\">\n <path\n d=\"M17.5125 10.53C17.0025 7.9425 14.73 6 12 6C9.8325 6 7.95 7.23 7.0125 9.03C4.755 9.27 3 11.1825 3 13.5C3 15.9825 5.0175 18 7.5 18H17.25C19.32 18 21 16.32 21 14.25C21 12.27 19.4625 10.665 17.5125 10.53Z\"\n fill=\"currentColor\"\n />\n </g>\n <g clipPath=\"url(#clip1_221_1596)\">\n <path\n d=\"M15.9684 13.1139L14.9987 14.0933L14.5152 13.6098L14.2501 13.3446L13.9849 13.6098L13.5001 14.0946L13.0152 13.6098L12.9054 13.4999H12.7501H12.6188H12.3532L12.2651 13.7504C12.0087 14.4788 11.3147 14.9999 10.5001 14.9999C9.46592 14.9999 8.62506 14.1591 8.62506 13.1249C8.62506 12.0908 9.46592 11.2499 10.5001 11.2499C11.3147 11.2499 12.0087 11.7711 12.2651 12.4994L12.3532 12.7499H12.6188H15.5969L15.9684 13.1139ZM9.00006 13.1249C9.00006 13.9508 9.6742 14.6249 10.5001 14.6249C11.3259 14.6249 12.0001 13.9508 12.0001 13.1249C12.0001 12.2991 11.3259 11.6249 10.5001 11.6249C9.6742 11.6249 9.00006 12.2991 9.00006 13.1249Z\"\n fill=\"var(--st-background)\"\n stroke=\"var(--st-background)\"\n strokeWidth=\"0.75\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_221_1596\">\n <rect width=\"18\" height=\"18\" transform=\"translate(3 3)\" />\n </clipPath>\n <clipPath id=\"clip1_221_1596\">\n <rect width=\"8.25\" height=\"6\" transform=\"translate(8.25006 10.1251)\" />\n </clipPath>\n </defs>\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 HubspotIcon = (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=\"#FF7A59\"\n fillRule=\"evenodd\"\n d=\"M13.93 13.97a2.4 2.4 0 0 1-2.43-2.4c0-1.34 1.09-2.42 2.43-2.42a2.4 2.4 0 0 1 2.43 2.41c0 1.33-1.08 2.41-2.43 2.41m.73-7.05V4.78c.56-.26.96-.83.96-1.49v-.05c0-.9-.75-1.64-1.66-1.64h-.05c-.92 0-1.67.74-1.67 1.64v.05c0 .66.4 1.23.96 1.5v2.13q-1.27.21-2.24.98L5 3.32q.07-.21.07-.46C5.08 1.83 4.24 1 3.2 1s-1.88.83-1.88 1.86a1.87 1.87 0 0 0 2.8 1.6l5.85 4.51a4.6 4.6 0 0 0 .07 5.29l-1.77 1.76a1.54 1.54 0 0 0-1.98 1.46 1.54 1.54 0 0 0 3.09 0q-.02-.23-.08-.44l1.76-1.74a4.75 4.75 0 0 0 7.62-3.74 4.7 4.7 0 0 0-4.02-4.64\"\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 OktaIcon = (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=\"#191919\"\n fillRule=\"evenodd\"\n d=\"m10.9 1.13-.37 4.56a5 5 0 0 0-1.19.01l-.2-2.2q0-.12.11-.13h.38l-.18-2.24q.01-.12.11-.13h1.23q.11.01.11.13m-3.09.22q-.04-.1-.15-.08l-1.15.42q-.11.06-.07.16l.94 2.04-.36.13q-.1.06-.06.16l.95 2a4 4 0 0 1 1.12-.42zM5 2.62l2.65 3.73q-.51.33-.9.78l-1.6-1.56a.12.12 0 0 1 .01-.18l.3-.23-1.58-1.6a.12.12 0 0 1 0-.18l.94-.78a.12.12 0 0 1 .17.02M2.77 4.78q-.1-.05-.17.04l-.61 1.06a.12.12 0 0 0 .05.17L4.07 7l-.2.32a.12.12 0 0 0 .06.17l2.02.92q.22-.56.59-1.04zm-1.5 2.88q.03-.11.15-.1l4.42 1.16q-.17.57-.19 1.18l-2.21-.18a.12.12 0 0 1-.1-.14l.06-.37L1.16 9q-.11-.02-.1-.14zm-.16 2.99q-.12.02-.1.14l.2 1.2q.05.12.15.1l2.17-.56.07.37c0 .06.08.1.14.09l2.14-.59q-.19-.56-.22-1.17zm.7 3.17a.12.12 0 0 1 .06-.17L6 11.7q.24.55.62 1.02L4.8 14.01a.12.12 0 0 1-.17-.04l-.19-.33-1.84 1.28q-.1.05-.17-.04zm5.02-.86L3.6 16.21a.12.12 0 0 0 0 .18l.95.79q.1.06.17-.02l1.3-1.84.29.25q.1.07.18-.03l1.26-1.82a5 5 0 0 1-.93-.76m-.64 5.22a.12.12 0 0 1-.07-.16l1.91-4.15q.53.27 1.13.39L8.6 16.4a.12.12 0 0 1-.16.07l-.35-.12-.6 2.16q-.04.1-.15.08zm3.28-3.87-.37 4.56q0 .12.12.13h1.22q.12-.01.12-.13l-.18-2.23h.37q.12-.02.12-.14l-.2-2.2a4 4 0 0 1-1.2.01M13.9 1.97a.12.12 0 0 0-.07-.17l-1.15-.41q-.12-.03-.16.08l-.6 2.16-.35-.13q-.1-.02-.15.08l-.56 2.15q.6.12 1.12.39zm2.5 1.81-3.21 3.26a4 4 0 0 0-.93-.76l1.26-1.83a.12.12 0 0 1 .18-.03l.29.25 1.3-1.83a.12.12 0 0 1 .17-.02l.94.79q.09.08.01.17m1.75 2.56q.1-.05.05-.17l-.62-1.05a.12.12 0 0 0-.17-.04l-1.84 1.27-.2-.32q-.06-.1-.16-.04l-1.82 1.29q.38.46.62 1.02zM18.79 8l.2 1.2a.12.12 0 0 1-.1.15l-4.55.42a4 4 0 0 0-.23-1.17l2.14-.59q.12-.02.15.1l.06.37 2.17-.57q.12-.03.15.1zm-.2 4.43q.1.01.14-.1l.2-1.2a.12.12 0 0 0-.1-.15l-2.23-.2.06-.37a.12.12 0 0 0-.1-.14l-2.22-.18q-.01.6-.19 1.18l4.43 1.15m-1.19 2.75a.12.12 0 0 1-.17.04l-3.77-2.6q.36-.48.59-1.04l2.02.92q.1.06.05.16l-.19.33 2.03.96q.1.05.05.17zm-5.04-1.54 2.65 3.73q.08.08.17.02l.94-.79a.12.12 0 0 0 0-.17l-1.57-1.6.3-.23q.08-.09 0-.18l-1.59-1.56q-.4.46-.9.78m-.02 5.08q-.12.03-.16-.08l-1.2-4.41q.59-.14 1.1-.43l.96 2.01c.03.06 0 .14-.06.16l-.36.13.94 2.04q.04.1-.07.16z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../../messages/b2b/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\n\nexport const getParamsFromB2BOAuthProviderConfig = (provider: B2BOAuthProviderConfig) => {\n let providerType: B2BOAuthProviders;\n let oneTap = false;\n let customScopes: string[] = [];\n let providerParams: Record<string, string> = {};\n let cancelOnTapOutside: boolean | undefined = undefined;\n if (typeof provider === 'string') {\n providerType = provider;\n } else {\n providerType = provider.type;\n if (provider.type === B2BOAuthProviders.Google && provider.one_tap) {\n oneTap = provider.one_tap;\n cancelOnTapOutside = provider.cancel_on_tap_outside;\n }\n customScopes = provider.customScopes || [];\n providerParams = provider.providerParams || {};\n }\n return {\n type: providerType,\n one_tap: oneTap,\n customScopes,\n providerParams,\n cancel_on_tap_outside: cancelOnTapOutside,\n };\n};\n","import { useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { withMiddleware, useStateWithDeps, UNDEFINED, serialize, mergeObjects, getTimestamp, useIsomorphicLayoutEffect } from 'swr/_internal';\n\nconst mutation = ()=>{\n return (key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n data,\n isMutating: false,\n error: undefined\n });\n options.onSuccess == null ? void 0 : options.onSuccess(data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n error: error,\n isMutating: false\n });\n options.onError == null ? void 0 : options.onError(error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n};\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ var index = withMiddleware(useSWR, mutation);\n\nexport { index as default };\n","import {\n AuthFlowType,\n B2BAuthenticateResponseWithMFA,\n B2BDiscoveryAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchError,\n StytchEvent,\n StytchEventType,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport { useEffect, useMemo, useState } from 'react';\nimport useSWRMutation, { MutationFetcher, SWRMutationConfiguration } from 'swr/mutation';\n\nimport { StytchB2BClient } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { Action } from './reducer';\nimport type { ProductId, StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\n\ntype RecursiveDotNotation<T> = T extends object\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends (...args: never[]) => unknown\n ? K\n : T[K] extends object\n ? `${K}.${RecursiveDotNotation<T[K]>}`\n : K\n : never;\n }[keyof T]\n : never;\n\ntype ValidStytchMutationKey = `stytch.${RecursiveDotNotation<StytchB2BClient>}`;\n\nconst KeyToStytchEventMap = {\n 'stytch.magicLinks.authenticate': StytchEventType.B2BMagicLinkAuthenticate,\n 'stytch.sso.authenticate': StytchEventType.B2BSSOAuthenticate,\n 'stytch.sso.discoverConnections': StytchEventType.B2BSSODiscoverConnections,\n 'stytch.magicLinks.discovery.authenticate': StytchEventType.B2BMagicLinkDiscoveryAuthenticate,\n 'stytch.discovery.organizations.create': StytchEventType.B2BDiscoveryOrganizationsCreate,\n 'stytch.discovery.intermediateSessions.exchange': StytchEventType.B2BDiscoveryIntermediateSessionExchange,\n 'stytch.magicLinks.email.loginOrSignup': StytchEventType.B2BMagicLinkEmailLoginOrSignup,\n 'stytch.magicLinks.email.discovery.send': StytchEventType.B2BMagicLinkEmailDiscoverySend,\n 'stytch.oauth.authenticate': StytchEventType.B2BOAuthAuthenticate,\n 'stytch.oauth.discovery.authenticate': StytchEventType.B2BOAuthDiscoveryAuthenticate,\n 'stytch.otps.sms.send': StytchEventType.B2BSMSOTPSend,\n 'stytch.otps.sms.authenticate': StytchEventType.B2BSMSOTPAuthenticate,\n 'stytch.totp.create': StytchEventType.B2BTOTPCreate,\n 'stytch.totp.authenticate': StytchEventType.B2BTOTPAuthenticate,\n 'stytch.recoveryCodes.recover': StytchEventType.B2BRecoveryCodesRecover,\n 'stytch.impersonation.authenticate': StytchEventType.B2BImpersonationAuthenticate,\n 'stytch.otps.email.authenticate': StytchEventType.B2BOTPsEmailAuthenticate,\n 'stytch.otps.email.discovery.authenticate': StytchEventType.B2BOTPsEmailDiscoveryAuthenticate,\n 'stytch.otps.email.discovery.send': StytchEventType.B2BOTPsEmailDiscoverySend,\n 'stytch.otps.email.loginOrSignup': StytchEventType.B2BOTPsEmailLoginOrSignup,\n 'stytch.organization.getBySlug': StytchEventType.B2BOrganizationsGetBySlug,\n} satisfies Partial<Record<ValidStytchMutationKey, StytchEventType>>;\n\ntype StytchExternalMutationKey = keyof typeof KeyToStytchEventMap;\n\ntype StytchInternalMutationKey = `internal.${string}`;\n\nexport type StytchMutationKey = StytchExternalMutationKey | StytchInternalMutationKey;\n\nexport function getStytchEventByKey(key: StytchMutationKey): StytchEventType | undefined {\n return KeyToStytchEventMap[key as StytchExternalMutationKey];\n}\n\nexport const useMutate = <TData, TError, TKey extends StytchMutationKey, TExtraArg = never>(\n key: TKey,\n fetcher: MutationFetcher<TData, TExtraArg, TKey>,\n options: SWRMutationConfiguration<TData, TError, TExtraArg, TKey> = {},\n) => {\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const result = useSWRMutation<TData, TError, TKey, TExtraArg>(key, fetcher, {\n throwOnError: false,\n ...options,\n onSuccess: (data, key, config) => {\n const eventType = getStytchEventByKey(key as StytchMutationKey);\n if (eventType) {\n onEvent({ type: eventType, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n options.onSuccess?.(data, key, config);\n },\n onError: (error, key, config) => {\n onError(error as StytchError);\n\n options.onError?.(error, key, config);\n },\n });\n\n // Hide the error while mutating. This helps avoid the errors continuing to show after the user has clicked submit\n // and also ensures repeating errors causes <ErrorText> to re-render which is important for screenreaders to\n // re-announce them\n return result.isMutating ? { ...result, error: undefined } : result;\n};\n\n/**\n *\n * This hook triggers a request to retrieve the organization from the slug.\n * The hook only triggers the request if the SDK is being used in an organization flow,\n * and a slug pattern is present. The hook returns an isSearching boolean that can be used\n * to display a loading state while the search is in progress.\n */\nexport const useExtractSlug = () => {\n const [state, dispatch] = useGlobalReducer();\n const [pattern, setPattern] = useState<string | null | undefined>();\n const config = useConfig();\n\n const stytchClient = useStytch();\n const slug = config.organizationSlug ?? extractFromPattern(pattern || null, window.location.href);\n\n const { trigger, isMutating: isSearching } = useMutate<\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchExternalMutationKey,\n { slug: string }\n >(\n 'stytch.organization.getBySlug',\n (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onSuccess: ({ organization }) => {\n if (organization === null) {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization: {\n ...organization,\n },\n });\n }\n },\n },\n );\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then(({ slugPattern }) => {\n setPattern(slugPattern);\n });\n }, [stytchClient]);\n\n useEffect(() => {\n if (\n slug !== null &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n trigger({ slug });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [slug, state.flowState, state.screen]);\n\n // The org is pending identification if the slug pattern has not yet been\n // determined (i.e., `undefined`) or the organization request is in progress\n const resultPending = pattern === undefined || isSearching;\n\n return { slug, resultPending };\n};\n\nexport const useBootstrap = () => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState(readB2BInternals(stytchClient).bootstrap.getSync());\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) => {\n setBootstrap(data);\n });\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport const onAuthenticateSuccess = (\n data: B2BAuthenticateResponseWithMFA<StytchProjectConfigurationInput>,\n dispatch: React.Dispatch<Action>,\n config: StytchB2BExtendedLoginConfig,\n) => {\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n });\n};\n\nexport const onDiscoveryAuthenticateSuccess = (\n data: B2BDiscoveryAuthenticateResponse | B2BMagicLinksDiscoveryAuthenticateResponse,\n dispatch: React.Dispatch<Action>,\n) => {\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n};\n\nexport const extractFromPattern = (pattern: string | null, href: string): string | null => {\n if (pattern === null) return null;\n\n const url = new URL(href);\n url.search = '';\n\n const currentUrl = url.toString().trim();\n const regexPattern = pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '(?:[^.]+)').replace('{{slug}}', '(.+)');\n\n const regex = new RegExp(regexPattern);\n const match = currentUrl.match(regex);\n\n if (match && match[1]) {\n return match?.[1];\n }\n\n return null;\n};\n\nexport function hasProduct(products: StytchB2BProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'mainScreen' | 'ssoAndOAuthButtons'>(\n { products, organizationProducts }: { products: StytchB2BProduct[]; organizationProducts: StytchB2BProduct[] },\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchB2BProduct[Type]>;\n for (const product of [...products, ...organizationProducts]) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, organizationProducts, screenType]);\n}\n","import { B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig } from '../GlobalContextProvider';\nimport { hasProduct } from '../utils';\n\nexport const useIsOnlyFloatingOneTap = () => {\n const config = useConfig();\n const isOnlyFloatingOneTap = useMemo(() => {\n const oauthProvider = config.oauthOptions\n ? getParamsFromB2BOAuthProviderConfig(config.oauthOptions?.providers[0])\n : undefined;\n const isGoogleOneTap = oauthProvider?.type === B2BOAuthProviders.Google && oauthProvider?.one_tap === true;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n isGoogleOneTap\n );\n }, [config]);\n\n return isOnlyFloatingOneTap;\n};\n","import { useMemo } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { safeLocalStorage } from '../../../utils/storage';\nimport { useStytch } from '../GlobalContextProvider';\nimport { LastUsedMethod } from '../types/authMethodKeys';\n\n/**\n * Hook for managing the last used authentication method in B2B flows.\n * The returned value is not reactive and will not update when setLastUsedMethod is called.\n */\nexport function useLastUsedAuthMethod() {\n const stytch = useStytch();\n const { publicToken } = readB2BInternals(stytch);\n\n // Deliberately not using useLocalStorage because we _don't_ want the buttons\n // to reorder while the user is still seeing this page\n const lastUsedMethod = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2b_last_used_method'), [publicToken]);\n const setLastUsedMethod = (method: LastUsedMethod) => {\n safeLocalStorage.setItem(publicToken, 'b2b_last_used_method', method);\n };\n\n return [lastUsedMethod, setLastUsedMethod] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { B2BOAuthProviders } 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 { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ntype OauthIconName = keyof typeof oauthIcons;\n\ninterface OAuthProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo: Record<B2BOAuthProviders, OAuthProviderInfo> = {\n [B2BOAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [B2BOAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [B2BOAuthProviders.HubSpot]: {\n messageDescriptor: msg({ id: 'oauth.continueWithHubSpot', message: 'Continue with HubSpot' }),\n },\n [B2BOAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [B2BOAuthProviders.GitHub]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n};\n\nexport type OauthB2BButtonProps = {\n providerType: B2BOAuthProviders;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n discoveryRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthB2BButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n discoveryRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: OauthB2BButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [state] = useGlobalReducer();\n\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<OauthIconName> = 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 const Icon = iconRegistry[providerType];\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n const providerClient = stytchClient.oauth[providerType];\n\n if (state.flowState.organization) {\n await providerClient.start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n organization_id: state.flowState.organization.organization_id,\n provider_params: providerParams,\n });\n } else {\n await providerClient.discovery.start({\n discovery_redirect_url: discoveryRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n }\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 } from '@stytch/core';\nimport { B2BOAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport type { CredentialResponse } from 'google-one-tap';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { readB2BInternals } from '../../../utils/internal';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { useIsUnmounted } from '../../hooks/useIsMounted';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens } from '../types/AppScreens';\nimport { OAuthB2BButton } from './OAuthB2BButton';\n\nexport type B2BOneTapProps = {\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nexport const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside }: B2BOneTapProps) => {\n const stytch = useStytch();\n const config = useConfig();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const isUnmounted = useIsUnmounted();\n const [state, dispatch] = useGlobalReducer();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n const { oneTap } = readB2BInternals(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 === 'default_provider_not_allowed') {\n setOneTapError(OneTapErrors.DefaultProviderNotAllowed);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\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. if the element does not exist,\n * 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 let oneTapCallback: (response: CredentialResponse) => void;\n if (state.flowState.organization) {\n oneTapCallback = oneTap.createOnSuccessHandler({\n organizationId: state.flowState.organization.organization_id,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n } else {\n oneTapCallback = oneTap.createOnDiscoverySuccessHandler({\n discoveryRedirectUrl: config.oauthOptions?.discoveryRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n }\n const renderResult = await client.render({\n callback: oneTapCallback,\n style: {\n position: OneTapPositions.floating,\n },\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 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 stytch,\n isUnmounted,\n state.flowState.organization,\n config.oauthOptions?.signupRedirectURL,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.discoveryRedirectURL,\n dispatch,\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 });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n if (isOnlyFloatingOneTap) {\n return null;\n }\n\n const fallbackButton = (\n <OAuthB2BButton\n providerType={B2BOAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n discoveryRedirectUrl={config.oauthOptions?.discoveryRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedMethod(B2BOAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === B2BOAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import {\n GithubIcon,\n GmailIcon,\n GoogleIcon,\n HubspotIcon,\n MicrosoftIcon,\n OktaIcon,\n OutlookIcon,\n SlackIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\n\nexport const oauthIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n hubspot: HubspotIcon,\n slack: SlackIcon,\n github: GithubIcon,\n};\n\nexport const ssoIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n okta: OktaIcon,\n};\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n};\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof ssoIcons\n | keyof typeof emailIcons;\n","import { useLingui } from '@lingui/react/macro';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport React from 'react';\n\nimport { SSOIcon } from '../../../assets';\nimport { SsoKnownIdp } from '../../../utils/KnownIdp';\nimport Button from '../../components/atoms/Button';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport type { ssoIcons } from './Icons';\n\ntype SsoIconNames = keyof typeof ssoIcons;\n\nconst iconMap: Record<string, SsoIconNames> = {\n 'google-workspace': 'google',\n 'microsoft-entra': 'microsoft',\n okta: 'okta',\n} satisfies Record<Exclude<SsoKnownIdp, 'generic'>, SsoIconNames>;\n\nexport interface SSOButtonProps {\n connection: SSOActiveConnection;\n onStart?: (connection: SSOActiveConnection) => void;\n}\n\nexport const SSOButton = ({ connection, onStart }: SSOButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { iconRegistry, options } = usePresentation();\n\n const { connection_id, display_name, identity_provider } = connection;\n\n const id = getButtonId(`sso-${display_name}`, options);\n\n const onButtonClick = () =>\n stytchClient.sso\n .start({\n connection_id,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n })\n .then(() => {\n onStart?.(connection);\n });\n\n const iconName = iconMap[identity_provider];\n const Icon = iconRegistry[iconName] ?? SSOIcon;\n\n return (\n <Button variant=\"outline\" onClick={onButtonClick} icon={<Icon />} id={id}>\n {t({ id: 'provider.continueWith', message: `Continue with ${display_name}` })}\n </Button>\n );\n};\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlDiscoverySend = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.magicLinks.email.discovery.send',\n (_: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.magicLinks.email.discovery.send({\n email_address: email,\n discovery_redirect_url: config.emailMagicLinksOptions?.discoveryRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n },\n );\n};\n","import { logger } from '@stytch/core';\nimport { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlLoginOrSignup = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string; organization_id: string }>(\n 'stytch.magicLinks.email.loginOrSignup',\n (_: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.magicLinks.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n signup_redirect_url: config.emailMagicLinksOptions?.signupRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n onError: (e) => {\n logger.error(e);\n },\n },\n );\n};\n","import { useEffect, useState } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\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 } = readB2BInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2BInternals(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","import { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../components/organisms/EmailConfirmationView';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const EmailConfirmation = () => {\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n\n const { trigger: sendLoginOrSignupEml, isMutating: isSendingLoginOrSignupEml } = useEmlLoginOrSignup();\n const { trigger: sendDiscoveryEml, isMutating: isSendingDiscoveryEml } = useEmlDiscoverySend();\n\n const email = state.formState.emailState.userSuppliedEmail;\n\n const goBack = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const resend = async () => {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await sendDiscoveryEml({ email });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await sendLoginOrSignupEml({\n email,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const isSubmitting = isSendingLoginOrSignupEml || isSendingDiscoveryEml;\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={goBack}\n resend={resend}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { useGlobalReducer } from '../GlobalContextProvider';\n\nconst UsePasswordButton = ({ email }: { email: string }) => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleUsePassword = () => {\n dispatch({ type: 'use_password_auth', email });\n };\n\n return (\n <Button variant=\"ghost\" onClick={handleUsePassword}>\n {t({ id: 'button.usePassword', message: 'Use a password instead' })}\n </Button>\n );\n};\n\nexport default UsePasswordButton;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { isTruthy } from '../../../utils/isTruthy';\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { ProductId, StytchB2BProduct } from '../StytchB2BProduct';\n\nexport type OauthProviderParams = {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside: boolean | undefined;\n};\n\n// Note that the order of products here is used when displaying fallback auth\n// methods below\nconst productsToAuthMethods: Record<ProductId, string | undefined> = {\n oauth: undefined, // OAuth methods are defined per-provider\n sso: 'sso',\n emailMagicLinks: 'magic_link',\n emailOtp: 'email_otp',\n passwords: 'password',\n};\n\nconst oauthProvidersToAuthMethods: Record<B2BOAuthProviders, string> = {\n [B2BOAuthProviders.Google]: 'google_oauth',\n [B2BOAuthProviders.Microsoft]: 'microsoft_oauth',\n [B2BOAuthProviders.HubSpot]: 'hubspot_oauth',\n [B2BOAuthProviders.Slack]: 'slack_oauth',\n [B2BOAuthProviders.GitHub]: 'github_oauth',\n};\n\nconst authMethodsToProducts: Record<string, ProductId> = Object.fromEntries(\n Object.entries(productsToAuthMethods).map(([product, authMethod]) => [authMethod, product]),\n);\n\nconst oauthMethodsToOauthProviders: Record<string, B2BOAuthProviders> = Object.fromEntries(\n Object.entries(oauthProvidersToAuthMethods).map(([provider, method]) => [\n method,\n provider as keyof typeof oauthProvidersToAuthMethods,\n ]),\n);\n\nconst authMethodToProduct = (authMethod: string): ProductId | undefined => {\n if (authMethod in oauthMethodsToOauthProviders) {\n return 'oauth';\n }\n return authMethodsToProducts[authMethod];\n};\n\nconst allOauthProviders = Object.values(B2BOAuthProviders);\n\nconst flattenConfigToAuthMethods = (products: StytchB2BProduct[], oauthProviders: B2BOAuthProviderConfig[]) =>\n products\n .flatMap((product) => {\n if (product.id === 'oauth') {\n return oauthProviders.map((provider) => {\n const authMethod = oauthProvidersToAuthMethods[typeof provider === 'string' ? provider : provider.type];\n if (authMethod) {\n return authMethod;\n }\n });\n } else {\n const authMethod = productsToAuthMethods[product.id];\n if (authMethod) {\n return authMethod;\n }\n }\n })\n .filter(isTruthy);\n\nconst useOAuthProviderConfigs = () => {\n const config = useConfig();\n return useMemo(() => {\n if (!config.oauthOptions?.providers) {\n return [];\n }\n\n return config.oauthOptions.providers.map(getParamsFromB2BOAuthProviderConfig);\n }, [config.oauthOptions?.providers]);\n};\n\nconst useRestrictedAuthMethods = () => {\n const [state] = useGlobalReducer();\n\n const { primaryAuthMethods } = state.primary;\n const hasPrimaryAuthMethods = !!primaryAuthMethods;\n\n const restrictedAuthMethods = useMemo(() => {\n if (state.primary.primaryAuthMethods) {\n return new Set(state.primary.primaryAuthMethods);\n }\n\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return new Set(state.flowState.organization?.allowed_auth_methods ?? []);\n }\n }, [\n state.flowState.organization?.allowed_auth_methods,\n state.flowState.organization?.auth_methods,\n state.primary.primaryAuthMethods,\n ]);\n\n return { restrictedAuthMethods, hasPrimaryAuthMethods };\n};\n\nexport const useEffectiveAuthConfig = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n\n const { restrictedAuthMethods, hasPrimaryAuthMethods } = useRestrictedAuthMethods();\n\n const oauthProviderConfigs = useOAuthProviderConfigs();\n\n const flattenedConfiguredAuthMethods = useMemo(\n () => flattenConfigToAuthMethods(config.products, oauthProviderConfigs),\n [config.products, oauthProviderConfigs],\n );\n\n const authMethodsToShow = useMemo(() => {\n // If there are no restrictions, use the auth methods from the UI config as-is\n if (!restrictedAuthMethods) {\n return flattenedConfiguredAuthMethods;\n }\n\n // If there are restrictions, filter the auth methods from the UI config\n const restrictedAuthMethodsInUiConfig = flattenedConfiguredAuthMethods.filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n\n // Use the filtered methods unless there are none _and_ the restrictions\n // come from `primary_required` (not just org-level restrictions)\n if (restrictedAuthMethodsInUiConfig.length > 0 || !hasPrimaryAuthMethods) {\n return restrictedAuthMethodsInUiConfig;\n }\n\n // If the org restricts allowed auth methods, show all of the methods\n // included in `primary_required`\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return flattenConfigToAuthMethods(config.organizationProducts, allOauthProviders).filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n }\n\n // If the org doesn't have any auth method restrictions, default to email\n // magic links\n return ['magic_link'];\n }, [\n config.organizationProducts,\n flattenedConfiguredAuthMethods,\n hasPrimaryAuthMethods,\n restrictedAuthMethods,\n state.flowState.organization?.auth_methods,\n ]);\n\n const products = useMemo(() => {\n const productIds = [...new Set(authMethodsToShow.map(authMethodToProduct).filter(isTruthy))];\n return productIds.map((productId) => config.organizationProducts.find((p) => p.id === productId)).filter(isTruthy);\n }, [authMethodsToShow, config.organizationProducts]);\n\n const oauthProviderSettings = useMemo<OauthProviderParams[]>(\n () =>\n authMethodsToShow\n .map((authMethod) => {\n const provider = oauthMethodsToOauthProviders[authMethod];\n if (provider) {\n return (\n oauthProviderConfigs.find((oauthProvider) => oauthProvider.type === provider) ??\n getParamsFromB2BOAuthProviderConfig(provider)\n );\n }\n })\n .filter(isTruthy),\n [authMethodsToShow, oauthProviderConfigs],\n );\n\n return { products, oauthProviderSettings };\n};\n","const DEFAULT_OTP_EXPIRATION_MS = 1000 * 60 * 10; // 10 minutes\n\nexport const getOtpCodeExpiration = () => new Date(Date.now() + DEFAULT_OTP_EXPIRATION_MS);\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpDiscoverySend = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.otps.email.discovery.send',\n (_key: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.otps.email.discovery.send({\n email_address: email,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { B2BOTPsEmailLoginOrSignupResponse, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpLoginOrSignup = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<\n B2BOTPsEmailLoginOrSignupResponse,\n StytchAPIError,\n StytchMutationKey,\n { email: string; organization_id: string }\n >(\n 'stytch.otps.email.loginOrSignup',\n (_key: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.otps.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n signup_template_id: config.emailOtpOptions?.signupTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\nconst useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { isTruthy } from '../../../utils/isTruthy';\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 ErrorText from '../../components/molecules/ErrorText';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { ProductId } from '../StytchB2BProduct';\n\nconst options: Partial<Record<ProductId, { messageDescriptor: MessageDescriptor }>> = {\n emailMagicLinks: {\n messageDescriptor: msg({ id: 'emailMethodSelection.link', message: 'Email me a login link' }),\n },\n emailOtp: {\n messageDescriptor: msg({ id: 'emailMethodSelection.code', message: 'Email me a login code' }),\n },\n};\n\nexport const EmailMethodSelectionScreen = () => {\n const { products } = useEffectiveAuthConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n const {\n trigger: sendDiscoveryEml,\n isMutating: isSendingDiscoveryEml,\n error: sendDiscoveryEmlError,\n reset: resetSendDiscoveryEml,\n } = useEmlDiscoverySend();\n\n const {\n trigger: sendDiscoveryOtp,\n isMutating: isSendingDiscoveryOtp,\n error: sendDiscoveryOtpError,\n reset: resetSendDiscoveryOtp,\n } = useEmailOtpDiscoverySend();\n\n const {\n trigger: sendLoginOrSignupEml,\n isMutating: isSendingLoginOrSignupEml,\n error: sendLoginOrSignupEmlError,\n reset: resetSendLoginOrSignupEml,\n } = useEmlLoginOrSignup();\n\n const {\n trigger: sendLoginOrSignupOtp,\n isMutating: isSendingLoginOrSignupOtp,\n error: sendLoginOrSignupOtpError,\n reset: resetSendLoginOrSignupOtp,\n } = useEmailOtpLoginOrSignup();\n\n const isSending =\n isSendingDiscoveryEml || isSendingDiscoveryOtp || isSendingLoginOrSignupEml || isSendingLoginOrSignupOtp;\n const error =\n sendDiscoveryEmlError || sendDiscoveryOtpError || sendLoginOrSignupEmlError || sendLoginOrSignupOtpError;\n\n const handleChooseMethod = (method: ProductId) => {\n resetSendDiscoveryEml();\n resetSendDiscoveryOtp();\n resetSendLoginOrSignupEml();\n resetSendLoginOrSignupOtp();\n\n switch (method) {\n case 'emailMagicLinks':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryEml({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupEml({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n case 'emailOtp':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryOtp({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupOtp({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n }\n };\n\n const displayOptions = useMemo(\n () =>\n products\n .map((product) => {\n const option = options[product.id];\n if (!option) return;\n\n return {\n option: product.id,\n messageDescriptor: option.messageDescriptor,\n };\n })\n .filter(isTruthy),\n [products],\n );\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'emailMethodSelection.title', message: 'Select how you’d like to continue' })}\n </Typography>\n <ButtonColumn>\n {displayOptions.map(({ option, messageDescriptor }) => (\n <Button\n key={option}\n variant=\"outline\"\n disabled={isSending}\n onClick={() => {\n handleChooseMethod(option);\n }}\n >\n {t(messageDescriptor)}\n </Button>\n ))}\n\n {error && <ErrorText>{getTranslatedError(error, t)}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n AuthFlowType,\n B2BDiscoveryOTPEmailAuthenticateResponse,\n B2BOTPsEmailAuthenticateResponse,\n StytchAPIError,\n} from '@stytch/core/public';\nimport React from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\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 { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { onAuthenticateSuccess, onDiscoveryAuthenticateSuccess, StytchMutationKey, useMutate } from '../utils';\n\nexport const EmailOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const { codeExpiration } = state.formState.otpState;\n const resendCountdown = useCountdown();\n const { userSuppliedEmail } = state.formState.emailState;\n\n const emailOtp = useEmailOtpLoginOrSignup({ throwOnError: true });\n const emailOtpDiscovery = useEmailOtpDiscoverySend({ throwOnError: true });\n\n const isSending = emailOtp.isMutating || emailOtpDiscovery.isMutating;\n const sendError = emailOtp.error || emailOtpDiscovery.error;\n\n const discoveryAuthenticate = useMutate<\n B2BDiscoveryOTPEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; email: string }\n >(\n 'stytch.otps.email.discovery.authenticate',\n (_: string, { arg: { otp, email } }: { arg: { otp: string; email: string } }) =>\n stytchClient.otps.email.discovery.authenticate({\n code: otp,\n email_address: email,\n }),\n {\n onSuccess: (data) => {\n onDiscoveryAuthenticateSuccess(data, dispatch);\n },\n throwOnError: true,\n },\n );\n\n const authenticate = useMutate<\n B2BOTPsEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.email.authenticate',\n (\n _: string,\n {\n arg: { otp, emailAddress, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.email.authenticate({\n code: otp,\n email_address: emailAddress,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: (data) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n throwOnError: true,\n },\n );\n\n const isAuthenticatingAny = discoveryAuthenticate.isMutating || authenticate.isMutating;\n const error = discoveryAuthenticate.error || authenticate.error || sendError;\n const errorMessage = error ? getTranslatedError(error as StytchAPIError, t) : undefined;\n\n const resetAll = () => {\n for (const resp of [emailOtp, emailOtpDiscovery, authenticate, discoveryAuthenticate]) {\n resp.reset();\n }\n };\n\n const handleSubmit = async (otp: string) => {\n resetAll();\n\n try {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await discoveryAuthenticate.trigger({\n otp,\n email: userSuppliedEmail,\n });\n } else if (\n state.flowState.type === AuthFlowType.Organization &&\n state.flowState.organization &&\n state.formState.emailState.userSuppliedEmail\n ) {\n await authenticate.trigger({\n otp,\n emailAddress: state.formState.emailState.userSuppliedEmail,\n organizationId: state.flowState.organization.organization_id,\n sessionDurationMinutes: config.sessionOptions.sessionDurationMinutes,\n });\n }\n } catch {\n resendCountdown.clear();\n }\n };\n\n const handleResendOTP = async () => {\n resetAll();\n\n if (isSending) return;\n\n if (state.flowState.type === AuthFlowType.Discovery) {\n await emailOtpDiscovery.trigger({ email: userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await emailOtp.trigger({\n email: userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticatingAny}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={userSuppliedEmail}\n />\n ) : (\n <LoadingScreen />\n )}\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={handleResendOTP} isSubmitting={isAuthenticatingAny} />\n <Button variant=\"ghost\" onClick={handleBack}>\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 { OrganizationBySlugMatch, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../SubscriptionService';\nimport { getTranslatedError } from '../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { onAuthenticateSuccess } from './utils';\n\nexport const usePasswordInput = () => {\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const { t } = useLingui();\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 const organization = state.flowState.organization;\n\n const submitPassword = (organization_id: string) => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords\n .authenticate({\n email_address: email,\n organization_id: organization_id,\n password: password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordAuthenticate, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const submitDiscoveryPassword = () => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords.discovery\n .authenticate({\n email_address: email,\n password: password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const emailEligibleForJITProvisioning = (\n { email_jit_provisioning, email_allowed_domains }: OrganizationBySlugMatch,\n email: string,\n ) => {\n switch (email_jit_provisioning) {\n case 'ALL_ALLOWED':\n return true;\n case 'NOT_ALLOWED':\n return false;\n case 'RESTRICTED': {\n const emailDomain = email.split('@').pop();\n return emailDomain != null && email_allowed_domains.includes(emailDomain);\n }\n }\n };\n\n const handleNonMemberReset = () => {\n if (!organization) {\n return;\n }\n\n if (!emailEligibleForJITProvisioning(organization, email)) {\n setIsSubmitting(false);\n const organizationName = organization.organization_name;\n setErrorMessage(\n t({\n id: 'error.emailNoAccessToOrg',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin.`,\n }),\n );\n return;\n }\n\n const dataLayer = readB2BInternals(stytch).dataLayer as B2BSubscriptionDataLayer;\n dataLayer.setItem('reset-email-value', email);\n stytch.magicLinks.email\n .loginOrSignup({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n signup_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordResetVerifyConfirmation });\n })\n .catch((err: StytchAPIError) => {\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n setIsSubmitting(false);\n });\n };\n\n return {\n stytch,\n onError,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n };\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\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 EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsAuthenticate = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n } else {\n if (!organization) {\n submitDiscoveryPassword();\n } else {\n submitPassword(organization.organization_id);\n }\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'password.login.title', message: 'Log in with email and password' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} />\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={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n\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 </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (organization) {\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery flow\n submitDiscoveryPassword();\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\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 EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsForgotForm = () => {\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const onEvent = useEventCallback();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n if (organization) {\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (!member) {\n handleNonMemberReset();\n return;\n }\n // Member password flow: call reset password start instead\n stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery password flow: call discovery reset password start instead. This flow doesn't need a member object\n stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({ id: 'password.forgot.title', message: 'Check your email for help signing in' })}\n </Typography>\n <Typography variant=\"body\">\n {!organization\n ? t({\n id: 'password.forgot.content.discovery',\n message:\n \"We'll email you a verification link to sign up for an account or reset your password if you have one.\",\n })\n : t({\n id: 'password.forgot.content.organization',\n message:\n \"We'll email you a login link to sign in to your account directly or reset your password if you have one.\",\n })}\n </Typography>\n\n <EmailInput email={email} setEmail={setEmail} error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\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 { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { emailProviderInfo, EmailProviderLink } from '../../components/molecules/EmailProviderLink';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const PasswordResetConfirmation = () => {\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const email = state.formState.passwordState.email;\n\n const reset = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.verification.title',\n message: 'Verify your email first.',\n })}\n description={\n <Trans\n id=\"password.verification.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n additionalActions={\n <>\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.gmail} />\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.outlook} />\n <Button variant=\"ghost\" onClick={reset}>\n {t({ id: 'button.retry', message: 'Try again' })}\n </Button>\n </>\n }\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 { B2BSubscriptionDataLayer } from '../../../SubscriptionService';\nimport { debounce, noop } from '../../../utils';\nimport { clearStytchTokenParams } from '../../../utils/createAuthUrlHandler';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { onAuthenticateSuccess, useBootstrap as useB2BBootstrap } from '../utils';\n\nexport const PasswordResetForm = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const bootstrap = useB2BBootstrap();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [resetToken, resetTokenType] = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed) return ['', ''];\n return [parsed.token, parsed.tokenType];\n }, [stytchClient]);\n\n const dataLayer = readB2BInternals(stytchClient).dataLayer as B2BSubscriptionDataLayer;\n const email = dataLayer.getItem('reset-email-value');\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((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, valid_password, zxcvbn_feedback, luds_feedback, 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: zxcvbn_feedback.warning,\n passwordSuggestions: zxcvbn_feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: luds_feedback.missing_characters,\n missingComplexity: luds_feedback.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n useEffect(() => {\n if (resetTokenType === 'multi_tenant_magic_links') {\n stytchClient.magicLinks\n .authenticate({\n magic_links_token: resetToken,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then((data) => {\n clearStytchTokenParams();\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n resetTokenType,\n });\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n onError(e);\n });\n return;\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\n if (resetTokenType == 'multi_tenant_passwords') {\n stytchClient.passwords\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmail, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else if (resetTokenType == 'discovery') {\n stytchClient.passwords.discovery\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BDiscoveryPasswordReset, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else {\n stytchClient.passwords\n .resetBySession({ password })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetBySession, data });\n dispatch({ type: 'transition', screen: AppScreens.LoggedIn });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n }\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column gap={6} as=\"form\" onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'password.setNew.title', message: 'Set a new password' })}</Typography>\n\n <Column gap={2}>\n {email ? <EmailInput email={email} setEmail={noop} disabled /> : null}\n\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\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({ id: 'button.continue', message: 'Continue' })}\n </Button>\n </Column>\n </Column>\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 { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordSetNew = () => {\n const [, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const config = useConfig();\n const { t } = useLingui();\n\n const { stytch, onError, email, organization, setIsSubmitting } = usePasswordInput();\n\n const resendResetPassword = () => {\n if (!organization) {\n return stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryResetStart, data });\n });\n } else {\n return stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n })\n .catch((e: Error) => {\n onError(e);\n throw e;\n });\n }\n };\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.reset.emailSent.title', message: 'Check your email' })}\n description={\n <Trans\n id=\"password.reset.emailSent.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={resendResetPassword}\n goBack={() => dispatch({ type: 'transition', screen: AppScreens.Main })}\n />\n );\n};\n","export const assertUnreachable: (_: never) => never = () => {\n throw new Error('Assertion failure');\n};\n","import { B2BOAuthProviders, SSOActiveConnection } from '@stytch/core/public';\n\nimport { OauthProviderParams } from '../hooks/useEffectiveAuthConfig';\n\n// This file contains a combined type to identify OAuth providers and SSO connections,\n// used to help with rendering these buttons and storing the last used method.\n// Extracting the logic for generating the key helps make it more consistent\n\nexport type LastUsedMethod = B2BOAuthProviders | `sso:${string}`;\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\nexport function getSsoMethodKey(method: SSOActiveConnection): LastUsedMethod {\n return `sso:${method.connection_id}`;\n}\n\nexport function extractConnectionId(method: string | null): string | undefined {\n return method?.startsWith('sso:') ? method.slice(4) : undefined;\n}\n\nexport type AuthButton =\n | { type: 'oauth'; provider: OauthProviderParams }\n | { type: 'sso'; connection: SSOActiveConnection }\n | { type: 'sso-discovery' };\n\nexport function getButtonKey(button: AuthButton) {\n if (button.type === 'oauth') {\n return button.provider.type;\n } else if (button.type === 'sso') {\n return getSsoMethodKey(button.connection);\n } else {\n return 'sso-discovery';\n }\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { AuthFlowType, B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport { assertUnreachable } from '../../../utils/assertUnreachable';\nimport Button from '../../components/atoms/Button';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { OauthProviderParams, useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens, ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { AuthButton as AuthButtonType, getButtonKey, getSsoMethodKey } from '../types/authMethodKeys';\nimport { useProductComponents } from '../utils';\n\n// OAuth helper functions\nexport const getCustomScopesForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsCustomScopes: string[] | undefined,\n) => {\n let currentCustomScopes = oauthProvider.customScopes;\n if (Object.keys(currentCustomScopes).length == 0) {\n currentCustomScopes = oauthOptionsCustomScopes as string[];\n }\n return currentCustomScopes;\n};\n\nexport const getProviderParamsForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsProviderParams: Record<string, string> | undefined,\n email: string | undefined,\n) => {\n let currentProviderParams = oauthProvider.providerParams;\n if (Object.keys(currentProviderParams).length == 0) {\n currentProviderParams = oauthOptionsProviderParams ?? {};\n }\n\n if (\n email &&\n (oauthProvider.type === B2BOAuthProviders.Google || oauthProvider.type === B2BOAuthProviders.Microsoft) &&\n !('login_hint' in currentProviderParams)\n ) {\n currentProviderParams = {\n ...currentProviderParams,\n login_hint: email,\n };\n }\n\n return currentProviderParams;\n};\n\nexport const SsoAndOAuthButtons = ({ buttons }: { buttons: ButtonComponent[] }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const { oauthProviderSettings = [] } = useEffectiveAuthConfig();\n const presentation = usePresentation();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n const config = useConfig();\n const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } =\n config.oauthOptions ?? {};\n\n const { B2BGoogleOneTap, OAuthB2BButton, SSOButton } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n // Determine which buttons need to be displayed\n const isDiscoveryFlow = state.flowState.type === AuthFlowType.Discovery;\n const authButtons = buttons.flatMap<AuthButtonType>((button) => {\n if (button === MainScreenComponent.OAuthButtons) {\n return oauthProviderSettings.map((provider) => ({ type: 'oauth', provider }));\n } else if (button === MainScreenComponent.SSOButtons) {\n return isDiscoveryFlow\n ? { type: 'sso-discovery' }\n : (state.flowState.organization?.sso_active_connections?.map((connection) => ({ type: 'sso', connection })) ??\n []);\n } else {\n assertUnreachable(button);\n }\n });\n\n if (authButtons.length === 0) {\n return null;\n }\n\n // Reorder providers based on last used\n const [reorderedButtons, foundLastUsedOAuth] = arrayUtils.moveToFront(\n authButtons,\n (button) => getButtonKey(button) === lastUsedMethod,\n );\n\n // Helper function to create OAuth button component\n const createOAuthButton = (oauthProvider: OauthProviderParams) => {\n const providerProps = {\n customScopes: getCustomScopesForProvider(oauthProvider, customScopes),\n providerParams: getProviderParamsForProvider(oauthProvider, providerParams, state.primary.email),\n };\n\n if (oauthProvider.one_tap) {\n return (\n <B2BGoogleOneTap\n key={oauthProvider.type}\n {...providerProps}\n cancelOnTapOutside={oauthProvider.cancel_on_tap_outside}\n />\n );\n }\n\n return (\n <OAuthB2BButton\n key={oauthProvider.type}\n providerType={oauthProvider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n discoveryRedirectUrl={discoveryRedirectURL}\n onSuccess={() => setLastUsedMethod(oauthProvider.type)}\n {...providerProps}\n />\n );\n };\n\n return (\n <ButtonColumn>\n {reorderedButtons.map((button, index) => {\n const buttonComponent = (() => {\n switch (button.type) {\n case 'oauth':\n return createOAuthButton(button.provider);\n\n case 'sso':\n return (\n <SSOButton\n key={button.connection.display_name}\n connection={button.connection}\n onStart={() => setLastUsedMethod(getSsoMethodKey(button.connection))}\n />\n );\n\n case 'sso-discovery':\n return (\n <Button\n key=\"sso-discovery\"\n variant=\"outline\"\n id={getButtonId('sso-discovery', presentation.options)}\n onClick={() => {\n dispatch({ type: 'transition', screen: AppScreens.SSODiscoveryEmail, history: 'push' });\n }}\n >\n {t({ id: 'provider.continueWithSSO', message: 'Use single sign-on' })}\n </Button>\n );\n\n default:\n assertUnreachable(button);\n }\n })();\n\n return foundLastUsedOAuth && index === 0 ? (\n <LastUsed key={getButtonKey(button)}>{buttonComponent}</LastUsed>\n ) : (\n buttonComponent\n );\n })}\n </ButtonColumn>\n );\n};\n","import { useStytch } from '../GlobalContextProvider';\nimport { useMutate } from '../utils';\n\nexport const useSsoDiscoveryConnection = () => {\n const stytch = useStytch();\n\n return useMutate(\n 'stytch.sso.discoverConnections',\n async (_key, { arg: { emailAddress } }: { arg: { emailAddress: string } }) =>\n await stytch.sso.discoverConnections(emailAddress),\n { throwOnError: true },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport { extractErrorMessage } from '../../../utils/extractErrorMessage';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useSsoDiscoveryConnection } from '../hooks/useSsoDiscoveryConnection';\n\nexport const SSODiscoveryEmail = () => {\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const { t } = useLingui();\n\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(false);\n\n const { trigger } = useSsoDiscoveryConnection();\n\n const stytch = useStytch();\n const { ssoOptions } = useConfig();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n\n const tryGetConnections = async () => {\n try {\n const response = await trigger({ emailAddress: email });\n\n if (!response) {\n return [];\n }\n\n return response.connections;\n } catch (e) {\n setError(\n extractErrorMessage(\n e,\n t({\n id: 'ssoDiscovery.email.error.unknown',\n message: 'Something went wrong. Try again later or contact your admin for help.',\n }),\n ),\n );\n }\n };\n\n try {\n setIsLoading(true);\n\n const connections = await tryGetConnections();\n\n if (connections?.length === 1) {\n const [connection] = connections;\n await stytch.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n\n // We intentionally leave `isLoading` set to `true` since we're expecting\n // the user to be redirected\n return;\n }\n\n setIsLoading(false);\n\n if (connections) {\n dispatch({ type: 'set_sso_discovery_state', connections });\n }\n } catch (e) {\n setIsLoading(false);\n throw e;\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.email.title', message: 'Enter your email to continue' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} hideLabel error={error} />\n\n <Button variant=\"primary\" loading={isLoading} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useMutate } from '../utils';\n\nexport const SSODiscoveryFallback = () => {\n const [, dispatch] = useGlobalReducer();\n const [slug, setSlug] = useState('');\n const [error, setError] = useState<string>();\n const [isSubmitting, setIsSubmitting] = useState(false);\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { t } = useLingui();\n\n const { trigger: lookupOrganization } = useMutate(\n 'stytch.organization.getBySlug',\n async (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onError: () => {\n setError(t({ id: 'ssoDiscovery.fallback.error.unknown', message: 'An error occurred. Please try again.' }));\n setIsSubmitting(false);\n },\n },\n );\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n setIsSubmitting(true);\n\n const result = await lookupOrganization({ slug });\n if (result) {\n const { organization } = result;\n if (organization === null) {\n setError(\n t({ id: 'ssoDiscovery.fallback.error.orgNotFound', message: 'Organization not found. Please try again.' }),\n );\n setIsSubmitting(false);\n } else if (organization.sso_active_connections.length === 1) {\n const [connection] = organization.sso_active_connections;\n await stytchClient.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization,\n });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n }\n }\n };\n\n const handleTryAnotherMethod = () => {\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.fallback.title', message: \"Sorry, we couldn't find any connections\" })}\n </Typography>\n <Typography>\n {t({\n id: 'ssoDiscovery.fallback.content',\n message:\n \"Please input the Organization's unique slug to continue. If you don't know the unique slug, log in through another method to view all of your available Organizations.\",\n })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <Input\n id=\"organization-slug\"\n hideLabel\n label={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n value={slug}\n onChange={(e) => setSlug(e.target.value)}\n placeholder={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n error={error}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!slug || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={handleTryAnotherMethod}>\n {t({ id: 'ssoDiscovery.fallback.button.reset', message: 'Try another method' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { SSOButton } from '../components/SSOButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { extractConnectionId, getSsoMethodKey } from '../types/authMethodKeys';\n\nconst SSOButtons = ({ availableConnections }: { availableConnections: SSOActiveConnection[] }) => {\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n const lastUsedSso = extractConnectionId(lastUsedMethod);\n\n const [connections, foundLastUsed] = arrayUtils.moveToFront(\n availableConnections,\n (connection) => connection.connection_id === lastUsedSso,\n );\n\n return (\n <Column gap={2}>\n {connections.map((provider, index) => {\n const button = (\n <SSOButton\n key={provider.display_name}\n connection={provider}\n onStart={(connection) => setLastUsedMethod(getSsoMethodKey(connection))}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </Column>\n );\n};\n\nexport const SSODiscoveryMenu = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.title', message: 'Select a connection to continue' })}\n </Typography>\n\n <Column gap={4}>\n <SSOButtons availableConnections={state.formState.ssoDiscoveryState.connections} />\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","'use client';\n\nimport React from 'react';\n\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { emailIcons, oauthIcons, ssoIcons } from './components/Icons';\nimport { OAuthB2BButton } from './components/OAuthB2BButton';\nimport { SSOButton } from './components/SSOButton';\nimport { EmailConfirmation } from './screens/EmailConfirmation';\nimport { EmailDiscoveryForm, EmailForm } from './screens/EmailForm';\nimport { EmailMethodSelectionScreen } from './screens/EmailMethodSelectionScreen';\nimport { EmailOTPEntryScreen } from './screens/EmailOTPEntryScreen';\nimport { PasswordsAuthenticate } from './screens/PasswordAuthenticate';\nimport { PasswordsEmailForm } from './screens/PasswordEmailForm';\nimport { PasswordsForgotForm } from './screens/PasswordForgotForm';\nimport { PasswordResetConfirmation } from './screens/PasswordResetConfirmation';\nimport { PasswordResetForm } from './screens/PasswordResetForm';\nimport { PasswordSetNew } from './screens/PasswordSetNew';\nimport { SsoAndOAuthButtons } from './screens/SsoAndOAuthButtons';\nimport { SSODiscoveryEmail } from './screens/SSODiscoveryEmail';\nimport { SSODiscoveryFallback } from './screens/SSODiscoveryFallback';\nimport { SSODiscoveryMenu } from './screens/SSODiscoveryMenu';\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens, MainScreenComponent } from './types/AppScreens';\n\nconst EmailFormWithoutPassword = () => <EmailForm showPasswordButton={false} />;\nconst EmailFormWithPassword = () => <EmailForm showPasswordButton />;\nconst EmailDiscoveryFormWithoutPassword = () => <EmailDiscoveryForm showPasswordButton={false} />;\nconst EmailDiscoveryFormWithPassword = () => <EmailDiscoveryForm showPasswordButton />;\n\nexport const emailMagicLinks: StytchB2BProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const emailOtp: StytchB2BProduct = {\n id: 'emailOtp',\n screens: {\n [AppScreens.EmailOTPEntry]: EmailOTPEntryScreen,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const sso: StytchB2BProduct = {\n id: 'sso',\n screens: {\n [AppScreens.SSODiscoveryEmail]: SSODiscoveryEmail,\n [AppScreens.SSODiscoveryMenu]: SSODiscoveryMenu,\n [AppScreens.SSODiscoveryFallback]: SSODiscoveryFallback,\n },\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n SSOButton,\n },\n icons: ssoIcons,\n};\n\nexport const passwords: StytchB2BProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordEmailForm]: PasswordsEmailForm,\n [AppScreens.PasswordAuthenticate]: PasswordsAuthenticate,\n [AppScreens.PasswordForgotForm]: PasswordsForgotForm,\n [AppScreens.PasswordSetNewConfirmation]: PasswordSetNew,\n [AppScreens.PasswordResetForm]: PasswordResetForm,\n [AppScreens.PasswordResetVerifyConfirmation]: PasswordResetConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.PasswordsEmailForm]: PasswordsEmailForm,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchB2BProduct = {\n id: 'oauth',\n screens: {},\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n B2BGoogleOneTap,\n OAuthB2BButton,\n },\n icons: oauthIcons,\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 ConfirmationScreen = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Organization } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../components/atoms/Button';\nimport VerticalTransition, { hoverTriggerClass } from '../../components/atoms/VerticalTransition';\nimport { Badge } from '../../components/molecules/Badge';\nimport styles from './OrganizationRow.module.css';\n\nexport type OrganizationRowProps = {\n organization: Organization;\n action?: string;\n onClick: () => void;\n};\n\nconst Arrow = () => (\n <svg\n className={styles.arrow}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.707 10L10.3535 14.3545L9.64648 13.6475L12.793 10.5H6V9.5H12.793L9.64648 6.35352L10.3535 5.64648L14.707 10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst OrganizationRow = ({ organization, action, onClick }: OrganizationRowProps) => {\n const { organization_name, organization_logo_url } = organization;\n\n const logo = organization_logo_url ? (\n <img className={styles.logo} src={organization_logo_url} alt=\"\" />\n ) : (\n <div className={styles.logo} role=\"presentation\">\n {\n // The Array.from() accounts for two byte Unicode characters\n Array.from(organization_name)[0]\n }\n </div>\n );\n\n return (\n <button\n className={classNames(\n styles.organizationRow,\n hoverTriggerClass,\n buttonClassNames({\n variant: 'outline',\n // Not a block even though it looks like it to avoid the inheriting the centering style\n }),\n )}\n onClick={onClick}\n >\n <div className={styles.left}>\n {logo}\n <div className={styles.nameText}>{organization_name}</div>\n </div>\n\n <VerticalTransition\n trigger=\"hover\"\n rootClassName={styles.right}\n className={styles.rightContent}\n primary={action && <Badge>{action}</Badge>}\n secondary={<Arrow />}\n />\n </button>\n );\n};\n\nexport default OrganizationRow;\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BDiscoveryIntermediateSessionsExchangeResponse,\n B2BDiscoveryOrganizationsCreateResponse,\n DirectLoginForSingleMembershipConfig,\n DiscoveredOrganization,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useCallback, useEffect } 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 { LoadingScreen, LoggingInScreen } from '../../components/molecules/Loading';\nimport OrganizationRow from '../components/OrganizationRow';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { ErrorType } from '../types/ErrorType';\nimport { onAuthenticateSuccess, StytchMutationKey, useBootstrap, useMutate } from '../utils';\n\nconst isJoinViaJitType = (type: DiscoveredOrganization['membership']['type']) =>\n type === 'eligible_to_join_by_email_domain' || type === 'eligible_to_join_by_oauth_tenant';\n\nconst DiscoverNoOrganizations = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { createOrganizationEnabled } = useBootstrap();\n const { t } = useLingui();\n const goBack = () => dispatch({ type: 'transition', screen: AppScreens.Main });\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const shouldAutomaticallyCreateOrganization =\n createOrganizationEnabled && config.directCreateOrganizationForNoMembership;\n\n useEffect(() => {\n if (shouldAutomaticallyCreateOrganization) {\n stytchCreateOrganization();\n }\n }, [shouldAutomaticallyCreateOrganization, stytchCreateOrganization]);\n\n if (shouldAutomaticallyCreateOrganization || isCreateLoading) {\n return <LoadingScreen />;\n }\n\n const email = state.formState.discoveryState.email;\n\n if (createOrganizationEnabled && !config.disableCreateOrganization) {\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.noOrgs.create.title', message: 'Create an organization to get started' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.create.content',\n message: `${email} does not have an account. Think this is a mistake? Try a different email address, or contact your admin.`,\n })}\n </Typography>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n <Button variant=\"ghost\" onClick={goBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n }\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'organizationDiscovery.noOrgs.title',\n message: `${email} does not belong to any organizations.`,\n })}\n </Typography>\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.content',\n message: 'Make sure your email address is correct. Otherwise, you might need to be invited by your admin.',\n })}\n </Typography>\n <Button variant=\"outline\" onClick={goBack}>\n {t({ id: 'button.tryDifferentEmailAddress', message: 'Try a different email address' })}\n </Button>\n </Column>\n );\n};\n\nconst shouldAllowDirectLoginToOrganization = (\n organizations: DiscoveredOrganization[],\n config?: DirectLoginForSingleMembershipConfig,\n): DiscoveredOrganization | null => {\n // If direct login is not enabled, return false\n if (!config?.status) {\n return null;\n }\n\n // Count active memberships\n const activeOrganizations = organizations.filter((org) => org.membership.type === 'active_member');\n\n // Check for pending invites or JIT provisioning, depending on config\n const hasBlockingConditions = organizations.some(\n (org) =>\n ((org.membership.type === 'pending_member' || org.membership.type === 'invited_member') &&\n !config.ignoreInvites) ||\n (isJoinViaJitType(org.membership.type) && !config.ignoreJitProvisioning),\n );\n\n // Allow direct login if there is exactly one active membership and no blocking conditions\n return activeOrganizations.length === 1 && !hasBlockingConditions ? activeOrganizations[0] : null;\n};\n\nexport const Discovery = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n const shouldDirectLoginConfigEnabled = !!config.directLoginForSingleMembership?.status;\n const { createOrganizationEnabled } = useBootstrap();\n\n useEffect(() => {\n if (isExchangeInProgress) {\n // If there is already an exchange in progress, don't do anything\n return;\n }\n\n const directLoginOrganization = shouldAllowDirectLoginToOrganization(\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n );\n\n if (shouldDirectLoginConfigEnabled && directLoginOrganization !== null) {\n handleDiscoveryOrganizationStart(directLoginOrganization);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [\n shouldDirectLoginConfigEnabled,\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n ]);\n\n const handleDiscoveryOrganizationStart = (discoveredOrganization: DiscoveredOrganization) => {\n const organization = discoveredOrganization.organization;\n\n if (discoveredOrganization.primary_required) {\n const allowedAuthMethods = discoveredOrganization.primary_required.allowed_auth_methods;\n if (\n allowedAuthMethods &&\n allowedAuthMethods.length === 1 &&\n allowedAuthMethods[0] === 'sso' &&\n organization.sso_default_connection_id\n ) {\n startSso(organization.sso_default_connection_id);\n } else {\n dispatch({\n type: 'select_discovered_organization',\n discoveredOrganization,\n });\n }\n } else {\n stytchDiscoveryExchange({ organizationId: organization.organization_id });\n }\n };\n\n const startSso = useCallback(\n (connectionId: string) => {\n stytchClient.sso.start({\n connection_id: connectionId,\n login_redirect_url: config.ssoOptions?.loginRedirectURL,\n signup_redirect_url: config.ssoOptions?.signupRedirectURL,\n });\n },\n [stytchClient, config.ssoOptions],\n );\n\n const { trigger: stytchDiscoveryExchange, isMutating: isExchangeInProgress } = useMutate<\n B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey,\n { organizationId: string }\n >(\n `stytch.discovery.intermediateSessions.exchange`,\n (_: string, { arg: { organizationId } }: { arg: { organizationId: string } }) =>\n stytchClient.discovery.intermediateSessions.exchange({\n organization_id: organizationId,\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n if (isExchangeInProgress) {\n return <LoggingInScreen />;\n }\n\n if (isCreateLoading) {\n return <LoadingScreen />;\n }\n\n if (state.formState.discoveryState.discoveredOrganizations.length === 0) {\n return <DiscoverNoOrganizations />;\n }\n\n const organizationButtons = state.formState.discoveryState.discoveredOrganizations.map((discoveredOrganization) => {\n const { organization, membership } = discoveredOrganization;\n\n let action: string | undefined;\n if (isJoinViaJitType(membership.type) || membership.type === 'pending_member')\n action = t({ id: 'organizationDiscovery.join', message: 'Join' });\n else if (membership.type === 'invited_member')\n action = t({ id: 'organizationDiscovery.acceptInvite', message: 'Accept Invite' });\n\n return (\n <OrganizationRow\n organization={organization}\n action={action}\n onClick={() => handleDiscoveryOrganizationStart(discoveredOrganization)}\n ></OrganizationRow>\n );\n });\n\n const createOrganizationButton =\n createOrganizationEnabled && !config.disableCreateOrganization ? (\n <Button variant=\"outline\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n ) : null;\n\n const goBackButton = (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.title', message: 'Select an organization to continue' })}\n </Typography>\n\n {createOrganizationButton ? (\n // Display with divider if the Create Organization Button can be shown,\n // otherwise just show everything together\n <ButtonColumn\n top={organizationButtons}\n bottom={\n <>\n {createOrganizationButton}\n {goBackButton}\n </>\n }\n />\n ) : (\n <Column gap={4}>\n <ButtonColumn>{organizationButtons}</ButtonColumn>\n {goBackButton}\n </Column>\n )}\n </Column>\n );\n};\n","import { AuthFlowType } from '@stytch/core/public';\n\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { ButtonComponent, MainScreenComponent } from './types/AppScreens';\nimport { FlowState } from './types/AppState';\n\nexport const isButtonsComponent = (component: MainScreenComponent): component is ButtonComponent =>\n component === MainScreenComponent.OAuthButtons || component === MainScreenComponent.SSOButtons;\n\n/*\n Here we are generating the ordering and which components will be displayed.\n We use the MainScreenComponent enum this because there is some complex logic here, and\n we want to be able to unit test.\n\n Rules we want to follow when generating the components:\n 1. If we're displaying both an email-based method (email magic links and/or email OTPs) and passwords,\n we need to display them together as a single wrapped component. The index of this wrapped component is\n equivalent to the first index of either email-based method or passwords in the config products list.\n 2. If we have both buttons and input, we want to display a divider between the last 2 elements.\n 3. Some components have both a discovery and a non-discovery version. We want to display the correct version\n based on the flow type (found in state).\n 4. We want to display the components in the order that they are listed in the config.\n\n This function should be considered the source of truth for which components to render\n and what order to render them in as of 6/21/23.\n*/\nexport const generateProductComponentsOrdering = (\n products: StytchB2BProduct[],\n flowState: FlowState,\n): MainScreenComponent[][] => {\n const flowStateType = flowState.type;\n const productsSet = new Set(products.map((p) => p.id));\n const displayEmailAndPasswordsTogether =\n (productsSet.has('emailMagicLinks') || productsSet.has('emailOtp')) && productsSet.has('passwords');\n const emailPasswordCombinedComponent =\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.PasswordEmailCombined\n : MainScreenComponent.PasswordEmailCombinedDiscovery;\n\n const productComponentsSet = products.reduce((components, product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n case 'emailOtp':\n if (displayEmailAndPasswordsTogether) {\n components.add(emailPasswordCombinedComponent);\n } else {\n components.add(\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.EmailForm\n : MainScreenComponent.EmailDiscoveryForm,\n );\n }\n break;\n case 'oauth':\n components.add(MainScreenComponent.OAuthButtons);\n break;\n case 'sso': {\n const isSsoValid =\n flowStateType === AuthFlowType.Discovery ||\n (flowStateType === AuthFlowType.Organization &&\n (flowState.organization?.sso_active_connections?.length ?? 0) > 0);\n if (isSsoValid) {\n components.add(MainScreenComponent.SSOButtons);\n }\n break;\n }\n case 'passwords':\n components.add(\n displayEmailAndPasswordsTogether ? emailPasswordCombinedComponent : MainScreenComponent.PasswordsEmailForm,\n );\n break;\n }\n return components;\n }, new Set<MainScreenComponent>());\n\n return Array.from(productComponentsSet).reduce<MainScreenComponent[][]>((groups, component, i, arr) => {\n const prevComponent = i > 0 ? arr[i - 1] : undefined;\n\n // Group consecutive components with buttons\n const shouldJoinPreviousGroup = prevComponent && isButtonsComponent(component) && isButtonsComponent(prevComponent);\n\n if (shouldJoinPreviousGroup) {\n groups[groups.length - 1].push(component);\n } else {\n // If the previous group was a different type than this group, prepend a divider\n const prevGroup = groups.length > 0 ? groups[groups.length - 1] : undefined;\n if (prevGroup && isButtonsComponent(prevGroup[0]) !== isButtonsComponent(component)) {\n groups.push([MainScreenComponent.Divider]);\n }\n\n groups.push([component]);\n }\n return groups;\n }, []);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Divider from '../../components/molecules/Divider';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { generateProductComponentsOrdering, isButtonsComponent } from '../generateProductComponentsOrdering';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { useProductComponents } from '../utils';\n\nfunction isButtonGroup(group: MainScreenComponent[]): group is ButtonComponent[] {\n return group.every(isButtonsComponent);\n}\n\nexport const MainScreen = () => {\n const { options } = usePresentation();\n const [state] = useGlobalReducer();\n const { t } = useLingui();\n\n const { primaryAuthMethods, email, emailVerified } = state.primary;\n\n const config = useConfig();\n const { products } = useEffectiveAuthConfig();\n\n const isLoading = state.flowState.type === AuthFlowType.Organization && !state.flowState.organization;\n\n // Generate ordering and types of product components\n const productComponentsOrdering = generateProductComponentsOrdering(products, state.flowState);\n const mainScreenComponents = useProductComponents(config, 'mainScreen')!;\n const { SsoAndOAuthButtons } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n const organizationName = state.flowState.organization?.organization_name;\n let title: string;\n switch (state.flowState.type) {\n case AuthFlowType.Discovery:\n title = t({ id: 'login.title', message: 'Sign up or log in' });\n break;\n case AuthFlowType.PasswordReset:\n title = '';\n break;\n default:\n title = organizationName\n ? t({\n id: 'organizationLogin.title',\n message: `Continue to ${organizationName}`,\n })\n : t({\n id: 'organizationLogin.titleUnknown',\n message: 'Continue to ...',\n comment: 'Used instead of organizationLogin.title when the organization name is not available',\n });\n break;\n }\n\n // Show a targeted message if the member has an unverified email address and\n // additional primary auth is required\n const showVerifyEmailCopy = email && emailVerified === false && primaryAuthMethods;\n\n if (isLoading) {\n return <LoadingScreen />;\n }\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText &&\n (showVerifyEmailCopy ? (\n <>\n <Typography variant=\"header\">\n {t({ id: 'emailVerification.title', message: 'Verify your email' })}\n </Typography>\n\n <Typography>\n {t({\n id: 'emailVerification.content',\n message: 'Confirm your email address with one of the following:',\n })}\n </Typography>\n </>\n ) : (\n title && (\n <Typography variant=\"header\" align=\"center\">\n {title}\n </Typography>\n )\n ))}\n\n <Column gap={4}>\n {productComponentsOrdering.map((group) =>\n isButtonGroup(group) ? (\n <SsoAndOAuthButtons key=\"buttons\" buttons={group} />\n ) : (\n group.map((component, index) => {\n const Component = mainScreenComponents[component];\n if (Component) {\n return <Component key={component} />;\n }\n if (component === MainScreenComponent.Divider) {\n return <Divider key={'divider' + index} />;\n }\n return null;\n })\n ),\n )}\n </Column>\n </Column>\n );\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 { B2BMFAProducts } from '@stytch/core/public';\nimport React, { useMemo } 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 { getEnabledMethods } from '../getEnabledMethods';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { B2B_MFA_METHODS } from '../reducer/mfa';\nimport { AppScreens } from '../types/AppScreens';\n\nconst mfaOptions: Record<\n StringLiteralFromEnum<B2BMFAProducts>,\n {\n messageDescriptor: MessageDescriptor;\n screen: AppScreens;\n }\n> = {\n [B2BMFAProducts.totp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.totp', message: 'Use an authenticator app' }),\n screen: AppScreens.TOTPEnrollmentQRCode,\n },\n [B2BMFAProducts.smsOtp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.sms', message: 'Text me a code' }),\n screen: AppScreens.SMSOTPEnrollment,\n },\n};\n\nexport const MFAEnrollmentSelectionScreen = () => {\n const { t } = useLingui();\n const { mfaProductInclude, mfaProductOrder } = useConfig();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const handleNavigate = (screen: AppScreens) => {\n dispatch({\n type: 'transition',\n screen,\n history: 'push',\n });\n };\n\n const displayOptions = useMemo(() => {\n const optionsToDisplay = getEnabledMethods({\n allMethods: B2B_MFA_METHODS,\n orgSupportedMethods: organizationMfaOptionsSupported,\n uiIncludedMethods: mfaProductInclude,\n });\n\n const result: StringLiteralFromEnum<B2BMFAProducts>[] = [];\n for (const option of mfaProductOrder ?? B2B_MFA_METHODS) {\n if (optionsToDisplay.has(option)) {\n result.push(option);\n optionsToDisplay.delete(option);\n }\n }\n\n result.push(...optionsToDisplay);\n return result;\n }, [mfaProductInclude, mfaProductOrder, organizationMfaOptionsSupported]);\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'mfa.enrollment.title', message: 'Set up Multi-Factor Authentication' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.enrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <ButtonColumn>\n {displayOptions.map((option) => {\n const { messageDescriptor, screen } = mfaOptions[option];\n return (\n <Button key={option} variant=\"outline\" onClick={() => handleNavigate(screen)}>\n {t(messageDescriptor)}\n </Button>\n );\n })}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { RecoveryCodeRecoverResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { FormEvent, useState } 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 Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './RecoveryCodeEntryScreen.module.css';\n\nexport const RecoveryCodeEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error,\n } = useMutate<\n RecoveryCodeRecoverResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.recoveryCodes.recover',\n (\n _: string,\n {\n arg: { recoveryCode, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.recoveryCodes.recover({\n recovery_code: recoveryCode,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n throwOnError: false,\n onSuccess: () => {\n dispatch({ type: 'recovery_code/authenticate_success' });\n },\n },\n );\n\n const [recoveryCode, setRecoveryCode] = useState('');\n const errorMessage = error\n ? t({ id: 'recoveryCodes.entry.error.invalidCode', message: 'Invalid backup code, please try again.' })\n : undefined;\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n authenticate({ recoveryCode, memberId, organizationId, sessionDurationMinutes });\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'recoveryCodes.entry.title', message: 'Enter backup code' })}</Typography>\n <Typography variant=\"body\">\n {t({\n id: 'recoveryCodes.entry.content',\n message: 'Enter one of the backup codes you saved when setting up your authenticator app.',\n })}\n </Typography>\n\n <Input\n id=\"recovery-code\"\n className={styles.input}\n value={recoveryCode}\n onChange={(e) => {\n setRecoveryCode(e.target.value);\n }}\n placeholder={t({ id: 'formField.backupCode.placeholder', message: 'Enter backup code' })}\n label={t({ id: 'formField.backupCode.ariaLabel', message: 'Backup code' })}\n hideLabel\n required\n autoComplete=\"off\"\n spellCheck={false}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!recoveryCode || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import classNames from 'classnames';\nimport React, { HTMLAttributes } from 'react';\n\nimport styles from './CodeContainer.module.css';\n\nexport type CodeContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst CodeContainer: React.FC<CodeContainerProps> = ({ children, className, ...props }) => (\n <div className={classNames(className, styles.container)} {...props}>\n {children}\n </div>\n);\n\nexport default CodeContainer;\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useMemo } from 'react';\n\nimport Button, { ButtonAnchor } from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport styles from './RecoveryCodeSaveScreen.module.css';\n\nexport const RecoveryCodeSaveScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n // This screen should only be shown if TOTP enrollment is available\n const { recoveryCodes } = state.mfa.totp.enrollment!;\n\n const handleContinue = () => {\n dispatch({ type: 'recovery_code/save_acknowledge' });\n };\n\n const fileContent = useMemo(() => {\n const newline = navigator.platform === 'Win32' ? '\\r\\n' : '\\n';\n const blob = new Blob([recoveryCodes.join(newline)], { type: 'text/plain' });\n return URL.createObjectURL(blob);\n }, [recoveryCodes]);\n\n const organizationName = state.flowState.organization?.organization_name;\n const filename = organizationName\n ? t({ id: 'recoveryCodes.filename.withOrganizationName', message: `${organizationName}-backup-codes` })\n : t({\n id: 'recoveryCodes.filename.noOrganizationName',\n message: 'backup-codes',\n });\n\n const [copied, setCopied] = useTimedBoolean(3);\n const handleCodesCopy = async () => {\n try {\n await navigator.clipboard.writeText(recoveryCodes.join('\\n'));\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'recoveryCodes.save.toast.copyFailed', message: \"Couldn't copy codes to clipboard\" }),\n });\n }\n };\n\n const maxCodeLength = Math.max(...recoveryCodes.map((code) => code.length));\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'recoveryCodes.save.title', message: 'Save your backup codes!' })}\n body={t({\n id: 'recoveryCodes.save.content',\n message: 'This is the only time you will be able to access and save your backup codes.',\n })}\n />\n\n <CodeContainer>\n <Typography font=\"mono\">\n <ul className={styles.codes} style={{ '--st-max-code-length': maxCodeLength + 'ch' } as CSSProperties}>\n {recoveryCodes.map((code, i) => (\n <li key={i}>{code}</li>\n ))}\n </ul>\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n {/* eslint-disable-next-line lingui/no-unlocalized-strings */}\n <ButtonAnchor variant=\"primary\" href={fileContent} download={filename + '.txt'}>\n <VerticalTransition\n primary={t({ id: 'recoveryCodes.save.button.download', message: 'Download .txt file' })}\n secondary={t({ id: 'recoveryCodes.save.button.copied', message: 'Copied!' })}\n triggered={copied}\n />\n </ButtonAnchor>\n <Button variant=\"outline\" onClick={handleCodesCopy}>\n {t({ id: 'recoveryCodes.save.button.copyAll', message: 'Copy all to clipboard' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleContinue}>\n {t({ id: 'recoveryCodes.save.button.done', message: 'Done' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { COUNTRIES_LIST, CountryCode } from '@stytch/core';\nimport { B2BSMSSendResponse, StytchAPIError, StytchSDKError } from '@stytch/core/public';\nimport React, { FormEvent } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\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 PhoneInput, { getPhoneNumberProps } from '../../components/molecules/PhoneInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { canGoBack } from '../reducer/navigation';\nimport { StytchMutationKey, useMutate } from '../utils';\n\n// eslint-disable-next-line lingui/no-unlocalized-strings\nconst DEFAULT_COUNTRY_CODE = 'US' satisfies CountryCode;\n\n/**\n * Thrown when the user provides a phone number that cannot be parsed.\n */\nclass InvalidPhoneNumberError extends StytchSDKError {\n constructor() {\n // eslint-disable-next-line lingui/no-unlocalized-strings\n super('InvalidPhoneNumberError', 'Invalid phone number');\n }\n}\n\nexport const SMSOTPEnrollScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const { smsOtpOptions } = useConfig();\n const {\n mfa: {\n smsOtp: { isSending, sendError, enrolledNumber },\n },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const [countryCode, setCountryCode] = React.useState<CountryCode>(\n enrolledNumber?.countryCode ?? DEFAULT_COUNTRY_CODE,\n );\n const [phoneNumber, setPhoneNumber] = React.useState(enrolledNumber?.phoneNumber ?? '');\n\n const errorMessage = React.useMemo(() => {\n if (!sendError) return undefined;\n\n if (sendError instanceof InvalidPhoneNumberError) {\n return 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 return getTranslatedError(sendError as StytchAPIError, t);\n }, [sendError, t]);\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2BInternals(stytchClient).clientsideServices);\n\n const { trigger: sendSms } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { parsedNumber: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n async (_: string, { arg: { parsedNumber, locale } }: { arg: { parsedNumber: string; locale?: string } }) => {\n return stytchClient.otps.sms.send({\n mfa_phone_number: parsedNumber,\n member_id: memberId,\n organization_id: organizationId,\n locale: locale,\n });\n },\n {\n onSuccess: (response) => {\n dispatch({\n type: 'sms_otp/send_success',\n response,\n countryCode,\n phoneNumber,\n formattedPhoneNumber: `+${COUNTRIES_LIST[countryCode]} ${phoneNumber}`,\n });\n },\n onError: (error) => {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n },\n },\n );\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n\n dispatch({ type: 'sms_otp/send' });\n try {\n // We parse the phone number here (rather than inside `sendSms`) because we\n // don't want validation errors to be surfaced through the global error\n // callback\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country: countryCode,\n });\n\n if (!parsedNumber.isValid) {\n throw new InvalidPhoneNumberError();\n }\n\n await sendSms({ parsedNumber: parsedNumber.number, locale: smsOtpOptions?.locale });\n } catch (error) {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({\n id: 'mfa.smsEnrollment.title',\n message: 'Enter your phone number to set up Multi-Factor Authentication',\n })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.smsEnrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <PhoneInput\n country={countryCode}\n setCountry={setCountryCode}\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSending} type=\"submit\" disabled={!phoneNumber || isSending}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n {canGoBack(state) && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\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 {\n B2BMFAProducts,\n B2BSMSAuthenticateResponse,\n B2BSMSSendResponse,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { errorToast } from '../../components/atoms/Toast';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const SMSOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n smsOtpOptions,\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling, smsOtp, primaryInfo },\n } = state;\n\n const { codeExpiration, formattedDestination } = smsOtp;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, memberPhoneNumber, organizationId, organizationMfaOptionsSupported } =\n primaryInfo!;\n\n const resendCountdown = useCountdown();\n\n const {\n trigger: sendSms,\n isMutating: isSending,\n error: sendError,\n } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n (\n _: string,\n {\n arg: { memberId, organizationId, locale },\n }: { arg: { memberId: string; organizationId: string; locale?: string } },\n ) => {\n dispatch({ type: 'sms_otp/send' });\n return stytchClient.otps.sms.send({ member_id: memberId, organization_id: organizationId, locale });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'sms_otp/send_success', response });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'sms_otp/send_error', error: message });\n },\n // Throw on error to ensure promise is rejected\n throwOnError: true,\n },\n );\n\n const {\n trigger: authenticate,\n isMutating: isAuthenticating,\n error: authenticateError,\n } = useMutate<\n B2BSMSAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.sms.authenticate',\n (\n _: string,\n {\n arg: { otp, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.sms.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'sms_otp/authenticate_success' });\n },\n onError: () => {\n resendCountdown.clear();\n },\n },\n );\n\n const shouldCreate = codeExpiration === null && !isSending && !sendError;\n useEffect(() => {\n if (shouldCreate) {\n sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale }).catch(() => {\n // error in the UI is handled through the error object so we just swallow it here when auto-sending\n });\n }\n }, [memberId, organizationId, sendSms, shouldCreate, smsOtpOptions?.locale]);\n\n useEffect(() => {\n if (!formattedDestination && memberPhoneNumber) {\n const handleFormatNumber = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2BInternals(stytchClient).clientsideServices.parsedPhoneNumber({\n phoneNumber,\n });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: memberPhoneNumber,\n });\n\n dispatch({\n type: 'sms_otp/format_destination',\n formattedPhoneNumber: national,\n });\n };\n\n handleFormatNumber();\n }\n }, [dispatch, formattedDestination, stytchClient, memberPhoneNumber]);\n\n const isTotpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.totp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.totp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n\n // The user can go back to change their phone number if either:\n // - we are in an enrollment flow\n // - they are not enrolled in any MFA methods at all\n // - they are not enrolled in any of the limited MFA methods supported by the organization\n const canGoBack = useMemo(\n () =>\n isEnrolling ||\n enrolledMfaMethods.length === 0 ||\n (organizationMfaOptionsSupported.length > 0 &&\n !enrolledMfaMethods.some((enrolledMethod) => organizationMfaOptionsSupported.includes(enrolledMethod))),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const handleSubmit = (otp: string) => {\n authenticate({ otp, memberId, organizationId, sessionDurationMinutes });\n };\n\n const handleSwitchToTotp = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleResendOTP = async () => {\n await sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n const resendButton = (\n <ResendOTPButton countdown={resendCountdown} isSubmitting={isAuthenticating} resendOTP={handleResendOTP} />\n );\n const switchToTotpButton = isTotpAvailable && (\n <Button variant=\"ghost\" onClick={handleSwitchToTotp}>\n {t({ id: 'mfa.methods.authenticatorApp', message: 'Use an authenticator app' })}\n </Button>\n );\n const backButton = canGoBack && (\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticating}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={formattedDestination ?? memberPhoneNumber ?? ''}\n />\n ) : (\n <LoadingScreen />\n )}\n\n {switchToTotpButton && backButton ? (\n <ButtonColumn\n top={resendButton}\n bottom={\n <>\n {switchToTotpButton}\n {backButton}\n </>\n }\n />\n ) : (\n <ButtonColumn>\n {resendButton}\n {switchToTotpButton}\n {backButton}\n </ButtonColumn>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useLayoutEffect, useRef, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport styles from './TOTPEnrollManualScreen.module.css';\n\nconst CHUNK_SIZE = 4;\n\nexport const TOTPEnrollManualScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const [copied, setCopied] = useTimedBoolean(3);\n\n // This screen should only be shown if TOTP enrollment is available\n const { secret } = state.mfa.totp.enrollment!;\n\n const displaySecret = secret.toLowerCase();\n const secretChunked = displaySecret.split(new RegExp(`(.{${CHUNK_SIZE}})`, 'g')).filter(Boolean);\n\n const { codeRef, columnCount } = useColumnCount(secretChunked.length);\n\n const handleBack = () => dispatch({ type: 'navigate_back' });\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleCodeCopy = async () => {\n try {\n await navigator.clipboard.writeText(displaySecret);\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'mfa.totpEnrollment.toast.copyFailed', message: \"Couldn't copy code to clipboard\" }),\n });\n\n // Select all text instead as fallback\n const selection = window.getSelection();\n if (codeRef.current && selection) {\n selection.empty();\n const range = document.createRange();\n range.selectNodeContents(codeRef.current);\n selection.addRange(range);\n }\n }\n };\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'mfa.totpEnrollment.title', message: 'Having trouble scanning the QR code?' })}\n body={t({\n id: 'mfa.totpEnrollment.content',\n message: 'Click to copy the code below. Enter into your authenticator app to link your account.',\n })}\n />\n\n {/* No additional keyboard support since there's a copy code button below */}\n <CodeContainer className={styles.codeContainer} onClick={handleCodeCopy}>\n {/* This Typography element is on the outside because we need the 1ch gap to also be in monospace */}\n <Typography\n ref={codeRef}\n className={styles.code}\n style={\n {\n '--st-column-count': columnCount,\n '--st-chunk-size': CHUNK_SIZE + 'ch',\n } as CSSProperties\n }\n font=\"mono\"\n >\n {secretChunked.map((part, i) => (\n <span key={i}>{part}</span>\n ))}\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleCodeCopy}>\n <VerticalTransition\n primary={t({ id: 'mfa.totpEnrollment.copyCode.label', message: 'Copy to clipboard' })}\n secondary={t({ id: 'mfa.totpEnrollment.copyCode.codeCopied', message: 'Copied!' })}\n triggered={copied}\n />\n </Button>\n <Button variant=\"outline\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.totpQrRetry', message: 'Try to scan the QR code again' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n\n// Balance out the rows - this is fairly complex, but there's not any way to really do this in CSS only\n// so instead we read the width of the container and the chunks below it, then use that to calculate\n// first the number of rows, then how many chunks can evenly fit per row\nfunction useColumnCount(chunksCount: number) {\n const codeRef = useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useLayoutEffect(() => {\n const updateRowCount = () => {\n if (!codeRef.current) return;\n\n // Get the width of the container and inner spans\n const containerWidth = codeRef.current.clientWidth;\n const spanWidth = Math.max(\n ...Array.from(codeRef.current.querySelectorAll('span')).map((elem) => elem.clientWidth),\n );\n\n // Find the number of columns to display. First compute the raw number\n // Note we don't check how many rows are currently rendered because this number is already affected by\n // the current row count.\n const fittedColumns = Math.floor(containerWidth / spanWidth);\n // Then account for gaps (1ch each, so 1/CHUNK_SIZE per gap)\n const fittedColumnsWithGaps = fittedColumns - Math.floor(fittedColumns / CHUNK_SIZE);\n // Number of rows is count / columns\n const rows = Math.ceil(chunksCount / fittedColumnsWithGaps);\n // And finally the closest even column count is count / rows\n const evenColumns = Math.ceil(chunksCount / rows);\n\n setColumnCount(evenColumns);\n };\n\n updateRowCount();\n\n if (!window.ResizeObserver || !codeRef.current) return;\n const observer = new ResizeObserver(updateRowCount);\n observer.observe(codeRef.current);\n return () => observer.disconnect();\n }, [chunksCount]);\n\n return {\n codeRef,\n columnCount,\n };\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BTOTPCreateResponse, StytchAPIError } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\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 { LoadingScreen } from '../../components/molecules/Loading';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './TOTPEnrollQRScreen.module.css';\n\nexport const TOTPEnrollQRScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const {\n mfa: {\n totp: { createError, enrollment, isCreating },\n },\n } = state;\n\n // This screen should only be shown if primary info and TOTP enrollment are\n // available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const { trigger: createTotp } = useMutate<\n B2BTOTPCreateResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string }\n >(\n 'stytch.totp.create',\n (_: string, { arg: { memberId, organizationId } }: { arg: { memberId: string; organizationId: string } }) => {\n dispatch({ type: 'totp/create' });\n return stytchClient.totp.create({ member_id: memberId, organization_id: organizationId });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'totp/create_success', response, memberId, organizationId });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'totp/create_error', error });\n },\n },\n );\n\n const shouldCreate = !enrollment && !isCreating && !createError;\n useEffect(() => {\n if (shouldCreate) {\n createTotp({ memberId, organizationId });\n }\n }, [createTotp, memberId, organizationId, shouldCreate]);\n\n const handleShowManualCode = () => {\n dispatch({ type: 'totp/show_code', method: 'manual' });\n };\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'totp.setupQr.title', message: 'Scan the QR code to link your authenticator app' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'totp.setupQr.content',\n message:\n 'Your organization requires an additional form of verification to make your account more secure. If you don’t have an authenticator app, you’ll need to install one first.',\n })}\n </Typography>\n\n {enrollment ? (\n <>\n <img\n alt={t({ id: 'mfaTotpEnrollment.qrAltText', message: 'QR code for TOTP enrollment' })}\n src={enrollment.qrCode}\n className={styles.qr}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"outline\" onClick={handleShowManualCode}>\n {t({ id: 'button.totpQrManual', message: 'Having trouble scanning?' })}\n </Button>\n </ButtonColumn>\n </>\n ) : (\n <LoadingScreen />\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BMFAProducts, B2BTOTPAuthenticateResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport OTPEntry from '../../components/molecules/OTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const TOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, organizationId, organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error: authenticateError,\n } = useMutate<\n B2BTOTPAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number }\n >(\n 'stytch.totp.authenticate',\n (\n _: string,\n {\n arg: { memberId, organizationId, otp, sessionDurationMinutes },\n }: { arg: { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.totp.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'totp/authenticate_success' });\n },\n },\n );\n\n const isSmsOtpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.smsOtp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.smsOtp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n const canGoBack = isEnrolling;\n\n const handleSubmit = (otp: string) => authenticate({ memberId, organizationId, otp, sessionDurationMinutes });\n\n const handleSwitchToRecoveryCode = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.RecoveryCodeEntry });\n };\n\n const handleSwitchToSms = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.SMSOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <OTPEntry\n header={t({ id: 'totp.title', message: 'Enter verification code' })}\n instruction={t({ id: 'totp.content', message: 'Enter the 6-digit code from your authenticator app.' })}\n helperContent={\n isEnrolling\n ? t({\n id: 'mfa.totpEntry.getNewCode',\n message: 'If the verification code doesn’t work, go back to your authenticator app to get a new code.',\n })\n : null\n }\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn\n top={null}\n bottom={\n <>\n {isSmsOtpAvailable && (\n <Button variant=\"outline\" onClick={handleSwitchToSms}>\n {t({ id: 'mfa.totpEntry.switchToSms', message: 'Text me a code instead' })}\n </Button>\n )}\n\n {!isEnrolling && (\n <Button variant=\"outline\" onClick={handleSwitchToRecoveryCode}>\n {t({ id: 'mfa.totpEntry.useBackupCode', message: 'Use a backup code' })}\n </Button>\n )}\n\n {canGoBack && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </>\n }\n />\n </Column>\n );\n};\n","import { AuthFlowType, StytchAPIError, StytchEvent, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { ComponentType, Dispatch, ReactNode, useEffect, useState } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { HandledTokenType } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport Logo from '../components/atoms/Logo';\nimport { ErrorScreen } from '../components/molecules/ErrorScreen';\nimport { LoggingInScreen } from '../components/molecules/Loading';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from './hooks/useIsOnlyFloatingOneTap';\nimport { Action } from './reducer';\nimport { ConfirmationScreen } from './screens/Confirmation';\nimport { Discovery } from './screens/Discovery';\nimport { MainScreen } from './screens/Main';\nimport { MFAEnrollmentSelectionScreen } from './screens/MFAEnrollmentSelectionScreen';\nimport { RecoveryCodeEntryScreen } from './screens/RecoveryCodeEntryScreen';\nimport { RecoveryCodeSaveScreen } from './screens/RecoveryCodeSaveScreen';\nimport { SMSOTPEnrollScreen } from './screens/SMSOTPEnrollScreen';\nimport { SMSOTPEntryScreen } from './screens/SMSOTPEntryScreen';\nimport { TOTPEnrollManualScreen } from './screens/TOTPEnrollManualScreen';\nimport { TOTPEnrollQRScreen } from './screens/TOTPEnrollQRScreen';\nimport { TOTPEntryScreen } from './screens/TOTPEntryScreen';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\nimport {\n getStytchEventByKey,\n onAuthenticateSuccess,\n onDiscoveryAuthenticateSuccess,\n StytchMutationKey,\n useExtractSlug,\n useProductComponents,\n} from './utils';\n\n/**\n * Separately store additional things to do when authenticateByUrl completes or errors\n */\ntype AuthTokenConfig = {\n mutationKey: StytchMutationKey;\n // Typing this is too hard. Instead, manually verify the typings from the client matches that expected\n // by these success functions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSuccess: (data: any, dispatch: Dispatch<Action>, config: StytchB2BExtendedLoginConfig) => void;\n defaultError?: ErrorType;\n};\n\nconst authTokenConfig: Record<HandledTokenType, AuthTokenConfig> = {\n discovery: {\n mutationKey: 'stytch.magicLinks.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n discovery_oauth: {\n mutationKey: 'stytch.oauth.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n },\n oauth: {\n mutationKey: 'stytch.oauth.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n sso: {\n mutationKey: 'stytch.sso.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n multi_tenant_magic_links: {\n mutationKey: 'stytch.magicLinks.authenticate',\n onSuccess: onAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n multi_tenant_impersonation: {\n mutationKey: 'stytch.impersonation.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n};\n\nconst errorTypeMap: Record<string, ErrorType> = {\n ad_blocker_detected: ErrorType.AdBlockerDetected,\n};\n\nconst AppContainer: () => ReactNode = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const triggerError = useErrorCallback();\n const triggerEvent = useEventCallback();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config, 'screens')!;\n\n const handleStytchAPIError = (error: StytchAPIError, defaultErrorType = ErrorType.Default) => {\n const error_type = extractErrorType(error);\n const errorType: ErrorType = errorTypeMap[error_type!] ?? defaultErrorType;\n\n dispatch({\n type: 'set_error_message_and_transition',\n errorType,\n canGoBack: false,\n });\n };\n\n const [isTokenAuthLoading, setIsTokenAuthLoading] = useState(false);\n const { mutate } = useSWRConfig();\n\n const { slug, resultPending } = useExtractSlug();\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Password reset has special handling for exchanging a magic link token\n // for a session and then using it to reset a password\n if (state.flowState.type == AuthFlowType.PasswordReset) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed?.handled) {\n return;\n }\n\n const { mutationKey, defaultError, onSuccess } = authTokenConfig[parsed.tokenType];\n setIsTokenAuthLoading(true);\n mutate(\n mutationKey,\n stytchClient.authenticateByUrl({ session_duration_minutes: config.sessionOptions.sessionDurationMinutes }),\n )\n .then(\n (result) => {\n if (!result?.handled) return; // Should not be possible\n const { data } = result;\n\n const event = getStytchEventByKey(mutationKey);\n if (event) {\n triggerEvent({ type: event, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n onSuccess(data, dispatch, config);\n },\n (error) => {\n triggerError(error);\n handleStytchAPIError(error, defaultError);\n },\n )\n .finally(() => setIsTokenAuthLoading(false));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Skip further action if token discovery is in progress\n if (isTokenAuthLoading) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (parsed?.handled) {\n return;\n }\n\n if (\n !slug &&\n !resultPending &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n // No slug found (or no slug pattern)\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n }\n }, [\n dispatch,\n isOnlyFloatingOneTap,\n isTokenAuthLoading,\n resultPending,\n slug,\n state.flowState.organization,\n state.flowState.type,\n state.screen,\n stytchClient,\n triggerError,\n ]);\n\n if (isOnlyFloatingOneTap) {\n return <B2BGoogleOneTap />;\n }\n\n if (isTokenAuthLoading) {\n return (\n <MainContainer theme={theme} displayWatermark={false}>\n <LoggingInScreen />\n </MainContainer>\n );\n }\n\n let orgLogo;\n if (state.flowState.organization?.organization_logo_url) {\n const { organization_name, organization_logo_url } = state.flowState.organization;\n orgLogo = {\n url: organization_logo_url,\n alt: organization_name ?? '',\n };\n }\n\n const defaultScreenComponents: Partial<Record<AppScreens, ComponentType>> = {\n // Main is omitted from StytchB2BProduct since it's used by everything\n [AppScreens.Main]: MainScreen,\n [AppScreens.LoggedIn]: ConfirmationScreen,\n\n // Discovery can be opted into dynamically via stytch_redirect_type ResetPassword flow\n // so it cannot be statically shaken away\n [AppScreens.Discovery]: Discovery,\n [AppScreens.Error]: ErrorScreen,\n\n // MFA products are dynamically configured depending on organization and user choice,\n // and opted into by default\n [AppScreens.MFAEnrollmentSelection]: MFAEnrollmentSelectionScreen,\n [AppScreens.SMSOTPEnrollment]: SMSOTPEnrollScreen,\n [AppScreens.SMSOTPEntry]: SMSOTPEntryScreen,\n [AppScreens.RecoveryCodeEntry]: RecoveryCodeEntryScreen,\n [AppScreens.RecoveryCodeSave]: RecoveryCodeSaveScreen,\n [AppScreens.TOTPEnrollmentQRCode]: TOTPEnrollQRScreen,\n [AppScreens.TOTPEnrollmentManual]: TOTPEnrollManualScreen,\n [AppScreens.TOTPEntry]: TOTPEntryScreen,\n };\n\n const ScreenComponent = defaultScreenComponents[currentScreen] ?? screenComponentMap[currentScreen];\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n <Logo appLogo={options.logo} orgLogo={orgLogo} />\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { AuthFlowType, RedirectURLType, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { OverrideProperties } from 'type-fest';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { AppState } from './types/AppState';\n\nexport type InternalSDKConfig<TProjectConfiguration extends StytchProjectConfigurationInput> = OverrideProperties<\n B2BSDKConfig<TProjectConfiguration>,\n { config: StytchB2BExtendedLoginConfig }\n>;\n\nexport const InternalAppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n config,\n strings,\n}: InternalSDKConfig<TProjectConfiguration>) => {\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 } = readB2BInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_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 const getRedirectTypeFromUrl = () => {\n const url = new URL(window.location.href);\n const redirectType = url.searchParams.get('stytch_redirect_type');\n\n return redirectType;\n };\n\n const redirectType = getRedirectTypeFromUrl();\n const authFlowType =\n redirectType === RedirectURLType.ResetPassword ? AuthFlowType.PasswordReset : config.authFlowType;\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: authFlowType === AuthFlowType.PasswordReset ? AppScreens.PasswordResetForm : AppScreens.Main,\n flowState: {\n ...DEFAULT_STATE.flowState,\n type: authFlowType,\n },\n };\n\n const configWithDefaults = useMemo(\n () => ({\n ...config,\n // While `sessionOptions` is required in the types, we still want to handle the error gracefully if it's not provided.\n // We set it to an empty object here so that future checks for `sessionOptions.sessionDurationMinutes` throw a `can't read property of undefined` error,\n // and instead throw an error regarding a missing `sessionDurationMinutes` error from the headless client.\n sessionOptions: config.sessionOptions ?? {},\n }),\n [config],\n );\n\n const presentationValue = usePresentationWithDefault(\n presentation,\n displayWatermark,\n configWithDefaults,\n 'B2BProduct',\n );\n\n return (\n <GlobalContextProvider\n client={client}\n callbacks={callbacks}\n config={configWithDefaults}\n initialState={initialState}\n >\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Member } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../GlobalContextProvider';\n\n// useStytchMember 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 useStytchMember = (): Member | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.self.getSync());\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 { useErrorCallback, useEventCallback, useStytch } from '../GlobalContextProvider';\nimport { useStytchMember } from '../hooks/useStytchMember';\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 // TODO: Consumer and B2B Bootstrap hooks should return same shape\n const bootstrap = useBootstrap();\n\n const idpConsentState = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={false} {...idpConsentState} />;\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 = 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={false} />;\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 <EnsureMemberIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureMemberIsLoggedIn>\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 EnsureMemberIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const member = useStytchMember();\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 // store the member to refer to its organization_id later\n const member = stytchClient.self.getSync();\n if (member) {\n await stytchClient.session.revoke();\n }\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n organization_id: member?.organization_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 (member) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [member]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (member) {\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/b2b/en';\nimport { B2BIDPSDKConfig, B2BSDKConfig, DeprecatedSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport * as B2BProducts from './B2BProducts';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { InternalAppContainer } from './InternalAppContainer';\nimport { IDPConsentScreen } from './screens/IDPConsent';\n\n/**\n * Wrapper to add default organizationProducts value. This is done to preserve the ability for a future\n * component that doesn't do this, allowing B2B products to be properly tree-shaken (which is also why this is currently\n * in a completely different file)\n */\nexport const AppContainer = ({\n config,\n styles,\n ...props\n}: B2BSDKConfig<StytchProjectConfigurationInput> & DeprecatedSDKConfig) => {\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://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n const internalConfig = {\n ...config,\n organizationProducts: Object.values(B2BProducts),\n };\n\n return <InternalAppContainer config={internalConfig} {...props}></InternalAppContainer>;\n};\n\nexport const B2BIDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n getIDPConsentManifest,\n trustedAuthTokenParams,\n styles,\n}: B2BIDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_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://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchB2BExtendedLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={trustedAuthTokenParams}>\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","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 { StytchB2BClient } from '../../../b2b/StytchB2BClient';\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytchB2BClient } from '../b2b/StytchB2BContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2CComponent and createWebComponent\nexport function createB2BComponent<\n Props extends {\n client: StytchB2BClient<TProjectConfiguration>;\n config?: StytchB2BUIConfig;\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 = useStytchB2BClient<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, B2BIDPConsentManifestGenerator } from '../../../types';\nimport { B2BIDPContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\nimport { StytchB2BProps } from './Stytch';\n\nexport type B2BIdentityProviderProps = Omit<StytchB2BProps, 'config'> & {\n /**\n * Optional {@link B2BIDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: B2BIDPConsentManifestGenerator;\n /**\n * Optional trusted auth token parameters to attest before the OAuth flow.\n */\n trustedAuthTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch B2B 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 B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <B2BIdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const B2BIdentityProvider = /* @__PURE__ */ createB2BComponent('B2BIdentityProvider', B2BIDPContainer);\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { AppContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\n\nexport interface StytchB2BProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\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 error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.B2BMagicLinkAuthenticate) {\n * console.log('Logged in with', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n /**\n * A {@link StytchB2BUIConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks],\n * authFlowType: \"Discovery\",\n * emailMagicLinksOptions: {\n * discoveryRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks, B2BProducts.sso],\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n */\n config: StytchB2BUIConfig;\n}\n\n/**\n * The Stytch B2B UI component.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <StytchB2B\n * config={{\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * }\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchB2B = /* @__PURE__ */ createB2BComponent('StytchB2B', AppContainer);\n","'use client';\n\nimport type { Member, MemberSession, Organization, StytchProjectConfigurationInput } from '@stytch/web/b2b';\nimport { StytchB2BClient } from '@stytch/web/b2b/headless';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytchB2BClient, withStytchB2BClient, withStytchPermissions } from '@stytch/web/react/b2b';\n\nimport {\n StytchB2BProvider as StytchB2BProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchMember as useStytchMemberShared,\n useStytchMemberSession as useStytchMemberSessionShared,\n useStytchOrganization as useStytchOrganizationShared,\n withStytchMember as withStytchMemberShared,\n withStytchMemberSession as withStytchMemberSessionShared,\n withStytchOrganization as withStytchOrganizationShared,\n} from '@stytch/web/react/b2b';\n\n/**\n * Returns the active Member.\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 member data is from persistent storage.\n * @example\n * const {member, isInitialized, fromCache} = useStytchMember();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {member.name}</h1>);\n */\nexport const useStytchMember = useStytchMemberShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchMemberShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active member's Stytch member 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} = useStytchMemberSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login');\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchMemberSession = useStytchMemberSessionShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchMemberSessionShared<TAssumeHydrated>>;\n\n/**\n * Returns the active Stytch organization.\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 organization data is from persistent storage.\n * @example\n * const {organization, isInitialized, fromCache} = useStytchOrganization();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return <p>Welcome to {organization.organization_name}</p>;\n */\nexport const useStytchOrganization = useStytchOrganizationShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchOrganizationShared<TAssumeHydrated>>;\n\n/**\n * Determines whether the logged-in member is allowed to perform the specified action on the specified resource.\n * Returns `true` if the member can perform the action, `false` otherwise.\n *\n * If the member 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 = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchMember = withStytchMemberShared as <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchMember: Member | null; stytchMemberIsInitialized: boolean; stytchMemberIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchMemberShared<T, TAssumeHydrated>>;\n\nexport const withStytchMemberSession = withStytchMemberSessionShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchMemberSession: MemberSession | null;\n stytchMemberSessionIsInitialized: boolean;\n stytchMemberSessionIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchMemberSessionShared<T, TAssumeHydrated>>;\n\nexport const withStytchOrganization = withStytchOrganizationShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchOrganization: Organization | null;\n stytchOrganizationIsInitialized: boolean;\n stytchOrganizationIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchOrganizationShared<T, TAssumeHydrated>>;\n\nexport interface StytchB2BProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchB2BClient}\n */\n stytch: StytchB2BClient<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 = createStytchB2BClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchB2BProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchB2BProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchB2BProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchB2BProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchB2BProviderShared>\n);\n","import { createStytchB2BClient } from '@stytch/web/b2b/headless';\n\n/**\n * @deprecated - use {@link createStytchB2BClient} instead\n */\nexport const createStytchB2BUIClient = createStytchB2BClient;\n\nexport type { StytchB2BProviderProps } from './StytchB2BContext';\nexport {\n StytchB2BProvider,\n useStytchB2BClient,\n useStytchIsAuthorized,\n useStytchMember,\n useStytchMemberSession,\n useStytchOrganization,\n withStytchB2BClient,\n withStytchMember,\n withStytchMemberSession,\n withStytchOrganization,\n withStytchPermissions,\n} from './StytchB2BContext';\nexport type {\n B2BIDPConsentManifestGenerator,\n B2BIDPSDKConfig,\n B2BSDKConfig,\n Strings,\n StytchB2BUIConfig,\n} from '@stytch/web/b2b';\nexport { B2BProducts } from '@stytch/web/b2b';\nexport * from '@stytch/web/b2b/headless';\nexport * from '@stytch/web/common';\nexport type { B2BIdentityProviderProps, StytchB2BProps } from '@stytch/web/react/b2b';\nexport { B2BIdentityProvider, StytchB2B } from '@stytch/web/react/b2b';\n"],"names":["SSOIcon","size","DEFAULT_ICON_SIZE","props","React","svg","width","height","viewBox","xmlns","g","clipPath","path","d","fill","stroke","strokeWidth","defs","id","rect","transform","HubspotIcon","fillRule","clipRule","OktaIcon","className","_styles","darkInvert","messages","_messages","getParamsFromB2BOAuthProviderConfig","provider","providerType","oneTap","customScopes","providerParams","cancelOnTapOutside","undefined","type","B2BOAuthProviders","Google","one_tap","cancel_on_tap_outside","useSWRConfig","useRef","useStateWithDeps","UNDEFINED","useCallback","serialize","mergeObjects","getTimestamp","useIsomorphicLayoutEffect","withMiddleware","useSWR","KeyToStytchEventMap","StytchEventType","B2BMagicLinkAuthenticate","B2BSSOAuthenticate","B2BSSODiscoverConnections","B2BMagicLinkDiscoveryAuthenticate","B2BDiscoveryOrganizationsCreate","B2BDiscoveryIntermediateSessionExchange","B2BMagicLinkEmailLoginOrSignup","B2BMagicLinkEmailDiscoverySend","B2BOAuthAuthenticate","B2BOAuthDiscoveryAuthenticate","B2BSMSOTPSend","B2BSMSOTPAuthenticate","B2BTOTPCreate","B2BTOTPAuthenticate","B2BRecoveryCodesRecover","B2BImpersonationAuthenticate","B2BOTPsEmailAuthenticate","B2BOTPsEmailDiscoveryAuthenticate","B2BOTPsEmailDiscoverySend","B2BOTPsEmailLoginOrSignup","B2BOrganizationsGetBySlug","getStytchEventByKey","key","useMutate","fetcher","options","onEvent","useEventCallback","onError","useErrorCallback","result","useSWRMutation","throwOnError","onSuccess","data","config","eventType","error","isMutating","useExtractSlug","state","dispatch","useGlobalReducer","pattern","setPattern","useState","useConfig","stytchClient","useStytch","slug","organizationSlug","extractFromPattern","window","location","href","trigger","isSearching","_","arg","organization","getBySlug","organization_slug","errorType","ErrorType","Organization","canGoBack","useEffect","readB2BInternals","bootstrap","getAsync","then","slugPattern","flowState","screen","AppScreens","Main","AuthFlowType","resultPending","useBootstrap","setBootstrap","getSync","onAuthenticateSuccess","response","includedMfaMethods","mfaProductInclude","onDiscoveryAuthenticateSuccess","email","email_address","discoveredOrganizations","discovered_organizations","url","URL","search","currentUrl","toString","trim","regexPattern","replace","regex","RegExp","match","hasProduct","products","product","some","p","useProductComponents","organizationProducts","screenType","useMemo","map","Object","assign","useIsOnlyFloatingOneTap","isOnlyFloatingOneTap","oauthProvider","oauthOptions","providers","isGoogleOneTap","length","useLastUsedAuthMethod","stytch","publicToken","lastUsedMethod","safeLocalStorage","getItem","setLastUsedMethod","method","setItem","providerInfo","messageDescriptor","Microsoft","HubSpot","Slack","GitHub","OAuthB2BButton","loginRedirectUrl","signupRedirectUrl","discoveryRedirectUrl","useLingui","presentation","usePresentation","iconRegistry","getButtonId","label","icon","Icon","onButtonClick","providerClient","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","organization_id","provider_params","discovery","discovery_redirect_url","Button","onClick","variant","B2BGoogleOneTap","oneTapError","setOneTapError","isUnmounted","useIsUnmounted","attemptToLoadOneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","DefaultProviderNotAllowed","logger","client","current","oneTapCallback","createOnSuccessHandler","organizationId","signupRedirectURL","loginRedirectURL","redirectOnSuccess","Error","createOnDiscoverySuccessHandler","discoveryRedirectURL","renderResult","render","callback","style","position","OneTapPositions","floating","cancel","OriginNotAllowedForClient","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","oauthIcons","google","GoogleIcon","microsoft","MicrosoftIcon","hubspot","slack","SlackIcon","github","GithubIcon","ssoIcons","okta","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","yahoo","YahooIcon","iconMap","SSOButton","connection","onStart","ssoOptions","connection_id","display_name","identity_provider","sso","iconName","useEmlDiscoverySend","magicLinks","send","emailMagicLinksOptions","login_template_id","loginTemplateId","locale","EmailConfirmation","useEmlLoginOrSignup","loginOrSignup","signup_template_id","signupTemplateId","e","useEmailDomain","emailDomains","setEmailDomains","domainHint","emailDomain","countdown","useCountdown","sendLoginOrSignupEml","isSendingLoginOrSignupEml","sendDiscoveryEml","isSendingDiscoveryEml","formState","emailState","userSuppliedEmail","goBack","resend","Discovery","isSubmitting","EmailConfirmationView","UsePasswordButton","handleUsePassword","productsToAuthMethods","emailMagicLinks","emailOtp","passwords","oauthProvidersToAuthMethods","authMethodsToProducts","fromEntries","entries","authMethod","oauthMethodsToOauthProviders","authMethodToProduct","allOauthProviders","values","flattenConfigToAuthMethods","oauthProviders","flatMap","filter","isTruthy","useOAuthProviderConfigs","useRestrictedAuthMethods","primaryAuthMethods","primary","hasPrimaryAuthMethods","restrictedAuthMethods","Set","auth_methods","allowed_auth_methods","useEffectiveAuthConfig","oauthProviderConfigs","flattenedConfiguredAuthMethods","authMethodsToShow","restrictedAuthMethodsInUiConfig","has","productIds","productId","find","oauthProviderSettings","DEFAULT_OTP_EXPIRATION_MS","getOtpCodeExpiration","Date","now","useEmailOtpDiscoverySend","_key","otps","emailOtpOptions","codeExpiration","useEmailOtpLoginOrSignup","JIT_PROVISIONING_ERRORS","useParseErrorMessage","org","organizationName","includes","error_type","getTranslatedError","EmailForm","showPasswordButton","emailInput","setEmailInput","passwordState","parseErrorMessage","enableEml","enableOtp","providedEmail","stytchEmlLoginOrSignup","emlError","emlIsMutating","stytchOtpLoginOrSignup","otpError","otpIsMutating","handleSubmit","preventDefault","EmailMethodSelection","history","Column","gap","loading","disabled","as","onSubmit","EmailInput","setEmail","hideLabel","organization_name","EmailDiscoveryForm","stytchEmlDiscoverySend","stytchOtpDiscoverySend","EmailMethodSelectionScreen","sendDiscoveryEmlError","reset","resetSendDiscoveryEml","sendDiscoveryOtp","isSendingDiscoveryOtp","sendDiscoveryOtpError","resetSendDiscoveryOtp","sendLoginOrSignupEmlError","resetSendLoginOrSignupEml","sendLoginOrSignupOtp","isSendingLoginOrSignupOtp","sendLoginOrSignupOtpError","resetSendLoginOrSignupOtp","isSending","handleChooseMethod","displayOptions","option","handleBack","Typography","ButtonColumn","ErrorText","EmailOTPEntryScreen","otpState","resendCountdown","emailOtpDiscovery","sendError","discoveryAuthenticate","otp","authenticate","code","emailAddress","sessionDurationMinutes","session_duration_minutes","isAuthenticatingAny","errorMessage","resetAll","resp","sessionOptions","clear","handleResendOTP","SentOTPEntry","expiration","getTime","formattedDestination","LoadingScreen","ResendOTPButton","resendOTP","usePasswordInput","password","setPassword","setErrorMessage","setIsSubmitting","submitPassword","DEFAULT_SESSION_DURATION_MINUTES","passwordOptions","B2BPasswordAuthenticate","submitDiscoveryPassword","B2BPasswordDiscoveryAuthenticate","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","split","pop","handleNonMemberReset","dataLayer","resetPasswordRedirectURL","PasswordResetVerifyConfirmation","PasswordsAuthenticate","EMAIL_REGEX","onGetHelp","PasswordForgotForm","PasswordInput","PasswordsEmailForm","hideInput","setHideInput","searchManager","searchMember","member","PasswordsForgotForm","resetByEmailStart","reset_password_redirect_url","reset_password_expiration_minutes","resetPasswordExpirationMinutes","reset_password_template_id","resetPasswordTemplateId","verify_email_template_id","verifyEmailTemplateId","B2BPasswordResetByEmailStart","PasswordSetNewConfirmation","PasswordResetConfirmation","EmailActionLayout","header","description","Trans","message","components","bold","b","additionalActions","EmailProviderLink","emailProviderInfo","PasswordResetForm","useB2BBootstrap","resetToken","resetTokenType","parsed","parseAuthenticateUrl","token","tokenType","passwordError","setPasswordError","policy","updateStrengthCheck","debounce","strengthCheck","score","valid_password","zxcvbn_feedback","luds_feedback","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","missing_characters","missingComplexity","missing_complexity","magic_links_token","clearStytchTokenParams","onPasswordChange","resetByEmail","password_reset_token","B2BPasswordResetByEmail","B2BDiscoveryPasswordReset","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","noop","PasswordError","PasswordSetNew","resendResetPassword","B2BPasswordDiscoveryResetStart","assertUnreachable","getSsoMethodKey","extractConnectionId","startsWith","slice","getButtonKey","button","getCustomScopesForProvider","oauthOptionsCustomScopes","currentCustomScopes","keys","getProviderParamsForProvider","oauthOptionsProviderParams","currentProviderParams","login_hint","SsoAndOAuthButtons","buttons","isDiscoveryFlow","authButtons","MainScreenComponent","OAuthButtons","SSOButtons","sso_active_connections","reorderedButtons","foundLastUsedOAuth","arrayUtils","moveToFront","createOAuthButton","providerProps","index","buttonComponent","SSODiscoveryEmail","useSsoDiscoveryConnection","discoverConnections","setError","isLoading","setIsLoading","tryGetConnections","connections","extractErrorMessage","SSODiscoveryFallback","setSlug","lookupOrganization","handleTryAnotherMethod","Input","value","onChange","target","placeholder","availableConnections","lastUsedSso","foundLastUsed","SSODiscoveryMenu","ssoDiscoveryState","EmailFormWithoutPassword","EmailFormWithPassword","EmailDiscoveryFormWithoutPassword","EmailDiscoveryFormWithPassword","screens","mainScreen","PasswordEmailCombined","PasswordEmailCombinedDiscovery","icons","EmailOTPEntry","ssoAndOAuthButtons","PasswordEmailForm","PasswordAuthenticate","ConfirmationScreen","useMountEffect","AuthenticateFlowComplete","Confirmation","Arrow","styles","arrow","OrganizationRow","action","organization_logo_url","logo","img","src","alt","div","role","Array","from","classNames","organizationRow","hoverTriggerClass","buttonClassNames","left","nameText","VerticalTransition","rootClassName","right","rightContent","Badge","secondary","isJoinViaJitType","DiscoverNoOrganizations","createOrganizationEnabled","stytchCreateOrganization","isCreateLoading","organizations","create","OrganizationDiscoveryClaimedDomain","Default","shouldAutomaticallyCreateOrganization","directCreateOrganizationForNoMembership","discoveryState","disableCreateOrganization","shouldAllowDirectLoginToOrganization","status","activeOrganizations","membership","hasBlockingConditions","ignoreInvites","ignoreJitProvisioning","shouldDirectLoginConfigEnabled","directLoginForSingleMembership","isExchangeInProgress","directLoginOrganization","handleDiscoveryOrganizationStart","discoveredOrganization","primary_required","allowedAuthMethods","sso_default_connection_id","startSso","stytchDiscoveryExchange","connectionId","intermediateSessions","exchange","LoggingInScreen","organizationButtons","createOrganizationButton","goBackButton","top","bottom","isButtonsComponent","component","generateProductComponentsOrdering","flowStateType","productsSet","displayEmailAndPasswordsTogether","emailPasswordCombinedComponent","productComponentsSet","reduce","add","isSsoValid","groups","i","arr","prevComponent","shouldJoinPreviousGroup","push","prevGroup","Divider","isButtonGroup","group","every","MainScreen","emailVerified","productComponentsOrdering","mainScreenComponents","title","PasswordReset","showVerifyEmailCopy","hideHeaderText","align","Component","mfaOptions","B2BMFAProducts","totp","TOTPEnrollmentQRCode","smsOtp","SMSOTPEnrollment","MFAEnrollmentSelectionScreen","mfaProductOrder","organizationMfaOptionsSupported","mfa","primaryInfo","handleNavigate","optionsToDisplay","getEnabledMethods","allMethods","B2B_MFA_METHODS","orgSupportedMethods","uiIncludedMethods","delete","RecoveryCodeEntryScreen","memberId","recoveryCode","recoveryCodes","recover","recovery_code","member_id","setRecoveryCode","input","required","autoComplete","spellCheck","CodeContainer","children","container","RecoveryCodeSaveScreen","enrollment","handleContinue","fileContent","newline","navigator","platform","blob","Blob","join","createObjectURL","filename","copied","setCopied","useTimedBoolean","handleCodesCopy","clipboard","writeText","errorToast","maxCodeLength","Math","max","TextColumn","body","font","ul","codes","li","ButtonAnchor","download","triggered","DEFAULT_COUNTRY_CODE","InvalidPhoneNumberError","StytchSDKError","SMSOTPEnrollScreen","smsOtpOptions","enrolledNumber","countryCode","setCountryCode","phoneNumber","setPhoneNumber","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","sendSms","parsedNumber","sms","mfa_phone_number","formattedPhoneNumber","COUNTRIES_LIST","formatNumberToIncludeCountryCode","country","isValid","number","PhoneInput","setCountry","phone","setPhone","SMSOTPEntryScreen","isEnrolling","enrolledMfaMethods","memberPhoneNumber","isAuthenticating","authenticateError","shouldCreate","handleFormatNumber","parsedPhoneNumber","national","formatNumber","isTotpAvailable","enrolledMethod","handleSwitchToTotp","TOTPEntry","resendButton","switchToTotpButton","backButton","CHUNK_SIZE","TOTPEnrollManualScreen","secret","displaySecret","toLowerCase","secretChunked","Boolean","codeRef","columnCount","useColumnCount","handleCodeCopy","selection","getSelection","empty","range","document","createRange","selectNodeContents","addRange","codeContainer","ref","part","span","chunksCount","setColumnCount","useLayoutEffect","updateRowCount","containerWidth","clientWidth","spanWidth","querySelectorAll","elem","fittedColumns","floor","fittedColumnsWithGaps","rows","ceil","evenColumns","ResizeObserver","observer","observe","disconnect","TOTPEnrollQRScreen","createError","isCreating","createTotp","handleShowManualCode","qrCode","qr","TOTPEntryScreen","isSmsOtpAvailable","handleSwitchToRecoveryCode","RecoveryCodeEntry","handleSwitchToSms","SMSOTPEntry","OTPEntry","instruction","helperContent","authTokenConfig","mutationKey","defaultError","EmailMagicLink","discovery_oauth","multi_tenant_magic_links","multi_tenant_impersonation","errorTypeMap","ad_blocker_detected","AdBlockerDetected","AppContainer","triggerError","triggerEvent","displayWatermark","theme","currentScreen","screenComponentMap","handleStytchAPIError","defaultErrorType","extractErrorType","isTokenAuthLoading","setIsTokenAuthLoading","mutate","handled","authenticateByUrl","event","finally","MainContainer","orgLogo","defaultScreenComponents","ErrorScreen","MFAEnrollmentSelection","RecoveryCodeSave","TOTPEnrollmentManual","ScreenComponent","Logo","appLogo","InternalAppContainer","callbacks","strings","setDisplayWatermark","networkClient","logEvent","name","details","getRedirectTypeFromUrl","redirectType","searchParams","get","authFlowType","RedirectURLType","ResetPassword","initialState","DEFAULT_STATE","configWithDefaults","presentationValue","usePresentationWithDefault","GlobalContextProvider","PresentationContext","Provider","I18nProviderWrapper","overrides","Container","useStytchMember","useSyncExternalStore","onStateChange","self","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","idpConsentState","useIDPState","IDPConsent","bootstrapNotLoaded","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","flow","parseIDPParams","content","EnsureMemberIsLoggedIn","params","onErrorRef","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","NoCurrentSessionError","ErrorDisplay","text","internalConfig","B2BProducts","B2BIDPContainer","getIDPConsentManifest","trustedAuthTokenParams","IDPContextProvider","consentManifestGenerator","authTokenParams","createB2BComponent","Wrapped","invariant","useIsMounted__INTERNAL","noProviderError","useStytchB2BClient","shadow","enableShadowDOM","root","mountPoint","setMountPoint","shadowRoot","attachShadow","mode","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","createPortal","displayName","B2BIdentityProvider","StytchB2B","useStytchMemberShared","useStytchMemberSession","useStytchMemberSessionShared","useStytchOrganization","useStytchOrganizationShared","useStytchIsAuthorized","useStytchIsAuthorizedShared","withStytchMember","withStytchMemberShared","withStytchMemberSession","withStytchMemberSessionShared","withStytchOrganization","withStytchOrganizationShared","StytchB2BProvider","assumeHydrated","StytchB2BProviderShared","createStytchB2BUIClient","createStytchB2BClient"],"mappings":"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","x_google_ignoreList":[5]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../web/src/assets/sso.tsx","../../../../web/src/assets/logo-color/Hubspot.tsx","../../../../web/src/assets/logo-color/Okta.tsx","../../../../web/src/messages/b2b/en.ts","../../../../web/src/utils/oauthProviderType.ts","../../../../../node_modules/swr/mutation/dist/index.mjs","../../../../web/src/ui/b2b/utils.ts","../../../../web/src/ui/b2b/hooks/useIsOnlyFloatingOneTap.ts","../../../../web/src/ui/b2b/hooks/useLastUsedAuthMethod.ts","../../../../web/src/ui/b2b/components/OAuthB2BButton.tsx","../../../../web/src/ui/b2b/components/B2BOneTap.tsx","../../../../web/src/ui/b2b/components/Icons.ts","../../../../web/src/ui/b2b/components/SSOButton.tsx","../../../../web/src/ui/b2b/hooks/useEmlDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmlLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/useEmailDomain.ts","../../../../web/src/ui/b2b/screens/EmailConfirmation.tsx","../../../../web/src/ui/b2b/components/UsePasswordButton.tsx","../../../../web/src/ui/b2b/hooks/useEffectiveAuthConfig.ts","../../../../web/src/ui/b2b/getOtpCodeExpiration.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/EmailForm.tsx","../../../../web/src/ui/b2b/screens/EmailMethodSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/EmailOTPEntryScreen.tsx","../../../../web/src/ui/b2b/usePasswordInput.ts","../../../../web/src/ui/b2b/screens/PasswordAuthenticate.tsx","../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx","../../../../web/src/ui/b2b/screens/PasswordForgotForm.tsx","../../../../web/src/ui/b2b/screens/PasswordResetConfirmation.tsx","../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx","../../../../web/src/ui/b2b/screens/PasswordSetNew.tsx","../../../../web/src/utils/assertUnreachable.ts","../../../../web/src/ui/b2b/types/authMethodKeys.ts","../../../../web/src/ui/b2b/screens/SsoAndOAuthButtons.tsx","../../../../web/src/ui/b2b/hooks/useSsoDiscoveryConnection.ts","../../../../web/src/ui/b2b/screens/SSODiscoveryEmail.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryFallback.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryMenu.tsx","../../../../web/src/ui/b2b/B2BProducts.tsx","../../../../web/src/ui/b2b/screens/Confirmation.tsx","../../../../web/src/ui/b2b/components/OrganizationRow.tsx","../../../../web/src/ui/b2b/screens/Discovery.tsx","../../../../web/src/ui/b2b/generateProductComponentsOrdering.ts","../../../../web/src/ui/b2b/screens/Main.tsx","../../../../web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeEntryScreen.tsx","../../../../web/src/ui/components/atoms/CodeContainer.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeSaveScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEnrollScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEntryScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollManualScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollQRScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEntryScreen.tsx","../../../../web/src/ui/b2b/Container.tsx","../../../../web/src/ui/b2b/InternalAppContainer.tsx","../../../../web/src/ui/b2b/hooks/useStytchMember.ts","../../../../web/src/ui/b2b/screens/IDPConsent.tsx","../../../../web/src/ui/b2b/App.tsx","../../../../web/src/ui/react/bindings/createB2BComponent.tsx","../../../../web/src/ui/react/b2b/B2BIdentityProvider.tsx","../../../../web/src/ui/react/b2b/Stytch.tsx","../../../src/b2b/StytchB2BContext.tsx","../../../src/b2b/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const SSOIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_221_1596)\">\n <path\n d=\"M17.5125 10.53C17.0025 7.9425 14.73 6 12 6C9.8325 6 7.95 7.23 7.0125 9.03C4.755 9.27 3 11.1825 3 13.5C3 15.9825 5.0175 18 7.5 18H17.25C19.32 18 21 16.32 21 14.25C21 12.27 19.4625 10.665 17.5125 10.53Z\"\n fill=\"currentColor\"\n />\n </g>\n <g clipPath=\"url(#clip1_221_1596)\">\n <path\n d=\"M15.9684 13.1139L14.9987 14.0933L14.5152 13.6098L14.2501 13.3446L13.9849 13.6098L13.5001 14.0946L13.0152 13.6098L12.9054 13.4999H12.7501H12.6188H12.3532L12.2651 13.7504C12.0087 14.4788 11.3147 14.9999 10.5001 14.9999C9.46592 14.9999 8.62506 14.1591 8.62506 13.1249C8.62506 12.0908 9.46592 11.2499 10.5001 11.2499C11.3147 11.2499 12.0087 11.7711 12.2651 12.4994L12.3532 12.7499H12.6188H15.5969L15.9684 13.1139ZM9.00006 13.1249C9.00006 13.9508 9.6742 14.6249 10.5001 14.6249C11.3259 14.6249 12.0001 13.9508 12.0001 13.1249C12.0001 12.2991 11.3259 11.6249 10.5001 11.6249C9.6742 11.6249 9.00006 12.2991 9.00006 13.1249Z\"\n fill=\"var(--st-background)\"\n stroke=\"var(--st-background)\"\n strokeWidth=\"0.75\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_221_1596\">\n <rect width=\"18\" height=\"18\" transform=\"translate(3 3)\" />\n </clipPath>\n <clipPath id=\"clip1_221_1596\">\n <rect width=\"8.25\" height=\"6\" transform=\"translate(8.25006 10.1251)\" />\n </clipPath>\n </defs>\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 HubspotIcon = (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=\"#FF7A59\"\n fillRule=\"evenodd\"\n d=\"M13.93 13.97a2.4 2.4 0 0 1-2.43-2.4c0-1.34 1.09-2.42 2.43-2.42a2.4 2.4 0 0 1 2.43 2.41c0 1.33-1.08 2.41-2.43 2.41m.73-7.05V4.78c.56-.26.96-.83.96-1.49v-.05c0-.9-.75-1.64-1.66-1.64h-.05c-.92 0-1.67.74-1.67 1.64v.05c0 .66.4 1.23.96 1.5v2.13q-1.27.21-2.24.98L5 3.32q.07-.21.07-.46C5.08 1.83 4.24 1 3.2 1s-1.88.83-1.88 1.86a1.87 1.87 0 0 0 2.8 1.6l5.85 4.51a4.6 4.6 0 0 0 .07 5.29l-1.77 1.76a1.54 1.54 0 0 0-1.98 1.46 1.54 1.54 0 0 0 3.09 0q-.02-.23-.08-.44l1.76-1.74a4.75 4.75 0 0 0 7.62-3.74 4.7 4.7 0 0 0-4.02-4.64\"\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 OktaIcon = (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=\"#191919\"\n fillRule=\"evenodd\"\n d=\"m10.9 1.13-.37 4.56a5 5 0 0 0-1.19.01l-.2-2.2q0-.12.11-.13h.38l-.18-2.24q.01-.12.11-.13h1.23q.11.01.11.13m-3.09.22q-.04-.1-.15-.08l-1.15.42q-.11.06-.07.16l.94 2.04-.36.13q-.1.06-.06.16l.95 2a4 4 0 0 1 1.12-.42zM5 2.62l2.65 3.73q-.51.33-.9.78l-1.6-1.56a.12.12 0 0 1 .01-.18l.3-.23-1.58-1.6a.12.12 0 0 1 0-.18l.94-.78a.12.12 0 0 1 .17.02M2.77 4.78q-.1-.05-.17.04l-.61 1.06a.12.12 0 0 0 .05.17L4.07 7l-.2.32a.12.12 0 0 0 .06.17l2.02.92q.22-.56.59-1.04zm-1.5 2.88q.03-.11.15-.1l4.42 1.16q-.17.57-.19 1.18l-2.21-.18a.12.12 0 0 1-.1-.14l.06-.37L1.16 9q-.11-.02-.1-.14zm-.16 2.99q-.12.02-.1.14l.2 1.2q.05.12.15.1l2.17-.56.07.37c0 .06.08.1.14.09l2.14-.59q-.19-.56-.22-1.17zm.7 3.17a.12.12 0 0 1 .06-.17L6 11.7q.24.55.62 1.02L4.8 14.01a.12.12 0 0 1-.17-.04l-.19-.33-1.84 1.28q-.1.05-.17-.04zm5.02-.86L3.6 16.21a.12.12 0 0 0 0 .18l.95.79q.1.06.17-.02l1.3-1.84.29.25q.1.07.18-.03l1.26-1.82a5 5 0 0 1-.93-.76m-.64 5.22a.12.12 0 0 1-.07-.16l1.91-4.15q.53.27 1.13.39L8.6 16.4a.12.12 0 0 1-.16.07l-.35-.12-.6 2.16q-.04.1-.15.08zm3.28-3.87-.37 4.56q0 .12.12.13h1.22q.12-.01.12-.13l-.18-2.23h.37q.12-.02.12-.14l-.2-2.2a4 4 0 0 1-1.2.01M13.9 1.97a.12.12 0 0 0-.07-.17l-1.15-.41q-.12-.03-.16.08l-.6 2.16-.35-.13q-.1-.02-.15.08l-.56 2.15q.6.12 1.12.39zm2.5 1.81-3.21 3.26a4 4 0 0 0-.93-.76l1.26-1.83a.12.12 0 0 1 .18-.03l.29.25 1.3-1.83a.12.12 0 0 1 .17-.02l.94.79q.09.08.01.17m1.75 2.56q.1-.05.05-.17l-.62-1.05a.12.12 0 0 0-.17-.04l-1.84 1.27-.2-.32q-.06-.1-.16-.04l-1.82 1.29q.38.46.62 1.02zM18.79 8l.2 1.2a.12.12 0 0 1-.1.15l-4.55.42a4 4 0 0 0-.23-1.17l2.14-.59q.12-.02.15.1l.06.37 2.17-.57q.12-.03.15.1zm-.2 4.43q.1.01.14-.1l.2-1.2a.12.12 0 0 0-.1-.15l-2.23-.2.06-.37a.12.12 0 0 0-.1-.14l-2.22-.18q-.01.6-.19 1.18l4.43 1.15m-1.19 2.75a.12.12 0 0 1-.17.04l-3.77-2.6q.36-.48.59-1.04l2.02.92q.1.06.05.16l-.19.33 2.03.96q.1.05.05.17zm-5.04-1.54 2.65 3.73q.08.08.17.02l.94-.79a.12.12 0 0 0 0-.17l-1.57-1.6.3-.23q.08-.09 0-.18l-1.59-1.56q-.4.46-.9.78m-.02 5.08q-.12.03-.16-.08l-1.2-4.41q.59-.14 1.1-.43l.96 2.01c.03.06 0 .14-.06.16l-.36.13.94 2.04q.04.1-.07.16z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../../messages/b2b/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\n\nexport const getParamsFromB2BOAuthProviderConfig = (provider: B2BOAuthProviderConfig) => {\n let providerType: B2BOAuthProviders;\n let oneTap = false;\n let customScopes: string[] = [];\n let providerParams: Record<string, string> = {};\n let cancelOnTapOutside: boolean | undefined = undefined;\n if (typeof provider === 'string') {\n providerType = provider;\n } else {\n providerType = provider.type;\n if (provider.type === B2BOAuthProviders.Google && provider.one_tap) {\n oneTap = provider.one_tap;\n cancelOnTapOutside = provider.cancel_on_tap_outside;\n }\n customScopes = provider.customScopes || [];\n providerParams = provider.providerParams || {};\n }\n return {\n type: providerType,\n one_tap: oneTap,\n customScopes,\n providerParams,\n cancel_on_tap_outside: cancelOnTapOutside,\n };\n};\n","import { useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { withMiddleware, useStateWithDeps, UNDEFINED, serialize, mergeObjects, getTimestamp, useIsomorphicLayoutEffect } from 'swr/_internal';\n\nconst mutation = ()=>{\n return (key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n data,\n isMutating: false,\n error: undefined\n });\n options.onSuccess == null ? void 0 : options.onSuccess(data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n error: error,\n isMutating: false\n });\n options.onError == null ? void 0 : options.onError(error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n};\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ var index = withMiddleware(useSWR, mutation);\n\nexport { index as default };\n","import {\n AuthFlowType,\n B2BAuthenticateResponseWithMFA,\n B2BDiscoveryAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchError,\n StytchEvent,\n StytchEventType,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport { useEffect, useMemo, useState } from 'react';\nimport useSWRMutation, { MutationFetcher, SWRMutationConfiguration } from 'swr/mutation';\n\nimport { StytchB2BClient } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { Action } from './reducer';\nimport type { ProductId, StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\n\ntype RecursiveDotNotation<T> = T extends object\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends (...args: never[]) => unknown\n ? K\n : T[K] extends object\n ? `${K}.${RecursiveDotNotation<T[K]>}`\n : K\n : never;\n }[keyof T]\n : never;\n\ntype ValidStytchMutationKey = `stytch.${RecursiveDotNotation<StytchB2BClient>}`;\n\nconst KeyToStytchEventMap = {\n 'stytch.magicLinks.authenticate': StytchEventType.B2BMagicLinkAuthenticate,\n 'stytch.sso.authenticate': StytchEventType.B2BSSOAuthenticate,\n 'stytch.sso.discoverConnections': StytchEventType.B2BSSODiscoverConnections,\n 'stytch.magicLinks.discovery.authenticate': StytchEventType.B2BMagicLinkDiscoveryAuthenticate,\n 'stytch.discovery.organizations.create': StytchEventType.B2BDiscoveryOrganizationsCreate,\n 'stytch.discovery.intermediateSessions.exchange': StytchEventType.B2BDiscoveryIntermediateSessionExchange,\n 'stytch.magicLinks.email.loginOrSignup': StytchEventType.B2BMagicLinkEmailLoginOrSignup,\n 'stytch.magicLinks.email.discovery.send': StytchEventType.B2BMagicLinkEmailDiscoverySend,\n 'stytch.oauth.authenticate': StytchEventType.B2BOAuthAuthenticate,\n 'stytch.oauth.discovery.authenticate': StytchEventType.B2BOAuthDiscoveryAuthenticate,\n 'stytch.otps.sms.send': StytchEventType.B2BSMSOTPSend,\n 'stytch.otps.sms.authenticate': StytchEventType.B2BSMSOTPAuthenticate,\n 'stytch.totp.create': StytchEventType.B2BTOTPCreate,\n 'stytch.totp.authenticate': StytchEventType.B2BTOTPAuthenticate,\n 'stytch.recoveryCodes.recover': StytchEventType.B2BRecoveryCodesRecover,\n 'stytch.impersonation.authenticate': StytchEventType.B2BImpersonationAuthenticate,\n 'stytch.otps.email.authenticate': StytchEventType.B2BOTPsEmailAuthenticate,\n 'stytch.otps.email.discovery.authenticate': StytchEventType.B2BOTPsEmailDiscoveryAuthenticate,\n 'stytch.otps.email.discovery.send': StytchEventType.B2BOTPsEmailDiscoverySend,\n 'stytch.otps.email.loginOrSignup': StytchEventType.B2BOTPsEmailLoginOrSignup,\n 'stytch.organization.getBySlug': StytchEventType.B2BOrganizationsGetBySlug,\n} satisfies Partial<Record<ValidStytchMutationKey, StytchEventType>>;\n\ntype StytchExternalMutationKey = keyof typeof KeyToStytchEventMap;\n\ntype StytchInternalMutationKey = `internal.${string}`;\n\nexport type StytchMutationKey = StytchExternalMutationKey | StytchInternalMutationKey;\n\nexport function getStytchEventByKey(key: StytchMutationKey): StytchEventType | undefined {\n return KeyToStytchEventMap[key as StytchExternalMutationKey];\n}\n\nexport const useMutate = <TData, TError, TKey extends StytchMutationKey, TExtraArg = never>(\n key: TKey,\n fetcher: MutationFetcher<TData, TExtraArg, TKey>,\n options: SWRMutationConfiguration<TData, TError, TExtraArg, TKey> = {},\n) => {\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const result = useSWRMutation<TData, TError, TKey, TExtraArg>(key, fetcher, {\n throwOnError: false,\n ...options,\n onSuccess: (data, key, config) => {\n const eventType = getStytchEventByKey(key as StytchMutationKey);\n if (eventType) {\n onEvent({ type: eventType, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n options.onSuccess?.(data, key, config);\n },\n onError: (error, key, config) => {\n onError(error as StytchError);\n\n options.onError?.(error, key, config);\n },\n });\n\n // Hide the error while mutating. This helps avoid the errors continuing to show after the user has clicked submit\n // and also ensures repeating errors causes <ErrorText> to re-render which is important for screenreaders to\n // re-announce them\n return result.isMutating ? { ...result, error: undefined } : result;\n};\n\n/**\n *\n * This hook triggers a request to retrieve the organization from the slug.\n * The hook only triggers the request if the SDK is being used in an organization flow,\n * and a slug pattern is present. The hook returns an isSearching boolean that can be used\n * to display a loading state while the search is in progress.\n */\nexport const useExtractSlug = () => {\n const [state, dispatch] = useGlobalReducer();\n const [pattern, setPattern] = useState<string | null | undefined>();\n const config = useConfig();\n\n const stytchClient = useStytch();\n const slug = config.organizationSlug ?? extractFromPattern(pattern || null, window.location.href);\n\n const { trigger, isMutating: isSearching } = useMutate<\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchExternalMutationKey,\n { slug: string }\n >(\n 'stytch.organization.getBySlug',\n (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onSuccess: ({ organization }) => {\n if (organization === null) {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization: {\n ...organization,\n },\n });\n }\n },\n },\n );\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then(({ slugPattern }) => {\n setPattern(slugPattern);\n });\n }, [stytchClient]);\n\n useEffect(() => {\n if (\n slug !== null &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n trigger({ slug });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [slug, state.flowState, state.screen]);\n\n // The org is pending identification if the slug pattern has not yet been\n // determined (i.e., `undefined`) or the organization request is in progress\n const resultPending = pattern === undefined || isSearching;\n\n return { slug, resultPending };\n};\n\nexport const useBootstrap = () => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState(readB2BInternals(stytchClient).bootstrap.getSync());\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) => {\n setBootstrap(data);\n });\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport const onAuthenticateSuccess = (\n data: B2BAuthenticateResponseWithMFA<StytchProjectConfigurationInput>,\n dispatch: React.Dispatch<Action>,\n config: StytchB2BExtendedLoginConfig,\n) => {\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n });\n};\n\nexport const onDiscoveryAuthenticateSuccess = (\n data: B2BDiscoveryAuthenticateResponse | B2BMagicLinksDiscoveryAuthenticateResponse,\n dispatch: React.Dispatch<Action>,\n) => {\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n};\n\nexport const extractFromPattern = (pattern: string | null, href: string): string | null => {\n if (pattern === null) return null;\n\n const url = new URL(href);\n url.search = '';\n\n const currentUrl = url.toString().trim();\n const regexPattern = pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '(?:[^.]+)').replace('{{slug}}', '(.+)');\n\n const regex = new RegExp(regexPattern);\n const match = currentUrl.match(regex);\n\n if (match && match[1]) {\n return match?.[1];\n }\n\n return null;\n};\n\nexport function hasProduct(products: StytchB2BProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'mainScreen' | 'ssoAndOAuthButtons'>(\n { products, organizationProducts }: { products: StytchB2BProduct[]; organizationProducts: StytchB2BProduct[] },\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchB2BProduct[Type]>;\n for (const product of [...products, ...organizationProducts]) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, organizationProducts, screenType]);\n}\n","import { B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig } from '../GlobalContextProvider';\nimport { hasProduct } from '../utils';\n\nexport const useIsOnlyFloatingOneTap = () => {\n const config = useConfig();\n const isOnlyFloatingOneTap = useMemo(() => {\n const oauthProvider = config.oauthOptions\n ? getParamsFromB2BOAuthProviderConfig(config.oauthOptions?.providers[0])\n : undefined;\n const isGoogleOneTap = oauthProvider?.type === B2BOAuthProviders.Google && oauthProvider?.one_tap === true;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n isGoogleOneTap\n );\n }, [config]);\n\n return isOnlyFloatingOneTap;\n};\n","import { useMemo } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { safeLocalStorage } from '../../../utils/storage';\nimport { useStytch } from '../GlobalContextProvider';\nimport { LastUsedMethod } from '../types/authMethodKeys';\n\n/**\n * Hook for managing the last used authentication method in B2B flows.\n * The returned value is not reactive and will not update when setLastUsedMethod is called.\n */\nexport function useLastUsedAuthMethod() {\n const stytch = useStytch();\n const { publicToken } = readB2BInternals(stytch);\n\n // Deliberately not using useLocalStorage because we _don't_ want the buttons\n // to reorder while the user is still seeing this page\n const lastUsedMethod = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2b_last_used_method'), [publicToken]);\n const setLastUsedMethod = (method: LastUsedMethod) => {\n safeLocalStorage.setItem(publicToken, 'b2b_last_used_method', method);\n };\n\n return [lastUsedMethod, setLastUsedMethod] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { B2BOAuthProviders } 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 { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ntype OauthIconName = keyof typeof oauthIcons;\n\ninterface OAuthProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo: Record<B2BOAuthProviders, OAuthProviderInfo> = {\n [B2BOAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [B2BOAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [B2BOAuthProviders.HubSpot]: {\n messageDescriptor: msg({ id: 'oauth.continueWithHubSpot', message: 'Continue with HubSpot' }),\n },\n [B2BOAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [B2BOAuthProviders.GitHub]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n};\n\nexport type OauthB2BButtonProps = {\n providerType: B2BOAuthProviders;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n discoveryRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthB2BButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n discoveryRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: OauthB2BButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [state] = useGlobalReducer();\n\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<OauthIconName> = 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 const Icon = iconRegistry[providerType];\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n const providerClient = stytchClient.oauth[providerType];\n\n if (state.flowState.organization) {\n await providerClient.start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n organization_id: state.flowState.organization.organization_id,\n provider_params: providerParams,\n });\n } else {\n await providerClient.discovery.start({\n discovery_redirect_url: discoveryRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n }\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 } from '@stytch/core';\nimport { B2BOAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport type { CredentialResponse } from 'google-one-tap';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { readB2BInternals } from '../../../utils/internal';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { useIsMounted } from '../../hooks/useIsMounted';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens } from '../types/AppScreens';\nimport { OAuthB2BButton } from './OAuthB2BButton';\n\nexport type B2BOneTapProps = {\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nexport const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside }: B2BOneTapProps) => {\n const stytch = useStytch();\n const config = useConfig();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const isMounted = useIsMounted();\n const [state, dispatch] = useGlobalReducer();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n const { oneTap } = readB2BInternals(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 === 'default_provider_not_allowed') {\n setOneTapError(OneTapErrors.DefaultProviderNotAllowed);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\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. if the element does not exist,\n * 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 let oneTapCallback: (response: CredentialResponse) => void;\n if (state.flowState.organization) {\n oneTapCallback = oneTap.createOnSuccessHandler({\n organizationId: state.flowState.organization.organization_id,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n } else {\n oneTapCallback = oneTap.createOnDiscoverySuccessHandler({\n discoveryRedirectUrl: config.oauthOptions?.discoveryRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n }\n const renderResult = await client.render({\n callback: oneTapCallback,\n style: {\n position: OneTapPositions.floating,\n },\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 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 stytch,\n isMounted,\n state.flowState.organization,\n config.oauthOptions?.signupRedirectURL,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.discoveryRedirectURL,\n dispatch,\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 });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n if (isOnlyFloatingOneTap) {\n return null;\n }\n\n const fallbackButton = (\n <OAuthB2BButton\n providerType={B2BOAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n discoveryRedirectUrl={config.oauthOptions?.discoveryRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedMethod(B2BOAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === B2BOAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import {\n GithubIcon,\n GmailIcon,\n GoogleIcon,\n HubspotIcon,\n MicrosoftIcon,\n OktaIcon,\n OutlookIcon,\n SlackIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\n\nexport const oauthIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n hubspot: HubspotIcon,\n slack: SlackIcon,\n github: GithubIcon,\n};\n\nexport const ssoIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n okta: OktaIcon,\n};\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n};\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof ssoIcons\n | keyof typeof emailIcons;\n","import { useLingui } from '@lingui/react/macro';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport React from 'react';\n\nimport { SSOIcon } from '../../../assets';\nimport { SsoKnownIdp } from '../../../utils/KnownIdp';\nimport Button from '../../components/atoms/Button';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport type { ssoIcons } from './Icons';\n\ntype SsoIconNames = keyof typeof ssoIcons;\n\nconst iconMap: Record<string, SsoIconNames> = {\n 'google-workspace': 'google',\n 'microsoft-entra': 'microsoft',\n okta: 'okta',\n} satisfies Record<Exclude<SsoKnownIdp, 'generic'>, SsoIconNames>;\n\nexport interface SSOButtonProps {\n connection: SSOActiveConnection;\n onStart?: (connection: SSOActiveConnection) => void;\n}\n\nexport const SSOButton = ({ connection, onStart }: SSOButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { iconRegistry, options } = usePresentation();\n\n const { connection_id, display_name, identity_provider } = connection;\n\n const id = getButtonId(`sso-${display_name}`, options);\n\n const onButtonClick = () =>\n stytchClient.sso\n .start({\n connection_id,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n })\n .then(() => {\n onStart?.(connection);\n });\n\n const iconName = iconMap[identity_provider];\n const Icon = iconRegistry[iconName] ?? SSOIcon;\n\n return (\n <Button variant=\"outline\" onClick={onButtonClick} icon={<Icon />} id={id}>\n {t({ id: 'provider.continueWith', message: `Continue with ${display_name}` })}\n </Button>\n );\n};\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlDiscoverySend = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.magicLinks.email.discovery.send',\n (_: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.magicLinks.email.discovery.send({\n email_address: email,\n discovery_redirect_url: config.emailMagicLinksOptions?.discoveryRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n },\n );\n};\n","import { logger } from '@stytch/core';\nimport { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlLoginOrSignup = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string; organization_id: string }>(\n 'stytch.magicLinks.email.loginOrSignup',\n (_: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.magicLinks.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n signup_redirect_url: config.emailMagicLinksOptions?.signupRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n onError: (e) => {\n logger.error(e);\n },\n },\n );\n};\n","import { useEffect, useState } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\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 } = readB2BInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2BInternals(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","import { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../components/organisms/EmailConfirmationView';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const EmailConfirmation = () => {\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n\n const { trigger: sendLoginOrSignupEml, isMutating: isSendingLoginOrSignupEml } = useEmlLoginOrSignup();\n const { trigger: sendDiscoveryEml, isMutating: isSendingDiscoveryEml } = useEmlDiscoverySend();\n\n const email = state.formState.emailState.userSuppliedEmail;\n\n const goBack = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const resend = async () => {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await sendDiscoveryEml({ email });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await sendLoginOrSignupEml({\n email,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const isSubmitting = isSendingLoginOrSignupEml || isSendingDiscoveryEml;\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={goBack}\n resend={resend}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { useGlobalReducer } from '../GlobalContextProvider';\n\nconst UsePasswordButton = ({ email }: { email: string }) => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleUsePassword = () => {\n dispatch({ type: 'use_password_auth', email });\n };\n\n return (\n <Button variant=\"ghost\" onClick={handleUsePassword}>\n {t({ id: 'button.usePassword', message: 'Use a password instead' })}\n </Button>\n );\n};\n\nexport default UsePasswordButton;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { isTruthy } from '../../../utils/isTruthy';\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { ProductId, StytchB2BProduct } from '../StytchB2BProduct';\n\nexport type OauthProviderParams = {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside: boolean | undefined;\n};\n\n// Note that the order of products here is used when displaying fallback auth\n// methods below\nconst productsToAuthMethods: Record<ProductId, string | undefined> = {\n oauth: undefined, // OAuth methods are defined per-provider\n sso: 'sso',\n emailMagicLinks: 'magic_link',\n emailOtp: 'email_otp',\n passwords: 'password',\n};\n\nconst oauthProvidersToAuthMethods: Record<B2BOAuthProviders, string> = {\n [B2BOAuthProviders.Google]: 'google_oauth',\n [B2BOAuthProviders.Microsoft]: 'microsoft_oauth',\n [B2BOAuthProviders.HubSpot]: 'hubspot_oauth',\n [B2BOAuthProviders.Slack]: 'slack_oauth',\n [B2BOAuthProviders.GitHub]: 'github_oauth',\n};\n\nconst authMethodsToProducts: Record<string, ProductId> = Object.fromEntries(\n Object.entries(productsToAuthMethods).map(([product, authMethod]) => [authMethod, product]),\n);\n\nconst oauthMethodsToOauthProviders: Record<string, B2BOAuthProviders> = Object.fromEntries(\n Object.entries(oauthProvidersToAuthMethods).map(([provider, method]) => [\n method,\n provider as keyof typeof oauthProvidersToAuthMethods,\n ]),\n);\n\nconst authMethodToProduct = (authMethod: string): ProductId | undefined => {\n if (authMethod in oauthMethodsToOauthProviders) {\n return 'oauth';\n }\n return authMethodsToProducts[authMethod];\n};\n\nconst allOauthProviders = Object.values(B2BOAuthProviders);\n\nconst flattenConfigToAuthMethods = (products: StytchB2BProduct[], oauthProviders: B2BOAuthProviderConfig[]) =>\n products\n .flatMap((product) => {\n if (product.id === 'oauth') {\n return oauthProviders.map((provider) => {\n const authMethod = oauthProvidersToAuthMethods[typeof provider === 'string' ? provider : provider.type];\n if (authMethod) {\n return authMethod;\n }\n });\n } else {\n const authMethod = productsToAuthMethods[product.id];\n if (authMethod) {\n return authMethod;\n }\n }\n })\n .filter(isTruthy);\n\nconst useOAuthProviderConfigs = () => {\n const config = useConfig();\n return useMemo(() => {\n if (!config.oauthOptions?.providers) {\n return [];\n }\n\n return config.oauthOptions.providers.map(getParamsFromB2BOAuthProviderConfig);\n }, [config.oauthOptions?.providers]);\n};\n\nconst useRestrictedAuthMethods = () => {\n const [state] = useGlobalReducer();\n\n const { primaryAuthMethods } = state.primary;\n const hasPrimaryAuthMethods = !!primaryAuthMethods;\n\n const restrictedAuthMethods = useMemo(() => {\n if (state.primary.primaryAuthMethods) {\n return new Set(state.primary.primaryAuthMethods);\n }\n\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return new Set(state.flowState.organization?.allowed_auth_methods ?? []);\n }\n }, [\n state.flowState.organization?.allowed_auth_methods,\n state.flowState.organization?.auth_methods,\n state.primary.primaryAuthMethods,\n ]);\n\n return { restrictedAuthMethods, hasPrimaryAuthMethods };\n};\n\nexport const useEffectiveAuthConfig = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n\n const { restrictedAuthMethods, hasPrimaryAuthMethods } = useRestrictedAuthMethods();\n\n const oauthProviderConfigs = useOAuthProviderConfigs();\n\n const flattenedConfiguredAuthMethods = useMemo(\n () => flattenConfigToAuthMethods(config.products, oauthProviderConfigs),\n [config.products, oauthProviderConfigs],\n );\n\n const authMethodsToShow = useMemo(() => {\n // If there are no restrictions, use the auth methods from the UI config as-is\n if (!restrictedAuthMethods) {\n return flattenedConfiguredAuthMethods;\n }\n\n // If there are restrictions, filter the auth methods from the UI config\n const restrictedAuthMethodsInUiConfig = flattenedConfiguredAuthMethods.filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n\n // Use the filtered methods unless there are none _and_ the restrictions\n // come from `primary_required` (not just org-level restrictions)\n if (restrictedAuthMethodsInUiConfig.length > 0 || !hasPrimaryAuthMethods) {\n return restrictedAuthMethodsInUiConfig;\n }\n\n // If the org restricts allowed auth methods, show all of the methods\n // included in `primary_required`\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return flattenConfigToAuthMethods(config.organizationProducts, allOauthProviders).filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n }\n\n // If the org doesn't have any auth method restrictions, default to email\n // magic links\n return ['magic_link'];\n }, [\n config.organizationProducts,\n flattenedConfiguredAuthMethods,\n hasPrimaryAuthMethods,\n restrictedAuthMethods,\n state.flowState.organization?.auth_methods,\n ]);\n\n const products = useMemo(() => {\n const productIds = [...new Set(authMethodsToShow.map(authMethodToProduct).filter(isTruthy))];\n return productIds.map((productId) => config.organizationProducts.find((p) => p.id === productId)).filter(isTruthy);\n }, [authMethodsToShow, config.organizationProducts]);\n\n const oauthProviderSettings = useMemo<OauthProviderParams[]>(\n () =>\n authMethodsToShow\n .map((authMethod) => {\n const provider = oauthMethodsToOauthProviders[authMethod];\n if (provider) {\n return (\n oauthProviderConfigs.find((oauthProvider) => oauthProvider.type === provider) ??\n getParamsFromB2BOAuthProviderConfig(provider)\n );\n }\n })\n .filter(isTruthy),\n [authMethodsToShow, oauthProviderConfigs],\n );\n\n return { products, oauthProviderSettings };\n};\n","const DEFAULT_OTP_EXPIRATION_MS = 1000 * 60 * 10; // 10 minutes\n\nexport const getOtpCodeExpiration = () => new Date(Date.now() + DEFAULT_OTP_EXPIRATION_MS);\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpDiscoverySend = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.otps.email.discovery.send',\n (_key: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.otps.email.discovery.send({\n email_address: email,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { B2BOTPsEmailLoginOrSignupResponse, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpLoginOrSignup = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<\n B2BOTPsEmailLoginOrSignupResponse,\n StytchAPIError,\n StytchMutationKey,\n { email: string; organization_id: string }\n >(\n 'stytch.otps.email.loginOrSignup',\n (_key: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.otps.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n signup_template_id: config.emailOtpOptions?.signupTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\nconst useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { isTruthy } from '../../../utils/isTruthy';\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 ErrorText from '../../components/molecules/ErrorText';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { ProductId } from '../StytchB2BProduct';\n\nconst options: Partial<Record<ProductId, { messageDescriptor: MessageDescriptor }>> = {\n emailMagicLinks: {\n messageDescriptor: msg({ id: 'emailMethodSelection.link', message: 'Email me a login link' }),\n },\n emailOtp: {\n messageDescriptor: msg({ id: 'emailMethodSelection.code', message: 'Email me a login code' }),\n },\n};\n\nexport const EmailMethodSelectionScreen = () => {\n const { products } = useEffectiveAuthConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n const {\n trigger: sendDiscoveryEml,\n isMutating: isSendingDiscoveryEml,\n error: sendDiscoveryEmlError,\n reset: resetSendDiscoveryEml,\n } = useEmlDiscoverySend();\n\n const {\n trigger: sendDiscoveryOtp,\n isMutating: isSendingDiscoveryOtp,\n error: sendDiscoveryOtpError,\n reset: resetSendDiscoveryOtp,\n } = useEmailOtpDiscoverySend();\n\n const {\n trigger: sendLoginOrSignupEml,\n isMutating: isSendingLoginOrSignupEml,\n error: sendLoginOrSignupEmlError,\n reset: resetSendLoginOrSignupEml,\n } = useEmlLoginOrSignup();\n\n const {\n trigger: sendLoginOrSignupOtp,\n isMutating: isSendingLoginOrSignupOtp,\n error: sendLoginOrSignupOtpError,\n reset: resetSendLoginOrSignupOtp,\n } = useEmailOtpLoginOrSignup();\n\n const isSending =\n isSendingDiscoveryEml || isSendingDiscoveryOtp || isSendingLoginOrSignupEml || isSendingLoginOrSignupOtp;\n const error =\n sendDiscoveryEmlError || sendDiscoveryOtpError || sendLoginOrSignupEmlError || sendLoginOrSignupOtpError;\n\n const handleChooseMethod = (method: ProductId) => {\n resetSendDiscoveryEml();\n resetSendDiscoveryOtp();\n resetSendLoginOrSignupEml();\n resetSendLoginOrSignupOtp();\n\n switch (method) {\n case 'emailMagicLinks':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryEml({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupEml({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n case 'emailOtp':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryOtp({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupOtp({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n }\n };\n\n const displayOptions = useMemo(\n () =>\n products\n .map((product) => {\n const option = options[product.id];\n if (!option) return;\n\n return {\n option: product.id,\n messageDescriptor: option.messageDescriptor,\n };\n })\n .filter(isTruthy),\n [products],\n );\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'emailMethodSelection.title', message: 'Select how you’d like to continue' })}\n </Typography>\n <ButtonColumn>\n {displayOptions.map(({ option, messageDescriptor }) => (\n <Button\n key={option}\n variant=\"outline\"\n disabled={isSending}\n onClick={() => {\n handleChooseMethod(option);\n }}\n >\n {t(messageDescriptor)}\n </Button>\n ))}\n\n {error && <ErrorText>{getTranslatedError(error, t)}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n AuthFlowType,\n B2BDiscoveryOTPEmailAuthenticateResponse,\n B2BOTPsEmailAuthenticateResponse,\n StytchAPIError,\n} from '@stytch/core/public';\nimport React from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\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 { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { onAuthenticateSuccess, onDiscoveryAuthenticateSuccess, StytchMutationKey, useMutate } from '../utils';\n\nexport const EmailOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const { codeExpiration } = state.formState.otpState;\n const resendCountdown = useCountdown();\n const { userSuppliedEmail } = state.formState.emailState;\n\n const emailOtp = useEmailOtpLoginOrSignup({ throwOnError: true });\n const emailOtpDiscovery = useEmailOtpDiscoverySend({ throwOnError: true });\n\n const isSending = emailOtp.isMutating || emailOtpDiscovery.isMutating;\n const sendError = emailOtp.error || emailOtpDiscovery.error;\n\n const discoveryAuthenticate = useMutate<\n B2BDiscoveryOTPEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; email: string }\n >(\n 'stytch.otps.email.discovery.authenticate',\n (_: string, { arg: { otp, email } }: { arg: { otp: string; email: string } }) =>\n stytchClient.otps.email.discovery.authenticate({\n code: otp,\n email_address: email,\n }),\n {\n onSuccess: (data) => {\n onDiscoveryAuthenticateSuccess(data, dispatch);\n },\n throwOnError: true,\n },\n );\n\n const authenticate = useMutate<\n B2BOTPsEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.email.authenticate',\n (\n _: string,\n {\n arg: { otp, emailAddress, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.email.authenticate({\n code: otp,\n email_address: emailAddress,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: (data) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n throwOnError: true,\n },\n );\n\n const isAuthenticatingAny = discoveryAuthenticate.isMutating || authenticate.isMutating;\n const error = discoveryAuthenticate.error || authenticate.error || sendError;\n const errorMessage = error ? getTranslatedError(error as StytchAPIError, t) : undefined;\n\n const resetAll = () => {\n for (const resp of [emailOtp, emailOtpDiscovery, authenticate, discoveryAuthenticate]) {\n resp.reset();\n }\n };\n\n const handleSubmit = async (otp: string) => {\n resetAll();\n\n try {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await discoveryAuthenticate.trigger({\n otp,\n email: userSuppliedEmail,\n });\n } else if (\n state.flowState.type === AuthFlowType.Organization &&\n state.flowState.organization &&\n state.formState.emailState.userSuppliedEmail\n ) {\n await authenticate.trigger({\n otp,\n emailAddress: state.formState.emailState.userSuppliedEmail,\n organizationId: state.flowState.organization.organization_id,\n sessionDurationMinutes: config.sessionOptions.sessionDurationMinutes,\n });\n }\n } catch {\n resendCountdown.clear();\n }\n };\n\n const handleResendOTP = async () => {\n resetAll();\n\n if (isSending) return;\n\n if (state.flowState.type === AuthFlowType.Discovery) {\n await emailOtpDiscovery.trigger({ email: userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await emailOtp.trigger({\n email: userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticatingAny}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={userSuppliedEmail}\n />\n ) : (\n <LoadingScreen />\n )}\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={handleResendOTP} isSubmitting={isAuthenticatingAny} />\n <Button variant=\"ghost\" onClick={handleBack}>\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 { OrganizationBySlugMatch, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../SubscriptionService';\nimport { getTranslatedError } from '../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { onAuthenticateSuccess } from './utils';\n\nexport const usePasswordInput = () => {\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const { t } = useLingui();\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 const organization = state.flowState.organization;\n\n const submitPassword = (organization_id: string) => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords\n .authenticate({\n email_address: email,\n organization_id: organization_id,\n password: password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordAuthenticate, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const submitDiscoveryPassword = () => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords.discovery\n .authenticate({\n email_address: email,\n password: password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const emailEligibleForJITProvisioning = (\n { email_jit_provisioning, email_allowed_domains }: OrganizationBySlugMatch,\n email: string,\n ) => {\n switch (email_jit_provisioning) {\n case 'ALL_ALLOWED':\n return true;\n case 'NOT_ALLOWED':\n return false;\n case 'RESTRICTED': {\n const emailDomain = email.split('@').pop();\n return emailDomain != null && email_allowed_domains.includes(emailDomain);\n }\n }\n };\n\n const handleNonMemberReset = () => {\n if (!organization) {\n return;\n }\n\n if (!emailEligibleForJITProvisioning(organization, email)) {\n setIsSubmitting(false);\n const organizationName = organization.organization_name;\n setErrorMessage(\n t({\n id: 'error.emailNoAccessToOrg',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin.`,\n }),\n );\n return;\n }\n\n const dataLayer = readB2BInternals(stytch).dataLayer as B2BSubscriptionDataLayer;\n dataLayer.setItem('reset-email-value', email);\n stytch.magicLinks.email\n .loginOrSignup({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n signup_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordResetVerifyConfirmation });\n })\n .catch((err: StytchAPIError) => {\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n setIsSubmitting(false);\n });\n };\n\n return {\n stytch,\n onError,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n };\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\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 EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsAuthenticate = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n } else {\n if (!organization) {\n submitDiscoveryPassword();\n } else {\n submitPassword(organization.organization_id);\n }\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'password.login.title', message: 'Log in with email and password' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} />\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={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n\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 </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (organization) {\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery flow\n submitDiscoveryPassword();\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\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 EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsForgotForm = () => {\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const onEvent = useEventCallback();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n if (organization) {\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (!member) {\n handleNonMemberReset();\n return;\n }\n // Member password flow: call reset password start instead\n stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery password flow: call discovery reset password start instead. This flow doesn't need a member object\n stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({ id: 'password.forgot.title', message: 'Check your email for help signing in' })}\n </Typography>\n <Typography variant=\"body\">\n {!organization\n ? t({\n id: 'password.forgot.content.discovery',\n message:\n \"We'll email you a verification link to sign up for an account or reset your password if you have one.\",\n })\n : t({\n id: 'password.forgot.content.organization',\n message:\n \"We'll email you a login link to sign in to your account directly or reset your password if you have one.\",\n })}\n </Typography>\n\n <EmailInput email={email} setEmail={setEmail} error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\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 { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { emailProviderInfo, EmailProviderLink } from '../../components/molecules/EmailProviderLink';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const PasswordResetConfirmation = () => {\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const email = state.formState.passwordState.email;\n\n const reset = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.verification.title',\n message: 'Verify your email first.',\n })}\n description={\n <Trans\n id=\"password.verification.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n additionalActions={\n <>\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.gmail} />\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.outlook} />\n <Button variant=\"ghost\" onClick={reset}>\n {t({ id: 'button.retry', message: 'Try again' })}\n </Button>\n </>\n }\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 { B2BSubscriptionDataLayer } from '../../../SubscriptionService';\nimport { debounce, noop } from '../../../utils';\nimport { clearStytchTokenParams } from '../../../utils/createAuthUrlHandler';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { onAuthenticateSuccess, useBootstrap as useB2BBootstrap } from '../utils';\n\nexport const PasswordResetForm = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const bootstrap = useB2BBootstrap();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [resetToken, resetTokenType] = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed) return ['', ''];\n return [parsed.token, parsed.tokenType];\n }, [stytchClient]);\n\n const dataLayer = readB2BInternals(stytchClient).dataLayer as B2BSubscriptionDataLayer;\n const email = dataLayer.getItem('reset-email-value');\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((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, valid_password, zxcvbn_feedback, luds_feedback, 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: zxcvbn_feedback.warning,\n passwordSuggestions: zxcvbn_feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: luds_feedback.missing_characters,\n missingComplexity: luds_feedback.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n useEffect(() => {\n if (resetTokenType === 'multi_tenant_magic_links') {\n stytchClient.magicLinks\n .authenticate({\n magic_links_token: resetToken,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then((data) => {\n clearStytchTokenParams();\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n resetTokenType,\n });\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n onError(e);\n });\n return;\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\n if (resetTokenType == 'multi_tenant_passwords') {\n stytchClient.passwords\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmail, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else if (resetTokenType == 'discovery') {\n stytchClient.passwords.discovery\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BDiscoveryPasswordReset, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else {\n stytchClient.passwords\n .resetBySession({ password })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetBySession, data });\n dispatch({ type: 'transition', screen: AppScreens.LoggedIn });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n }\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column gap={6} as=\"form\" onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'password.setNew.title', message: 'Set a new password' })}</Typography>\n\n <Column gap={2}>\n {email ? <EmailInput email={email} setEmail={noop} disabled /> : null}\n\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\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({ id: 'button.continue', message: 'Continue' })}\n </Button>\n </Column>\n </Column>\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 { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordSetNew = () => {\n const [, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const config = useConfig();\n const { t } = useLingui();\n\n const { stytch, onError, email, organization, setIsSubmitting } = usePasswordInput();\n\n const resendResetPassword = () => {\n if (!organization) {\n return stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryResetStart, data });\n });\n } else {\n return stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n })\n .catch((e: Error) => {\n onError(e);\n throw e;\n });\n }\n };\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.reset.emailSent.title', message: 'Check your email' })}\n description={\n <Trans\n id=\"password.reset.emailSent.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={resendResetPassword}\n goBack={() => dispatch({ type: 'transition', screen: AppScreens.Main })}\n />\n );\n};\n","export const assertUnreachable: (_: never) => never = () => {\n throw new Error('Assertion failure');\n};\n","import { B2BOAuthProviders, SSOActiveConnection } from '@stytch/core/public';\n\nimport { OauthProviderParams } from '../hooks/useEffectiveAuthConfig';\n\n// This file contains a combined type to identify OAuth providers and SSO connections,\n// used to help with rendering these buttons and storing the last used method.\n// Extracting the logic for generating the key helps make it more consistent\n\nexport type LastUsedMethod = B2BOAuthProviders | `sso:${string}`;\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\nexport function getSsoMethodKey(method: SSOActiveConnection): LastUsedMethod {\n return `sso:${method.connection_id}`;\n}\n\nexport function extractConnectionId(method: string | null): string | undefined {\n return method?.startsWith('sso:') ? method.slice(4) : undefined;\n}\n\nexport type AuthButton =\n | { type: 'oauth'; provider: OauthProviderParams }\n | { type: 'sso'; connection: SSOActiveConnection }\n | { type: 'sso-discovery' };\n\nexport function getButtonKey(button: AuthButton) {\n if (button.type === 'oauth') {\n return button.provider.type;\n } else if (button.type === 'sso') {\n return getSsoMethodKey(button.connection);\n } else {\n return 'sso-discovery';\n }\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { AuthFlowType, B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport { assertUnreachable } from '../../../utils/assertUnreachable';\nimport Button from '../../components/atoms/Button';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { OauthProviderParams, useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens, ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { AuthButton as AuthButtonType, getButtonKey, getSsoMethodKey } from '../types/authMethodKeys';\nimport { useProductComponents } from '../utils';\n\n// OAuth helper functions\nexport const getCustomScopesForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsCustomScopes: string[] | undefined,\n) => {\n let currentCustomScopes = oauthProvider.customScopes;\n if (Object.keys(currentCustomScopes).length == 0) {\n currentCustomScopes = oauthOptionsCustomScopes as string[];\n }\n return currentCustomScopes;\n};\n\nexport const getProviderParamsForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsProviderParams: Record<string, string> | undefined,\n email: string | undefined,\n) => {\n let currentProviderParams = oauthProvider.providerParams;\n if (Object.keys(currentProviderParams).length == 0) {\n currentProviderParams = oauthOptionsProviderParams ?? {};\n }\n\n if (\n email &&\n (oauthProvider.type === B2BOAuthProviders.Google || oauthProvider.type === B2BOAuthProviders.Microsoft) &&\n !('login_hint' in currentProviderParams)\n ) {\n currentProviderParams = {\n ...currentProviderParams,\n login_hint: email,\n };\n }\n\n return currentProviderParams;\n};\n\nexport const SsoAndOAuthButtons = ({ buttons }: { buttons: ButtonComponent[] }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const { oauthProviderSettings = [] } = useEffectiveAuthConfig();\n const presentation = usePresentation();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n const config = useConfig();\n const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } =\n config.oauthOptions ?? {};\n\n const { B2BGoogleOneTap, OAuthB2BButton, SSOButton } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n // Determine which buttons need to be displayed\n const isDiscoveryFlow = state.flowState.type === AuthFlowType.Discovery;\n const authButtons = buttons.flatMap<AuthButtonType>((button) => {\n if (button === MainScreenComponent.OAuthButtons) {\n return oauthProviderSettings.map((provider) => ({ type: 'oauth', provider }));\n } else if (button === MainScreenComponent.SSOButtons) {\n return isDiscoveryFlow\n ? { type: 'sso-discovery' }\n : (state.flowState.organization?.sso_active_connections?.map((connection) => ({ type: 'sso', connection })) ??\n []);\n } else {\n assertUnreachable(button);\n }\n });\n\n if (authButtons.length === 0) {\n return null;\n }\n\n // Reorder providers based on last used\n const [reorderedButtons, foundLastUsedOAuth] = arrayUtils.moveToFront(\n authButtons,\n (button) => getButtonKey(button) === lastUsedMethod,\n );\n\n // Helper function to create OAuth button component\n const createOAuthButton = (oauthProvider: OauthProviderParams) => {\n const providerProps = {\n customScopes: getCustomScopesForProvider(oauthProvider, customScopes),\n providerParams: getProviderParamsForProvider(oauthProvider, providerParams, state.primary.email),\n };\n\n if (oauthProvider.one_tap) {\n return (\n <B2BGoogleOneTap\n key={oauthProvider.type}\n {...providerProps}\n cancelOnTapOutside={oauthProvider.cancel_on_tap_outside}\n />\n );\n }\n\n return (\n <OAuthB2BButton\n key={oauthProvider.type}\n providerType={oauthProvider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n discoveryRedirectUrl={discoveryRedirectURL}\n onSuccess={() => setLastUsedMethod(oauthProvider.type)}\n {...providerProps}\n />\n );\n };\n\n return (\n <ButtonColumn>\n {reorderedButtons.map((button, index) => {\n const buttonComponent = (() => {\n switch (button.type) {\n case 'oauth':\n return createOAuthButton(button.provider);\n\n case 'sso':\n return (\n <SSOButton\n key={button.connection.display_name}\n connection={button.connection}\n onStart={() => setLastUsedMethod(getSsoMethodKey(button.connection))}\n />\n );\n\n case 'sso-discovery':\n return (\n <Button\n key=\"sso-discovery\"\n variant=\"outline\"\n id={getButtonId('sso-discovery', presentation.options)}\n onClick={() => {\n dispatch({ type: 'transition', screen: AppScreens.SSODiscoveryEmail, history: 'push' });\n }}\n >\n {t({ id: 'provider.continueWithSSO', message: 'Use single sign-on' })}\n </Button>\n );\n\n default:\n assertUnreachable(button);\n }\n })();\n\n return foundLastUsedOAuth && index === 0 ? (\n <LastUsed key={getButtonKey(button)}>{buttonComponent}</LastUsed>\n ) : (\n buttonComponent\n );\n })}\n </ButtonColumn>\n );\n};\n","import { useStytch } from '../GlobalContextProvider';\nimport { useMutate } from '../utils';\n\nexport const useSsoDiscoveryConnection = () => {\n const stytch = useStytch();\n\n return useMutate(\n 'stytch.sso.discoverConnections',\n async (_key, { arg: { emailAddress } }: { arg: { emailAddress: string } }) =>\n await stytch.sso.discoverConnections(emailAddress),\n { throwOnError: true },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport { extractErrorMessage } from '../../../utils/extractErrorMessage';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useSsoDiscoveryConnection } from '../hooks/useSsoDiscoveryConnection';\n\nexport const SSODiscoveryEmail = () => {\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const { t } = useLingui();\n\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(false);\n\n const { trigger } = useSsoDiscoveryConnection();\n\n const stytch = useStytch();\n const { ssoOptions } = useConfig();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n\n const tryGetConnections = async () => {\n try {\n const response = await trigger({ emailAddress: email });\n\n if (!response) {\n return [];\n }\n\n return response.connections;\n } catch (e) {\n setError(\n extractErrorMessage(\n e,\n t({\n id: 'ssoDiscovery.email.error.unknown',\n message: 'Something went wrong. Try again later or contact your admin for help.',\n }),\n ),\n );\n }\n };\n\n try {\n setIsLoading(true);\n\n const connections = await tryGetConnections();\n\n if (connections?.length === 1) {\n const [connection] = connections;\n await stytch.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n\n // We intentionally leave `isLoading` set to `true` since we're expecting\n // the user to be redirected\n return;\n }\n\n setIsLoading(false);\n\n if (connections) {\n dispatch({ type: 'set_sso_discovery_state', connections });\n }\n } catch (e) {\n setIsLoading(false);\n throw e;\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.email.title', message: 'Enter your email to continue' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} hideLabel error={error} />\n\n <Button variant=\"primary\" loading={isLoading} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useMutate } from '../utils';\n\nexport const SSODiscoveryFallback = () => {\n const [, dispatch] = useGlobalReducer();\n const [slug, setSlug] = useState('');\n const [error, setError] = useState<string>();\n const [isSubmitting, setIsSubmitting] = useState(false);\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { t } = useLingui();\n\n const { trigger: lookupOrganization } = useMutate(\n 'stytch.organization.getBySlug',\n async (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onError: () => {\n setError(t({ id: 'ssoDiscovery.fallback.error.unknown', message: 'An error occurred. Please try again.' }));\n setIsSubmitting(false);\n },\n },\n );\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n setIsSubmitting(true);\n\n const result = await lookupOrganization({ slug });\n if (result) {\n const { organization } = result;\n if (organization === null) {\n setError(\n t({ id: 'ssoDiscovery.fallback.error.orgNotFound', message: 'Organization not found. Please try again.' }),\n );\n setIsSubmitting(false);\n } else if (organization.sso_active_connections.length === 1) {\n const [connection] = organization.sso_active_connections;\n await stytchClient.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization,\n });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n }\n }\n };\n\n const handleTryAnotherMethod = () => {\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.fallback.title', message: \"Sorry, we couldn't find any connections\" })}\n </Typography>\n <Typography>\n {t({\n id: 'ssoDiscovery.fallback.content',\n message:\n \"Please input the Organization's unique slug to continue. If you don't know the unique slug, log in through another method to view all of your available Organizations.\",\n })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <Input\n id=\"organization-slug\"\n hideLabel\n label={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n value={slug}\n onChange={(e) => setSlug(e.target.value)}\n placeholder={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n error={error}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!slug || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={handleTryAnotherMethod}>\n {t({ id: 'ssoDiscovery.fallback.button.reset', message: 'Try another method' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { SSOButton } from '../components/SSOButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { extractConnectionId, getSsoMethodKey } from '../types/authMethodKeys';\n\nconst SSOButtons = ({ availableConnections }: { availableConnections: SSOActiveConnection[] }) => {\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n const lastUsedSso = extractConnectionId(lastUsedMethod);\n\n const [connections, foundLastUsed] = arrayUtils.moveToFront(\n availableConnections,\n (connection) => connection.connection_id === lastUsedSso,\n );\n\n return (\n <Column gap={2}>\n {connections.map((provider, index) => {\n const button = (\n <SSOButton\n key={provider.display_name}\n connection={provider}\n onStart={(connection) => setLastUsedMethod(getSsoMethodKey(connection))}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </Column>\n );\n};\n\nexport const SSODiscoveryMenu = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.title', message: 'Select a connection to continue' })}\n </Typography>\n\n <Column gap={4}>\n <SSOButtons availableConnections={state.formState.ssoDiscoveryState.connections} />\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","'use client';\n\nimport React from 'react';\n\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { emailIcons, oauthIcons, ssoIcons } from './components/Icons';\nimport { OAuthB2BButton } from './components/OAuthB2BButton';\nimport { SSOButton } from './components/SSOButton';\nimport { EmailConfirmation } from './screens/EmailConfirmation';\nimport { EmailDiscoveryForm, EmailForm } from './screens/EmailForm';\nimport { EmailMethodSelectionScreen } from './screens/EmailMethodSelectionScreen';\nimport { EmailOTPEntryScreen } from './screens/EmailOTPEntryScreen';\nimport { PasswordsAuthenticate } from './screens/PasswordAuthenticate';\nimport { PasswordsEmailForm } from './screens/PasswordEmailForm';\nimport { PasswordsForgotForm } from './screens/PasswordForgotForm';\nimport { PasswordResetConfirmation } from './screens/PasswordResetConfirmation';\nimport { PasswordResetForm } from './screens/PasswordResetForm';\nimport { PasswordSetNew } from './screens/PasswordSetNew';\nimport { SsoAndOAuthButtons } from './screens/SsoAndOAuthButtons';\nimport { SSODiscoveryEmail } from './screens/SSODiscoveryEmail';\nimport { SSODiscoveryFallback } from './screens/SSODiscoveryFallback';\nimport { SSODiscoveryMenu } from './screens/SSODiscoveryMenu';\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens, MainScreenComponent } from './types/AppScreens';\n\nconst EmailFormWithoutPassword = () => <EmailForm showPasswordButton={false} />;\nconst EmailFormWithPassword = () => <EmailForm showPasswordButton />;\nconst EmailDiscoveryFormWithoutPassword = () => <EmailDiscoveryForm showPasswordButton={false} />;\nconst EmailDiscoveryFormWithPassword = () => <EmailDiscoveryForm showPasswordButton />;\n\nexport const emailMagicLinks: StytchB2BProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const emailOtp: StytchB2BProduct = {\n id: 'emailOtp',\n screens: {\n [AppScreens.EmailOTPEntry]: EmailOTPEntryScreen,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const sso: StytchB2BProduct = {\n id: 'sso',\n screens: {\n [AppScreens.SSODiscoveryEmail]: SSODiscoveryEmail,\n [AppScreens.SSODiscoveryMenu]: SSODiscoveryMenu,\n [AppScreens.SSODiscoveryFallback]: SSODiscoveryFallback,\n },\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n SSOButton,\n },\n icons: ssoIcons,\n};\n\nexport const passwords: StytchB2BProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordEmailForm]: PasswordsEmailForm,\n [AppScreens.PasswordAuthenticate]: PasswordsAuthenticate,\n [AppScreens.PasswordForgotForm]: PasswordsForgotForm,\n [AppScreens.PasswordSetNewConfirmation]: PasswordSetNew,\n [AppScreens.PasswordResetForm]: PasswordResetForm,\n [AppScreens.PasswordResetVerifyConfirmation]: PasswordResetConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.PasswordsEmailForm]: PasswordsEmailForm,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchB2BProduct = {\n id: 'oauth',\n screens: {},\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n B2BGoogleOneTap,\n OAuthB2BButton,\n },\n icons: oauthIcons,\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 ConfirmationScreen = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Organization } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../components/atoms/Button';\nimport VerticalTransition, { hoverTriggerClass } from '../../components/atoms/VerticalTransition';\nimport { Badge } from '../../components/molecules/Badge';\nimport styles from './OrganizationRow.module.css';\n\nexport type OrganizationRowProps = {\n organization: Organization;\n action?: string;\n onClick: () => void;\n};\n\nconst Arrow = () => (\n <svg\n className={styles.arrow}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.707 10L10.3535 14.3545L9.64648 13.6475L12.793 10.5H6V9.5H12.793L9.64648 6.35352L10.3535 5.64648L14.707 10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst OrganizationRow = ({ organization, action, onClick }: OrganizationRowProps) => {\n const { organization_name, organization_logo_url } = organization;\n\n const logo = organization_logo_url ? (\n <img className={styles.logo} src={organization_logo_url} alt=\"\" />\n ) : (\n <div className={styles.logo} role=\"presentation\">\n {\n // The Array.from() accounts for two byte Unicode characters\n Array.from(organization_name)[0]\n }\n </div>\n );\n\n return (\n <button\n className={classNames(\n styles.organizationRow,\n hoverTriggerClass,\n buttonClassNames({\n variant: 'outline',\n // Not a block even though it looks like it to avoid the inheriting the centering style\n }),\n )}\n onClick={onClick}\n >\n <div className={styles.left}>\n {logo}\n <div className={styles.nameText}>{organization_name}</div>\n </div>\n\n <VerticalTransition\n trigger=\"hover\"\n rootClassName={styles.right}\n className={styles.rightContent}\n primary={action && <Badge>{action}</Badge>}\n secondary={<Arrow />}\n />\n </button>\n );\n};\n\nexport default OrganizationRow;\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BDiscoveryIntermediateSessionsExchangeResponse,\n B2BDiscoveryOrganizationsCreateResponse,\n DirectLoginForSingleMembershipConfig,\n DiscoveredOrganization,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useCallback, useEffect } 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 { LoadingScreen, LoggingInScreen } from '../../components/molecules/Loading';\nimport OrganizationRow from '../components/OrganizationRow';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { ErrorType } from '../types/ErrorType';\nimport { onAuthenticateSuccess, StytchMutationKey, useBootstrap, useMutate } from '../utils';\n\nconst isJoinViaJitType = (type: DiscoveredOrganization['membership']['type']) =>\n type === 'eligible_to_join_by_email_domain' || type === 'eligible_to_join_by_oauth_tenant';\n\nconst DiscoverNoOrganizations = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { createOrganizationEnabled } = useBootstrap();\n const { t } = useLingui();\n const goBack = () => dispatch({ type: 'transition', screen: AppScreens.Main });\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const shouldAutomaticallyCreateOrganization =\n createOrganizationEnabled && config.directCreateOrganizationForNoMembership;\n\n useEffect(() => {\n if (shouldAutomaticallyCreateOrganization) {\n stytchCreateOrganization();\n }\n }, [shouldAutomaticallyCreateOrganization, stytchCreateOrganization]);\n\n if (shouldAutomaticallyCreateOrganization || isCreateLoading) {\n return <LoadingScreen />;\n }\n\n const email = state.formState.discoveryState.email;\n\n if (createOrganizationEnabled && !config.disableCreateOrganization) {\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.noOrgs.create.title', message: 'Create an organization to get started' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.create.content',\n message: `${email} does not have an account. Think this is a mistake? Try a different email address, or contact your admin.`,\n })}\n </Typography>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n <Button variant=\"ghost\" onClick={goBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n }\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'organizationDiscovery.noOrgs.title',\n message: `${email} does not belong to any organizations.`,\n })}\n </Typography>\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.content',\n message: 'Make sure your email address is correct. Otherwise, you might need to be invited by your admin.',\n })}\n </Typography>\n <Button variant=\"outline\" onClick={goBack}>\n {t({ id: 'button.tryDifferentEmailAddress', message: 'Try a different email address' })}\n </Button>\n </Column>\n );\n};\n\nconst shouldAllowDirectLoginToOrganization = (\n organizations: DiscoveredOrganization[],\n config?: DirectLoginForSingleMembershipConfig,\n): DiscoveredOrganization | null => {\n // If direct login is not enabled, return false\n if (!config?.status) {\n return null;\n }\n\n // Count active memberships\n const activeOrganizations = organizations.filter((org) => org.membership.type === 'active_member');\n\n // Check for pending invites or JIT provisioning, depending on config\n const hasBlockingConditions = organizations.some(\n (org) =>\n ((org.membership.type === 'pending_member' || org.membership.type === 'invited_member') &&\n !config.ignoreInvites) ||\n (isJoinViaJitType(org.membership.type) && !config.ignoreJitProvisioning),\n );\n\n // Allow direct login if there is exactly one active membership and no blocking conditions\n return activeOrganizations.length === 1 && !hasBlockingConditions ? activeOrganizations[0] : null;\n};\n\nexport const Discovery = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n const shouldDirectLoginConfigEnabled = !!config.directLoginForSingleMembership?.status;\n const { createOrganizationEnabled } = useBootstrap();\n\n useEffect(() => {\n if (isExchangeInProgress) {\n // If there is already an exchange in progress, don't do anything\n return;\n }\n\n const directLoginOrganization = shouldAllowDirectLoginToOrganization(\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n );\n\n if (shouldDirectLoginConfigEnabled && directLoginOrganization !== null) {\n handleDiscoveryOrganizationStart(directLoginOrganization);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [\n shouldDirectLoginConfigEnabled,\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n ]);\n\n const handleDiscoveryOrganizationStart = (discoveredOrganization: DiscoveredOrganization) => {\n const organization = discoveredOrganization.organization;\n\n if (discoveredOrganization.primary_required) {\n const allowedAuthMethods = discoveredOrganization.primary_required.allowed_auth_methods;\n if (\n allowedAuthMethods &&\n allowedAuthMethods.length === 1 &&\n allowedAuthMethods[0] === 'sso' &&\n organization.sso_default_connection_id\n ) {\n startSso(organization.sso_default_connection_id);\n } else {\n dispatch({\n type: 'select_discovered_organization',\n discoveredOrganization,\n });\n }\n } else {\n stytchDiscoveryExchange({ organizationId: organization.organization_id });\n }\n };\n\n const startSso = useCallback(\n (connectionId: string) => {\n stytchClient.sso.start({\n connection_id: connectionId,\n login_redirect_url: config.ssoOptions?.loginRedirectURL,\n signup_redirect_url: config.ssoOptions?.signupRedirectURL,\n });\n },\n [stytchClient, config.ssoOptions],\n );\n\n const { trigger: stytchDiscoveryExchange, isMutating: isExchangeInProgress } = useMutate<\n B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey,\n { organizationId: string }\n >(\n `stytch.discovery.intermediateSessions.exchange`,\n (_: string, { arg: { organizationId } }: { arg: { organizationId: string } }) =>\n stytchClient.discovery.intermediateSessions.exchange({\n organization_id: organizationId,\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n if (isExchangeInProgress) {\n return <LoggingInScreen />;\n }\n\n if (isCreateLoading) {\n return <LoadingScreen />;\n }\n\n if (state.formState.discoveryState.discoveredOrganizations.length === 0) {\n return <DiscoverNoOrganizations />;\n }\n\n const organizationButtons = state.formState.discoveryState.discoveredOrganizations.map((discoveredOrganization) => {\n const { organization, membership } = discoveredOrganization;\n\n let action: string | undefined;\n if (isJoinViaJitType(membership.type) || membership.type === 'pending_member')\n action = t({ id: 'organizationDiscovery.join', message: 'Join' });\n else if (membership.type === 'invited_member')\n action = t({ id: 'organizationDiscovery.acceptInvite', message: 'Accept Invite' });\n\n return (\n <OrganizationRow\n organization={organization}\n action={action}\n onClick={() => handleDiscoveryOrganizationStart(discoveredOrganization)}\n ></OrganizationRow>\n );\n });\n\n const createOrganizationButton =\n createOrganizationEnabled && !config.disableCreateOrganization ? (\n <Button variant=\"outline\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n ) : null;\n\n const goBackButton = (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.title', message: 'Select an organization to continue' })}\n </Typography>\n\n {createOrganizationButton ? (\n // Display with divider if the Create Organization Button can be shown,\n // otherwise just show everything together\n <ButtonColumn\n top={organizationButtons}\n bottom={\n <>\n {createOrganizationButton}\n {goBackButton}\n </>\n }\n />\n ) : (\n <Column gap={4}>\n <ButtonColumn>{organizationButtons}</ButtonColumn>\n {goBackButton}\n </Column>\n )}\n </Column>\n );\n};\n","import { AuthFlowType } from '@stytch/core/public';\n\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { ButtonComponent, MainScreenComponent } from './types/AppScreens';\nimport { FlowState } from './types/AppState';\n\nexport const isButtonsComponent = (component: MainScreenComponent): component is ButtonComponent =>\n component === MainScreenComponent.OAuthButtons || component === MainScreenComponent.SSOButtons;\n\n/*\n Here we are generating the ordering and which components will be displayed.\n We use the MainScreenComponent enum this because there is some complex logic here, and\n we want to be able to unit test.\n\n Rules we want to follow when generating the components:\n 1. If we're displaying both an email-based method (email magic links and/or email OTPs) and passwords,\n we need to display them together as a single wrapped component. The index of this wrapped component is\n equivalent to the first index of either email-based method or passwords in the config products list.\n 2. If we have both buttons and input, we want to display a divider between the last 2 elements.\n 3. Some components have both a discovery and a non-discovery version. We want to display the correct version\n based on the flow type (found in state).\n 4. We want to display the components in the order that they are listed in the config.\n\n This function should be considered the source of truth for which components to render\n and what order to render them in as of 6/21/23.\n*/\nexport const generateProductComponentsOrdering = (\n products: StytchB2BProduct[],\n flowState: FlowState,\n): MainScreenComponent[][] => {\n const flowStateType = flowState.type;\n const productsSet = new Set(products.map((p) => p.id));\n const displayEmailAndPasswordsTogether =\n (productsSet.has('emailMagicLinks') || productsSet.has('emailOtp')) && productsSet.has('passwords');\n const emailPasswordCombinedComponent =\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.PasswordEmailCombined\n : MainScreenComponent.PasswordEmailCombinedDiscovery;\n\n const productComponentsSet = products.reduce((components, product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n case 'emailOtp':\n if (displayEmailAndPasswordsTogether) {\n components.add(emailPasswordCombinedComponent);\n } else {\n components.add(\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.EmailForm\n : MainScreenComponent.EmailDiscoveryForm,\n );\n }\n break;\n case 'oauth':\n components.add(MainScreenComponent.OAuthButtons);\n break;\n case 'sso': {\n const isSsoValid =\n flowStateType === AuthFlowType.Discovery ||\n (flowStateType === AuthFlowType.Organization &&\n (flowState.organization?.sso_active_connections?.length ?? 0) > 0);\n if (isSsoValid) {\n components.add(MainScreenComponent.SSOButtons);\n }\n break;\n }\n case 'passwords':\n components.add(\n displayEmailAndPasswordsTogether ? emailPasswordCombinedComponent : MainScreenComponent.PasswordsEmailForm,\n );\n break;\n }\n return components;\n }, new Set<MainScreenComponent>());\n\n return Array.from(productComponentsSet).reduce<MainScreenComponent[][]>((groups, component, i, arr) => {\n const prevComponent = i > 0 ? arr[i - 1] : undefined;\n\n // Group consecutive components with buttons\n const shouldJoinPreviousGroup = prevComponent && isButtonsComponent(component) && isButtonsComponent(prevComponent);\n\n if (shouldJoinPreviousGroup) {\n groups[groups.length - 1].push(component);\n } else {\n // If the previous group was a different type than this group, prepend a divider\n const prevGroup = groups.length > 0 ? groups[groups.length - 1] : undefined;\n if (prevGroup && isButtonsComponent(prevGroup[0]) !== isButtonsComponent(component)) {\n groups.push([MainScreenComponent.Divider]);\n }\n\n groups.push([component]);\n }\n return groups;\n }, []);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Divider from '../../components/molecules/Divider';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { generateProductComponentsOrdering, isButtonsComponent } from '../generateProductComponentsOrdering';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { useProductComponents } from '../utils';\n\nfunction isButtonGroup(group: MainScreenComponent[]): group is ButtonComponent[] {\n return group.every(isButtonsComponent);\n}\n\nexport const MainScreen = () => {\n const { options } = usePresentation();\n const [state] = useGlobalReducer();\n const { t } = useLingui();\n\n const { primaryAuthMethods, email, emailVerified } = state.primary;\n\n const config = useConfig();\n const { products } = useEffectiveAuthConfig();\n\n const isLoading = state.flowState.type === AuthFlowType.Organization && !state.flowState.organization;\n\n // Generate ordering and types of product components\n const productComponentsOrdering = generateProductComponentsOrdering(products, state.flowState);\n const mainScreenComponents = useProductComponents(config, 'mainScreen')!;\n const { SsoAndOAuthButtons } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n const organizationName = state.flowState.organization?.organization_name;\n let title: string;\n switch (state.flowState.type) {\n case AuthFlowType.Discovery:\n title = t({ id: 'login.title', message: 'Sign up or log in' });\n break;\n case AuthFlowType.PasswordReset:\n title = '';\n break;\n default:\n title = organizationName\n ? t({\n id: 'organizationLogin.title',\n message: `Continue to ${organizationName}`,\n })\n : t({\n id: 'organizationLogin.titleUnknown',\n message: 'Continue to ...',\n comment: 'Used instead of organizationLogin.title when the organization name is not available',\n });\n break;\n }\n\n // Show a targeted message if the member has an unverified email address and\n // additional primary auth is required\n const showVerifyEmailCopy = email && emailVerified === false && primaryAuthMethods;\n\n if (isLoading) {\n return <LoadingScreen />;\n }\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText &&\n (showVerifyEmailCopy ? (\n <>\n <Typography variant=\"header\">\n {t({ id: 'emailVerification.title', message: 'Verify your email' })}\n </Typography>\n\n <Typography>\n {t({\n id: 'emailVerification.content',\n message: 'Confirm your email address with one of the following:',\n })}\n </Typography>\n </>\n ) : (\n title && (\n <Typography variant=\"header\" align=\"center\">\n {title}\n </Typography>\n )\n ))}\n\n <Column gap={4}>\n {productComponentsOrdering.map((group) =>\n isButtonGroup(group) ? (\n <SsoAndOAuthButtons key=\"buttons\" buttons={group} />\n ) : (\n group.map((component, index) => {\n const Component = mainScreenComponents[component];\n if (Component) {\n return <Component key={component} />;\n }\n if (component === MainScreenComponent.Divider) {\n return <Divider key={'divider' + index} />;\n }\n return null;\n })\n ),\n )}\n </Column>\n </Column>\n );\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 { B2BMFAProducts } from '@stytch/core/public';\nimport React, { useMemo } 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 { getEnabledMethods } from '../getEnabledMethods';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { B2B_MFA_METHODS } from '../reducer/mfa';\nimport { AppScreens } from '../types/AppScreens';\n\nconst mfaOptions: Record<\n StringLiteralFromEnum<B2BMFAProducts>,\n {\n messageDescriptor: MessageDescriptor;\n screen: AppScreens;\n }\n> = {\n [B2BMFAProducts.totp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.totp', message: 'Use an authenticator app' }),\n screen: AppScreens.TOTPEnrollmentQRCode,\n },\n [B2BMFAProducts.smsOtp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.sms', message: 'Text me a code' }),\n screen: AppScreens.SMSOTPEnrollment,\n },\n};\n\nexport const MFAEnrollmentSelectionScreen = () => {\n const { t } = useLingui();\n const { mfaProductInclude, mfaProductOrder } = useConfig();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const handleNavigate = (screen: AppScreens) => {\n dispatch({\n type: 'transition',\n screen,\n history: 'push',\n });\n };\n\n const displayOptions = useMemo(() => {\n const optionsToDisplay = getEnabledMethods({\n allMethods: B2B_MFA_METHODS,\n orgSupportedMethods: organizationMfaOptionsSupported,\n uiIncludedMethods: mfaProductInclude,\n });\n\n const result: StringLiteralFromEnum<B2BMFAProducts>[] = [];\n for (const option of mfaProductOrder ?? B2B_MFA_METHODS) {\n if (optionsToDisplay.has(option)) {\n result.push(option);\n optionsToDisplay.delete(option);\n }\n }\n\n result.push(...optionsToDisplay);\n return result;\n }, [mfaProductInclude, mfaProductOrder, organizationMfaOptionsSupported]);\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'mfa.enrollment.title', message: 'Set up Multi-Factor Authentication' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.enrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <ButtonColumn>\n {displayOptions.map((option) => {\n const { messageDescriptor, screen } = mfaOptions[option];\n return (\n <Button key={option} variant=\"outline\" onClick={() => handleNavigate(screen)}>\n {t(messageDescriptor)}\n </Button>\n );\n })}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { RecoveryCodeRecoverResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { FormEvent, useState } 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 Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './RecoveryCodeEntryScreen.module.css';\n\nexport const RecoveryCodeEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error,\n } = useMutate<\n RecoveryCodeRecoverResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.recoveryCodes.recover',\n (\n _: string,\n {\n arg: { recoveryCode, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.recoveryCodes.recover({\n recovery_code: recoveryCode,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n throwOnError: false,\n onSuccess: () => {\n dispatch({ type: 'recovery_code/authenticate_success' });\n },\n },\n );\n\n const [recoveryCode, setRecoveryCode] = useState('');\n const errorMessage = error\n ? t({ id: 'recoveryCodes.entry.error.invalidCode', message: 'Invalid backup code, please try again.' })\n : undefined;\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n authenticate({ recoveryCode, memberId, organizationId, sessionDurationMinutes });\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'recoveryCodes.entry.title', message: 'Enter backup code' })}</Typography>\n <Typography variant=\"body\">\n {t({\n id: 'recoveryCodes.entry.content',\n message: 'Enter one of the backup codes you saved when setting up your authenticator app.',\n })}\n </Typography>\n\n <Input\n id=\"recovery-code\"\n className={styles.input}\n value={recoveryCode}\n onChange={(e) => {\n setRecoveryCode(e.target.value);\n }}\n placeholder={t({ id: 'formField.backupCode.placeholder', message: 'Enter backup code' })}\n label={t({ id: 'formField.backupCode.ariaLabel', message: 'Backup code' })}\n hideLabel\n required\n autoComplete=\"off\"\n spellCheck={false}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!recoveryCode || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import classNames from 'classnames';\nimport React, { HTMLAttributes } from 'react';\n\nimport styles from './CodeContainer.module.css';\n\nexport type CodeContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst CodeContainer: React.FC<CodeContainerProps> = ({ children, className, ...props }) => (\n <div className={classNames(className, styles.container)} {...props}>\n {children}\n </div>\n);\n\nexport default CodeContainer;\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useMemo } from 'react';\n\nimport Button, { ButtonAnchor } from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport styles from './RecoveryCodeSaveScreen.module.css';\n\nexport const RecoveryCodeSaveScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n // This screen should only be shown if TOTP enrollment is available\n const { recoveryCodes } = state.mfa.totp.enrollment!;\n\n const handleContinue = () => {\n dispatch({ type: 'recovery_code/save_acknowledge' });\n };\n\n const fileContent = useMemo(() => {\n const newline = navigator.platform === 'Win32' ? '\\r\\n' : '\\n';\n const blob = new Blob([recoveryCodes.join(newline)], { type: 'text/plain' });\n return URL.createObjectURL(blob);\n }, [recoveryCodes]);\n\n const organizationName = state.flowState.organization?.organization_name;\n const filename = organizationName\n ? t({ id: 'recoveryCodes.filename.withOrganizationName', message: `${organizationName}-backup-codes` })\n : t({\n id: 'recoveryCodes.filename.noOrganizationName',\n message: 'backup-codes',\n });\n\n const [copied, setCopied] = useTimedBoolean(3);\n const handleCodesCopy = async () => {\n try {\n await navigator.clipboard.writeText(recoveryCodes.join('\\n'));\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'recoveryCodes.save.toast.copyFailed', message: \"Couldn't copy codes to clipboard\" }),\n });\n }\n };\n\n const maxCodeLength = Math.max(...recoveryCodes.map((code) => code.length));\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'recoveryCodes.save.title', message: 'Save your backup codes!' })}\n body={t({\n id: 'recoveryCodes.save.content',\n message: 'This is the only time you will be able to access and save your backup codes.',\n })}\n />\n\n <CodeContainer>\n <Typography font=\"mono\">\n <ul className={styles.codes} style={{ '--st-max-code-length': maxCodeLength + 'ch' } as CSSProperties}>\n {recoveryCodes.map((code, i) => (\n <li key={i}>{code}</li>\n ))}\n </ul>\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n {/* eslint-disable-next-line lingui/no-unlocalized-strings */}\n <ButtonAnchor variant=\"primary\" href={fileContent} download={filename + '.txt'}>\n <VerticalTransition\n primary={t({ id: 'recoveryCodes.save.button.download', message: 'Download .txt file' })}\n secondary={t({ id: 'recoveryCodes.save.button.copied', message: 'Copied!' })}\n triggered={copied}\n />\n </ButtonAnchor>\n <Button variant=\"outline\" onClick={handleCodesCopy}>\n {t({ id: 'recoveryCodes.save.button.copyAll', message: 'Copy all to clipboard' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleContinue}>\n {t({ id: 'recoveryCodes.save.button.done', message: 'Done' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { COUNTRIES_LIST, CountryCode } from '@stytch/core';\nimport { B2BSMSSendResponse, StytchAPIError, StytchSDKError } from '@stytch/core/public';\nimport React, { FormEvent } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\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 PhoneInput, { getPhoneNumberProps } from '../../components/molecules/PhoneInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { canGoBack } from '../reducer/navigation';\nimport { StytchMutationKey, useMutate } from '../utils';\n\n// eslint-disable-next-line lingui/no-unlocalized-strings\nconst DEFAULT_COUNTRY_CODE = 'US' satisfies CountryCode;\n\n/**\n * Thrown when the user provides a phone number that cannot be parsed.\n */\nclass InvalidPhoneNumberError extends StytchSDKError {\n constructor() {\n // eslint-disable-next-line lingui/no-unlocalized-strings\n super('InvalidPhoneNumberError', 'Invalid phone number');\n }\n}\n\nexport const SMSOTPEnrollScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const { smsOtpOptions } = useConfig();\n const {\n mfa: {\n smsOtp: { isSending, sendError, enrolledNumber },\n },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const [countryCode, setCountryCode] = React.useState<CountryCode>(\n enrolledNumber?.countryCode ?? DEFAULT_COUNTRY_CODE,\n );\n const [phoneNumber, setPhoneNumber] = React.useState(enrolledNumber?.phoneNumber ?? '');\n\n const errorMessage = React.useMemo(() => {\n if (!sendError) return undefined;\n\n if (sendError instanceof InvalidPhoneNumberError) {\n return 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 return getTranslatedError(sendError as StytchAPIError, t);\n }, [sendError, t]);\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2BInternals(stytchClient).clientsideServices);\n\n const { trigger: sendSms } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { parsedNumber: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n async (_: string, { arg: { parsedNumber, locale } }: { arg: { parsedNumber: string; locale?: string } }) => {\n return stytchClient.otps.sms.send({\n mfa_phone_number: parsedNumber,\n member_id: memberId,\n organization_id: organizationId,\n locale: locale,\n });\n },\n {\n onSuccess: (response) => {\n dispatch({\n type: 'sms_otp/send_success',\n response,\n countryCode,\n phoneNumber,\n formattedPhoneNumber: `+${COUNTRIES_LIST[countryCode]} ${phoneNumber}`,\n });\n },\n onError: (error) => {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n },\n },\n );\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n\n dispatch({ type: 'sms_otp/send' });\n try {\n // We parse the phone number here (rather than inside `sendSms`) because we\n // don't want validation errors to be surfaced through the global error\n // callback\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country: countryCode,\n });\n\n if (!parsedNumber.isValid) {\n throw new InvalidPhoneNumberError();\n }\n\n await sendSms({ parsedNumber: parsedNumber.number, locale: smsOtpOptions?.locale });\n } catch (error) {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({\n id: 'mfa.smsEnrollment.title',\n message: 'Enter your phone number to set up Multi-Factor Authentication',\n })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.smsEnrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <PhoneInput\n country={countryCode}\n setCountry={setCountryCode}\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSending} type=\"submit\" disabled={!phoneNumber || isSending}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n {canGoBack(state) && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\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 {\n B2BMFAProducts,\n B2BSMSAuthenticateResponse,\n B2BSMSSendResponse,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { errorToast } from '../../components/atoms/Toast';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const SMSOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n smsOtpOptions,\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling, smsOtp, primaryInfo },\n } = state;\n\n const { codeExpiration, formattedDestination } = smsOtp;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, memberPhoneNumber, organizationId, organizationMfaOptionsSupported } =\n primaryInfo!;\n\n const resendCountdown = useCountdown();\n\n const {\n trigger: sendSms,\n isMutating: isSending,\n error: sendError,\n } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n (\n _: string,\n {\n arg: { memberId, organizationId, locale },\n }: { arg: { memberId: string; organizationId: string; locale?: string } },\n ) => {\n dispatch({ type: 'sms_otp/send' });\n return stytchClient.otps.sms.send({ member_id: memberId, organization_id: organizationId, locale });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'sms_otp/send_success', response });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'sms_otp/send_error', error: message });\n },\n // Throw on error to ensure promise is rejected\n throwOnError: true,\n },\n );\n\n const {\n trigger: authenticate,\n isMutating: isAuthenticating,\n error: authenticateError,\n } = useMutate<\n B2BSMSAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.sms.authenticate',\n (\n _: string,\n {\n arg: { otp, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.sms.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'sms_otp/authenticate_success' });\n },\n onError: () => {\n resendCountdown.clear();\n },\n },\n );\n\n const shouldCreate = codeExpiration === null && !isSending && !sendError;\n useEffect(() => {\n if (shouldCreate) {\n sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale }).catch(() => {\n // error in the UI is handled through the error object so we just swallow it here when auto-sending\n });\n }\n }, [memberId, organizationId, sendSms, shouldCreate, smsOtpOptions?.locale]);\n\n useEffect(() => {\n if (!formattedDestination && memberPhoneNumber) {\n const handleFormatNumber = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2BInternals(stytchClient).clientsideServices.parsedPhoneNumber({\n phoneNumber,\n });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: memberPhoneNumber,\n });\n\n dispatch({\n type: 'sms_otp/format_destination',\n formattedPhoneNumber: national,\n });\n };\n\n handleFormatNumber();\n }\n }, [dispatch, formattedDestination, stytchClient, memberPhoneNumber]);\n\n const isTotpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.totp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.totp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n\n // The user can go back to change their phone number if either:\n // - we are in an enrollment flow\n // - they are not enrolled in any MFA methods at all\n // - they are not enrolled in any of the limited MFA methods supported by the organization\n const canGoBack = useMemo(\n () =>\n isEnrolling ||\n enrolledMfaMethods.length === 0 ||\n (organizationMfaOptionsSupported.length > 0 &&\n !enrolledMfaMethods.some((enrolledMethod) => organizationMfaOptionsSupported.includes(enrolledMethod))),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const handleSubmit = (otp: string) => {\n authenticate({ otp, memberId, organizationId, sessionDurationMinutes });\n };\n\n const handleSwitchToTotp = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleResendOTP = async () => {\n await sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n const resendButton = (\n <ResendOTPButton countdown={resendCountdown} isSubmitting={isAuthenticating} resendOTP={handleResendOTP} />\n );\n const switchToTotpButton = isTotpAvailable && (\n <Button variant=\"ghost\" onClick={handleSwitchToTotp}>\n {t({ id: 'mfa.methods.authenticatorApp', message: 'Use an authenticator app' })}\n </Button>\n );\n const backButton = canGoBack && (\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticating}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={formattedDestination ?? memberPhoneNumber ?? ''}\n />\n ) : (\n <LoadingScreen />\n )}\n\n {switchToTotpButton && backButton ? (\n <ButtonColumn\n top={resendButton}\n bottom={\n <>\n {switchToTotpButton}\n {backButton}\n </>\n }\n />\n ) : (\n <ButtonColumn>\n {resendButton}\n {switchToTotpButton}\n {backButton}\n </ButtonColumn>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useLayoutEffect, useRef, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport styles from './TOTPEnrollManualScreen.module.css';\n\nconst CHUNK_SIZE = 4;\n\nexport const TOTPEnrollManualScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const [copied, setCopied] = useTimedBoolean(3);\n\n // This screen should only be shown if TOTP enrollment is available\n const { secret } = state.mfa.totp.enrollment!;\n\n const displaySecret = secret.toLowerCase();\n const secretChunked = displaySecret.split(new RegExp(`(.{${CHUNK_SIZE}})`, 'g')).filter(Boolean);\n\n const { codeRef, columnCount } = useColumnCount(secretChunked.length);\n\n const handleBack = () => dispatch({ type: 'navigate_back' });\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleCodeCopy = async () => {\n try {\n await navigator.clipboard.writeText(displaySecret);\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'mfa.totpEnrollment.toast.copyFailed', message: \"Couldn't copy code to clipboard\" }),\n });\n\n // Select all text instead as fallback\n const selection = window.getSelection();\n if (codeRef.current && selection) {\n selection.empty();\n const range = document.createRange();\n range.selectNodeContents(codeRef.current);\n selection.addRange(range);\n }\n }\n };\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'mfa.totpEnrollment.title', message: 'Having trouble scanning the QR code?' })}\n body={t({\n id: 'mfa.totpEnrollment.content',\n message: 'Click to copy the code below. Enter into your authenticator app to link your account.',\n })}\n />\n\n {/* No additional keyboard support since there's a copy code button below */}\n <CodeContainer className={styles.codeContainer} onClick={handleCodeCopy}>\n {/* This Typography element is on the outside because we need the 1ch gap to also be in monospace */}\n <Typography\n ref={codeRef}\n className={styles.code}\n style={\n {\n '--st-column-count': columnCount,\n '--st-chunk-size': CHUNK_SIZE + 'ch',\n } as CSSProperties\n }\n font=\"mono\"\n >\n {secretChunked.map((part, i) => (\n <span key={i}>{part}</span>\n ))}\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleCodeCopy}>\n <VerticalTransition\n primary={t({ id: 'mfa.totpEnrollment.copyCode.label', message: 'Copy to clipboard' })}\n secondary={t({ id: 'mfa.totpEnrollment.copyCode.codeCopied', message: 'Copied!' })}\n triggered={copied}\n />\n </Button>\n <Button variant=\"outline\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.totpQrRetry', message: 'Try to scan the QR code again' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n\n// Balance out the rows - this is fairly complex, but there's not any way to really do this in CSS only\n// so instead we read the width of the container and the chunks below it, then use that to calculate\n// first the number of rows, then how many chunks can evenly fit per row\nfunction useColumnCount(chunksCount: number) {\n const codeRef = useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useLayoutEffect(() => {\n const updateRowCount = () => {\n if (!codeRef.current) return;\n\n // Get the width of the container and inner spans\n const containerWidth = codeRef.current.clientWidth;\n const spanWidth = Math.max(\n ...Array.from(codeRef.current.querySelectorAll('span')).map((elem) => elem.clientWidth),\n );\n\n // Find the number of columns to display. First compute the raw number\n // Note we don't check how many rows are currently rendered because this number is already affected by\n // the current row count.\n const fittedColumns = Math.floor(containerWidth / spanWidth);\n // Then account for gaps (1ch each, so 1/CHUNK_SIZE per gap)\n const fittedColumnsWithGaps = fittedColumns - Math.floor(fittedColumns / CHUNK_SIZE);\n // Number of rows is count / columns\n const rows = Math.ceil(chunksCount / fittedColumnsWithGaps);\n // And finally the closest even column count is count / rows\n const evenColumns = Math.ceil(chunksCount / rows);\n\n setColumnCount(evenColumns);\n };\n\n updateRowCount();\n\n if (!window.ResizeObserver || !codeRef.current) return;\n const observer = new ResizeObserver(updateRowCount);\n observer.observe(codeRef.current);\n return () => observer.disconnect();\n }, [chunksCount]);\n\n return {\n codeRef,\n columnCount,\n };\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BTOTPCreateResponse, StytchAPIError } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\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 { LoadingScreen } from '../../components/molecules/Loading';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './TOTPEnrollQRScreen.module.css';\n\nexport const TOTPEnrollQRScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const {\n mfa: {\n totp: { createError, enrollment, isCreating },\n },\n } = state;\n\n // This screen should only be shown if primary info and TOTP enrollment are\n // available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const { trigger: createTotp } = useMutate<\n B2BTOTPCreateResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string }\n >(\n 'stytch.totp.create',\n (_: string, { arg: { memberId, organizationId } }: { arg: { memberId: string; organizationId: string } }) => {\n dispatch({ type: 'totp/create' });\n return stytchClient.totp.create({ member_id: memberId, organization_id: organizationId });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'totp/create_success', response, memberId, organizationId });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'totp/create_error', error });\n },\n },\n );\n\n const shouldCreate = !enrollment && !isCreating && !createError;\n useEffect(() => {\n if (shouldCreate) {\n createTotp({ memberId, organizationId });\n }\n }, [createTotp, memberId, organizationId, shouldCreate]);\n\n const handleShowManualCode = () => {\n dispatch({ type: 'totp/show_code', method: 'manual' });\n };\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'totp.setupQr.title', message: 'Scan the QR code to link your authenticator app' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'totp.setupQr.content',\n message:\n 'Your organization requires an additional form of verification to make your account more secure. If you don’t have an authenticator app, you’ll need to install one first.',\n })}\n </Typography>\n\n {enrollment ? (\n <>\n <img\n alt={t({ id: 'mfaTotpEnrollment.qrAltText', message: 'QR code for TOTP enrollment' })}\n src={enrollment.qrCode}\n className={styles.qr}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"outline\" onClick={handleShowManualCode}>\n {t({ id: 'button.totpQrManual', message: 'Having trouble scanning?' })}\n </Button>\n </ButtonColumn>\n </>\n ) : (\n <LoadingScreen />\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BMFAProducts, B2BTOTPAuthenticateResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport OTPEntry from '../../components/molecules/OTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const TOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, organizationId, organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error: authenticateError,\n } = useMutate<\n B2BTOTPAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number }\n >(\n 'stytch.totp.authenticate',\n (\n _: string,\n {\n arg: { memberId, organizationId, otp, sessionDurationMinutes },\n }: { arg: { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.totp.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'totp/authenticate_success' });\n },\n },\n );\n\n const isSmsOtpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.smsOtp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.smsOtp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n const canGoBack = isEnrolling;\n\n const handleSubmit = (otp: string) => authenticate({ memberId, organizationId, otp, sessionDurationMinutes });\n\n const handleSwitchToRecoveryCode = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.RecoveryCodeEntry });\n };\n\n const handleSwitchToSms = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.SMSOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <OTPEntry\n header={t({ id: 'totp.title', message: 'Enter verification code' })}\n instruction={t({ id: 'totp.content', message: 'Enter the 6-digit code from your authenticator app.' })}\n helperContent={\n isEnrolling\n ? t({\n id: 'mfa.totpEntry.getNewCode',\n message: 'If the verification code doesn’t work, go back to your authenticator app to get a new code.',\n })\n : null\n }\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn\n top={null}\n bottom={\n <>\n {isSmsOtpAvailable && (\n <Button variant=\"outline\" onClick={handleSwitchToSms}>\n {t({ id: 'mfa.totpEntry.switchToSms', message: 'Text me a code instead' })}\n </Button>\n )}\n\n {!isEnrolling && (\n <Button variant=\"outline\" onClick={handleSwitchToRecoveryCode}>\n {t({ id: 'mfa.totpEntry.useBackupCode', message: 'Use a backup code' })}\n </Button>\n )}\n\n {canGoBack && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </>\n }\n />\n </Column>\n );\n};\n","import { AuthFlowType, StytchAPIError, StytchEvent, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { ComponentType, Dispatch, ReactNode, useEffect, useState } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { HandledTokenType } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport Logo from '../components/atoms/Logo';\nimport { ErrorScreen } from '../components/molecules/ErrorScreen';\nimport { LoggingInScreen } from '../components/molecules/Loading';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from './hooks/useIsOnlyFloatingOneTap';\nimport { Action } from './reducer';\nimport { ConfirmationScreen } from './screens/Confirmation';\nimport { Discovery } from './screens/Discovery';\nimport { MainScreen } from './screens/Main';\nimport { MFAEnrollmentSelectionScreen } from './screens/MFAEnrollmentSelectionScreen';\nimport { RecoveryCodeEntryScreen } from './screens/RecoveryCodeEntryScreen';\nimport { RecoveryCodeSaveScreen } from './screens/RecoveryCodeSaveScreen';\nimport { SMSOTPEnrollScreen } from './screens/SMSOTPEnrollScreen';\nimport { SMSOTPEntryScreen } from './screens/SMSOTPEntryScreen';\nimport { TOTPEnrollManualScreen } from './screens/TOTPEnrollManualScreen';\nimport { TOTPEnrollQRScreen } from './screens/TOTPEnrollQRScreen';\nimport { TOTPEntryScreen } from './screens/TOTPEntryScreen';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\nimport {\n getStytchEventByKey,\n onAuthenticateSuccess,\n onDiscoveryAuthenticateSuccess,\n StytchMutationKey,\n useExtractSlug,\n useProductComponents,\n} from './utils';\n\n/**\n * Separately store additional things to do when authenticateByUrl completes or errors\n */\ntype AuthTokenConfig = {\n mutationKey: StytchMutationKey;\n // Typing this is too hard. Instead, manually verify the typings from the client matches that expected\n // by these success functions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSuccess: (data: any, dispatch: Dispatch<Action>, config: StytchB2BExtendedLoginConfig) => void;\n defaultError?: ErrorType;\n};\n\nconst authTokenConfig: Record<HandledTokenType, AuthTokenConfig> = {\n discovery: {\n mutationKey: 'stytch.magicLinks.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n discovery_oauth: {\n mutationKey: 'stytch.oauth.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n },\n oauth: {\n mutationKey: 'stytch.oauth.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n sso: {\n mutationKey: 'stytch.sso.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n multi_tenant_magic_links: {\n mutationKey: 'stytch.magicLinks.authenticate',\n onSuccess: onAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n multi_tenant_impersonation: {\n mutationKey: 'stytch.impersonation.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n};\n\nconst errorTypeMap: Record<string, ErrorType> = {\n ad_blocker_detected: ErrorType.AdBlockerDetected,\n};\n\nconst AppContainer: () => ReactNode = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const triggerError = useErrorCallback();\n const triggerEvent = useEventCallback();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config, 'screens')!;\n\n const handleStytchAPIError = (error: StytchAPIError, defaultErrorType = ErrorType.Default) => {\n const error_type = extractErrorType(error);\n const errorType: ErrorType = errorTypeMap[error_type!] ?? defaultErrorType;\n\n dispatch({\n type: 'set_error_message_and_transition',\n errorType,\n canGoBack: false,\n });\n };\n\n const [isTokenAuthLoading, setIsTokenAuthLoading] = useState(false);\n const { mutate } = useSWRConfig();\n\n const { slug, resultPending } = useExtractSlug();\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Password reset has special handling for exchanging a magic link token\n // for a session and then using it to reset a password\n if (state.flowState.type == AuthFlowType.PasswordReset) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed?.handled) {\n return;\n }\n\n const { mutationKey, defaultError, onSuccess } = authTokenConfig[parsed.tokenType];\n setIsTokenAuthLoading(true);\n mutate(\n mutationKey,\n stytchClient.authenticateByUrl({ session_duration_minutes: config.sessionOptions.sessionDurationMinutes }),\n )\n .then(\n (result) => {\n if (!result?.handled) return; // Should not be possible\n const { data } = result;\n\n const event = getStytchEventByKey(mutationKey);\n if (event) {\n triggerEvent({ type: event, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n onSuccess(data, dispatch, config);\n },\n (error) => {\n triggerError(error);\n handleStytchAPIError(error, defaultError);\n },\n )\n .finally(() => setIsTokenAuthLoading(false));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Skip further action if token discovery is in progress\n if (isTokenAuthLoading) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (parsed?.handled) {\n return;\n }\n\n if (\n !slug &&\n !resultPending &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n // No slug found (or no slug pattern)\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n }\n }, [\n dispatch,\n isOnlyFloatingOneTap,\n isTokenAuthLoading,\n resultPending,\n slug,\n state.flowState.organization,\n state.flowState.type,\n state.screen,\n stytchClient,\n triggerError,\n ]);\n\n if (isOnlyFloatingOneTap) {\n return <B2BGoogleOneTap />;\n }\n\n if (isTokenAuthLoading) {\n return (\n <MainContainer theme={theme} displayWatermark={false}>\n <LoggingInScreen />\n </MainContainer>\n );\n }\n\n let orgLogo;\n if (state.flowState.organization?.organization_logo_url) {\n const { organization_name, organization_logo_url } = state.flowState.organization;\n orgLogo = {\n url: organization_logo_url,\n alt: organization_name ?? '',\n };\n }\n\n const defaultScreenComponents: Partial<Record<AppScreens, ComponentType>> = {\n // Main is omitted from StytchB2BProduct since it's used by everything\n [AppScreens.Main]: MainScreen,\n [AppScreens.LoggedIn]: ConfirmationScreen,\n\n // Discovery can be opted into dynamically via stytch_redirect_type ResetPassword flow\n // so it cannot be statically shaken away\n [AppScreens.Discovery]: Discovery,\n [AppScreens.Error]: ErrorScreen,\n\n // MFA products are dynamically configured depending on organization and user choice,\n // and opted into by default\n [AppScreens.MFAEnrollmentSelection]: MFAEnrollmentSelectionScreen,\n [AppScreens.SMSOTPEnrollment]: SMSOTPEnrollScreen,\n [AppScreens.SMSOTPEntry]: SMSOTPEntryScreen,\n [AppScreens.RecoveryCodeEntry]: RecoveryCodeEntryScreen,\n [AppScreens.RecoveryCodeSave]: RecoveryCodeSaveScreen,\n [AppScreens.TOTPEnrollmentQRCode]: TOTPEnrollQRScreen,\n [AppScreens.TOTPEnrollmentManual]: TOTPEnrollManualScreen,\n [AppScreens.TOTPEntry]: TOTPEntryScreen,\n };\n\n const ScreenComponent = defaultScreenComponents[currentScreen] ?? screenComponentMap[currentScreen];\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n <Logo appLogo={options.logo} orgLogo={orgLogo} />\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { AuthFlowType, RedirectURLType, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { OverrideProperties } from 'type-fest';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { AppState } from './types/AppState';\n\nexport type InternalSDKConfig<TProjectConfiguration extends StytchProjectConfigurationInput> = OverrideProperties<\n B2BSDKConfig<TProjectConfiguration>,\n { config: StytchB2BExtendedLoginConfig }\n>;\n\nexport const InternalAppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n config,\n strings,\n}: InternalSDKConfig<TProjectConfiguration>) => {\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 } = readB2BInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_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 const getRedirectTypeFromUrl = () => {\n const url = new URL(window.location.href);\n const redirectType = url.searchParams.get('stytch_redirect_type');\n\n return redirectType;\n };\n\n const redirectType = getRedirectTypeFromUrl();\n const authFlowType =\n redirectType === RedirectURLType.ResetPassword ? AuthFlowType.PasswordReset : config.authFlowType;\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: authFlowType === AuthFlowType.PasswordReset ? AppScreens.PasswordResetForm : AppScreens.Main,\n flowState: {\n ...DEFAULT_STATE.flowState,\n type: authFlowType,\n },\n };\n\n const configWithDefaults = useMemo(\n () => ({\n ...config,\n // While `sessionOptions` is required in the types, we still want to handle the error gracefully if it's not provided.\n // We set it to an empty object here so that future checks for `sessionOptions.sessionDurationMinutes` throw a `can't read property of undefined` error,\n // and instead throw an error regarding a missing `sessionDurationMinutes` error from the headless client.\n sessionOptions: config.sessionOptions ?? {},\n }),\n [config],\n );\n\n const presentationValue = usePresentationWithDefault(\n presentation,\n displayWatermark,\n configWithDefaults,\n 'B2BProduct',\n );\n\n return (\n <GlobalContextProvider\n client={client}\n callbacks={callbacks}\n config={configWithDefaults}\n initialState={initialState}\n >\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Member } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../GlobalContextProvider';\n\n// useStytchMember 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 useStytchMember = (): Member | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.self.getSync());\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 { useErrorCallback, useEventCallback, useStytch } from '../GlobalContextProvider';\nimport { useStytchMember } from '../hooks/useStytchMember';\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 // TODO: Consumer and B2B Bootstrap hooks should return same shape\n const bootstrap = useBootstrap();\n\n const idpConsentState = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={false} {...idpConsentState} />;\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 = 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={false} />;\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 <EnsureMemberIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureMemberIsLoggedIn>\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 EnsureMemberIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const member = useStytchMember();\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 // store the member to refer to its organization_id later\n const member = stytchClient.self.getSync();\n if (member) {\n await stytchClient.session.revoke();\n }\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n organization_id: member?.organization_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 (member) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [member]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (member) {\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/b2b/en';\nimport { B2BIDPSDKConfig, B2BSDKConfig, DeprecatedSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport * as B2BProducts from './B2BProducts';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { InternalAppContainer } from './InternalAppContainer';\nimport { IDPConsentScreen } from './screens/IDPConsent';\n\n/**\n * Wrapper to add default organizationProducts value. This is done to preserve the ability for a future\n * component that doesn't do this, allowing B2B products to be properly tree-shaken (which is also why this is currently\n * in a completely different file)\n */\nexport const AppContainer = ({\n config,\n styles,\n ...props\n}: B2BSDKConfig<StytchProjectConfigurationInput> & DeprecatedSDKConfig) => {\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://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n const internalConfig = {\n ...config,\n organizationProducts: Object.values(B2BProducts),\n };\n\n return <InternalAppContainer config={internalConfig} {...props}></InternalAppContainer>;\n};\n\nexport const B2BIDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n getIDPConsentManifest,\n trustedAuthTokenParams,\n styles,\n}: B2BIDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_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://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchB2BExtendedLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={trustedAuthTokenParams}>\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","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 { StytchB2BClient } from '../../../b2b/StytchB2BClient';\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytchB2BClient } from '../b2b/StytchB2BContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2CComponent and createWebComponent\nexport function createB2BComponent<\n Props extends {\n client: StytchB2BClient<TProjectConfiguration>;\n config?: StytchB2BUIConfig;\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 = useStytchB2BClient<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, B2BIDPConsentManifestGenerator } from '../../../types';\nimport { B2BIDPContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\nimport { StytchB2BProps } from './Stytch';\n\nexport type B2BIdentityProviderProps = Omit<StytchB2BProps, 'config'> & {\n /**\n * Optional {@link B2BIDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: B2BIDPConsentManifestGenerator;\n /**\n * Optional trusted auth token parameters to attest before the OAuth flow.\n */\n trustedAuthTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch B2B 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 B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <B2BIdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const B2BIdentityProvider = /* @__PURE__ */ createB2BComponent('B2BIdentityProvider', B2BIDPContainer);\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { AppContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\n\nexport interface StytchB2BProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\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 error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.B2BMagicLinkAuthenticate) {\n * console.log('Logged in with', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n /**\n * A {@link StytchB2BUIConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks],\n * authFlowType: \"Discovery\",\n * emailMagicLinksOptions: {\n * discoveryRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks, B2BProducts.sso],\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n */\n config: StytchB2BUIConfig;\n}\n\n/**\n * The Stytch B2B UI component.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <StytchB2B\n * config={{\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * }\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchB2B = /* @__PURE__ */ createB2BComponent('StytchB2B', AppContainer);\n","'use client';\n\nimport type { Member, MemberSession, Organization, StytchProjectConfigurationInput } from '@stytch/web/b2b';\nimport { StytchB2BClient } from '@stytch/web/b2b/headless';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytchB2BClient, withStytchB2BClient, withStytchPermissions } from '@stytch/web/react/b2b';\n\nimport {\n StytchB2BProvider as StytchB2BProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchMember as useStytchMemberShared,\n useStytchMemberSession as useStytchMemberSessionShared,\n useStytchOrganization as useStytchOrganizationShared,\n withStytchMember as withStytchMemberShared,\n withStytchMemberSession as withStytchMemberSessionShared,\n withStytchOrganization as withStytchOrganizationShared,\n} from '@stytch/web/react/b2b';\n\n/**\n * Returns the active Member.\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 member data is from persistent storage.\n * @example\n * const {member, isInitialized, fromCache} = useStytchMember();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {member.name}</h1>);\n */\nexport const useStytchMember = useStytchMemberShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchMemberShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active member's Stytch member 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} = useStytchMemberSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login');\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchMemberSession = useStytchMemberSessionShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchMemberSessionShared<TAssumeHydrated>>;\n\n/**\n * Returns the active Stytch organization.\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 organization data is from persistent storage.\n * @example\n * const {organization, isInitialized, fromCache} = useStytchOrganization();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return <p>Welcome to {organization.organization_name}</p>;\n */\nexport const useStytchOrganization = useStytchOrganizationShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchOrganizationShared<TAssumeHydrated>>;\n\n/**\n * Determines whether the logged-in member is allowed to perform the specified action on the specified resource.\n * Returns `true` if the member can perform the action, `false` otherwise.\n *\n * If the member 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 = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchMember = withStytchMemberShared as <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchMember: Member | null; stytchMemberIsInitialized: boolean; stytchMemberIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchMemberShared<T, TAssumeHydrated>>;\n\nexport const withStytchMemberSession = withStytchMemberSessionShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchMemberSession: MemberSession | null;\n stytchMemberSessionIsInitialized: boolean;\n stytchMemberSessionIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchMemberSessionShared<T, TAssumeHydrated>>;\n\nexport const withStytchOrganization = withStytchOrganizationShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchOrganization: Organization | null;\n stytchOrganizationIsInitialized: boolean;\n stytchOrganizationIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchOrganizationShared<T, TAssumeHydrated>>;\n\nexport interface StytchB2BProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchB2BClient}\n */\n stytch: StytchB2BClient<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 = createStytchB2BClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchB2BProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchB2BProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchB2BProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchB2BProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchB2BProviderShared>\n);\n","import { createStytchB2BClient } from '@stytch/web/b2b/headless';\n\n/**\n * @deprecated - use {@link createStytchB2BClient} instead\n */\nexport const createStytchB2BUIClient = createStytchB2BClient;\n\nexport type { StytchB2BProviderProps } from './StytchB2BContext';\nexport {\n StytchB2BProvider,\n useStytchB2BClient,\n useStytchIsAuthorized,\n useStytchMember,\n useStytchMemberSession,\n useStytchOrganization,\n withStytchB2BClient,\n withStytchMember,\n withStytchMemberSession,\n withStytchOrganization,\n withStytchPermissions,\n} from './StytchB2BContext';\nexport type {\n B2BIDPConsentManifestGenerator,\n B2BIDPSDKConfig,\n B2BSDKConfig,\n Strings,\n StytchB2BUIConfig,\n} from '@stytch/web/b2b';\nexport { B2BProducts } from '@stytch/web/b2b';\nexport * from '@stytch/web/b2b/headless';\nexport * from '@stytch/web/common';\nexport type { B2BIdentityProviderProps, StytchB2BProps } from '@stytch/web/react/b2b';\nexport { B2BIdentityProvider, StytchB2B } from '@stytch/web/react/b2b';\n"],"names":["SSOIcon","size","DEFAULT_ICON_SIZE","props","React","svg","width","height","viewBox","xmlns","g","clipPath","path","d","fill","stroke","strokeWidth","defs","id","rect","transform","HubspotIcon","fillRule","clipRule","OktaIcon","className","_styles","darkInvert","messages","_messages","getParamsFromB2BOAuthProviderConfig","provider","providerType","oneTap","customScopes","providerParams","cancelOnTapOutside","undefined","type","B2BOAuthProviders","Google","one_tap","cancel_on_tap_outside","useSWRConfig","useRef","useStateWithDeps","UNDEFINED","useCallback","serialize","mergeObjects","getTimestamp","useIsomorphicLayoutEffect","withMiddleware","useSWR","KeyToStytchEventMap","StytchEventType","B2BMagicLinkAuthenticate","B2BSSOAuthenticate","B2BSSODiscoverConnections","B2BMagicLinkDiscoveryAuthenticate","B2BDiscoveryOrganizationsCreate","B2BDiscoveryIntermediateSessionExchange","B2BMagicLinkEmailLoginOrSignup","B2BMagicLinkEmailDiscoverySend","B2BOAuthAuthenticate","B2BOAuthDiscoveryAuthenticate","B2BSMSOTPSend","B2BSMSOTPAuthenticate","B2BTOTPCreate","B2BTOTPAuthenticate","B2BRecoveryCodesRecover","B2BImpersonationAuthenticate","B2BOTPsEmailAuthenticate","B2BOTPsEmailDiscoveryAuthenticate","B2BOTPsEmailDiscoverySend","B2BOTPsEmailLoginOrSignup","B2BOrganizationsGetBySlug","getStytchEventByKey","key","useMutate","fetcher","options","onEvent","useEventCallback","onError","useErrorCallback","result","useSWRMutation","throwOnError","onSuccess","data","config","eventType","error","isMutating","useExtractSlug","state","dispatch","useGlobalReducer","pattern","setPattern","useState","useConfig","stytchClient","useStytch","slug","organizationSlug","extractFromPattern","window","location","href","trigger","isSearching","_","arg","organization","getBySlug","organization_slug","errorType","ErrorType","Organization","canGoBack","useEffect","readB2BInternals","bootstrap","getAsync","then","slugPattern","flowState","screen","AppScreens","Main","AuthFlowType","resultPending","useBootstrap","setBootstrap","getSync","onAuthenticateSuccess","response","includedMfaMethods","mfaProductInclude","onDiscoveryAuthenticateSuccess","email","email_address","discoveredOrganizations","discovered_organizations","url","URL","search","currentUrl","toString","trim","regexPattern","replace","regex","RegExp","match","hasProduct","products","product","some","p","useProductComponents","organizationProducts","screenType","useMemo","map","Object","assign","useIsOnlyFloatingOneTap","isOnlyFloatingOneTap","oauthProvider","oauthOptions","providers","isGoogleOneTap","length","useLastUsedAuthMethod","stytch","publicToken","lastUsedMethod","safeLocalStorage","getItem","setLastUsedMethod","method","setItem","providerInfo","messageDescriptor","Microsoft","HubSpot","Slack","GitHub","OAuthB2BButton","loginRedirectUrl","signupRedirectUrl","discoveryRedirectUrl","useLingui","presentation","usePresentation","iconRegistry","getButtonId","label","icon","Icon","onButtonClick","providerClient","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","organization_id","provider_params","discovery","discovery_redirect_url","Button","onClick","variant","B2BGoogleOneTap","oneTapError","setOneTapError","isMounted","useIsMounted","attemptToLoadOneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","DefaultProviderNotAllowed","logger","client","current","oneTapCallback","createOnSuccessHandler","organizationId","signupRedirectURL","loginRedirectURL","redirectOnSuccess","Error","createOnDiscoverySuccessHandler","discoveryRedirectURL","renderResult","render","callback","style","position","OneTapPositions","floating","cancel","OriginNotAllowedForClient","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","oauthIcons","google","GoogleIcon","microsoft","MicrosoftIcon","hubspot","slack","SlackIcon","github","GithubIcon","ssoIcons","okta","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","yahoo","YahooIcon","iconMap","SSOButton","connection","onStart","ssoOptions","connection_id","display_name","identity_provider","sso","iconName","useEmlDiscoverySend","magicLinks","send","emailMagicLinksOptions","login_template_id","loginTemplateId","locale","EmailConfirmation","useEmlLoginOrSignup","loginOrSignup","signup_template_id","signupTemplateId","e","useEmailDomain","emailDomains","setEmailDomains","domainHint","emailDomain","countdown","useCountdown","sendLoginOrSignupEml","isSendingLoginOrSignupEml","sendDiscoveryEml","isSendingDiscoveryEml","formState","emailState","userSuppliedEmail","goBack","resend","Discovery","isSubmitting","EmailConfirmationView","UsePasswordButton","handleUsePassword","productsToAuthMethods","emailMagicLinks","emailOtp","passwords","oauthProvidersToAuthMethods","authMethodsToProducts","fromEntries","entries","authMethod","oauthMethodsToOauthProviders","authMethodToProduct","allOauthProviders","values","flattenConfigToAuthMethods","oauthProviders","flatMap","filter","isTruthy","useOAuthProviderConfigs","useRestrictedAuthMethods","primaryAuthMethods","primary","hasPrimaryAuthMethods","restrictedAuthMethods","Set","auth_methods","allowed_auth_methods","useEffectiveAuthConfig","oauthProviderConfigs","flattenedConfiguredAuthMethods","authMethodsToShow","restrictedAuthMethodsInUiConfig","has","productIds","productId","find","oauthProviderSettings","DEFAULT_OTP_EXPIRATION_MS","getOtpCodeExpiration","Date","now","useEmailOtpDiscoverySend","_key","otps","emailOtpOptions","codeExpiration","useEmailOtpLoginOrSignup","JIT_PROVISIONING_ERRORS","useParseErrorMessage","org","organizationName","includes","error_type","getTranslatedError","EmailForm","showPasswordButton","emailInput","setEmailInput","passwordState","parseErrorMessage","enableEml","enableOtp","providedEmail","stytchEmlLoginOrSignup","emlError","emlIsMutating","stytchOtpLoginOrSignup","otpError","otpIsMutating","handleSubmit","preventDefault","EmailMethodSelection","history","Column","gap","loading","disabled","as","onSubmit","EmailInput","setEmail","hideLabel","organization_name","EmailDiscoveryForm","stytchEmlDiscoverySend","stytchOtpDiscoverySend","EmailMethodSelectionScreen","sendDiscoveryEmlError","reset","resetSendDiscoveryEml","sendDiscoveryOtp","isSendingDiscoveryOtp","sendDiscoveryOtpError","resetSendDiscoveryOtp","sendLoginOrSignupEmlError","resetSendLoginOrSignupEml","sendLoginOrSignupOtp","isSendingLoginOrSignupOtp","sendLoginOrSignupOtpError","resetSendLoginOrSignupOtp","isSending","handleChooseMethod","displayOptions","option","handleBack","Typography","ButtonColumn","ErrorText","EmailOTPEntryScreen","otpState","resendCountdown","emailOtpDiscovery","sendError","discoveryAuthenticate","otp","authenticate","code","emailAddress","sessionDurationMinutes","session_duration_minutes","isAuthenticatingAny","errorMessage","resetAll","resp","sessionOptions","clear","handleResendOTP","SentOTPEntry","expiration","getTime","formattedDestination","LoadingScreen","ResendOTPButton","resendOTP","usePasswordInput","password","setPassword","setErrorMessage","setIsSubmitting","submitPassword","DEFAULT_SESSION_DURATION_MINUTES","passwordOptions","B2BPasswordAuthenticate","submitDiscoveryPassword","B2BPasswordDiscoveryAuthenticate","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","split","pop","handleNonMemberReset","dataLayer","resetPasswordRedirectURL","PasswordResetVerifyConfirmation","PasswordsAuthenticate","EMAIL_REGEX","onGetHelp","PasswordForgotForm","PasswordInput","PasswordsEmailForm","hideInput","setHideInput","searchManager","searchMember","member","PasswordsForgotForm","resetByEmailStart","reset_password_redirect_url","reset_password_expiration_minutes","resetPasswordExpirationMinutes","reset_password_template_id","resetPasswordTemplateId","verify_email_template_id","verifyEmailTemplateId","B2BPasswordResetByEmailStart","PasswordSetNewConfirmation","PasswordResetConfirmation","EmailActionLayout","header","description","Trans","message","components","bold","b","additionalActions","EmailProviderLink","emailProviderInfo","PasswordResetForm","useB2BBootstrap","resetToken","resetTokenType","parsed","parseAuthenticateUrl","token","tokenType","passwordError","setPasswordError","policy","updateStrengthCheck","debounce","strengthCheck","score","valid_password","zxcvbn_feedback","luds_feedback","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","missing_characters","missingComplexity","missing_complexity","magic_links_token","clearStytchTokenParams","onPasswordChange","resetByEmail","password_reset_token","B2BPasswordResetByEmail","B2BDiscoveryPasswordReset","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","noop","PasswordError","PasswordSetNew","resendResetPassword","B2BPasswordDiscoveryResetStart","assertUnreachable","getSsoMethodKey","extractConnectionId","startsWith","slice","getButtonKey","button","getCustomScopesForProvider","oauthOptionsCustomScopes","currentCustomScopes","keys","getProviderParamsForProvider","oauthOptionsProviderParams","currentProviderParams","login_hint","SsoAndOAuthButtons","buttons","isDiscoveryFlow","authButtons","MainScreenComponent","OAuthButtons","SSOButtons","sso_active_connections","reorderedButtons","foundLastUsedOAuth","arrayUtils","moveToFront","createOAuthButton","providerProps","index","buttonComponent","SSODiscoveryEmail","useSsoDiscoveryConnection","discoverConnections","setError","isLoading","setIsLoading","tryGetConnections","connections","extractErrorMessage","SSODiscoveryFallback","setSlug","lookupOrganization","handleTryAnotherMethod","Input","value","onChange","target","placeholder","availableConnections","lastUsedSso","foundLastUsed","SSODiscoveryMenu","ssoDiscoveryState","EmailFormWithoutPassword","EmailFormWithPassword","EmailDiscoveryFormWithoutPassword","EmailDiscoveryFormWithPassword","screens","mainScreen","PasswordEmailCombined","PasswordEmailCombinedDiscovery","icons","EmailOTPEntry","ssoAndOAuthButtons","PasswordEmailForm","PasswordAuthenticate","ConfirmationScreen","useMountEffect","AuthenticateFlowComplete","Confirmation","Arrow","styles","arrow","OrganizationRow","action","organization_logo_url","logo","img","src","alt","div","role","Array","from","classNames","organizationRow","hoverTriggerClass","buttonClassNames","left","nameText","VerticalTransition","rootClassName","right","rightContent","Badge","secondary","isJoinViaJitType","DiscoverNoOrganizations","createOrganizationEnabled","stytchCreateOrganization","isCreateLoading","organizations","create","OrganizationDiscoveryClaimedDomain","Default","shouldAutomaticallyCreateOrganization","directCreateOrganizationForNoMembership","discoveryState","disableCreateOrganization","shouldAllowDirectLoginToOrganization","status","activeOrganizations","membership","hasBlockingConditions","ignoreInvites","ignoreJitProvisioning","shouldDirectLoginConfigEnabled","directLoginForSingleMembership","isExchangeInProgress","directLoginOrganization","handleDiscoveryOrganizationStart","discoveredOrganization","primary_required","allowedAuthMethods","sso_default_connection_id","startSso","stytchDiscoveryExchange","connectionId","intermediateSessions","exchange","LoggingInScreen","organizationButtons","createOrganizationButton","goBackButton","top","bottom","isButtonsComponent","component","generateProductComponentsOrdering","flowStateType","productsSet","displayEmailAndPasswordsTogether","emailPasswordCombinedComponent","productComponentsSet","reduce","add","isSsoValid","groups","i","arr","prevComponent","shouldJoinPreviousGroup","push","prevGroup","Divider","isButtonGroup","group","every","MainScreen","emailVerified","productComponentsOrdering","mainScreenComponents","title","PasswordReset","showVerifyEmailCopy","hideHeaderText","align","Component","mfaOptions","B2BMFAProducts","totp","TOTPEnrollmentQRCode","smsOtp","SMSOTPEnrollment","MFAEnrollmentSelectionScreen","mfaProductOrder","organizationMfaOptionsSupported","mfa","primaryInfo","handleNavigate","optionsToDisplay","getEnabledMethods","allMethods","B2B_MFA_METHODS","orgSupportedMethods","uiIncludedMethods","delete","RecoveryCodeEntryScreen","memberId","recoveryCode","recoveryCodes","recover","recovery_code","member_id","setRecoveryCode","input","required","autoComplete","spellCheck","CodeContainer","children","container","RecoveryCodeSaveScreen","enrollment","handleContinue","fileContent","newline","navigator","platform","blob","Blob","join","createObjectURL","filename","copied","setCopied","useTimedBoolean","handleCodesCopy","clipboard","writeText","errorToast","maxCodeLength","Math","max","TextColumn","body","font","ul","codes","li","ButtonAnchor","download","triggered","DEFAULT_COUNTRY_CODE","InvalidPhoneNumberError","StytchSDKError","SMSOTPEnrollScreen","smsOtpOptions","enrolledNumber","countryCode","setCountryCode","phoneNumber","setPhoneNumber","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","sendSms","parsedNumber","sms","mfa_phone_number","formattedPhoneNumber","COUNTRIES_LIST","formatNumberToIncludeCountryCode","country","isValid","number","PhoneInput","setCountry","phone","setPhone","SMSOTPEntryScreen","isEnrolling","enrolledMfaMethods","memberPhoneNumber","isAuthenticating","authenticateError","shouldCreate","handleFormatNumber","parsedPhoneNumber","national","formatNumber","isTotpAvailable","enrolledMethod","handleSwitchToTotp","TOTPEntry","resendButton","switchToTotpButton","backButton","CHUNK_SIZE","TOTPEnrollManualScreen","secret","displaySecret","toLowerCase","secretChunked","Boolean","codeRef","columnCount","useColumnCount","handleCodeCopy","selection","getSelection","empty","range","document","createRange","selectNodeContents","addRange","codeContainer","ref","part","span","chunksCount","setColumnCount","useLayoutEffect","updateRowCount","containerWidth","clientWidth","spanWidth","querySelectorAll","elem","fittedColumns","floor","fittedColumnsWithGaps","rows","ceil","evenColumns","ResizeObserver","observer","observe","disconnect","TOTPEnrollQRScreen","createError","isCreating","createTotp","handleShowManualCode","qrCode","qr","TOTPEntryScreen","isSmsOtpAvailable","handleSwitchToRecoveryCode","RecoveryCodeEntry","handleSwitchToSms","SMSOTPEntry","OTPEntry","instruction","helperContent","authTokenConfig","mutationKey","defaultError","EmailMagicLink","discovery_oauth","multi_tenant_magic_links","multi_tenant_impersonation","errorTypeMap","ad_blocker_detected","AdBlockerDetected","AppContainer","triggerError","triggerEvent","displayWatermark","theme","currentScreen","screenComponentMap","handleStytchAPIError","defaultErrorType","extractErrorType","isTokenAuthLoading","setIsTokenAuthLoading","mutate","handled","authenticateByUrl","event","finally","MainContainer","orgLogo","defaultScreenComponents","ErrorScreen","MFAEnrollmentSelection","RecoveryCodeSave","TOTPEnrollmentManual","ScreenComponent","Logo","appLogo","InternalAppContainer","callbacks","strings","setDisplayWatermark","networkClient","logEvent","name","details","getRedirectTypeFromUrl","redirectType","searchParams","get","authFlowType","RedirectURLType","ResetPassword","initialState","DEFAULT_STATE","configWithDefaults","presentationValue","usePresentationWithDefault","GlobalContextProvider","PresentationContext","Provider","I18nProviderWrapper","overrides","Container","useStytchMember","useSyncExternalStore","onStateChange","self","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","idpConsentState","useIDPState","IDPConsent","bootstrapNotLoaded","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","flow","parseIDPParams","content","EnsureMemberIsLoggedIn","params","onErrorRef","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","NoCurrentSessionError","ErrorDisplay","text","internalConfig","B2BProducts","B2BIDPContainer","getIDPConsentManifest","trustedAuthTokenParams","IDPContextProvider","consentManifestGenerator","authTokenParams","createB2BComponent","Wrapped","invariant","useIsMounted__INTERNAL","noProviderError","useStytchB2BClient","shadow","enableShadowDOM","root","mountPoint","setMountPoint","shadowRoot","attachShadow","mode","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","createPortal","displayName","B2BIdentityProvider","StytchB2B","useStytchMemberShared","useStytchMemberSession","useStytchMemberSessionShared","useStytchOrganization","useStytchOrganizationShared","useStytchIsAuthorized","useStytchIsAuthorizedShared","withStytchMember","withStytchMemberShared","withStytchMemberSession","withStytchMemberSessionShared","withStytchOrganization","withStytchOrganizationShared","StytchB2BProvider","assumeHydrated","StytchB2BProviderShared","createStytchB2BUIClient","createStytchB2BClient"],"mappings":"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","x_google_ignoreList":[5]}
|