@revvue/embed 0.0.0-beta.6 → 0.0.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/css/dialog.css +1 -1
- package/dist/browser/css/drawer.css +1 -1
- package/dist/browser/css/embed.css +1 -0
- package/dist/browser/css/popover.css +1 -1
- package/dist/browser/css/widget.css +1 -1
- package/dist/browser/embed.js +19 -2
- package/dist/package/css/dialog.css +1 -1
- package/dist/package/css/drawer.css +1 -1
- package/dist/package/css/embed.css +1 -0
- package/dist/package/css/popover.css +1 -1
- package/dist/package/css/widget.css +1 -1
- package/dist/package/package.cjs +113 -7
- package/dist/package/package.mjs +111 -7
- package/dist/package/types/src/config/contants.d.ts.map +1 -0
- package/dist/package/types/src/config/env.d.ts.map +1 -0
- package/dist/package/types/{core → src/core}/app-options.d.ts +3 -2
- package/dist/package/types/src/core/app-options.d.ts.map +1 -0
- package/dist/package/types/src/core/appearance-options.d.ts.map +1 -0
- package/dist/package/types/src/core/button-options.d.ts.map +1 -0
- package/dist/package/types/{core → src/core}/common.d.ts +4 -2
- package/dist/package/types/src/core/common.d.ts.map +1 -0
- package/dist/package/types/src/core/create-iframe.d.ts.map +1 -0
- package/dist/package/types/src/core/create-iframe.spec.d.ts.map +1 -0
- package/dist/package/types/src/core/embed-apps.d.ts.map +1 -0
- package/dist/package/types/src/core/embed-types.d.ts.map +1 -0
- package/dist/package/types/src/core/iframe-messages.d.ts.map +1 -0
- package/dist/package/types/src/embed/create-embed.d.ts +3 -0
- package/dist/package/types/src/embed/create-embed.d.ts.map +1 -0
- package/dist/package/types/src/embed/fetch-embed.d.ts.map +1 -0
- package/dist/package/types/src/embed/mount-embeds.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-dialog/create-dialog.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-dialog/create-dialog.spec.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-dialog/index.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-drawer/create-drawer.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-drawer/create-drawer.spec.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-drawer/index.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-popover/create-popover.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-popover/create-popover.spec.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-popover/index.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-widget/create-widget.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-widget/create-widget.spec.d.ts.map +1 -0
- package/dist/package/types/src/factories/create-widget/index.d.ts.map +1 -0
- package/dist/package/types/src/factories/index.d.ts.map +1 -0
- package/dist/package/types/src/generated/graphql.d.ts +95 -0
- package/dist/package/types/src/generated/graphql.d.ts.map +1 -0
- package/dist/package/types/{package.d.ts → src/package.d.ts} +1 -0
- package/dist/package/types/src/package.d.ts.map +1 -0
- package/dist/package/types/src/test/fixtures.d.ts.map +1 -0
- package/dist/package/types/src/test/setup.d.ts.map +1 -0
- package/dist/package/types/src/utils/brand-types.d.ts.map +1 -0
- package/dist/package/types/src/utils/built-button/built-button.d.ts.map +1 -0
- package/dist/package/types/src/utils/built-button/index.d.ts.map +1 -0
- package/dist/package/types/src/utils/create-closing-guard.d.ts.map +1 -0
- package/dist/package/types/src/utils/create-env.d.ts.map +1 -0
- package/dist/package/types/src/utils/icons.d.ts.map +1 -0
- package/dist/package/types/src/utils/is.d.ts.map +1 -0
- package/dist/package/types/src/utils/keyboard-events.d.ts.map +1 -0
- package/dist/package/types/src/utils/load-css.d.ts.map +1 -0
- package/dist/package/types/src/utils/merge-options.d.ts.map +1 -0
- package/dist/package/types/src/utils/open-state-store/index.d.ts.map +1 -0
- package/dist/package/types/src/utils/open-state-store/open-state-store.d.ts.map +1 -0
- package/dist/package/types/src/utils/open-state-store/open-state-store.spec.d.ts.map +1 -0
- package/dist/package/types/src/utils/refresh-iframe.d.ts.map +1 -0
- package/dist/package/types/src/utils/set-element-size.d.ts.map +1 -0
- package/package.json +13 -2
- package/dist/package/types/config/contants.d.ts.map +0 -1
- package/dist/package/types/config/env.d.ts.map +0 -1
- package/dist/package/types/core/app-options.d.ts.map +0 -1
- package/dist/package/types/core/appearance-options.d.ts.map +0 -1
- package/dist/package/types/core/button-options.d.ts.map +0 -1
- package/dist/package/types/core/common.d.ts.map +0 -1
- package/dist/package/types/core/create-iframe.d.ts.map +0 -1
- package/dist/package/types/core/create-iframe.spec.d.ts.map +0 -1
- package/dist/package/types/core/embed-apps.d.ts.map +0 -1
- package/dist/package/types/core/embed-types.d.ts.map +0 -1
- package/dist/package/types/core/iframe-messages.d.ts.map +0 -1
- package/dist/package/types/embed/fetch-embed.d.ts.map +0 -1
- package/dist/package/types/embed/mount-embeds.d.ts.map +0 -1
- package/dist/package/types/factories/create-dialog/create-dialog.d.ts.map +0 -1
- package/dist/package/types/factories/create-dialog/create-dialog.spec.d.ts.map +0 -1
- package/dist/package/types/factories/create-dialog/index.d.ts.map +0 -1
- package/dist/package/types/factories/create-drawer/create-drawer.d.ts.map +0 -1
- package/dist/package/types/factories/create-drawer/create-drawer.spec.d.ts.map +0 -1
- package/dist/package/types/factories/create-drawer/index.d.ts.map +0 -1
- package/dist/package/types/factories/create-popover/create-popover.d.ts.map +0 -1
- package/dist/package/types/factories/create-popover/create-popover.spec.d.ts.map +0 -1
- package/dist/package/types/factories/create-popover/index.d.ts.map +0 -1
- package/dist/package/types/factories/create-widget/create-widget.d.ts.map +0 -1
- package/dist/package/types/factories/create-widget/create-widget.spec.d.ts.map +0 -1
- package/dist/package/types/factories/create-widget/index.d.ts.map +0 -1
- package/dist/package/types/factories/index.d.ts.map +0 -1
- package/dist/package/types/package.d.ts.map +0 -1
- package/dist/package/types/test/fixtures.d.ts.map +0 -1
- package/dist/package/types/test/setup.d.ts.map +0 -1
- package/dist/package/types/utils/brand-types.d.ts.map +0 -1
- package/dist/package/types/utils/built-button/built-button.d.ts.map +0 -1
- package/dist/package/types/utils/built-button/index.d.ts.map +0 -1
- package/dist/package/types/utils/create-closing-guard.d.ts.map +0 -1
- package/dist/package/types/utils/create-env.d.ts.map +0 -1
- package/dist/package/types/utils/icons.d.ts.map +0 -1
- package/dist/package/types/utils/is.d.ts.map +0 -1
- package/dist/package/types/utils/keyboard-events.d.ts.map +0 -1
- package/dist/package/types/utils/load-css.d.ts.map +0 -1
- package/dist/package/types/utils/merge-options.d.ts.map +0 -1
- package/dist/package/types/utils/open-state-store/index.d.ts.map +0 -1
- package/dist/package/types/utils/open-state-store/open-state-store.d.ts.map +0 -1
- package/dist/package/types/utils/open-state-store/open-state-store.spec.d.ts.map +0 -1
- package/dist/package/types/utils/refresh-iframe.d.ts.map +0 -1
- package/dist/package/types/utils/set-element-size.d.ts.map +0 -1
- /package/dist/package/types/{config → src/config}/contants.d.ts +0 -0
- /package/dist/package/types/{config → src/config}/env.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/appearance-options.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/button-options.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/create-iframe.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/create-iframe.spec.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/embed-apps.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/embed-types.d.ts +0 -0
- /package/dist/package/types/{core → src/core}/iframe-messages.d.ts +0 -0
- /package/dist/package/types/{embed → src/embed}/fetch-embed.d.ts +0 -0
- /package/dist/package/types/{embed → src/embed}/mount-embeds.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-dialog/create-dialog.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-dialog/create-dialog.spec.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-dialog/index.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-drawer/create-drawer.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-drawer/create-drawer.spec.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-drawer/index.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-popover/create-popover.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-popover/create-popover.spec.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-popover/index.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-widget/create-widget.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-widget/create-widget.spec.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/create-widget/index.d.ts +0 -0
- /package/dist/package/types/{factories → src/factories}/index.d.ts +0 -0
- /package/dist/package/types/{test → src/test}/fixtures.d.ts +0 -0
- /package/dist/package/types/{test → src/test}/setup.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/brand-types.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/built-button/built-button.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/built-button/index.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/create-closing-guard.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/create-env.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/icons.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/is.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/keyboard-events.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/load-css.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/merge-options.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/open-state-store/index.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/open-state-store/open-state-store.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/open-state-store/open-state-store.spec.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/refresh-iframe.d.ts +0 -0
- /package/dist/package/types/{utils → src/utils}/set-element-size.d.ts +0 -0
|
@@ -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: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{width:
|
|
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);
|
|
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}
|
package/dist/browser/embed.js
CHANGED
|
@@ -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
|
|
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>`,
|
|
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: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{width:
|
|
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);
|
|
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}
|
package/dist/package/package.cjs
CHANGED
|
@@ -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
|
|
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://
|
|
26
|
+
default: "https://chat.dev.jonna.ai",
|
|
26
27
|
parse: removeTrailingSlash
|
|
27
28
|
},
|
|
28
29
|
FORM_URL: {
|
|
@@ -34,7 +35,7 @@ var env = createEnv({
|
|
|
34
35
|
parse: removeTrailingSlash
|
|
35
36
|
},
|
|
36
37
|
EMBED_LOOKUP_URL: {
|
|
37
|
-
default: "https://
|
|
38
|
+
default: "https://public-router.dev.jonna.ai/",
|
|
38
39
|
parse: removeTrailingSlash
|
|
39
40
|
},
|
|
40
41
|
DEBUG: {
|
|
@@ -66,7 +67,11 @@ var IFRAME_MESSAGES = {
|
|
|
66
67
|
function getIframeSrc(options) {
|
|
67
68
|
const base = options.app === "chat" ? env.CHAT_URL : env.FORM_URL;
|
|
68
69
|
const params = new URLSearchParams({ tenant_id: options.tenantId });
|
|
69
|
-
if (options.app === "chat")
|
|
70
|
+
if (options.app === "chat") {
|
|
71
|
+
const chat = options;
|
|
72
|
+
params.set("app_id", chat.appId);
|
|
73
|
+
params.set("public_key", chat.publicKey);
|
|
74
|
+
}
|
|
70
75
|
return `${base}?${params}`;
|
|
71
76
|
}
|
|
72
77
|
function createIframe(options) {
|
|
@@ -186,8 +191,8 @@ var getValueWithUnits = (value) => {
|
|
|
186
191
|
else return `${value}px`;
|
|
187
192
|
};
|
|
188
193
|
var setElementSize = (element, { width, height }) => {
|
|
189
|
-
if (width) element.style.width
|
|
190
|
-
if (height) element.style.height
|
|
194
|
+
if (width) element.style.setProperty("--rvv-width", getValueWithUnits(width));
|
|
195
|
+
if (height) element.style.setProperty("--rvv-height", getValueWithUnits(height));
|
|
191
196
|
return element;
|
|
192
197
|
};
|
|
193
198
|
//#endregion
|
|
@@ -540,11 +545,112 @@ function createWidget(options, element) {
|
|
|
540
545
|
};
|
|
541
546
|
}
|
|
542
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;
|
|
543
648
|
exports.createDialog = createDialog;
|
|
544
649
|
exports.createDrawer = createDrawer;
|
|
650
|
+
exports.createEmbed = createEmbed;
|
|
545
651
|
exports.createPopover = createPopover;
|
|
546
652
|
exports.createWidget = createWidget;
|
|
547
653
|
exports.embedId = embedId;
|
|
548
654
|
exports.formId = formId;
|
|
549
|
-
exports.
|
|
655
|
+
exports.publicKey = publicKey;
|
|
550
656
|
exports.tenantId = tenantId;
|
package/dist/package/package.mjs
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
var tenantId = (id) => id;
|
|
3
3
|
var formId = (id) => id;
|
|
4
4
|
var embedId = (id) => id;
|
|
5
|
-
var
|
|
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://
|
|
25
|
+
default: "https://chat.dev.jonna.ai",
|
|
25
26
|
parse: removeTrailingSlash
|
|
26
27
|
},
|
|
27
28
|
FORM_URL: {
|
|
@@ -33,7 +34,7 @@ var env = createEnv({
|
|
|
33
34
|
parse: removeTrailingSlash
|
|
34
35
|
},
|
|
35
36
|
EMBED_LOOKUP_URL: {
|
|
36
|
-
default: "https://
|
|
37
|
+
default: "https://public-router.dev.jonna.ai/",
|
|
37
38
|
parse: removeTrailingSlash
|
|
38
39
|
},
|
|
39
40
|
DEBUG: {
|
|
@@ -65,7 +66,11 @@ var IFRAME_MESSAGES = {
|
|
|
65
66
|
function getIframeSrc(options) {
|
|
66
67
|
const base = options.app === "chat" ? env.CHAT_URL : env.FORM_URL;
|
|
67
68
|
const params = new URLSearchParams({ tenant_id: options.tenantId });
|
|
68
|
-
if (options.app === "chat")
|
|
69
|
+
if (options.app === "chat") {
|
|
70
|
+
const chat = options;
|
|
71
|
+
params.set("app_id", chat.appId);
|
|
72
|
+
params.set("public_key", chat.publicKey);
|
|
73
|
+
}
|
|
69
74
|
return `${base}?${params}`;
|
|
70
75
|
}
|
|
71
76
|
function createIframe(options) {
|
|
@@ -185,8 +190,8 @@ var getValueWithUnits = (value) => {
|
|
|
185
190
|
else return `${value}px`;
|
|
186
191
|
};
|
|
187
192
|
var setElementSize = (element, { width, height }) => {
|
|
188
|
-
if (width) element.style.width
|
|
189
|
-
if (height) element.style.height
|
|
193
|
+
if (width) element.style.setProperty("--rvv-width", getValueWithUnits(width));
|
|
194
|
+
if (height) element.style.setProperty("--rvv-height", getValueWithUnits(height));
|
|
190
195
|
return element;
|
|
191
196
|
};
|
|
192
197
|
//#endregion
|
|
@@ -539,4 +544,103 @@ function createWidget(options, element) {
|
|
|
539
544
|
};
|
|
540
545
|
}
|
|
541
546
|
//#endregion
|
|
542
|
-
|
|
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 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contants.d.ts","sourceRoot":"","sources":["../../../../../src/config/contants.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
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 {
|
|
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
|
-
|
|
12
|
+
appId: AppId;
|
|
13
|
+
publicKey: PublicKey;
|
|
13
14
|
}
|
|
14
15
|
export interface FormOptions extends BaseEmbedOptions, AppearanceOptions {
|
|
15
16
|
app: "form";
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appearance-options.d.ts","sourceRoot":"","sources":["../../../../../src/core/appearance-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-options.d.ts","sourceRoot":"","sources":["../../../../../src/core/button-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -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
|
|
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
|
|
10
|
+
export declare const appId: (id: string) => AppId;
|
|
11
|
+
export declare const publicKey: (key: string) => PublicKey;
|
|
10
12
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +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;AAa7C,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;yBAmB3B,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;EAU5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-iframe.spec.d.ts","sourceRoot":"","sources":["../../../../../src/core/create-iframe.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-apps.d.ts","sourceRoot":"","sources":["../../../../../src/core/embed-apps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-types.d.ts","sourceRoot":"","sources":["../../../../../src/core/embed-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,sEAAsE;IACtE,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,MAAM,IAAI,CAAC;CACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iframe-messages.d.ts","sourceRoot":"","sources":["../../../../../src/core/iframe-messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -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"}
|