@revvue/embed 0.0.0-beta.5 → 0.0.0-dev.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.
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{--rvv-width:440px;--rvv-height:600px;background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:var(--rvv-height);width:var(--rvv-width);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{background-color:var(--rvv-color-background);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{--rvv-width:420px;background-color:var(--rvv-color-background);width:var(--rvv-width);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}
@@ -0,0 +1 @@
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{--rvv-width:100%;--rvv-height:500px;background-color:var(--rvv-color-background);height:var(--rvv-height);width:var(--rvv-width);position:relative;overflow:hidden}.rvv-widget iframe{border:none;width:100%;height:100%;display:block}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:84px;right:24px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{--rvv-width:400px;--rvv-height:600px;height:var(--rvv-height);min-width:360px;min-height:400px;width:var(--rvv-width)}@media (width<=480px){.rvv-popover{bottom:74px;right:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{--rvv-width:420px;background-color:var(--rvv-color-background);width:var(--rvv-width);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{--rvv-width:440px;--rvv-height:600px;background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:var(--rvv-height);width:var(--rvv-width);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:96px;right:16px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{width:100%;min-width:360px;min-height:400px}@media (width<=480px){.rvv-popover{border-radius:var(--radius-base) var(--radius-base) 0 0;transform-origin:bottom;min-width:0;bottom:0;left:0;right:0;width:100%!important}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:84px;right:24px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{--rvv-width:400px;--rvv-height:600px;height:var(--rvv-height);min-width:360px;min-height:400px;width:var(--rvv-width)}@media (width<=480px){.rvv-popover{bottom:74px;right:16px}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:100%;min-height:inherit;width:100%;position:relative;overflow:hidden}.rvv-widget iframe{height:100%;min-height:inherit;border:none;width:100%;display:block}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{--rvv-width:100%;--rvv-height:500px;background-color:var(--rvv-color-background);height:var(--rvv-height);width:var(--rvv-width);position:relative;overflow:hidden}.rvv-widget iframe{border:none;width:100%;height:100%;display:block}
@@ -1,2 +1,19 @@
1
- var rvv=(function(){var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=e=>e;function r(e,t={}){let n={};for(let r in e){let i=e[r],a=t[r];if(a!==void 0)n[r]=i.parse?i.parse(a):a;else if(i.default!==void 0)n[r]=i.default;else if(i.required)throw Error(`[embed] Missing required env variable: ${r}`)}return n}var i=e=>e.replace(/\/$/,``),a=r({CHAT_URL:{default:`https://app.revvue.ai/chat`,parse:i},FORM_URL:{default:`https://app.revvue.ai/survey`,parse:i},CDN_URL:{default:`https://cdn.revvue.ai/v1`,parse:i},EMBED_LOOKUP_URL:{default:`https://app.revvue.ai/api/v1/embeds`,parse:i},DEBUG:{default:!1,parse:e=>e===`true`}},{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1});function o(e){if(e){let t=e.src;if(t.includes(`&refresh`))e.src=t.split(`&refresh#`).join(`#`);else{let n=t.split(`#`);n[0]=`${n[0]}&refresh`,e.src=n.join(`#`)}}}var s={close:`rvv-embed-close`,focus:`rvv-embed-focus`};function c(e){let t=e.app===`chat`?a.CHAT_URL:a.FORM_URL,n=new URLSearchParams({tenant_id:e.tenantId});return e.app===`chat`&&n.set(`integration_profile_id`,e.integrationProfileId),`${t}?${n}`}function l(e){let t=c(e),n=crypto.randomUUID(),r=document.createElement(`iframe`);return r.src=t,r.dataset.testid=`iframe`,r.style.border=`0px`,r.allow=`microphone; camera`,r.id=n,{iframe:r,focus:()=>{r.contentWindow?.postMessage(s.focus,`*`)},refresh:()=>o(r),embedId:n,onMessage:e=>{let t=t=>{t.source===r.contentWindow&&e(t.data)};return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)}}}function u(){let e=null;function t(){return e!==null}function n(t,n){let r=new AbortController;t.addEventListener(`transitionend`,()=>{e=null,n()},{signal:r.signal,once:!0}),e=()=>{r.abort(),e=null}}function r(){e?.()}return{isClosing:t,scheduleClose:n,cancelPendingClose:r}}var d=e=>f(e)&&p(e),f=e=>!!e.parentNode,p=e=>e.style.display!==`none`,m={open:d,inPage:f,visible:p,browser:()=>typeof document<`u`&&typeof window<`u`};function h(e){let t=new AbortController;return window.addEventListener(`keydown`,e,{signal:t.signal}),t}function g(e){let t=h(n=>{n.key===`Escape`&&(e(),t.abort())})}function _(e=!1){let t=e,n=new Set;return{getState:()=>t,setState(e){if(t!==e){t=e;for(let e of n)e()}},subscribe(e){return n.add(e),()=>{n.delete(e)}}}}var v=e=>typeof e==`string`&&!e.match(/^[0-9]+$/)?e:`${e}px`,y=(e,{width:t,height:n})=>(t&&(e.style.width=v(t)),n&&(e.style.height=v(n)),e),b=()=>{};function x(){let e=document.createElement(`dialog`);return e.classList.add(`rvv-dialog`),e}function S(){let e=document.createElement(`div`);return e.classList.add(`rvv-dialog-wrapper`),e}function C(e){e.remove()}function w(e,t){let n=_();if(!m.browser())return{toggle:b,open:b,close:b,unmount:b,refresh:b,focus:b,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=l(e),c=t??document.body,d=x(),f=S();y(f,{width:e.width,height:e.height}),c.append(d),f.append(r),r.onload=e=>{e?.isTrusted&&(d.showModal(),g(v))};let p=u();function h(){if(m.open(f)){if(p.isClosing()){p.cancelPendingClose(),n.setState(!0);return}return}d.append(f),d.showModal(),n.setState(!0)}function v(){m.open(f)&&(d.close(),p.scheduleClose(d,()=>C(f)),n.setState(!1))}function w(){m.open(f)?v():h()}let T=o(e=>{e===s.close&&v()});function E(){C(d),T()}return{toggle:w,open:h,close:v,unmount:E,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var T=()=>{};function E(){let e=document.createElement(`div`);return e.classList.add(`rvv-drawer`),e}function D(){let e=document.createElement(`div`);return e.classList.add(`rvv-drawer-wrapper`),e}function O(e){e.remove()}function k(e,t){let n=_();if(!m.browser())return{toggle:T,open:T,close:T,unmount:T,refresh:T,focus:T,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=l(e),c=t??document.body,d=E(),f=D();y(f,{width:e.width,height:e.height}),c.append(d),f.append(r),r.onload=e=>{e?.isTrusted&&(d.classList.add(`open`),g(v))};let p=u();function h(){if(m.open(f)){if(p.isClosing()){p.cancelPendingClose(),d.classList.add(`open`),n.setState(!0);return}return}d.append(f),n.setState(!0)}function v(){m.open(f)&&(d.classList.remove(`open`),n.setState(!1),p.scheduleClose(d,()=>O(f)))}function b(){m.open(f)?v():h()}let x=o(e=>{e===s.close&&v()});function S(){O(d),x()}return{toggle:b,open:h,close:v,unmount:S,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var A=`
2
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square-icon lucide-message-square"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"/></svg>`,j=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>`;function M(){let e=document.createElement(`span`);e.classList.add(`rvv-button-icon--open`),e.innerHTML=A;let t=document.createElement(`span`);return t.classList.add(`rvv-button-icon--close`),t.innerHTML=j,{openEl:e,closeEl:t}}function N(e){let t=document.createElement(`button`);t.classList.add(`rvv-button`,`rvv-button--trigger`),t.setAttribute(`type`,`button`),t.dataset.position=e.position??`right`,t.dataset.open=`false`,e.color&&t.style.setProperty(`--rvv-button-color`,e.color),e.textColor&&t.style.setProperty(`--rvv-button-text-color`,e.textColor);let n=document.createElement(`span`);if(n.classList.add(`rvv-button-icon`),n.setAttribute(`aria-hidden`,`true`),e.label){let n=document.createElement(`span`);n.classList.add(`rvv-button-label`),n.textContent=e.label,t.append(n)}if(e.icon)n.innerHTML=e.icon;else if(!e.label){let{openEl:e,closeEl:t}=M();n.append(e,t)}n.childNodes.length>0&&t.append(n);function r(e){t.dataset.open=String(e)}return{el:t,setOpen:r}}var P=()=>{};function F(){let e=document.createElement(`div`);return e.classList.add(`rvv-popover`),e}function I(){let e=document.createElement(`div`);return e.classList.add(`rvv-popover-wrapper`),e}function L(e){e.remove()}function R(e,t){let n=_();if(!m.browser())return{toggle:P,close:P,open:P,unmount:P,refresh:P,focus:P,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=l(e),c=t??document.body,d=F(),f=I();y(f,{width:e.width,height:e.height}),c.append(d),f.append(r);let{autoOpen:p=!1,autoOpenDelay:h=0,trigger:v=`default`}=e,b=P,x=P;if(v===`default`){let{el:t,setOpen:n}=N(e);t.classList.add(`rvv-button--trigger-popover`),b=n,t.addEventListener(`click`,()=>S()),document.body.append(t),x=()=>t.remove()}function S(){m.open(f)?T():w()}r.onload=e=>{e?.isTrusted&&(d.classList.add(`open`),g(T))};let C=u();function w(){if(m.open(f)){if(C.isClosing()){C.cancelPendingClose(),d.classList.add(`open`),n.setState(!0);return}return}d.append(f),b(!0),n.setState(!0)}function T(){m.open(f)&&(d.classList.remove(`open`),b(!1),n.setState(!1),C.scheduleClose(d,()=>L(f)))}let E=o(e=>{e===s.close&&T()});function D(){x(),L(d),E()}return p&&(h>0?setTimeout(()=>w(),h):w()),{toggle:S,close:T,open:w,unmount:D,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var z=()=>{};function B(e,t){if(!m.browser())return{unmount:z,refresh:z,focus:z};let{iframe:n,refresh:r,focus:i}=l(e),a=t??document.body,o=document.createElement(`div`);o.classList.add(`rvv-widget`),a.append(o),y(o,{width:e.width,height:e.height}),o.append(n);function s(){n.remove()}return{unmount:s,refresh:r,focus:i}}var V=t({createDialog:()=>w,createDrawer:()=>k,createPopover:()=>R,createWidget:()=>B}),H={widget:`widget.css`,popover:`popover.css`,drawer:`drawer.css`,dialog:`dialog.css`},U=e=>`${a.CDN_URL}/css/${H[e]}`,W=e=>{let t=U(e);if(!document.querySelector(`link[href="${t}"]`)){let e=document.createElement(`link`);e.rel=`stylesheet`,e.href=t,document.head.append(e)}};async function G(e){let t=await fetch(`${a.EMBED_LOOKUP_URL}/${e}`);if(!t.ok)throw Error(`[rvv] Failed to resolve embed "${e}": ${t.status} ${t.statusText}`);return await t.json()}var K={popover:R,widget:B,drawer:k,dialog:w};async function q(e){if(e.dataset.rvvLoaded===`true`||e.dataset.rvvLoading===`true`)return;let t=e.getAttribute(`data-rvv-embed`);if(!t)throw Error(`[rvv] Missing id on data-rvv-embed`);e.dataset.rvvLoading=`true`;try{let r=await G(n(t));if(!r.type)throw Error(`[rvv] Missing type on embed options`);W(r.type),K[r.type](r,e),e.dataset.rvvLoaded=`true`}finally{delete e.dataset.rvvLoading}}async function J(e=document){let t=Array.from(e.querySelectorAll(`[data-rvv-embed]`));await Promise.all(t.map(q))}function Y(){J()}return document.addEventListener(`DOMContentLoaded`,Y,!1),(document.readyState===`interactive`||document.readyState===`complete`)&&Y(),{...V,load:Y}})();
1
+ var rvv=(function(){var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=e=>e,r=e=>e,i=e=>e,a=e=>e,o=e=>e;function s(e,t={}){let n={};for(let r in e){let i=e[r],a=t[r];if(a!==void 0)n[r]=i.parse?i.parse(a):a;else if(i.default!==void 0)n[r]=i.default;else if(i.required)throw Error(`[embed] Missing required env variable: ${r}`)}return n}var c=e=>e.replace(/\/$/,``),l=s({CHAT_URL:{default:`https://chat.dev.jonna.ai`,parse:c},FORM_URL:{default:`https://app.revvue.ai/survey`,parse:c},CDN_URL:{default:`https://cdn.revvue.ai/v1`,parse:c},EMBED_LOOKUP_URL:{default:`https://public-router.dev.jonna.ai/`,parse:c},DEBUG:{default:!1,parse:e=>e===`true`}},{});function u(e){if(e){let t=e.src;if(t.includes(`&refresh`))e.src=t.split(`&refresh#`).join(`#`);else{let n=t.split(`#`);n[0]=`${n[0]}&refresh`,e.src=n.join(`#`)}}}var d={close:`rvv-embed-close`,focus:`rvv-embed-focus`};function f(e){let t=e.app===`chat`?l.CHAT_URL:l.FORM_URL,n=new URLSearchParams({tenant_id:e.tenantId});if(e.app===`chat`){let t=e;n.set(`app_id`,t.appId),n.set(`public_key`,t.publicKey)}return`${t}?${n}`}function p(e){let t=f(e),n=crypto.randomUUID(),r=document.createElement(`iframe`);return r.src=t,r.dataset.testid=`iframe`,r.style.border=`0px`,r.allow=`microphone; camera`,r.id=n,{iframe:r,focus:()=>{r.contentWindow?.postMessage(d.focus,`*`)},refresh:()=>u(r),embedId:n,onMessage:e=>{let t=t=>{t.source===r.contentWindow&&e(t.data)};return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)}}}function m(){let e=null;function t(){return e!==null}function n(t,n){let r=new AbortController;t.addEventListener(`transitionend`,()=>{e=null,n()},{signal:r.signal,once:!0}),e=()=>{r.abort(),e=null}}function r(){e?.()}return{isClosing:t,scheduleClose:n,cancelPendingClose:r}}var h=e=>g(e)&&_(e),g=e=>!!e.parentNode,_=e=>e.style.display!==`none`,v={open:h,inPage:g,visible:_,browser:()=>typeof document<`u`&&typeof window<`u`};function y(e){let t=new AbortController;return window.addEventListener(`keydown`,e,{signal:t.signal}),t}function b(e){let t=y(n=>{n.key===`Escape`&&(e(),t.abort())})}function x(e=!1){let t=e,n=new Set;return{getState:()=>t,setState(e){if(t!==e){t=e;for(let e of n)e()}},subscribe(e){return n.add(e),()=>{n.delete(e)}}}}var S=e=>typeof e==`string`&&!e.match(/^[0-9]+$/)?e:`${e}px`,C=(e,{width:t,height:n})=>(t&&e.style.setProperty(`--rvv-width`,S(t)),n&&e.style.setProperty(`--rvv-height`,S(n)),e),w=()=>{};function T(){let e=document.createElement(`dialog`);return e.classList.add(`rvv-dialog`),e}function E(){let e=document.createElement(`div`);return e.classList.add(`rvv-dialog-wrapper`),e}function D(e){e.remove()}function O(e,t){let n=x();if(!v.browser())return{toggle:w,open:w,close:w,unmount:w,refresh:w,focus:w,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=p(e),s=t??document.body,c=T(),l=E();C(l,{width:e.width,height:e.height}),s.append(c),l.append(r),r.onload=e=>{e?.isTrusted&&(c.showModal(),b(h))};let u=m();function f(){if(v.open(l)){if(u.isClosing()){u.cancelPendingClose(),n.setState(!0);return}return}c.append(l),c.showModal(),n.setState(!0)}function h(){v.open(l)&&(c.close(),u.scheduleClose(c,()=>D(l)),n.setState(!1))}function g(){v.open(l)?h():f()}let _=o(e=>{e===d.close&&h()});function y(){D(c),_()}return{toggle:g,open:f,close:h,unmount:y,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var k=()=>{};function A(){let e=document.createElement(`div`);return e.classList.add(`rvv-drawer`),e}function j(){let e=document.createElement(`div`);return e.classList.add(`rvv-drawer-wrapper`),e}function M(e){e.remove()}function N(e,t){let n=x();if(!v.browser())return{toggle:k,open:k,close:k,unmount:k,refresh:k,focus:k,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=p(e),s=t??document.body,c=A(),l=j();C(l,{width:e.width,height:e.height}),s.append(c),l.append(r),r.onload=e=>{e?.isTrusted&&(c.classList.add(`open`),b(h))};let u=m();function f(){if(v.open(l)){if(u.isClosing()){u.cancelPendingClose(),c.classList.add(`open`),n.setState(!0);return}return}c.append(l),n.setState(!0)}function h(){v.open(l)&&(c.classList.remove(`open`),n.setState(!1),u.scheduleClose(c,()=>M(l)))}function g(){v.open(l)?h():f()}let _=o(e=>{e===d.close&&h()});function y(){M(c),_()}return{toggle:g,open:f,close:h,unmount:y,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var P=`
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square-icon lucide-message-square"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"/></svg>`,ee=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>`;function F(){let e=document.createElement(`span`);e.classList.add(`rvv-button-icon--open`),e.innerHTML=P;let t=document.createElement(`span`);return t.classList.add(`rvv-button-icon--close`),t.innerHTML=ee,{openEl:e,closeEl:t}}function I(e){let t=document.createElement(`button`);t.classList.add(`rvv-button`,`rvv-button--trigger`),t.setAttribute(`type`,`button`),t.dataset.position=e.position??`right`,t.dataset.open=`false`,e.color&&t.style.setProperty(`--rvv-button-color`,e.color),e.textColor&&t.style.setProperty(`--rvv-button-text-color`,e.textColor);let n=document.createElement(`span`);if(n.classList.add(`rvv-button-icon`),n.setAttribute(`aria-hidden`,`true`),e.label){let n=document.createElement(`span`);n.classList.add(`rvv-button-label`),n.textContent=e.label,t.append(n)}if(e.icon)n.innerHTML=e.icon;else if(!e.label){let{openEl:e,closeEl:t}=F();n.append(e,t)}n.childNodes.length>0&&t.append(n);function r(e){t.dataset.open=String(e)}return{el:t,setOpen:r}}var L=()=>{};function R(){let e=document.createElement(`div`);return e.classList.add(`rvv-popover`),e}function z(){let e=document.createElement(`div`);return e.classList.add(`rvv-popover-wrapper`),e}function B(e){e.remove()}function V(e,t){let n=x();if(!v.browser())return{toggle:L,close:L,open:L,unmount:L,refresh:L,focus:L,isOpen:n.getState,subscribe:n.subscribe};let{iframe:r,refresh:i,focus:a,onMessage:o}=p(e),s=t??document.body,c=R(),l=z();C(l,{width:e.width,height:e.height}),s.append(c),l.append(r);let{autoOpen:u=!1,autoOpenDelay:f=0,trigger:h=`default`}=e,g=L,_=L;if(h===`default`){let{el:t,setOpen:n}=I(e);t.classList.add(`rvv-button--trigger-popover`),g=n,t.addEventListener(`click`,()=>y()),document.body.append(t),_=()=>t.remove()}function y(){v.open(l)?T():w()}r.onload=e=>{e?.isTrusted&&(c.classList.add(`open`),b(T))};let S=m();function w(){if(v.open(l)){if(S.isClosing()){S.cancelPendingClose(),c.classList.add(`open`),n.setState(!0);return}return}c.append(l),g(!0),n.setState(!0)}function T(){v.open(l)&&(c.classList.remove(`open`),g(!1),n.setState(!1),S.scheduleClose(c,()=>B(l)))}let E=o(e=>{e===d.close&&T()});function D(){_(),B(c),E()}return u&&(f>0?setTimeout(()=>w(),f):w()),{toggle:y,close:T,open:w,unmount:D,refresh:i,focus:a,isOpen:n.getState,subscribe:n.subscribe}}var H=()=>{};function U(e,t){if(!v.browser())return{unmount:H,refresh:H,focus:H};let{iframe:n,refresh:r,focus:i}=p(e),a=t??document.body,o=document.createElement(`div`);o.classList.add(`rvv-widget`),a.append(o),C(o,{width:e.width,height:e.height}),o.append(n);function s(){n.remove()}return{unmount:s,refresh:r,focus:i}}var W=t({createDialog:()=>O,createDrawer:()=>N,createPopover:()=>V,createWidget:()=>U}),G=new class extends String{__apiType;__variablesType;constructor(e){super(e),this.value=e}toString(){return this.value}}(`
3
+ query EmbedAppConfig($shortId: String!) {
4
+ embedAppConfig(shortId: $shortId) {
5
+ appId
6
+ embedType
7
+ formId
8
+ height
9
+ metaData
10
+ name
11
+ publicKey
12
+ shortId
13
+ tenantId
14
+ themeId
15
+ type
16
+ width
17
+ }
18
+ }
19
+ `);function K(e){return{EmbedAppConfig(t,n){return e(G,t,n)}}}var q=K(async(e,t)=>{let n=await fetch(l.EMBED_LOOKUP_URL,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({query:String(e),variables:t})});if(!n.ok)throw Error(`[rvv] GraphQL request failed: ${n.status} ${n.statusText}`);let r=await n.json();if(r?.errors?.length)throw Error(`[rvv] GraphQL error: ${r.errors[0]?.message??`Unknown error`}`);return r.data});function J(e){let t=e.type,i=e.embedType,s={...e.width!=null&&{width:e.width},...e.height!=null&&{height:e.height}};if(t===`chat`){if(!e.appId)throw Error(`[rvv] Embed "${e.shortId}" has app "chat" but no appId`);if(!e.publicKey)throw Error(`[rvv] Embed "${e.shortId}" has app "chat" but no publicKey`);return{app:`chat`,type:i,tenantId:n(e.tenantId),appId:a(e.appId),publicKey:o(e.publicKey),...s}}if(t===`form`){if(!e.formId)throw Error(`[rvv] Embed "${e.shortId}" has app "form" but no formId`);return{app:`form`,type:i,tenantId:n(e.tenantId),formId:r(e.formId),...s}}throw Error(`[rvv] Unknown embed app "${e.type}"`)}async function Y(e){let t=await q.EmbedAppConfig({shortId:e});if(!t.embedAppConfig)throw Error(`[rvv] Failed to resolve embed "${e}": not found`);return J(t.embedAppConfig)}async function X(e,t){let n=await Y(i(e));switch(n.type){case`widget`:return U(n,t);case`popover`:return V(n,t);case`drawer`:return N(n,t);case`dialog`:return O(n,t)}}var Z={widget:`widget.css`,popover:`popover.css`,drawer:`drawer.css`,dialog:`dialog.css`},Q=e=>`${l.CDN_URL}/css/${Z[e]}`,te=e=>{let t=Q(e);if(!document.querySelector(`link[href="${t}"]`)){let e=document.createElement(`link`);e.rel=`stylesheet`,e.href=t,document.head.append(e)}},ne={popover:V,widget:U,drawer:N,dialog:O};async function re(e){if(e.dataset.rvvLoaded===`true`||e.dataset.rvvLoading===`true`)return;let t=e.getAttribute(`data-rvv-embed`);if(!t)throw Error(`[rvv] Missing id on data-rvv-embed`);e.dataset.rvvLoading=`true`;try{let n=await Y(i(t));if(!n.type)throw Error(`[rvv] Missing type on embed options`);te(n.type),ne[n.type](n,e),e.dataset.rvvLoaded=`true`}finally{delete e.dataset.rvvLoading}}async function ie(e=document){let t=Array.from(e.querySelectorAll(`[data-rvv-embed]`));await Promise.all(t.map(re))}function $(){ie()}return document.addEventListener(`DOMContentLoaded`,$,!1),(document.readyState===`interactive`||document.readyState===`complete`)&&$(),{...W,createEmbed:X,load:$}})();
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{--rvv-width:440px;--rvv-height:600px;background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:var(--rvv-height);width:var(--rvv-width);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{background-color:var(--rvv-color-background);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{--rvv-width:420px;background-color:var(--rvv-color-background);width:var(--rvv-width);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}
@@ -0,0 +1 @@
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{--rvv-width:100%;--rvv-height:500px;background-color:var(--rvv-color-background);height:var(--rvv-height);width:var(--rvv-width);position:relative;overflow:hidden}.rvv-widget iframe{border:none;width:100%;height:100%;display:block}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:84px;right:24px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{--rvv-width:400px;--rvv-height:600px;height:var(--rvv-height);min-width:360px;min-height:400px;width:var(--rvv-width)}@media (width<=480px){.rvv-popover{bottom:74px;right:16px}}.rvv-drawer{pointer-events:none;z-index:var(--rvv-z-index);background-color:#0000;transition:background-color .35s;position:fixed;inset:0}.rvv-drawer.open{pointer-events:auto;background-color:#0006}.rvv-drawer.open .rvv-drawer-wrapper{transform:translate(0)}.rvv-drawer-wrapper{--rvv-width:420px;background-color:var(--rvv-color-background);width:var(--rvv-width);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.rvv-drawer-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){.rvv-drawer-wrapper{width:100vw}}dialog.rvv-dialog{border-radius:var(--radius-base);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);transition:opacity .2s ease,transform .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:0 0;border:none;margin:auto;padding:0;overflow:visible;transform:scale(.96)translateY(10px)}dialog.rvv-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.rvv-dialog[open]{opacity:0;transform:scale(.96)translateY(10px)}}dialog.rvv-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease,display allow-discrete .2s,overlay allow-discrete .2s;background:#00000080}dialog.rvv-dialog[open]::backdrop{opacity:1}@starting-style{dialog.rvv-dialog[open]::backdrop{opacity:0}}.rvv-dialog-wrapper{--rvv-width:440px;--rvv-height:600px;background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:var(--rvv-height);width:var(--rvv-width);overflow:hidden}.rvv-dialog-wrapper iframe{border:none;width:100%;height:100%;display:block}@media (width<=480px){dialog.rvv-dialog{border-radius:0;max-width:100vw;max-height:100dvh;margin:0}.rvv-dialog-wrapper{border-radius:0;width:100vw;height:100dvh}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:96px;right:16px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{width:100%;min-width:360px;min-height:400px}@media (width<=480px){.rvv-popover{border-radius:var(--radius-base) var(--radius-base) 0 0;transform-origin:bottom;min-width:0;bottom:0;left:0;right:0;width:100%!important}}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;font-family:inherit;line-height:1;display:inline-flex}.rvv-button--trigger{background-color:var(--rvv-button-color);box-shadow:var(--rvv-shadow-base);color:var(--rvv-button-text-color);white-space:nowrap;border-radius:9999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,box-shadow .15s}.rvv-button--trigger:hover{color:var(--rvv-button-text-color);transform:scale(1.05)}.rvv-button--trigger:active,.rvv-button--trigger:hover{box-shadow:var(--rvv-shadow-base-hover)}.rvv-button--trigger:active{transform:scale(.95)}.rvv-button--trigger-popover{z-index:var(--rvv-z-index);position:fixed;bottom:24px}.rvv-button--trigger-popover[data-position=right]{right:24px}.rvv-button--trigger-popover[data-position=left]{left:24px}.rvv-button:has(.rvv-button-icon):not(:has(.rvv-button-label)){padding:12px}.rvv-button-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex;position:relative}.rvv-button-icon svg{fill:currentColor;width:1em;height:1em}.rvv-button-icon--close,.rvv-button-icon--open{justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex}.rvv-button-icon--close{opacity:0;position:absolute;inset:0;transform:rotate(45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--open{opacity:0;transform:rotate(-45deg)scale(.5)}.rvv-button[data-open=true] .rvv-button-icon--close{opacity:1;transform:rotate(0)scale(1)}.rvv-button-label{flex:1 0 auto}@media (width<=480px){.rvv-button--trigger-popover{bottom:16px}.rvv-button--trigger-popover[data-position=right]{right:16px}.rvv-button--trigger-popover[data-position=left]{left:16px}}.rvv-popover{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);opacity:0;transform-origin:100% 100%;max-width:100%;transition:opacity .15s ease,transform .15s ease,display allow-discrete .15s,overlay allow-discrete .15s;z-index:var(--rvv-z-index);display:none;position:fixed;bottom:84px;right:24px;overflow:hidden;transform:translateY(6px)scale(.99)}.rvv-popover.open{opacity:1;display:flex;transform:translateY(0)scale(1)}@starting-style{.rvv-popover.open{opacity:0;transform:translateY(6px)scale(.99)}}.rvv-popover iframe{border:none;width:100%;min-height:100%}.rvv-popover-wrapper{--rvv-width:400px;--rvv-height:600px;height:var(--rvv-height);min-width:360px;min-height:400px;width:var(--rvv-width)}@media (width<=480px){.rvv-popover{bottom:74px;right:16px}}
@@ -1 +1 @@
1
- @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{background-color:var(--rvv-color-background);border-radius:var(--radius-base);box-shadow:var(--rvv-shadow-base);height:100%;min-height:inherit;width:100%;position:relative;overflow:hidden}.rvv-widget iframe{height:100%;min-height:inherit;border:none;width:100%;display:block}
1
+ @layer tokens{:root{--rvv-z-index:10001;--rvv-color-background:#fff;--rvv-color-foreground:#151426;--rvv-shadow-base:0 2px 12px 0 #0000001a;--rvv-shadow-base-hover:0 2px 12px 0 #0003;--radius-base:10px;--rvv-button-color:var(--rvv-color-foreground);--rvv-button-text-color:#fff}}.rvv-widget{--rvv-width:100%;--rvv-height:500px;background-color:var(--rvv-color-background);height:var(--rvv-height);width:var(--rvv-width);position:relative;overflow:hidden}.rvv-widget iframe{border:none;width:100%;height:100%;display:block}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  var tenantId = (id) => id;
4
4
  var formId = (id) => id;
5
5
  var embedId = (id) => id;
6
- var integrationProfileId = (id) => id;
6
+ var appId = (id) => id;
7
+ var publicKey = (key) => key;
7
8
  //#endregion
8
9
  //#region src/utils/create-env.ts
9
10
  function createEnv(schema, source = {}) {
@@ -22,7 +23,7 @@ function createEnv(schema, source = {}) {
22
23
  var removeTrailingSlash = (url) => url.replace(/\/$/, "");
23
24
  var env = createEnv({
24
25
  CHAT_URL: {
25
- default: "https://app.revvue.ai/chat",
26
+ default: "https://chat.dev.jonna.ai",
26
27
  parse: removeTrailingSlash
27
28
  },
28
29
  FORM_URL: {
@@ -34,20 +35,14 @@ var env = createEnv({
34
35
  parse: removeTrailingSlash
35
36
  },
36
37
  EMBED_LOOKUP_URL: {
37
- default: "https://app.revvue.ai/api/v1/embeds",
38
+ default: "https://public-router.dev.jonna.ai/",
38
39
  parse: removeTrailingSlash
39
40
  },
40
41
  DEBUG: {
41
42
  default: false,
42
43
  parse: (v) => v === "true"
43
44
  }
44
- }, {
45
- "BASE_URL": "/",
46
- "DEV": false,
47
- "MODE": "production",
48
- "PROD": true,
49
- "SSR": false
50
- });
45
+ }, {});
51
46
  //#endregion
52
47
  //#region src/utils/refresh-iframe.ts
53
48
  function refreshIframe(iframe) {
@@ -72,7 +67,11 @@ var IFRAME_MESSAGES = {
72
67
  function getIframeSrc(options) {
73
68
  const base = options.app === "chat" ? env.CHAT_URL : env.FORM_URL;
74
69
  const params = new URLSearchParams({ tenant_id: options.tenantId });
75
- if (options.app === "chat") params.set("integration_profile_id", options.integrationProfileId);
70
+ if (options.app === "chat") {
71
+ const chat = options;
72
+ params.set("app_id", chat.appId);
73
+ params.set("public_key", chat.publicKey);
74
+ }
76
75
  return `${base}?${params}`;
77
76
  }
78
77
  function createIframe(options) {
@@ -192,8 +191,8 @@ var getValueWithUnits = (value) => {
192
191
  else return `${value}px`;
193
192
  };
194
193
  var setElementSize = (element, { width, height }) => {
195
- if (width) element.style.width = getValueWithUnits(width);
196
- if (height) element.style.height = getValueWithUnits(height);
194
+ if (width) element.style.setProperty("--rvv-width", getValueWithUnits(width));
195
+ if (height) element.style.setProperty("--rvv-height", getValueWithUnits(height));
197
196
  return element;
198
197
  };
199
198
  //#endregion
@@ -546,11 +545,112 @@ function createWidget(options, element) {
546
545
  };
547
546
  }
548
547
  //#endregion
548
+ //#region src/generated/graphql.ts
549
+ var TypedDocumentString = class extends String {
550
+ __apiType;
551
+ __variablesType;
552
+ constructor(value) {
553
+ super(value);
554
+ this.value = value;
555
+ }
556
+ toString() {
557
+ return this.value;
558
+ }
559
+ };
560
+ var EmbedAppConfigDocument = new TypedDocumentString(`
561
+ query EmbedAppConfig($shortId: String!) {
562
+ embedAppConfig(shortId: $shortId) {
563
+ appId
564
+ embedType
565
+ formId
566
+ height
567
+ metaData
568
+ name
569
+ publicKey
570
+ shortId
571
+ tenantId
572
+ themeId
573
+ type
574
+ width
575
+ }
576
+ }
577
+ `);
578
+ function getSdk(requester) {
579
+ return { EmbedAppConfig(variables, options) {
580
+ return requester(EmbedAppConfigDocument, variables, options);
581
+ } };
582
+ }
583
+ //#endregion
584
+ //#region src/embed/fetch-embed.ts
585
+ var sdk = getSdk(async (doc, vars) => {
586
+ const response = await fetch(env.EMBED_LOOKUP_URL, {
587
+ method: "POST",
588
+ headers: { "Content-Type": "application/json" },
589
+ body: JSON.stringify({
590
+ query: String(doc),
591
+ variables: vars
592
+ })
593
+ });
594
+ if (!response.ok) throw new Error(`[rvv] GraphQL request failed: ${response.status} ${response.statusText}`);
595
+ const result = await response.json();
596
+ if (result?.errors?.length) throw new Error(`[rvv] GraphQL error: ${result.errors[0]?.message ?? "Unknown error"}`);
597
+ return result.data;
598
+ });
599
+ function toEmbedOptions(config) {
600
+ const app = config.type;
601
+ const embedType = config.embedType;
602
+ const appearance = {
603
+ ...config.width != null && { width: config.width },
604
+ ...config.height != null && { height: config.height }
605
+ };
606
+ if (app === "chat") {
607
+ if (!config.appId) throw new Error(`[rvv] Embed "${config.shortId}" has app "chat" but no appId`);
608
+ if (!config.publicKey) throw new Error(`[rvv] Embed "${config.shortId}" has app "chat" but no publicKey`);
609
+ return {
610
+ app: "chat",
611
+ type: embedType,
612
+ tenantId: tenantId(config.tenantId),
613
+ appId: appId(config.appId),
614
+ publicKey: publicKey(config.publicKey),
615
+ ...appearance
616
+ };
617
+ }
618
+ if (app === "form") {
619
+ if (!config.formId) throw new Error(`[rvv] Embed "${config.shortId}" has app "form" but no formId`);
620
+ return {
621
+ app: "form",
622
+ type: embedType,
623
+ tenantId: tenantId(config.tenantId),
624
+ formId: formId(config.formId),
625
+ ...appearance
626
+ };
627
+ }
628
+ throw new Error(`[rvv] Unknown embed app "${config.type}"`);
629
+ }
630
+ async function fetchEmbed(id) {
631
+ const data = await sdk.EmbedAppConfig({ shortId: id });
632
+ if (!data.embedAppConfig) throw new Error(`[rvv] Failed to resolve embed "${id}": not found`);
633
+ return toEmbedOptions(data.embedAppConfig);
634
+ }
635
+ //#endregion
636
+ //#region src/embed/create-embed.ts
637
+ async function createEmbed(id, element) {
638
+ const options = await fetchEmbed(embedId(id));
639
+ switch (options.type) {
640
+ case "widget": return createWidget(options, element);
641
+ case "popover": return createPopover(options, element);
642
+ case "drawer": return createDrawer(options, element);
643
+ case "dialog": return createDialog(options, element);
644
+ }
645
+ }
646
+ //#endregion
647
+ exports.appId = appId;
549
648
  exports.createDialog = createDialog;
550
649
  exports.createDrawer = createDrawer;
650
+ exports.createEmbed = createEmbed;
551
651
  exports.createPopover = createPopover;
552
652
  exports.createWidget = createWidget;
553
653
  exports.embedId = embedId;
554
654
  exports.formId = formId;
555
- exports.integrationProfileId = integrationProfileId;
655
+ exports.publicKey = publicKey;
556
656
  exports.tenantId = tenantId;
@@ -2,7 +2,8 @@
2
2
  var tenantId = (id) => id;
3
3
  var formId = (id) => id;
4
4
  var embedId = (id) => id;
5
- var integrationProfileId = (id) => id;
5
+ var appId = (id) => id;
6
+ var publicKey = (key) => key;
6
7
  //#endregion
7
8
  //#region src/utils/create-env.ts
8
9
  function createEnv(schema, source = {}) {
@@ -21,7 +22,7 @@ function createEnv(schema, source = {}) {
21
22
  var removeTrailingSlash = (url) => url.replace(/\/$/, "");
22
23
  var env = createEnv({
23
24
  CHAT_URL: {
24
- default: "https://app.revvue.ai/chat",
25
+ default: "https://chat.dev.jonna.ai",
25
26
  parse: removeTrailingSlash
26
27
  },
27
28
  FORM_URL: {
@@ -33,20 +34,14 @@ var env = createEnv({
33
34
  parse: removeTrailingSlash
34
35
  },
35
36
  EMBED_LOOKUP_URL: {
36
- default: "https://app.revvue.ai/api/v1/embeds",
37
+ default: "https://public-router.dev.jonna.ai/",
37
38
  parse: removeTrailingSlash
38
39
  },
39
40
  DEBUG: {
40
41
  default: false,
41
42
  parse: (v) => v === "true"
42
43
  }
43
- }, {
44
- "BASE_URL": "/",
45
- "DEV": false,
46
- "MODE": "production",
47
- "PROD": true,
48
- "SSR": false
49
- });
44
+ }, {});
50
45
  //#endregion
51
46
  //#region src/utils/refresh-iframe.ts
52
47
  function refreshIframe(iframe) {
@@ -71,7 +66,11 @@ var IFRAME_MESSAGES = {
71
66
  function getIframeSrc(options) {
72
67
  const base = options.app === "chat" ? env.CHAT_URL : env.FORM_URL;
73
68
  const params = new URLSearchParams({ tenant_id: options.tenantId });
74
- if (options.app === "chat") params.set("integration_profile_id", options.integrationProfileId);
69
+ if (options.app === "chat") {
70
+ const chat = options;
71
+ params.set("app_id", chat.appId);
72
+ params.set("public_key", chat.publicKey);
73
+ }
75
74
  return `${base}?${params}`;
76
75
  }
77
76
  function createIframe(options) {
@@ -191,8 +190,8 @@ var getValueWithUnits = (value) => {
191
190
  else return `${value}px`;
192
191
  };
193
192
  var setElementSize = (element, { width, height }) => {
194
- if (width) element.style.width = getValueWithUnits(width);
195
- if (height) element.style.height = getValueWithUnits(height);
193
+ if (width) element.style.setProperty("--rvv-width", getValueWithUnits(width));
194
+ if (height) element.style.setProperty("--rvv-height", getValueWithUnits(height));
196
195
  return element;
197
196
  };
198
197
  //#endregion
@@ -545,4 +544,103 @@ function createWidget(options, element) {
545
544
  };
546
545
  }
547
546
  //#endregion
548
- export { createDialog, createDrawer, createPopover, createWidget, embedId, formId, integrationProfileId, tenantId };
547
+ //#region src/generated/graphql.ts
548
+ var TypedDocumentString = class extends String {
549
+ __apiType;
550
+ __variablesType;
551
+ constructor(value) {
552
+ super(value);
553
+ this.value = value;
554
+ }
555
+ toString() {
556
+ return this.value;
557
+ }
558
+ };
559
+ var EmbedAppConfigDocument = new TypedDocumentString(`
560
+ query EmbedAppConfig($shortId: String!) {
561
+ embedAppConfig(shortId: $shortId) {
562
+ appId
563
+ embedType
564
+ formId
565
+ height
566
+ metaData
567
+ name
568
+ publicKey
569
+ shortId
570
+ tenantId
571
+ themeId
572
+ type
573
+ width
574
+ }
575
+ }
576
+ `);
577
+ function getSdk(requester) {
578
+ return { EmbedAppConfig(variables, options) {
579
+ return requester(EmbedAppConfigDocument, variables, options);
580
+ } };
581
+ }
582
+ //#endregion
583
+ //#region src/embed/fetch-embed.ts
584
+ var sdk = getSdk(async (doc, vars) => {
585
+ const response = await fetch(env.EMBED_LOOKUP_URL, {
586
+ method: "POST",
587
+ headers: { "Content-Type": "application/json" },
588
+ body: JSON.stringify({
589
+ query: String(doc),
590
+ variables: vars
591
+ })
592
+ });
593
+ if (!response.ok) throw new Error(`[rvv] GraphQL request failed: ${response.status} ${response.statusText}`);
594
+ const result = await response.json();
595
+ if (result?.errors?.length) throw new Error(`[rvv] GraphQL error: ${result.errors[0]?.message ?? "Unknown error"}`);
596
+ return result.data;
597
+ });
598
+ function toEmbedOptions(config) {
599
+ const app = config.type;
600
+ const embedType = config.embedType;
601
+ const appearance = {
602
+ ...config.width != null && { width: config.width },
603
+ ...config.height != null && { height: config.height }
604
+ };
605
+ if (app === "chat") {
606
+ if (!config.appId) throw new Error(`[rvv] Embed "${config.shortId}" has app "chat" but no appId`);
607
+ if (!config.publicKey) throw new Error(`[rvv] Embed "${config.shortId}" has app "chat" but no publicKey`);
608
+ return {
609
+ app: "chat",
610
+ type: embedType,
611
+ tenantId: tenantId(config.tenantId),
612
+ appId: appId(config.appId),
613
+ publicKey: publicKey(config.publicKey),
614
+ ...appearance
615
+ };
616
+ }
617
+ if (app === "form") {
618
+ if (!config.formId) throw new Error(`[rvv] Embed "${config.shortId}" has app "form" but no formId`);
619
+ return {
620
+ app: "form",
621
+ type: embedType,
622
+ tenantId: tenantId(config.tenantId),
623
+ formId: formId(config.formId),
624
+ ...appearance
625
+ };
626
+ }
627
+ throw new Error(`[rvv] Unknown embed app "${config.type}"`);
628
+ }
629
+ async function fetchEmbed(id) {
630
+ const data = await sdk.EmbedAppConfig({ shortId: id });
631
+ if (!data.embedAppConfig) throw new Error(`[rvv] Failed to resolve embed "${id}": not found`);
632
+ return toEmbedOptions(data.embedAppConfig);
633
+ }
634
+ //#endregion
635
+ //#region src/embed/create-embed.ts
636
+ async function createEmbed(id, element) {
637
+ const options = await fetchEmbed(embedId(id));
638
+ switch (options.type) {
639
+ case "widget": return createWidget(options, element);
640
+ case "popover": return createPopover(options, element);
641
+ case "drawer": return createDrawer(options, element);
642
+ case "dialog": return createDialog(options, element);
643
+ }
644
+ }
645
+ //#endregion
646
+ export { appId, createDialog, createDrawer, createEmbed, createPopover, createWidget, embedId, formId, publicKey, tenantId };
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/config/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,GAAG;;;;;;CA8Bf,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/config/env.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG;;;;;;CA8Bf,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AppearanceOptions } from './appearance-options';
2
- import { IntegrationProfileId, TenantId } from './common';
2
+ import { AppId, PublicKey, TenantId } from './common';
3
3
  import { AppKind } from './embed-apps';
4
4
  import { EmbedType } from './embed-types';
5
5
  export interface BaseEmbedOptions {
@@ -9,7 +9,8 @@ export interface BaseEmbedOptions {
9
9
  }
10
10
  export interface ChatOptions extends BaseEmbedOptions, AppearanceOptions {
11
11
  app: "chat";
12
- integrationProfileId: IntegrationProfileId;
12
+ appId: AppId;
13
+ publicKey: PublicKey;
13
14
  }
14
15
  export interface FormOptions extends BaseEmbedOptions, AppearanceOptions {
15
16
  app: "form";
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../../../../src/core/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,iBAAiB;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,iBAAiB;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../../../../src/core/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,iBAAiB;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,iBAAiB;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC"}
@@ -2,9 +2,11 @@ import { Brand } from '../utils/brand-types';
2
2
  export type TenantId = Brand<string, "TenantId">;
3
3
  export type FormId = Brand<string, "FormId">;
4
4
  export type EmbedId = Brand<string, "EmbedId">;
5
- export type IntegrationProfileId = Brand<string, "IntegrationProfileId">;
5
+ export type AppId = Brand<string, "AppId">;
6
+ export type PublicKey = Brand<string, "PublicKey">;
6
7
  export declare const tenantId: (id: string) => TenantId;
7
8
  export declare const formId: (id: string) => FormId;
8
9
  export declare const embedId: (id: string) => EmbedId;
9
- export declare const integrationProfileId: (id: string) => IntegrationProfileId;
10
+ export declare const appId: (id: string) => AppId;
11
+ export declare const publicKey: (key: string) => PublicKey;
10
12
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC/C,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAEzE,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,QAA0B,CAAC;AACjE,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,KAAG,MAAsB,CAAC;AAC3D,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,OAAwB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,KAAG,oBAAkD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC/C,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEnD,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,QAA0B,CAAC;AACjE,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,KAAG,MAAsB,CAAC;AAC3D,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,OAAwB,CAAC;AAC9D,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,KAAoB,CAAC;AACxD,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,SAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-iframe.d.ts","sourceRoot":"","sources":["../../../../src/core/create-iframe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExE,KAAK,mBAAmB,GAAG,EAAE,GAAG,YAAY,CAAC;AAW7C,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;yBAmB3B,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;EAU5E"}
1
+ {"version":3,"file":"create-iframe.d.ts","sourceRoot":"","sources":["../../../../src/core/create-iframe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExE,KAAK,mBAAmB,GAAG,EAAE,GAAG,YAAY,CAAC;AAa7C,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;yBAmB3B,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;EAU5E"}
@@ -0,0 +1,3 @@
1
+ import { EmbedFloating, EmbedWidget } from '../core/embed-types';
2
+ export declare function createEmbed(id: string, element?: HTMLElement): Promise<EmbedWidget | EmbedFloating>;
3
+ //# sourceMappingURL=create-embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-embed.d.ts","sourceRoot":"","sources":["../../../../src/embed/create-embed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAItE,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,CAazG"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-embed.d.ts","sourceRoot":"","sources":["../../../../src/embed/fetch-embed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAsB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAQnE"}
1
+ {"version":3,"file":"fetch-embed.d.ts","sourceRoot":"","sources":["../../../../src/embed/fetch-embed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAuD9C,wBAAsB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAQnE"}
@@ -0,0 +1,95 @@
1
+ declare class TypedDocumentString<TResult, TVariables> extends String {
2
+ private value;
3
+ __apiType?: TResult;
4
+ __variablesType?: TVariables;
5
+ constructor(value: string);
6
+ toString(): string;
7
+ }
8
+ /** Internal type. DO NOT USE DIRECTLY. */
9
+ type Exact<T extends {
10
+ [key: string]: unknown;
11
+ }> = {
12
+ [K in keyof T]: T[K];
13
+ };
14
+ /** Internal type. DO NOT USE DIRECTLY. */
15
+ export type Incremental<T> = T | {
16
+ [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
17
+ };
18
+ export type Maybe<T> = T | null;
19
+ export type InputMaybe<T> = Maybe<T>;
20
+ /** All built-in and custom scalars, mapped to their actual values */
21
+ export type Scalars = {
22
+ ID: {
23
+ input: string;
24
+ output: string;
25
+ };
26
+ String: {
27
+ input: string;
28
+ output: string;
29
+ };
30
+ Boolean: {
31
+ input: boolean;
32
+ output: boolean;
33
+ };
34
+ Int: {
35
+ input: number;
36
+ output: number;
37
+ };
38
+ Float: {
39
+ input: number;
40
+ output: number;
41
+ };
42
+ JSON: {
43
+ input: unknown;
44
+ output: unknown;
45
+ };
46
+ };
47
+ export type PublicEmbedAppConfig = {
48
+ __typename?: 'PublicEmbedAppConfig';
49
+ appId?: Maybe<Scalars['String']['output']>;
50
+ embedType: Scalars['String']['output'];
51
+ formId?: Maybe<Scalars['String']['output']>;
52
+ height?: Maybe<Scalars['String']['output']>;
53
+ metaData: Scalars['JSON']['output'];
54
+ name: Scalars['String']['output'];
55
+ publicKey?: Maybe<Scalars['String']['output']>;
56
+ shortId: Scalars['String']['output'];
57
+ tenantId: Scalars['String']['output'];
58
+ themeId?: Maybe<Scalars['String']['output']>;
59
+ type: Scalars['String']['output'];
60
+ width?: Maybe<Scalars['String']['output']>;
61
+ };
62
+ export type Query = {
63
+ __typename?: 'Query';
64
+ embedAppConfig?: Maybe<PublicEmbedAppConfig>;
65
+ };
66
+ export type QueryEmbedAppConfigArgs = {
67
+ shortId: Scalars['String']['input'];
68
+ };
69
+ export type EmbedAppConfigQueryVariables = Exact<{
70
+ shortId: string;
71
+ }>;
72
+ export type EmbedAppConfigQuery = {
73
+ embedAppConfig: {
74
+ appId: string | null;
75
+ embedType: string;
76
+ formId: string | null;
77
+ height: string | null;
78
+ metaData: unknown;
79
+ name: string;
80
+ publicKey: string | null;
81
+ shortId: string;
82
+ tenantId: string;
83
+ themeId: string | null;
84
+ type: string;
85
+ width: string | null;
86
+ } | null;
87
+ };
88
+ export declare const EmbedAppConfigDocument: TypedDocumentString<unknown, unknown>;
89
+ export type Requester<C = {}> = <R, V>(doc: string, vars?: V, options?: C) => Promise<R> | AsyncIterable<R>;
90
+ export declare function getSdk<C>(requester: Requester<C>): {
91
+ EmbedAppConfig(variables: EmbedAppConfigQueryVariables, options?: C): Promise<EmbedAppConfigQuery>;
92
+ };
93
+ export type Sdk = ReturnType<typeof getSdk>;
94
+ export {};
95
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../src/generated/graphql.ts"],"names":[],"mappings":"AAEA,cAAM,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAE,SAAQ,MAAM;IAG/C,OAAO,CAAC,KAAK;IAFzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,UAAU,CAAC;gBACT,KAAK,EAAE,MAAM;IACxB,QAAQ,IAAI,MAAM;CAC5B;AACD,0CAA0C;AAC1C,KAAK,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAC5E,0CAA0C;AAC1C,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC;AAC/G,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;KAAE,CAAA;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IACzC,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;KAAE,CAAA;CAC3C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;CAC9C,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAGH,MAAM,MAAM,mBAAmB,GAAG;IAAE,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAGjT,eAAO,MAAM,sBAAsB,uCAiB7B,CAAC;AACP,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAC3G,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;8BAEnB,4BAA4B,YAAY,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;EAIrG;AACD,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC"}
@@ -4,6 +4,7 @@ export * from './core/button-options';
4
4
  export * from './core/common';
5
5
  export * from './core/embed-apps';
6
6
  export * from './core/embed-types';
7
+ export { createEmbed } from './embed/create-embed';
7
8
  export * from './factories';
8
9
  export type { Public } from './utils/brand-types';
9
10
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/package.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/package.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revvue/embed",
3
- "version": "0.0.0-beta.5",
3
+ "version": "0.0.0-dev.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -19,9 +19,19 @@
19
19
  "import": "./dist/package/package.mjs",
20
20
  "require": "./dist/package/package.cjs"
21
21
  },
22
- "./browser": "./dist/browser/embed.js"
22
+ "./browser": "./dist/browser/embed.js",
23
+ "./css/embed.css": "./dist/package/css/embed.css",
24
+ "./css/widget.css": "./dist/package/css/widget.css",
25
+ "./css/popover.css": "./dist/package/css/popover.css",
26
+ "./css/drawer.css": "./dist/package/css/drawer.css",
27
+ "./css/dialog.css": "./dist/package/css/dialog.css"
23
28
  },
24
29
  "devDependencies": {
30
+ "@graphql-codegen/add": "^7.0.0",
31
+ "@graphql-codegen/cli": "^7.0.0",
32
+ "@graphql-codegen/typescript": "^6.0.1",
33
+ "@graphql-codegen/typescript-generic-sdk": "^5.0.1",
34
+ "@graphql-codegen/typescript-operations": "^6.0.2",
25
35
  "@testing-library/dom": "^10.4.0",
26
36
  "@testing-library/jest-dom": "^6.6.3",
27
37
  "@vitest/coverage-v8": "^4.1.5",
@@ -35,6 +45,7 @@
35
45
  "@repo/typescript-config": "0.0.0"
36
46
  },
37
47
  "scripts": {
48
+ "codegen": "graphql-codegen --config codegen.ts",
38
49
  "build": "pnpm build:browser && pnpm build:package",
39
50
  "build:browser": "vite build --config vite.config.browser.ts && CSS_OUT_DIR=dist/browser vite build --config vite.config.css.ts",
40
51
  "build:package": "vite build --config vite.config.package.ts && CSS_OUT_DIR=dist/package vite build --config vite.config.css.ts",