@youversion/platform-react-ui 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/components/{SignInButton.d.ts → YouVersionAuthButton.d.ts} +28 -29
- package/dist/components/YouVersionAuthButton.d.ts.map +1 -0
- package/dist/components/{SignInButton.stories.d.ts → YouVersionAuthButton.stories.d.ts} +10 -13
- package/dist/components/YouVersionAuthButton.stories.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/verse-of-the-day.stories.d.ts.map +1 -1
- package/dist/index.cjs +629 -654
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +620 -642
- package/dist/tailwind.css +1 -1
- package/package.json +5 -5
- package/dist/components/SignInButton.d.ts.map +0 -1
- package/dist/components/SignInButton.stories.d.ts.map +0 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/useAuthentication.d.ts +0 -8
- package/dist/hooks/useAuthentication.d.ts.map +0 -1
- package/dist/providers/YVPErrorBoundary.d.ts +0 -17
- package/dist/providers/YVPErrorBoundary.d.ts.map +0 -1
- package/dist/providers/YVPErrorBoundary.test.d.ts +0 -2
- package/dist/providers/YVPErrorBoundary.test.d.ts.map +0 -1
- package/dist/providers/YVPProvider.d.ts +0 -20
- package/dist/providers/YVPProvider.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -3
- package/dist/providers/index.d.ts.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -33,14 +33,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
33
33
|
var index_exports = {};
|
|
34
34
|
__export(index_exports, {
|
|
35
35
|
ApiClient: () => ApiClient,
|
|
36
|
-
AuthClient: () => AuthClient,
|
|
37
|
-
AuthenticationStrategyRegistry: () => AuthenticationStrategyRegistry,
|
|
38
36
|
BOOK_CANON: () => BOOK_CANON,
|
|
39
37
|
BOOK_IDS: () => BOOK_IDS,
|
|
40
38
|
BibleChapterPicker: () => BibleChapterPicker,
|
|
41
39
|
BibleClient: () => BibleClient,
|
|
42
40
|
BibleReader: () => BibleReader,
|
|
43
|
-
BibleSDKProvider: () => import_platform_react_hooks7.BibleSDKProvider,
|
|
44
41
|
BibleTextView: () => BibleTextView,
|
|
45
42
|
BibleVersionPicker: () => BibleVersionPicker,
|
|
46
43
|
BibleWidgetView: () => BibleWidgetView,
|
|
@@ -48,20 +45,17 @@ __export(index_exports, {
|
|
|
48
45
|
LanguagesClient: () => LanguagesClient,
|
|
49
46
|
MemoryStorageStrategy: () => MemoryStorageStrategy,
|
|
50
47
|
SessionStorageStrategy: () => SessionStorageStrategy,
|
|
51
|
-
SignInButton: () => SignInButton,
|
|
52
48
|
SignInWithYouVersionPermission: () => SignInWithYouVersionPermission,
|
|
53
49
|
SignInWithYouVersionResult: () => SignInWithYouVersionResult,
|
|
54
50
|
URLBuilder: () => URLBuilder,
|
|
55
51
|
VerseOfTheDay: () => VerseOfTheDay,
|
|
56
|
-
WebAuthenticationStrategy: () => WebAuthenticationStrategy,
|
|
57
|
-
YVPErrorBoundary: () => YVPErrorBoundary,
|
|
58
|
-
YVPProvider: () => YVPProvider,
|
|
59
52
|
YouVersionAPI: () => YouVersionAPI,
|
|
60
53
|
YouVersionAPIUsers: () => YouVersionAPIUsers,
|
|
54
|
+
YouVersionAuthButton: () => YouVersionAuthButton,
|
|
61
55
|
YouVersionPlatformConfiguration: () => YouVersionPlatformConfiguration,
|
|
56
|
+
YouVersionProvider: () => import_platform_react_hooks8.YouVersionProvider,
|
|
62
57
|
YouVersionUserInfo: () => YouVersionUserInfo,
|
|
63
|
-
|
|
64
|
-
useYVP: () => useYVP
|
|
58
|
+
useYVAuth: () => import_platform_react_hooks8.useYVAuth
|
|
65
59
|
});
|
|
66
60
|
module.exports = __toCommonJS(index_exports);
|
|
67
61
|
|
|
@@ -72,7 +66,7 @@ function injectStyles() {
|
|
|
72
66
|
if (document.getElementById(id)) return;
|
|
73
67
|
const style = document.createElement("style");
|
|
74
68
|
style.id = id;
|
|
75
|
-
style.textContent = '/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */\n@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Source+Serif+Pro:wght@400;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--yv-font-sans:"Inter",sans-serif;--yv-font-serif:"Source Serif Pro",serif;--yv-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--yv-color-white:#fff;--yv-spacing:.25rem;--yv-breakpoint-sm:40rem;--yv-container-sm:24rem;--yv-container-md:28rem;--yv-container-lg:32rem;--yv-text-xs:.75rem;--yv-text-xs--line-height:calc(1/.75);--yv-text-sm:.875rem;--yv-text-sm--line-height:calc(1.25/.875);--yv-text-base:1rem;--yv-text-base--line-height:calc(1.5/1);--yv-text-xl:1.25rem;--yv-text-xl--line-height:calc(1.75/1.25);--yv-text-2xl:1.5rem;--yv-text-2xl--line-height:calc(2/1.5);--yv-font-weight-normal:400;--yv-font-weight-medium:500;--yv-font-weight-bold:700;--yv-tracking-widest:.1em;--yv-leading-snug:1.375;--yv-leading-normal:1.5;--yv-radius-2xl:1rem;--yv-radius-3xl:1.5rem;--yv-animate-spin:spin 1s linear infinite;--yv-blur-sm:8px;--yv-default-transition-duration:.15s;--yv-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--yv-default-font-family:"Inter",sans-serif;--yv-default-mono-font-family:var(--yv-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--yv-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--yv-default-font-feature-settings,normal);font-variation-settings:var(--yv-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--yv-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--yv-default-mono-font-feature-settings,normal);font-variation-settings:var(--yv-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[data-yv-sdk] *{outline-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){[data-yv-sdk] *{outline-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}[data-yv-sdk]{background-color:var(--yv-background);color:var(--yv-foreground);font-family:Inter,sans-serif}}@layer components;@layer utilities{.yv\\:pointer-events-auto{pointer-events:auto}.yv\\:pointer-events-none{pointer-events:none}.yv\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.yv\\:absolute{position:absolute}.yv\\:relative{position:relative}.yv\\:inset-0{inset:calc(var(--yv-spacing)*0)}.yv\\:top-1\\/2{top:50%}.yv\\:left-1\\/2{left:50%}.yv\\:left-3{left:calc(var(--yv-spacing)*3)}.yv\\:z-20{z-index:20}.yv\\:z-50{z-index:50}.yv\\:order-first{order:-9999}.yv\\:order-last{order:9999}.yv\\:col-start-1{grid-column-start:1}.yv\\:col-start-2{grid-column-start:2}.yv\\:row-span-2{grid-row:span 2/span 2}.yv\\:row-start-1{grid-row-start:1}.yv\\:\\!m-0{margin:calc(var(--yv-spacing)*0)!important}.yv\\:mx-6{margin-inline:calc(var(--yv-spacing)*6)}.yv\\:my-0{margin-block:calc(var(--yv-spacing)*0)}.yv\\:mt-4{margin-top:calc(var(--yv-spacing)*4)}.yv\\:ml-2{margin-left:calc(var(--yv-spacing)*2)}.yv\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yv\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yv\\:block{display:block}.yv\\:contents{display:contents}.yv\\:flex{display:flex}.yv\\:grid{display:grid}.yv\\:inline-flex{display:inline-flex}.yv\\:field-sizing-content{field-sizing:content}.yv\\:aspect-square{aspect-ratio:1}.yv\\:size-4{width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:size-6{width:calc(var(--yv-spacing)*6);height:calc(var(--yv-spacing)*6)}.yv\\:size-8{width:calc(var(--yv-spacing)*8);height:calc(var(--yv-spacing)*8)}.yv\\:size-9{width:calc(var(--yv-spacing)*9);height:calc(var(--yv-spacing)*9)}.yv\\:size-10{width:calc(var(--yv-spacing)*10);height:calc(var(--yv-spacing)*10)}.yv\\:size-12{width:calc(var(--yv-spacing)*12);height:calc(var(--yv-spacing)*12)}.yv\\:h-4{height:calc(var(--yv-spacing)*4)}.yv\\:h-5{height:calc(var(--yv-spacing)*5)}.yv\\:h-6{height:calc(var(--yv-spacing)*6)}.yv\\:h-6\\!{height:calc(var(--yv-spacing)*6)!important}.yv\\:h-8{height:calc(var(--yv-spacing)*8)}.yv\\:h-9{height:calc(var(--yv-spacing)*9)}.yv\\:h-10{height:calc(var(--yv-spacing)*10)}.yv\\:h-\\[66vh\\]{height:66vh}.yv\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.yv\\:h-auto{height:auto}.yv\\:h-full{height:100%}.yv\\:h-screen{height:100vh}.yv\\:max-h-\\[66vh\\]{max-height:66vh}.yv\\:min-h-16{min-height:calc(var(--yv-spacing)*16)}.yv\\:w-4{width:calc(var(--yv-spacing)*4)}.yv\\:w-6{width:calc(var(--yv-spacing)*6)}.yv\\:w-6\\!{width:calc(var(--yv-spacing)*6)!important}.yv\\:w-8{width:calc(var(--yv-spacing)*8)}.yv\\:w-10{width:calc(var(--yv-spacing)*10)}.yv\\:w-72{width:calc(var(--yv-spacing)*72)}.yv\\:w-96{width:calc(var(--yv-spacing)*96)}.yv\\:w-fit{width:fit-content}.yv\\:w-full{width:100%}.yv\\:max-w-lg{max-width:var(--yv-container-lg)}.yv\\:max-w-md{max-width:var(--yv-container-md)}.yv\\:max-w-screen-sm{max-width:var(--yv-breakpoint-sm)}.yv\\:min-w-0{min-width:calc(var(--yv-spacing)*0)}.yv\\:min-w-5{min-width:calc(var(--yv-spacing)*5)}.yv\\:flex-1{flex:1}.yv\\:shrink-0{flex-shrink:0}.yv\\:grow{flex-grow:1}.yv\\:basis-full{flex-basis:100%}.yv\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.yv\\:origin-center{transform-origin:50%}.yv\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-x-2{--tw-translate-x:calc(var(--yv-spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-x-3{--tw-translate-x:calc(var(--yv-spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-y-0\\.5{--tw-translate-y:calc(var(--yv-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.yv\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.yv\\:animate-spin{animation:var(--yv-animate-spin)}.yv\\:cursor-pointer{cursor:pointer}.yv\\:cursor-text{cursor:text}.yv\\:resize-none{resize:none}.yv\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.yv\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.yv\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.yv\\:grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.yv\\:grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.yv\\:grid-rows-\\[auto_1fr_auto\\]{grid-template-rows:auto 1fr auto}.yv\\:flex-col{flex-direction:column}.yv\\:flex-row{flex-direction:row}.yv\\:flex-wrap{flex-wrap:wrap}.yv\\:items-center{align-items:center}.yv\\:items-end{align-items:flex-end}.yv\\:items-start{align-items:flex-start}.yv\\:items-stretch{align-items:stretch}.yv\\:justify-between{justify-content:space-between}.yv\\:justify-center{justify-content:center}.yv\\:justify-start{justify-content:flex-start}.yv\\:gap-1{gap:calc(var(--yv-spacing)*1)}.yv\\:gap-1\\.5{gap:calc(var(--yv-spacing)*1.5)}.yv\\:gap-2{gap:calc(var(--yv-spacing)*2)}.yv\\:gap-2\\.5{gap:calc(var(--yv-spacing)*2.5)}.yv\\:gap-3{gap:calc(var(--yv-spacing)*3)}.yv\\:gap-4{gap:calc(var(--yv-spacing)*4)}.yv\\:gap-6{gap:calc(var(--yv-spacing)*6)}.yv\\:self-start{align-self:flex-start}.yv\\:self-stretch{align-self:stretch}.yv\\:justify-self-end{justify-self:flex-end}.yv\\:justify-self-start{justify-self:flex-start}.yv\\:overflow-hidden{overflow:hidden}.yv\\:overflow-y-auto{overflow-y:auto}.yv\\:rounded-2xl{border-radius:var(--yv-radius-2xl)}.yv\\:rounded-3xl{border-radius:var(--yv-radius-3xl)}.yv\\:rounded-\\[4px\\]{border-radius:4px}.yv\\:rounded-\\[8px\\]{border-radius:8px}.yv\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{border-radius:calc(var(--radius) - 5px)}.yv\\:rounded-full{border-radius:3.40282e38px}.yv\\:rounded-lg{border-radius:var(--yv-radius)}.yv\\:rounded-md{border-radius:calc(var(--yv-radius) - 2px)}.yv\\:rounded-none{border-radius:0}.yv\\:rounded-sm{border-radius:calc(var(--yv-radius) - 4px)}.yv\\:rounded-t-2xl{border-top-left-radius:var(--yv-radius-2xl);border-top-right-radius:var(--yv-radius-2xl)}.yv\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.yv\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.yv\\:rounded-b-2xl{border-bottom-right-radius:var(--yv-radius-2xl);border-bottom-left-radius:var(--yv-radius-2xl)}.yv\\:border{border-style:var(--tw-border-style);border-width:1px}.yv\\:border-0{border-style:var(--tw-border-style);border-width:0}.yv\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.yv\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.yv\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yv\\:border-none{--tw-border-style:none;border-style:none}.yv\\:border-border{border-color:var(--yv-border)}.yv\\:border-input{border-color:var(--yv-input)}.yv\\:border-muted{border-color:var(--yv-muted)}.yv\\:border-transparent{border-color:#0000}.yv\\:bg-background{background-color:var(--yv-background)}.yv\\:bg-border{background-color:var(--yv-border)}.yv\\:bg-card{background-color:var(--yv-card)}.yv\\:bg-destructive{background-color:var(--yv-destructive)}.yv\\:bg-input{background-color:var(--yv-input)}.yv\\:bg-muted,.yv\\:bg-muted\\/50{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){.yv\\:bg-muted\\/50{background-color:color-mix(in oklab,var(--yv-muted)50%,transparent)}}.yv\\:bg-popover{background-color:var(--yv-popover)}.yv\\:bg-primary{background-color:var(--yv-primary)}.yv\\:bg-transparent{background-color:#0000}.yv\\:fill-primary-foreground{fill:var(--yv-primary-foreground)}.yv\\:p-0{padding:calc(var(--yv-spacing)*0)}.yv\\:p-0\\.5{padding:calc(var(--yv-spacing)*.5)}.yv\\:p-3{padding:calc(var(--yv-spacing)*3)}.yv\\:p-4{padding:calc(var(--yv-spacing)*4)}.yv\\:p-6{padding:calc(var(--yv-spacing)*6)}.yv\\:p-12{padding:calc(var(--yv-spacing)*12)}.yv\\:px-1{padding-inline:calc(var(--yv-spacing)*1)}.yv\\:px-2{padding-inline:calc(var(--yv-spacing)*2)}.yv\\:px-2\\.5{padding-inline:calc(var(--yv-spacing)*2.5)}.yv\\:px-3{padding-inline:calc(var(--yv-spacing)*3)}.yv\\:px-4{padding-inline:calc(var(--yv-spacing)*4)}.yv\\:px-6{padding-inline:calc(var(--yv-spacing)*6)}.yv\\:py-0\\.5{padding-block:calc(var(--yv-spacing)*.5)}.yv\\:py-1{padding-block:calc(var(--yv-spacing)*1)}.yv\\:py-1\\.5{padding-block:calc(var(--yv-spacing)*1.5)}.yv\\:py-2{padding-block:calc(var(--yv-spacing)*2)}.yv\\:py-3{padding-block:calc(var(--yv-spacing)*3)}.yv\\:py-4{padding-block:calc(var(--yv-spacing)*4)}.yv\\:py-8{padding-block:calc(var(--yv-spacing)*8)}.yv\\:py-12{padding-block:calc(var(--yv-spacing)*12)}.yv\\:pt-0{padding-top:calc(var(--yv-spacing)*0)}.yv\\:pt-3{padding-top:calc(var(--yv-spacing)*3)}.yv\\:pr-3{padding-right:calc(var(--yv-spacing)*3)}.yv\\:pb-3{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:pb-4{padding-bottom:calc(var(--yv-spacing)*4)}.yv\\:pl-3{padding-left:calc(var(--yv-spacing)*3)}.yv\\:pl-9{padding-left:calc(var(--yv-spacing)*9)}.yv\\:text-center{text-align:center}.yv\\:text-left{text-align:left}.yv\\:align-super{vertical-align:super}.yv\\:font-mono{font-family:var(--yv-font-mono)}.yv\\:font-sans{font-family:Inter,sans-serif}.yv\\:font-serif{font-family:Source Serif Pro,serif}.yv\\:font-serif\\!{font-family:Source Serif Pro,serif!important}.yv\\:text-2xl{font-size:var(--yv-text-2xl);line-height:var(--tw-leading,var(--yv-text-2xl--line-height))}.yv\\:text-base{font-size:var(--yv-text-base);line-height:var(--tw-leading,var(--yv-text-base--line-height))}.yv\\:text-sm{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}.yv\\:text-xl{font-size:var(--yv-text-xl);line-height:var(--tw-leading,var(--yv-text-xl--line-height))}.yv\\:text-xs{font-size:var(--yv-text-xs);line-height:var(--tw-leading,var(--yv-text-xs--line-height))}.yv\\:text-\\[0\\.5rem\\]{font-size:.5rem}.yv\\:text-\\[0\\.6em\\]{font-size:.6em}.yv\\:text-\\[0\\.75em\\]{font-size:.75em}.yv\\:text-\\[2\\.5rem\\]{font-size:2.5rem}.yv\\:leading-none{--tw-leading:1;line-height:1}.yv\\:leading-normal{--tw-leading:var(--yv-leading-normal);line-height:var(--yv-leading-normal)}.yv\\:leading-snug{--tw-leading:var(--yv-leading-snug);line-height:var(--yv-leading-snug)}.yv\\:font-bold{--tw-font-weight:var(--yv-font-weight-bold);font-weight:var(--yv-font-weight-bold)}.yv\\:font-medium{--tw-font-weight:var(--yv-font-weight-medium);font-weight:var(--yv-font-weight-medium)}.yv\\:font-normal{--tw-font-weight:var(--yv-font-weight-normal);font-weight:var(--yv-font-weight-normal)}.yv\\:tracking-widest{--tw-tracking:var(--yv-tracking-widest);letter-spacing:var(--yv-tracking-widest)}.yv\\:text-balance{text-wrap:balance}.yv\\:whitespace-nowrap{white-space:nowrap}.yv\\:text-\\(--yv-gray-30\\){color:var(--yv-gray-30)}.yv\\:text-foreground{color:var(--yv-foreground)}.yv\\:text-muted-foreground{color:var(--yv-muted-foreground)}.yv\\:text-popover-foreground{color:var(--yv-popover-foreground)}.yv\\:text-primary{color:var(--yv-primary)}.yv\\:text-primary-foreground{color:var(--yv-primary-foreground)}.yv\\:text-white{color:var(--yv-color-white)}.yv\\:uppercase{text-transform:uppercase}.yv\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.yv\\:underline-offset-4{text-underline-offset:4px}.yv\\:opacity-0{opacity:0}.yv\\:opacity-100{opacity:1}.yv\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yv\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.yv\\:blur-none{--tw-blur: ;filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.yv\\:blur-sm{--tw-blur:blur(var(--yv-blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.yv\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.yv\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.yv\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.yv\\:outline-none{--tw-outline-style:none;outline-style:none}.yv\\:select-none{-webkit-user-select:none;user-select:none}:is(.yv\\:\\*\\:max-w-lg>*){max-width:var(--yv-container-lg)}:is(.yv\\:\\*\\:shrink-0>*){flex-shrink:0}.yv\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:translate-y-0\\.5:is(:where(.yv\\:group\\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--yv-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:self-start:is(:where(.yv\\:group\\/item):has([data-slot=item-description]) *){align-self:flex-start}.yv\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2\\.5:is(:where(.yv\\:group\\/input-group):has(>input) *){padding-top:calc(var(--yv-spacing)*2.5)}.yv\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2\\.5:is(:where(.yv\\:group\\/input-group):has(>input) *){padding-bottom:calc(var(--yv-spacing)*2.5)}.yv\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.yv\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.yv\\:selection\\:bg-primary ::selection{background-color:var(--yv-primary)}.yv\\:selection\\:bg-primary::selection{background-color:var(--yv-primary)}.yv\\:selection\\:text-primary-foreground ::selection{color:var(--yv-primary-foreground)}.yv\\:selection\\:text-primary-foreground::selection{color:var(--yv-primary-foreground)}.yv\\:file\\:inline-flex::file-selector-button{display:inline-flex}.yv\\:file\\:h-7::file-selector-button{height:calc(var(--yv-spacing)*7)}.yv\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.yv\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.yv\\:file\\:text-sm::file-selector-button{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}.yv\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--yv-font-weight-medium);font-weight:var(--yv-font-weight-medium)}.yv\\:file\\:text-foreground::file-selector-button{color:var(--yv-foreground)}.yv\\:placeholder\\:text-muted-foreground::placeholder{color:var(--yv-muted-foreground)}.yv\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.yv\\:hover\\:border-border:hover{border-color:var(--yv-border)}.yv\\:hover\\:bg-accent:hover{background-color:var(--yv-accent)}.yv\\:hover\\:bg-card:hover{background-color:var(--yv-card)}.yv\\:hover\\:bg-destructive\\/90:hover{background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--yv-destructive)90%,transparent)}}.yv\\:hover\\:bg-muted:hover,.yv\\:hover\\:bg-muted\\/80:hover{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab,var(--yv-muted)80%,transparent)}}.yv\\:hover\\:bg-primary\\/90:hover{background-color:var(--yv-primary)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--yv-primary)90%,transparent)}}.yv\\:hover\\:text-accent-foreground:hover{color:var(--yv-accent-foreground)}.yv\\:hover\\:underline:hover{text-decoration-line:underline}}.yv\\:focus-visible\\:border-ring:focus-visible{border-color:var(--yv-ring)}.yv\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){.yv\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}.yv\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.yv\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--yv-ring)}.yv\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.yv\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.yv\\:disabled\\:opacity-50:disabled{opacity:.5}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--yv-ring)}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-\\[3px\\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--yv-destructive)}.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.yv\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>button\\]\\:mr-\\[-0\\.45rem\\]:has(>button){margin-right:-.45rem}.yv\\:has-\\[\\>button\\]\\:ml-\\[-0\\.45rem\\]:has(>button){margin-left:-.45rem}.yv\\:has-\\[\\>kbd\\]\\:mr-\\[-0\\.35rem\\]:has(>kbd){margin-right:-.35rem}.yv\\:has-\\[\\>kbd\\]\\:ml-\\[-0\\.35rem\\]:has(>kbd){margin-left:-.35rem}.yv\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(var(--yv-spacing)*0)}.yv\\:has-\\[\\>svg\\]\\:px-2:has(>svg){padding-inline:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--yv-spacing)*2.5)}.yv\\:has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--yv-spacing)*4)}.yv\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.yv\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--yv-destructive)}.yv\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.yv\\:data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.yv\\:data-\\[orientation\\=vertical\\]\\:h-auto[data-orientation=vertical]{height:auto}.yv\\:data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.yv\\:data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.yv\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.yv\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.yv\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.yv\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.yv\\:data-\\[size\\=default\\]\\:p-4[data-size=default]{padding:calc(var(--yv-spacing)*4)}.yv\\:data-\\[size\\=lg\\]\\:p-8[data-size=lg]{padding:calc(var(--yv-spacing)*8)}.yv\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--yv-background)}.yv\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.yv\\:data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.yv\\:data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.yv\\:data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media not all and (min-width:40rem){.yv\\:max-sm\\:px-4{padding-inline:calc(var(--yv-spacing)*4)}}@media (min-width:40rem){.yv\\:sm\\:w-sm{width:var(--yv-container-sm)}}@media (min-width:48rem){.yv\\:md\\:text-sm{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}}.yv\\:dark\\:border-input:is([data-yv-sdk][data-yv-theme=dark] *){border-color:var(--yv-input)}.yv\\:dark\\:bg-destructive\\/60:is([data-yv-sdk][data-yv-theme=dark] *){background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:bg-destructive\\/60:is([data-yv-sdk][data-yv-theme=dark] *){background-color:color-mix(in oklab,var(--yv-destructive)60%,transparent)}}.yv\\:dark\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *){background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *){background-color:color-mix(in oklab,var(--yv-input)30%,transparent)}}.yv\\:dark\\:bg-transparent:is([data-yv-sdk][data-yv-theme=dark] *){background-color:#0000}.yv\\:dark\\:text-muted-foreground:is([data-yv-sdk][data-yv-theme=dark] *){color:var(--yv-muted-foreground)}@media (hover:hover){.yv\\:dark\\:hover\\:bg-accent\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:var(--yv-accent)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:hover\\:bg-accent\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:color-mix(in oklab,var(--yv-accent)50%,transparent)}}.yv\\:dark\\:hover\\:bg-input\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:hover\\:bg-input\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:color-mix(in oklab,var(--yv-input)50%,transparent)}}}.yv\\:dark\\:focus-visible\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):focus-visible{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:focus-visible\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:aria-invalid\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:aria-invalid\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:data-\\[state\\=active\\]\\:border-input:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{border-color:var(--yv-input)}.yv\\:dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{background-color:color-mix(in oklab,var(--yv-input)30%,transparent)}}.yv\\:dark\\:data-\\[state\\=active\\]\\:text-foreground:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{color:var(--yv-foreground)}.yv\\:\\[\\&_img\\]\\:size-full img{width:100%;height:100%}.yv\\:\\[\\&_img\\]\\:object-cover img{object-fit:cover}.yv\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.yv\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.yv\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:\\[\\&\\+\\[data-slot\\=item-content\\]\\]\\:flex-none+[data-slot=item-content]{flex:none}.yv\\:\\[\\.border-b\\]\\:pb-3.border-b{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:\\[\\.border-t\\]\\:pt-3.border-t{padding-top:calc(var(--yv-spacing)*3)}.yv\\:\\[a\\]\\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}@media (hover:hover){.yv\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:var(--yv-accent)}@supports (color:color-mix(in lab, red, red)){.yv\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:color-mix(in oklab,var(--yv-accent)50%,transparent)}}}.yv\\:\\[\\&\\>\\*\\]\\:focus-visible\\:relative>:focus-visible{position:relative}.yv\\:\\[\\&\\>\\*\\]\\:focus-visible\\:z-10>:focus-visible{z-index:10}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.yv\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--yv-radius) - 2px);border-bottom-right-radius:calc(var(--yv-radius) - 2px)}.yv\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.yv\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.yv\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.yv\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--yv-primary)}.yv\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--yv-spacing)*2)}.yv\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.yv\\:\\[\\&\\>p\\]\\:inline-block>p{display:inline-block}.yv\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.yv\\:\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--yv-spacing)*3);height:calc(var(--yv-spacing)*3)}.yv\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(var(--yv-spacing)*3.5);height:calc(var(--yv-spacing)*3.5)}.yv\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.yv\\:\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--yv-accent)}a.yv\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--yv-destructive)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:bg-muted\\/90:hover{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-muted\\/90:hover{background-color:color-mix(in oklab,var(--yv-muted)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--yv-primary)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--yv-primary)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--yv-accent-foreground)}}.trim-both{text-box-trim:trim-both}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}[data-slot=yv-bible-renderer]{all:unset;--yv-reader-font-family:var(--font-sans),var(--font-serif);--yv-reader-font-size:20px;--yv-reader-line-height:1.625;-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[data-slot=yv-bible-renderer] *{line-height:var(--yv-reader-line-height);font-family:var(--yv-reader-font-family);font-size:var(--yv-reader-font-size);-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}[data-slot=yv-bible-renderer]{color:var(--yv-foreground)}:is([data-slot=yv-bible-renderer]>*){width:100%;max-width:var(--yv-container-lg)}[data-slot=yv-bible-renderer] .id,[data-slot=yv-bible-renderer] .ide,[data-slot=yv-bible-renderer] .sts,[data-slot=yv-bible-renderer] .rem,[data-slot=yv-bible-renderer] .toc1,[data-slot=yv-bible-renderer] .toc2,[data-slot=yv-bible-renderer] .toc3,[data-slot=yv-bible-renderer] .imte,[data-slot=yv-bible-renderer] .ie,[data-slot=yv-bible-renderer] .mte,[data-slot=yv-bible-renderer] .cl{display:none}[data-slot=yv-bible-renderer] .version{margin-top:1.6em;padding:1.2em}[data-slot=yv-bible-renderer] .chapter>.label{display:none}[data-slot=yv-bible-renderer] .verse>.label,[data-slot=yv-bible-renderer] .fv,[data-slot=yv-bible-renderer] .yv-vlbl{color:var(--yv-muted-foreground);vertical-align:baseline;white-space:nowrap;padding-right:.3em;font-size:.5em;line-height:1em;display:inline;position:relative;top:-.6em}[data-slot=yv-bible-renderer][data-show-verse-numbers=false] .yv-vlbl,[data-slot=yv-bible-renderer] .yv-n{display:none}[data-slot=yv-bible-renderer] .vp{color:var(--yv-gray-20);vertical-align:baseline;font-size:.5em;line-height:1em;display:inline;position:relative;top:-.6em}[data-slot=yv-bible-renderer] .verse>.label+.content,[data-slot=yv-bible-renderer] .yv-vlbl+.content,[data-slot=yv-bible-renderer] .fv+.content{white-space:normal}[data-slot=yv-bible-renderer] .yv-v,[data-slot=yv-bible-renderer] .verse{white-space:nowrap;display:inline}[data-slot=yv-bible-renderer] .imt,[data-slot=yv-bible-renderer] .imt1,[data-slot=yv-bible-renderer] .mt,[data-slot=yv-bible-renderer] .mt1,[data-slot=yv-bible-renderer] .ms,[data-slot=yv-bible-renderer] .ms1{margin:1em 0 0;font-size:1.3em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .iot{margin:.5em 0;font-size:1.3em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .io,[data-slot=yv-bible-renderer] .io1{margin-left:1em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .io2,[data-slot=yv-bible-renderer] .io3{margin-left:2em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .ipi{text-indent:1.5em}[data-slot=yv-bible-renderer] .imt2,[data-slot=yv-bible-renderer] .imt3,[data-slot=yv-bible-renderer] .imt4,[data-slot=yv-bible-renderer] .mt2,[data-slot=yv-bible-renderer] .mt3,[data-slot=yv-bible-renderer] .mt4{margin:.5em 0;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .is,[data-slot=yv-bible-renderer] .s,[data-slot=yv-bible-renderer] .s1,[data-slot=yv-bible-renderer] .ms1,[data-slot=yv-bible-renderer] .is1,[data-slot=yv-bible-renderer] .is2{margin:0 0 .5em;font-size:1.1em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .heading{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .s1 .note .heading,[data-slot=yv-bible-renderer] .s .note .heading{font-size:.67em;font-style:normal;font-weight:400}[data-slot=yv-bible-renderer] .s1 .note_close,[data-slot=yv-bible-renderer] .s .note_close{font-size:.67em}[data-slot=yv-bible-renderer] .s .note,[data-slot=yv-bible-renderer] .is .note,[data-slot=yv-bible-renderer] .s1 .note,[data-slot=yv-bible-renderer] .ms1 .note,[data-slot=yv-bible-renderer] .is1 .note,[data-slot=yv-bible-renderer] .is2 .note,[data-slot=yv-bible-renderer] .mr .note{font-size:.9em}[data-slot=yv-bible-renderer] .note .fr{padding-right:.25em}[data-slot=yv-bible-renderer] .note .fq,[data-slot=yv-bible-renderer] .note .fqa{font-style:italic}[data-slot=yv-bible-renderer] .note .fv{vertical-align:super;font-size:.75em}[data-slot=yv-bible-renderer] .note .fk{font-style:italic;font-weight:700}[data-slot=yv-bible-renderer] .p,[data-slot=yv-bible-renderer] .ip{text-indent:1em;margin-bottom:0}[data-slot=yv-bible-renderer] .pi+.p,[data-slot=yv-bible-renderer] .pi1+.p,[data-slot=yv-bible-renderer] .s+.pi,[data-slot=yv-bible-renderer] .s+.pi1,[data-slot=yv-bible-renderer] .s1+.pi,[data-slot=yv-bible-renderer] .s1+.pi1,[data-slot=yv-bible-renderer] .ms+.p,[data-slot=yv-bible-renderer] .ms1+.p,[data-slot=yv-bible-renderer] .ms2+.p,[data-slot=yv-bible-renderer] .q+.m,[data-slot=yv-bible-renderer] .q1+.m,[data-slot=yv-bible-renderer] .q2+.m,[data-slot=yv-bible-renderer] .q3+.m{text-indent:0;margin-top:.5em}[data-slot=yv-bible-renderer] .label+.p{text-indent:0}[data-slot=yv-bible-renderer] .chapter div:first-child{margin-top:0}[data-slot=yv-bible-renderer] .d+.d{margin-top:-1.25em}[data-slot=yv-bible-renderer] .p+.s,[data-slot=yv-bible-renderer] .p+.s1,[data-slot=yv-bible-renderer] .p+.s2,[data-slot=yv-bible-renderer] .p+.ms,[data-slot=yv-bible-renderer] .p+.ms1,[data-slot=yv-bible-renderer] .p+.ms2,[data-slot=yv-bible-renderer] .p+.q,[data-slot=yv-bible-renderer] .p+.q1,[data-slot=yv-bible-renderer] .p+.li,[data-slot=yv-bible-renderer] .p+.li1,[data-slot=yv-bible-renderer] .li+.li2,[data-slot=yv-bible-renderer] .li1+.li2,[data-slot=yv-bible-renderer] .li2+.li,[data-slot=yv-bible-renderer] .li2+.li1,[data-slot=yv-bible-renderer] .m+.s,[data-slot=yv-bible-renderer] .m+.s1,[data-slot=yv-bible-renderer] .m+.s2,[data-slot=yv-bible-renderer] .q+p,[data-slot=yv-bible-renderer] .q1+.p,[data-slot=yv-bible-renderer] .q2+.p,[data-slot=yv-bible-renderer] .q+.s,[data-slot=yv-bible-renderer] .q+.s1,[data-slot=yv-bible-renderer] .q+.s2,[data-slot=yv-bible-renderer] .q+.ms,[data-slot=yv-bible-renderer] .q+.ms1,[data-slot=yv-bible-renderer] .q+.ms2,[data-slot=yv-bible-renderer] .q1+.s,[data-slot=yv-bible-renderer] .q1+.s1,[data-slot=yv-bible-renderer] .q1+.s2,[data-slot=yv-bible-renderer] .q1+.ms,[data-slot=yv-bible-renderer] .q1+.ms1,[data-slot=yv-bible-renderer] .q1+.ms2,[data-slot=yv-bible-renderer] .q2+.s,[data-slot=yv-bible-renderer] .q2+.s1,[data-slot=yv-bible-renderer] .q2+.s2,[data-slot=yv-bible-renderer] .q2+.ms,[data-slot=yv-bible-renderer] .q2+.m1,[data-slot=yv-bible-renderer] .q2+.m2,[data-slot=yv-bible-renderer] .q3+.s,[data-slot=yv-bible-renderer] .q3+.s1,[data-slot=yv-bible-renderer] .q3+.s2,[data-slot=yv-bible-renderer] .q3+.ms,[data-slot=yv-bible-renderer] .q3+.m1,[data-slot=yv-bible-renderer] .q3+.m2,[data-slot=yv-bible-renderer] .imt+.is,[data-slot=yv-bible-renderer] .imt+.is1,[data-slot=yv-bible-renderer] .imt1+.is,[data-slot=yv-bible-renderer] .imt1+.is1,[data-slot=yv-bible-renderer] .ip+.is,[data-slot=yv-bible-renderer] .ip+.is1,[data-slot=yv-bible-renderer] .io+.is,[data-slot=yv-bible-renderer] .io+.is1,[data-slot=yv-bible-renderer] .io1+.is,[data-slot=yv-bible-renderer] .io1+.is1,[data-slot=yv-bible-renderer] .io2+.is,[data-slot=yv-bible-renderer] .io2+.is1,[data-slot=yv-bible-renderer] .io3+.is,[data-slot=yv-bible-renderer] .io3+.is1,[data-slot=yv-bible-renderer] .ip+.io,[data-slot=yv-bible-renderer] .ip+.io1,[data-slot=yv-bible-renderer] .ip+.io2,[data-slot=yv-bible-renderer] .ip+.io3,[data-slot=yv-bible-renderer] .table+.p,[data-slot=yv-bible-renderer] .p+.table,[data-slot=yv-bible-renderer] .pi1+.s,[data-slot=yv-bible-renderer] .pi+.s{margin-top:1em}[data-slot=yv-bible-renderer] .p+.pm,[data-slot=yv-bible-renderer] .p+.pmo,[data-slot=yv-bible-renderer] .p+.pmc,[data-slot=yv-bible-renderer] .p+.q1,[data-slot=yv-bible-renderer] .p+.q2,[data-slot=yv-bible-renderer] .p+.q3,[data-slot=yv-bible-renderer] .p+.q4,[data-slot=yv-bible-renderer] .p+.qr,[data-slot=yv-bible-renderer] .p+.qm1,[data-slot=yv-bible-renderer] .p+.qm2,[data-slot=yv-bible-renderer] .p+.pmr,[data-slot=yv-bible-renderer] .m+.pm,[data-slot=yv-bible-renderer] .m+.pmo,[data-slot=yv-bible-renderer] .m+.pmc,[data-slot=yv-bible-renderer] .m+.q1,[data-slot=yv-bible-renderer] .m+.q2,[data-slot=yv-bible-renderer] .m+.q3,[data-slot=yv-bible-renderer] .m+.q4,[data-slot=yv-bible-renderer] .m+.qr,[data-slot=yv-bible-renderer] .m+.qm1,[data-slot=yv-bible-renderer] .m+.qm2,[data-slot=yv-bible-renderer] .m+.pmr,[data-slot=yv-bible-renderer] .mi+.pm,[data-slot=yv-bible-renderer] .mi+.pmo,[data-slot=yv-bible-renderer] .mi+.pmc,[data-slot=yv-bible-renderer] .mi+.q1,[data-slot=yv-bible-renderer] .mi+.q2,[data-slot=yv-bible-renderer] .mi+.q3,[data-slot=yv-bible-renderer] .mi+.q4,[data-slot=yv-bible-renderer] .mi+.qr,[data-slot=yv-bible-renderer] .mi+.qm1,[data-slot=yv-bible-renderer] .mi+.qm2,[data-slot=yv-bible-renderer] .mi+.pmr,[data-slot=yv-bible-renderer] .pi1+.pm,[data-slot=yv-bible-renderer] .pi1+.pmo,[data-slot=yv-bible-renderer] .pi1+.pmc,[data-slot=yv-bible-renderer] .pi1+.q1,[data-slot=yv-bible-renderer] .pi1+.q2,[data-slot=yv-bible-renderer] .pi1+.q3,[data-slot=yv-bible-renderer] .pi1+.q4,[data-slot=yv-bible-renderer] .pi1+.qr,[data-slot=yv-bible-renderer] .pi1+.qm1,[data-slot=yv-bible-renderer] .pi1+.qm2,[data-slot=yv-bible-renderer] .pi1+.pmr,[data-slot=yv-bible-renderer] .pi2+.pm,[data-slot=yv-bible-renderer] .pi2+.pmo,[data-slot=yv-bible-renderer] .pi2+.pmc,[data-slot=yv-bible-renderer] .pi2+.q1,[data-slot=yv-bible-renderer] .pi2+.q2,[data-slot=yv-bible-renderer] .pi2+.q3,[data-slot=yv-bible-renderer] .pi2+.q4,[data-slot=yv-bible-renderer] .pi2+.qr,[data-slot=yv-bible-renderer] .pi2+.qm1,[data-slot=yv-bible-renderer] .pi2+.qm2,[data-slot=yv-bible-renderer] .pi2+.pmr,[data-slot=yv-bible-renderer] .pi3+.pm,[data-slot=yv-bible-renderer] .pi3+.pmo,[data-slot=yv-bible-renderer] .pi3+.pmc,[data-slot=yv-bible-renderer] .pi3+.q1,[data-slot=yv-bible-renderer] .pi3+.q2,[data-slot=yv-bible-renderer] .pi3+.q3,[data-slot=yv-bible-renderer] .pi3+.q4,[data-slot=yv-bible-renderer] .pi3+.qr,[data-slot=yv-bible-renderer] .pi3+.qm1,[data-slot=yv-bible-renderer] .pi3+.qm2,[data-slot=yv-bible-renderer] .pi3+.pmr,[data-slot=yv-bible-renderer] .li+.pm,[data-slot=yv-bible-renderer] .li+.pmo,[data-slot=yv-bible-renderer] .li+.pmc,[data-slot=yv-bible-renderer] .li+.q1,[data-slot=yv-bible-renderer] .li+.q2,[data-slot=yv-bible-renderer] .li+.q3,[data-slot=yv-bible-renderer] .li+.q4,[data-slot=yv-bible-renderer] .li+.qr,[data-slot=yv-bible-renderer] .li+.qm1,[data-slot=yv-bible-renderer] .li+.qm2,[data-slot=yv-bible-renderer] .li+.pmr,[data-slot=yv-bible-renderer] .li1+.pm,[data-slot=yv-bible-renderer] .li1+.pmo,[data-slot=yv-bible-renderer] .li1+.pmc,[data-slot=yv-bible-renderer] .li1+.q1,[data-slot=yv-bible-renderer] .li1+.q2,[data-slot=yv-bible-renderer] .li1+.q3,[data-slot=yv-bible-renderer] .li1+.q4,[data-slot=yv-bible-renderer] .li1+.qr,[data-slot=yv-bible-renderer] .li1+.qm1,[data-slot=yv-bible-renderer] .li1+.qm2,[data-slot=yv-bible-renderer] .li1+.pmr,[data-slot=yv-bible-renderer] .li2+.pm,[data-slot=yv-bible-renderer] .li2+.pmo,[data-slot=yv-bible-renderer] .li2+.pmc,[data-slot=yv-bible-renderer] .li2+.q1,[data-slot=yv-bible-renderer] .li2+.q2,[data-slot=yv-bible-renderer] .li2+.q3,[data-slot=yv-bible-renderer] .li2+.q4,[data-slot=yv-bible-renderer] .li2+.qr,[data-slot=yv-bible-renderer] .li2+.qm1,[data-slot=yv-bible-renderer] .li2+.qm2,[data-slot=yv-bible-renderer] .li2+.pmr,[data-slot=yv-bible-renderer] .li3+.pm,[data-slot=yv-bible-renderer] .li3+.pmo,[data-slot=yv-bible-renderer] .li3+.pmc,[data-slot=yv-bible-renderer] .li3+.q1,[data-slot=yv-bible-renderer] .li3+.q2,[data-slot=yv-bible-renderer] .li3+.q3,[data-slot=yv-bible-renderer] .li3+.q4,[data-slot=yv-bible-renderer] .li3+.qr,[data-slot=yv-bible-renderer] .li3+.qm1,[data-slot=yv-bible-renderer] .li3+.qm2,[data-slot=yv-bible-renderer] .li3+.pmr,[data-slot=yv-bible-renderer] .li4+.pm,[data-slot=yv-bible-renderer] .li4+.pmo,[data-slot=yv-bible-renderer] .li4+.pmc,[data-slot=yv-bible-renderer] .li4+.q1,[data-slot=yv-bible-renderer] .li4+.q2,[data-slot=yv-bible-renderer] .li4+.q3,[data-slot=yv-bible-renderer] .li4+.q4,[data-slot=yv-bible-renderer] .li4+.qr,[data-slot=yv-bible-renderer] .li4+.qm1,[data-slot=yv-bible-renderer] .li4+.qm2,[data-slot=yv-bible-renderer] .li4+.pmr,[data-slot=yv-bible-renderer] .lpi+.pm,[data-slot=yv-bible-renderer] .lpi+.pmo,[data-slot=yv-bible-renderer] .lpi+.pmc,[data-slot=yv-bible-renderer] .lpi+.q1,[data-slot=yv-bible-renderer] .lpi+.q2,[data-slot=yv-bible-renderer] .lpi+.q3,[data-slot=yv-bible-renderer] .lpi+.q4,[data-slot=yv-bible-renderer] .lpi+.qr,[data-slot=yv-bible-renderer] .lpi+.qm1,[data-slot=yv-bible-renderer] .lpi+.qm2,[data-slot=yv-bible-renderer] .lpi+.pmr{margin-top:0}[data-slot=yv-bible-renderer] .wj{color:var(--yv-red)}[data-slot=yv-bible-renderer] .nd,[data-slot=yv-bible-renderer] .sc{font-variant:small-caps}[data-slot=yv-bible-renderer] .b{height:1em;line-height:2em;display:block}[data-slot=yv-bible-renderer] .m,[data-slot=yv-bible-renderer] .nb{margin-bottom:calc(var(--yv-reader-font-size)*.5);text-indent:0;display:block}[data-slot=yv-bible-renderer] .q,[data-slot=yv-bible-renderer] .q1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .q2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .q3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .q4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .pi,[data-slot=yv-bible-renderer] .pi1{text-indent:1em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:0;display:block}[data-slot=yv-bible-renderer] .pi2{text-indent:2em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:1em;display:block}[data-slot=yv-bible-renderer] .pi3{text-indent:4em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .mi,[data-slot=yv-bible-renderer] .pm,[data-slot=yv-bible-renderer] .pmo,[data-slot=yv-bible-renderer] .pmc,[data-slot=yv-bible-renderer] .pmr{text-indent:0;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .pr,[data-slot=yv-bible-renderer] .qr{text-align:right;margin-bottom:calc(var(--yv-reader-font-size)*.5);display:block}[data-slot=yv-bible-renderer] .pc,[data-slot=yv-bible-renderer] .qc{font-variant:small-caps;text-align:center;margin-bottom:calc(var(--yv-reader-font-size)*.5);font-weight:700;display:block}[data-slot=yv-bible-renderer] .iq,[data-slot=yv-bible-renderer] .iq1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .iq2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .iq3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .iq4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .qm,[data-slot=yv-bible-renderer] .qm1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .qm2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .qm3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .qm4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .add,[data-slot=yv-bible-renderer] .it,[data-slot=yv-bible-renderer] .tl,[data-slot=yv-bible-renderer] .qt{font-style:italic}[data-slot=yv-bible-renderer] .qs{text-align:right;margin-top:calc(var(--yv-reader-font-size)*.5);margin-bottom:calc(var(--yv-reader-font-size)*.5);font-style:italic;display:block}[data-slot=yv-bible-renderer] .s2{margin:0 0 .5em;font-size:1em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .s3,[data-slot=yv-bible-renderer] .s4{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .ms2{margin:.5em 0;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .r,[data-slot=yv-bible-renderer] .sp,[data-slot=yv-bible-renderer] .sr{margin:0 0 .5em;font-style:italic;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .qa{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .d{margin:.5em 0;font-style:italic;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .li,[data-slot=yv-bible-renderer] .li1{margin-left:1em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .li2{margin-left:2em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .li3,[data-slot=yv-bible-renderer] .li4{list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] br{line-height:inherit}[data-slot=yv-bible-renderer] .content{display:inline}[data-slot=yv-bible-renderer] .footnote,[data-slot=yv-bible-renderer] .crossref{vertical-align:super;white-space:nowrap;font-size:.6em;line-height:0}[data-slot=yv-bible-renderer] .sub,[data-slot=yv-bible-renderer] .sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}[data-slot=yv-bible-renderer] .sup{top:-.25em}[data-slot=yv-bible-renderer] .sub{bottom:-.1em}[data-slot=yv-bible-renderer] table{background:var(--yv-background);border:1px solid var(--yv-border);width:100%;margin-bottom:calc(var(--yv-reader-font-size)*1);margin-top:calc(var(--yv-reader-font-size)*.75);table-layout:auto;font-size:inherit;border-collapse:separate;border-spacing:0;border-radius:.5rem;line-height:normal;overflow:hidden}[data-slot=yv-bible-renderer] table tr:nth-child(odd){background-color:var(--yv-card)}[data-slot=yv-bible-renderer] table td,[data-slot=yv-bible-renderer] .tc{text-align:inherit;vertical-align:top;padding:.25em}[data-slot=yv-bible-renderer] table td:not(:last-child),[data-slot=yv-bible-renderer] table th:not(:last-child){border-right:1px solid var(--yv-border)}[data-slot=yv-bible-renderer] table tr:not(:last-child) td,[data-slot=yv-bible-renderer] table tr:not(:last-child) th{border-bottom:1px solid var(--yv-border)}[data-slot=yv-bible-renderer] table td[colspan],[data-slot=yv-bible-renderer] table th[colspan]{border-right:none}[data-slot=yv-bible-renderer] table th,[data-slot=yv-bible-renderer] .th,[data-slot=yv-bible-renderer] .th1{background:var(--yv-foreground);color:var(--yv-primary-foreground);vertical-align:top;padding:.25em;font-weight:700}[data-slot=yv-bible-renderer] .tcr,[data-slot=yv-bible-renderer] .tcr1{text-align:right;vertical-align:top;padding:.25em}[data-slot=yv-bible-renderer] .thr,[data-slot=yv-bible-renderer] .thr1{background:var(--yv-foreground);color:var(--yv-primary-foreground);text-align:right;vertical-align:top;padding:.25em;font-weight:700}[data-slot=yv-bible-renderer][dir=rtl]{text-align:right;direction:rtl}[data-slot=yv-bible-renderer][dir=rtl] .p,[data-slot=yv-bible-renderer][dir=rtl] .m{text-align:right}[data-yv-sdk]{--yv-red:oklch(64% .22 15);--yv-red-dark-mode:oklch(68% .19 15);--yv-warm-neutral:oklch(96% .005 20);--yv-warm-neutral-dm:oklch(25% .005 20);--yv-teal-10:oklch(95% .01 195);--yv-teal-20:oklch(78% .01 180);--yv-teal-30-dm:oklch(58% .08 195);--yv-teal-30:oklch(52% .06 195);--yv-teal-40:oklch(35% .04 195);--yv-teal-50:oklch(18% .02 195);--yv-blue-10:oklch(96% .02 240);--yv-blue-20:oklch(78% .04 240);--yv-blue-30-dm:oklch(62% .12 240);--yv-blue-30:oklch(58% .08 240);--yv-blue-40:oklch(38% .06 240);--yv-blue-50:oklch(22% .04 240);--yv-purple-10:oklch(94% .02 320);--yv-purple-20:oklch(76% .04 320);--yv-purple-30-dm:oklch(52% .08 320);--yv-purple-30:oklch(48% .06 320);--yv-purple-40:oklch(32% .04 320);--yv-purple-50:oklch(18% .02 320);--yv-magenta-10:oklch(94% .04 15);--yv-magenta-20:oklch(76% .06 15);--yv-magenta-30-dm:oklch(52% .12 15);--yv-magenta-30:oklch(48% .08 15);--yv-magenta-40:oklch(28% .06 15);--yv-magenta-50:oklch(14% .04 15);--yv-orange-10:oklch(93% .04 45);--yv-orange-20:oklch(76% .06 45);--yv-orange-30-dm:oklch(62% .12 45);--yv-orange-30:oklch(58% .08 45);--yv-orange-40:oklch(38% .06 45);--yv-orange-50:oklch(22% .04 45);--yv-yellow-10:oklch(96% .04 90);--yv-yellow-20:oklch(84% .06 90);--yv-yellow-30-dm:oklch(68% .12 90);--yv-yellow-30:oklch(68% .08 90);--yv-yellow-40:oklch(52% .08 90);--yv-yellow-50:oklch(32% .06 90);--yv-green-10:oklch(93% .02 150);--yv-green-20:oklch(78% .04 150);--yv-green-30-dm:oklch(58% .08 150);--yv-green-30:oklch(54% .06 150);--yv-green-40:oklch(36% .04 150);--yv-green-50:oklch(18% .02 150);--yv-white:oklch(100% 0 0);--yv-gray-2:oklch(98.8% .001 17.2);--yv-gray-5:oklch(96.5% .001 17.2);--yv-gray-10:oklch(92.5% .001 17.2);--yv-gray-15:oklch(89.3% .0022 17.2);--yv-gray-20:oklch(78.8% .001 17.2);--yv-gray-25:oklch(58.8% .001 17.2);--yv-gray-30:oklch(47.8% .001 17.2);--yv-gray-35:oklch(37.8% .001 17.2);--yv-gray-40:oklch(29.8% .001 17.2);--yv-gray-45:oklch(21.8% .001 17.2);--yv-gray-48:oklch(17.8% .001 17.2);--yv-gray-50:oklch(13.8% .001 17.2);--yv-background:var(--yv-white);--yv-foreground:var(--yv-gray-50);--yv-card:var(--yv-gray-2);--yv-card-foreground:var(--yv-gray-50);--yv-popover:var(--yv-white);--yv-popover-foreground:var(--yv-gray-50);--yv-primary:var(--yv-gray-50);--yv-primary-foreground:var(--yv-white);--yv-secondary:var(--yv-warm-neutral);--yv-secondary-foreground:var(--yv-gray-50);--yv-muted:var(--yv-gray-5);--yv-muted-foreground:var(--yv-gray-30);--yv-accent:var(--yv-gray-5);--yv-accent-foreground:var(--yv-gray-50);--yv-destructive:var(--yv-red);--yv-destructive-foreground:var(--yv-white);--yv-border:var(--yv-gray-15);--yv-input:var(--yv-gray-5);--yv-ring:var(--yv-blue-30);--yv-chart-1:var(--yv-blue-30);--yv-chart-2:var(--yv-green-30);--yv-chart-3:var(--yv-purple-30);--yv-chart-4:var(--yv-orange-30);--yv-chart-5:var(--yv-magenta-30);--yv-radius:2rem;--yv-sidebar:var(--yv-gray-2);--yv-sidebar-foreground:var(--yv-gray-50);--yv-sidebar-primary:var(--yv-teal-30);--yv-sidebar-primary-foreground:var(--yv-white);--yv-sidebar-accent:var(--yv-gray-5);--yv-sidebar-accent-foreground:var(--yv-gray-50);--yv-sidebar-border:var(--yv-gray-15);--yv-sidebar-ring:var(--yv-blue-30)}[data-yv-sdk][data-yv-theme=dark]{--yv-red:oklch(68% .19 15);--yv-red-dark-mode:oklch(64% .22 15);--yv-warm-neutral:oklch(25% .005 20);--yv-warm-neutral-dm:oklch(96% .005 20);--yv-background:var(--yv-gray-50);--yv-foreground:var(--yv-white);--yv-card:var(--yv-gray-45);--yv-card-foreground:var(--yv-white);--yv-popover:var(--yv-gray-48);--yv-popover-foreground:var(--yv-white);--yv-primary:var(--yv-red-dark-mode);--yv-primary-foreground:var(--yv-white);--yv-secondary:var(--yv-warm-neutral-dm);--yv-secondary-foreground:var(--yv-white);--yv-muted:var(--yv-gray-40);--yv-muted-foreground:var(--yv-gray-10);--yv-accent:var(--yv-gray-30);--yv-accent-foreground:var(--yv-gray-2);--yv-destructive:var(--yv-red);--yv-destructive-foreground:var(--yv-white);--yv-border:var(--yv-gray-35);--yv-input:var(--yv-gray-40);--yv-ring:var(--yv-blue-30-dm);--yv-chart-1:var(--yv-blue-30-dm);--yv-chart-2:var(--yv-green-30-dm);--yv-chart-3:var(--yv-purple-30-dm);--yv-chart-4:var(--yv-orange-30-dm);--yv-chart-5:var(--yv-magenta-30-dm);--yv-sidebar:var(--yv-gray-48);--yv-sidebar-foreground:var(--yv-white);--yv-sidebar-primary:var(--yv-teal-30-dm);--yv-sidebar-primary-foreground:var(--yv-white);--yv-sidebar-accent:var(--yv-gray-40);--yv-sidebar-accent-foreground:var(--yv-white);--yv-sidebar-border:var(--yv-gray-35);--yv-sidebar-ring:var(--yv-blue-30-dm)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}';
|
|
69
|
+
style.textContent = '/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */\n@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Source+Serif+Pro:wght@400;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--yv-font-sans:"Inter",sans-serif;--yv-font-serif:"Source Serif Pro",serif;--yv-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--yv-color-white:#fff;--yv-spacing:.25rem;--yv-breakpoint-sm:40rem;--yv-container-sm:24rem;--yv-container-md:28rem;--yv-container-lg:32rem;--yv-text-xs:.75rem;--yv-text-xs--line-height:calc(1/.75);--yv-text-sm:.875rem;--yv-text-sm--line-height:calc(1.25/.875);--yv-text-base:1rem;--yv-text-base--line-height:calc(1.5/1);--yv-text-xl:1.25rem;--yv-text-xl--line-height:calc(1.75/1.25);--yv-text-2xl:1.5rem;--yv-text-2xl--line-height:calc(2/1.5);--yv-font-weight-normal:400;--yv-font-weight-medium:500;--yv-font-weight-bold:700;--yv-tracking-widest:.1em;--yv-leading-snug:1.375;--yv-leading-normal:1.5;--yv-radius-2xl:1rem;--yv-radius-3xl:1.5rem;--yv-animate-spin:spin 1s linear infinite;--yv-blur-sm:8px;--yv-default-transition-duration:.15s;--yv-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--yv-default-font-family:"Inter",sans-serif;--yv-default-mono-font-family:var(--yv-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--yv-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--yv-default-font-feature-settings,normal);font-variation-settings:var(--yv-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--yv-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--yv-default-mono-font-feature-settings,normal);font-variation-settings:var(--yv-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[data-yv-sdk] *{outline-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){[data-yv-sdk] *{outline-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}[data-yv-sdk]{background-color:var(--yv-background);color:var(--yv-foreground);font-family:Inter,sans-serif}}@layer components;@layer utilities{.yv\\:pointer-events-auto{pointer-events:auto}.yv\\:pointer-events-none{pointer-events:none}.yv\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.yv\\:absolute{position:absolute}.yv\\:relative{position:relative}.yv\\:inset-0{inset:calc(var(--yv-spacing)*0)}.yv\\:top-1\\/2{top:50%}.yv\\:left-1\\/2{left:50%}.yv\\:left-3{left:calc(var(--yv-spacing)*3)}.yv\\:z-20{z-index:20}.yv\\:z-50{z-index:50}.yv\\:order-first{order:-9999}.yv\\:order-last{order:9999}.yv\\:col-start-1{grid-column-start:1}.yv\\:col-start-2{grid-column-start:2}.yv\\:row-span-2{grid-row:span 2/span 2}.yv\\:row-start-1{grid-row-start:1}.yv\\:\\!m-0{margin:calc(var(--yv-spacing)*0)!important}.yv\\:mx-6{margin-inline:calc(var(--yv-spacing)*6)}.yv\\:my-0{margin-block:calc(var(--yv-spacing)*0)}.yv\\:mt-4{margin-top:calc(var(--yv-spacing)*4)}.yv\\:ml-2{margin-left:calc(var(--yv-spacing)*2)}.yv\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yv\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yv\\:block{display:block}.yv\\:flex{display:flex}.yv\\:grid{display:grid}.yv\\:inline-flex{display:inline-flex}.yv\\:field-sizing-content{field-sizing:content}.yv\\:aspect-square{aspect-ratio:1}.yv\\:size-4{width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:size-6{width:calc(var(--yv-spacing)*6);height:calc(var(--yv-spacing)*6)}.yv\\:size-8{width:calc(var(--yv-spacing)*8);height:calc(var(--yv-spacing)*8)}.yv\\:size-9{width:calc(var(--yv-spacing)*9);height:calc(var(--yv-spacing)*9)}.yv\\:size-10{width:calc(var(--yv-spacing)*10);height:calc(var(--yv-spacing)*10)}.yv\\:size-12{width:calc(var(--yv-spacing)*12);height:calc(var(--yv-spacing)*12)}.yv\\:h-4{height:calc(var(--yv-spacing)*4)}.yv\\:h-5{height:calc(var(--yv-spacing)*5)}.yv\\:h-6{height:calc(var(--yv-spacing)*6)}.yv\\:h-6\\!{height:calc(var(--yv-spacing)*6)!important}.yv\\:h-8{height:calc(var(--yv-spacing)*8)}.yv\\:h-9{height:calc(var(--yv-spacing)*9)}.yv\\:h-10{height:calc(var(--yv-spacing)*10)}.yv\\:h-\\[66vh\\]{height:66vh}.yv\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.yv\\:h-auto{height:auto}.yv\\:h-full{height:100%}.yv\\:h-screen{height:100vh}.yv\\:max-h-\\[66vh\\]{max-height:66vh}.yv\\:min-h-16{min-height:calc(var(--yv-spacing)*16)}.yv\\:w-4{width:calc(var(--yv-spacing)*4)}.yv\\:w-6{width:calc(var(--yv-spacing)*6)}.yv\\:w-6\\!{width:calc(var(--yv-spacing)*6)!important}.yv\\:w-8{width:calc(var(--yv-spacing)*8)}.yv\\:w-10{width:calc(var(--yv-spacing)*10)}.yv\\:w-72{width:calc(var(--yv-spacing)*72)}.yv\\:w-96{width:calc(var(--yv-spacing)*96)}.yv\\:w-fit{width:fit-content}.yv\\:w-full{width:100%}.yv\\:max-w-lg{max-width:var(--yv-container-lg)}.yv\\:max-w-md{max-width:var(--yv-container-md)}.yv\\:max-w-screen-sm{max-width:var(--yv-breakpoint-sm)}.yv\\:min-w-0{min-width:calc(var(--yv-spacing)*0)}.yv\\:min-w-5{min-width:calc(var(--yv-spacing)*5)}.yv\\:flex-1{flex:1}.yv\\:shrink-0{flex-shrink:0}.yv\\:grow{flex-grow:1}.yv\\:basis-full{flex-basis:100%}.yv\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.yv\\:origin-center{transform-origin:50%}.yv\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-x-2{--tw-translate-x:calc(var(--yv-spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-x-3{--tw-translate-x:calc(var(--yv-spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:translate-y-0\\.5{--tw-translate-y:calc(var(--yv-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.yv\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.yv\\:animate-spin{animation:var(--yv-animate-spin)}.yv\\:cursor-pointer{cursor:pointer}.yv\\:cursor-text{cursor:text}.yv\\:resize-none{resize:none}.yv\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.yv\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.yv\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.yv\\:grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.yv\\:grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.yv\\:grid-rows-\\[auto_1fr_auto\\]{grid-template-rows:auto 1fr auto}.yv\\:flex-col{flex-direction:column}.yv\\:flex-row{flex-direction:row}.yv\\:flex-wrap{flex-wrap:wrap}.yv\\:items-center{align-items:center}.yv\\:items-end{align-items:flex-end}.yv\\:items-start{align-items:flex-start}.yv\\:items-stretch{align-items:stretch}.yv\\:justify-between{justify-content:space-between}.yv\\:justify-center{justify-content:center}.yv\\:justify-start{justify-content:flex-start}.yv\\:gap-1{gap:calc(var(--yv-spacing)*1)}.yv\\:gap-1\\.5{gap:calc(var(--yv-spacing)*1.5)}.yv\\:gap-2{gap:calc(var(--yv-spacing)*2)}.yv\\:gap-2\\.5{gap:calc(var(--yv-spacing)*2.5)}.yv\\:gap-3{gap:calc(var(--yv-spacing)*3)}.yv\\:gap-4{gap:calc(var(--yv-spacing)*4)}.yv\\:gap-6{gap:calc(var(--yv-spacing)*6)}.yv\\:self-start{align-self:flex-start}.yv\\:self-stretch{align-self:stretch}.yv\\:justify-self-end{justify-self:flex-end}.yv\\:justify-self-start{justify-self:flex-start}.yv\\:overflow-hidden{overflow:hidden}.yv\\:overflow-y-auto{overflow-y:auto}.yv\\:rounded-2xl{border-radius:var(--yv-radius-2xl)}.yv\\:rounded-3xl{border-radius:var(--yv-radius-3xl)}.yv\\:rounded-\\[4px\\]{border-radius:4px}.yv\\:rounded-\\[8px\\]{border-radius:8px}.yv\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{border-radius:calc(var(--radius) - 5px)}.yv\\:rounded-full{border-radius:3.40282e38px}.yv\\:rounded-lg{border-radius:var(--yv-radius)}.yv\\:rounded-md{border-radius:calc(var(--yv-radius) - 2px)}.yv\\:rounded-none{border-radius:0}.yv\\:rounded-sm{border-radius:calc(var(--yv-radius) - 4px)}.yv\\:rounded-t-2xl{border-top-left-radius:var(--yv-radius-2xl);border-top-right-radius:var(--yv-radius-2xl)}.yv\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.yv\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.yv\\:rounded-b-2xl{border-bottom-right-radius:var(--yv-radius-2xl);border-bottom-left-radius:var(--yv-radius-2xl)}.yv\\:border{border-style:var(--tw-border-style);border-width:1px}.yv\\:border-0{border-style:var(--tw-border-style);border-width:0}.yv\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.yv\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.yv\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yv\\:border-none{--tw-border-style:none;border-style:none}.yv\\:border-border{border-color:var(--yv-border)}.yv\\:border-input{border-color:var(--yv-input)}.yv\\:border-muted{border-color:var(--yv-muted)}.yv\\:border-transparent{border-color:#0000}.yv\\:bg-background{background-color:var(--yv-background)}.yv\\:bg-border{background-color:var(--yv-border)}.yv\\:bg-card{background-color:var(--yv-card)}.yv\\:bg-destructive{background-color:var(--yv-destructive)}.yv\\:bg-input{background-color:var(--yv-input)}.yv\\:bg-muted,.yv\\:bg-muted\\/50{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){.yv\\:bg-muted\\/50{background-color:color-mix(in oklab,var(--yv-muted)50%,transparent)}}.yv\\:bg-popover{background-color:var(--yv-popover)}.yv\\:bg-primary{background-color:var(--yv-primary)}.yv\\:bg-transparent{background-color:#0000}.yv\\:fill-primary-foreground{fill:var(--yv-primary-foreground)}.yv\\:p-0{padding:calc(var(--yv-spacing)*0)}.yv\\:p-0\\.5{padding:calc(var(--yv-spacing)*.5)}.yv\\:p-3{padding:calc(var(--yv-spacing)*3)}.yv\\:p-4{padding:calc(var(--yv-spacing)*4)}.yv\\:p-6{padding:calc(var(--yv-spacing)*6)}.yv\\:p-12{padding:calc(var(--yv-spacing)*12)}.yv\\:px-1{padding-inline:calc(var(--yv-spacing)*1)}.yv\\:px-2{padding-inline:calc(var(--yv-spacing)*2)}.yv\\:px-2\\.5{padding-inline:calc(var(--yv-spacing)*2.5)}.yv\\:px-3{padding-inline:calc(var(--yv-spacing)*3)}.yv\\:px-4{padding-inline:calc(var(--yv-spacing)*4)}.yv\\:px-6{padding-inline:calc(var(--yv-spacing)*6)}.yv\\:py-0\\.5{padding-block:calc(var(--yv-spacing)*.5)}.yv\\:py-1{padding-block:calc(var(--yv-spacing)*1)}.yv\\:py-1\\.5{padding-block:calc(var(--yv-spacing)*1.5)}.yv\\:py-2{padding-block:calc(var(--yv-spacing)*2)}.yv\\:py-3{padding-block:calc(var(--yv-spacing)*3)}.yv\\:py-4{padding-block:calc(var(--yv-spacing)*4)}.yv\\:py-8{padding-block:calc(var(--yv-spacing)*8)}.yv\\:py-12{padding-block:calc(var(--yv-spacing)*12)}.yv\\:pt-0{padding-top:calc(var(--yv-spacing)*0)}.yv\\:pt-3{padding-top:calc(var(--yv-spacing)*3)}.yv\\:pr-3{padding-right:calc(var(--yv-spacing)*3)}.yv\\:pb-3{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:pb-4{padding-bottom:calc(var(--yv-spacing)*4)}.yv\\:pl-3{padding-left:calc(var(--yv-spacing)*3)}.yv\\:pl-9{padding-left:calc(var(--yv-spacing)*9)}.yv\\:text-center{text-align:center}.yv\\:text-left{text-align:left}.yv\\:align-super{vertical-align:super}.yv\\:font-mono{font-family:var(--yv-font-mono)}.yv\\:font-sans{font-family:Inter,sans-serif}.yv\\:font-serif{font-family:Source Serif Pro,serif}.yv\\:font-serif\\!{font-family:Source Serif Pro,serif!important}.yv\\:text-2xl{font-size:var(--yv-text-2xl);line-height:var(--tw-leading,var(--yv-text-2xl--line-height))}.yv\\:text-base{font-size:var(--yv-text-base);line-height:var(--tw-leading,var(--yv-text-base--line-height))}.yv\\:text-sm{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}.yv\\:text-xl{font-size:var(--yv-text-xl);line-height:var(--tw-leading,var(--yv-text-xl--line-height))}.yv\\:text-xs{font-size:var(--yv-text-xs);line-height:var(--tw-leading,var(--yv-text-xs--line-height))}.yv\\:text-\\[0\\.5rem\\]{font-size:.5rem}.yv\\:text-\\[0\\.6em\\]{font-size:.6em}.yv\\:text-\\[0\\.75em\\]{font-size:.75em}.yv\\:text-\\[2\\.5rem\\]{font-size:2.5rem}.yv\\:leading-none{--tw-leading:1;line-height:1}.yv\\:leading-normal{--tw-leading:var(--yv-leading-normal);line-height:var(--yv-leading-normal)}.yv\\:leading-snug{--tw-leading:var(--yv-leading-snug);line-height:var(--yv-leading-snug)}.yv\\:font-bold{--tw-font-weight:var(--yv-font-weight-bold);font-weight:var(--yv-font-weight-bold)}.yv\\:font-medium{--tw-font-weight:var(--yv-font-weight-medium);font-weight:var(--yv-font-weight-medium)}.yv\\:font-normal{--tw-font-weight:var(--yv-font-weight-normal);font-weight:var(--yv-font-weight-normal)}.yv\\:tracking-widest{--tw-tracking:var(--yv-tracking-widest);letter-spacing:var(--yv-tracking-widest)}.yv\\:text-balance{text-wrap:balance}.yv\\:whitespace-nowrap{white-space:nowrap}.yv\\:text-\\(--yv-gray-30\\){color:var(--yv-gray-30)}.yv\\:text-foreground{color:var(--yv-foreground)}.yv\\:text-muted-foreground{color:var(--yv-muted-foreground)}.yv\\:text-popover-foreground{color:var(--yv-popover-foreground)}.yv\\:text-primary{color:var(--yv-primary)}.yv\\:text-primary-foreground{color:var(--yv-primary-foreground)}.yv\\:text-white{color:var(--yv-color-white)}.yv\\:uppercase{text-transform:uppercase}.yv\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.yv\\:underline-offset-4{text-underline-offset:4px}.yv\\:opacity-0{opacity:0}.yv\\:opacity-100{opacity:1}.yv\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yv\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.yv\\:blur-none{--tw-blur: ;filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.yv\\:blur-sm{--tw-blur:blur(var(--yv-blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.yv\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}.yv\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.yv\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.yv\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.yv\\:outline-none{--tw-outline-style:none;outline-style:none}.yv\\:select-none{-webkit-user-select:none;user-select:none}:is(.yv\\:\\*\\:max-w-lg>*){max-width:var(--yv-container-lg)}:is(.yv\\:\\*\\:shrink-0>*){flex-shrink:0}.yv\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:translate-y-0\\.5:is(:where(.yv\\:group\\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--yv-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.yv\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:self-start:is(:where(.yv\\:group\\/item):has([data-slot=item-description]) *){align-self:flex-start}.yv\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2\\.5:is(:where(.yv\\:group\\/input-group):has(>input) *){padding-top:calc(var(--yv-spacing)*2.5)}.yv\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2\\.5:is(:where(.yv\\:group\\/input-group):has(>input) *){padding-bottom:calc(var(--yv-spacing)*2.5)}.yv\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.yv\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.yv\\:selection\\:bg-primary ::selection{background-color:var(--yv-primary)}.yv\\:selection\\:bg-primary::selection{background-color:var(--yv-primary)}.yv\\:selection\\:text-primary-foreground ::selection{color:var(--yv-primary-foreground)}.yv\\:selection\\:text-primary-foreground::selection{color:var(--yv-primary-foreground)}.yv\\:file\\:inline-flex::file-selector-button{display:inline-flex}.yv\\:file\\:h-7::file-selector-button{height:calc(var(--yv-spacing)*7)}.yv\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.yv\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.yv\\:file\\:text-sm::file-selector-button{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}.yv\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--yv-font-weight-medium);font-weight:var(--yv-font-weight-medium)}.yv\\:file\\:text-foreground::file-selector-button{color:var(--yv-foreground)}.yv\\:placeholder\\:text-muted-foreground::placeholder{color:var(--yv-muted-foreground)}.yv\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.yv\\:hover\\:border-border:hover{border-color:var(--yv-border)}.yv\\:hover\\:bg-accent:hover{background-color:var(--yv-accent)}.yv\\:hover\\:bg-card:hover{background-color:var(--yv-card)}.yv\\:hover\\:bg-destructive\\/90:hover{background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--yv-destructive)90%,transparent)}}.yv\\:hover\\:bg-muted:hover,.yv\\:hover\\:bg-muted\\/80:hover{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab,var(--yv-muted)80%,transparent)}}.yv\\:hover\\:bg-primary\\/90:hover{background-color:var(--yv-primary)}@supports (color:color-mix(in lab, red, red)){.yv\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--yv-primary)90%,transparent)}}.yv\\:hover\\:text-accent-foreground:hover{color:var(--yv-accent-foreground)}.yv\\:hover\\:underline:hover{text-decoration-line:underline}}.yv\\:focus-visible\\:border-ring:focus-visible{border-color:var(--yv-ring)}.yv\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){.yv\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}.yv\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.yv\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--yv-ring)}.yv\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.yv\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.yv\\:disabled\\:opacity-50:disabled{opacity:.5}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--yv-ring)}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-\\[3px\\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--yv-ring)}@supports (color:color-mix(in lab, red, red)){.yv\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab,var(--yv-ring)50%,transparent)}}.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--yv-destructive)}.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.yv\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>button\\]\\:mr-\\[-0\\.45rem\\]:has(>button){margin-right:-.45rem}.yv\\:has-\\[\\>button\\]\\:ml-\\[-0\\.45rem\\]:has(>button){margin-left:-.45rem}.yv\\:has-\\[\\>kbd\\]\\:mr-\\[-0\\.35rem\\]:has(>kbd){margin-right:-.35rem}.yv\\:has-\\[\\>kbd\\]\\:ml-\\[-0\\.35rem\\]:has(>kbd){margin-left:-.35rem}.yv\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(var(--yv-spacing)*0)}.yv\\:has-\\[\\>svg\\]\\:px-2:has(>svg){padding-inline:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--yv-spacing)*2.5)}.yv\\:has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--yv-spacing)*4)}.yv\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.yv\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--yv-destructive)}.yv\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)20%,transparent)}}.yv\\:data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.yv\\:data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.yv\\:data-\\[orientation\\=vertical\\]\\:h-auto[data-orientation=vertical]{height:auto}.yv\\:data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.yv\\:data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.yv\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.yv\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.yv\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.yv\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.yv\\:data-\\[size\\=default\\]\\:p-4[data-size=default]{padding:calc(var(--yv-spacing)*4)}.yv\\:data-\\[size\\=lg\\]\\:p-8[data-size=lg]{padding:calc(var(--yv-spacing)*8)}.yv\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--yv-background)}.yv\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yv\\:data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.yv\\:data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.yv\\:data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yv\\:data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.yv\\:data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media not all and (min-width:40rem){.yv\\:max-sm\\:px-4{padding-inline:calc(var(--yv-spacing)*4)}}@media (min-width:40rem){.yv\\:sm\\:w-sm{width:var(--yv-container-sm)}}@media (min-width:48rem){.yv\\:md\\:text-sm{font-size:var(--yv-text-sm);line-height:var(--tw-leading,var(--yv-text-sm--line-height))}}.yv\\:dark\\:border-input:is([data-yv-sdk][data-yv-theme=dark] *){border-color:var(--yv-input)}.yv\\:dark\\:bg-destructive\\/60:is([data-yv-sdk][data-yv-theme=dark] *){background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:bg-destructive\\/60:is([data-yv-sdk][data-yv-theme=dark] *){background-color:color-mix(in oklab,var(--yv-destructive)60%,transparent)}}.yv\\:dark\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *){background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *){background-color:color-mix(in oklab,var(--yv-input)30%,transparent)}}.yv\\:dark\\:bg-transparent:is([data-yv-sdk][data-yv-theme=dark] *){background-color:#0000}.yv\\:dark\\:text-muted-foreground:is([data-yv-sdk][data-yv-theme=dark] *){color:var(--yv-muted-foreground)}@media (hover:hover){.yv\\:dark\\:hover\\:bg-accent\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:var(--yv-accent)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:hover\\:bg-accent\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:color-mix(in oklab,var(--yv-accent)50%,transparent)}}.yv\\:dark\\:hover\\:bg-input\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:hover\\:bg-input\\/50:is([data-yv-sdk][data-yv-theme=dark] *):hover{background-color:color-mix(in oklab,var(--yv-input)50%,transparent)}}}.yv\\:dark\\:focus-visible\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):focus-visible{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:focus-visible\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:aria-invalid\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:aria-invalid\\:ring-destructive\\/40:is([data-yv-sdk][data-yv-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--yv-destructive)40%,transparent)}}.yv\\:dark\\:data-\\[state\\=active\\]\\:border-input:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{border-color:var(--yv-input)}.yv\\:dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{background-color:var(--yv-input)}@supports (color:color-mix(in lab, red, red)){.yv\\:dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{background-color:color-mix(in oklab,var(--yv-input)30%,transparent)}}.yv\\:dark\\:data-\\[state\\=active\\]\\:text-foreground:is([data-yv-sdk][data-yv-theme=dark] *)[data-state=active]{color:var(--yv-foreground)}.yv\\:\\[\\&_img\\]\\:size-full img{width:100%;height:100%}.yv\\:\\[\\&_img\\]\\:object-cover img{object-fit:cover}.yv\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.yv\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.yv\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:\\[\\&\\+\\[data-slot\\=item-content\\]\\]\\:flex-none+[data-slot=item-content]{flex:none}.yv\\:\\[\\.border-b\\]\\:pb-3.border-b{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:\\[\\.border-t\\]\\:pt-3.border-t{padding-top:calc(var(--yv-spacing)*3)}.yv\\:\\[a\\]\\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--yv-default-transition-timing-function));transition-duration:var(--tw-duration,var(--yv-default-transition-duration))}@media (hover:hover){.yv\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:var(--yv-accent)}@supports (color:color-mix(in lab, red, red)){.yv\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:color-mix(in oklab,var(--yv-accent)50%,transparent)}}}.yv\\:\\[\\&\\>\\*\\]\\:focus-visible\\:relative>:focus-visible{position:relative}.yv\\:\\[\\&\\>\\*\\]\\:focus-visible\\:z-10>:focus-visible{z-index:10}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.yv\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.yv\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--yv-radius) - 2px);border-bottom-right-radius:calc(var(--yv-radius) - 2px)}.yv\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.yv\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.yv\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.yv\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--yv-primary)}.yv\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.yv\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--yv-spacing)*3)}.yv\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--yv-spacing)*2)}.yv\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--yv-spacing)*2)}.yv\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.yv\\:\\[\\&\\>p\\]\\:inline-block>p{display:inline-block}.yv\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.yv\\:\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--yv-spacing)*3);height:calc(var(--yv-spacing)*3)}.yv\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(var(--yv-spacing)*3.5);height:calc(var(--yv-spacing)*3.5)}.yv\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(var(--yv-spacing)*4);height:calc(var(--yv-spacing)*4)}.yv\\:\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.yv\\:\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--yv-accent)}a.yv\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--yv-destructive)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--yv-destructive)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:bg-muted\\/90:hover{background-color:var(--yv-muted)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-muted\\/90:hover{background-color:color-mix(in oklab,var(--yv-muted)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--yv-primary)}@supports (color:color-mix(in lab, red, red)){a.yv\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--yv-primary)90%,transparent)}}a.yv\\:\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--yv-accent-foreground)}}.trim-both{text-box-trim:trim-both}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}[data-slot=yv-bible-renderer]{all:unset;--yv-reader-font-family:var(--font-sans),var(--font-serif);--yv-reader-font-size:20px;--yv-reader-line-height:1.625;-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[data-slot=yv-bible-renderer] *{line-height:var(--yv-reader-line-height);font-family:var(--yv-reader-font-family);font-size:var(--yv-reader-font-size);-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}[data-slot=yv-bible-renderer]{color:var(--yv-foreground)}:is([data-slot=yv-bible-renderer]>*){width:100%;max-width:var(--yv-container-lg)}[data-slot=yv-bible-renderer] .id,[data-slot=yv-bible-renderer] .ide,[data-slot=yv-bible-renderer] .sts,[data-slot=yv-bible-renderer] .rem,[data-slot=yv-bible-renderer] .toc1,[data-slot=yv-bible-renderer] .toc2,[data-slot=yv-bible-renderer] .toc3,[data-slot=yv-bible-renderer] .imte,[data-slot=yv-bible-renderer] .ie,[data-slot=yv-bible-renderer] .mte,[data-slot=yv-bible-renderer] .cl{display:none}[data-slot=yv-bible-renderer] .version{margin-top:1.6em;padding:1.2em}[data-slot=yv-bible-renderer] .chapter>.label{display:none}[data-slot=yv-bible-renderer] .verse>.label,[data-slot=yv-bible-renderer] .fv,[data-slot=yv-bible-renderer] .yv-vlbl{color:var(--yv-muted-foreground);vertical-align:baseline;white-space:nowrap;padding-right:.3em;font-size:.5em;line-height:1em;display:inline;position:relative;top:-.6em}[data-slot=yv-bible-renderer][data-show-verse-numbers=false] .yv-vlbl,[data-slot=yv-bible-renderer] .yv-n{display:none}[data-slot=yv-bible-renderer] .vp{color:var(--yv-gray-20);vertical-align:baseline;font-size:.5em;line-height:1em;display:inline;position:relative;top:-.6em}[data-slot=yv-bible-renderer] .verse>.label+.content,[data-slot=yv-bible-renderer] .yv-vlbl+.content,[data-slot=yv-bible-renderer] .fv+.content{white-space:normal}[data-slot=yv-bible-renderer] .yv-v,[data-slot=yv-bible-renderer] .verse{white-space:nowrap;display:inline}[data-slot=yv-bible-renderer] .imt,[data-slot=yv-bible-renderer] .imt1,[data-slot=yv-bible-renderer] .mt,[data-slot=yv-bible-renderer] .mt1,[data-slot=yv-bible-renderer] .ms,[data-slot=yv-bible-renderer] .ms1{margin:1em 0 0;font-size:1.3em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .iot{margin:.5em 0;font-size:1.3em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .io,[data-slot=yv-bible-renderer] .io1{margin-left:1em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .io2,[data-slot=yv-bible-renderer] .io3{margin-left:2em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .ipi{text-indent:1.5em}[data-slot=yv-bible-renderer] .imt2,[data-slot=yv-bible-renderer] .imt3,[data-slot=yv-bible-renderer] .imt4,[data-slot=yv-bible-renderer] .mt2,[data-slot=yv-bible-renderer] .mt3,[data-slot=yv-bible-renderer] .mt4{margin:.5em 0;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .is,[data-slot=yv-bible-renderer] .s,[data-slot=yv-bible-renderer] .s1,[data-slot=yv-bible-renderer] .ms1,[data-slot=yv-bible-renderer] .is1,[data-slot=yv-bible-renderer] .is2{margin:0 0 .5em;font-size:1.1em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .heading{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .s1 .note .heading,[data-slot=yv-bible-renderer] .s .note .heading{font-size:.67em;font-style:normal;font-weight:400}[data-slot=yv-bible-renderer] .s1 .note_close,[data-slot=yv-bible-renderer] .s .note_close{font-size:.67em}[data-slot=yv-bible-renderer] .s .note,[data-slot=yv-bible-renderer] .is .note,[data-slot=yv-bible-renderer] .s1 .note,[data-slot=yv-bible-renderer] .ms1 .note,[data-slot=yv-bible-renderer] .is1 .note,[data-slot=yv-bible-renderer] .is2 .note,[data-slot=yv-bible-renderer] .mr .note{font-size:.9em}[data-slot=yv-bible-renderer] .note .fr{padding-right:.25em}[data-slot=yv-bible-renderer] .note .fq,[data-slot=yv-bible-renderer] .note .fqa{font-style:italic}[data-slot=yv-bible-renderer] .note .fv{vertical-align:super;font-size:.75em}[data-slot=yv-bible-renderer] .note .fk{font-style:italic;font-weight:700}[data-slot=yv-bible-renderer] .p,[data-slot=yv-bible-renderer] .ip{text-indent:1em;margin-bottom:0}[data-slot=yv-bible-renderer] .pi+.p,[data-slot=yv-bible-renderer] .pi1+.p,[data-slot=yv-bible-renderer] .s+.pi,[data-slot=yv-bible-renderer] .s+.pi1,[data-slot=yv-bible-renderer] .s1+.pi,[data-slot=yv-bible-renderer] .s1+.pi1,[data-slot=yv-bible-renderer] .ms+.p,[data-slot=yv-bible-renderer] .ms1+.p,[data-slot=yv-bible-renderer] .ms2+.p,[data-slot=yv-bible-renderer] .q+.m,[data-slot=yv-bible-renderer] .q1+.m,[data-slot=yv-bible-renderer] .q2+.m,[data-slot=yv-bible-renderer] .q3+.m{text-indent:0;margin-top:.5em}[data-slot=yv-bible-renderer] .label+.p{text-indent:0}[data-slot=yv-bible-renderer] .chapter div:first-child{margin-top:0}[data-slot=yv-bible-renderer] .d+.d{margin-top:-1.25em}[data-slot=yv-bible-renderer] .p+.s,[data-slot=yv-bible-renderer] .p+.s1,[data-slot=yv-bible-renderer] .p+.s2,[data-slot=yv-bible-renderer] .p+.ms,[data-slot=yv-bible-renderer] .p+.ms1,[data-slot=yv-bible-renderer] .p+.ms2,[data-slot=yv-bible-renderer] .p+.q,[data-slot=yv-bible-renderer] .p+.q1,[data-slot=yv-bible-renderer] .p+.li,[data-slot=yv-bible-renderer] .p+.li1,[data-slot=yv-bible-renderer] .li+.li2,[data-slot=yv-bible-renderer] .li1+.li2,[data-slot=yv-bible-renderer] .li2+.li,[data-slot=yv-bible-renderer] .li2+.li1,[data-slot=yv-bible-renderer] .m+.s,[data-slot=yv-bible-renderer] .m+.s1,[data-slot=yv-bible-renderer] .m+.s2,[data-slot=yv-bible-renderer] .q+p,[data-slot=yv-bible-renderer] .q1+.p,[data-slot=yv-bible-renderer] .q2+.p,[data-slot=yv-bible-renderer] .q+.s,[data-slot=yv-bible-renderer] .q+.s1,[data-slot=yv-bible-renderer] .q+.s2,[data-slot=yv-bible-renderer] .q+.ms,[data-slot=yv-bible-renderer] .q+.ms1,[data-slot=yv-bible-renderer] .q+.ms2,[data-slot=yv-bible-renderer] .q1+.s,[data-slot=yv-bible-renderer] .q1+.s1,[data-slot=yv-bible-renderer] .q1+.s2,[data-slot=yv-bible-renderer] .q1+.ms,[data-slot=yv-bible-renderer] .q1+.ms1,[data-slot=yv-bible-renderer] .q1+.ms2,[data-slot=yv-bible-renderer] .q2+.s,[data-slot=yv-bible-renderer] .q2+.s1,[data-slot=yv-bible-renderer] .q2+.s2,[data-slot=yv-bible-renderer] .q2+.ms,[data-slot=yv-bible-renderer] .q2+.m1,[data-slot=yv-bible-renderer] .q2+.m2,[data-slot=yv-bible-renderer] .q3+.s,[data-slot=yv-bible-renderer] .q3+.s1,[data-slot=yv-bible-renderer] .q3+.s2,[data-slot=yv-bible-renderer] .q3+.ms,[data-slot=yv-bible-renderer] .q3+.m1,[data-slot=yv-bible-renderer] .q3+.m2,[data-slot=yv-bible-renderer] .imt+.is,[data-slot=yv-bible-renderer] .imt+.is1,[data-slot=yv-bible-renderer] .imt1+.is,[data-slot=yv-bible-renderer] .imt1+.is1,[data-slot=yv-bible-renderer] .ip+.is,[data-slot=yv-bible-renderer] .ip+.is1,[data-slot=yv-bible-renderer] .io+.is,[data-slot=yv-bible-renderer] .io+.is1,[data-slot=yv-bible-renderer] .io1+.is,[data-slot=yv-bible-renderer] .io1+.is1,[data-slot=yv-bible-renderer] .io2+.is,[data-slot=yv-bible-renderer] .io2+.is1,[data-slot=yv-bible-renderer] .io3+.is,[data-slot=yv-bible-renderer] .io3+.is1,[data-slot=yv-bible-renderer] .ip+.io,[data-slot=yv-bible-renderer] .ip+.io1,[data-slot=yv-bible-renderer] .ip+.io2,[data-slot=yv-bible-renderer] .ip+.io3,[data-slot=yv-bible-renderer] .table+.p,[data-slot=yv-bible-renderer] .p+.table,[data-slot=yv-bible-renderer] .pi1+.s,[data-slot=yv-bible-renderer] .pi+.s{margin-top:1em}[data-slot=yv-bible-renderer] .p+.pm,[data-slot=yv-bible-renderer] .p+.pmo,[data-slot=yv-bible-renderer] .p+.pmc,[data-slot=yv-bible-renderer] .p+.q1,[data-slot=yv-bible-renderer] .p+.q2,[data-slot=yv-bible-renderer] .p+.q3,[data-slot=yv-bible-renderer] .p+.q4,[data-slot=yv-bible-renderer] .p+.qr,[data-slot=yv-bible-renderer] .p+.qm1,[data-slot=yv-bible-renderer] .p+.qm2,[data-slot=yv-bible-renderer] .p+.pmr,[data-slot=yv-bible-renderer] .m+.pm,[data-slot=yv-bible-renderer] .m+.pmo,[data-slot=yv-bible-renderer] .m+.pmc,[data-slot=yv-bible-renderer] .m+.q1,[data-slot=yv-bible-renderer] .m+.q2,[data-slot=yv-bible-renderer] .m+.q3,[data-slot=yv-bible-renderer] .m+.q4,[data-slot=yv-bible-renderer] .m+.qr,[data-slot=yv-bible-renderer] .m+.qm1,[data-slot=yv-bible-renderer] .m+.qm2,[data-slot=yv-bible-renderer] .m+.pmr,[data-slot=yv-bible-renderer] .mi+.pm,[data-slot=yv-bible-renderer] .mi+.pmo,[data-slot=yv-bible-renderer] .mi+.pmc,[data-slot=yv-bible-renderer] .mi+.q1,[data-slot=yv-bible-renderer] .mi+.q2,[data-slot=yv-bible-renderer] .mi+.q3,[data-slot=yv-bible-renderer] .mi+.q4,[data-slot=yv-bible-renderer] .mi+.qr,[data-slot=yv-bible-renderer] .mi+.qm1,[data-slot=yv-bible-renderer] .mi+.qm2,[data-slot=yv-bible-renderer] .mi+.pmr,[data-slot=yv-bible-renderer] .pi1+.pm,[data-slot=yv-bible-renderer] .pi1+.pmo,[data-slot=yv-bible-renderer] .pi1+.pmc,[data-slot=yv-bible-renderer] .pi1+.q1,[data-slot=yv-bible-renderer] .pi1+.q2,[data-slot=yv-bible-renderer] .pi1+.q3,[data-slot=yv-bible-renderer] .pi1+.q4,[data-slot=yv-bible-renderer] .pi1+.qr,[data-slot=yv-bible-renderer] .pi1+.qm1,[data-slot=yv-bible-renderer] .pi1+.qm2,[data-slot=yv-bible-renderer] .pi1+.pmr,[data-slot=yv-bible-renderer] .pi2+.pm,[data-slot=yv-bible-renderer] .pi2+.pmo,[data-slot=yv-bible-renderer] .pi2+.pmc,[data-slot=yv-bible-renderer] .pi2+.q1,[data-slot=yv-bible-renderer] .pi2+.q2,[data-slot=yv-bible-renderer] .pi2+.q3,[data-slot=yv-bible-renderer] .pi2+.q4,[data-slot=yv-bible-renderer] .pi2+.qr,[data-slot=yv-bible-renderer] .pi2+.qm1,[data-slot=yv-bible-renderer] .pi2+.qm2,[data-slot=yv-bible-renderer] .pi2+.pmr,[data-slot=yv-bible-renderer] .pi3+.pm,[data-slot=yv-bible-renderer] .pi3+.pmo,[data-slot=yv-bible-renderer] .pi3+.pmc,[data-slot=yv-bible-renderer] .pi3+.q1,[data-slot=yv-bible-renderer] .pi3+.q2,[data-slot=yv-bible-renderer] .pi3+.q3,[data-slot=yv-bible-renderer] .pi3+.q4,[data-slot=yv-bible-renderer] .pi3+.qr,[data-slot=yv-bible-renderer] .pi3+.qm1,[data-slot=yv-bible-renderer] .pi3+.qm2,[data-slot=yv-bible-renderer] .pi3+.pmr,[data-slot=yv-bible-renderer] .li+.pm,[data-slot=yv-bible-renderer] .li+.pmo,[data-slot=yv-bible-renderer] .li+.pmc,[data-slot=yv-bible-renderer] .li+.q1,[data-slot=yv-bible-renderer] .li+.q2,[data-slot=yv-bible-renderer] .li+.q3,[data-slot=yv-bible-renderer] .li+.q4,[data-slot=yv-bible-renderer] .li+.qr,[data-slot=yv-bible-renderer] .li+.qm1,[data-slot=yv-bible-renderer] .li+.qm2,[data-slot=yv-bible-renderer] .li+.pmr,[data-slot=yv-bible-renderer] .li1+.pm,[data-slot=yv-bible-renderer] .li1+.pmo,[data-slot=yv-bible-renderer] .li1+.pmc,[data-slot=yv-bible-renderer] .li1+.q1,[data-slot=yv-bible-renderer] .li1+.q2,[data-slot=yv-bible-renderer] .li1+.q3,[data-slot=yv-bible-renderer] .li1+.q4,[data-slot=yv-bible-renderer] .li1+.qr,[data-slot=yv-bible-renderer] .li1+.qm1,[data-slot=yv-bible-renderer] .li1+.qm2,[data-slot=yv-bible-renderer] .li1+.pmr,[data-slot=yv-bible-renderer] .li2+.pm,[data-slot=yv-bible-renderer] .li2+.pmo,[data-slot=yv-bible-renderer] .li2+.pmc,[data-slot=yv-bible-renderer] .li2+.q1,[data-slot=yv-bible-renderer] .li2+.q2,[data-slot=yv-bible-renderer] .li2+.q3,[data-slot=yv-bible-renderer] .li2+.q4,[data-slot=yv-bible-renderer] .li2+.qr,[data-slot=yv-bible-renderer] .li2+.qm1,[data-slot=yv-bible-renderer] .li2+.qm2,[data-slot=yv-bible-renderer] .li2+.pmr,[data-slot=yv-bible-renderer] .li3+.pm,[data-slot=yv-bible-renderer] .li3+.pmo,[data-slot=yv-bible-renderer] .li3+.pmc,[data-slot=yv-bible-renderer] .li3+.q1,[data-slot=yv-bible-renderer] .li3+.q2,[data-slot=yv-bible-renderer] .li3+.q3,[data-slot=yv-bible-renderer] .li3+.q4,[data-slot=yv-bible-renderer] .li3+.qr,[data-slot=yv-bible-renderer] .li3+.qm1,[data-slot=yv-bible-renderer] .li3+.qm2,[data-slot=yv-bible-renderer] .li3+.pmr,[data-slot=yv-bible-renderer] .li4+.pm,[data-slot=yv-bible-renderer] .li4+.pmo,[data-slot=yv-bible-renderer] .li4+.pmc,[data-slot=yv-bible-renderer] .li4+.q1,[data-slot=yv-bible-renderer] .li4+.q2,[data-slot=yv-bible-renderer] .li4+.q3,[data-slot=yv-bible-renderer] .li4+.q4,[data-slot=yv-bible-renderer] .li4+.qr,[data-slot=yv-bible-renderer] .li4+.qm1,[data-slot=yv-bible-renderer] .li4+.qm2,[data-slot=yv-bible-renderer] .li4+.pmr,[data-slot=yv-bible-renderer] .lpi+.pm,[data-slot=yv-bible-renderer] .lpi+.pmo,[data-slot=yv-bible-renderer] .lpi+.pmc,[data-slot=yv-bible-renderer] .lpi+.q1,[data-slot=yv-bible-renderer] .lpi+.q2,[data-slot=yv-bible-renderer] .lpi+.q3,[data-slot=yv-bible-renderer] .lpi+.q4,[data-slot=yv-bible-renderer] .lpi+.qr,[data-slot=yv-bible-renderer] .lpi+.qm1,[data-slot=yv-bible-renderer] .lpi+.qm2,[data-slot=yv-bible-renderer] .lpi+.pmr{margin-top:0}[data-slot=yv-bible-renderer] .wj{color:var(--yv-red)}[data-slot=yv-bible-renderer] .nd,[data-slot=yv-bible-renderer] .sc{font-variant:small-caps}[data-slot=yv-bible-renderer] .b{height:1em;line-height:2em;display:block}[data-slot=yv-bible-renderer] .m,[data-slot=yv-bible-renderer] .nb{margin-bottom:calc(var(--yv-reader-font-size)*.5);text-indent:0;display:block}[data-slot=yv-bible-renderer] .q,[data-slot=yv-bible-renderer] .q1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .q2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .q3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .q4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .pi,[data-slot=yv-bible-renderer] .pi1{text-indent:1em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:0;display:block}[data-slot=yv-bible-renderer] .pi2{text-indent:2em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:1em;display:block}[data-slot=yv-bible-renderer] .pi3{text-indent:4em;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .mi,[data-slot=yv-bible-renderer] .pm,[data-slot=yv-bible-renderer] .pmo,[data-slot=yv-bible-renderer] .pmc,[data-slot=yv-bible-renderer] .pmr{text-indent:0;margin-bottom:calc(var(--yv-reader-font-size)*.5);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .pr,[data-slot=yv-bible-renderer] .qr{text-align:right;margin-bottom:calc(var(--yv-reader-font-size)*.5);display:block}[data-slot=yv-bible-renderer] .pc,[data-slot=yv-bible-renderer] .qc{font-variant:small-caps;text-align:center;margin-bottom:calc(var(--yv-reader-font-size)*.5);font-weight:700;display:block}[data-slot=yv-bible-renderer] .iq,[data-slot=yv-bible-renderer] .iq1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .iq2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .iq3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .iq4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .qm,[data-slot=yv-bible-renderer] .qm1{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .qm2{text-indent:-1em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:2em;display:block}[data-slot=yv-bible-renderer] .qm3{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:3em;display:block}[data-slot=yv-bible-renderer] .qm4{text-indent:-2em;margin-bottom:calc(var(--yv-reader-font-size)*.3);padding-left:4em;display:block}[data-slot=yv-bible-renderer] .add,[data-slot=yv-bible-renderer] .it,[data-slot=yv-bible-renderer] .tl,[data-slot=yv-bible-renderer] .qt{font-style:italic}[data-slot=yv-bible-renderer] .qs{text-align:right;margin-top:calc(var(--yv-reader-font-size)*.5);margin-bottom:calc(var(--yv-reader-font-size)*.5);font-style:italic;display:block}[data-slot=yv-bible-renderer] .s2{margin:0 0 .5em;font-size:1em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .s3,[data-slot=yv-bible-renderer] .s4{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .ms2{margin:.5em 0;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .r,[data-slot=yv-bible-renderer] .sp,[data-slot=yv-bible-renderer] .sr{margin:0 0 .5em;font-style:italic;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .qa{margin:0 0 .5em;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .d{margin:.5em 0;font-style:italic;font-weight:700;line-height:1.8em;display:block}[data-slot=yv-bible-renderer] .li,[data-slot=yv-bible-renderer] .li1{margin-left:1em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .li2{margin-left:2em;list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] .li3,[data-slot=yv-bible-renderer] .li4{list-style-type:disc;display:list-item}[data-slot=yv-bible-renderer] br{line-height:inherit}[data-slot=yv-bible-renderer] .content{display:inline}[data-slot=yv-bible-renderer] .footnote,[data-slot=yv-bible-renderer] .crossref{vertical-align:super;white-space:nowrap;font-size:.6em;line-height:0}[data-slot=yv-bible-renderer] .sub,[data-slot=yv-bible-renderer] .sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}[data-slot=yv-bible-renderer] .sup{top:-.25em}[data-slot=yv-bible-renderer] .sub{bottom:-.1em}[data-slot=yv-bible-renderer] table{background:var(--yv-background);border:1px solid var(--yv-border);width:100%;margin-bottom:calc(var(--yv-reader-font-size)*1);margin-top:calc(var(--yv-reader-font-size)*.75);table-layout:auto;font-size:inherit;border-collapse:separate;border-spacing:0;border-radius:.5rem;line-height:normal;overflow:hidden}[data-slot=yv-bible-renderer] table tr:nth-child(odd){background-color:var(--yv-card)}[data-slot=yv-bible-renderer] table td,[data-slot=yv-bible-renderer] .tc{text-align:inherit;vertical-align:top;padding:.25em}[data-slot=yv-bible-renderer] table td:not(:last-child),[data-slot=yv-bible-renderer] table th:not(:last-child){border-right:1px solid var(--yv-border)}[data-slot=yv-bible-renderer] table tr:not(:last-child) td,[data-slot=yv-bible-renderer] table tr:not(:last-child) th{border-bottom:1px solid var(--yv-border)}[data-slot=yv-bible-renderer] table td[colspan],[data-slot=yv-bible-renderer] table th[colspan]{border-right:none}[data-slot=yv-bible-renderer] table th,[data-slot=yv-bible-renderer] .th,[data-slot=yv-bible-renderer] .th1{background:var(--yv-foreground);color:var(--yv-primary-foreground);vertical-align:top;padding:.25em;font-weight:700}[data-slot=yv-bible-renderer] .tcr,[data-slot=yv-bible-renderer] .tcr1{text-align:right;vertical-align:top;padding:.25em}[data-slot=yv-bible-renderer] .thr,[data-slot=yv-bible-renderer] .thr1{background:var(--yv-foreground);color:var(--yv-primary-foreground);text-align:right;vertical-align:top;padding:.25em;font-weight:700}[data-slot=yv-bible-renderer][dir=rtl]{text-align:right;direction:rtl}[data-slot=yv-bible-renderer][dir=rtl] .p,[data-slot=yv-bible-renderer][dir=rtl] .m{text-align:right}[data-yv-sdk]{--yv-red:oklch(64% .22 15);--yv-red-dark-mode:oklch(68% .19 15);--yv-warm-neutral:oklch(96% .005 20);--yv-warm-neutral-dm:oklch(25% .005 20);--yv-teal-10:oklch(95% .01 195);--yv-teal-20:oklch(78% .01 180);--yv-teal-30-dm:oklch(58% .08 195);--yv-teal-30:oklch(52% .06 195);--yv-teal-40:oklch(35% .04 195);--yv-teal-50:oklch(18% .02 195);--yv-blue-10:oklch(96% .02 240);--yv-blue-20:oklch(78% .04 240);--yv-blue-30-dm:oklch(62% .12 240);--yv-blue-30:oklch(58% .08 240);--yv-blue-40:oklch(38% .06 240);--yv-blue-50:oklch(22% .04 240);--yv-purple-10:oklch(94% .02 320);--yv-purple-20:oklch(76% .04 320);--yv-purple-30-dm:oklch(52% .08 320);--yv-purple-30:oklch(48% .06 320);--yv-purple-40:oklch(32% .04 320);--yv-purple-50:oklch(18% .02 320);--yv-magenta-10:oklch(94% .04 15);--yv-magenta-20:oklch(76% .06 15);--yv-magenta-30-dm:oklch(52% .12 15);--yv-magenta-30:oklch(48% .08 15);--yv-magenta-40:oklch(28% .06 15);--yv-magenta-50:oklch(14% .04 15);--yv-orange-10:oklch(93% .04 45);--yv-orange-20:oklch(76% .06 45);--yv-orange-30-dm:oklch(62% .12 45);--yv-orange-30:oklch(58% .08 45);--yv-orange-40:oklch(38% .06 45);--yv-orange-50:oklch(22% .04 45);--yv-yellow-10:oklch(96% .04 90);--yv-yellow-20:oklch(84% .06 90);--yv-yellow-30-dm:oklch(68% .12 90);--yv-yellow-30:oklch(68% .08 90);--yv-yellow-40:oklch(52% .08 90);--yv-yellow-50:oklch(32% .06 90);--yv-green-10:oklch(93% .02 150);--yv-green-20:oklch(78% .04 150);--yv-green-30-dm:oklch(58% .08 150);--yv-green-30:oklch(54% .06 150);--yv-green-40:oklch(36% .04 150);--yv-green-50:oklch(18% .02 150);--yv-white:oklch(100% 0 0);--yv-gray-2:oklch(98.8% .001 17.2);--yv-gray-5:oklch(96.5% .001 17.2);--yv-gray-10:oklch(92.5% .001 17.2);--yv-gray-15:oklch(89.3% .0022 17.2);--yv-gray-20:oklch(78.8% .001 17.2);--yv-gray-25:oklch(58.8% .001 17.2);--yv-gray-30:oklch(47.8% .001 17.2);--yv-gray-35:oklch(37.8% .001 17.2);--yv-gray-40:oklch(29.8% .001 17.2);--yv-gray-45:oklch(21.8% .001 17.2);--yv-gray-48:oklch(17.8% .001 17.2);--yv-gray-50:oklch(13.8% .001 17.2);--yv-background:var(--yv-white);--yv-foreground:var(--yv-gray-50);--yv-card:var(--yv-gray-2);--yv-card-foreground:var(--yv-gray-50);--yv-popover:var(--yv-white);--yv-popover-foreground:var(--yv-gray-50);--yv-primary:var(--yv-gray-50);--yv-primary-foreground:var(--yv-white);--yv-secondary:var(--yv-warm-neutral);--yv-secondary-foreground:var(--yv-gray-50);--yv-muted:var(--yv-gray-5);--yv-muted-foreground:var(--yv-gray-30);--yv-accent:var(--yv-gray-5);--yv-accent-foreground:var(--yv-gray-50);--yv-destructive:var(--yv-red);--yv-destructive-foreground:var(--yv-white);--yv-border:var(--yv-gray-15);--yv-input:var(--yv-gray-5);--yv-ring:var(--yv-blue-30);--yv-chart-1:var(--yv-blue-30);--yv-chart-2:var(--yv-green-30);--yv-chart-3:var(--yv-purple-30);--yv-chart-4:var(--yv-orange-30);--yv-chart-5:var(--yv-magenta-30);--yv-radius:2rem;--yv-sidebar:var(--yv-gray-2);--yv-sidebar-foreground:var(--yv-gray-50);--yv-sidebar-primary:var(--yv-teal-30);--yv-sidebar-primary-foreground:var(--yv-white);--yv-sidebar-accent:var(--yv-gray-5);--yv-sidebar-accent-foreground:var(--yv-gray-50);--yv-sidebar-border:var(--yv-gray-15);--yv-sidebar-ring:var(--yv-blue-30)}[data-yv-sdk][data-yv-theme=dark]{--yv-red:oklch(68% .19 15);--yv-red-dark-mode:oklch(64% .22 15);--yv-warm-neutral:oklch(25% .005 20);--yv-warm-neutral-dm:oklch(96% .005 20);--yv-background:var(--yv-gray-50);--yv-foreground:var(--yv-white);--yv-card:var(--yv-gray-45);--yv-card-foreground:var(--yv-white);--yv-popover:var(--yv-gray-48);--yv-popover-foreground:var(--yv-white);--yv-primary:var(--yv-red-dark-mode);--yv-primary-foreground:var(--yv-white);--yv-secondary:var(--yv-warm-neutral-dm);--yv-secondary-foreground:var(--yv-white);--yv-muted:var(--yv-gray-40);--yv-muted-foreground:var(--yv-gray-10);--yv-accent:var(--yv-gray-30);--yv-accent-foreground:var(--yv-gray-2);--yv-destructive:var(--yv-red);--yv-destructive-foreground:var(--yv-white);--yv-border:var(--yv-gray-35);--yv-input:var(--yv-gray-40);--yv-ring:var(--yv-blue-30-dm);--yv-chart-1:var(--yv-blue-30-dm);--yv-chart-2:var(--yv-green-30-dm);--yv-chart-3:var(--yv-purple-30-dm);--yv-chart-4:var(--yv-orange-30-dm);--yv-chart-5:var(--yv-magenta-30-dm);--yv-sidebar:var(--yv-gray-48);--yv-sidebar-foreground:var(--yv-white);--yv-sidebar-primary:var(--yv-teal-30-dm);--yv-sidebar-primary-foreground:var(--yv-white);--yv-sidebar-accent:var(--yv-gray-40);--yv-sidebar-accent-foreground:var(--yv-white);--yv-sidebar-border:var(--yv-gray-35);--yv-sidebar-ring:var(--yv-blue-30-dm)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}';
|
|
76
70
|
document.head.appendChild(style);
|
|
77
71
|
}
|
|
78
72
|
|
|
@@ -582,12 +576,12 @@ var NEVER = Object.freeze({
|
|
|
582
576
|
// @__NO_SIDE_EFFECTS__
|
|
583
577
|
function $constructor(name, initializer3, params) {
|
|
584
578
|
function init(inst, def) {
|
|
585
|
-
var
|
|
579
|
+
var _a2;
|
|
586
580
|
Object.defineProperty(inst, "_zod", {
|
|
587
581
|
value: inst._zod ?? {},
|
|
588
582
|
enumerable: false
|
|
589
583
|
});
|
|
590
|
-
(
|
|
584
|
+
(_a2 = inst._zod).traits ?? (_a2.traits = /* @__PURE__ */ new Set());
|
|
591
585
|
inst._zod.traits.add(name);
|
|
592
586
|
initializer3(inst, def);
|
|
593
587
|
for (const k in _.prototype) {
|
|
@@ -602,10 +596,10 @@ function $constructor(name, initializer3, params) {
|
|
|
602
596
|
}
|
|
603
597
|
Object.defineProperty(Definition, "name", { value: name });
|
|
604
598
|
function _(def) {
|
|
605
|
-
var
|
|
599
|
+
var _a2;
|
|
606
600
|
const inst = params?.Parent ? new Definition() : this;
|
|
607
601
|
init(inst, def);
|
|
608
|
-
(
|
|
602
|
+
(_a2 = inst._zod).deferred ?? (_a2.deferred = []);
|
|
609
603
|
for (const fn of inst._zod.deferred) {
|
|
610
604
|
fn();
|
|
611
605
|
}
|
|
@@ -1178,8 +1172,8 @@ function aborted(x, startIndex = 0) {
|
|
|
1178
1172
|
}
|
|
1179
1173
|
function prefixIssues(path, issues) {
|
|
1180
1174
|
return issues.map((iss) => {
|
|
1181
|
-
var
|
|
1182
|
-
(
|
|
1175
|
+
var _a2;
|
|
1176
|
+
(_a2 = iss).path ?? (_a2.path = []);
|
|
1183
1177
|
iss.path.unshift(path);
|
|
1184
1178
|
return iss;
|
|
1185
1179
|
});
|
|
@@ -1343,7 +1337,7 @@ function formatError(error46, mapper = (issue2) => issue2.message) {
|
|
|
1343
1337
|
function treeifyError(error46, mapper = (issue2) => issue2.message) {
|
|
1344
1338
|
const result = { errors: [] };
|
|
1345
1339
|
const processError = (error47, path = []) => {
|
|
1346
|
-
var
|
|
1340
|
+
var _a2, _b;
|
|
1347
1341
|
for (const issue2 of error47.issues) {
|
|
1348
1342
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
1349
1343
|
issue2.errors.map((issues) => processError({ issues }, issue2.path));
|
|
@@ -1364,7 +1358,7 @@ function treeifyError(error46, mapper = (issue2) => issue2.message) {
|
|
|
1364
1358
|
const terminal = i === fullpath.length - 1;
|
|
1365
1359
|
if (typeof el === "string") {
|
|
1366
1360
|
curr.properties ?? (curr.properties = {});
|
|
1367
|
-
(
|
|
1361
|
+
(_a2 = curr.properties)[el] ?? (_a2[el] = { errors: [] });
|
|
1368
1362
|
curr = curr.properties[el];
|
|
1369
1363
|
} else {
|
|
1370
1364
|
curr.items ?? (curr.items = []);
|
|
@@ -1653,10 +1647,10 @@ var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
|
|
|
1653
1647
|
|
|
1654
1648
|
// ../../node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/checks.js
|
|
1655
1649
|
var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
|
|
1656
|
-
var
|
|
1650
|
+
var _a2;
|
|
1657
1651
|
inst._zod ?? (inst._zod = {});
|
|
1658
1652
|
inst._zod.def = def;
|
|
1659
|
-
(
|
|
1653
|
+
(_a2 = inst._zod).onattach ?? (_a2.onattach = []);
|
|
1660
1654
|
});
|
|
1661
1655
|
var numericOriginMap = {
|
|
1662
1656
|
number: "number",
|
|
@@ -1722,8 +1716,8 @@ var $ZodCheckGreaterThan = /* @__PURE__ */ $constructor("$ZodCheckGreaterThan",
|
|
|
1722
1716
|
var $ZodCheckMultipleOf = /* @__PURE__ */ $constructor("$ZodCheckMultipleOf", (inst, def) => {
|
|
1723
1717
|
$ZodCheck.init(inst, def);
|
|
1724
1718
|
inst._zod.onattach.push((inst2) => {
|
|
1725
|
-
var
|
|
1726
|
-
(
|
|
1719
|
+
var _a2;
|
|
1720
|
+
(_a2 = inst2._zod.bag).multipleOf ?? (_a2.multipleOf = def.value);
|
|
1727
1721
|
});
|
|
1728
1722
|
inst._zod.check = (payload) => {
|
|
1729
1723
|
if (typeof payload.value !== typeof def.value)
|
|
@@ -1850,9 +1844,9 @@ var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat"
|
|
|
1850
1844
|
};
|
|
1851
1845
|
});
|
|
1852
1846
|
var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => {
|
|
1853
|
-
var
|
|
1847
|
+
var _a2;
|
|
1854
1848
|
$ZodCheck.init(inst, def);
|
|
1855
|
-
(
|
|
1849
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
1856
1850
|
const val = payload.value;
|
|
1857
1851
|
return !nullish(val) && val.size !== void 0;
|
|
1858
1852
|
});
|
|
@@ -1878,9 +1872,9 @@ var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, d
|
|
|
1878
1872
|
};
|
|
1879
1873
|
});
|
|
1880
1874
|
var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => {
|
|
1881
|
-
var
|
|
1875
|
+
var _a2;
|
|
1882
1876
|
$ZodCheck.init(inst, def);
|
|
1883
|
-
(
|
|
1877
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
1884
1878
|
const val = payload.value;
|
|
1885
1879
|
return !nullish(val) && val.size !== void 0;
|
|
1886
1880
|
});
|
|
@@ -1906,9 +1900,9 @@ var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, d
|
|
|
1906
1900
|
};
|
|
1907
1901
|
});
|
|
1908
1902
|
var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => {
|
|
1909
|
-
var
|
|
1903
|
+
var _a2;
|
|
1910
1904
|
$ZodCheck.init(inst, def);
|
|
1911
|
-
(
|
|
1905
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
1912
1906
|
const val = payload.value;
|
|
1913
1907
|
return !nullish(val) && val.size !== void 0;
|
|
1914
1908
|
});
|
|
@@ -1936,9 +1930,9 @@ var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (i
|
|
|
1936
1930
|
};
|
|
1937
1931
|
});
|
|
1938
1932
|
var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => {
|
|
1939
|
-
var
|
|
1933
|
+
var _a2;
|
|
1940
1934
|
$ZodCheck.init(inst, def);
|
|
1941
|
-
(
|
|
1935
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
1942
1936
|
const val = payload.value;
|
|
1943
1937
|
return !nullish(val) && val.length !== void 0;
|
|
1944
1938
|
});
|
|
@@ -1965,9 +1959,9 @@ var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (ins
|
|
|
1965
1959
|
};
|
|
1966
1960
|
});
|
|
1967
1961
|
var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (inst, def) => {
|
|
1968
|
-
var
|
|
1962
|
+
var _a2;
|
|
1969
1963
|
$ZodCheck.init(inst, def);
|
|
1970
|
-
(
|
|
1964
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
1971
1965
|
const val = payload.value;
|
|
1972
1966
|
return !nullish(val) && val.length !== void 0;
|
|
1973
1967
|
});
|
|
@@ -1994,9 +1988,9 @@ var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (ins
|
|
|
1994
1988
|
};
|
|
1995
1989
|
});
|
|
1996
1990
|
var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals", (inst, def) => {
|
|
1997
|
-
var
|
|
1991
|
+
var _a2;
|
|
1998
1992
|
$ZodCheck.init(inst, def);
|
|
1999
|
-
(
|
|
1993
|
+
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
|
|
2000
1994
|
const val = payload.value;
|
|
2001
1995
|
return !nullish(val) && val.length !== void 0;
|
|
2002
1996
|
});
|
|
@@ -2025,7 +2019,7 @@ var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals"
|
|
|
2025
2019
|
};
|
|
2026
2020
|
});
|
|
2027
2021
|
var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat", (inst, def) => {
|
|
2028
|
-
var
|
|
2022
|
+
var _a2, _b;
|
|
2029
2023
|
$ZodCheck.init(inst, def);
|
|
2030
2024
|
inst._zod.onattach.push((inst2) => {
|
|
2031
2025
|
const bag = inst2._zod.bag;
|
|
@@ -2036,7 +2030,7 @@ var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat"
|
|
|
2036
2030
|
}
|
|
2037
2031
|
});
|
|
2038
2032
|
if (def.pattern)
|
|
2039
|
-
(
|
|
2033
|
+
(_a2 = inst._zod).check ?? (_a2.check = (payload) => {
|
|
2040
2034
|
def.pattern.lastIndex = 0;
|
|
2041
2035
|
if (def.pattern.test(payload.value))
|
|
2042
2036
|
return;
|
|
@@ -2238,7 +2232,7 @@ var version = {
|
|
|
2238
2232
|
|
|
2239
2233
|
// ../../node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/schemas.js
|
|
2240
2234
|
var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
|
|
2241
|
-
var
|
|
2235
|
+
var _a2;
|
|
2242
2236
|
inst ?? (inst = {});
|
|
2243
2237
|
inst._zod.def = def;
|
|
2244
2238
|
inst._zod.bag = inst._zod.bag || {};
|
|
@@ -2253,7 +2247,7 @@ var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
|
|
|
2253
2247
|
}
|
|
2254
2248
|
}
|
|
2255
2249
|
if (checks.length === 0) {
|
|
2256
|
-
(
|
|
2250
|
+
(_a2 = inst._zod).deferred ?? (_a2.deferred = []);
|
|
2257
2251
|
inst._zod.deferred?.push(() => {
|
|
2258
2252
|
inst._zod.run = inst._zod.parse;
|
|
2259
2253
|
});
|
|
@@ -10694,7 +10688,7 @@ var JSONSchemaGenerator = class {
|
|
|
10694
10688
|
this.seen = /* @__PURE__ */ new Map();
|
|
10695
10689
|
}
|
|
10696
10690
|
process(schema, _params = { path: [], schemaPath: [] }) {
|
|
10697
|
-
var
|
|
10691
|
+
var _a2;
|
|
10698
10692
|
const def = schema._zod.def;
|
|
10699
10693
|
const formatMap = {
|
|
10700
10694
|
guid: "uuid",
|
|
@@ -11203,7 +11197,7 @@ var JSONSchemaGenerator = class {
|
|
|
11203
11197
|
delete result.schema.default;
|
|
11204
11198
|
}
|
|
11205
11199
|
if (this.io === "input" && result.schema._prefault)
|
|
11206
|
-
(
|
|
11200
|
+
(_a2 = result.schema).default ?? (_a2.default = result.schema._prefault);
|
|
11207
11201
|
delete result.schema._prefault;
|
|
11208
11202
|
const _result = this.seen.get(schema);
|
|
11209
11203
|
return _result.schema;
|
|
@@ -13026,6 +13020,44 @@ var YouVersionPlatformConfiguration = (_a = class {
|
|
|
13026
13020
|
localStorage.setItem("x-yvp-installation-id", newId);
|
|
13027
13021
|
return newId;
|
|
13028
13022
|
}
|
|
13023
|
+
static saveAuthData(accessToken, refreshToken, idToken, expiryDate) {
|
|
13024
|
+
if (accessToken !== null) {
|
|
13025
|
+
localStorage.setItem("accessToken", accessToken);
|
|
13026
|
+
} else {
|
|
13027
|
+
localStorage.removeItem("accessToken");
|
|
13028
|
+
}
|
|
13029
|
+
if (refreshToken !== null) {
|
|
13030
|
+
localStorage.setItem("refreshToken", refreshToken);
|
|
13031
|
+
} else {
|
|
13032
|
+
localStorage.removeItem("refreshToken");
|
|
13033
|
+
}
|
|
13034
|
+
if (idToken !== null) {
|
|
13035
|
+
localStorage.setItem("idToken", idToken);
|
|
13036
|
+
} else {
|
|
13037
|
+
localStorage.removeItem("idToken");
|
|
13038
|
+
}
|
|
13039
|
+
if (expiryDate !== null) {
|
|
13040
|
+
localStorage.setItem("expiryDate", expiryDate.toISOString());
|
|
13041
|
+
} else {
|
|
13042
|
+
localStorage.removeItem("expiryDate");
|
|
13043
|
+
}
|
|
13044
|
+
}
|
|
13045
|
+
static clearAuthTokens() {
|
|
13046
|
+
this.saveAuthData(null, null, null, null);
|
|
13047
|
+
}
|
|
13048
|
+
static get accessToken() {
|
|
13049
|
+
return localStorage.getItem("accessToken");
|
|
13050
|
+
}
|
|
13051
|
+
static get refreshToken() {
|
|
13052
|
+
return localStorage.getItem("refreshToken");
|
|
13053
|
+
}
|
|
13054
|
+
static get idToken() {
|
|
13055
|
+
return localStorage.getItem("idToken");
|
|
13056
|
+
}
|
|
13057
|
+
static get tokenExpiryDate() {
|
|
13058
|
+
const dateString = localStorage.getItem("expiryDate");
|
|
13059
|
+
return dateString ? new Date(dateString) : null;
|
|
13060
|
+
}
|
|
13029
13061
|
static get appKey() {
|
|
13030
13062
|
return this._appKey;
|
|
13031
13063
|
}
|
|
@@ -13041,34 +13073,25 @@ var YouVersionPlatformConfiguration = (_a = class {
|
|
|
13041
13073
|
static set installationId(value) {
|
|
13042
13074
|
this._installationId = value || this.getOrSetInstallationId();
|
|
13043
13075
|
}
|
|
13044
|
-
static setAccessToken(token) {
|
|
13045
|
-
if (token !== null && (typeof token !== "string" || token.trim().length === 0)) {
|
|
13046
|
-
throw new Error("Access token must be a non-empty string or null");
|
|
13047
|
-
}
|
|
13048
|
-
this._accessToken = token;
|
|
13049
|
-
}
|
|
13050
|
-
static get accessToken() {
|
|
13051
|
-
return this._accessToken;
|
|
13052
|
-
}
|
|
13053
13076
|
static get apiHost() {
|
|
13054
13077
|
return this._apiHost;
|
|
13055
13078
|
}
|
|
13056
13079
|
static set apiHost(value) {
|
|
13057
13080
|
this._apiHost = value;
|
|
13058
13081
|
}
|
|
13059
|
-
static get
|
|
13060
|
-
return this.
|
|
13082
|
+
static get refreshTokenKey() {
|
|
13083
|
+
return this._refreshTokenKey;
|
|
13061
13084
|
}
|
|
13062
|
-
static set
|
|
13063
|
-
this.
|
|
13085
|
+
static set refreshTokenKey(value) {
|
|
13086
|
+
this._refreshTokenKey = value;
|
|
13064
13087
|
}
|
|
13065
|
-
static get
|
|
13066
|
-
return this.
|
|
13088
|
+
static get expiryDateKey() {
|
|
13089
|
+
return this._expiryDateKey;
|
|
13067
13090
|
}
|
|
13068
|
-
static set
|
|
13069
|
-
this.
|
|
13091
|
+
static set expiryDateKey(value) {
|
|
13092
|
+
this._expiryDateKey = value;
|
|
13070
13093
|
}
|
|
13071
|
-
}, __publicField(_a, "_appKey", null), __publicField(_a, "_installationId", null), __publicField(_a, "
|
|
13094
|
+
}, __publicField(_a, "_appKey", null), __publicField(_a, "_installationId", null), __publicField(_a, "_apiHost", "api.youversion.com"), __publicField(_a, "_refreshTokenKey", null), __publicField(_a, "_expiryDateKey", null), _a);
|
|
13072
13095
|
var HighlightsClient = class {
|
|
13073
13096
|
/**
|
|
13074
13097
|
* Creates a new HighlightsClient instance.
|
|
@@ -13188,74 +13211,6 @@ var HighlightsClient = class {
|
|
|
13188
13211
|
await this.client.delete(`/v1/highlights/${passageId}`, params);
|
|
13189
13212
|
}
|
|
13190
13213
|
};
|
|
13191
|
-
var AuthClient = class {
|
|
13192
|
-
/**
|
|
13193
|
-
* Creates an instance of AuthClient.
|
|
13194
|
-
* @param client - The ApiClient instance to use for requests.
|
|
13195
|
-
*/
|
|
13196
|
-
constructor(client) {
|
|
13197
|
-
__publicField(this, "client");
|
|
13198
|
-
this.client = client;
|
|
13199
|
-
}
|
|
13200
|
-
/**
|
|
13201
|
-
* Retrieves the current authenticated user.
|
|
13202
|
-
*
|
|
13203
|
-
* @param lat - The long access token (LAT) used for authentication.
|
|
13204
|
-
* @returns A promise that resolves to the authenticated User.
|
|
13205
|
-
*/
|
|
13206
|
-
async getUser(lat) {
|
|
13207
|
-
return this.client.get(`/auth/me`, { lat });
|
|
13208
|
-
}
|
|
13209
|
-
};
|
|
13210
|
-
var _a2;
|
|
13211
|
-
var AuthenticationStrategyRegistry = (_a2 = class {
|
|
13212
|
-
/**
|
|
13213
|
-
* Registers a platform-specific authentication strategy
|
|
13214
|
-
*
|
|
13215
|
-
* @param strategy - The authentication strategy to register
|
|
13216
|
-
* @throws Error if strategy is null, undefined, or missing required methods
|
|
13217
|
-
*/
|
|
13218
|
-
static register(strategy) {
|
|
13219
|
-
if (!strategy) {
|
|
13220
|
-
throw new Error("Authentication strategy cannot be null or undefined");
|
|
13221
|
-
}
|
|
13222
|
-
if (typeof strategy.authenticate !== "function") {
|
|
13223
|
-
throw new Error("Authentication strategy must implement authenticate method");
|
|
13224
|
-
}
|
|
13225
|
-
this.strategy = strategy;
|
|
13226
|
-
}
|
|
13227
|
-
/**
|
|
13228
|
-
* Gets the currently registered authentication strategy
|
|
13229
|
-
*
|
|
13230
|
-
* @returns The registered authentication strategy
|
|
13231
|
-
* @throws Error if no strategy has been registered
|
|
13232
|
-
*/
|
|
13233
|
-
static get() {
|
|
13234
|
-
if (!this.strategy) {
|
|
13235
|
-
throw new Error(
|
|
13236
|
-
"No authentication strategy registered. Please register a platform-specific strategy using AuthenticationStrategyRegistry.register()"
|
|
13237
|
-
);
|
|
13238
|
-
}
|
|
13239
|
-
return this.strategy;
|
|
13240
|
-
}
|
|
13241
|
-
/**
|
|
13242
|
-
* Checks if a strategy is currently registered
|
|
13243
|
-
*
|
|
13244
|
-
* @returns true if a strategy is registered, false otherwise
|
|
13245
|
-
*/
|
|
13246
|
-
static isRegistered() {
|
|
13247
|
-
return this.strategy !== null;
|
|
13248
|
-
}
|
|
13249
|
-
/**
|
|
13250
|
-
* Resets the registry by removing the current strategy
|
|
13251
|
-
*
|
|
13252
|
-
* This method is primarily intended for testing scenarios
|
|
13253
|
-
* where you need to clean up between test cases.
|
|
13254
|
-
*/
|
|
13255
|
-
static reset() {
|
|
13256
|
-
this.strategy = null;
|
|
13257
|
-
}
|
|
13258
|
-
}, __publicField(_a2, "strategy", null), _a2);
|
|
13259
13214
|
var SessionStorageStrategy = class {
|
|
13260
13215
|
setItem(key, value) {
|
|
13261
13216
|
if (typeof sessionStorage === "undefined") {
|
|
@@ -13300,94 +13255,120 @@ var MemoryStorageStrategy = class {
|
|
|
13300
13255
|
this.store.clear();
|
|
13301
13256
|
}
|
|
13302
13257
|
};
|
|
13303
|
-
var
|
|
13304
|
-
|
|
13305
|
-
|
|
13306
|
-
__publicField(this, "
|
|
13307
|
-
__publicField(this, "
|
|
13308
|
-
__publicField(this, "
|
|
13309
|
-
|
|
13310
|
-
|
|
13311
|
-
|
|
13312
|
-
this.
|
|
13313
|
-
this.
|
|
13314
|
-
|
|
13315
|
-
|
|
13316
|
-
authUrl.searchParams.set("redirect_uri", this.redirectUri);
|
|
13317
|
-
return this.authenticateWithRedirect(authUrl);
|
|
13258
|
+
var YouVersionUserInfo = class {
|
|
13259
|
+
constructor(data) {
|
|
13260
|
+
__publicField(this, "name");
|
|
13261
|
+
__publicField(this, "userId");
|
|
13262
|
+
__publicField(this, "email");
|
|
13263
|
+
__publicField(this, "avatarUrlFormat");
|
|
13264
|
+
if (!data || typeof data !== "object") {
|
|
13265
|
+
throw new Error("Invalid user data provided");
|
|
13266
|
+
}
|
|
13267
|
+
this.name = data.name;
|
|
13268
|
+
this.userId = data.id;
|
|
13269
|
+
this.email = data.email;
|
|
13270
|
+
this.avatarUrlFormat = data.avatar_url;
|
|
13318
13271
|
}
|
|
13319
|
-
|
|
13320
|
-
|
|
13321
|
-
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
if (
|
|
13325
|
-
|
|
13326
|
-
|
|
13327
|
-
|
|
13328
|
-
|
|
13329
|
-
|
|
13330
|
-
|
|
13331
|
-
|
|
13332
|
-
|
|
13333
|
-
const storageStrategy = new SessionStorageStrategy();
|
|
13334
|
-
const returnUrl = storageStrategy.getItem("youversion-auth-return") ?? "/";
|
|
13335
|
-
storageStrategy.removeItem("youversion-auth-return");
|
|
13336
|
-
window.history.replaceState({}, "", returnUrl);
|
|
13337
|
-
return true;
|
|
13272
|
+
getAvatarUrl(width = 200, height = 200) {
|
|
13273
|
+
if (!this.avatarUrlFormat) {
|
|
13274
|
+
return null;
|
|
13275
|
+
}
|
|
13276
|
+
let urlString = this.avatarUrlFormat;
|
|
13277
|
+
if (urlString.startsWith("//")) {
|
|
13278
|
+
urlString = "https:" + urlString;
|
|
13279
|
+
}
|
|
13280
|
+
urlString = urlString.replace("{width}", width.toString());
|
|
13281
|
+
urlString = urlString.replace("{height}", height.toString());
|
|
13282
|
+
try {
|
|
13283
|
+
return new URL(urlString);
|
|
13284
|
+
} catch {
|
|
13285
|
+
return null;
|
|
13338
13286
|
}
|
|
13339
|
-
return false;
|
|
13340
13287
|
}
|
|
13341
|
-
|
|
13342
|
-
|
|
13343
|
-
|
|
13344
|
-
|
|
13345
|
-
|
|
13346
|
-
|
|
13347
|
-
|
|
13288
|
+
get avatarUrl() {
|
|
13289
|
+
return this.getAvatarUrl();
|
|
13290
|
+
}
|
|
13291
|
+
};
|
|
13292
|
+
var SignInWithYouVersionPKCEAuthorizationRequestBuilder = class {
|
|
13293
|
+
static async make(appKey, permissions, redirectURL) {
|
|
13294
|
+
const codeVerifier = this.randomURLSafeString(32);
|
|
13295
|
+
const codeChallenge = await this.codeChallenge(codeVerifier);
|
|
13296
|
+
const state = this.randomURLSafeString(24);
|
|
13297
|
+
const nonce = this.randomURLSafeString(24);
|
|
13298
|
+
const parameters = {
|
|
13299
|
+
codeVerifier,
|
|
13300
|
+
codeChallenge,
|
|
13301
|
+
state,
|
|
13302
|
+
nonce
|
|
13303
|
+
};
|
|
13304
|
+
const url2 = this.authorizeURL(appKey, permissions, redirectURL, parameters);
|
|
13305
|
+
return { url: url2, parameters };
|
|
13306
|
+
}
|
|
13307
|
+
static authorizeURL(appKey, permissions, redirectURL, parameters) {
|
|
13308
|
+
const components = new URL(`https://${YouVersionPlatformConfiguration.apiHost}/auth/authorize`);
|
|
13309
|
+
const redirectUrlString = redirectURL.toString().endsWith("/") ? redirectURL.toString().slice(0, -1) : redirectURL.toString();
|
|
13310
|
+
const queryParams = new URLSearchParams({
|
|
13311
|
+
response_type: "code",
|
|
13312
|
+
client_id: appKey,
|
|
13313
|
+
redirect_uri: redirectUrlString,
|
|
13314
|
+
nonce: parameters.nonce,
|
|
13315
|
+
state: parameters.state,
|
|
13316
|
+
code_challenge: parameters.codeChallenge,
|
|
13317
|
+
code_challenge_method: "S256"
|
|
13318
|
+
});
|
|
13319
|
+
const installId = YouVersionPlatformConfiguration.installationId;
|
|
13320
|
+
if (installId) {
|
|
13321
|
+
queryParams.set("x-yvp-installation-id", installId);
|
|
13348
13322
|
}
|
|
13349
|
-
|
|
13350
|
-
|
|
13323
|
+
const scopeValue = this.scopeValue(permissions);
|
|
13324
|
+
if (scopeValue) {
|
|
13325
|
+
queryParams.set("scope", scopeValue);
|
|
13326
|
+
}
|
|
13327
|
+
components.search = queryParams.toString();
|
|
13328
|
+
return components;
|
|
13351
13329
|
}
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
const
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
authenticateWithRedirect(authUrl) {
|
|
13369
|
-
_a3.cleanup();
|
|
13370
|
-
this.storage.setItem("youversion-auth-return", window.location.href);
|
|
13371
|
-
return new Promise((resolve, reject) => {
|
|
13372
|
-
_a3.pendingAuthResolve = resolve;
|
|
13373
|
-
_a3.pendingAuthReject = reject;
|
|
13374
|
-
_a3.timeoutId = setTimeout(() => {
|
|
13375
|
-
_a3.cleanup();
|
|
13376
|
-
reject(new Error("Authentication timeout"));
|
|
13377
|
-
}, this.timeout);
|
|
13378
|
-
try {
|
|
13379
|
-
window.location.href = authUrl.toString();
|
|
13380
|
-
} catch (error46) {
|
|
13381
|
-
_a3.cleanup();
|
|
13382
|
-
reject(
|
|
13383
|
-
new Error(
|
|
13384
|
-
`Failed to navigate to auth URL: ${error46 instanceof Error ? error46.message : "Unknown error"}`
|
|
13385
|
-
)
|
|
13386
|
-
);
|
|
13330
|
+
static tokenURLRequest(code, codeVerifier, redirectUri) {
|
|
13331
|
+
const apiHost = YouVersionPlatformConfiguration.apiHost;
|
|
13332
|
+
const appKey = YouVersionPlatformConfiguration.appKey;
|
|
13333
|
+
const url2 = new URL(`https://${apiHost}/auth/token`);
|
|
13334
|
+
const parameters = new URLSearchParams({
|
|
13335
|
+
grant_type: "authorization_code",
|
|
13336
|
+
code,
|
|
13337
|
+
redirect_uri: redirectUri,
|
|
13338
|
+
client_id: appKey ?? "",
|
|
13339
|
+
code_verifier: codeVerifier
|
|
13340
|
+
});
|
|
13341
|
+
return new Request(url2, {
|
|
13342
|
+
method: "POST",
|
|
13343
|
+
body: parameters,
|
|
13344
|
+
headers: {
|
|
13345
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
13387
13346
|
}
|
|
13388
13347
|
});
|
|
13389
13348
|
}
|
|
13390
|
-
|
|
13349
|
+
static randomURLSafeString(byteCount) {
|
|
13350
|
+
const bytes = new Uint8Array(byteCount);
|
|
13351
|
+
crypto.getRandomValues(bytes);
|
|
13352
|
+
return this.base64URLEncodedString(bytes);
|
|
13353
|
+
}
|
|
13354
|
+
static async codeChallenge(verifier) {
|
|
13355
|
+
const data = new TextEncoder().encode(verifier);
|
|
13356
|
+
const digest = await crypto.subtle.digest("SHA-256", data);
|
|
13357
|
+
return this.base64URLEncodedString(new Uint8Array(digest));
|
|
13358
|
+
}
|
|
13359
|
+
static base64URLEncodedString(data) {
|
|
13360
|
+
const base643 = btoa(String.fromCharCode.apply(null, Array.from(data)));
|
|
13361
|
+
return base643.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
13362
|
+
}
|
|
13363
|
+
static scopeValue(permissions) {
|
|
13364
|
+
const scopeArray = Array.from(permissions).sort();
|
|
13365
|
+
let scopeWithOpenID = scopeArray.join(" ");
|
|
13366
|
+
if (!scopeWithOpenID.split(" ").includes("openid")) {
|
|
13367
|
+
scopeWithOpenID += (scopeWithOpenID === "" ? "" : " ") + "openid";
|
|
13368
|
+
}
|
|
13369
|
+
return scopeWithOpenID || null;
|
|
13370
|
+
}
|
|
13371
|
+
};
|
|
13391
13372
|
var SignInWithYouVersionPermission = {
|
|
13392
13373
|
bibles: "bibles",
|
|
13393
13374
|
highlights: "highlights",
|
|
@@ -13396,71 +13377,335 @@ var SignInWithYouVersionPermission = {
|
|
|
13396
13377
|
bibleActivity: "bible_activity"
|
|
13397
13378
|
};
|
|
13398
13379
|
var SignInWithYouVersionResult = class {
|
|
13399
|
-
constructor(
|
|
13380
|
+
constructor({
|
|
13381
|
+
accessToken,
|
|
13382
|
+
expiresIn,
|
|
13383
|
+
refreshToken,
|
|
13384
|
+
idToken,
|
|
13385
|
+
permissions,
|
|
13386
|
+
yvpUserId,
|
|
13387
|
+
name,
|
|
13388
|
+
profilePicture,
|
|
13389
|
+
email: email3
|
|
13390
|
+
}) {
|
|
13400
13391
|
__publicField(this, "accessToken");
|
|
13392
|
+
__publicField(this, "expiryDate");
|
|
13393
|
+
__publicField(this, "refreshToken");
|
|
13394
|
+
__publicField(this, "idToken");
|
|
13401
13395
|
__publicField(this, "permissions");
|
|
13402
|
-
__publicField(this, "errorMsg");
|
|
13403
13396
|
__publicField(this, "yvpUserId");
|
|
13404
|
-
|
|
13405
|
-
|
|
13406
|
-
|
|
13407
|
-
|
|
13408
|
-
|
|
13409
|
-
|
|
13410
|
-
|
|
13411
|
-
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
|
|
13415
|
-
|
|
13416
|
-
this.permissions = perms;
|
|
13417
|
-
this.errorMsg = null;
|
|
13418
|
-
this.yvpUserId = userId;
|
|
13419
|
-
} else if (status === "canceled") {
|
|
13420
|
-
this.accessToken = null;
|
|
13421
|
-
this.permissions = [];
|
|
13422
|
-
this.errorMsg = null;
|
|
13423
|
-
this.yvpUserId = null;
|
|
13424
|
-
} else {
|
|
13425
|
-
this.accessToken = null;
|
|
13426
|
-
this.permissions = [];
|
|
13427
|
-
this.errorMsg = "Authentication failed";
|
|
13428
|
-
this.yvpUserId = null;
|
|
13429
|
-
}
|
|
13397
|
+
__publicField(this, "name");
|
|
13398
|
+
__publicField(this, "profilePicture");
|
|
13399
|
+
__publicField(this, "email");
|
|
13400
|
+
this.accessToken = accessToken;
|
|
13401
|
+
this.expiryDate = expiresIn ? new Date(Date.now() + expiresIn * 1e3) : /* @__PURE__ */ new Date();
|
|
13402
|
+
this.refreshToken = refreshToken;
|
|
13403
|
+
this.idToken = idToken;
|
|
13404
|
+
this.permissions = permissions;
|
|
13405
|
+
this.yvpUserId = yvpUserId;
|
|
13406
|
+
this.name = name;
|
|
13407
|
+
this.profilePicture = profilePicture;
|
|
13408
|
+
this.email = email3;
|
|
13430
13409
|
}
|
|
13431
13410
|
};
|
|
13432
|
-
var
|
|
13433
|
-
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
|
|
13439
|
-
|
|
13411
|
+
var YouVersionAPIUsers = class {
|
|
13412
|
+
/**
|
|
13413
|
+
* Presents the YouVersion login flow to the user and returns the login result upon completion.
|
|
13414
|
+
*
|
|
13415
|
+
* This function authenticates the user with YouVersion, requesting the specified required and optional permissions.
|
|
13416
|
+
* The function redirects to the YouVersion authorization URL and expects the callback to be handled separately.
|
|
13417
|
+
*
|
|
13418
|
+
* @param permissions - The set of permissions that must be granted by the user for successful login.
|
|
13419
|
+
* @param redirectURL - The URL to redirect back to after authentication.
|
|
13420
|
+
* @throws An error if authentication fails or configuration is invalid.
|
|
13421
|
+
*/
|
|
13422
|
+
static async signIn(permissions, redirectURL) {
|
|
13423
|
+
const appKey = YouVersionPlatformConfiguration.appKey;
|
|
13424
|
+
if (!appKey) {
|
|
13425
|
+
throw new Error("YouVersionPlatformConfiguration.appKey must be set before calling signIn");
|
|
13440
13426
|
}
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13427
|
+
const authorizationRequest = await SignInWithYouVersionPKCEAuthorizationRequestBuilder.make(
|
|
13428
|
+
appKey,
|
|
13429
|
+
permissions,
|
|
13430
|
+
new URL(redirectURL)
|
|
13431
|
+
);
|
|
13432
|
+
localStorage.setItem(
|
|
13433
|
+
"youversion-auth-code-verifier",
|
|
13434
|
+
authorizationRequest.parameters.codeVerifier
|
|
13435
|
+
);
|
|
13436
|
+
const redirectUrlString = redirectURL.toString().endsWith("/") ? redirectURL.toString().slice(0, -1) : redirectURL.toString();
|
|
13437
|
+
localStorage.setItem("youversion-auth-redirect-uri", redirectUrlString);
|
|
13438
|
+
localStorage.setItem("youversion-auth-state", authorizationRequest.parameters.state);
|
|
13439
|
+
window.location.href = authorizationRequest.url.toString();
|
|
13445
13440
|
}
|
|
13446
|
-
|
|
13447
|
-
|
|
13441
|
+
/**
|
|
13442
|
+
* Handles the OAuth callback after user authentication.
|
|
13443
|
+
*
|
|
13444
|
+
* Call this method when your app loads to check if the current URL contains
|
|
13445
|
+
* an OAuth callback with authorization code. If found, it exchanges the code
|
|
13446
|
+
* for tokens and stores them.
|
|
13447
|
+
*
|
|
13448
|
+
* @returns Promise<SignInWithYouVersionResult | null> - SignInWithYouVersionResult if callback was handled, null otherwise
|
|
13449
|
+
* @throws An error if token exchange fails
|
|
13450
|
+
*/
|
|
13451
|
+
static async handleAuthCallback() {
|
|
13452
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
13453
|
+
const code = urlParams.get("code");
|
|
13454
|
+
const state = urlParams.get("state");
|
|
13455
|
+
const error46 = urlParams.get("error");
|
|
13456
|
+
if (!state && !error46) {
|
|
13448
13457
|
return null;
|
|
13449
13458
|
}
|
|
13450
|
-
|
|
13451
|
-
|
|
13452
|
-
|
|
13459
|
+
if (error46) {
|
|
13460
|
+
const errorDescription = urlParams.get("error_description") || error46;
|
|
13461
|
+
throw new Error(`OAuth authentication failed: ${errorDescription}`);
|
|
13462
|
+
}
|
|
13463
|
+
const storedState = localStorage.getItem("youversion-auth-state");
|
|
13464
|
+
if (state !== storedState) {
|
|
13465
|
+
throw new Error("Invalid state parameter - possible CSRF attack");
|
|
13466
|
+
}
|
|
13467
|
+
if (!code && state) {
|
|
13468
|
+
this.obtainLocation(window.location.href, state);
|
|
13469
|
+
}
|
|
13470
|
+
const codeVerifier = localStorage.getItem("youversion-auth-code-verifier");
|
|
13471
|
+
const redirectUri = localStorage.getItem("youversion-auth-redirect-uri");
|
|
13472
|
+
if (!code || !codeVerifier || !redirectUri) {
|
|
13473
|
+
throw new Error("Missing required authentication parameters");
|
|
13453
13474
|
}
|
|
13454
|
-
urlString = urlString.replace("{width}", width.toString());
|
|
13455
|
-
urlString = urlString.replace("{height}", height.toString());
|
|
13456
13475
|
try {
|
|
13457
|
-
|
|
13458
|
-
|
|
13459
|
-
|
|
13476
|
+
const tokenRequest = SignInWithYouVersionPKCEAuthorizationRequestBuilder.tokenURLRequest(
|
|
13477
|
+
code,
|
|
13478
|
+
codeVerifier,
|
|
13479
|
+
redirectUri
|
|
13480
|
+
);
|
|
13481
|
+
const response = await fetch(tokenRequest);
|
|
13482
|
+
if (!response.ok) {
|
|
13483
|
+
throw new Error(`Token exchange failed: ${response.status} ${response.statusText}`);
|
|
13484
|
+
}
|
|
13485
|
+
const responseText = await response.text();
|
|
13486
|
+
const tokens = JSON.parse(responseText);
|
|
13487
|
+
const result = this.extractSignInResult(tokens);
|
|
13488
|
+
YouVersionPlatformConfiguration.saveAuthData(
|
|
13489
|
+
result.accessToken || null,
|
|
13490
|
+
result.refreshToken || null,
|
|
13491
|
+
result.idToken || null,
|
|
13492
|
+
result.expiryDate || null
|
|
13493
|
+
);
|
|
13494
|
+
localStorage.removeItem("youversion-auth-code-verifier");
|
|
13495
|
+
localStorage.removeItem("youversion-auth-redirect-uri");
|
|
13496
|
+
localStorage.removeItem("youversion-auth-state");
|
|
13497
|
+
const cleanUrl = new URL(window.location.href);
|
|
13498
|
+
cleanUrl.search = "";
|
|
13499
|
+
window.history.replaceState({}, "", cleanUrl.toString());
|
|
13500
|
+
return result;
|
|
13501
|
+
} catch (error210) {
|
|
13502
|
+
localStorage.removeItem("youversion-auth-code-verifier");
|
|
13503
|
+
localStorage.removeItem("youversion-auth-redirect-uri");
|
|
13504
|
+
localStorage.removeItem("youversion-auth-state");
|
|
13505
|
+
throw error210;
|
|
13460
13506
|
}
|
|
13461
13507
|
}
|
|
13462
|
-
|
|
13463
|
-
|
|
13508
|
+
/**
|
|
13509
|
+
* Redirects to the server callback endpoint to obtain authorization code
|
|
13510
|
+
*/
|
|
13511
|
+
static obtainLocation(callbackURL, state) {
|
|
13512
|
+
const url2 = new URL(callbackURL);
|
|
13513
|
+
const params = new URLSearchParams(url2.search);
|
|
13514
|
+
if (params.get("state") !== state) {
|
|
13515
|
+
throw new Error("Invalid state parameter");
|
|
13516
|
+
}
|
|
13517
|
+
const serverCallbackUrl = new URL(
|
|
13518
|
+
`https://${YouVersionPlatformConfiguration.apiHost}/auth/callback`
|
|
13519
|
+
);
|
|
13520
|
+
params.forEach((value, key) => {
|
|
13521
|
+
serverCallbackUrl.searchParams.set(key, value);
|
|
13522
|
+
});
|
|
13523
|
+
window.location.href = serverCallbackUrl.toString();
|
|
13524
|
+
}
|
|
13525
|
+
/**
|
|
13526
|
+
* Extracts sign-in result from token response
|
|
13527
|
+
*/
|
|
13528
|
+
static extractSignInResult(tokens) {
|
|
13529
|
+
const idClaims = this.decodeJWT(tokens.id_token);
|
|
13530
|
+
const permissions = tokens.scope.split(" ").map((p) => p.trim()).filter((p) => p.length > 0).filter(
|
|
13531
|
+
(p) => Object.values(SignInWithYouVersionPermission).includes(
|
|
13532
|
+
p
|
|
13533
|
+
)
|
|
13534
|
+
);
|
|
13535
|
+
const resultData = {
|
|
13536
|
+
accessToken: tokens.access_token,
|
|
13537
|
+
expiresIn: tokens.expires_in,
|
|
13538
|
+
refreshToken: tokens.refresh_token,
|
|
13539
|
+
idToken: tokens.id_token,
|
|
13540
|
+
permissions,
|
|
13541
|
+
yvpUserId: idClaims.sub,
|
|
13542
|
+
name: idClaims.name,
|
|
13543
|
+
profilePicture: idClaims.profile_picture,
|
|
13544
|
+
email: idClaims.email
|
|
13545
|
+
};
|
|
13546
|
+
return new SignInWithYouVersionResult(resultData);
|
|
13547
|
+
}
|
|
13548
|
+
/**
|
|
13549
|
+
* Decodes JWT payload for UI display purposes.
|
|
13550
|
+
*
|
|
13551
|
+
* Note: We intentionally do not verify the JWT signature here because:
|
|
13552
|
+
*
|
|
13553
|
+
* 1. YouVersion's backend verifies all tokens on API requests
|
|
13554
|
+
* 2. This decoded data is only used for UI display
|
|
13555
|
+
* 3. No security decisions are made based on these claims
|
|
13556
|
+
*
|
|
13557
|
+
* @private
|
|
13558
|
+
*/
|
|
13559
|
+
static decodeJWT(token) {
|
|
13560
|
+
const segments = token.split(".");
|
|
13561
|
+
if (segments.length !== 3) {
|
|
13562
|
+
return {};
|
|
13563
|
+
}
|
|
13564
|
+
let base643 = segments[1]?.replace(/-/g, "+").replace(/_/g, "/");
|
|
13565
|
+
while (base643 && base643.length % 4 !== 0) {
|
|
13566
|
+
base643 += "=";
|
|
13567
|
+
}
|
|
13568
|
+
try {
|
|
13569
|
+
if (base643) {
|
|
13570
|
+
const data = atob(base643);
|
|
13571
|
+
return JSON.parse(data);
|
|
13572
|
+
} else {
|
|
13573
|
+
return {};
|
|
13574
|
+
}
|
|
13575
|
+
} catch (error46) {
|
|
13576
|
+
if (process.env.NODE_ENV === "development") {
|
|
13577
|
+
console.error("JWT decode failed:", error46);
|
|
13578
|
+
}
|
|
13579
|
+
return {};
|
|
13580
|
+
}
|
|
13581
|
+
}
|
|
13582
|
+
static signOut() {
|
|
13583
|
+
YouVersionPlatformConfiguration.clearAuthTokens();
|
|
13584
|
+
}
|
|
13585
|
+
/**
|
|
13586
|
+
* Retrieves user information for the authenticated user by decoding the provided JWT access token.
|
|
13587
|
+
*
|
|
13588
|
+
* This function extracts the user's profile information directly from the JWT token payload.
|
|
13589
|
+
*
|
|
13590
|
+
* @param accessToken - The JWT access token obtained from the login process.
|
|
13591
|
+
* @returns A Promise resolving to a YouVersionUserInfo object containing the user's profile information.
|
|
13592
|
+
* @throws An error if the access token is invalid or cannot be decoded.
|
|
13593
|
+
*/
|
|
13594
|
+
static userInfo(idToken) {
|
|
13595
|
+
if (!idToken || typeof idToken !== "string") {
|
|
13596
|
+
throw new Error("Invalid access token: must be a non-empty string");
|
|
13597
|
+
}
|
|
13598
|
+
try {
|
|
13599
|
+
const claims = this.decodeJWT(idToken);
|
|
13600
|
+
if (!claims || Object.keys(claims).length === 0) {
|
|
13601
|
+
throw new Error("Invalid JWT token: Unable to decode token payload");
|
|
13602
|
+
}
|
|
13603
|
+
const userInfoData = {
|
|
13604
|
+
id: claims.sub,
|
|
13605
|
+
name: claims.name,
|
|
13606
|
+
avatar_url: claims.profile_picture,
|
|
13607
|
+
email: claims.email
|
|
13608
|
+
};
|
|
13609
|
+
return new YouVersionUserInfo(userInfoData);
|
|
13610
|
+
} catch (error46) {
|
|
13611
|
+
if (error46 instanceof Error) {
|
|
13612
|
+
throw new Error(`Failed to decode user information from JWT: ${error46.message}`);
|
|
13613
|
+
} else {
|
|
13614
|
+
throw new Error("Failed to decode user information from JWT: Unknown error");
|
|
13615
|
+
}
|
|
13616
|
+
}
|
|
13617
|
+
}
|
|
13618
|
+
/**
|
|
13619
|
+
* Refreshes the access token using the stored refresh token.
|
|
13620
|
+
*
|
|
13621
|
+
* @returns Promise<SignInWithYouVersionResult | null> - New tokens if refresh succeeds, null otherwise
|
|
13622
|
+
* @throws An error if refresh fails or no refresh token is available
|
|
13623
|
+
*/
|
|
13624
|
+
static async refreshTokens() {
|
|
13625
|
+
const refreshToken = YouVersionPlatformConfiguration.refreshToken;
|
|
13626
|
+
const appKey = YouVersionPlatformConfiguration.appKey;
|
|
13627
|
+
const existingIdToken = YouVersionPlatformConfiguration.idToken;
|
|
13628
|
+
if (!refreshToken || !existingIdToken) {
|
|
13629
|
+
throw new Error("No refresh token or id token available");
|
|
13630
|
+
}
|
|
13631
|
+
if (!appKey) {
|
|
13632
|
+
throw new Error(
|
|
13633
|
+
"YouVersionPlatformConfiguration.appKey must be set before refreshing tokens"
|
|
13634
|
+
);
|
|
13635
|
+
}
|
|
13636
|
+
try {
|
|
13637
|
+
const url2 = new URL(`https://${YouVersionPlatformConfiguration.apiHost}/auth/token`);
|
|
13638
|
+
const parameters = new URLSearchParams({
|
|
13639
|
+
grant_type: "refresh_token",
|
|
13640
|
+
refresh_token: refreshToken,
|
|
13641
|
+
client_id: appKey
|
|
13642
|
+
});
|
|
13643
|
+
const request = new Request(url2, {
|
|
13644
|
+
method: "POST",
|
|
13645
|
+
body: parameters,
|
|
13646
|
+
headers: {
|
|
13647
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
13648
|
+
}
|
|
13649
|
+
});
|
|
13650
|
+
const response = await fetch(request);
|
|
13651
|
+
if (!response.ok) {
|
|
13652
|
+
throw new Error(`Token refresh failed: ${response.status} ${response.statusText}`);
|
|
13653
|
+
}
|
|
13654
|
+
const tokens = await response.json();
|
|
13655
|
+
const result = new SignInWithYouVersionResult({
|
|
13656
|
+
accessToken: tokens.access_token,
|
|
13657
|
+
expiresIn: tokens.expires_in,
|
|
13658
|
+
refreshToken: tokens.refresh_token,
|
|
13659
|
+
idToken: existingIdToken,
|
|
13660
|
+
permissions: tokens.scope.split(" ").map((p) => p.trim()).filter((p) => p.length > 0).filter(
|
|
13661
|
+
(p) => Object.values(SignInWithYouVersionPermission).includes(
|
|
13662
|
+
p
|
|
13663
|
+
)
|
|
13664
|
+
)
|
|
13665
|
+
});
|
|
13666
|
+
YouVersionPlatformConfiguration.saveAuthData(
|
|
13667
|
+
result.accessToken || null,
|
|
13668
|
+
result.refreshToken || null,
|
|
13669
|
+
result.idToken || null,
|
|
13670
|
+
result.expiryDate || null
|
|
13671
|
+
);
|
|
13672
|
+
return result;
|
|
13673
|
+
} catch (error46) {
|
|
13674
|
+
if (error46 instanceof Error) {
|
|
13675
|
+
throw new Error(`Token refresh failed: ${error46.message}`);
|
|
13676
|
+
} else {
|
|
13677
|
+
throw new Error("Token refresh failed: Unknown error");
|
|
13678
|
+
}
|
|
13679
|
+
}
|
|
13680
|
+
}
|
|
13681
|
+
/**
|
|
13682
|
+
* Checks if the current access token is expired or about to expire.
|
|
13683
|
+
*
|
|
13684
|
+
* @returns true if token is expired or about to expire
|
|
13685
|
+
*/
|
|
13686
|
+
static isTokenExpired() {
|
|
13687
|
+
const expiryDate = YouVersionPlatformConfiguration.tokenExpiryDate;
|
|
13688
|
+
if (!expiryDate) {
|
|
13689
|
+
return true;
|
|
13690
|
+
}
|
|
13691
|
+
return (/* @__PURE__ */ new Date()).getTime() >= expiryDate.getTime();
|
|
13692
|
+
}
|
|
13693
|
+
/**
|
|
13694
|
+
* Refreshes the access token if it's expired or about to expire.
|
|
13695
|
+
*
|
|
13696
|
+
* @returns Promise<boolean> - true if refresh was successful or not needed, false if failed
|
|
13697
|
+
*/
|
|
13698
|
+
static async refreshTokenIfNeeded() {
|
|
13699
|
+
if (!this.isTokenExpired()) {
|
|
13700
|
+
return true;
|
|
13701
|
+
}
|
|
13702
|
+
try {
|
|
13703
|
+
const result = await this.refreshTokens();
|
|
13704
|
+
return !!result;
|
|
13705
|
+
} catch {
|
|
13706
|
+
YouVersionPlatformConfiguration.clearAuthTokens();
|
|
13707
|
+
return false;
|
|
13708
|
+
}
|
|
13464
13709
|
}
|
|
13465
13710
|
};
|
|
13466
13711
|
var YouVersionAPI = class {
|
|
@@ -13517,117 +13762,6 @@ var URLBuilder = class {
|
|
|
13517
13762
|
);
|
|
13518
13763
|
}
|
|
13519
13764
|
}
|
|
13520
|
-
static userURL(accessToken) {
|
|
13521
|
-
if (typeof accessToken !== "string" || accessToken.trim().length === 0) {
|
|
13522
|
-
throw new Error("accessToken must be a non-empty string");
|
|
13523
|
-
}
|
|
13524
|
-
try {
|
|
13525
|
-
const url2 = new URL(this.baseURL);
|
|
13526
|
-
url2.pathname = "/auth/me";
|
|
13527
|
-
const searchParams = new URLSearchParams();
|
|
13528
|
-
searchParams.append("lat", accessToken);
|
|
13529
|
-
url2.search = searchParams.toString();
|
|
13530
|
-
return url2;
|
|
13531
|
-
} catch (error46) {
|
|
13532
|
-
throw new Error(
|
|
13533
|
-
`Failed to construct user URL: ${error46 instanceof Error ? error46.message : "Unknown error"}`
|
|
13534
|
-
);
|
|
13535
|
-
}
|
|
13536
|
-
}
|
|
13537
|
-
};
|
|
13538
|
-
var MAX_RETRY_ATTEMPTS = 3;
|
|
13539
|
-
var RETRY_DELAY_MS = 1e3;
|
|
13540
|
-
var YouVersionAPIUsers = class {
|
|
13541
|
-
/**
|
|
13542
|
-
* Presents the YouVersion login flow to the user and returns the login result upon completion.
|
|
13543
|
-
*
|
|
13544
|
-
* This function authenticates the user with YouVersion, requesting the specified required and optional permissions.
|
|
13545
|
-
* The function returns a promise that resolves when the user completes or cancels the login flow,
|
|
13546
|
-
* returning the login result containing the authorization code and granted permissions.
|
|
13547
|
-
*
|
|
13548
|
-
* @param requiredPermissions - The set of permissions that must be granted by the user for successful login.
|
|
13549
|
-
* @param optionalPermissions - The set of permissions that will be requested from the user but are not required for successful login.
|
|
13550
|
-
* @returns A Promise resolving to a SignInWithYouVersionResult containing the authorization code and granted permissions upon successful login.
|
|
13551
|
-
* @throws An error if authentication fails or is cancelled by the user.
|
|
13552
|
-
*/
|
|
13553
|
-
static async signIn(requiredPermissions, optionalPermissions) {
|
|
13554
|
-
if (!requiredPermissions || !(requiredPermissions instanceof Set)) {
|
|
13555
|
-
throw new Error("Invalid requiredPermissions: must be a Set");
|
|
13556
|
-
}
|
|
13557
|
-
if (!optionalPermissions || !(optionalPermissions instanceof Set)) {
|
|
13558
|
-
throw new Error("Invalid optionalPermissions: must be a Set");
|
|
13559
|
-
}
|
|
13560
|
-
const appKey = YouVersionPlatformConfiguration.appKey;
|
|
13561
|
-
if (!appKey) {
|
|
13562
|
-
throw new Error("YouVersionPlatformConfiguration.appKey must be set before calling signIn");
|
|
13563
|
-
}
|
|
13564
|
-
const url2 = URLBuilder.authURL(appKey, requiredPermissions, optionalPermissions);
|
|
13565
|
-
const strategy = AuthenticationStrategyRegistry.get();
|
|
13566
|
-
const callbackUrl = await strategy.authenticate(url2);
|
|
13567
|
-
const result = new SignInWithYouVersionResult(callbackUrl);
|
|
13568
|
-
if (result.accessToken) {
|
|
13569
|
-
YouVersionPlatformConfiguration.setAccessToken(result.accessToken);
|
|
13570
|
-
}
|
|
13571
|
-
return result;
|
|
13572
|
-
}
|
|
13573
|
-
static signOut() {
|
|
13574
|
-
YouVersionPlatformConfiguration.setAccessToken(null);
|
|
13575
|
-
}
|
|
13576
|
-
/**
|
|
13577
|
-
* Retrieves user information for the authenticated user using the provided access token.
|
|
13578
|
-
*
|
|
13579
|
-
* This function fetches the user's profile information from the YouVersion API, decoding it into a YouVersionUserInfo model.
|
|
13580
|
-
*
|
|
13581
|
-
* @param accessToken - The access token obtained from the login process.
|
|
13582
|
-
* @returns A Promise resolving to a YouVersionUserInfo object containing the user's profile information.
|
|
13583
|
-
* @throws An error if the URL is invalid, the network request fails, or the response cannot be decoded.
|
|
13584
|
-
*/
|
|
13585
|
-
static async userInfo(accessToken) {
|
|
13586
|
-
if (!accessToken || typeof accessToken !== "string") {
|
|
13587
|
-
throw new Error("Invalid access token: must be a non-empty string");
|
|
13588
|
-
}
|
|
13589
|
-
if (YouVersionPlatformConfiguration.isPreviewMode && accessToken === "preview") {
|
|
13590
|
-
return YouVersionPlatformConfiguration.previewUserInfo || new YouVersionUserInfo({
|
|
13591
|
-
first_name: "Preview",
|
|
13592
|
-
last_name: "User",
|
|
13593
|
-
id: "preview-user",
|
|
13594
|
-
avatar_url: void 0
|
|
13595
|
-
});
|
|
13596
|
-
}
|
|
13597
|
-
const url2 = URLBuilder.userURL(accessToken);
|
|
13598
|
-
const request = YouVersionAPI.addStandardHeaders(url2);
|
|
13599
|
-
let lastError = null;
|
|
13600
|
-
for (let attempt = 1; attempt <= MAX_RETRY_ATTEMPTS; attempt++) {
|
|
13601
|
-
try {
|
|
13602
|
-
const response = await fetch(request);
|
|
13603
|
-
if (response.status === 401) {
|
|
13604
|
-
throw new Error(
|
|
13605
|
-
"Authentication failed: Invalid or expired access token. Please sign in again."
|
|
13606
|
-
);
|
|
13607
|
-
}
|
|
13608
|
-
if (response.status === 403) {
|
|
13609
|
-
throw new Error("Access denied: Insufficient permissions to retrieve user information");
|
|
13610
|
-
}
|
|
13611
|
-
if (response.status !== 200) {
|
|
13612
|
-
throw new Error(
|
|
13613
|
-
`Failed to retrieve user information: Server responded with status ${response.status}`
|
|
13614
|
-
);
|
|
13615
|
-
}
|
|
13616
|
-
const data = await response.json();
|
|
13617
|
-
return data;
|
|
13618
|
-
} catch (error46) {
|
|
13619
|
-
lastError = error46 instanceof Error ? error46 : new Error("Failed to parse server response");
|
|
13620
|
-
if (error46 instanceof Error && (error46.message.includes("401") || error46.message.includes("403"))) {
|
|
13621
|
-
throw error46;
|
|
13622
|
-
}
|
|
13623
|
-
if (attempt < MAX_RETRY_ATTEMPTS) {
|
|
13624
|
-
await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY_MS * attempt));
|
|
13625
|
-
continue;
|
|
13626
|
-
}
|
|
13627
|
-
}
|
|
13628
|
-
}
|
|
13629
|
-
throw lastError || new Error("Failed to retrieve user information after multiple attempts");
|
|
13630
|
-
}
|
|
13631
13765
|
};
|
|
13632
13766
|
var BOOK_IDS = [
|
|
13633
13767
|
"GEN",
|
|
@@ -15010,186 +15144,16 @@ function Toolbar({ border = "top" }) {
|
|
|
15010
15144
|
}
|
|
15011
15145
|
var BibleReader = Object.assign({}, { Root: Root5, Content: Content4, Toolbar });
|
|
15012
15146
|
|
|
15013
|
-
// src/components/
|
|
15014
|
-
var
|
|
15147
|
+
// src/components/YouVersionAuthButton.tsx
|
|
15148
|
+
var import_react5 = __toESM(require("react"), 1);
|
|
15015
15149
|
var import_lucide_react4 = require("lucide-react");
|
|
15016
|
-
|
|
15017
|
-
// src/providers/YVPProvider.tsx
|
|
15018
|
-
var import_react6 = require("react");
|
|
15019
|
-
|
|
15020
|
-
// src/providers/YVPErrorBoundary.tsx
|
|
15021
|
-
var import_react5 = require("react");
|
|
15022
|
-
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
15023
|
-
var YVPErrorBoundary = class extends import_react5.Component {
|
|
15024
|
-
constructor(props) {
|
|
15025
|
-
super(props);
|
|
15026
|
-
this.state = { hasError: false, error: null };
|
|
15027
|
-
}
|
|
15028
|
-
static getDerivedStateFromError(error46) {
|
|
15029
|
-
return { hasError: true, error: error46 };
|
|
15030
|
-
}
|
|
15031
|
-
componentDidCatch(error46, errorInfo) {
|
|
15032
|
-
const { onError } = this.props;
|
|
15033
|
-
if (onError) {
|
|
15034
|
-
onError(error46, errorInfo);
|
|
15035
|
-
}
|
|
15036
|
-
if (process.env.NODE_ENV === "development") {
|
|
15037
|
-
console.error("YVP Error Boundary caught error:", error46, errorInfo);
|
|
15038
|
-
}
|
|
15039
|
-
}
|
|
15040
|
-
render() {
|
|
15041
|
-
const { hasError, error: error46 } = this.state;
|
|
15042
|
-
const { children, fallback } = this.props;
|
|
15043
|
-
const isDevelopment = process.env.NODE_ENV === "development";
|
|
15044
|
-
if (hasError) {
|
|
15045
|
-
if (fallback) {
|
|
15046
|
-
return fallback;
|
|
15047
|
-
}
|
|
15048
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style: { padding: "20px", textAlign: "center" }, children: [
|
|
15049
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("h2", { children: "Something went wrong" }),
|
|
15050
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { children: "We encountered an error while loading YouVersion Platform components." }),
|
|
15051
|
-
isDevelopment && error46 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("details", { style: { marginTop: "10px" }, children: [
|
|
15052
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("summary", { children: "Error details (development only)" }),
|
|
15053
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("pre", { style: { textAlign: "left", overflow: "auto" }, children: error46.toString() })
|
|
15054
|
-
] })
|
|
15055
|
-
] });
|
|
15056
|
-
}
|
|
15057
|
-
return children;
|
|
15058
|
-
}
|
|
15059
|
-
};
|
|
15060
|
-
|
|
15061
|
-
// src/providers/YVPProvider.tsx
|
|
15062
|
-
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
15063
|
-
var YVPContext = (0, import_react6.createContext)(null);
|
|
15064
|
-
function YVPProvider({
|
|
15065
|
-
config: config2,
|
|
15066
|
-
children,
|
|
15067
|
-
errorFallback,
|
|
15068
|
-
onError,
|
|
15069
|
-
theme = "light"
|
|
15070
|
-
}) {
|
|
15071
|
-
const [authState, setAuthState] = (0, import_react6.useState)({
|
|
15072
|
-
isAuthenticated: false,
|
|
15073
|
-
isLoading: false,
|
|
15074
|
-
accessToken: null,
|
|
15075
|
-
result: null,
|
|
15076
|
-
error: null
|
|
15077
|
-
});
|
|
15078
|
-
(0, import_react6.useEffect)(() => {
|
|
15079
|
-
const initializeAuth = () => {
|
|
15080
|
-
YouVersionPlatformConfiguration.appKey = config2.appKey;
|
|
15081
|
-
YouVersionPlatformConfiguration.installationId = config2.installationId ?? null;
|
|
15082
|
-
const strategy = new WebAuthenticationStrategy({
|
|
15083
|
-
redirectUri: config2.redirectUri || ""
|
|
15084
|
-
});
|
|
15085
|
-
AuthenticationStrategyRegistry.register(strategy);
|
|
15086
|
-
const existingToken = YouVersionPlatformConfiguration.accessToken;
|
|
15087
|
-
if (existingToken) {
|
|
15088
|
-
setAuthState({
|
|
15089
|
-
isAuthenticated: true,
|
|
15090
|
-
isLoading: false,
|
|
15091
|
-
accessToken: existingToken,
|
|
15092
|
-
result: null,
|
|
15093
|
-
error: null
|
|
15094
|
-
});
|
|
15095
|
-
return;
|
|
15096
|
-
}
|
|
15097
|
-
WebAuthenticationStrategy.handleCallback();
|
|
15098
|
-
const storedCallback = WebAuthenticationStrategy.getStoredCallback();
|
|
15099
|
-
if (storedCallback) {
|
|
15100
|
-
try {
|
|
15101
|
-
const result = new SignInWithYouVersionResult(storedCallback);
|
|
15102
|
-
const { accessToken, errorMsg } = result;
|
|
15103
|
-
if (accessToken) {
|
|
15104
|
-
YouVersionPlatformConfiguration.setAccessToken(accessToken);
|
|
15105
|
-
}
|
|
15106
|
-
setAuthState({
|
|
15107
|
-
isAuthenticated: !!accessToken,
|
|
15108
|
-
isLoading: false,
|
|
15109
|
-
accessToken: accessToken ?? null,
|
|
15110
|
-
result,
|
|
15111
|
-
error: errorMsg ? new Error(errorMsg) : null
|
|
15112
|
-
});
|
|
15113
|
-
} catch (error46) {
|
|
15114
|
-
setAuthState({
|
|
15115
|
-
isAuthenticated: false,
|
|
15116
|
-
isLoading: false,
|
|
15117
|
-
accessToken: null,
|
|
15118
|
-
result: null,
|
|
15119
|
-
error: error46
|
|
15120
|
-
});
|
|
15121
|
-
}
|
|
15122
|
-
} else {
|
|
15123
|
-
setAuthState({
|
|
15124
|
-
isAuthenticated: false,
|
|
15125
|
-
isLoading: false,
|
|
15126
|
-
accessToken: null,
|
|
15127
|
-
result: null,
|
|
15128
|
-
error: null
|
|
15129
|
-
});
|
|
15130
|
-
}
|
|
15131
|
-
};
|
|
15132
|
-
initializeAuth();
|
|
15133
|
-
}, [config2.appKey, config2.installationId, config2.redirectUri]);
|
|
15134
|
-
const signOut = (0, import_react6.useCallback)(() => {
|
|
15135
|
-
YouVersionPlatformConfiguration.setAccessToken(null);
|
|
15136
|
-
setAuthState({
|
|
15137
|
-
isAuthenticated: false,
|
|
15138
|
-
isLoading: false,
|
|
15139
|
-
accessToken: null,
|
|
15140
|
-
result: null,
|
|
15141
|
-
error: null
|
|
15142
|
-
});
|
|
15143
|
-
}, []);
|
|
15144
|
-
const fetchUserInfo = (0, import_react6.useCallback)(async () => {
|
|
15145
|
-
if (!authState.isAuthenticated || !authState.accessToken) {
|
|
15146
|
-
throw new Error("User is not authenticated");
|
|
15147
|
-
}
|
|
15148
|
-
return YouVersionAPIUsers.userInfo(authState.accessToken);
|
|
15149
|
-
}, [authState.isAuthenticated, authState.accessToken]);
|
|
15150
|
-
const value = {
|
|
15151
|
-
config: config2,
|
|
15152
|
-
client: ApiClient,
|
|
15153
|
-
auth: authState,
|
|
15154
|
-
signOut,
|
|
15155
|
-
fetchUserInfo
|
|
15156
|
-
};
|
|
15157
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(YVPErrorBoundary, { fallback: errorFallback, onError, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(YVPContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "yv:contents", "data-yv-sdk": true, "data-yv-theme": theme, children }) }) });
|
|
15158
|
-
}
|
|
15159
|
-
function useYVP() {
|
|
15160
|
-
const context = (0, import_react6.useContext)(YVPContext);
|
|
15161
|
-
if (!context) {
|
|
15162
|
-
throw new Error("useYVP must be used within a YVPProvider");
|
|
15163
|
-
}
|
|
15164
|
-
return context;
|
|
15165
|
-
}
|
|
15166
|
-
|
|
15167
|
-
// src/hooks/useAuthentication.ts
|
|
15168
|
-
var import_react7 = require("react");
|
|
15169
|
-
function useAuthentication() {
|
|
15170
|
-
const { auth, signOut, fetchUserInfo, client: _client } = useYVP();
|
|
15171
|
-
const signIn = (0, import_react7.useCallback)(
|
|
15172
|
-
async (requiredPermissions = [], optionalPermissions = []) => {
|
|
15173
|
-
return await YouVersionAPIUsers.signIn(
|
|
15174
|
-
new Set(requiredPermissions),
|
|
15175
|
-
new Set(optionalPermissions)
|
|
15176
|
-
);
|
|
15177
|
-
},
|
|
15178
|
-
[]
|
|
15179
|
-
);
|
|
15180
|
-
return {
|
|
15181
|
-
auth,
|
|
15182
|
-
signIn,
|
|
15183
|
-
signOut,
|
|
15184
|
-
fetchUserInfo
|
|
15185
|
-
};
|
|
15186
|
-
}
|
|
15150
|
+
var import_platform_react_hooks5 = require("@youversion/platform-react-hooks");
|
|
15187
15151
|
|
|
15188
15152
|
// src/components/youversion-logo.tsx
|
|
15189
|
-
var
|
|
15190
|
-
var
|
|
15153
|
+
var React8 = require("react");
|
|
15154
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
15191
15155
|
function YouVersionLogo(props) {
|
|
15192
|
-
return /* @__PURE__ */ (0,
|
|
15156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15193
15157
|
"svg",
|
|
15194
15158
|
{
|
|
15195
15159
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15199,7 +15163,7 @@ function YouVersionLogo(props) {
|
|
|
15199
15163
|
"aria-label": "YouVersion",
|
|
15200
15164
|
...props,
|
|
15201
15165
|
children: [
|
|
15202
|
-
/* @__PURE__ */ (0,
|
|
15166
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15203
15167
|
"mask",
|
|
15204
15168
|
{
|
|
15205
15169
|
id: "youversion-logo-mask",
|
|
@@ -15211,7 +15175,7 @@ function YouVersionLogo(props) {
|
|
|
15211
15175
|
style: {
|
|
15212
15176
|
maskType: "alpha"
|
|
15213
15177
|
},
|
|
15214
|
-
children: /* @__PURE__ */ (0,
|
|
15178
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15215
15179
|
"path",
|
|
15216
15180
|
{
|
|
15217
15181
|
fill: "url(#youversion-logo-gradient-a)",
|
|
@@ -15222,9 +15186,9 @@ function YouVersionLogo(props) {
|
|
|
15222
15186
|
)
|
|
15223
15187
|
}
|
|
15224
15188
|
),
|
|
15225
|
-
/* @__PURE__ */ (0,
|
|
15226
|
-
/* @__PURE__ */ (0,
|
|
15227
|
-
/* @__PURE__ */ (0,
|
|
15189
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("g", { mask: "url(#youversion-logo-mask)", children: [
|
|
15190
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("path", { fill: "url(#youversion-logo-gradient-c)", d: "M0 0h26v26H0z" }),
|
|
15191
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15228
15192
|
"path",
|
|
15229
15193
|
{
|
|
15230
15194
|
fill: "#FEF5EB",
|
|
@@ -15233,8 +15197,8 @@ function YouVersionLogo(props) {
|
|
|
15233
15197
|
clipRule: "evenodd"
|
|
15234
15198
|
}
|
|
15235
15199
|
),
|
|
15236
|
-
/* @__PURE__ */ (0,
|
|
15237
|
-
/* @__PURE__ */ (0,
|
|
15200
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("path", { fill: "#FF3D4D", d: "M4.774 20.468h4.073v3.055l-2.036-1.019-2.037 1.019v-3.055Z" }),
|
|
15201
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15238
15202
|
"path",
|
|
15239
15203
|
{
|
|
15240
15204
|
fill: "#FEF5EB",
|
|
@@ -15242,8 +15206,8 @@ function YouVersionLogo(props) {
|
|
|
15242
15206
|
}
|
|
15243
15207
|
)
|
|
15244
15208
|
] }),
|
|
15245
|
-
/* @__PURE__ */ (0,
|
|
15246
|
-
/* @__PURE__ */ (0,
|
|
15209
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("defs", { children: [
|
|
15210
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15247
15211
|
"linearGradient",
|
|
15248
15212
|
{
|
|
15249
15213
|
id: "youversion-logo-gradient-a",
|
|
@@ -15253,12 +15217,12 @@ function YouVersionLogo(props) {
|
|
|
15253
15217
|
y2: 26,
|
|
15254
15218
|
gradientUnits: "userSpaceOnUse",
|
|
15255
15219
|
children: [
|
|
15256
|
-
/* @__PURE__ */ (0,
|
|
15257
|
-
/* @__PURE__ */ (0,
|
|
15220
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("stop", { stopColor: "#C93D34" }),
|
|
15221
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("stop", { offset: 1, stopColor: "#7A2629" })
|
|
15258
15222
|
]
|
|
15259
15223
|
}
|
|
15260
15224
|
),
|
|
15261
|
-
/* @__PURE__ */ (0,
|
|
15225
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15262
15226
|
"linearGradient",
|
|
15263
15227
|
{
|
|
15264
15228
|
id: "youversion-logo-gradient-c",
|
|
@@ -15268,8 +15232,8 @@ function YouVersionLogo(props) {
|
|
|
15268
15232
|
y2: 26,
|
|
15269
15233
|
gradientUnits: "userSpaceOnUse",
|
|
15270
15234
|
children: [
|
|
15271
|
-
/* @__PURE__ */ (0,
|
|
15272
|
-
/* @__PURE__ */ (0,
|
|
15235
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("stop", { stopColor: "#C93D34" }),
|
|
15236
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("stop", { offset: 1, stopColor: "#7A2629" })
|
|
15273
15237
|
]
|
|
15274
15238
|
}
|
|
15275
15239
|
)
|
|
@@ -15279,52 +15243,67 @@ function YouVersionLogo(props) {
|
|
|
15279
15243
|
);
|
|
15280
15244
|
}
|
|
15281
15245
|
|
|
15282
|
-
// src/components/
|
|
15283
|
-
var
|
|
15284
|
-
var
|
|
15246
|
+
// src/components/YouVersionAuthButton.tsx
|
|
15247
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
15248
|
+
var YouVersionAuthButton = import_react5.default.forwardRef(
|
|
15285
15249
|
({
|
|
15286
15250
|
background = "light",
|
|
15287
15251
|
className,
|
|
15288
15252
|
disabled,
|
|
15289
15253
|
onAuthError,
|
|
15290
15254
|
onClick,
|
|
15291
|
-
|
|
15292
|
-
|
|
15255
|
+
mode,
|
|
15256
|
+
permissions = [],
|
|
15293
15257
|
radius = "rounded",
|
|
15294
|
-
|
|
15258
|
+
redirectUrl,
|
|
15295
15259
|
size = "default",
|
|
15296
15260
|
variant = "default",
|
|
15297
15261
|
...props
|
|
15298
15262
|
}, ref) => {
|
|
15299
|
-
const { signIn, auth } =
|
|
15300
|
-
const [localLoading, setLocalLoading] = import_react8.default.useState(false);
|
|
15263
|
+
const { signIn, signOut, auth } = (0, import_platform_react_hooks5.useYVAuth)();
|
|
15301
15264
|
const handleClick = async (e) => {
|
|
15302
15265
|
e.preventDefault();
|
|
15303
15266
|
if (onClick) {
|
|
15304
15267
|
onClick(e);
|
|
15305
15268
|
}
|
|
15306
|
-
setLocalLoading(true);
|
|
15307
15269
|
try {
|
|
15308
|
-
|
|
15309
|
-
|
|
15310
|
-
|
|
15270
|
+
if (mode === "signOut" || auth.isAuthenticated) {
|
|
15271
|
+
signOut();
|
|
15272
|
+
} else {
|
|
15273
|
+
await signIn({
|
|
15274
|
+
redirectUrl,
|
|
15275
|
+
permissions
|
|
15276
|
+
});
|
|
15311
15277
|
}
|
|
15312
15278
|
} catch (error46) {
|
|
15313
15279
|
if (onAuthError) {
|
|
15314
15280
|
onAuthError(error46);
|
|
15315
15281
|
}
|
|
15316
|
-
} finally {
|
|
15317
|
-
setLocalLoading(false);
|
|
15318
15282
|
}
|
|
15319
15283
|
};
|
|
15320
|
-
const buttonLoading =
|
|
15321
|
-
|
|
15322
|
-
|
|
15323
|
-
|
|
15324
|
-
|
|
15325
|
-
|
|
15284
|
+
const buttonLoading = auth.isLoading;
|
|
15285
|
+
const buttonText = (0, import_react5.useMemo)(() => {
|
|
15286
|
+
if (size === "short") {
|
|
15287
|
+
if (mode === "signOut") {
|
|
15288
|
+
return "Sign Out";
|
|
15289
|
+
} else if (mode === "signIn") {
|
|
15290
|
+
return "Sign In";
|
|
15291
|
+
} else {
|
|
15292
|
+
return auth.isAuthenticated ? "Sign Out" : "Sign In";
|
|
15293
|
+
}
|
|
15294
|
+
} else {
|
|
15295
|
+
if (mode === "signOut") {
|
|
15296
|
+
return "Sign Out of YouVersion";
|
|
15297
|
+
} else if (mode === "signIn") {
|
|
15298
|
+
return "Sign In with YouVersion";
|
|
15299
|
+
} else {
|
|
15300
|
+
return auth.isAuthenticated ? "Sign Out of YouVersion" : "Sign In with YouVersion";
|
|
15301
|
+
}
|
|
15302
|
+
}
|
|
15303
|
+
}, [mode, auth.isAuthenticated, size]);
|
|
15304
|
+
const loadingSpinner = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react4.Loader2, { className: "yv:z-20 yv:absolute yv:left-1/2 yv:top-1/2 yv:animate-spin yv:-translate-x-1/2 yv:-translate-y-1/2 yv:fill-primary-foreground yv:text-primary" });
|
|
15326
15305
|
if (size === "icon") {
|
|
15327
|
-
return /* @__PURE__ */ (0,
|
|
15306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
15328
15307
|
Button,
|
|
15329
15308
|
{
|
|
15330
15309
|
...props,
|
|
@@ -15333,6 +15312,7 @@ var SignInButton = import_react8.default.forwardRef(
|
|
|
15333
15312
|
variant === "outline" ? "yv:border" : "yv:border-none",
|
|
15334
15313
|
className
|
|
15335
15314
|
),
|
|
15315
|
+
"data-yv-sdk": true,
|
|
15336
15316
|
disabled: buttonLoading ? true : disabled ?? false,
|
|
15337
15317
|
ref,
|
|
15338
15318
|
onClick: (e) => void handleClick(e),
|
|
@@ -15347,13 +15327,13 @@ var SignInButton = import_react8.default.forwardRef(
|
|
|
15347
15327
|
variant: background === "light" ? "outline" : "default",
|
|
15348
15328
|
children: [
|
|
15349
15329
|
buttonLoading ? loadingSpinner : null,
|
|
15350
|
-
/* @__PURE__ */ (0,
|
|
15351
|
-
/* @__PURE__ */ (0,
|
|
15330
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(YouVersionLogo, {}),
|
|
15331
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "yv:sr-only", children: buttonText })
|
|
15352
15332
|
]
|
|
15353
15333
|
}
|
|
15354
15334
|
);
|
|
15355
15335
|
}
|
|
15356
|
-
return /* @__PURE__ */ (0,
|
|
15336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
15357
15337
|
Button,
|
|
15358
15338
|
{
|
|
15359
15339
|
...props,
|
|
@@ -15362,6 +15342,7 @@ var SignInButton = import_react8.default.forwardRef(
|
|
|
15362
15342
|
variant === "outline" ? "yv:border" : "yv:border-none",
|
|
15363
15343
|
className
|
|
15364
15344
|
),
|
|
15345
|
+
"data-yv-sdk": true,
|
|
15365
15346
|
disabled: buttonLoading ? true : disabled ?? false,
|
|
15366
15347
|
ref,
|
|
15367
15348
|
onClick: (e) => void handleClick(e),
|
|
@@ -15376,22 +15357,22 @@ var SignInButton = import_react8.default.forwardRef(
|
|
|
15376
15357
|
variant: background === "light" ? "outline" : "default",
|
|
15377
15358
|
children: [
|
|
15378
15359
|
buttonLoading ? loadingSpinner : null,
|
|
15379
|
-
/* @__PURE__ */ (0,
|
|
15380
|
-
|
|
15360
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(YouVersionLogo, {}),
|
|
15361
|
+
buttonText
|
|
15381
15362
|
]
|
|
15382
15363
|
}
|
|
15383
15364
|
);
|
|
15384
15365
|
}
|
|
15385
15366
|
);
|
|
15386
|
-
|
|
15367
|
+
YouVersionAuthButton.displayName = "YouVersionAuthButton";
|
|
15387
15368
|
|
|
15388
15369
|
// src/components/verse-of-the-day.tsx
|
|
15389
|
-
var
|
|
15370
|
+
var import_react7 = __toESM(require("react"), 1);
|
|
15390
15371
|
|
|
15391
15372
|
// src/components/icons/votd.tsx
|
|
15392
|
-
var
|
|
15393
|
-
var
|
|
15394
|
-
var SvgComponent = (props) => /* @__PURE__ */ (0,
|
|
15373
|
+
var import_react6 = require("react");
|
|
15374
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
15375
|
+
var SvgComponent = (props) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
15395
15376
|
"svg",
|
|
15396
15377
|
{
|
|
15397
15378
|
width: "44",
|
|
@@ -15401,8 +15382,8 @@ var SvgComponent = (props) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
|
15401
15382
|
fill: "none",
|
|
15402
15383
|
xmlns: "http://www.w3.org/2000/svg",
|
|
15403
15384
|
children: [
|
|
15404
|
-
/* @__PURE__ */ (0,
|
|
15405
|
-
/* @__PURE__ */ (0,
|
|
15385
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("title", { children: "Sun" }),
|
|
15386
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
15406
15387
|
"path",
|
|
15407
15388
|
{
|
|
15408
15389
|
fillRule: "evenodd",
|
|
@@ -15416,8 +15397,8 @@ var SvgComponent = (props) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
|
15416
15397
|
);
|
|
15417
15398
|
|
|
15418
15399
|
// src/components/icons/share.tsx
|
|
15419
|
-
var
|
|
15420
|
-
var SvgComponent2 = (props) => /* @__PURE__ */ (0,
|
|
15400
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
15401
|
+
var SvgComponent2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
15421
15402
|
"svg",
|
|
15422
15403
|
{
|
|
15423
15404
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15427,14 +15408,14 @@ var SvgComponent2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
|
15427
15408
|
fill: "none",
|
|
15428
15409
|
...props,
|
|
15429
15410
|
children: [
|
|
15430
|
-
/* @__PURE__ */ (0,
|
|
15411
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
15431
15412
|
"path",
|
|
15432
15413
|
{
|
|
15433
15414
|
fill: "currentColor",
|
|
15434
15415
|
d: "M16.121 9.187a1 1 0 0 1-1.414 0L13 7.48V15a1 1 0 1 1-2 0V7.348L9.121 9.227a1 1 0 1 1-1.414-1.414l3.52-3.52a1 1 0 0 1 1.414 0l3.48 3.48a1 1 0 0 1 0 1.414Z"
|
|
15435
15416
|
}
|
|
15436
15417
|
),
|
|
15437
|
-
/* @__PURE__ */ (0,
|
|
15418
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
15438
15419
|
"path",
|
|
15439
15420
|
{
|
|
15440
15421
|
fill: "currentColor",
|
|
@@ -15446,8 +15427,8 @@ var SvgComponent2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
|
15446
15427
|
);
|
|
15447
15428
|
|
|
15448
15429
|
// src/components/bible-app-logo-lockup.tsx
|
|
15449
|
-
var
|
|
15450
|
-
var SvgComponent3 = (props) => /* @__PURE__ */ (0,
|
|
15430
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
15431
|
+
var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
15451
15432
|
"svg",
|
|
15452
15433
|
{
|
|
15453
15434
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -15457,8 +15438,8 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15457
15438
|
fill: "none",
|
|
15458
15439
|
...props,
|
|
15459
15440
|
children: [
|
|
15460
|
-
/* @__PURE__ */ (0,
|
|
15461
|
-
/* @__PURE__ */ (0,
|
|
15441
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("title", { children: "Bible App" }),
|
|
15442
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
15462
15443
|
"mask",
|
|
15463
15444
|
{
|
|
15464
15445
|
id: "bible-app-logo-lockup-mask",
|
|
@@ -15470,7 +15451,7 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15470
15451
|
style: {
|
|
15471
15452
|
maskType: "alpha"
|
|
15472
15453
|
},
|
|
15473
|
-
children: /* @__PURE__ */ (0,
|
|
15454
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
15474
15455
|
"path",
|
|
15475
15456
|
{
|
|
15476
15457
|
fill: "url(#bible-app-logo-lockup-gradient-a)",
|
|
@@ -15481,9 +15462,9 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15481
15462
|
)
|
|
15482
15463
|
}
|
|
15483
15464
|
),
|
|
15484
|
-
/* @__PURE__ */ (0,
|
|
15485
|
-
/* @__PURE__ */ (0,
|
|
15486
|
-
/* @__PURE__ */ (0,
|
|
15465
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("g", { mask: "url(#bible-app-logo-lockup-mask)", children: [
|
|
15466
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { fill: "url(#bible-app-logo-lockup-gradient-c)", d: "M63.562 0H80v16.438H63.562z" }),
|
|
15467
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
15487
15468
|
"path",
|
|
15488
15469
|
{
|
|
15489
15470
|
fill: "#FEF5EB",
|
|
@@ -15492,18 +15473,18 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15492
15473
|
clipRule: "evenodd"
|
|
15493
15474
|
}
|
|
15494
15475
|
),
|
|
15495
|
-
/* @__PURE__ */ (0,
|
|
15496
|
-
/* @__PURE__ */ (0,
|
|
15476
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { fill: "#FF3D4D", d: "M66.58 12.94h2.575v1.932l-1.287-.644-1.288.644v-1.931Z" }),
|
|
15477
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("g", { fill: "#FEF5EB", clipPath: "url(#bible-app-logo-lockup-clip)", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { d: "M70.602 5.614c.173.105.374.156.603.156.219 0 .42-.055.593-.17.178-.113.31-.273.407-.474.1-.206.146-.439.146-.694a1.57 1.57 0 0 0-.142-.694 1.05 1.05 0 0 0-.402-.452 1.135 1.135 0 0 0-.598-.156c-.219 0-.42.055-.598.17a1.15 1.15 0 0 0-.406.474 1.626 1.626 0 0 0-.142.694c0 .265.046.498.142.694.091.197.223.347.397.452Zm-.096-1.16c0-.232.027-.438.087-.616a.906.906 0 0 1 .246-.406.512.512 0 0 1 .356-.142c.133 0 .247.046.357.137.11.091.196.224.26.402.069.174.1.379.1.616 0 .233-.032.439-.09.617a.951.951 0 0 1-.248.41.516.516 0 0 1-.356.142.537.537 0 0 1-.356-.137.95.95 0 0 1-.265-.401 1.995 1.995 0 0 1-.091-.621ZM76.675 9.14a3.91 3.91 0 0 1-.014-.68l.005-.056h-.178l-.005.046a1.256 1.256 0 0 1-.073.36.324.324 0 0 1-.141.16.704.704 0 0 1-.302.05h-.25a.696.696 0 0 1-.17-.013.073.073 0 0 1-.046-.05.654.654 0 0 1-.018-.174v-.78h.178c.082 0 .142.022.183.059.041.036.069.1.082.187.014.096.019.15.023.169l.005.041H76.122l-.004-.05a8.485 8.485 0 0 1-.023-.489v-.164c0-.119.005-.228.01-.324l.004-.05H75.936l-.005.04-.01.07c-.009.077-.022.14-.036.186a.188.188 0 0 1-.073.11c-.032.027-.082.046-.155.046h-.178v-.768c0-.086.009-.141.018-.173.01-.028.023-.041.046-.046a.637.637 0 0 1 .169-.018h.287c.119 0 .201.018.251.046a.241.241 0 0 1 .105.132c.023.064.046.174.06.32l.004.045h.178l-.009-.054a2.264 2.264 0 0 1-.009-.21c0-.12.01-.252.023-.402l.005-.055h-1.832v.164l.046.005a.719.719 0 0 1 .165.023.07.07 0 0 1 .05.05c.009.032.018.087.018.173v1.708c0 .087-.01.142-.018.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.165.023l-.046.004v.165h1.9v-.05ZM74.543 5.724l-.005-.055a3.91 3.91 0 0 1-.014-.717l.005-.055h-.178l-.005.046a1.678 1.678 0 0 1-.073.38.31.31 0 0 1-.146.173.693.693 0 0 1-.301.054h-.251a.695.695 0 0 1-.17-.013.072.072 0 0 1-.045-.05.653.653 0 0 1-.018-.174V3.587c0-.087.009-.142.018-.174a.072.072 0 0 1 .046-.05.82.82 0 0 1 .168-.023l.046-.004v-.164h-.982V3.34l.046.005a.72.72 0 0 1 .165.023.07.07 0 0 1 .05.05c.009.032.018.087.018.173v1.713c0 .087-.01.141-.018.173a.07.07 0 0 1-.05.05.72.72 0 0 1-.165.023l-.046.005v.164l1.904.005ZM68.762 8.034c-.091-.095-.233-.164-.411-.205a.685.685 0 0 0 .27-.2.61.61 0 0 0 .136-.389.522.522 0 0 0-.21-.434c-.137-.11-.329-.16-.57-.16l-.996-.009V6.806l.046.005a.72.72 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.019.087.019.173v1.717c0 .087-.01.142-.019.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.164.023l-.046.004v.169l1.073-.004c.178 0 .329-.028.461-.087a.705.705 0 0 0 .306-.256.666.666 0 0 0 .11-.374.555.555 0 0 0-.17-.439Zm-1.078-.977a.71.71 0 0 1 .018-.173c.01-.032.028-.046.046-.06a.349.349 0 0 1 .142-.018c.164 0 .269.041.333.11.064.073.1.187.1.356a.637.637 0 0 1-.105.383c-.059.083-.173.133-.356.133h-.182v-.73h.004Zm.662 1.818c-.096.091-.242.137-.452.137a.375.375 0 0 1-.146-.019c-.023-.009-.036-.027-.046-.054a.639.639 0 0 1-.018-.17v-.826h.242c.21 0 .352.046.434.128.087.082.132.205.132.379 0 .2-.05.338-.146.425ZM72.232 8.034s-.004 0 0 0c-.004 0-.004 0 0 0a.812.812 0 0 0-.41-.205.686.686 0 0 0 .269-.2.61.61 0 0 0 .137-.389.522.522 0 0 0-.21-.434c-.138-.11-.33-.16-.571-.16l-.996-.009V6.806l.046.005a.72.72 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.019.087.019.173v1.717c0 .087-.01.142-.018.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.165.023l-.046.004v.169l1.073-.004c.178 0 .33-.028.462-.087a.706.706 0 0 0 .305-.256.667.667 0 0 0 .11-.374.588.588 0 0 0-.169-.439Zm-.242-1.191c-.004 0-.004 0 0 0Zm-.835.214c0-.082.009-.137.018-.173.009-.032.027-.046.045-.06a.35.35 0 0 1 .142-.018c.164 0 .27.041.333.11.064.073.1.187.1.356a.637.637 0 0 1-.104.383c-.06.083-.174.133-.356.133h-.183v-.73h.004Zm.662 1.818c-.096.091-.242.137-.452.137a.36.36 0 0 1-.147-.019c-.022-.009-.036-.027-.045-.054a.634.634 0 0 1-.019-.17v-.826h.243c.21 0 .351.046.433.128.087.082.133.205.133.379 0 .2-.05.338-.146.425ZM69.2 6.637V6.806l.046.005a.72.72 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.019.087.019.173v1.717c0 .087-.01.142-.019.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.164.023l-.046.004v.169h.982V9.03l-.046-.005a.824.824 0 0 1-.169-.023.073.073 0 0 1-.046-.05.654.654 0 0 1-.018-.173V7.062c0-.087.01-.142.018-.174a.073.073 0 0 1 .046-.05.824.824 0 0 1 .17-.023l.045-.004v-.164l-.982-.01ZM68.328 5.724v-.165l-.046-.004a.823.823 0 0 1-.169-.023.072.072 0 0 1-.045-.05.648.648 0 0 1-.019-.174v-.785h1.028v.78c0 .087-.01.142-.019.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.164.023l-.046.005v.164h.982V5.55l-.046-.004a.821.821 0 0 1-.169-.023.072.072 0 0 1-.045-.05.653.653 0 0 1-.019-.174V3.587c0-.087.01-.142.019-.174a.072.072 0 0 1 .045-.05.821.821 0 0 1 .17-.023l.045-.004v-.169h-.982v.164l.046.005a.719.719 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.019.087.019.173v.767h-1.028v-.762c0-.087.01-.142.019-.174a.072.072 0 0 1 .045-.05.824.824 0 0 1 .17-.023l.045-.004v-.164h-.982V3.34l.046.005a.72.72 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.019.087.019.173v1.713c0 .086-.01.141-.019.173a.07.07 0 0 1-.05.05.72.72 0 0 1-.164.023l-.046.005v.169h.982ZM74.465 3.372c.027.023.06.064.1.142l.699 1.287v.503c0 .086-.01.141-.018.173a.07.07 0 0 1-.05.05.72.72 0 0 1-.165.023l-.046.005v.169l.927-.005.05.005v-.165l-.045-.004a.82.82 0 0 1-.169-.023.072.072 0 0 1-.046-.05.652.652 0 0 1-.018-.174v-.616l.539-1.069a1.07 1.07 0 0 1 .132-.205.244.244 0 0 1 .11-.078l.036-.009v-.16h-.703l-.05-.004v.164h.046c.1 0 .164.018.205.041.032.018.05.046.05.096a.673.673 0 0 1-.086.274l-.402.795-.53-1.014a.195.195 0 0 1-.027-.1c0-.014.004-.023.009-.033a.047.047 0 0 1 .027-.022c.028-.019.082-.028.16-.028h.05v-.173h-.885v.178h.05c.004 0 .023.004.05.027ZM74.538 8.701c0-.119.005-.21.01-.278l.004-.055h-.178l-.005.045a1.678 1.678 0 0 1-.073.38.32.32 0 0 1-.142.173.693.693 0 0 1-.3.055h-.252a.696.696 0 0 1-.169-.014.072.072 0 0 1-.046-.05.648.648 0 0 1-.018-.174V7.066c0-.086.01-.141.018-.173a.072.072 0 0 1 .046-.05.824.824 0 0 1 .169-.023l.046-.005v-.164h-.982V6.82l.046.004a.719.719 0 0 1 .164.023.07.07 0 0 1 .05.05c.01.032.018.087.018.174v1.703c0 .087-.009.142-.018.174a.07.07 0 0 1-.05.05.72.72 0 0 1-.164.023l-.046.004v.164h1.9l-.005-.054a5.229 5.229 0 0 1-.023-.434Z" }) })
|
|
15497
15478
|
] }),
|
|
15498
|
-
/* @__PURE__ */ (0,
|
|
15479
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
15499
15480
|
"path",
|
|
15500
15481
|
{
|
|
15501
15482
|
fill: "currentColor",
|
|
15502
15483
|
d: "M1 2.706h3.248c.684 0 1.245.066 1.683.198.438.122.785.298 1.039.526.263.219.443.482.539.789a3.1 3.1 0 0 1 .145.96c0 .394-.088.762-.263 1.104-.176.333-.496.61-.96.829.298.131.543.28.736.447.193.167.346.346.46.54.114.183.193.38.237.59a3.206 3.206 0 0 1-.118 1.71c-.114.342-.307.64-.579.895-.272.245-.627.442-1.065.591-.438.14-.978.21-1.618.21H1V2.707ZM4.431 6.56c.622 0 1.056-.114 1.302-.342.245-.228.368-.557.368-.987 0-.447-.145-.767-.434-.96-.28-.201-.772-.302-1.473-.302H2.538v2.59h1.894Zm0 4.26c.377 0 .688-.035.933-.105.255-.07.452-.17.592-.302.15-.132.255-.29.316-.474s.092-.39.092-.618c0-.473-.136-.833-.408-1.078-.263-.254-.723-.382-1.38-.382H2.537v2.96h1.894Zm6.373-8.114v1.486H9.253V2.706h1.552Zm-.026 2.552v6.838h-1.5V5.258h1.5ZM13.976 8.9c.009.439.061.798.158 1.079.105.28.236.504.394.67.167.167.355.28.566.342.21.062.43.092.657.092.246 0 .474-.043.684-.131.21-.088.395-.224.552-.408.158-.193.28-.443.369-.75.087-.306.131-.683.131-1.13 0-.43-.048-.794-.145-1.092a2.062 2.062 0 0 0-.355-.736 1.314 1.314 0 0 0-.539-.421 1.566 1.566 0 0 0-.631-.132 2.06 2.06 0 0 0-.842.158 1.493 1.493 0 0 0-.565.447 1.9 1.9 0 0 0-.329.697c-.07.263-.105.557-.105.881V8.9Zm.013-6.194v3.446c.272-.36.583-.631.934-.816.36-.192.775-.289 1.249-.289.49 0 .916.088 1.276.263.359.176.657.421.894.737a3.2 3.2 0 0 1 .526 1.144c.123.438.184.925.184 1.46 0 .56-.07 1.07-.21 1.525-.14.447-.342.828-.605 1.144a2.768 2.768 0 0 1-.947.736c-.368.167-.78.25-1.236.25-.412 0-.794-.079-1.144-.236-.351-.158-.671-.421-.96-.79v.816h-1.447v-9.39h1.486Zm8.053 0v9.39h-1.5v-9.39h1.5Zm7.8 7.365c-.123.71-.426 1.262-.908 1.657-.482.386-1.175.578-2.078.578-1.087 0-1.916-.31-2.485-.933-.561-.632-.842-1.517-.842-2.657 0-.587.079-1.109.237-1.565.166-.456.394-.837.684-1.144a2.868 2.868 0 0 1 1.052-.71c.412-.167.863-.25 1.354-.25.526 0 .982.083 1.368.25.386.158.706.386.96.684.254.29.443.64.565 1.052.123.403.184.855.184 1.354v.658h-4.905c.018.622.176 1.127.474 1.512.298.386.75.579 1.354.579.474 0 .829-.092 1.065-.276.237-.184.395-.447.474-.79h1.446Zm-1.368-2.065c0-.561-.132-1.004-.395-1.328-.263-.325-.684-.487-1.262-.487-.553 0-.973.167-1.263.5-.29.324-.456.763-.5 1.315h3.42Zm8.715-5.3h1.578l3.577 9.39h-1.696l-.881-2.393h-3.643l-.868 2.393h-1.644l3.577-9.39Zm2.144 5.668-1.394-3.866-1.381 3.866h2.775Zm3.992-3.116h1.46v.946c.28-.377.6-.661.96-.854.367-.202.788-.303 1.262-.303.482 0 .903.088 1.262.263.36.167.658.408.894.723.246.316.426.697.54 1.145.122.438.184.929.184 1.472 0 .553-.07 1.057-.21 1.513a3.46 3.46 0 0 1-.606 1.157 2.642 2.642 0 0 1-.933.736c-.368.167-.785.25-1.25.25-.368 0-.727-.07-1.078-.21-.35-.14-.68-.399-.986-.776v3.327h-1.5v-9.39Zm1.485 3.537c0 .447.049.82.145 1.118.097.29.224.522.382.697.166.175.355.298.565.368.22.07.447.105.684.105.245 0 .473-.043.684-.131.21-.088.394-.228.552-.421.158-.193.28-.443.368-.75.088-.306.132-.679.132-1.117 0-.447-.048-.82-.145-1.118a1.933 1.933 0 0 0-.368-.737 1.229 1.229 0 0 0-.526-.407 1.718 1.718 0 0 0-.631-.119c-.535 0-.978.176-1.329.526-.342.351-.513.903-.513 1.657v.33Zm6.541-3.537h1.46v.946c.28-.377.6-.661.96-.854a2.585 2.585 0 0 1 1.262-.303c.482 0 .903.088 1.263.263.36.167.657.408.894.723.245.316.425.697.54 1.145.122.438.183.929.183 1.472 0 .553-.07 1.057-.21 1.513a3.46 3.46 0 0 1-.605 1.157 2.642 2.642 0 0 1-.934.736c-.368.167-.784.25-1.25.25a2.88 2.88 0 0 1-1.078-.21c-.35-.14-.679-.399-.986-.776v3.327h-1.499v-9.39Zm1.486 3.537c0 .447.048.82.145 1.118.096.29.223.522.381.697.167.175.355.298.566.368.219.07.447.105.683.105.246 0 .474-.043.684-.131a1.41 1.41 0 0 0 .553-.421c.157-.193.28-.443.368-.75.087-.306.131-.679.131-1.117 0-.447-.048-.82-.144-1.118a1.933 1.933 0 0 0-.369-.737 1.228 1.228 0 0 0-.526-.407 1.717 1.717 0 0 0-.63-.119c-.536 0-.978.176-1.329.526-.342.351-.513.903-.513 1.657v.33Z"
|
|
15503
15484
|
}
|
|
15504
15485
|
),
|
|
15505
|
-
/* @__PURE__ */ (0,
|
|
15506
|
-
/* @__PURE__ */ (0,
|
|
15486
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("defs", { children: [
|
|
15487
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
15507
15488
|
"linearGradient",
|
|
15508
15489
|
{
|
|
15509
15490
|
id: "bible-app-logo-lockup-gradient-a",
|
|
@@ -15513,12 +15494,12 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15513
15494
|
y2: 16.438,
|
|
15514
15495
|
gradientUnits: "userSpaceOnUse",
|
|
15515
15496
|
children: [
|
|
15516
|
-
/* @__PURE__ */ (0,
|
|
15517
|
-
/* @__PURE__ */ (0,
|
|
15497
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { stopColor: "#C93D34" }),
|
|
15498
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { offset: 1, stopColor: "#7A2629" })
|
|
15518
15499
|
]
|
|
15519
15500
|
}
|
|
15520
15501
|
),
|
|
15521
|
-
/* @__PURE__ */ (0,
|
|
15502
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
15522
15503
|
"linearGradient",
|
|
15523
15504
|
{
|
|
15524
15505
|
id: "bible-app-logo-lockup-gradient-c",
|
|
@@ -15528,20 +15509,20 @@ var SvgComponent3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
|
15528
15509
|
y2: 16.438,
|
|
15529
15510
|
gradientUnits: "userSpaceOnUse",
|
|
15530
15511
|
children: [
|
|
15531
|
-
/* @__PURE__ */ (0,
|
|
15532
|
-
/* @__PURE__ */ (0,
|
|
15512
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { stopColor: "#C93D34" }),
|
|
15513
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { offset: 1, stopColor: "#7A2629" })
|
|
15533
15514
|
]
|
|
15534
15515
|
}
|
|
15535
15516
|
),
|
|
15536
|
-
/* @__PURE__ */ (0,
|
|
15517
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("clipPath", { id: "bible-app-logo-lockup-clip", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { fill: "#fff", d: "M65.52 2.472h12.521V9.68h-12.52z" }) })
|
|
15537
15518
|
] })
|
|
15538
15519
|
]
|
|
15539
15520
|
}
|
|
15540
15521
|
);
|
|
15541
15522
|
|
|
15542
15523
|
// src/components/verse-of-the-day.tsx
|
|
15543
|
-
var
|
|
15544
|
-
var
|
|
15524
|
+
var import_platform_react_hooks6 = require("@youversion/platform-react-hooks");
|
|
15525
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
15545
15526
|
async function share({ title, text, url: url2 }) {
|
|
15546
15527
|
if (navigator.share) {
|
|
15547
15528
|
try {
|
|
@@ -15567,21 +15548,21 @@ function VerseOfTheDay({
|
|
|
15567
15548
|
showBibleAppAttribution = true,
|
|
15568
15549
|
size = "default"
|
|
15569
15550
|
}) {
|
|
15570
|
-
const day =
|
|
15571
|
-
const verseRef =
|
|
15572
|
-
const { data, loading: loadingVerseOfTheDay, error: errorVerseOfTheDay } = (0,
|
|
15551
|
+
const day = import_react7.default.useMemo(() => dayOfYear || (0, import_platform_react_hooks6.getDayOfYear)(/* @__PURE__ */ new Date()), [dayOfYear]);
|
|
15552
|
+
const verseRef = import_react7.default.useRef(null);
|
|
15553
|
+
const { data, loading: loadingVerseOfTheDay, error: errorVerseOfTheDay } = (0, import_platform_react_hooks6.useVerseOfTheDay)(day);
|
|
15573
15554
|
const {
|
|
15574
15555
|
passage,
|
|
15575
15556
|
loading: loadingPassage,
|
|
15576
15557
|
error: errorPassage
|
|
15577
|
-
} = (0,
|
|
15558
|
+
} = (0, import_platform_react_hooks6.usePassage)({
|
|
15578
15559
|
versionId,
|
|
15579
15560
|
usfm: data?.passage_id || "",
|
|
15580
15561
|
options: {
|
|
15581
15562
|
enabled: !loadingVerseOfTheDay && !errorVerseOfTheDay && !!data?.passage_id
|
|
15582
15563
|
}
|
|
15583
15564
|
});
|
|
15584
|
-
const { version: version2, loading: loadingVersion } = (0,
|
|
15565
|
+
const { version: version2, loading: loadingVersion } = (0, import_platform_react_hooks6.useVersion)(versionId);
|
|
15585
15566
|
let referenceText = "";
|
|
15586
15567
|
if (loadingPassage || loadingVerseOfTheDay || loadingVersion) {
|
|
15587
15568
|
referenceText = "Loading...";
|
|
@@ -15600,34 +15581,34 @@ function VerseOfTheDay({
|
|
|
15600
15581
|
await share({ text });
|
|
15601
15582
|
}
|
|
15602
15583
|
};
|
|
15603
|
-
return /* @__PURE__ */ (0,
|
|
15584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
15604
15585
|
"section",
|
|
15605
15586
|
{
|
|
15606
15587
|
"data-size": size,
|
|
15607
15588
|
className: "yv:data-[size=lg]:p-8 yv:data-[size=default]:p-4 yv:*:shrink-0 yv:font-sans yv:flex yv:flex-col yv:gap-3 yv:max-w-screen-sm yv:p-4 yv:shadow yv:rounded-2xl",
|
|
15608
15589
|
children: [
|
|
15609
|
-
/* @__PURE__ */ (0,
|
|
15610
|
-
showSunIcon ? /* @__PURE__ */ (0,
|
|
15590
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "yv:flex yv:items-center yv:gap-2", children: [
|
|
15591
|
+
showSunIcon ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15611
15592
|
"div",
|
|
15612
15593
|
{
|
|
15613
15594
|
"data-slot": "card-icon",
|
|
15614
15595
|
className: "yv:col-start-1 yv:row-start-1 yv:self-start yv:justify-self-start",
|
|
15615
|
-
children: /* @__PURE__ */ (0,
|
|
15596
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SvgComponent, { className: "yv:shrink-0 yv:h-10 yv:w-10" })
|
|
15616
15597
|
}
|
|
15617
15598
|
) : null,
|
|
15618
|
-
/* @__PURE__ */ (0,
|
|
15599
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "yv:grow yv:grid", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15619
15600
|
"p",
|
|
15620
15601
|
{
|
|
15621
15602
|
className: "trim-both yv:line-clamp-1 yv:text-muted-foreground yv:uppercase yv:text-xs yv:font-medium yv:select-none",
|
|
15622
15603
|
children: "Verse of The Day"
|
|
15623
15604
|
}
|
|
15624
15605
|
) }),
|
|
15625
|
-
showShareButton ? /* @__PURE__ */ (0,
|
|
15606
|
+
showShareButton ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15626
15607
|
"div",
|
|
15627
15608
|
{
|
|
15628
15609
|
"data-slot": "card-action",
|
|
15629
15610
|
className: "yv:col-start-2 yv:row-span-2 yv:row-start-1 yv:self-start yv:justify-self-end",
|
|
15630
|
-
children: /* @__PURE__ */ (0,
|
|
15611
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15631
15612
|
Button,
|
|
15632
15613
|
{
|
|
15633
15614
|
"aria-label": "Share",
|
|
@@ -15635,13 +15616,13 @@ function VerseOfTheDay({
|
|
|
15635
15616
|
onClick: () => void handleShareVerse(),
|
|
15636
15617
|
size: "icon",
|
|
15637
15618
|
variant: "ghost",
|
|
15638
|
-
children: /* @__PURE__ */ (0,
|
|
15619
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SvgComponent2, { className: "yv:h-6! yv:w-6!" })
|
|
15639
15620
|
}
|
|
15640
15621
|
)
|
|
15641
15622
|
}
|
|
15642
15623
|
) : null
|
|
15643
15624
|
] }),
|
|
15644
|
-
/* @__PURE__ */ (0,
|
|
15625
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: passage ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15645
15626
|
Verse.Html,
|
|
15646
15627
|
{
|
|
15647
15628
|
ref: verseRef,
|
|
@@ -15650,12 +15631,12 @@ function VerseOfTheDay({
|
|
|
15650
15631
|
html: passage?.content || ""
|
|
15651
15632
|
}
|
|
15652
15633
|
) : null }),
|
|
15653
|
-
/* @__PURE__ */ (0,
|
|
15654
|
-
showBibleAppAttribution ? /* @__PURE__ */ (0,
|
|
15634
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "yv:text-(--yv-gray-30) yv:font-medium yv:text-sm", children: referenceText }),
|
|
15635
|
+
showBibleAppAttribution ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
15655
15636
|
"div",
|
|
15656
15637
|
{
|
|
15657
15638
|
className: "yv:grid yv:grid-cols-1 yv:mt-4 yv:justify-between yv:items-center yv:gap-2 yv:w-full",
|
|
15658
|
-
children: /* @__PURE__ */ (0,
|
|
15639
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SvgComponent3, { "data-slot": "attribution", className: "yv:justify-self-end" })
|
|
15659
15640
|
}
|
|
15660
15641
|
) : null
|
|
15661
15642
|
]
|
|
@@ -15664,33 +15645,33 @@ function VerseOfTheDay({
|
|
|
15664
15645
|
}
|
|
15665
15646
|
|
|
15666
15647
|
// src/components/bible-widget-view.tsx
|
|
15667
|
-
var
|
|
15668
|
-
var
|
|
15648
|
+
var import_platform_react_hooks7 = require("@youversion/platform-react-hooks");
|
|
15649
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
15669
15650
|
function BibleWidgetView({
|
|
15670
15651
|
reference,
|
|
15671
15652
|
versionId,
|
|
15672
15653
|
background = "light"
|
|
15673
15654
|
}) {
|
|
15674
|
-
const { version: version2 } = (0,
|
|
15675
|
-
const { passage } = (0,
|
|
15655
|
+
const { version: version2 } = (0, import_platform_react_hooks7.useVersion)(versionId);
|
|
15656
|
+
const { passage } = (0, import_platform_react_hooks7.usePassage)({
|
|
15676
15657
|
versionId,
|
|
15677
15658
|
usfm: reference,
|
|
15678
15659
|
include_headings: true,
|
|
15679
15660
|
include_notes: true
|
|
15680
15661
|
});
|
|
15681
|
-
return /* @__PURE__ */ (0,
|
|
15662
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
15682
15663
|
"section",
|
|
15683
15664
|
{
|
|
15684
15665
|
"data-yv-sdk": true,
|
|
15685
15666
|
"data-yv-theme": background === "dark" ? "dark" : "light",
|
|
15686
15667
|
className: "yv:flex yv:flex-col yv:bg-card yv:p-6 yv:max-w-md yv:rounded-2xl",
|
|
15687
15668
|
children: [
|
|
15688
|
-
passage?.human_reference ? /* @__PURE__ */ (0,
|
|
15669
|
+
passage?.human_reference ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("h2", { className: "yv:font-bold yv:tracking-widest yv:text-xs yv:uppercase", children: [
|
|
15689
15670
|
passage.human_reference,
|
|
15690
15671
|
" ",
|
|
15691
15672
|
version2?.local_abbreviation
|
|
15692
15673
|
] }) : null,
|
|
15693
|
-
/* @__PURE__ */ (0,
|
|
15674
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
15694
15675
|
BibleTextView,
|
|
15695
15676
|
{
|
|
15696
15677
|
fontSize: 16,
|
|
@@ -15699,9 +15680,9 @@ function BibleWidgetView({
|
|
|
15699
15680
|
versionId
|
|
15700
15681
|
}
|
|
15701
15682
|
),
|
|
15702
|
-
/* @__PURE__ */ (0,
|
|
15703
|
-
/* @__PURE__ */ (0,
|
|
15704
|
-
/* @__PURE__ */ (0,
|
|
15683
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "yv:grid yv:grid-cols-[1fr_auto] yv:gap-4 yv:items-center yv:mt-4", children: [
|
|
15684
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "yv:text-balance yv:text-muted-foreground yv:justify-self-start yv:font-bold yv:text-[0.5rem]", children: version2?.copyright_short }),
|
|
15685
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "yv:justify-self-end", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SvgComponent3, { fontSize: 12 }) })
|
|
15705
15686
|
] })
|
|
15706
15687
|
]
|
|
15707
15688
|
}
|
|
@@ -15709,19 +15690,16 @@ function BibleWidgetView({
|
|
|
15709
15690
|
}
|
|
15710
15691
|
|
|
15711
15692
|
// src/index.ts
|
|
15712
|
-
var
|
|
15693
|
+
var import_platform_react_hooks8 = require("@youversion/platform-react-hooks");
|
|
15713
15694
|
injectStyles();
|
|
15714
15695
|
// Annotate the CommonJS export names for ESM import in node:
|
|
15715
15696
|
0 && (module.exports = {
|
|
15716
15697
|
ApiClient,
|
|
15717
|
-
AuthClient,
|
|
15718
|
-
AuthenticationStrategyRegistry,
|
|
15719
15698
|
BOOK_CANON,
|
|
15720
15699
|
BOOK_IDS,
|
|
15721
15700
|
BibleChapterPicker,
|
|
15722
15701
|
BibleClient,
|
|
15723
15702
|
BibleReader,
|
|
15724
|
-
BibleSDKProvider,
|
|
15725
15703
|
BibleTextView,
|
|
15726
15704
|
BibleVersionPicker,
|
|
15727
15705
|
BibleWidgetView,
|
|
@@ -15729,18 +15707,15 @@ injectStyles();
|
|
|
15729
15707
|
LanguagesClient,
|
|
15730
15708
|
MemoryStorageStrategy,
|
|
15731
15709
|
SessionStorageStrategy,
|
|
15732
|
-
SignInButton,
|
|
15733
15710
|
SignInWithYouVersionPermission,
|
|
15734
15711
|
SignInWithYouVersionResult,
|
|
15735
15712
|
URLBuilder,
|
|
15736
15713
|
VerseOfTheDay,
|
|
15737
|
-
WebAuthenticationStrategy,
|
|
15738
|
-
YVPErrorBoundary,
|
|
15739
|
-
YVPProvider,
|
|
15740
15714
|
YouVersionAPI,
|
|
15741
15715
|
YouVersionAPIUsers,
|
|
15716
|
+
YouVersionAuthButton,
|
|
15742
15717
|
YouVersionPlatformConfiguration,
|
|
15718
|
+
YouVersionProvider,
|
|
15743
15719
|
YouVersionUserInfo,
|
|
15744
|
-
|
|
15745
|
-
useYVP
|
|
15720
|
+
useYVAuth
|
|
15746
15721
|
});
|