@frigade/react 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { SyntheticEvent, CSSProperties, ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ import React__default, { CSSProperties, SyntheticEvent, ReactNode, ForwardRefExoticComponent, RefAttributes } from 'react';
4
4
  import * as _frigade_js from '@frigade/js';
5
5
  import { Flow, FlowStep } from '@frigade/js';
6
6
  export { Flow, Frigade } from '@frigade/js';
@@ -8,70 +8,9 @@ import { EmotionJSX } from '@emotion/react/types/jsx-namespace';
8
8
  import { ControllerFieldState, Message, ValidationRule } from 'react-hook-form';
9
9
  import * as Popover from '@radix-ui/react-popover';
10
10
 
11
- type FlowHandlerProp = (flow: Flow, event?: React.MouseEvent<unknown>) => Promise<boolean | void> | (boolean | void);
12
- interface FlowHandlerProps {
13
- onComplete?: FlowHandlerProp;
14
- onDismiss?: FlowHandlerProp;
15
- }
16
- type DismissHandler = (e: React.MouseEvent<unknown>) => Promise<boolean | void>;
17
- declare function useFlowHandlers(flow: Flow, { onComplete, onDismiss }?: FlowHandlerProps): {
18
- handleDismiss: DismissHandler;
19
- };
20
-
21
- type StepHandlerProp = (step: FlowStep, event?: SyntheticEvent<object, unknown>) => Promise<boolean | void> | (boolean | void);
22
- interface StepHandlerProps {
23
- onPrimary?: StepHandlerProp;
24
- onSecondary?: StepHandlerProp;
25
- }
26
- type StepHandler = (event: SyntheticEvent<object, unknown>, properties?: Record<string | number, unknown>) => Promise<boolean>;
27
- declare function useStepHandlers(step: FlowStep, { onPrimary, onSecondary }?: StepHandlerProps): {
28
- handlePrimary: StepHandler;
29
- handleSecondary: StepHandler;
30
- };
31
-
32
11
  type DeepPartial<T> = {
33
12
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
34
13
  };
35
- interface FlowComponentProps extends Omit<BoxProps, 'container'> {
36
- /**
37
- * The type of container to render the Flow in. `dialog` will spawn a modal with the component in it.
38
- * `none` will render the component in the current context/inline.
39
- *
40
- * Defaults to 'none'.
41
- */
42
- container?: 'dialog' | 'none';
43
- /**
44
- * Whether the container is dismissible by clicking outside of it or pressing escape.
45
- *
46
- * Defaults to `true`.
47
- */
48
- dismissible?: boolean;
49
- /**
50
- * The Flow ID to render. You can find the Flow ID in the Frigade dashboard.
51
- */
52
- flowId: string;
53
- /**
54
- * Handler for when the Flow is completed.
55
- */
56
- onComplete?: FlowHandlerProp;
57
- /**
58
- * Handler for when the Flow is dismissed.
59
- */
60
- onDismiss?: FlowHandlerProp;
61
- /**
62
- * Handler for when primary button is clicked.
63
- */
64
- onPrimary?: StepHandlerProp;
65
- /**
66
- * Handler for when secondary button is clicked.
67
- */
68
- onSecondary?: StepHandlerProp;
69
- /**
70
- * Variables to pass to the Flow. You can use variables in the Flow configuration to customize copy.
71
- * For instance, you can use `title: Hello, ${name}!` in the Flow configuration and pass `variables={{name: 'John'}}` to customize the copy.
72
- */
73
- variables?: Record<string, unknown>;
74
- }
75
14
 
76
15
  declare const tokens: {
77
16
  radii: {
@@ -272,6 +211,7 @@ declare const tokens: {
272
211
  type Tokens = typeof tokens;
273
212
 
274
213
  type Theme = DeepPartial<Tokens>;
214
+ declare const themeVariables: {};
275
215
  declare const theme: DeepPartial<{
276
216
  radii: {
277
217
  md: string;
@@ -1152,15 +1092,84 @@ declare namespace Text {
1152
1092
  interface DialogProps extends BoxProps {
1153
1093
  }
1154
1094
 
1155
- interface AnnouncementProps extends FlowComponentProps, Omit<DialogProps, 'container'> {
1095
+ type FlowHandlerProp = (flow: Flow, event?: React.MouseEvent<unknown>) => Promise<boolean | void> | (boolean | void);
1096
+ interface FlowHandlerProps {
1097
+ onComplete?: FlowHandlerProp;
1098
+ onDismiss?: FlowHandlerProp;
1099
+ }
1100
+ type DismissHandler = (e: React.MouseEvent<unknown>) => Promise<boolean | void>;
1101
+ declare function useFlowHandlers(flow: Flow, { onComplete, onDismiss }?: FlowHandlerProps): {
1102
+ handleDismiss: DismissHandler;
1103
+ };
1104
+
1105
+ type StepHandlerProp = (step: FlowStep, event?: SyntheticEvent<object, unknown>) => Promise<boolean | void> | (boolean | void);
1106
+ interface StepHandlerProps {
1107
+ onPrimary?: StepHandlerProp;
1108
+ onSecondary?: StepHandlerProp;
1109
+ }
1110
+ type StepHandler = (event: SyntheticEvent<object, unknown>, properties?: Record<string | number, unknown>) => Promise<boolean>;
1111
+ declare function useStepHandlers(step: FlowStep, { onPrimary, onSecondary }?: StepHandlerProps): {
1112
+ handlePrimary: StepHandler;
1113
+ handleSecondary: StepHandler;
1114
+ };
1115
+
1116
+ interface FlowProps extends BoxProps {
1117
+ /**
1118
+ * Flow accepts a render function as its only child, whose props are described in FlowChildrenProps
1119
+ */
1120
+ children?: (props: FlowChildrenProps) => ReactNode;
1121
+ /**
1122
+ * Whether the Flow is dismissible or not
1123
+ *
1124
+ * @defaultValue `true`
1125
+ */
1126
+ dismissible?: boolean;
1127
+ /**
1128
+ * The Flow ID to render. You can find the Flow ID in the Frigade dashboard.
1129
+ */
1130
+ flowId: string;
1131
+ /**
1132
+ * Handler for when the Flow is completed.
1133
+ */
1134
+ onComplete?: FlowHandlerProp;
1135
+ /**
1136
+ * Handler for when the Flow is dismissed.
1137
+ */
1138
+ onDismiss?: FlowHandlerProp;
1139
+ /**
1140
+ * Handler for when primary button is clicked.
1141
+ */
1142
+ onPrimary?: StepHandlerProp;
1143
+ /**
1144
+ * Handler for when secondary button is clicked.
1145
+ */
1146
+ onSecondary?: StepHandlerProp;
1147
+ /**
1148
+ * Variables to pass to the Flow. You can use variables in the Flow configuration to customize copy.
1149
+ * For instance, you can use `title: Hello, ${name}!` in the Flow configuration and pass `variables={{name: 'John'}}` to customize the copy.
1150
+ */
1151
+ variables?: Record<string, unknown>;
1152
+ }
1153
+ interface FlowPropsWithoutChildren extends Omit<FlowProps, 'children'> {
1154
+ }
1155
+ interface FlowChildrenProps {
1156
+ flow: Flow;
1157
+ handleDismiss: DismissHandler;
1158
+ handlePrimary: StepHandler;
1159
+ handleSecondary: StepHandler;
1160
+ parentProps: Record<string, unknown>;
1161
+ step: FlowStep;
1162
+ }
1163
+
1164
+ interface AnnouncementProps extends FlowPropsWithoutChildren, DialogProps {
1156
1165
  }
1157
- declare function Announcement(props: AnnouncementProps): _emotion_react_jsx_runtime.JSX.Element;
1166
+ declare function Announcement({ flowId, ...props }: AnnouncementProps): _emotion_react_jsx_runtime.JSX.Element;
1158
1167
 
1159
- interface BannerProps extends FlowComponentProps {
1168
+ interface BannerProps extends FlowPropsWithoutChildren {
1160
1169
  }
1161
- declare function Banner(props: BannerProps): _emotion_react_jsx_runtime.JSX.Element;
1170
+ declare function Banner({ flowId, ...props }: BannerProps): _emotion_react_jsx_runtime.JSX.Element;
1162
1171
 
1163
- interface CardComponent extends ForwardRefExoticComponent<Omit<FlowComponentProps, 'ref'> & RefAttributes<unknown>> {
1172
+ interface CardComponent extends ForwardRefExoticComponent<Omit<FlowPropsWithoutChildren, 'ref'> & RefAttributes<unknown>> {
1164
1173
  Dismiss: (props: ButtonProps) => EmotionJSX.Element;
1165
1174
  Media: (props: MediaProps) => EmotionJSX.Element;
1166
1175
  Primary: (props: ButtonProps) => EmotionJSX.Element;
@@ -1207,14 +1216,14 @@ interface FormFieldProps {
1207
1216
  formState: any;
1208
1217
  fieldState: ControllerFieldState;
1209
1218
  }
1210
- interface FormProps extends FlowComponentProps {
1219
+ interface FormProps extends FlowPropsWithoutChildren {
1211
1220
  /**
1212
1221
  * Custom field types to be used in the Form.
1213
1222
  * You can use this to build your own custom form fields in a `Form`.
1214
1223
  */
1215
1224
  fieldTypes?: FieldTypes;
1216
1225
  }
1217
- declare function Form({ fieldTypes, ...props }: FormProps): _emotion_react_jsx_runtime.JSX.Element;
1226
+ declare function Form({ fieldTypes, flowId, ...props }: FormProps): _emotion_react_jsx_runtime.JSX.Element;
1218
1227
 
1219
1228
  type NavigateHandler = (url: string, target?: string) => void;
1220
1229
  interface ProviderProps {
@@ -1268,7 +1277,7 @@ declare namespace Tooltip {
1268
1277
  var Title: ({ children, ...props }: TextProps) => _emotion_react_jsx_runtime.JSX.Element;
1269
1278
  }
1270
1279
 
1271
- interface TourProps extends TooltipProps, FlowComponentProps {
1280
+ interface TourProps extends TooltipProps, FlowPropsWithoutChildren {
1272
1281
  }
1273
1282
  declare function Tour({ flowId, onComplete, variables, ...props }: TourProps): _emotion_react_jsx_runtime.JSX.Element;
1274
1283
 
@@ -1307,4 +1316,4 @@ declare function useGroup(): {
1307
1316
  track: (eventName: string, properties?: Record<string, unknown>) => Promise<void>;
1308
1317
  };
1309
1318
 
1310
- export { Announcement, AnnouncementProps, Banner, Box, BoxProps, Button, ButtonProps, Card, Flex, FlowConfig, Form, Provider, ProviderProps, Text, TextProps, Tooltip, TooltipProps, Tour, TourProps, useBoundingClientRect, useFlow, useFlowHandlers, useFrigade, useGroup, useModal, useStepHandlers, useUser };
1319
+ export { Announcement, AnnouncementProps, Banner, Box, BoxProps, Button, ButtonProps, Card, Flex, FlowConfig, Form, Provider, ProviderProps, Text, TextProps, Tooltip, TooltipProps, Tour, TourProps, themeVariables, useBoundingClientRect, useFlow, useFlowHandlers, useFrigade, useGroup, useModal, useStepHandlers, useUser };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- import * as w from '@radix-ui/react-dialog';
2
+ import * as T from '@radix-ui/react-dialog';
3
3
  import { XMarkIcon } from '@heroicons/react/24/solid';
4
- import * as xe from 'react';
4
+ import * as ue from 'react';
5
5
  import { createContext, useState, useMemo, useEffect, useContext, useRef, useCallback, useLayoutEffect } from 'react';
6
6
  import { clsx } from 'clsx';
7
- import Do from 'known-css-properties';
8
- import Wo from 'dompurify';
7
+ import kt from 'known-css-properties';
8
+ import Vt from 'dompurify';
9
9
  import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
10
10
  import { keyframes, Global, ThemeProvider } from '@emotion/react';
11
11
  import { Frigade } from '@frigade/js';
@@ -14,10 +14,10 @@ import { useForm, useController } from 'react-hook-form';
14
14
  import * as N from '@radix-ui/react-radio-group';
15
15
  import * as S from '@radix-ui/react-select';
16
16
  import { ChevronDownIcon } from '@heroicons/react/24/outline';
17
- import * as D from '@radix-ui/react-popover';
17
+ import * as k from '@radix-ui/react-popover';
18
18
 
19
- var wo=Object.defineProperty;var Ro=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(o,t)=>(typeof require<"u"?require:o)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var te=(e,o)=>{for(var t in o)wo(e,t,{get:o[t],enumerable:!0});};var Fe={borders:{md:"1px solid"},borderWidths:{0:"0",md:"1px"}};var Te={black:"#000000",gray100:"#14161A",gray200:"#181B20",gray300:"#1F2329",gray400:"#2E343D",gray500:"#4C5766",gray600:"#5A6472",gray700:"#C5CBD3",gray800:"#E2E5E9",gray900:"#F1F2F4",white:"#ffffff",blue400:"#015AC6",blue500:"#0171F8",blue800:"#DBECFF",blue900:"#F5F9FF",green400:"#009E37",green500:"#00D149",green800:"#DBFFE8",transparent:"#FFFFFF00",inherit:"inherit",red500:"#c00000"};var we={md:"10px",lg:"20px",round:"50%"};var l=e=>`var(--fr-colors-${e})`,Re={neutral:{background:l("white"),border:l("gray800"),foreground:l("black"),surface:l("gray700"),active:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")},focus:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")},hover:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")}},primary:{background:l("blue500"),border:l("blue500"),foreground:l("white"),surface:l("blue500"),active:{background:l("blue400"),border:l("blue400"),foreground:l("white"),surface:l("blue400")},focus:{background:l("blue500"),border:l("blue500"),foreground:l("white"),surface:l("blue500")},hover:{background:l("blue400"),border:l("blue400"),foreground:l("white"),surface:l("blue400")}},secondary:{background:l("white"),border:l("gray800"),foreground:l("black"),surface:l("gray900"),active:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray800")},focus:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray900")},hover:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray800")}}};var Be={md:"0px 4px 20px rgba(0, 0, 0, 0.1)"};var Bo="px",vo=e=>typeof e=="number"?`${4*e}${Bo}`:e,ko=[-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-.5,0,.5,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,"auto"],ve=Object.fromEntries(ko.map(e=>[e,vo(e)]));var ke={fontFamilies:{default:"inherit"},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"20px","2xl":"24px","3xl":"30px","4xl":"36px","5xl":"48px"},fontWeights:{thin:"100",extralight:"200",light:"300",regular:"400",medium:"500",demibold:"600",bold:"700",extrabold:"800",black:"900"},letterSpacings:{md:"0.02em"},lineHeights:{xs:"18px",sm:"22px",md:"24px",lg:"26px",xl:"30px","2xl":"38px","3xl":"46px","4xl":"60px"}};var me={...Fe,colors:{...Te,...Re},...ke,radii:we,shadows:Be,space:ve};function X(e,o="",t="."){return Object.keys(e).reduce((n,r)=>{let a=`${o.length?`${o}${t}`:""}${r}`,s=e[r];return typeof s=="object"&&s!==null&&!Array.isArray(s)?Object.assign(n,X(s,a,t)):n[a]=s,n},{})}function ce(e){return X(e,"--fr","-")}function De(e,o="--fr"){let t={};return Object.keys(e).forEach(n=>{let r=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)?t[n]=De(r,`${o}-${n}`):t[n]=`var(${o}-${n})`;}),t}var Ee=ce(me),c=De(me);var Eo=new Set(["alt","size","src"]),Oo=Do.all.filter(e=>e.indexOf("-")!=0&&!Eo.has(e)).map(e=>[e.replace(/-([a-z])/g,(o,t)=>t.toUpperCase()),null]),Ho=Object.fromEntries(Oo),ue=X(c.colors),Mo={color:ue,backgroundColor:ue,borderColor:ue,border:c.borders,borderRadius:c.radii,borderWidth:c.borderWidths,boxShadow:c.shadows,fontFamily:c.fontFamilies,fontSize:c.fontSizes,fontWeight:c.fontWeights,gap:c.space,lineHeight:c.lineHeights,margin:c.space,marginBottom:c.space,marginLeft:c.space,marginRight:c.space,marginTop:c.space,padding:c.space,paddingBottom:c.space,paddingLeft:c.space,paddingRight:c.space,paddingTop:c.space},Oe={...Ho,...Mo},He={bg:["backgroundColor"],m:["margin"],mt:["marginTop"],mr:["marginRight"],mb:["marginBottom"],ml:["marginLeft"],mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"],p:["padding"],pt:["paddingTop"],pr:["paddingRight"],pb:["paddingBottom"],pl:["paddingLeft"],px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},Me=new Set(["active","focus","focusVisible","focusWithin","hover"]);function Io(e){return Array.isArray(e)?new Map(e.map(o=>[o,o])):typeof e=="object"&&e!==null?new Map(Object.entries(e)):typeof e=="string"||typeof e=="number"?new Map([[e,e]]):new Map}var Ie=new Map(Object.entries(Oe).map(([e,o])=>[e,Io(o)])),Ao=new Map(Object.entries(He).map(([e,o])=>[e,new Set(o)])),Vo=new Set(["height","width"]),Lo=new Set(["canvas","embed","iframe","img","input","object","video"]);function Ae(e){let[o,t]=e.split(":");return [o,Me.has(t)?t:null]}function Ve(e,o="div"){let t=Object.assign({},e),n={};function r(i){if(i==null)return n;let s=`&:${i.replace(/[A-Z]/g,d=>`-${d.toLocaleLowerCase()}`)}`;return n[s]==null&&(n[s]={}),n[s]}return Object.entries(t).forEach(([i,a])=>{let[s,d]=Ae(i),f=Ao.get(s);f!=null&&(f.forEach(g=>{let y=`${g}${d?":"+d:""}`;t[y]=a;}),delete t[i]);}),Object.entries(t).forEach(([i,a])=>{let[s,d]=Ae(i),f=Ie.get(s);if(f!=null){if(typeof a=="string"&&a.indexOf(" ")>-1){let g=a.split(" ");r(d)[s]=g.map(y=>f.get(y.toString())??y).join(" ");}else f.has(a.toString())?r(d)[s]=f.get(a.toString()):r(d)[s]=a;(typeof o!="string"||!Lo.has(o)||!Vo.has(s))&&delete t[i];}}),Object.keys(t).forEach(i=>{let a=i.substring(1);i.indexOf("_")===0&&Ie.has(a)&&(t[a]=t[i],delete t[i]);}),{cssFromProps:n,unmatchedProps:t}}function $o(){if(typeof window>"u"){let{JSDOM:e}=Ro("jsdom");return new e("<!DOCTYPE html>").window}return window}function Le(e){return e?{__html:Wo($o()).sanitize(e,{ALLOWED_TAGS:["b","i","a","span","div","p","pre","u","br","img","code","li","ul","table","tbody","thead","tr","td","th","h1","h2","h3","h4","video"],ALLOWED_ATTR:["style","class","target","id","href","alt","src","controls","autoplay","loop","muted"]})}:{__html:""}}function _o(e){return e&&`fr-${e}`}function ze(e){return e&&(Array.isArray(e)?e.map(o=>ze(o)).join(" "):_o(e))}function jo({as:e,children:o,className:t,css:n={},part:r,...i},a){let s=e??"div",{cssFromProps:d,unmatchedProps:f}=Ve(i,s),g=ze(r),y=t||g?clsx(t,g):void 0,b=[{boxSizing:"border-box"},d,n];return typeof o=="string"?jsx(s,{className:y,css:b,...f,ref:a,dangerouslySetInnerHTML:Le(o)}):jsx(s,{className:y,css:b,...f,ref:a,children:o})}var p=xe.forwardRef(jo);var m={};te(m,{Body1:()=>at,Body2:()=>st,Caption:()=>lt,Display1:()=>et,Display2:()=>ot,H1:()=>tt,H2:()=>rt,H3:()=>nt,H4:()=>it});var fe={};te(fe,{Body1:()=>qo,Body2:()=>Yo,Caption:()=>Qo,Display1:()=>Ko,Display2:()=>No,H1:()=>Uo,H2:()=>Go,H3:()=>Xo,H4:()=>Jo});var E={color:"neutral.foreground",fontFamily:"default",margin:"0"},Ko={...E,fontSize:"5xl",fontWeight:"bold",lineHeight:"4xl"},No={...E,fontSize:"4xl",fontWeight:"bold",lineHeight:"3xl"},Uo={...E,fontSize:"3xl",fontWeight:"demibold",lineHeight:"2xl"},Go={...E,fontSize:"2xl",fontWeight:"demibold",lineHeight:"xl"},Xo={...E,fontSize:"xl",fontWeight:"demibold",lineHeight:"lg"},Jo={...E,fontSize:"md",fontWeight:"demibold",lineHeight:"md"},qo={...E,fontSize:"md",fontWeight:"regular",lineHeight:"md"},Yo={...E,fontSize:"sm",fontWeight:"regular",lineHeight:"sm"},Qo={...E,fontSize:"xs",fontWeight:"regular",lineHeight:"xs"};var Zo=["Display1","Display2","H1","H2","H3","H4","Body1","Body2","Caption"],O=Object.fromEntries(Zo.map(e=>{let o=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():"span",t=xe.forwardRef(({as:n=o,children:r,...i},a)=>jsx(p,{as:n,...fe[e],...i,ref:a,children:r}));return t.displayName=`Text.${e}`,[e,t]})),et=O.Display1,ot=O.Display2,tt=O.H1,rt=O.H2,nt=O.H3,it=O.H4,at=O.Body1,st=O.Body2,lt=O.Caption;var ge={};te(ge,{Link:()=>ct,Plain:()=>ut,Primary:()=>dt,Secondary:()=>mt});var re={borderWidth:"0",borderRadius:"md",display:"flex",gap:"2",padding:"2 4"},dt={...re,backgroundColor:"primary.surface",color:"primary.foreground","backgroundColor:hover":"primary.hover.surface"},mt={...re,backgroundColor:"secondary.background",borderColor:"secondary.border",borderStyle:"solid",borderWidth:"1px",color:"secondary.foreground","backgroundColor:hover":"secondary.hover.background"},ct={...re,backgroundColor:"transparent",color:"primary.surface","color:hover":"primary.hover.surface"},ut={...re,backgroundColor:"transparent",color:"neutral.foreground"};function je({as:e,children:o,part:t,title:n,variant:r="Primary",...i}){let a=r.toLocaleLowerCase();return jsxs(p,{as:e??"button",part:[`button-${a}`,t],...ge[r],...i,children:[o,n&&jsx(m.Body2,{color:"inherit",flexGrow:"1",fontWeight:"demibold",transform:"translateY(1px)",css:{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},children:n})]})}var ft=["Primary","Secondary","Link","Plain"],gt=Object.fromEntries(ft.map(e=>{let o=t=>jsx(je,{...t,variant:e,children:t.children});return o.displayName=`Button.${e}`,[e,o]})),h=Object.assign(je,gt);var x={};te(x,{Column:()=>ht,Row:()=>yt});var yt=xe.forwardRef(({children:e,css:o,...t},n)=>jsx(p,{css:[{display:"flex",flexDirection:"row"},o],...t,ref:n,children:e})),ht=xe.forwardRef(({children:e,css:o,...t},n)=>jsx(p,{css:[{display:"flex",flexDirection:"column"},o],...t,ref:n,children:e}));var v=createContext({apiKey:"",modals:new Set,setModals:()=>{},currentModal:null,navigate:()=>{}});function Rt({children:e,navigate:o,theme:t,...n}){let r=t?ce(t):{},[i,a]=useState(new Set),s=useMemo(()=>new Frigade(n.apiKey,{apiKey:n.apiKey,apiUrl:n.apiUrl,userId:n.userId,groupId:n.groupId,__readOnly:n.__readOnly,__flowConfigOverrides:n.__flowConfigOverrides}),[n.userId,n.groupId,n.apiKey]),d=o??((g,y="_self")=>{window.open(g,y);});useEffect(()=>()=>{s.destroy();},[]);let f=i.size>0?i.values().next().value:null;return jsxs(v.Provider,{value:{modals:i,setModals:a,currentModal:f,navigate:d,...n,frigade:s},children:[jsx(Global,{styles:{":root":{...Ee,...r}}}),jsx(ThemeProvider,{theme:c,children:e})]})}function J(e,o){let[t,n]=useState(),[,r]=useState(""),{frigade:i}=useContext(v),a=s=>{s.id===e&&(o!=null&&o.variables&&s.applyVariables(o.variables),n(s),r(Math.random().toString()));};return useEffect(()=>((async()=>{let s=await i.getFlow(e);if(!s||i.hasFailedToLoad()){n(void 0);return}o!=null&&o.variables&&s.applyVariables(o.variables),n(s);})(),i.onStateChange(a),()=>{i.removeStateChangeHandler(a);}),[]),{flow:t}}function L(e,{onComplete:o,onDismiss:t}={}){let n=useRef(null);return useEffect(()=>{e!=null&&(e.isCompleted&&n.current===!1&&(async()=>await(o==null?void 0:o(e)))(),n.current=e==null?void 0:e.isCompleted);},[e==null?void 0:e.isCompleted]),{handleDismiss:useCallback(async r=>{if(await(t==null?void 0:t(e,r))===!1)return r.preventDefault(),!1;await e.skip();},[e])}}function q(e,{onPrimary:o,onSecondary:t}={}){let{navigate:n}=useContext(v);return {handlePrimary:useCallback(async(r,i)=>await(o==null?void 0:o(e,r))===!1?(r.preventDefault(),!1):(await e.complete(i),e.primaryButtonUri!=null&&n(e.primaryButtonUri,e.primaryButtonUriTarget),!0),[e]),handleSecondary:useCallback(async(r,i)=>await(t==null?void 0:t(e,r))===!1?(r.preventDefault(),!1):(await e.complete(i),e.secondaryButtonUri!=null&&n(e.secondaryButtonUri,e.secondaryButtonUriTarget),!0),[e])}}function Y(e){let{currentModal:o,modals:t,setModals:n}=useContext(v),[r,i]=useState(!1);useEffect(()=>{e!=null&&e.isVisible&&e&&!t.has(e.id)&&n(s=>new Set(s).add(e.id));},[e==null?void 0:e.id,e==null?void 0:e.isVisible]),useEffect(()=>{let s=o===(e==null?void 0:e.id);(e==null?void 0:e.id)!=null&&s!==r&&i(s);},[e==null?void 0:e.id,o]);function a(){t.has(e==null?void 0:e.id)&&n(s=>{let d=new Set(s);return d.delete(e==null?void 0:e.id),d});}return {isCurrentModal:r,removeModal:a}}function I({as:e,container:o,dismissible:t=o==="dialog",flowId:n,onComplete:r,onDismiss:i,onPrimary:a,onSecondary:s,variables:d,...f}){let g=o==="dialog"?F:e??p,y=function({children:Z,...se}){let{flow:P}=J(n,{variables:d}),U=P==null?void 0:P.getCurrentStep(),{handleDismiss:le}=L(P,{onComplete:r,onDismiss:i}),{handlePrimary:pe,handleSecondary:de}=q(U,{onPrimary:a,onSecondary:s}),{isCurrentModal:G,removeModal:ee}=Y(P);return useEffect(()=>{!(P!=null&&P.isVisible)&&G&&ee();},[P==null?void 0:P.isVisible,G]),P==null||!P.isVisible||!G?null:(P.start(),U.start(),jsx(g,{position:"relative",...se,...f,children:Z({flow:P,handleDismiss:le,handlePrimary:pe,handleSecondary:de,parentProps:{container:o,dismissible:t,flowId:n,variables:d,...f},step:U})}))};return {FlowComponent:useMemo(()=>y,[])}}function qe(e){let{FlowComponent:o}=I(e);return jsx(o,{as:u,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",children:({handleDismiss:t,handlePrimary:n,handleSecondary:r,parentProps:{dismissible:i},step:a})=>jsxs(Fragment,{children:[jsxs(x.Row,{alignItems:"center",flexWrap:"wrap",gap:1,justifyContent:"space-between",part:"card-header",children:[jsx(u.Title,{children:a.title}),i&&jsx(u.Dismiss,{onClick:t}),jsx(u.Subtitle,{flexBasis:"100%",children:a.subtitle})]}),jsx(u.Media,{src:a.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxs(x.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsx(u.Secondary,{title:a.secondaryButtonTitle,onClick:r}),jsx(u.Primary,{title:a.primaryButtonTitle??"Continue",onClick:n})]})]})})}function Ye({part:e,src:o,...t}){return jsx(p,{as:"img",part:["image",e],src:o,...t})}function zt(e){var o,t,n,r;if(e.includes("youtube"))return `https://www.youtube.com/embed/${(o=e.split("v=")[1])==null?void 0:o.split("&")[0]}`;if(e.includes("vimeo"))return `https://player.vimeo.com/video/${(t=e.split("vimeo.com/")[1])==null?void 0:t.split("&")[0]}`;if(e.includes("wistia"))return `https://fast.wistia.net/embed/iframe/${(n=e.split("wistia.com/medias/")[1])==null?void 0:n.split("&")[0]}`;if(e.includes("loom"))return `https://loom.com/embed/${(r=e.split("loom.com/share/")[1])==null?void 0:r.split("&")[0]}?hideEmbedTopBar=true&hide_title=true&hide_share=true&hide_owner=true`;throw new Error("Could not map videoUri to a known provider (Youtube, Vimeo, Wistia, Loom).")}function Qe({part:e,src:o,...t}){let n=zt(o);return jsx(p,{allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,as:"iframe",backgroundColor:"gray100",borderWidth:0,part:["video",e],src:n,...t})}function $({src:e,type:o,...t}){return jsx(o==="video"?Qe:Ye,{src:e,...t})}var u=xe.forwardRef(({as:e,children:o,...t},n)=>{if(t.flowId!=null)return jsx(qe,{as:e,...t});let r=e??x.Column;return jsx(r,{backgroundColor:"neutral.background",borderRadius:"md",gap:5,p:5,...t,ref:n,children:o})});u.Dismiss=e=>jsx(h.Plain,{part:"dismiss",padding:0,...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})});u.Media=({src:e,...o})=>e==null?null:jsx($,{borderRadius:"md",src:e,...o});u.Primary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Primary,{title:o,onClick:e,...t});u.Secondary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Secondary,{title:o,onClick:e,...t});u.Subtitle=({children:e,...o})=>e==null?null:jsx(m.Body2,{display:"block",part:"subtitle",...o,children:e});u.Title=({children:e,...o})=>e==null?null:jsx(m.Body1,{display:"block",fontWeight:"bold",part:"title",...o,children:e});function F({children:e,...o}){return jsx(w.Root,{defaultOpen:!0,modal:!0,children:jsx(w.Portal,{children:jsxs(p,{inset:"0",position:"fixed",zIndex:"9999",children:[jsx(w.Overlay,{asChild:!0,children:jsx(p,{background:"rgb(0 0 0 / 0.5)",part:"dialog-overlay",position:"fixed",inset:"0"})}),jsx(w.Content,{asChild:!0,onOpenAutoFocus:t=>t.preventDefault(),onPointerDownOutside:t=>t.preventDefault(),children:jsx(u,{boxShadow:"md",left:"50%",maxWidth:"430px",p:8,part:"dialog-content",position:"fixed",textAlign:"center",top:"50%",transform:"translate(-50%, -50%)",...o,children:e})})]})})})}F.Dismiss=e=>jsx(w.Close,{"aria-label":"Close",asChild:!0,children:jsx(h.Plain,{part:"close",position:"absolute",right:"-4px",top:"4px",...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})})});F.Subtitle=({children:e,...o})=>jsx(w.Description,{asChild:!0,children:jsx(m.Body2,{part:"subtitle",...o,children:e})});F.Media=({src:e,...o})=>e==null?null:jsx($,{borderRadius:"md",src:e,...o});F.Primary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Primary,{title:o,onClick:e,...t});F.ProgressDots=({current:e,total:o})=>{if(o==1)return null;let t=[...Array(o)].map((n,r)=>jsx("circle",{r:4,cx:4+16*r,cy:"4px",fill:e===r?c.colors.blue500:c.colors.blue800},r));return jsx(p,{as:"svg",height:"8px",marginInline:"auto",part:"progress",viewBox:`0 0 ${16*o-8} 8`,width:16*o-8,children:t})};F.Secondary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Secondary,{title:o,onClick:e,...t});F.Title=({children:e,...o})=>jsx(w.Title,{asChild:!0,children:jsx(m.H3,{part:"title",...o,children:e})});function Gt(e){let{FlowComponent:o}=I({...e,container:"dialog"});return jsx(o,{children:({flow:t,handleDismiss:n,handlePrimary:r,handleSecondary:i,parentProps:{dismissible:a},step:s})=>jsxs(Fragment,{children:[a&&jsx(F.Dismiss,{onClick:n}),jsxs(x.Column,{gap:1,part:"announcement-header",children:[jsx(F.Title,{children:s.title}),jsx(F.Subtitle,{children:s.subtitle})]}),jsx(F.Media,{src:s.videoUri??s.imageUri,type:s.videoUri?"video":"image",css:{aspectRatio:"1.5",objectFit:"cover",width:"100%"}}),jsx(F.ProgressDots,{current:t.getNumberOfCompletedSteps(),total:t.getNumberOfAvailableSteps()}),jsxs(x.Row,{css:{"& > button":{flexGrow:1}},gap:3,part:"announcement-footer",children:[s.secondaryButtonTitle&&jsx(F.Secondary,{title:s.secondaryButtonTitle,onClick:i}),jsx(F.Primary,{title:s.primaryButtonTitle??"Continue",onClick:r})]})]})})}function Jt(e){let{FlowComponent:o}=I(e);return jsx(o,{as:u,border:"md",borderColor:"neutral.border",display:"flex",flexDirection:"row",gap:3,justifyContent:"space-between",children:({handleDismiss:t,handlePrimary:n,handleSecondary:r,step:i})=>jsxs(Fragment,{children:[jsxs(x.Row,{gap:3,children:[i.imageUri&&jsx("img",{src:i.imageUri,style:{height:40,width:40,alignSelf:"center"}}),jsxs(x.Column,{children:[jsx(m.H4,{mb:1,children:i.title}),jsx(m.Body2,{color:"gray500",children:i.subtitle})]})]}),jsxs(x.Row,{alignItems:"center",gap:3,justifyContent:"center",children:[i.secondaryButtonTitle&&jsx(h.Secondary,{title:i.secondaryButtonTitle,onClick:r}),jsx(h.Primary,{title:i.primaryButtonTitle,onClick:n}),e.dismissible&&jsx(u.Dismiss,{onClick:t})]})]})})}var Zt=new Set(["required","min","max","minLength","maxLength","pattern"]);function er({fieldComponent:e,control:o,fieldData:t}){t.pattern!=null&&(typeof t.pattern=="string"?t.pattern=new RegExp(t.pattern.replace(/^\/|\/$/g,"")):typeof t.pattern=="object"&&typeof t.pattern.value=="string"&&(t.pattern.value=new RegExp(t.pattern.value.replace(/^\/|\/$/g,""))));let n=Object.fromEntries(Object.entries(t).filter(([i])=>Zt.has(i))),r=useController({name:t.id,control:o,rules:n});return jsx(e,{...r,fieldData:t})}function eo({fieldTypes:e,handleDismiss:o,handlePrimary:t,handleSecondary:n,parentProps:{dismissible:r},step:i}){var y;let{control:a,handleSubmit:s}=useForm({delayError:2e3,mode:"onChange"}),d=[];function f(b,K){t(K,b);}function g(b,K){n(K,b);}return (y=i.fields)==null||y.forEach(b=>{e[b.type]!=null&&d.push(jsx(er,{control:a,fieldComponent:e[b.type],fieldData:b},b.id));}),jsxs(x.Column,{gap:5,children:[jsxs(x.Row,{alignItems:"center",flexWrap:"wrap",gap:1,justifyContent:"space-between",part:"form-header",children:[jsx(u.Title,{children:i.title}),r&&jsx(u.Dismiss,{onClick:o}),jsx(u.Subtitle,{flexBasis:"100%",children:i.subtitle})]}),d,jsxs(x.Row,{part:"form-footer",justifyContent:"flex-end",gap:3,children:[i.secondaryButtonTitle&&jsx(h.Secondary,{title:i.secondaryButtonTitle,onClick:s(g)}),jsx(h.Primary,{title:i.primaryButtonTitle??"Submit",onClick:s(f)})]},"form-footer")]})}function oo({error:e}){var o;return (o=e==null?void 0:e.message)!=null&&o.length?jsx(m.Caption,{color:"red500",display:"block",part:"field-error",textAlign:"end",children:e==null?void 0:e.message}):null}function to({children:e,id:o,required:t=!1}){return jsxs(m.H4,{as:"label",htmlFor:o,part:"field-label",children:[e,t&&" *"]})}var Q={px:"4",py:"2",backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",borderRadius:"md",display:"block",outline:"none",width:"100%"};function V({children:e,field:o,fieldData:t,fieldState:n}){let{id:r,label:i,placeholder:a}=t,{error:s}=n,d={id:r,...o,...a?{placeholder:a}:{},...Q,"aria-invalid":!!s,value:o.value??""};return jsxs(p,{part:"field",children:[jsx(to,{id:r,required:!!t.required,children:i}),e(d),jsx(oo,{error:s})]})}var nr=()=>jsx(p,{as:"svg",color:"primary.foreground",width:"10px",height:"8px",viewBox:"0 0 10 8",fill:"none",children:jsx("path",{d:"M1 4.34664L3.4618 6.99729L3.4459 6.98017L9 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),ir=xe.forwardRef(({label:e,value:o},t)=>jsxs(p,{as:"label",backgroundColor:"neutral.background",borderColor:"neutral.border",borderRadius:"md",borderStyle:"solid",borderWidth:"md",display:"flex",htmlFor:o,justifyContent:"space-between",part:"field-radio",px:4,py:2,children:[jsx(m.Body2,{part:"field-radio-label",children:e}),jsx(N.Item,{id:o,value:o,ref:t,asChild:!0,children:jsx(p,{as:"button",backgroundColor:"inherit",borderWidth:"md",borderStyle:"solid",borderColor:"neutral.border",borderRadius:"100%",padding:"0",part:"field-radio-value",position:"relative",height:"24px",width:"24px",children:jsx(p,{as:N.Indicator,alignItems:"center",bg:"primary.surface",borderWidth:"md",borderStyle:"solid",borderColor:"primary.border",borderRadius:"100%",display:"flex",height:"calc(100% + 2px)",justifyContent:"center",left:"-1px",part:"field-radio-indicator",position:"absolute",top:"-1px",width:"calc(100% + 2px)",children:jsx(nr,{})})})})]}));function ao(e){let{field:{onChange:o,value:t},fieldData:{options:n=[]}}=e,r=n.map(({label:i,value:a})=>jsx(ir,{value:a,label:i},a));return jsx(V,{...e,children:()=>jsx(N.Root,{value:t,onValueChange:o,asChild:!0,children:jsx(x.Column,{gap:2,part:"field-radio-group",children:r})})})}var lr=xe.forwardRef(({label:e,value:o},t)=>jsx(S.Item,{value:o,ref:t,asChild:!0,children:jsx(p,{"backgroundColor:hover":"blue900",borderRadius:"md",outline:"none",part:"field-select-option",px:"3",py:"2",children:jsx(S.ItemText,{asChild:!0,children:jsx(m.Body2,{part:"field-select-option-label",children:e})})})}));function po(e){let{field:{onChange:o,value:t},fieldData:{options:n=[],placeholder:r}}=e,i=n.map(({label:a,value:s})=>jsx(lr,{value:s,label:a},s));return jsx(V,{...e,children:()=>jsxs(S.Root,{value:t,onValueChange:o,children:[jsx(S.Trigger,{asChild:!0,children:jsxs(m.Body2,{...Q,alignItems:"center",display:"flex",justifyContent:"space-between",part:"field-select",children:[jsx(S.Value,{placeholder:r??"Select one"}),jsx(S.Icon,{children:jsx(p,{as:ChevronDownIcon,color:"gray100",display:"block",height:"24px",part:"field-select-icon",width:"24px"})})]})}),jsx(S.Portal,{children:jsx(S.Content,{position:"popper",sideOffset:4,asChild:!0,children:jsx(p,{...Q,p:"1",part:"field-select-options",width:"var(--radix-popper-anchor-width)",children:jsx(S.Viewport,{children:i})})})})]})})}function co(e){return jsx(V,{...e,children:o=>jsx(m.Body2,{as:"input",part:"field-text",type:"text",...o})})}function fo(e){return jsx(V,{...e,children:o=>jsx(m.Body2,{as:"textarea",part:"field-textarea",...o})})}var pr={radio:ao,select:po,text:co,textarea:fo};function dr({fieldTypes:e={},...o}){let{FlowComponent:t}=I(o),n=Object.assign({},pr,e);return jsx(t,{children:r=>jsx(eo,{fieldTypes:n,...r})})}function ie(){let e="DOMRect"in globalThis?new DOMRect:{height:0,width:0,x:0,y:0,bottom:0,top:0,right:0,left:0,toJSON:()=>{}},[o,t]=useState(e),[n,r]=useState(null),i=useCallback(a=>{r(a);},[]);return useLayoutEffect(()=>{if(!n)return;let a=()=>{let s=n.getBoundingClientRect();t(s);};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[n]),{node:n,rect:o,ref:i}}var fr=keyframes({"0%":{opacity:.5,transform:"scale(0.5)"},"50%":{opacity:0,transform:"scale(1)"},"100%":{opacity:0,transform:"scale(1)"}});function ho({style:e={},part:o="",...t}){return jsxs(p,{part:`dot-wrapper ${o}`,style:{height:"48px",position:"absolute",width:"48px",...e},...t,children:[jsx(p,{backgroundColor:"primary.surface",part:"dot-pulse",css:{animation:`2s ease-out infinite ${fr}`,borderRadius:"24px",height:"48px",left:0,position:"absolute",top:0,transformOrigin:"center center",width:"48px"}}),jsx(p,{backgroundColor:"primary.surface",part:"dot",style:{borderRadius:"12px",height:"24px",left:"12px",position:"absolute",top:"12px",width:"24px"}})]})}function bo({props:e,alignAttr:o,sideAttr:t}){let n=t??"bottom",r={},i=()=>{if(["after","before"].includes(e.align)){if(o=="start")return "before";if(o=="end")return "after"}return e.align??"after"},a="-24px",s={top:"bottom",right:"left",bottom:"top",left:"right"};r[s[n]]=a;let d=i();return ["before","end"].includes(d)?["top","bottom"].includes(n)?r.right=a:r.bottom=a:["after","start"].includes(d)?["top","bottom"].includes(n)?r.left=a:r.top=a:["top","bottom"].includes(n)?r.left=`calc(50% + ${a})`:r.top=`calc(50% + ${a})`,r}var Po={content:["align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","forceMount","hideWhenDetached","onCloseAutoFocus","onEscapeKeyDown","onFocusOutside","onInteractOutside","onOpenAutoFocus","onPointerDownOutside","side","sideOffset","sticky"],root:["defaultOpen","modal","onOpenChange","open"]};function Co(e,o){let t=Object.fromEntries(Po.content.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),n=Object.fromEntries(Po.root.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0));if(t.align=t.align??"after",t.side=t.side??"bottom",["before","after"].includes(t.align)){let r={after:"end",before:"start"},i=(y,b)=>["top","bottom"].includes(b)?y=="after"?"marginLeft":"marginRight":y=="after"?"marginTop":"marginBottom",a=t.alignOffset??0,s=t.style??{},d=t.side??"bottom",f=t.align;t.style={...s,[i(f,d)]:a};let g=["top","bottom"].includes(d)?o.width:o.height;t.alignOffset=(g+a)*-1,t.align=r[f];}return {contentProps:t,rootProps:n}}function T({anchor:e,children:o,className:t,spotlight:n=!1,style:r,...i}){let{node:a,rect:s,ref:d}=ie(),{node:f,rect:g,ref:y}=ie(),{contentProps:b,rootProps:K}=Co(i,s),[Z,se]=useState(b.align),[P,U]=useState(b.side),[le,pe]=useState(0),[de,G]=useState(0);if(a!==null){let M=a.getAttribute("data-align"),oe=a.getAttribute("data-side");Z!==M&&se(M),P!==oe&&U(oe);}let ee=useRef(null);if(useEffect(()=>{let M=document.querySelector(e);M!=null&&(y(M),ee.current=M);},[e]),useEffect(()=>{let{scrollX:M,scrollY:oe}=window;pe(g.left+M),G(g.top+oe);},[g.left,g.top]),f==null)return null;let Se="0";typeof window<"u"&&(Se=window.getComputedStyle(f).borderRadius);let To=bo({props:i,alignAttr:Z,sideAttr:P});return jsxs(D.Root,{defaultOpen:!0,...K,children:[jsx(D.Anchor,{virtualRef:ee}),jsx(D.Portal,{children:jsxs("div",{className:t,css:{bottom:0,left:0,position:"absolute",right:0,top:0,zIndex:9999},children:[n&&jsx(p,{part:"tooltip-spotlight",position:"absolute",style:{borderRadius:Se,boxShadow:"0 0 0 20000px rgb(0 0 0 / 0.5)",height:g.height,left:le,top:de,width:g.width}}),jsx(D.Content,{asChild:!0,...b,ref:d,children:jsxs(u,{boxShadow:"md",part:"tooltip-content",position:"relative",css:{maxWidth:"360px",...r},children:[jsx(ho,{style:To}),o]})})]})})]})}T.Close=e=>jsx(D.Close,{"aria-label":"Close",asChild:!0,children:jsx(h.Plain,{css:{top:"12px",right:"4px"},part:"close",position:"absolute",...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})})});T.Media=({src:e,...o})=>e==null?null:jsx($,{borderRadius:"md md 0 0",borderWidth:"0",css:{aspectRatio:"2",objectFit:"cover"},margin:"-5 -5 0",src:e,...o});T.Primary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Primary,{title:o,onClick:e,...t});T.Progress=({children:e,...o})=>e==null?null:jsx(m.H4,{part:"progress",...o,children:e});T.Secondary=({onClick:e,title:o,...t})=>o==null?null:jsx(h.Secondary,{title:o,onClick:e,...t});T.Subtitle=({children:e,...o})=>e==null?null:jsx(m.Body2,{part:"subtitle",...o,children:e});T.Title=({children:e,...o})=>e==null?null:jsx(m.H4,{part:"title",...o,children:e});function Fo({dismissible:e=!0,flow:o,onDismiss:t,onPrimary:n,onSecondary:r,step:i,...a}){let{handleDismiss:s}=L(o,{onDismiss:t}),{handlePrimary:d,handleSecondary:f}=q(i,{onPrimary:n,onSecondary:r});return jsxs(T,{anchor:i.selector,onOpenAutoFocus:g=>g.preventDefault(),onPointerDownOutside:g=>g.preventDefault(),...a,children:[e&&jsx(T.Close,{onClick:s}),jsx(T.Media,{src:i.videoUri??i.imageUri,type:i.videoUri?"video":"image"}),jsxs(x.Column,{gap:1,part:"tooltip-header",children:[jsx(T.Title,{children:i.title}),jsx(T.Subtitle,{color:"gray500",children:i.subtitle})]}),jsxs(x.Row,{alignItems:"center",gap:3,justifyContent:"flex-end",part:"tooltip-footer",children:[jsx(T.Progress,{marginRight:"auto",transform:"translateY(1px)",children:`${o.getNumberOfCompletedSteps()+1}/${o.getNumberOfAvailableSteps()}`}),jsx(T.Secondary,{title:i.secondaryButtonTitle,onClick:f}),jsx(T.Primary,{title:i.primaryButtonTitle,onClick:d})]})]},i.id)}function br({flowId:e,onComplete:o,variables:t,...n}){let{flow:r}=J(e,{variables:t});L(r,{onComplete:o});let{isCurrentModal:i,removeModal:a}=Y(r);if(useEffect(()=>{!(r!=null&&r.isVisible)&&i&&a();},[r==null?void 0:r.isVisible,i]),r==null||r.isVisible===!1||!i)return null;r.start();let s=r.getCurrentStep();return s==null||s.start(),jsx(Fo,{step:s,flow:r,...n})}function Sr(){let{frigade:e}=useContext(v);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function Tr(){let{userId:e,frigade:o}=useContext(v);async function t(r){await o.identify(e,r);}async function n(r,i){await o.track(r,i);}return {userId:e,addProperties:t,track:n}}function Rr(){let{groupId:e,frigade:o}=useContext(v);async function t(r){if(!e){console.error("No Group ID is set. Cannot set properties without a Group ID.");return}await o.group(e,r);}async function n(r,i){await o.track(r,i);}return {groupId:e,addProperties:t,track:n}}
19
+ var Tt=Object.defineProperty;var wt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Z=(e,t)=>{for(var o in t)Tt(e,o,{get:t[o],enumerable:!0});};var Se={borders:{md:"1px solid"},borderWidths:{0:"0",md:"1px"}};var Ce={black:"#000000",gray100:"#14161A",gray200:"#181B20",gray300:"#1F2329",gray400:"#2E343D",gray500:"#4C5766",gray600:"#5A6472",gray700:"#C5CBD3",gray800:"#E2E5E9",gray900:"#F1F2F4",white:"#ffffff",blue400:"#015AC6",blue500:"#0171F8",blue800:"#DBECFF",blue900:"#F5F9FF",green400:"#009E37",green500:"#00D149",green800:"#DBFFE8",transparent:"#FFFFFF00",inherit:"inherit",red500:"#c00000"};var Fe={md:"10px",lg:"20px",round:"50%"};var l=e=>`var(--fr-colors-${e})`,Te={neutral:{background:l("white"),border:l("gray800"),foreground:l("black"),surface:l("gray700"),active:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")},focus:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")},hover:{background:l("white"),border:l("gray900"),foreground:l("black"),surface:l("gray700")}},primary:{background:l("blue500"),border:l("blue500"),foreground:l("white"),surface:l("blue500"),active:{background:l("blue400"),border:l("blue400"),foreground:l("white"),surface:l("blue400")},focus:{background:l("blue500"),border:l("blue500"),foreground:l("white"),surface:l("blue500")},hover:{background:l("blue400"),border:l("blue400"),foreground:l("white"),surface:l("blue400")}},secondary:{background:l("white"),border:l("gray800"),foreground:l("black"),surface:l("gray900"),active:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray800")},focus:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray900")},hover:{background:l("gray900"),border:l("gray800"),foreground:l("black"),surface:l("gray800")}}};var we={md:"0px 4px 20px rgba(0, 0, 0, 0.1)"};var Rt="px",Bt=e=>typeof e=="number"?`${4*e}${Rt}`:e,vt=[-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-.5,0,.5,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,"auto"],Re=Object.fromEntries(vt.map(e=>[e,Bt(e)]));var Be={fontFamilies:{default:"inherit"},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"20px","2xl":"24px","3xl":"30px","4xl":"36px","5xl":"48px"},fontWeights:{thin:"100",extralight:"200",light:"300",regular:"400",medium:"500",demibold:"600",bold:"700",extrabold:"800",black:"900"},letterSpacings:{md:"0.02em"},lineHeights:{xs:"18px",sm:"22px",md:"24px",lg:"26px",xl:"30px","2xl":"38px","3xl":"46px","4xl":"60px"}};var ae={...Se,colors:{...Ce,...Te},...Be,radii:Fe,shadows:we,space:Re};function U(e,t="",o="."){return Object.keys(e).reduce((i,r)=>{let s=`${t.length?`${t}${o}`:""}${r}`,a=e[r];return typeof a=="object"&&a!==null&&!Array.isArray(a)?Object.assign(i,U(a,s,o)):i[s]=a,i},{})}function se(e){return U(e,"--fr","-")}function ve(e,t="--fr"){let o={};return Object.keys(e).forEach(i=>{let r=e[i];typeof r=="object"&&r!==null&&!Array.isArray(r)?o[i]=ve(r,`${t}-${i}`):o[i]=`var(${t}-${i})`;}),o}var le=se(ae),f=ve(ae);var Et=new Set(["alt","size","src"]),Dt=kt.all.filter(e=>e.indexOf("-")!=0&&!Et.has(e)).map(e=>[e.replace(/-([a-z])/g,(t,o)=>o.toUpperCase()),null]),Ot=Object.fromEntries(Dt),pe=U(f.colors),Mt={color:pe,backgroundColor:pe,borderColor:pe,border:f.borders,borderRadius:f.radii,borderWidth:f.borderWidths,boxShadow:f.shadows,fontFamily:f.fontFamilies,fontSize:f.fontSizes,fontWeight:f.fontWeights,gap:f.space,lineHeight:f.lineHeights,margin:f.space,marginBottom:f.space,marginLeft:f.space,marginRight:f.space,marginTop:f.space,padding:f.space,paddingBottom:f.space,paddingLeft:f.space,paddingRight:f.space,paddingTop:f.space},ke={...Ot,...Mt},Ee={bg:["backgroundColor"],m:["margin"],mt:["marginTop"],mr:["marginRight"],mb:["marginBottom"],ml:["marginLeft"],mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"],p:["padding"],pt:["paddingTop"],pr:["paddingRight"],pb:["paddingBottom"],pl:["paddingLeft"],px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},De=new Set(["active","focus","focusVisible","focusWithin","hover"]);function Ht(e){return Array.isArray(e)?new Map(e.map(t=>[t,t])):typeof e=="object"&&e!==null?new Map(Object.entries(e)):typeof e=="string"||typeof e=="number"?new Map([[e,e]]):new Map}var Oe=new Map(Object.entries(ke).map(([e,t])=>[e,Ht(t)])),It=new Map(Object.entries(Ee).map(([e,t])=>[e,new Set(t)])),Wt=new Set(["height","width"]),At=new Set(["canvas","embed","iframe","img","input","object","video"]);function Me(e){let[t,o]=e.split(":");return [t,De.has(o)?o:null]}function He(e,t="div"){let o=Object.assign({},e),i={};function r(n){if(n==null)return i;let a=`&:${n.replace(/[A-Z]/g,c=>`-${c.toLocaleLowerCase()}`)}`;return i[a]==null&&(i[a]={}),i[a]}return Object.entries(o).forEach(([n,s])=>{let[a,c]=Me(n),x=It.get(a);x!=null&&(x.forEach(m=>{let d=`${m}${c?":"+c:""}`;o[d]=s;}),delete o[n]);}),Object.entries(o).forEach(([n,s])=>{let[a,c]=Me(n),x=Oe.get(a);if(x!=null){if(typeof s=="string"&&s.indexOf(" ")>-1){let m=s.split(" ");r(c)[a]=m.map(d=>x.get(d.toString())??d).join(" ");}else x.has(s.toString())?r(c)[a]=x.get(s.toString()):r(c)[a]=s;(typeof t!="string"||!At.has(t)||!Wt.has(a))&&delete o[n];}}),Object.keys(o).forEach(n=>{let s=n.substring(1);n.indexOf("_")===0&&Oe.has(s)&&(o[s]=o[n],delete o[n]);}),{cssFromProps:i,unmatchedProps:o}}function Lt(){if(typeof window>"u"){let{JSDOM:e}=wt("jsdom");return new e("<!DOCTYPE html>").window}return window}function Ie(e){return e?{__html:Vt(Lt()).sanitize(e,{ALLOWED_TAGS:["b","i","a","span","div","p","pre","u","br","img","code","li","ul","table","tbody","thead","tr","td","th","h1","h2","h3","h4","video"],ALLOWED_ATTR:["style","class","target","id","href","alt","src","controls","autoplay","loop","muted"]})}:{__html:""}}function _t(e){return e&&`fr-${e}`}function Ve(e){return e&&(Array.isArray(e)?e.map(t=>Ve(t)).join(" "):_t(e))}function zt({as:e,children:t,className:o,css:i={},part:r,...n},s){let a=e??"div",{cssFromProps:c,unmatchedProps:x}=He(n,a),m=Ve(r),d=o||m?clsx(o,m):void 0,h=[{boxSizing:"border-box"},c,i];return typeof t=="string"?jsx(a,{className:d,css:h,...x,ref:s,dangerouslySetInnerHTML:Ie(t)}):jsx(a,{className:d,css:h,...x,ref:s,children:t})}var p=ue.forwardRef(zt);var u={};Z(u,{Body1:()=>io,Body2:()=>ao,Caption:()=>so,Display1:()=>Zt,Display2:()=>eo,H1:()=>to,H2:()=>oo,H3:()=>ro,H4:()=>no});var de={};Z(de,{Body1:()=>Xt,Body2:()=>qt,Caption:()=>Yt,Display1:()=>jt,Display2:()=>Kt,H1:()=>Nt,H2:()=>Ut,H3:()=>Gt,H4:()=>Jt});var E={color:"neutral.foreground",fontFamily:"default",margin:"0"},jt={...E,fontSize:"5xl",fontWeight:"bold",lineHeight:"4xl"},Kt={...E,fontSize:"4xl",fontWeight:"bold",lineHeight:"3xl"},Nt={...E,fontSize:"3xl",fontWeight:"demibold",lineHeight:"2xl"},Ut={...E,fontSize:"2xl",fontWeight:"demibold",lineHeight:"xl"},Gt={...E,fontSize:"xl",fontWeight:"demibold",lineHeight:"lg"},Jt={...E,fontSize:"md",fontWeight:"demibold",lineHeight:"md"},Xt={...E,fontSize:"md",fontWeight:"regular",lineHeight:"md"},qt={...E,fontSize:"sm",fontWeight:"regular",lineHeight:"sm"},Yt={...E,fontSize:"xs",fontWeight:"regular",lineHeight:"xs"};var Qt=["Display1","Display2","H1","H2","H3","H4","Body1","Body2","Caption"],D=Object.fromEntries(Qt.map(e=>{let t=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():"span",o=ue.forwardRef(({as:i=t,children:r,...n},s)=>jsx(p,{as:i,...de[e],...n,ref:s,children:r}));return o.displayName=`Text.${e}`,[e,o]})),Zt=D.Display1,eo=D.Display2,to=D.H1,oo=D.H2,ro=D.H3,no=D.H4,io=D.Body1,ao=D.Body2,so=D.Caption;var ce={};Z(ce,{Link:()=>uo,Plain:()=>mo,Primary:()=>po,Secondary:()=>co});var ee={borderWidth:"0",borderRadius:"md",display:"flex",gap:"2",padding:"2 4"},po={...ee,backgroundColor:"primary.surface",color:"primary.foreground","backgroundColor:hover":"primary.hover.surface"},co={...ee,backgroundColor:"secondary.background",borderColor:"secondary.border",borderStyle:"solid",borderWidth:"1px",color:"secondary.foreground","backgroundColor:hover":"secondary.hover.background"},uo={...ee,backgroundColor:"transparent",color:"primary.surface","color:hover":"primary.hover.surface"},mo={...ee,backgroundColor:"transparent",color:"neutral.foreground"};function $e({as:e,children:t,part:o,title:i,variant:r="Primary",...n}){let s=r.toLocaleLowerCase();return jsxs(p,{as:e??"button",part:[`button-${s}`,o],...ce[r],...n,children:[t,i&&jsx(u.Body2,{color:"inherit",flexGrow:"1",fontWeight:"demibold",css:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},children:i})]})}var fo=["Primary","Secondary","Link","Plain"],go=Object.fromEntries(fo.map(e=>{let t=o=>jsx($e,{...o,variant:e,children:o.children});return t.displayName=`Button.${e}`,[e,t]})),b=Object.assign($e,go);var y={};Z(y,{Column:()=>ho,Row:()=>yo});var yo=ue.forwardRef((e,t)=>jsx(p,{display:"flex",flexDirection:"row",...e,ref:t})),ho=ue.forwardRef((e,t)=>jsx(p,{display:"flex",flexDirection:"column",...e,ref:t}));var B=createContext({apiKey:"",modals:new Set,setModals:()=>{},currentModal:null,navigate:()=>{}});function Ro({children:e,navigate:t,theme:o,...i}){let r=o?se(o):{},[n,s]=useState(new Set),a=useMemo(()=>new Frigade(i.apiKey,{apiKey:i.apiKey,apiUrl:i.apiUrl,userId:i.userId,groupId:i.groupId,__readOnly:i.__readOnly,__flowConfigOverrides:i.__flowConfigOverrides}),[i.userId,i.groupId,i.apiKey]),c=t??((m,d="_self")=>{window.open(m,d);});useEffect(()=>()=>{a.destroy();},[]);let x=n.size>0?n.values().next().value:null;return jsxs(B.Provider,{value:{modals:n,setModals:s,currentModal:x,navigate:c,...i,frigade:a},children:[jsx(Global,{styles:{":root":{...le,...r}}}),jsx(ThemeProvider,{theme:f,children:e})]})}function G(e,t){let[o,i]=useState(),[,r]=useState(""),{frigade:n}=useContext(B),s=a=>{a.id===e&&(t!=null&&t.variables&&a.applyVariables(t.variables),i(a),r(Math.random().toString()));};return useEffect(()=>((async()=>{let a=await n.getFlow(e);if(!a||n.hasFailedToLoad()){i(void 0);return}t!=null&&t.variables&&a.applyVariables(t.variables),i(a);})(),n.onStateChange(s),()=>{n.removeStateChangeHandler(s);}),[]),{flow:o}}function V(e,{onComplete:t,onDismiss:o}={}){let i=useRef(null);return useEffect(()=>{e!=null&&(e.isCompleted&&i.current===!1&&(async()=>await(t==null?void 0:t(e)))(),i.current=e==null?void 0:e.isCompleted);},[e==null?void 0:e.isCompleted]),{handleDismiss:useCallback(async r=>{if(await(o==null?void 0:o(e,r))===!1)return r.preventDefault(),!1;await e.skip();},[e])}}function J(e,{onPrimary:t,onSecondary:o}={}){let{navigate:i}=useContext(B);return {handlePrimary:useCallback(async(r,n)=>await(t==null?void 0:t(e,r))===!1?(r.preventDefault(),!1):(await e.complete(n),e.primaryButtonUri!=null&&i(e.primaryButtonUri,e.primaryButtonUriTarget),!0),[e]),handleSecondary:useCallback(async(r,n)=>await(o==null?void 0:o(e,r))===!1?(r.preventDefault(),!1):(await e.complete(n),e.secondaryButtonUri!=null&&i(e.secondaryButtonUri,e.secondaryButtonUriTarget),!0),[e])}}function X(e){let{currentModal:t,modals:o,setModals:i}=useContext(B),[r,n]=useState(!1);useEffect(()=>{e!=null&&e.isVisible&&e&&!o.has(e.id)&&i(a=>new Set(a).add(e.id));},[e==null?void 0:e.id,e==null?void 0:e.isVisible]),useEffect(()=>{let a=t===(e==null?void 0:e.id);(e==null?void 0:e.id)!=null&&a!==r&&n(a);},[e==null?void 0:e.id,t]);function s(){o.has(e==null?void 0:e.id)&&i(a=>{let c=new Set(a);return c.delete(e==null?void 0:e.id),c});}return {isCurrentModal:r,removeModal:s}}function H({as:e,children:t,container:o,dismissible:i=!1,flowId:r,onComplete:n,onDismiss:s,onPrimary:a,onSecondary:c,variables:x,...m}){let{flow:d}=G(r,{variables:x}),h=d==null?void 0:d.getCurrentStep(),{handleDismiss:A}=V(d,{onComplete:n,onDismiss:s}),{handlePrimary:Y,handleSecondary:ne}=J(h,{onPrimary:a,onSecondary:c}),{isCurrentModal:K,removeModal:ie}=X(d);return useEffect(()=>{!(d!=null&&d.isVisible)&&K&&ie();},[d==null?void 0:d.isVisible,K]),d==null||!d.isVisible||!K?null:(d.start(),h.start(),jsx(e??p,{position:"relative",...m,children:t({flow:d,handleDismiss:A,handlePrimary:Y,handleSecondary:ne,parentProps:{container:o,dismissible:i,flowId:r,variables:x,...m},step:h})}))}function Ge(e){return jsx(H,{as:g,gap:5,borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",part:"card",...e,children:({handleDismiss:t,handlePrimary:o,handleSecondary:i,parentProps:{dismissible:r},step:n})=>jsxs(Fragment,{children:[jsxs(y.Row,{alignItems:"center",flexWrap:"wrap",gap:1,justifyContent:"space-between",part:"card-header",children:[jsx(g.Title,{children:n.title}),r&&jsx(g.Dismiss,{onClick:t}),jsx(g.Subtitle,{flexBasis:"100%",children:n.subtitle})]}),jsx(g.Media,{src:n.imageUri,css:{objectFit:"contain",width:"100%"}}),jsxs(y.Row,{gap:3,justifyContent:"flex-end",part:"card-footer",children:[jsx(g.Secondary,{title:n.secondaryButtonTitle,onClick:i}),jsx(g.Primary,{title:n.primaryButtonTitle??"Continue",onClick:o})]})]})})}function Je({part:e,src:t,...o}){return jsx(p,{as:"img",part:["image",e],src:t,...o})}function $o(e){var t,o,i,r;if(e.includes("youtube"))return `https://www.youtube.com/embed/${(t=e.split("v=")[1])==null?void 0:t.split("&")[0]}`;if(e.includes("vimeo"))return `https://player.vimeo.com/video/${(o=e.split("vimeo.com/")[1])==null?void 0:o.split("&")[0]}`;if(e.includes("wistia"))return `https://fast.wistia.net/embed/iframe/${(i=e.split("wistia.com/medias/")[1])==null?void 0:i.split("&")[0]}`;if(e.includes("loom"))return `https://loom.com/embed/${(r=e.split("loom.com/share/")[1])==null?void 0:r.split("&")[0]}?hideEmbedTopBar=true&hide_title=true&hide_share=true&hide_owner=true`;throw new Error("Could not map videoUri to a known provider (Youtube, Vimeo, Wistia, Loom).")}function Xe({part:e,src:t,...o}){let i=$o(t);return jsx(p,{allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,as:"iframe",backgroundColor:"gray100",borderWidth:0,part:["video",e],src:i,...o})}function $({src:e,type:t,...o}){return jsx(t==="video"?Xe:Je,{src:e,...o})}var g=ue.forwardRef(({children:e,flowId:t,...o},i)=>{if(t!=null)return jsx(Ge,{flowId:t,...o});let r=o.as??y.Column;return jsx(r,{backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderRadius:"md",borderWidth:"0",gap:5,p:5,...o,ref:i,children:e})});g.Dismiss=e=>jsx(b.Plain,{part:"dismiss",padding:0,...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})});g.Media=({src:e,...t})=>e==null?null:jsx($,{borderRadius:"md",src:e,...t});g.Primary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Primary,{title:t,onClick:e,...o});g.Secondary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Secondary,{title:t,onClick:e,...o});g.Subtitle=({children:e,...t})=>e==null?null:jsx(u.Body2,{display:"block",part:"subtitle",...t,children:e});g.Title=({children:e,...t})=>e==null?null:jsx(u.Body1,{display:"block",fontWeight:"bold",part:"title",...t,children:e});function F({children:e,...t}){return jsx(T.Root,{defaultOpen:!0,modal:!0,children:jsx(T.Portal,{children:jsxs(p,{inset:"0",position:"fixed",zIndex:"9999",children:[jsx(T.Overlay,{asChild:!0,children:jsx(p,{background:"rgb(0 0 0 / 0.5)",part:"dialog-overlay",position:"fixed",inset:"0"})}),jsx(T.Content,{asChild:!0,onOpenAutoFocus:o=>o.preventDefault(),onPointerDownOutside:o=>o.preventDefault(),children:jsx(g,{boxShadow:"md",left:"50%",maxWidth:"430px",p:8,part:"dialog",position:"fixed",textAlign:"center",top:"50%",transform:"translate(-50%, -50%)",...t,children:e})})]})})})}F.Dismiss=e=>jsx(T.Close,{"aria-label":"Close",asChild:!0,children:jsx(b.Plain,{part:"close",position:"absolute",right:"-4px",top:"4px",...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})})});F.Subtitle=({children:e,...t})=>jsx(T.Description,{asChild:!0,children:jsx(u.Body2,{part:"subtitle",...t,children:e})});F.Media=({src:e,...t})=>e==null?null:jsx($,{borderRadius:"md",src:e,...t});F.Primary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Primary,{title:t,onClick:e,...o});F.ProgressDots=({current:e,total:t})=>{if(t==1)return null;let o=[...Array(t)].map((i,r)=>jsx("circle",{r:4,cx:4+16*r,cy:"4px",fill:e===r?f.colors.blue500:f.colors.blue800},r));return jsx(p,{as:"svg",height:"8px",marginInline:"auto",part:"progress",viewBox:`0 0 ${16*t-8} 8`,width:16*t-8,children:o})};F.Secondary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Secondary,{title:t,onClick:e,...o});F.Title=({children:e,...t})=>jsx(T.Title,{asChild:!0,children:jsx(u.H3,{part:"title",...t,children:e})});function Uo({flowId:e,...t}){return jsx(H,{as:F,dismissible:!0,flowId:e,...t,children:({flow:o,handleDismiss:i,handlePrimary:r,handleSecondary:n,parentProps:{dismissible:s},step:a})=>jsxs(Fragment,{children:[s&&jsx(F.Dismiss,{onClick:i}),jsxs(y.Column,{gap:1,part:"announcement-header",children:[jsx(F.Title,{children:a.title}),jsx(F.Subtitle,{children:a.subtitle})]}),jsx(F.Media,{src:a.videoUri??a.imageUri,type:a.videoUri?"video":"image",css:{aspectRatio:"1.5",objectFit:"cover",width:"100%"}}),jsx(F.ProgressDots,{current:o.getNumberOfCompletedSteps(),total:o.getNumberOfAvailableSteps()}),jsxs(y.Row,{css:{"& > button":{flexBasis:"50%",flexGrow:1}},gap:3,part:"announcement-footer",children:[a.secondaryButtonTitle&&jsx(F.Secondary,{onClick:n,title:a.secondaryButtonTitle}),a.primaryButtonTitle&&jsx(F.Primary,{onClick:r,title:a.primaryButtonTitle??"Continue"})]})]})})}function Jo({flowId:e,...t}){return jsx(H,{as:g,borderWidth:"md",display:"flex",flexDirection:"row",flowId:e,gap:3,justifyContent:"space-between",part:"banner",...t,children:({handleDismiss:o,handlePrimary:i,handleSecondary:r,step:n})=>jsxs(Fragment,{children:[jsxs(y.Row,{gap:3,children:[n.imageUri&&jsx("img",{src:n.imageUri,style:{height:40,width:40,alignSelf:"center"}}),jsxs(y.Column,{children:[jsx(u.H4,{mb:1,children:n.title}),jsx(u.Body2,{color:"gray500",children:n.subtitle})]})]}),jsxs(y.Row,{alignItems:"center",gap:3,justifyContent:"center",children:[n.secondaryButtonTitle&&jsx(b.Secondary,{title:n.secondaryButtonTitle,onClick:r}),jsx(b.Primary,{title:n.primaryButtonTitle,onClick:i}),t.dismissible&&jsx(g.Dismiss,{onClick:o})]})]})})}var Qo=new Set(["required","min","max","minLength","maxLength","pattern"]);function Zo({fieldComponent:e,control:t,fieldData:o}){o.pattern!=null&&(typeof o.pattern=="string"?o.pattern=new RegExp(o.pattern.replace(/^\/|\/$/g,"")):typeof o.pattern=="object"&&typeof o.pattern.value=="string"&&(o.pattern.value=new RegExp(o.pattern.value.replace(/^\/|\/$/g,""))));let i=Object.fromEntries(Object.entries(o).filter(([n])=>Qo.has(n))),r=useController({name:o.id,control:t,rules:i});return jsx(e,{...r,fieldData:o})}function Ye({fieldTypes:e,handleDismiss:t,handlePrimary:o,handleSecondary:i,parentProps:{dismissible:r},step:n}){var d;let{control:s,handleSubmit:a}=useForm({delayError:2e3,mode:"onChange"}),c=[];function x(h,A){o(A,h);}function m(h,A){i(A,h);}return (d=n.fields)==null||d.forEach(h=>{e[h.type]!=null&&c.push(jsx(Zo,{control:s,fieldComponent:e[h.type],fieldData:h},h.id));}),jsxs(y.Column,{gap:5,part:"form-step",children:[jsxs(y.Row,{alignItems:"center",flexWrap:"wrap",gap:1,justifyContent:"space-between",part:"form-step-header",children:[jsx(g.Title,{children:n.title}),r&&jsx(g.Dismiss,{onClick:t}),jsx(g.Subtitle,{flexBasis:"100%",children:n.subtitle})]}),c,jsxs(y.Row,{part:"form-step-footer",justifyContent:"flex-end",gap:3,children:[n.secondaryButtonTitle&&jsx(b.Secondary,{title:n.secondaryButtonTitle,onClick:a(m)}),jsx(b.Primary,{title:n.primaryButtonTitle??"Submit",onClick:a(x)})]},"form-footer")]})}function Qe({error:e}){var t;return (t=e==null?void 0:e.message)!=null&&t.length?jsx(u.Caption,{color:"red500",display:"block",part:"field-error",textAlign:"end",children:e==null?void 0:e.message}):null}function Ze({children:e,id:t,required:o=!1}){return jsxs(u.H4,{as:"label",htmlFor:t,part:"field-label",children:[e,o&&" *"]})}var q={px:"4",py:"2",backgroundColor:"neutral.background",borderColor:"neutral.border",borderStyle:"solid",borderWidth:"md",borderRadius:"md",display:"block",outline:"none",width:"100%"};function W({children:e,field:t,fieldData:o,fieldState:i}){let{id:r,label:n,placeholder:s}=o,{error:a}=i,c={id:r,...t,...s?{placeholder:s}:{},...q,"aria-invalid":!!a,value:t.value??""};return jsxs(p,{part:"field",children:[jsx(Ze,{id:r,required:!!o.required,children:n}),e(c),jsx(Qe,{error:a})]})}var rr=()=>jsx(p,{as:"svg",color:"primary.foreground",width:"10px",height:"8px",viewBox:"0 0 10 8",fill:"none",children:jsx("path",{d:"M1 4.34664L3.4618 6.99729L3.4459 6.98017L9 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),nr=ue.forwardRef(({label:e,value:t},o)=>jsxs(p,{as:"label",backgroundColor:"neutral.background",borderColor:"neutral.border",borderRadius:"md",borderStyle:"solid",borderWidth:"md",display:"flex",htmlFor:t,justifyContent:"space-between",part:"field-radio",px:4,py:2,children:[jsx(u.Body2,{part:"field-radio-label",children:e}),jsx(N.Item,{id:t,value:t,ref:o,asChild:!0,children:jsx(p,{as:"button",backgroundColor:"inherit",borderWidth:"md",borderStyle:"solid",borderColor:"neutral.border",borderRadius:"100%",padding:"0",part:"field-radio-value",position:"relative",height:"24px",width:"24px",children:jsx(p,{as:N.Indicator,alignItems:"center",bg:"primary.surface",borderWidth:"md",borderStyle:"solid",borderColor:"primary.border",borderRadius:"100%",display:"flex",height:"calc(100% + 2px)",justifyContent:"center",left:"-1px",part:"field-radio-indicator",position:"absolute",top:"-1px",width:"calc(100% + 2px)",children:jsx(rr,{})})})})]}));function rt(e){let{field:{onChange:t,value:o},fieldData:{options:i=[]}}=e,r=i.map(({label:n,value:s})=>jsx(nr,{value:s,label:n},s));return jsx(W,{...e,children:()=>jsx(N.Root,{value:o,onValueChange:t,asChild:!0,children:jsx(y.Column,{gap:2,part:"field-radio-group",children:r})})})}var sr=ue.forwardRef(({label:e,value:t},o)=>jsx(S.Item,{value:t,ref:o,asChild:!0,children:jsx(p,{"backgroundColor:hover":"blue900",borderRadius:"md",outline:"none",part:"field-select-option",px:"3",py:"2",children:jsx(S.ItemText,{asChild:!0,children:jsx(u.Body2,{part:"field-select-option-label",children:e})})})}));function at(e){let{field:{onChange:t,value:o},fieldData:{options:i=[],placeholder:r}}=e,n=i.map(({label:s,value:a})=>jsx(sr,{value:a,label:s},a));return jsx(W,{...e,children:()=>jsxs(S.Root,{value:o,onValueChange:t,children:[jsx(S.Trigger,{asChild:!0,children:jsxs(u.Body2,{...q,alignItems:"center",display:"flex",justifyContent:"space-between",part:"field-select",children:[jsx(S.Value,{placeholder:r??"Select one"}),jsx(S.Icon,{children:jsx(p,{as:ChevronDownIcon,color:"gray100",display:"block",height:"24px",part:"field-select-icon",width:"24px"})})]})}),jsx(S.Portal,{children:jsx(S.Content,{position:"popper",sideOffset:4,asChild:!0,children:jsx(p,{...q,p:"1",part:"field-select-options",width:"var(--radix-popper-anchor-width)",children:jsx(S.Viewport,{children:n})})})})]})})}function lt(e){return jsx(W,{...e,children:t=>jsx(u.Body2,{as:"input",part:"field-text",type:"text",...t})})}function dt(e){return jsx(W,{...e,children:t=>jsx(u.Body2,{as:"textarea",part:"field-textarea",...t})})}var lr={radio:rt,select:at,text:lt,textarea:dt};function pr({fieldTypes:e={},flowId:t,...o}){let i=Object.assign({},lr,e);return jsx(H,{flowId:t,part:"form",...o,children:r=>jsx(Ye,{fieldTypes:i,...r})})}function oe(){let e="DOMRect"in globalThis?new DOMRect:{height:0,width:0,x:0,y:0,bottom:0,top:0,right:0,left:0,toJSON:()=>{}},[t,o]=useState(e),[i,r]=useState(null),n=useCallback(s=>{r(s);},[]);return useLayoutEffect(()=>{if(!i)return;let s=()=>{let a=i.getBoundingClientRect();o(a);};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[i]),{node:i,rect:t,ref:n}}var mr=keyframes({"0%":{opacity:.5,transform:"scale(0.5)"},"50%":{opacity:0,transform:"scale(1)"},"100%":{opacity:0,transform:"scale(1)"}});function ft({style:e={},part:t="",...o}){return jsxs(p,{part:`dot-wrapper ${t}`,style:{height:"48px",position:"absolute",width:"48px",...e},...o,children:[jsx(p,{backgroundColor:"primary.surface",part:"dot-pulse",css:{animation:`2s ease-out infinite ${mr}`,borderRadius:"24px",height:"48px",left:0,position:"absolute",top:0,transformOrigin:"center center",width:"48px"}}),jsx(p,{backgroundColor:"primary.surface",part:"dot",style:{borderRadius:"12px",height:"24px",left:"12px",position:"absolute",top:"12px",width:"24px"}})]})}function gt({props:e,alignAttr:t,sideAttr:o}){let i=o??"bottom",r={},n=()=>{if(["after","before"].includes(e.align)){if(t=="start")return "before";if(t=="end")return "after"}return e.align??"after"},s="-24px",a={top:"bottom",right:"left",bottom:"top",left:"right"};r[a[i]]=s;let c=n();return ["before","end"].includes(c)?["top","bottom"].includes(i)?r.right=s:r.bottom=s:["after","start"].includes(c)?["top","bottom"].includes(i)?r.left=s:r.top=s:["top","bottom"].includes(i)?r.left=`calc(50% + ${s})`:r.top=`calc(50% + ${s})`,r}var xt={content:["align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","forceMount","hideWhenDetached","onCloseAutoFocus","onEscapeKeyDown","onFocusOutside","onInteractOutside","onOpenAutoFocus","onPointerDownOutside","side","sideOffset","sticky"],root:["defaultOpen","modal","onOpenChange","open"]};function yt(e,t){let o=Object.fromEntries(xt.content.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0)),i=Object.fromEntries(xt.root.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0));if(o.align=o.align??"after",o.side=o.side??"bottom",["before","after"].includes(o.align)){let r={after:"end",before:"start"},n=(d,h)=>["top","bottom"].includes(h)?d=="after"?"marginLeft":"marginRight":d=="after"?"marginTop":"marginBottom",s=o.alignOffset??0,a=o.style??{},c=o.side??"bottom",x=o.align;o.style={...a,[n(x,c)]:s};let m=["top","bottom"].includes(c)?t.width:t.height;o.alignOffset=(m+s)*-1,o.align=r[x];}return {contentProps:o,rootProps:i}}function C({anchor:e,children:t,className:o,spotlight:i=!1,style:r,...n}){let{node:s,rect:a,ref:c}=oe(),{node:x,rect:m,ref:d}=oe(),{contentProps:h,rootProps:A}=yt(n,a),[Y,ne]=useState(h.align),[K,ie]=useState(h.side),[he,Pt]=useState(0),[St,Ct]=useState(0);if(s!==null){let M=s.getAttribute("data-align"),Q=s.getAttribute("data-side");Y!==M&&ne(M),K!==Q&&ie(Q);}let be=useRef(null);if(useEffect(()=>{let M=document.querySelector(e);M!=null&&(d(M),be.current=M);},[e]),useEffect(()=>{let{scrollX:M,scrollY:Q}=window;Pt(m.left+M),Ct(m.top+Q);},[m.left,m.top]),x==null)return null;let Pe="0";typeof window<"u"&&(Pe=window.getComputedStyle(x).borderRadius);let Ft=gt({props:n,alignAttr:Y,sideAttr:K});return jsxs(k.Root,{defaultOpen:!0,...A,children:[jsx(k.Anchor,{virtualRef:be}),jsx(k.Portal,{children:jsxs("div",{className:o,css:{bottom:0,left:0,position:"absolute",right:0,top:0,zIndex:9999,pointerEvents:"none"},children:[i&&jsx(p,{part:"tooltip-spotlight",position:"absolute",style:{borderRadius:Pe,boxShadow:"0 0 0 20000px rgb(0 0 0 / 0.5)",height:m.height,left:he,top:St,width:m.width}}),jsx(k.Content,{asChild:!0,...h,ref:c,children:jsxs(g,{boxShadow:"md",part:"tooltip",position:"relative",css:{maxWidth:"360px",pointerEvents:"auto",...r},children:[jsx(ft,{style:Ft}),t]})})]})})]})}C.Close=e=>jsx(k.Close,{"aria-label":"Close",asChild:!0,children:jsx(b.Plain,{css:{top:"12px",right:"4px"},part:"close",position:"absolute",...e,children:jsx(XMarkIcon,{height:"24",fill:"currentColor"})})});C.Media=({src:e,...t})=>e==null?null:jsx($,{borderRadius:"md md 0 0",borderWidth:"0",css:{aspectRatio:"2",objectFit:"cover"},margin:"-5 -5 0",src:e,...t});C.Primary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Primary,{title:t,onClick:e,...o});C.Progress=({children:e,...t})=>e==null?null:jsx(u.H4,{part:"progress",...t,children:e});C.Secondary=({onClick:e,title:t,...o})=>t==null?null:jsx(b.Secondary,{title:t,onClick:e,...o});C.Subtitle=({children:e,...t})=>e==null?null:jsx(u.Body2,{part:"subtitle",...t,children:e});C.Title=({children:e,...t})=>e==null?null:jsx(u.H4,{part:"title",...t,children:e});function bt({dismissible:e=!0,flow:t,onDismiss:o,onPrimary:i,onSecondary:r,step:n,...s}){let{handleDismiss:a}=V(t,{onDismiss:o}),{handlePrimary:c,handleSecondary:x}=J(n,{onPrimary:i,onSecondary:r});return jsxs(C,{anchor:n.selector,onOpenAutoFocus:m=>m.preventDefault(),onPointerDownOutside:m=>m.preventDefault(),...s,children:[e&&jsx(C.Close,{onClick:a}),jsx(C.Media,{src:n.videoUri??n.imageUri,type:n.videoUri?"video":"image"}),jsxs(y.Column,{gap:1,part:"tooltip-header",children:[jsx(C.Title,{children:n.title}),jsx(C.Subtitle,{color:"gray500",children:n.subtitle})]}),jsxs(y.Row,{alignItems:"center",gap:3,justifyContent:"flex-end",part:"tooltip-footer",children:[jsx(C.Progress,{marginRight:"auto",transform:"translateY(1px)",children:`${t.getNumberOfCompletedSteps()+1}/${t.getNumberOfAvailableSteps()}`}),jsx(C.Secondary,{title:n.secondaryButtonTitle,onClick:x}),jsx(C.Primary,{title:n.primaryButtonTitle,onClick:c})]})]},n.id)}function hr({flowId:e,onComplete:t,variables:o,...i}){let{flow:r}=G(e,{variables:o});V(r,{onComplete:t});let{isCurrentModal:n,removeModal:s}=X(r);if(useEffect(()=>{!(r!=null&&r.isVisible)&&n&&s();},[r==null?void 0:r.isVisible,n]),r==null||r.isVisible===!1||!n)return null;r.start();let a=r.getCurrentStep();return a==null||a.start(),jsx(bt,{step:a,flow:r,...i})}function Sr(){let{frigade:e}=useContext(B);return {frigade:e,isLoading:!(e!=null&&e.isReady())}}function Fr(){let{userId:e,frigade:t}=useContext(B);async function o(r){await t.identify(e,r);}async function i(r,n){await t.track(r,n);}return {userId:e,addProperties:o,track:i}}function wr(){let{groupId:e,frigade:t}=useContext(B);async function o(r){if(!e){console.error("No Group ID is set. Cannot set properties without a Group ID.");return}await t.group(e,r);}async function i(r,n){await t.track(r,n);}return {groupId:e,addProperties:o,track:i}}
20
20
 
21
- export { Gt as Announcement, Jt as Banner, p as Box, h as Button, u as Card, x as Flex, dr as Form, Rt as Provider, m as Text, T as Tooltip, br as Tour, ie as useBoundingClientRect, J as useFlow, L as useFlowHandlers, Sr as useFrigade, Rr as useGroup, Y as useModal, q as useStepHandlers, Tr as useUser };
21
+ export { Uo as Announcement, Jo as Banner, p as Box, b as Button, g as Card, y as Flex, pr as Form, Ro as Provider, u as Text, C as Tooltip, hr as Tour, le as themeVariables, oe as useBoundingClientRect, G as useFlow, V as useFlowHandlers, Sr as useFrigade, wr as useGroup, X as useModal, J as useStepHandlers, Fr as useUser };
22
22
  //# sourceMappingURL=out.js.map
23
23
  //# sourceMappingURL=index.js.map