zudoku 0.0.0-feat-bundled-types.9aa135e → 0.0.0-feat-openapi-docs-redesign.dab3fc6a
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 +33 -13
- package/cli.js +1 -0
- package/client.d.ts +8 -0
- package/dist/app/ZuploBuildConfig.d.ts +10 -120
- package/dist/app/ZuploBuildConfig.js +7 -7
- package/dist/app/ZuploBuildConfig.js.map +1 -1
- package/dist/app/demo.js +22 -6
- package/dist/app/demo.js.map +1 -1
- package/dist/app/entry.client.d.ts +0 -2
- package/dist/app/entry.client.js +6 -7
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/entry.server.d.ts +0 -2
- package/dist/app/entry.server.js +17 -6
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/env.d.ts +7 -7
- package/dist/app/env.js +10 -2
- package/dist/app/env.js.map +1 -1
- package/dist/app/main.d.ts +93 -2
- package/dist/app/main.js +31 -26
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.js +11 -7
- package/dist/app/standalone.js.map +1 -1
- package/dist/cli/build/handler.js +9 -1
- package/dist/cli/build/handler.js.map +1 -1
- package/dist/cli/cli.d.ts +9 -0
- package/dist/cli/cli.js +5 -10
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/cmds/build.d.ts +1 -1
- package/dist/cli/cmds/dev.d.ts +1 -1
- package/dist/cli/cmds/preview.d.ts +1 -1
- package/dist/cli/common/analytics/lib.js +1 -1
- package/dist/cli/common/analytics/lib.js.map +1 -1
- package/dist/cli/common/logger.js +0 -1
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/cli/common/machine-id/lib.js +3 -2
- package/dist/cli/common/machine-id/lib.js.map +1 -1
- package/dist/cli/common/outdated.js +2 -1
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/output.js +2 -3
- package/dist/cli/common/output.js.map +1 -1
- package/dist/cli/common/utils/box.js +2 -2
- package/dist/cli/common/utils/box.js.map +1 -1
- package/dist/cli/common/validators/lib.js +1 -1
- package/dist/cli/common/validators/lib.js.map +1 -1
- package/dist/cli/common/version-check.d.ts +2 -0
- package/dist/cli/common/version-check.js +58 -0
- package/dist/cli/common/version-check.js.map +1 -0
- package/dist/cli/dev/handler.js +0 -4
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/codegen.js +2 -2
- package/dist/codegen.js.map +1 -1
- package/dist/config/config.d.ts +16 -30
- package/dist/config/loader.js +4 -8
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/BuildSchema.d.ts +30 -46
- package/dist/config/validators/BuildSchema.js +29 -18
- package/dist/config/validators/BuildSchema.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.d.ts +7646 -0
- package/dist/config/validators/InputNavigationSchema.js +78 -0
- package/dist/config/validators/InputNavigationSchema.js.map +1 -0
- package/dist/config/validators/InputNavigationSchema.test-d.d.ts +1 -0
- package/dist/config/validators/InputNavigationSchema.test-d.js +146 -0
- package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -0
- package/dist/config/validators/NavigationSchema.d.ts +44 -0
- package/dist/config/validators/NavigationSchema.js +98 -0
- package/dist/config/validators/NavigationSchema.js.map +1 -0
- package/dist/config/validators/ProtectedRoutesSchema.d.ts +13 -0
- package/dist/config/validators/ProtectedRoutesSchema.js +10 -0
- package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -0
- package/dist/config/validators/auth.d.ts +2 -2
- package/dist/config/validators/auth.js +1 -1
- package/dist/config/validators/auth.js.map +1 -1
- package/dist/config/validators/icon-types.d.ts +2 -1
- package/dist/config/validators/icon-types.js +1872 -1
- package/dist/config/validators/icon-types.js.map +1 -1
- package/dist/config/validators/validate.d.ts +672 -5561
- package/dist/config/validators/validate.js +182 -85
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/config/validators/validate.test.d.ts +1 -0
- package/dist/config/validators/validate.test.js +140 -0
- package/dist/config/validators/validate.test.js.map +1 -0
- package/dist/flat-config.d.ts +378 -0
- package/dist/index.d.ts +12 -6264
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/MissingIcon.d.ts +1 -1
- package/dist/lib/MissingIcon.js.map +1 -1
- package/dist/lib/assets/language-icons/c.d.ts +3 -0
- package/dist/lib/assets/language-icons/c.js +4 -0
- package/dist/lib/assets/language-icons/c.js.map +1 -0
- package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
- package/dist/lib/assets/language-icons/commonlisp.js +4 -0
- package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
- package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
- package/dist/lib/assets/language-icons/cpp.js +4 -0
- package/dist/lib/assets/language-icons/cpp.js.map +1 -0
- package/dist/lib/assets/language-icons/csharp.d.ts +3 -0
- package/dist/lib/assets/language-icons/csharp.js +4 -0
- package/dist/lib/assets/language-icons/csharp.js.map +1 -0
- package/dist/lib/assets/language-icons/css.d.ts +3 -0
- package/dist/lib/assets/language-icons/css.js +4 -0
- package/dist/lib/assets/language-icons/css.js.map +1 -0
- package/dist/lib/assets/language-icons/dart.d.ts +3 -0
- package/dist/lib/assets/language-icons/dart.js +4 -0
- package/dist/lib/assets/language-icons/dart.js.map +1 -0
- package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
- package/dist/lib/assets/language-icons/elixir.js +4 -0
- package/dist/lib/assets/language-icons/elixir.js.map +1 -0
- package/dist/lib/assets/language-icons/go.d.ts +3 -0
- package/dist/lib/assets/language-icons/go.js +4 -0
- package/dist/lib/assets/language-icons/go.js.map +1 -0
- package/dist/lib/assets/language-icons/graphql.d.ts +3 -0
- package/dist/lib/assets/language-icons/graphql.js +4 -0
- package/dist/lib/assets/language-icons/graphql.js.map +1 -0
- package/dist/lib/assets/language-icons/html.d.ts +3 -0
- package/dist/lib/assets/language-icons/html.js +4 -0
- package/dist/lib/assets/language-icons/html.js.map +1 -0
- package/dist/lib/assets/language-icons/java.d.ts +3 -0
- package/dist/lib/assets/language-icons/java.js +4 -0
- package/dist/lib/assets/language-icons/java.js.map +1 -0
- package/dist/lib/assets/language-icons/javascript.d.ts +3 -0
- package/dist/lib/assets/language-icons/javascript.js +4 -0
- package/dist/lib/assets/language-icons/javascript.js.map +1 -0
- package/dist/lib/assets/language-icons/json.d.ts +3 -0
- package/dist/lib/assets/language-icons/json.js +4 -0
- package/dist/lib/assets/language-icons/json.js.map +1 -0
- package/dist/lib/assets/language-icons/kotlin.d.ts +3 -0
- package/dist/lib/assets/language-icons/kotlin.js +4 -0
- package/dist/lib/assets/language-icons/kotlin.js.map +1 -0
- package/dist/lib/assets/language-icons/markdown.d.ts +3 -0
- package/dist/lib/assets/language-icons/markdown.js +4 -0
- package/dist/lib/assets/language-icons/markdown.js.map +1 -0
- package/dist/lib/assets/language-icons/mdx.d.ts +3 -0
- package/dist/lib/assets/language-icons/mdx.js +4 -0
- package/dist/lib/assets/language-icons/mdx.js.map +1 -0
- package/dist/lib/assets/language-icons/objectivec.d.ts +3 -0
- package/dist/lib/assets/language-icons/objectivec.js +4 -0
- package/dist/lib/assets/language-icons/objectivec.js.map +1 -0
- package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
- package/dist/lib/assets/language-icons/ocaml.js +4 -0
- package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
- package/dist/lib/assets/language-icons/php.d.ts +3 -0
- package/dist/lib/assets/language-icons/php.js +4 -0
- package/dist/lib/assets/language-icons/php.js.map +1 -0
- package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
- package/dist/lib/assets/language-icons/powershell.js +4 -0
- package/dist/lib/assets/language-icons/powershell.js.map +1 -0
- package/dist/lib/assets/language-icons/python.d.ts +3 -0
- package/dist/lib/assets/language-icons/python.js +4 -0
- package/dist/lib/assets/language-icons/python.js.map +1 -0
- package/dist/lib/assets/language-icons/react.d.ts +3 -0
- package/dist/lib/assets/language-icons/react.js +4 -0
- package/dist/lib/assets/language-icons/react.js.map +1 -0
- package/dist/lib/assets/language-icons/ruby.d.ts +3 -0
- package/dist/lib/assets/language-icons/ruby.js +4 -0
- package/dist/lib/assets/language-icons/ruby.js.map +1 -0
- package/dist/lib/assets/language-icons/rust.d.ts +3 -0
- package/dist/lib/assets/language-icons/rust.js +4 -0
- package/dist/lib/assets/language-icons/rust.js.map +1 -0
- package/dist/lib/assets/language-icons/scala.d.ts +3 -0
- package/dist/lib/assets/language-icons/scala.js +4 -0
- package/dist/lib/assets/language-icons/scala.js.map +1 -0
- package/dist/lib/assets/language-icons/shell.d.ts +3 -0
- package/dist/lib/assets/language-icons/shell.js +4 -0
- package/dist/lib/assets/language-icons/shell.js.map +1 -0
- package/dist/lib/assets/language-icons/swift.d.ts +3 -0
- package/dist/lib/assets/language-icons/swift.js +4 -0
- package/dist/lib/assets/language-icons/swift.js.map +1 -0
- package/dist/lib/assets/language-icons/toml.d.ts +3 -0
- package/dist/lib/assets/language-icons/toml.js +4 -0
- package/dist/lib/assets/language-icons/toml.js.map +1 -0
- package/dist/lib/assets/language-icons/typescript.d.ts +3 -0
- package/dist/lib/assets/language-icons/typescript.js +4 -0
- package/dist/lib/assets/language-icons/typescript.js.map +1 -0
- package/dist/lib/assets/language-icons/xml.d.ts +3 -0
- package/dist/lib/assets/language-icons/xml.js +4 -0
- package/dist/lib/assets/language-icons/xml.js.map +1 -0
- package/dist/lib/assets/language-icons/yaml.d.ts +3 -0
- package/dist/lib/assets/language-icons/yaml.js +4 -0
- package/dist/lib/assets/language-icons/yaml.js.map +1 -0
- package/dist/lib/assets/language-icons/zig.d.ts +3 -0
- package/dist/lib/assets/language-icons/zig.js +4 -0
- package/dist/lib/assets/language-icons/zig.js.map +1 -0
- package/dist/lib/auth/issuer.d.ts +2 -0
- package/dist/lib/auth/issuer.js +40 -0
- package/dist/lib/auth/issuer.js.map +1 -0
- package/dist/lib/auth/issuer.test.d.ts +1 -0
- package/dist/lib/auth/issuer.test.js +95 -0
- package/dist/lib/auth/issuer.test.js.map +1 -0
- package/dist/lib/authentication/AuthenticationPlugin.d.ts +1 -1
- package/dist/lib/authentication/authentication.d.ts +19 -11
- package/dist/lib/authentication/components/CallbackHandler.js +12 -10
- package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
- package/dist/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
- package/dist/lib/authentication/components/OAuthErrorPage.js +99 -0
- package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -0
- package/dist/lib/authentication/components/SignIn.js +10 -8
- package/dist/lib/authentication/components/SignIn.js.map +1 -1
- package/dist/lib/authentication/components/SignOut.js +6 -6
- package/dist/lib/authentication/components/SignOut.js.map +1 -1
- package/dist/lib/authentication/components/SignUp.js +5 -5
- package/dist/lib/authentication/components/SignUp.js.map +1 -1
- package/dist/lib/authentication/errors.d.ts +6 -12
- package/dist/lib/authentication/errors.js +2 -1
- package/dist/lib/authentication/errors.js.map +1 -1
- package/dist/lib/authentication/hook.d.ts +10 -2
- package/dist/lib/authentication/hook.js +12 -8
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.d.ts +2 -2
- package/dist/lib/authentication/providers/auth0.js +10 -6
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/azureb2c.d.ts +28 -0
- package/dist/lib/authentication/providers/azureb2c.js +147 -0
- package/dist/lib/authentication/providers/azureb2c.js.map +1 -0
- package/dist/lib/authentication/providers/clerk.d.ts +2 -2
- package/dist/lib/authentication/providers/clerk.js +9 -16
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/firebase.d.ts +4 -0
- package/dist/lib/authentication/providers/firebase.js +215 -0
- package/dist/lib/authentication/providers/firebase.js.map +1 -0
- package/dist/lib/authentication/providers/openid.d.ts +10 -7
- package/dist/lib/authentication/providers/openid.js +55 -7
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
- package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
- package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
- package/dist/lib/authentication/providers/supabase.d.ts +2 -2
- package/dist/lib/authentication/providers/supabase.js +32 -39
- package/dist/lib/authentication/providers/supabase.js.map +1 -1
- package/dist/lib/authentication/state.d.ts +11 -12
- package/dist/lib/authentication/state.js +21 -20
- package/dist/lib/authentication/state.js.map +1 -1
- package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +24 -0
- package/dist/lib/authentication/ui/ZudokuAuthUi.js +124 -0
- package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
- package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/Apple.js +4 -0
- package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
- package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
- package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
- package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/Github.js +4 -0
- package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
- package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/Google.js +4 -0
- package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
- package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
- package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
- package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
- package/dist/lib/authentication/ui/icons/X.js +4 -0
- package/dist/lib/authentication/ui/icons/X.js.map +1 -0
- package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
- package/dist/lib/authentication/use-broadcast/shared.js +3 -3
- package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
- package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
- package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
- package/dist/lib/components/Autocomplete.d.ts +3 -1
- package/dist/lib/components/Autocomplete.js +7 -3
- package/dist/lib/components/Autocomplete.js.map +1 -1
- package/dist/lib/components/Banner.js +2 -2
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/Bootstrap.d.ts +2 -2
- package/dist/lib/components/Bootstrap.js +0 -2
- package/dist/lib/components/Bootstrap.js.map +1 -1
- package/dist/lib/components/BuildCheck.d.ts +2 -1
- package/dist/lib/components/BuildCheck.js +12 -5
- package/dist/lib/components/BuildCheck.js.map +1 -1
- package/dist/lib/components/CategoryHeading.js +1 -1
- package/dist/lib/components/CategoryHeading.js.map +1 -1
- package/dist/lib/components/ErrorPage.js +2 -2
- package/dist/lib/components/ErrorPage.js.map +1 -1
- package/dist/lib/components/Footer.js +1 -1
- package/dist/lib/components/Footer.js.map +1 -1
- package/dist/lib/components/Framed.d.ts +7 -0
- package/dist/lib/components/Framed.js +26 -0
- package/dist/lib/components/Framed.js.map +1 -0
- package/dist/lib/components/Header.js +20 -21
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +8 -4
- package/dist/lib/components/Heading.js +3 -7
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/LanguageIcon.d.ts +3 -0
- package/dist/lib/components/LanguageIcon.js +163 -0
- package/dist/lib/components/LanguageIcon.js.map +1 -0
- package/dist/lib/components/Layout.js +5 -7
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/Main.js +4 -4
- package/dist/lib/components/Main.js.map +1 -1
- package/dist/lib/components/Markdown.d.ts +0 -1
- package/dist/lib/components/Markdown.js +5 -6
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/Meta.d.ts +2 -0
- package/dist/lib/components/Meta.js +11 -0
- package/dist/lib/components/Meta.js.map +1 -0
- package/dist/lib/components/MobileTopNavigation.js +13 -7
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/NotFoundPage.js +2 -2
- package/dist/lib/components/NotFoundPage.js.map +1 -1
- package/dist/lib/components/PageProgress.d.ts +1 -0
- package/dist/lib/components/PageProgress.js +20 -0
- package/dist/lib/components/PageProgress.js.map +1 -0
- package/dist/lib/components/Pagination.js +1 -1
- package/dist/lib/components/Pagination.js.map +1 -1
- package/dist/lib/components/PathRenderer.js +1 -1
- package/dist/lib/components/PathRenderer.js.map +1 -1
- package/dist/lib/components/Search.js +1 -1
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/Slot.js.map +1 -1
- package/dist/lib/components/Slot.test.js +7 -3
- package/dist/lib/components/Slot.test.js.map +1 -1
- package/dist/lib/components/StatusPage.js +4 -0
- package/dist/lib/components/StatusPage.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +7 -3
- package/dist/lib/components/TopNavigation.js +51 -45
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Typography.d.ts +5 -0
- package/dist/lib/components/Typography.js +8 -0
- package/dist/lib/components/Typography.js.map +1 -0
- package/dist/lib/components/Zudoku.js +5 -5
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/cache.d.ts +3 -1
- package/dist/lib/components/cache.js +3 -5
- package/dist/lib/components/cache.js.map +1 -1
- package/dist/lib/components/context/ComponentsContext.js.map +1 -1
- package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
- package/dist/lib/components/context/SlotProvider.js.map +1 -1
- package/dist/lib/components/context/ViewportAnchorContext.js +1 -1
- package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +3 -7
- package/dist/lib/components/context/ZudokuContext.js +66 -32
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
- package/dist/lib/components/index.d.ts +74 -726
- package/dist/lib/components/index.js +5 -16
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/components/navigation/Navigation.d.ts +5 -0
- package/dist/lib/components/navigation/Navigation.js +12 -0
- package/dist/lib/components/navigation/Navigation.js.map +1 -0
- package/dist/lib/components/navigation/{SidebarBadge.d.ts → NavigationBadge.d.ts} +1 -1
- package/dist/lib/components/navigation/{SidebarBadge.js → NavigationBadge.js} +2 -2
- package/dist/lib/components/navigation/NavigationBadge.js.map +1 -0
- package/dist/lib/components/navigation/NavigationCategory.d.ts +5 -0
- package/dist/lib/components/navigation/{SidebarCategory.js → NavigationCategory.js} +21 -14
- package/dist/lib/components/navigation/NavigationCategory.js.map +1 -0
- package/dist/lib/components/navigation/NavigationItem.d.ts +6 -0
- package/dist/lib/components/navigation/NavigationItem.js +55 -0
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -0
- package/dist/lib/components/navigation/{SidebarWrapper.d.ts → NavigationWrapper.d.ts} +1 -1
- package/dist/lib/components/navigation/{SidebarWrapper.js → NavigationWrapper.js} +5 -5
- package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -0
- package/dist/lib/components/navigation/Toc.js +1 -1
- package/dist/lib/components/navigation/Toc.js.map +1 -1
- package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
- package/dist/lib/components/navigation/utils.d.ts +11 -11
- package/dist/lib/components/navigation/utils.js +32 -29
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/RouteGuard.d.ts +1 -1
- package/dist/lib/core/RouteGuard.js +19 -27
- package/dist/lib/core/RouteGuard.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +17 -13
- package/dist/lib/core/ZudokuContext.js +47 -11
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/core/__internal.d.ts +37 -0
- package/dist/lib/core/__internal.js +26 -0
- package/dist/lib/core/__internal.js.map +1 -0
- package/dist/lib/core/plugins.d.ts +4 -3
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/core/router.d.ts +1 -0
- package/dist/lib/core/router.js +2 -0
- package/dist/lib/core/router.js.map +1 -0
- package/dist/lib/errors/ErrorAlert.js +2 -4
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/errors/RouterError.d.ts +3 -1
- package/dist/lib/errors/RouterError.js +3 -2
- package/dist/lib/errors/RouterError.js.map +1 -1
- package/dist/lib/errors/TopLevelError.d.ts +2 -2
- package/dist/lib/errors/TopLevelError.js +1 -2
- package/dist/lib/errors/TopLevelError.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +28 -637
- package/dist/lib/hooks/useEvent.test.js +5 -3
- package/dist/lib/hooks/useEvent.test.js.map +1 -1
- package/dist/lib/hooks/useHotkey.d.ts +4 -0
- package/dist/lib/hooks/useHotkey.js +58 -0
- package/dist/lib/hooks/useHotkey.js.map +1 -0
- package/dist/lib/oas/graphql/circular.js +2 -2
- package/dist/lib/oas/graphql/circular.js.map +1 -1
- package/dist/lib/oas/graphql/index.js +39 -3
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/index.js +2 -1
- package/dist/lib/oas/parser/dereference/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
- package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
- package/dist/lib/oas/parser/index.js +8 -4
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.js +2 -1
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/api-catalog/Catalog.d.ts +1 -1
- package/dist/lib/plugins/api-catalog/Catalog.js +7 -1
- package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
- package/dist/lib/plugins/api-catalog/index.d.ts +6 -6
- package/dist/lib/plugins/api-catalog/index.js +10 -10
- package/dist/lib/plugins/api-catalog/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.js +13 -3
- package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
- package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js +9 -0
- package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js.map +1 -0
- package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
- package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +17 -24
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.d.ts +11 -6
- package/dist/lib/plugins/api-keys/index.js +28 -13
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/custom-pages/index.d.ts +4 -6
- package/dist/lib/plugins/custom-pages/index.js +18 -10
- package/dist/lib/plugins/custom-pages/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.d.ts +3 -3
- package/dist/lib/plugins/markdown/MdxPage.js +56 -12
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
- package/dist/lib/plugins/markdown/index.d.ts +13 -3
- package/dist/lib/plugins/markdown/index.js +9 -26
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
- package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
- package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js +4 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js +2 -2
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
- package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
- package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
- package/dist/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
- package/dist/lib/plugins/openapi/MCPEndpoint.js +56 -0
- package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -0
- package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
- package/dist/lib/plugins/openapi/OasProvider.js +1 -0
- package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.d.ts +0 -2
- package/dist/lib/plugins/openapi/OperationList.js +33 -9
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.d.ts +4 -3
- package/dist/lib/plugins/openapi/OperationListItem.js +14 -6
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.js +11 -9
- package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -2
- package/dist/lib/plugins/openapi/ParameterList.js +8 -5
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.d.ts +2 -3
- package/dist/lib/plugins/openapi/ParameterListItem.js +18 -7
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -4
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -5
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +11 -4
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +3 -2
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +25 -4
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaList.js +2 -3
- package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.d.ts +5 -4
- package/dist/lib/plugins/openapi/Sidecar.js +57 -31
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
- package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarExamples.d.ts +11 -6
- package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
- package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
- package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/createServer.js +1 -2
- package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
- package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
- package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
- package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
- package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
- package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
- package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
- package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
- package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
- package/dist/lib/plugins/openapi/context.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +3 -3
- package/dist/lib/plugins/openapi/graphql/gql.js +3 -3
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +15 -5
- package/dist/lib/plugins/openapi/graphql/graphql.js +14 -2
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.d.ts +5 -5
- package/dist/lib/plugins/openapi/index.js +57 -29
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +21 -7
- package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +3 -3
- package/dist/lib/plugins/openapi/playground/BodyPanel.js +71 -15
- package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
- package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +11 -0
- package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +3 -3
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +2 -2
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Headers.d.ts +5 -4
- package/dist/lib/plugins/openapi/playground/Headers.js +42 -80
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/IdentityDialog.js +2 -1
- package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -2
- package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
- package/dist/lib/plugins/openapi/playground/ParamsGrid.js +9 -2
- package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js +2 -4
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +9 -2
- package/dist/lib/plugins/openapi/playground/Playground.js +117 -64
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +5 -2
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +3 -3
- package/dist/lib/plugins/openapi/playground/QueryParams.js +20 -29
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
- package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
- package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Spinner.d.ts +2 -0
- package/dist/lib/plugins/openapi/playground/Spinner.js +63 -0
- package/dist/lib/plugins/openapi/playground/Spinner.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/fileUtils.js +1 -1
- package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
- package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
- package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
- package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js +13 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +12 -0
- package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
- package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
- package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
- package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +12 -0
- package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js +11 -0
- package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +71 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +7 -4
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +40 -33
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +8 -10
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +5 -3
- package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
- package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +1 -0
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js +1 -0
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
- package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +3 -3
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +0 -3
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +22 -22
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +3 -2
- package/dist/lib/plugins/openapi/schema/SchemaView.js +28 -17
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/UnionView.d.ts +5 -0
- package/dist/lib/plugins/openapi/schema/UnionView.js +33 -0
- package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.js +71 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/utils.d.ts +0 -7
- package/dist/lib/plugins/openapi/schema/utils.js +3 -8
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
- package/dist/lib/plugins/openapi/state.d.ts +5 -3
- package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/createHttpSnippet.js +1 -1
- package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
- package/dist/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
- package/dist/lib/plugins/openapi/util/{createSidebarCategory.js → createNavigationCategory.js} +6 -4
- package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js +10 -13
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
- package/dist/lib/plugins/openapi/util/getRoutes.js +3 -3
- package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
- package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
- package/dist/lib/plugins/search-inkeep/index.d.ts +5 -22
- package/dist/lib/plugins/search-inkeep/index.js +35 -29
- package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
- package/dist/lib/plugins/search-inkeep/inkeep.d.ts +5 -21
- package/dist/lib/plugins/search-inkeep/inkeep.js +10 -19
- package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js +2 -2
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/ResultList.d.ts +2 -2
- package/dist/lib/plugins/search-pagefind/ResultList.js +15 -5
- package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
- package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
- package/dist/lib/shiki.d.ts +7 -6
- package/dist/lib/shiki.js +31 -8
- package/dist/lib/shiki.js.map +1 -1
- package/dist/lib/ui/ActionButton.js +1 -1
- package/dist/lib/ui/ActionButton.js.map +1 -1
- package/dist/lib/ui/Alert.d.ts +6 -5
- package/dist/lib/ui/Alert.js +12 -10
- package/dist/lib/ui/Alert.js.map +1 -1
- package/dist/lib/ui/Badge.d.ts +4 -4
- package/dist/lib/ui/Badge.js +9 -7
- package/dist/lib/ui/Badge.js.map +1 -1
- package/dist/lib/ui/Breadcrumb.js +1 -1
- package/dist/lib/ui/Breadcrumb.js.map +1 -1
- package/dist/lib/ui/Button.d.ts +2 -2
- package/dist/lib/ui/Button.js +1 -0
- package/dist/lib/ui/Button.js.map +1 -1
- package/dist/lib/ui/Callout.d.ts +5 -5
- package/dist/lib/ui/Callout.js +5 -5
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/Checkbox.d.ts +2 -2
- package/dist/lib/ui/Checkbox.js +4 -4
- package/dist/lib/ui/Checkbox.js.map +1 -1
- package/dist/lib/ui/CodeBlock.d.ts +2 -4
- package/dist/lib/ui/CodeBlock.js +10 -10
- package/dist/lib/ui/CodeBlock.js.map +1 -1
- package/dist/lib/ui/Collapsible.d.ts +4 -4
- package/dist/lib/ui/Collapsible.js +11 -4
- package/dist/lib/ui/Collapsible.js.map +1 -1
- package/dist/lib/ui/Command.d.ts +5 -5
- package/dist/lib/ui/Command.js +2 -6
- package/dist/lib/ui/Command.js.map +1 -1
- package/dist/lib/ui/Dialog.d.ts +12 -18
- package/dist/lib/ui/Dialog.js +31 -18
- package/dist/lib/ui/Dialog.js.map +1 -1
- package/dist/lib/ui/EmbeddedCodeBlock.d.ts +16 -0
- package/dist/lib/ui/EmbeddedCodeBlock.js +19 -0
- package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -0
- package/dist/lib/ui/Form.d.ts +2 -2
- package/dist/lib/ui/Frame.d.ts +8 -0
- package/dist/lib/ui/Frame.js +22 -0
- package/dist/lib/ui/Frame.js.map +1 -0
- package/dist/lib/ui/Item.d.ts +23 -0
- package/dist/lib/ui/Item.js +67 -0
- package/dist/lib/ui/Item.js.map +1 -0
- package/dist/lib/ui/NativeSelect.d.ts +5 -0
- package/dist/lib/ui/NativeSelect.js +14 -0
- package/dist/lib/ui/NativeSelect.js.map +1 -0
- package/dist/lib/ui/Pagination.d.ts +1 -1
- package/dist/lib/ui/Pagination.js +1 -1
- package/dist/lib/ui/Pagination.js.map +1 -1
- package/dist/lib/ui/ReactComponentDoc.d.ts +20 -0
- package/dist/lib/ui/ReactComponentDoc.js +10 -0
- package/dist/lib/ui/ReactComponentDoc.js.map +1 -0
- package/dist/lib/ui/Secret.d.ts +18 -0
- package/dist/lib/ui/Secret.js +26 -0
- package/dist/lib/ui/Secret.js.map +1 -0
- package/dist/lib/ui/Select.d.ts +13 -11
- package/dist/lib/ui/Select.js +34 -23
- package/dist/lib/ui/Select.js.map +1 -1
- package/dist/lib/ui/Separator.d.ts +4 -0
- package/dist/lib/ui/Separator.js +8 -0
- package/dist/lib/ui/Separator.js.map +1 -0
- package/dist/lib/ui/SyntaxHighlight.d.ts +4 -1
- package/dist/lib/ui/SyntaxHighlight.js +3 -2
- package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
- package/dist/lib/ui/ToggleGroup.d.ts +1 -1
- package/dist/lib/ui/Tooltip.d.ts +7 -7
- package/dist/lib/ui/Tooltip.js +16 -10
- package/dist/lib/ui/Tooltip.js.map +1 -1
- package/dist/lib/ui/Value.d.ts +5 -0
- package/dist/lib/ui/Value.js +13 -0
- package/dist/lib/ui/Value.js.map +1 -0
- package/dist/lib/util/MdxComponents.d.ts +11 -2
- package/dist/lib/util/MdxComponents.js +9 -4
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/cn.js.map +1 -1
- package/dist/lib/util/createVariantComponent.d.ts +7 -4
- package/dist/lib/util/createVariantComponent.js +5 -2
- package/dist/lib/util/createVariantComponent.js.map +1 -1
- package/dist/lib/util/flattenAllOf.d.ts +4 -0
- package/dist/lib/util/flattenAllOf.js +65 -0
- package/dist/lib/util/flattenAllOf.js.map +1 -0
- package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
- package/dist/lib/util/flattenAllOf.test.js +532 -0
- package/dist/lib/util/flattenAllOf.test.js.map +1 -0
- package/dist/lib/util/groupBy.js +1 -0
- package/dist/lib/util/groupBy.js.map +1 -1
- package/dist/lib/util/humanFileSize.js +1 -1
- package/dist/lib/util/humanFileSize.js.map +1 -1
- package/dist/lib/util/invariant.d.ts +6 -5
- package/dist/lib/util/invariant.js +4 -2
- package/dist/lib/util/invariant.js.map +1 -1
- package/dist/lib/util/os.d.ts +2 -0
- package/dist/lib/util/os.js +21 -0
- package/dist/lib/util/os.js.map +1 -0
- package/dist/lib/util/pastellize.js +4 -4
- package/dist/lib/util/pastellize.js.map +1 -1
- package/dist/lib/util/syncZustandState.d.ts +5 -0
- package/dist/lib/util/syncZustandState.js +14 -0
- package/dist/lib/util/syncZustandState.js.map +1 -0
- package/dist/lib/util/traverse.d.ts +1 -0
- package/dist/lib/util/traverse.js +25 -0
- package/dist/lib/util/traverse.js.map +1 -1
- package/dist/lib/util/useCopyToClipboard.d.ts +1 -0
- package/dist/lib/util/useCopyToClipboard.js +11 -0
- package/dist/lib/util/useCopyToClipboard.js.map +1 -0
- package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/lib/util/useScrollToAnchor.js +5 -3
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/dist/ts.d.ts +6 -0
- package/dist/ts.js +61 -0
- package/dist/ts.js.map +1 -0
- package/dist/vite/api/SchemaManager.d.ts +7 -5
- package/dist/vite/api/SchemaManager.js +62 -47
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/api/SchemaManager.test.js +6 -6
- package/dist/vite/api/SchemaManager.test.js.map +1 -1
- package/dist/vite/api/schema-codegen.js +71 -22
- package/dist/vite/api/schema-codegen.js.map +1 -1
- package/dist/vite/api/schema-codegen.test.js +156 -1
- package/dist/vite/api/schema-codegen.test.js.map +1 -1
- package/dist/vite/build.js +11 -35
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +18 -3
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/css/plugin.js +11 -0
- package/dist/vite/css/plugin.js.map +1 -1
- package/dist/vite/dev-server.js +12 -4
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/error-handler.d.ts +2 -2
- package/dist/vite/error-handler.js.map +1 -1
- package/dist/vite/llms.d.ts +12 -0
- package/dist/vite/llms.js +66 -0
- package/dist/vite/llms.js.map +1 -0
- package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
- package/dist/vite/mdx/remark-inject-filepath.js +6 -0
- package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
- package/dist/vite/mdx/remark-last-modified.d.ts +3 -0
- package/dist/vite/mdx/remark-last-modified.js +28 -0
- package/dist/vite/mdx/remark-last-modified.js.map +1 -0
- package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
- package/dist/vite/mdx/remark-link-rewrite.js +20 -0
- package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
- package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
- package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
- package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
- package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
- package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +2 -2
- package/dist/vite/mdx/remark-static-generation.js.map +1 -0
- package/dist/vite/mdx/utils.d.ts +2 -0
- package/dist/vite/mdx/utils.js +31 -0
- package/dist/vite/mdx/utils.js.map +1 -0
- package/dist/vite/output.d.ts +1 -1
- package/dist/vite/output.js +1 -1
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-api-keys.d.ts +1 -1
- package/dist/vite/plugin-api-keys.js +1 -1
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-api.js +29 -28
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.d.ts +1 -1
- package/dist/vite/plugin-auth.js +1 -1
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +1 -1
- package/dist/vite/plugin-config-reload.d.ts +1 -1
- package/dist/vite/plugin-config-reload.js +2 -0
- package/dist/vite/plugin-config-reload.js.map +1 -1
- package/dist/vite/plugin-config.d.ts +1 -1
- package/dist/vite/plugin-config.js +2 -1
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-custom-pages.d.ts +1 -1
- package/dist/vite/plugin-custom-pages.js +3 -3
- package/dist/vite/plugin-custom-pages.js.map +1 -1
- package/dist/vite/plugin-docs.d.ts +9 -0
- package/dist/vite/plugin-docs.js +92 -62
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-frontmatter.js +7 -3
- package/dist/vite/plugin-frontmatter.js.map +1 -1
- package/dist/vite/plugin-markdown-export.d.ts +21 -0
- package/dist/vite/plugin-markdown-export.js +141 -0
- package/dist/vite/plugin-markdown-export.js.map +1 -0
- package/dist/vite/plugin-mdx.d.ts +2 -2
- package/dist/vite/plugin-mdx.js +57 -85
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-metadata.d.ts +1 -1
- package/dist/vite/plugin-navigation.d.ts +4 -0
- package/dist/vite/plugin-navigation.js +67 -0
- package/dist/vite/plugin-navigation.js.map +1 -0
- package/dist/vite/plugin-redirect.d.ts +1 -1
- package/dist/vite/plugin-redirect.js +1 -1
- package/dist/vite/plugin-redirect.js.map +1 -1
- package/dist/vite/plugin-search.d.ts +1 -1
- package/dist/vite/plugin-search.js +1 -1
- package/dist/vite/plugin-search.js.map +1 -1
- package/dist/vite/plugin-shiki-register.js +1 -1
- package/dist/vite/plugin-shiki-register.js.map +1 -1
- package/dist/vite/plugin-theme.d.ts +8 -0
- package/dist/vite/plugin-theme.js +283 -0
- package/dist/vite/plugin-theme.js.map +1 -0
- package/dist/vite/plugin-theme.test.d.ts +1 -0
- package/dist/vite/plugin-theme.test.js +314 -0
- package/dist/vite/plugin-theme.test.js.map +1 -0
- package/dist/vite/plugin.d.ts +1 -1
- package/dist/vite/plugin.js +8 -8
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender/FileWritingResponse.js +5 -3
- package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
- package/dist/vite/prerender/InMemoryResponse.js +3 -1
- package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
- package/dist/vite/prerender/prerender.js +38 -5
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.d.ts +1 -1
- package/dist/vite/prerender/worker.js +5 -1
- package/dist/vite/prerender/worker.js.map +1 -1
- package/dist/vite/reporter.js +2 -2
- package/dist/vite/reporter.js.map +1 -1
- package/dist/vite/shadcn-registry.d.ts +20 -0
- package/dist/vite/shadcn-registry.js +29 -0
- package/dist/vite/shadcn-registry.js.map +1 -0
- package/dist/vite/sitemap.js +14 -13
- package/dist/vite/sitemap.js.map +1 -1
- package/dist/zuplo/enrich-with-zuplo-mcp.d.ts +4 -0
- package/dist/zuplo/enrich-with-zuplo-mcp.js +117 -0
- package/dist/zuplo/enrich-with-zuplo-mcp.js.map +1 -0
- package/dist/zuplo/enrich-with-zuplo.d.ts +1 -0
- package/dist/zuplo/enrich-with-zuplo.js +4 -4
- package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
- package/dist/zuplo/policy-types.js +0 -1
- package/dist/zuplo/policy-types.js.map +1 -1
- package/dist/zuplo/with-zuplo-processors.js +2 -0
- package/dist/zuplo/with-zuplo-processors.js.map +1 -1
- package/dist/zuplo/with-zuplo.js +1 -1
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/{Button-BE9IVkWV.js → Button-B3ucvvQw.js} +8 -7
- package/lib/Button-B3ucvvQw.js.map +1 -0
- package/lib/{Card-DPhGbYUM.js → Card-KFniaZn5.js} +3 -3
- package/lib/{Card-DPhGbYUM.js.map → Card-KFniaZn5.js.map} +1 -1
- package/lib/CategoryHeading-DhmodDcq.js +17 -0
- package/lib/CategoryHeading-DhmodDcq.js.map +1 -0
- package/lib/ClientOnly-E7hGysn1.js.map +1 -1
- package/lib/Command-CUcrW3qs.js +134 -0
- package/lib/Command-CUcrW3qs.js.map +1 -0
- package/lib/Dialog-BQciPiHN.js +144 -0
- package/lib/Dialog-BQciPiHN.js.map +1 -0
- package/lib/{Drawer-BzkOKwgC.js → Drawer-Ci7XwhqT.js} +87 -87
- package/lib/{Drawer-BzkOKwgC.js.map → Drawer-Ci7XwhqT.js.map} +1 -1
- package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
- package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
- package/lib/{Markdown-Cm4kj26S.js → ErrorAlert-_1Zmhr68.js} +3145 -3019
- package/lib/ErrorAlert-_1Zmhr68.js.map +1 -0
- package/lib/MdxPage-B2t1EShN.js +240 -0
- package/lib/MdxPage-B2t1EShN.js.map +1 -0
- package/lib/OAuthErrorPage-DnKnq4xK.js +150 -0
- package/lib/OAuthErrorPage-DnKnq4xK.js.map +1 -0
- package/lib/OasProvider-BhuIkD4Z.js +36 -0
- package/lib/OasProvider-BhuIkD4Z.js.map +1 -0
- package/lib/OperationList-D8EDc9v7.js +5688 -0
- package/lib/OperationList-D8EDc9v7.js.map +1 -0
- package/lib/Pagination-hk-llhpw.js +37 -0
- package/lib/Pagination-hk-llhpw.js.map +1 -0
- package/lib/RouteGuard-Brz95MSt.js +77 -0
- package/lib/RouteGuard-Brz95MSt.js.map +1 -0
- package/lib/RouterError-CMaIfdjb.js +42 -0
- package/lib/RouterError-CMaIfdjb.js.map +1 -0
- package/lib/{SchemaList-BWaNlmUJ.js → SchemaList-E6lF7dID.js} +31 -41
- package/lib/SchemaList-E6lF7dID.js.map +1 -0
- package/lib/SchemaView-CIv-OXgv.js +572 -0
- package/lib/SchemaView-CIv-OXgv.js.map +1 -0
- package/lib/Select-DFRCS31-.js +399 -0
- package/lib/Select-DFRCS31-.js.map +1 -0
- package/lib/SignUp-sGYAsj2K.js +50 -0
- package/lib/SignUp-sGYAsj2K.js.map +1 -0
- package/lib/{Spinner-mNLZ6awP.js → Spinner-CI6bRyZw.js} +2 -2
- package/lib/{Spinner-mNLZ6awP.js.map → Spinner-CI6bRyZw.js.map} +1 -1
- package/lib/{SyntaxHighlight-Cz6Me7-F.js → SyntaxHighlight-C19vH0V_.js} +1838 -1765
- package/lib/SyntaxHighlight-C19vH0V_.js.map +1 -0
- package/lib/{Toc-Qe7A4uj_.js → Toc-DbWS75JZ.js} +7 -7
- package/lib/Toc-DbWS75JZ.js.map +1 -0
- package/lib/ZudokuContext-BUZ5hkWB.js +1508 -0
- package/lib/ZudokuContext-BUZ5hkWB.js.map +1 -0
- package/lib/c-B-NUhs61.js +46 -0
- package/lib/c-B-NUhs61.js.map +1 -0
- package/lib/chunk-PVWAREVJ-BMhpCH5D.js +7965 -0
- package/lib/chunk-PVWAREVJ-BMhpCH5D.js.map +1 -0
- package/lib/{circular-w5eL5J8a.js → circular-BoYo7au5.js} +30 -30
- package/lib/{circular-w5eL5J8a.js.map → circular-BoYo7au5.js.map} +1 -1
- package/lib/{cn-wvCW-ho6.js → cn-dYga0KKN.js} +2 -2
- package/lib/cn-dYga0KKN.js.map +1 -0
- package/lib/commonlisp-De080z23.js +28 -0
- package/lib/commonlisp-De080z23.js.map +1 -0
- package/lib/cpp-79Paht7T.js +53 -0
- package/lib/cpp-79Paht7T.js.map +1 -0
- package/lib/{createServer-p3yUA8Bu.js → createServer-B_BZ7xX8.js} +5108 -4774
- package/lib/createServer-B_BZ7xX8.js.map +1 -0
- package/lib/csharp-D8MIL50B.js +53 -0
- package/lib/csharp-D8MIL50B.js.map +1 -0
- package/lib/css-Bt6hr1td.js +54 -0
- package/lib/css-Bt6hr1td.js.map +1 -0
- package/lib/dart-B0vy1jWB.js +60 -0
- package/lib/dart-B0vy1jWB.js.map +1 -0
- package/lib/elixir-Ds8r0sF8.js +25 -0
- package/lib/elixir-Ds8r0sF8.js.map +1 -0
- package/lib/errors-CD873hrG.js +45 -0
- package/lib/errors-CD873hrG.js.map +1 -0
- package/lib/go-D2VsmIOS.js +25 -0
- package/lib/go-D2VsmIOS.js.map +1 -0
- package/lib/graphql-BtA6M4m5.js +25 -0
- package/lib/graphql-BtA6M4m5.js.map +1 -0
- package/lib/hook-CMeoxziF.js +40 -0
- package/lib/hook-CMeoxziF.js.map +1 -0
- package/lib/html-MGnI2uzP.js +33 -0
- package/lib/html-MGnI2uzP.js.map +1 -0
- package/lib/{index-BvvmIczU.js → index-BK0jKRrX.js} +166 -50
- package/lib/index-BK0jKRrX.js.map +1 -0
- package/lib/index-CrcNWbel.js.map +1 -1
- package/lib/index-DI5SPFK9.js.map +1 -1
- package/lib/index-HNVs5cgX.js +3667 -0
- package/lib/index-HNVs5cgX.js.map +1 -0
- package/lib/{index-zddirpDj.js → index-nGbmHh_A.js} +227 -222
- package/lib/index-nGbmHh_A.js.map +1 -0
- package/lib/index-pMMX55GH.js +1059 -0
- package/lib/index-pMMX55GH.js.map +1 -0
- package/lib/index.esm-BYObtETB.js +1294 -0
- package/lib/index.esm-BYObtETB.js.map +1 -0
- package/lib/{index.esm-BFcSKCe-.js → index.esm-BnYHxCYC.js} +2 -2
- package/lib/{index.esm-BFcSKCe-.js.map → index.esm-BnYHxCYC.js.map} +1 -1
- package/lib/{invariant-DAFpPywt.js → invariant-Bm-FVUQE.js} +2 -6
- package/lib/invariant-Bm-FVUQE.js.map +1 -0
- package/lib/java-CVLzHfb1.js +53 -0
- package/lib/java-CVLzHfb1.js.map +1 -0
- package/lib/javascript-CcmIpL4G.js +10 -0
- package/lib/javascript-CcmIpL4G.js.map +1 -0
- package/lib/json-4AyP4uiY.js +25 -0
- package/lib/json-4AyP4uiY.js.map +1 -0
- package/lib/{jsx-runtime-C5mzlN2N.js → jsx-runtime-BzflLqGi.js} +110 -112
- package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
- package/lib/kotlin-v2plddBQ.js +37 -0
- package/lib/kotlin-v2plddBQ.js.map +1 -0
- package/lib/markdown-DYGWCmGQ.js +25 -0
- package/lib/markdown-DYGWCmGQ.js.map +1 -0
- package/lib/mdx-CHwYvXd4.js +32 -0
- package/lib/mdx-CHwYvXd4.js.map +1 -0
- package/lib/{mutation-BSeQ8pEK.js → mutation-BSU0xu4m.js} +2 -2
- package/lib/{mutation-BSeQ8pEK.js.map → mutation-BSU0xu4m.js.map} +1 -1
- package/lib/objectivec-HZY8shkd.js +32 -0
- package/lib/objectivec-HZY8shkd.js.map +1 -0
- package/lib/ocaml-DqsdDdwb.js +52 -0
- package/lib/ocaml-DqsdDdwb.js.map +1 -0
- package/lib/php-rQXzo7K_.js +25 -0
- package/lib/php-rQXzo7K_.js.map +1 -0
- package/lib/powershell-CQje9pm1.js +39 -0
- package/lib/powershell-CQje9pm1.js.map +1 -0
- package/lib/processors/removeExtensions.js.map +1 -1
- package/lib/processors/removeParameters.js.map +1 -1
- package/lib/processors/removePaths.js.map +1 -1
- package/lib/processors/traverse.js.map +1 -1
- package/lib/python-QIQAE5Ei.js +32 -0
- package/lib/python-QIQAE5Ei.js.map +1 -0
- package/lib/react-DHpVpxRv.js +24 -0
- package/lib/react-DHpVpxRv.js.map +1 -0
- package/lib/ruby-B2dU8Ny5.js +25 -0
- package/lib/ruby-B2dU8Ny5.js.map +1 -0
- package/lib/rust-DYnLHAi2.js +25 -0
- package/lib/rust-DYnLHAi2.js.map +1 -0
- package/lib/scala-CeKInBR8.js +25 -0
- package/lib/scala-CeKInBR8.js.map +1 -0
- package/lib/shell-HUv9oVtp.js +25 -0
- package/lib/shell-HUv9oVtp.js.map +1 -0
- package/lib/swift-B4z6ig1Z.js +25 -0
- package/lib/swift-B4z6ig1Z.js.map +1 -0
- package/lib/toml-Co9mpdct.js +32 -0
- package/lib/toml-Co9mpdct.js.map +1 -0
- package/lib/typescript-C26xdBDC.js +32 -0
- package/lib/typescript-C26xdBDC.js.map +1 -0
- package/lib/ui/Accordion.js +2 -2
- package/lib/ui/Accordion.js.map +1 -1
- package/lib/ui/ActionButton.js +11 -11
- package/lib/ui/ActionButton.js.map +1 -1
- package/lib/ui/Alert.js +55 -39
- package/lib/ui/Alert.js.map +1 -1
- package/lib/ui/AlertDialog.js +2 -2
- package/lib/ui/AlertDialog.js.map +1 -1
- package/lib/ui/Badge.js +28 -14
- package/lib/ui/Badge.js.map +1 -1
- package/lib/ui/Breadcrumb.js +24 -23
- package/lib/ui/Breadcrumb.js.map +1 -1
- package/lib/ui/Button.js +7 -6
- package/lib/ui/Button.js.map +1 -1
- package/lib/ui/Callout.js +20 -20
- package/lib/ui/Callout.js.map +1 -1
- package/lib/ui/Card.js +2 -2
- package/lib/ui/Card.js.map +1 -1
- package/lib/ui/Carousel.js +2 -2
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/Checkbox.js +29 -26
- package/lib/ui/Checkbox.js.map +1 -1
- package/lib/ui/CodeBlock.js +203 -67
- package/lib/ui/CodeBlock.js.map +1 -1
- package/lib/ui/Collapsible.js +32 -5
- package/lib/ui/Collapsible.js.map +1 -1
- package/lib/ui/Command.js +22 -28
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Dialog.js +140 -95
- package/lib/ui/Dialog.js.map +1 -1
- package/lib/ui/Drawer.js +3 -3
- package/lib/ui/DropdownMenu.js +2 -2
- package/lib/ui/DropdownMenu.js.map +1 -1
- package/lib/ui/EmbeddedCodeBlock.js +84 -0
- package/lib/ui/EmbeddedCodeBlock.js.map +1 -0
- package/lib/ui/Form.js +3 -3
- package/lib/ui/Form.js.map +1 -1
- package/lib/ui/Frame.js +81 -0
- package/lib/ui/Frame.js.map +1 -0
- package/lib/ui/HoverCard.js +2 -2
- package/lib/ui/HoverCard.js.map +1 -1
- package/lib/ui/Input.js +2 -2
- package/lib/ui/Input.js.map +1 -1
- package/lib/ui/Item.js +188 -0
- package/lib/ui/Item.js.map +1 -0
- package/lib/ui/Label.js +2 -2
- package/lib/ui/Label.js.map +1 -1
- package/lib/ui/NativeSelect.js +57 -0
- package/lib/ui/NativeSelect.js.map +1 -0
- package/lib/ui/Pagination.js +29 -30
- package/lib/ui/Pagination.js.map +1 -1
- package/lib/ui/Popover.js +2 -2
- package/lib/ui/Popover.js.map +1 -1
- package/lib/ui/Progress.js +2 -2
- package/lib/ui/Progress.js.map +1 -1
- package/lib/ui/RadioGroup.js +2 -2
- package/lib/ui/RadioGroup.js.map +1 -1
- package/lib/ui/ReactComponentDoc.js +28 -0
- package/lib/ui/ReactComponentDoc.js.map +1 -0
- package/lib/ui/ScrollArea.js +2 -2
- package/lib/ui/ScrollArea.js.map +1 -1
- package/lib/ui/Secret.js +106 -0
- package/lib/ui/Secret.js.map +1 -0
- package/lib/ui/Select.js +166 -116
- package/lib/ui/Select.js.map +1 -1
- package/lib/ui/Separator.js +27 -0
- package/lib/ui/Separator.js.map +1 -0
- package/lib/ui/Skeleton.js +2 -2
- package/lib/ui/Skeleton.js.map +1 -1
- package/lib/ui/Slider.js +2 -2
- package/lib/ui/Slider.js.map +1 -1
- package/lib/ui/Stepper.js +1 -1
- package/lib/ui/Stepper.js.map +1 -1
- package/lib/ui/Switch.js +2 -2
- package/lib/ui/Switch.js.map +1 -1
- package/lib/ui/SyntaxHighlight.js +6 -5
- package/lib/ui/SyntaxHighlight.js.map +1 -1
- package/lib/ui/Tabs.js +12 -12
- package/lib/ui/Tabs.js.map +1 -1
- package/lib/ui/Textarea.js +2 -2
- package/lib/ui/Textarea.js.map +1 -1
- package/lib/ui/Toggle.js +2 -2
- package/lib/ui/Toggle.js.map +1 -1
- package/lib/ui/ToggleGroup.js +2 -2
- package/lib/ui/ToggleGroup.js.map +1 -1
- package/lib/ui/Tooltip.js +55 -28
- package/lib/ui/Tooltip.js.map +1 -1
- package/lib/ui/Value.js +39 -0
- package/lib/ui/Value.js.map +1 -0
- package/lib/ui/util.js +1 -1
- package/lib/useCopyToClipboard-B_085nfO.js +14 -0
- package/lib/useCopyToClipboard-B_085nfO.js.map +1 -0
- package/lib/useExposedProps-U3pmsHaG.js +113 -0
- package/lib/useExposedProps-U3pmsHaG.js.map +1 -0
- package/lib/useLatest-hmRS46UF.js.map +1 -1
- package/lib/xml-BQOOC04j.js +25 -0
- package/lib/xml-BQOOC04j.js.map +1 -0
- package/lib/yaml-BGsJItKv.js +32 -0
- package/lib/yaml-BGsJItKv.js.map +1 -0
- package/lib/zig-CUV2sTct.js +35 -0
- package/lib/zig-CUV2sTct.js.map +1 -0
- package/lib/zudoku.__internal.js +3084 -0
- package/lib/zudoku.__internal.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +23 -22
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +136 -0
- package/lib/zudoku.auth-azureb2c.js.map +1 -0
- package/lib/zudoku.auth-clerk.js +59 -65
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +372 -383
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.auth-supabase.js +154 -0
- package/lib/zudoku.auth-supabase.js.map +1 -0
- package/lib/zudoku.components.js +27 -4573
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.hooks.js +13 -14
- package/lib/zudoku.hooks.js.map +1 -1
- package/lib/zudoku.icons.js +1 -1
- package/lib/zudoku.icons.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +62 -55
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +456 -328
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +15 -18
- package/lib/zudoku.plugin-custom-pages.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +21 -70
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +7 -7
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +54 -57
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +213 -119
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.plugins.js.map +1 -1
- package/lib/zudoku.router.js +2507 -0
- package/lib/zudoku.router.js.map +1 -0
- package/package.json +140 -110
- package/src/app/ZuploBuildConfig.ts +7 -7
- package/src/app/defaultTheme.css +68 -49
- package/src/app/demo.tsx +25 -7
- package/src/app/entry.client.tsx +7 -8
- package/src/app/entry.server.tsx +20 -12
- package/src/app/env.ts +10 -2
- package/src/app/main.css +59 -33
- package/src/app/main.tsx +46 -36
- package/src/app/standalone.tsx +14 -8
- package/src/lib/MissingIcon.tsx +1 -1
- package/src/lib/assets/language-icons/c.tsx +31 -0
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
- package/src/lib/assets/language-icons/cpp.tsx +35 -0
- package/src/lib/assets/language-icons/csharp.tsx +35 -0
- package/src/lib/assets/language-icons/css.tsx +36 -0
- package/src/lib/assets/language-icons/dart.tsx +39 -0
- package/src/lib/assets/language-icons/elixir.tsx +19 -0
- package/src/lib/assets/language-icons/go.tsx +19 -0
- package/src/lib/assets/language-icons/graphql.tsx +19 -0
- package/src/lib/assets/language-icons/html.tsx +24 -0
- package/src/lib/assets/language-icons/java.tsx +35 -0
- package/src/lib/assets/language-icons/javascript.tsx +11 -0
- package/src/lib/assets/language-icons/json.tsx +19 -0
- package/src/lib/assets/language-icons/kotlin.tsx +30 -0
- package/src/lib/assets/language-icons/markdown.tsx +19 -0
- package/src/lib/assets/language-icons/mdx.tsx +23 -0
- package/src/lib/assets/language-icons/objectivec.tsx +23 -0
- package/src/lib/assets/language-icons/ocaml.tsx +34 -0
- package/src/lib/assets/language-icons/php.tsx +19 -0
- package/src/lib/assets/language-icons/powershell.tsx +27 -0
- package/src/lib/assets/language-icons/python.tsx +23 -0
- package/src/lib/assets/language-icons/react.tsx +21 -0
- package/src/lib/assets/language-icons/ruby.tsx +19 -0
- package/src/lib/assets/language-icons/rust.tsx +19 -0
- package/src/lib/assets/language-icons/scala.tsx +19 -0
- package/src/lib/assets/language-icons/shell.tsx +19 -0
- package/src/lib/assets/language-icons/swift.tsx +19 -0
- package/src/lib/assets/language-icons/toml.tsx +23 -0
- package/src/lib/assets/language-icons/typescript.tsx +23 -0
- package/src/lib/assets/language-icons/xml.tsx +19 -0
- package/src/lib/assets/language-icons/yaml.tsx +23 -0
- package/src/lib/assets/language-icons/zig.tsx +32 -0
- package/src/lib/auth/issuer.test.ts +121 -0
- package/src/lib/auth/issuer.ts +44 -0
- package/src/lib/authentication/AuthenticationPlugin.tsx +4 -4
- package/src/lib/authentication/authentication.ts +26 -8
- package/src/lib/authentication/components/CallbackHandler.tsx +23 -16
- package/src/lib/authentication/components/OAuthErrorPage.tsx +171 -0
- package/src/lib/authentication/components/SignIn.tsx +12 -17
- package/src/lib/authentication/components/SignOut.tsx +7 -6
- package/src/lib/authentication/components/SignUp.tsx +5 -8
- package/src/lib/authentication/errors.ts +27 -13
- package/src/lib/authentication/hook.ts +23 -10
- package/src/lib/authentication/providers/auth0.tsx +15 -10
- package/src/lib/authentication/providers/azureb2c.tsx +208 -0
- package/src/lib/authentication/providers/clerk.tsx +21 -20
- package/src/lib/authentication/providers/firebase.tsx +284 -0
- package/src/lib/authentication/providers/openid.tsx +95 -12
- package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
- package/src/lib/authentication/providers/supabase.tsx +63 -58
- package/src/lib/authentication/state.ts +40 -30
- package/src/lib/authentication/ui/ZudokuAuthUi.tsx +335 -0
- package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
- package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
- package/src/lib/authentication/ui/icons/Github.tsx +16 -0
- package/src/lib/authentication/ui/icons/Google.tsx +16 -0
- package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
- package/src/lib/authentication/ui/icons/X.tsx +10 -0
- package/src/lib/authentication/use-broadcast/LICENSE.md +12 -3
- package/src/lib/authentication/use-broadcast/shared.ts +4 -4
- package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
- package/src/lib/components/AnchorLink.tsx +1 -1
- package/src/lib/components/Autocomplete.tsx +14 -4
- package/src/lib/components/Banner.tsx +1 -2
- package/src/lib/components/Bootstrap.tsx +3 -4
- package/src/lib/components/BuildCheck.tsx +26 -13
- package/src/lib/components/CategoryHeading.tsx +4 -1
- package/src/lib/components/ErrorPage.tsx +3 -3
- package/src/lib/components/Footer.tsx +1 -1
- package/src/lib/components/Framed.tsx +51 -0
- package/src/lib/components/Header.tsx +28 -25
- package/src/lib/components/Heading.tsx +11 -12
- package/src/lib/components/LanguageIcon.tsx +181 -0
- package/src/lib/components/Layout.tsx +6 -24
- package/src/lib/components/Main.tsx +10 -10
- package/src/lib/components/Markdown.tsx +11 -10
- package/src/lib/components/Meta.tsx +45 -0
- package/src/lib/components/MobileTopNavigation.tsx +70 -15
- package/src/lib/components/NotFoundPage.tsx +6 -5
- package/src/lib/components/PageProgress.tsx +28 -0
- package/src/lib/components/Pagination.tsx +5 -4
- package/src/lib/components/PathRenderer.tsx +2 -2
- package/src/lib/components/Search.tsx +1 -1
- package/src/lib/components/Slot.test.tsx +8 -8
- package/src/lib/components/Slot.tsx +2 -2
- package/src/lib/components/StatusPage.tsx +5 -0
- package/src/lib/components/TopNavigation.tsx +77 -70
- package/src/lib/components/Typography.tsx +14 -0
- package/src/lib/components/Zudoku.tsx +5 -5
- package/src/lib/components/cache.ts +9 -5
- package/src/lib/components/context/ComponentsContext.tsx +2 -2
- package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
- package/src/lib/components/context/SlotProvider.tsx +4 -4
- package/src/lib/components/context/ViewportAnchorContext.tsx +2 -2
- package/src/lib/components/context/ZudokuContext.ts +77 -43
- package/src/lib/components/context/ZudokuProvider.tsx +1 -1
- package/src/lib/components/index.ts +5 -19
- package/src/lib/components/navigation/{Sidebar.tsx → Navigation.tsx} +18 -16
- package/src/lib/components/navigation/{SidebarBadge.tsx → NavigationBadge.tsx} +1 -1
- package/src/lib/components/navigation/{SidebarCategory.tsx → NavigationCategory.tsx} +25 -16
- package/src/lib/components/navigation/{SidebarItem.tsx → NavigationItem.tsx} +44 -40
- package/src/lib/components/navigation/{SidebarWrapper.tsx → NavigationWrapper.tsx} +8 -5
- package/src/lib/components/navigation/Toc.tsx +5 -5
- package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
- package/src/lib/components/navigation/utils.ts +50 -46
- package/src/lib/core/RouteGuard.tsx +52 -32
- package/src/lib/core/ZudokuContext.ts +74 -23
- package/src/lib/core/__internal.tsx +30 -0
- package/src/lib/core/plugins.ts +4 -3
- package/src/lib/core/router.ts +1 -0
- package/src/lib/errors/ErrorAlert.tsx +8 -17
- package/src/lib/errors/RouterError.tsx +7 -2
- package/src/lib/errors/TopLevelError.tsx +2 -4
- package/src/lib/hooks/useEvent.test.tsx +9 -7
- package/src/lib/hooks/useHotkey.ts +70 -0
- package/src/lib/oas/graphql/circular.ts +3 -3
- package/src/lib/oas/graphql/index.ts +39 -3
- package/src/lib/oas/parser/dereference/index.ts +2 -1
- package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
- package/src/lib/oas/parser/index.ts +10 -5
- package/src/lib/oas/parser/upgrade/index.ts +2 -1
- package/src/lib/plugins/api-catalog/Catalog.tsx +8 -1
- package/src/lib/plugins/api-catalog/index.tsx +19 -19
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +18 -4
- package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +65 -71
- package/src/lib/plugins/api-keys/index.tsx +50 -25
- package/src/lib/plugins/custom-pages/index.tsx +24 -16
- package/src/lib/plugins/markdown/MdxPage.tsx +204 -32
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
- package/src/lib/plugins/markdown/index.tsx +27 -42
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
- package/src/lib/plugins/openapi/ColorizedParam.tsx +3 -1
- package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
- package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
- package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
- package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
- package/src/lib/plugins/openapi/OperationList.tsx +51 -31
- package/src/lib/plugins/openapi/OperationListItem.tsx +106 -79
- package/src/lib/plugins/openapi/ParamInfos.tsx +10 -9
- package/src/lib/plugins/openapi/ParameterList.tsx +40 -28
- package/src/lib/plugins/openapi/ParameterListItem.tsx +110 -59
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +8 -13
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +51 -9
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +75 -29
- package/src/lib/plugins/openapi/SchemaList.tsx +5 -11
- package/src/lib/plugins/openapi/Sidecar.tsx +138 -72
- package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
- package/src/lib/plugins/openapi/SidecarExamples.tsx +93 -87
- package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
- package/src/lib/plugins/openapi/client/createServer.ts +1 -2
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +3 -2
- package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
- package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
- package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
- package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
- package/src/lib/plugins/openapi/context.tsx +1 -1
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -1
- package/src/lib/plugins/openapi/graphql/gql.ts +11 -11
- package/src/lib/plugins/openapi/graphql/graphql.ts +33 -9
- package/src/lib/plugins/openapi/index.tsx +90 -59
- package/src/lib/plugins/openapi/interfaces.ts +22 -7
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +257 -32
- package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -0
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +11 -6
- package/src/lib/plugins/openapi/playground/Headers.tsx +158 -176
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +4 -3
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +8 -13
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +34 -2
- package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -35
- package/src/lib/plugins/openapi/playground/Playground.tsx +263 -159
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +23 -33
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +92 -100
- package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
- package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
- package/src/lib/plugins/openapi/playground/fileUtils.ts +1 -1
- package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +25 -0
- package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
- package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
- package/src/lib/plugins/openapi/playground/result-panel/Highlight.tsx +26 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +189 -115
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +70 -94
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
- package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
- package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +1 -0
- package/src/lib/plugins/openapi/processors/removeParameters.test.ts +1 -0
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +4 -4
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +94 -79
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +89 -55
- package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -0
- package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -0
- package/src/lib/plugins/openapi/schema/utils.ts +3 -13
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +2 -2
- package/src/lib/plugins/openapi/util/{createSidebarCategory.tsx → createNavigationCategory.tsx} +7 -5
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +14 -15
- package/src/lib/plugins/openapi/util/getRoutes.tsx +4 -4
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
- package/src/lib/plugins/search-inkeep/index.tsx +54 -58
- package/src/lib/plugins/search-inkeep/inkeep.ts +19 -21
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +3 -4
- package/src/lib/plugins/search-pagefind/ResultList.tsx +16 -8
- package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
- package/src/lib/shiki.ts +37 -8
- package/src/lib/ui/ActionButton.tsx +3 -1
- package/src/lib/ui/Alert.tsx +45 -39
- package/src/lib/ui/Badge.tsx +21 -12
- package/src/lib/ui/Breadcrumb.tsx +1 -0
- package/src/lib/ui/Button.tsx +1 -0
- package/src/lib/ui/Callout.tsx +10 -5
- package/src/lib/ui/Checkbox.tsx +23 -24
- package/src/lib/ui/CodeBlock.tsx +37 -61
- package/src/lib/ui/Collapsible.tsx +26 -4
- package/src/lib/ui/Command.tsx +2 -4
- package/src/lib/ui/Dialog.tsx +113 -99
- package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -0
- package/src/lib/ui/Form.tsx +4 -4
- package/src/lib/ui/Frame.tsx +81 -0
- package/src/lib/ui/Item.tsx +192 -0
- package/src/lib/ui/NativeSelect.tsx +47 -0
- package/src/lib/ui/Pagination.tsx +1 -2
- package/src/lib/ui/ReactComponentDoc.tsx +68 -0
- package/src/lib/ui/Secret.tsx +123 -0
- package/src/lib/ui/Select.tsx +153 -126
- package/src/lib/ui/Separator.tsx +25 -0
- package/src/lib/ui/SyntaxHighlight.tsx +16 -3
- package/src/lib/ui/ToggleGroup.tsx +1 -1
- package/src/lib/ui/Tooltip.tsx +54 -32
- package/src/lib/ui/Value.tsx +42 -0
- package/src/lib/util/MdxComponents.tsx +24 -5
- package/src/lib/util/cn.ts +1 -1
- package/src/lib/util/createVariantComponent.tsx +33 -7
- package/src/lib/util/flattenAllOf.test.ts +637 -0
- package/src/lib/util/flattenAllOf.ts +101 -0
- package/src/lib/util/groupBy.ts +1 -0
- package/src/lib/util/humanFileSize.ts +2 -3
- package/src/lib/util/invariant.ts +8 -5
- package/src/lib/util/os.ts +18 -0
- package/src/lib/util/pastellize.ts +4 -4
- package/src/lib/util/syncZustandState.ts +22 -0
- package/src/lib/util/traverse.ts +36 -0
- package/src/lib/util/types.ts +1 -1
- package/src/lib/util/useCopyToClipboard.ts +17 -0
- package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
- package/src/lib/util/useScrollToAnchor.ts +6 -4
- package/src/shiki/langs/hurl.js +1 -0
- package/src/shiki/langs/kdl.js +1 -0
- package/src/shiki/langs/pkl.js +1 -0
- package/src/shiki/langs/rosmsg.js +1 -0
- package/src/shiki/langs/vue-vine.js +1 -0
- package/dist/config/validators/InputSidebarSchema.d.ts +0 -217
- package/dist/config/validators/InputSidebarSchema.js +0 -62
- package/dist/config/validators/InputSidebarSchema.js.map +0 -1
- package/dist/config/validators/SidebarSchema.d.ts +0 -46
- package/dist/config/validators/SidebarSchema.js +0 -118
- package/dist/config/validators/SidebarSchema.js.map +0 -1
- package/dist/lib/components/ReactMarkdown.d.ts +0 -29
- package/dist/lib/components/ReactMarkdown.js +0 -182
- package/dist/lib/components/ReactMarkdown.js.map +0 -1
- package/dist/lib/components/navigation/Sidebar.d.ts +0 -5
- package/dist/lib/components/navigation/Sidebar.js +0 -10
- package/dist/lib/components/navigation/Sidebar.js.map +0 -1
- package/dist/lib/components/navigation/SidebarBadge.js.map +0 -1
- package/dist/lib/components/navigation/SidebarCategory.d.ts +0 -5
- package/dist/lib/components/navigation/SidebarCategory.js.map +0 -1
- package/dist/lib/components/navigation/SidebarItem.d.ts +0 -6
- package/dist/lib/components/navigation/SidebarItem.js +0 -45
- package/dist/lib/components/navigation/SidebarItem.js.map +0 -1
- package/dist/lib/components/navigation/SidebarWrapper.js.map +0 -1
- package/dist/lib/plugins/custom-pages/CustomPage.d.ts +0 -2
- package/dist/lib/plugins/custom-pages/CustomPage.js +0 -11
- package/dist/lib/plugins/custom-pages/CustomPage.js.map +0 -1
- package/dist/lib/plugins/markdown/resolver.d.ts +0 -32
- package/dist/lib/plugins/markdown/resolver.js +0 -46
- package/dist/lib/plugins/markdown/resolver.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
- package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
- package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +0 -4
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js +0 -22
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +0 -7
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +0 -11
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +0 -8
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +0 -14
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +0 -7
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +0 -17
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -6
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +0 -10
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +0 -1
- package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +0 -9
- package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +0 -1
- package/dist/vite/plugin-configure-tailwind.d.ts +0 -2
- package/dist/vite/plugin-configure-tailwind.js +0 -38
- package/dist/vite/plugin-configure-tailwind.js.map +0 -1
- package/dist/vite/plugin-sidebar.d.ts +0 -4
- package/dist/vite/plugin-sidebar.js +0 -63
- package/dist/vite/plugin-sidebar.js.map +0 -1
- package/dist/vite/plugin-theme-css.d.ts +0 -5
- package/dist/vite/plugin-theme-css.js +0 -77
- package/dist/vite/plugin-theme-css.js.map +0 -1
- package/dist/vite/remarkStaticGeneration.js.map +0 -1
- package/lib/Button-BE9IVkWV.js.map +0 -1
- package/lib/Callout-CoVxYafP.js +0 -231
- package/lib/Callout-CoVxYafP.js.map +0 -1
- package/lib/CategoryHeading-Cu2RwgjC.js +0 -10
- package/lib/CategoryHeading-Cu2RwgjC.js.map +0 -1
- package/lib/Dialog-BxpuVLh9.js +0 -99
- package/lib/Dialog-BxpuVLh9.js.map +0 -1
- package/lib/Markdown-Cm4kj26S.js.map +0 -1
- package/lib/MdxPage-fDGQtB5w.js +0 -84
- package/lib/MdxPage-fDGQtB5w.js.map +0 -1
- package/lib/OasProvider-CFBvfR3r.js +0 -33
- package/lib/OasProvider-CFBvfR3r.js.map +0 -1
- package/lib/OperationList-Xs4KWmsh.js +0 -5153
- package/lib/OperationList-Xs4KWmsh.js.map +0 -1
- package/lib/Pagination-CCxhL836.js +0 -36
- package/lib/Pagination-CCxhL836.js.map +0 -1
- package/lib/RouteGuard-CZ_uLv3g.js +0 -55
- package/lib/RouteGuard-CZ_uLv3g.js.map +0 -1
- package/lib/SchemaList-BWaNlmUJ.js.map +0 -1
- package/lib/SchemaView-DdKJt2ln.js +0 -375
- package/lib/SchemaView-DdKJt2ln.js.map +0 -1
- package/lib/SignUp-B-1Pvc-8.js +0 -63
- package/lib/SignUp-B-1Pvc-8.js.map +0 -1
- package/lib/Slot-B99cbD-q.js +0 -160
- package/lib/Slot-B99cbD-q.js.map +0 -1
- package/lib/SyntaxHighlight-Cz6Me7-F.js.map +0 -1
- package/lib/Toc-Qe7A4uj_.js.map +0 -1
- package/lib/chunk-DQRVZFIR-BblmKnHy.js +0 -1839
- package/lib/chunk-DQRVZFIR-BblmKnHy.js.map +0 -1
- package/lib/cn-wvCW-ho6.js.map +0 -1
- package/lib/createServer-p3yUA8Bu.js.map +0 -1
- package/lib/hook-k7PfUIsj.js +0 -1465
- package/lib/hook-k7PfUIsj.js.map +0 -1
- package/lib/index--oeBayMa.js +0 -86
- package/lib/index--oeBayMa.js.map +0 -1
- package/lib/index-Bn6Lc9tq.js +0 -9
- package/lib/index-Bn6Lc9tq.js.map +0 -1
- package/lib/index-BvvmIczU.js.map +0 -1
- package/lib/index-QzXzw_ra.js +0 -24
- package/lib/index-QzXzw_ra.js.map +0 -1
- package/lib/index-yqBxBqxF.js +0 -3226
- package/lib/index-yqBxBqxF.js.map +0 -1
- package/lib/index-zddirpDj.js.map +0 -1
- package/lib/index.esm-Cp4wkyud.js +0 -1236
- package/lib/index.esm-Cp4wkyud.js.map +0 -1
- package/lib/invariant-DAFpPywt.js.map +0 -1
- package/lib/joinPath-B7kNnUX4.js +0 -8
- package/lib/joinPath-B7kNnUX4.js.map +0 -1
- package/lib/jsx-runtime-C5mzlN2N.js.map +0 -1
- package/lib/objectEntries-yMIkr2mI.js +0 -5
- package/lib/objectEntries-yMIkr2mI.js.map +0 -1
- package/lib/react-nprogress.esm-C2MPXjiJ.js +0 -389
- package/lib/react-nprogress.esm-C2MPXjiJ.js.map +0 -1
- package/lib/useExposedProps-BZQkZneR.js +0 -9
- package/lib/useExposedProps-BZQkZneR.js.map +0 -1
- package/lib/useMutation-CZSmsIGW.js +0 -97
- package/lib/useMutation-CZSmsIGW.js.map +0 -1
- package/src/lib/components/ReactMarkdown.license.txt +0 -21
- package/src/lib/components/ReactMarkdown.tsx +0 -264
- package/src/lib/plugins/custom-pages/CustomPage.tsx +0 -18
- package/src/lib/plugins/markdown/resolver.ts +0 -59
- package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
- package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +0 -32
- package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +0 -73
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +0 -40
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +0 -57
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +0 -33
package/lib/ui/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","sources":["../../../../node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js","../../../../node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js","../../../../node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.1.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js","../../src/lib/ui/Carousel.tsx"],"sourcesContent":["function isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction isRecord(subject) {\n return isObject(subject) || Array.isArray(subject);\n}\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\nfunction areOptionsEqual(optionsA, optionsB) {\n const optionsAKeys = Object.keys(optionsA);\n const optionsBKeys = Object.keys(optionsB);\n if (optionsAKeys.length !== optionsBKeys.length) return false;\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}));\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}));\n if (breakpointsA !== breakpointsB) return false;\n return optionsAKeys.every(key => {\n const valueA = optionsA[key];\n const valueB = optionsB[key];\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`;\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB;\n return areOptionsEqual(valueA, valueB);\n });\n}\nfunction sortAndMapPluginToOptions(plugins) {\n return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options);\n}\nfunction arePluginsEqual(pluginsA, pluginsB) {\n if (pluginsA.length !== pluginsB.length) return false;\n const optionsA = sortAndMapPluginToOptions(pluginsA);\n const optionsB = sortAndMapPluginToOptions(pluginsB);\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index];\n return areOptionsEqual(optionA, optionB);\n });\n}\n\nexport { areOptionsEqual, arePluginsEqual, canUseDOM, sortAndMapPluginToOptions };\n//# sourceMappingURL=embla-carousel-reactive-utils.esm.js.map\n","function isNumber(subject) {\n return typeof subject === 'number';\n}\nfunction isString(subject) {\n return typeof subject === 'string';\n}\nfunction isBoolean(subject) {\n return typeof subject === 'boolean';\n}\nfunction isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction mathAbs(n) {\n return Math.abs(n);\n}\nfunction mathSign(n) {\n return Math.sign(n);\n}\nfunction deltaAbs(valueB, valueA) {\n return mathAbs(valueB - valueA);\n}\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0;\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA));\n return mathAbs(diff / valueB);\n}\nfunction roundToTwoDecimals(num) {\n return Math.round(num * 100) / 100;\n}\nfunction arrayKeys(array) {\n return objectKeys(array).map(Number);\n}\nfunction arrayLast(array) {\n return array[arrayLastIndex(array)];\n}\nfunction arrayLastIndex(array) {\n return Math.max(0, array.length - 1);\n}\nfunction arrayIsLastIndex(array, index) {\n return index === arrayLastIndex(array);\n}\nfunction arrayFromNumber(n, startAt = 0) {\n return Array.from(Array(n), (_, i) => startAt + i);\n}\nfunction objectKeys(object) {\n return Object.keys(object);\n}\nfunction objectsMergeDeep(objectA, objectB) {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach(key => {\n const valueA = mergedObjects[key];\n const valueB = currentObject[key];\n const areObjects = isObject(valueA) && isObject(valueB);\n mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB;\n });\n return mergedObjects;\n }, {});\n}\nfunction isMouseEvent(evt, ownerWindow) {\n return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent;\n}\n\nfunction Alignment(align, viewSize) {\n const predefined = {\n start,\n center,\n end\n };\n function start() {\n return 0;\n }\n function center(n) {\n return end(n) / 2;\n }\n function end(n) {\n return viewSize - n;\n }\n function measure(n, index) {\n if (isString(align)) return predefined[align](n);\n return align(viewSize, n, index);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction EventStore() {\n let listeners = [];\n function add(node, type, handler, options = {\n passive: true\n }) {\n let removeListener;\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options);\n removeListener = () => node.removeEventListener(type, handler, options);\n } else {\n const legacyMediaQueryList = node;\n legacyMediaQueryList.addListener(handler);\n removeListener = () => legacyMediaQueryList.removeListener(handler);\n }\n listeners.push(removeListener);\n return self;\n }\n function clear() {\n listeners = listeners.filter(remove => remove());\n }\n const self = {\n add,\n clear\n };\n return self;\n}\n\nfunction Animations(ownerDocument, ownerWindow, update, render) {\n const documentVisibleHandler = EventStore();\n const fixedTimeStep = 1000 / 60;\n let lastTimeStamp = null;\n let accumulatedTime = 0;\n let animationId = 0;\n function init() {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset();\n });\n }\n function destroy() {\n stop();\n documentVisibleHandler.clear();\n }\n function animate(timeStamp) {\n if (!animationId) return;\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp;\n update();\n update();\n }\n const timeElapsed = timeStamp - lastTimeStamp;\n lastTimeStamp = timeStamp;\n accumulatedTime += timeElapsed;\n while (accumulatedTime >= fixedTimeStep) {\n update();\n accumulatedTime -= fixedTimeStep;\n }\n const alpha = accumulatedTime / fixedTimeStep;\n render(alpha);\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n }\n function start() {\n if (animationId) return;\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n function stop() {\n ownerWindow.cancelAnimationFrame(animationId);\n lastTimeStamp = null;\n accumulatedTime = 0;\n animationId = 0;\n }\n function reset() {\n lastTimeStamp = null;\n accumulatedTime = 0;\n }\n const self = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n const isRightToLeft = contentDirection === 'rtl';\n const isVertical = axis === 'y';\n const scroll = isVertical ? 'y' : 'x';\n const cross = isVertical ? 'x' : 'y';\n const sign = !isVertical && isRightToLeft ? -1 : 1;\n const startEdge = getStartEdge();\n const endEdge = getEndEdge();\n function measureSize(nodeRect) {\n const {\n height,\n width\n } = nodeRect;\n return isVertical ? height : width;\n }\n function getStartEdge() {\n if (isVertical) return 'top';\n return isRightToLeft ? 'right' : 'left';\n }\n function getEndEdge() {\n if (isVertical) return 'bottom';\n return isRightToLeft ? 'left' : 'right';\n }\n function direction(n) {\n return n * sign;\n }\n const self = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n };\n return self;\n}\n\nfunction Limit(min = 0, max = 0) {\n const length = mathAbs(min - max);\n function reachedMin(n) {\n return n < min;\n }\n function reachedMax(n) {\n return n > max;\n }\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n const self = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n const {\n constrain\n } = Limit(0, max);\n const loopEnd = max + 1;\n let counter = withinLimit(start);\n function withinLimit(n) {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd);\n }\n function get() {\n return counter;\n }\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n function add(n) {\n return clone().set(get() + n);\n }\n function clone() {\n return Counter(max, get(), loop);\n }\n const self = {\n get,\n set,\n add,\n clone\n };\n return self;\n}\n\nfunction DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) {\n const {\n cross: crossAxis,\n direction\n } = axis;\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n const nonPassiveEvent = {\n passive: false\n };\n const initEvents = EventStore();\n const dragEvents = EventStore();\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20));\n const snapForceBoost = {\n mouse: 300,\n touch: 400\n };\n const freeForceBoost = {\n mouse: 500,\n touch: 600\n };\n const baseSpeed = dragFree ? 43 : 25;\n let isMoving = false;\n let startScroll = 0;\n let startCross = 0;\n let pointerIsDown = false;\n let preventScroll = false;\n let preventClick = false;\n let isMouse = false;\n function init(emblaApi) {\n if (!watchDrag) return;\n function downIfAllowed(evt) {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt);\n }\n const node = rootNode;\n initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true);\n }\n function destroy() {\n initEvents.clear();\n dragEvents.clear();\n }\n function addDragEvents() {\n const node = isMouse ? ownerDocument : rootNode;\n dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up);\n }\n function isFocusNode(node) {\n const nodeName = node.nodeName || '';\n return focusNodes.includes(nodeName);\n }\n function forceBoost() {\n const boost = dragFree ? freeForceBoost : snapForceBoost;\n const type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n function allowedForce(force, targetChanged) {\n const next = index.add(mathSign(force) * -1);\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n function down(evt) {\n const isMouseEvt = isMouseEvent(evt, ownerWindow);\n isMouse = isMouseEvt;\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving;\n isMoving = deltaAbs(target.get(), location.get()) >= 2;\n if (isMouseEvt && evt.button !== 0) return;\n if (isFocusNode(evt.target)) return;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n scrollBody.useFriction(0).useDuration(0);\n target.set(location);\n addDragEvents();\n startScroll = dragTracker.readPoint(evt);\n startCross = dragTracker.readPoint(evt, crossAxis);\n eventHandler.emit('pointerDown');\n }\n function move(evt) {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow);\n if (isTouchEvt && evt.touches.length >= 2) return up(evt);\n const lastScroll = dragTracker.readPoint(evt);\n const lastCross = dragTracker.readPoint(evt, crossAxis);\n const diffScroll = deltaAbs(lastScroll, startScroll);\n const diffCross = deltaAbs(lastCross, startCross);\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt);\n preventScroll = diffScroll > diffCross;\n if (!preventScroll) return up(evt);\n }\n const diff = dragTracker.pointerMove(evt);\n if (diffScroll > dragThreshold) preventClick = true;\n scrollBody.useFriction(0.3).useDuration(0.75);\n animation.start();\n target.add(direction(diff));\n evt.preventDefault();\n }\n function up(evt) {\n const currentLocation = scrollTarget.byDistance(0, false);\n const targetChanged = currentLocation.index !== index.get();\n const rawForce = dragTracker.pointerUp(evt) * forceBoost();\n const force = allowedForce(direction(rawForce), targetChanged);\n const forceFactor = factorAbs(rawForce, force);\n const speed = baseSpeed - 10 * forceFactor;\n const friction = baseFriction + forceFactor / 50;\n preventScroll = false;\n pointerIsDown = false;\n dragEvents.clear();\n scrollBody.useDuration(speed).useFriction(friction);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n eventHandler.emit('pointerUp');\n }\n function click(evt) {\n if (preventClick) {\n evt.stopPropagation();\n evt.preventDefault();\n preventClick = false;\n }\n }\n function pointerDown() {\n return pointerIsDown;\n }\n const self = {\n init,\n destroy,\n pointerDown\n };\n return self;\n}\n\nfunction DragTracker(axis, ownerWindow) {\n const logInterval = 170;\n let startEvent;\n let lastEvent;\n function readTime(evt) {\n return evt.timeStamp;\n }\n function readPoint(evt, evtAxis) {\n const property = evtAxis || axis.scroll;\n const coord = `client${property === 'x' ? 'X' : 'Y'}`;\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord];\n }\n function pointerDown(evt) {\n startEvent = evt;\n lastEvent = evt;\n return readPoint(evt);\n }\n function pointerMove(evt) {\n const diff = readPoint(evt) - readPoint(lastEvent);\n const expired = readTime(evt) - readTime(startEvent) > logInterval;\n lastEvent = evt;\n if (expired) startEvent = evt;\n return diff;\n }\n function pointerUp(evt) {\n if (!startEvent || !lastEvent) return 0;\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent);\n const diffTime = readTime(evt) - readTime(startEvent);\n const expired = readTime(evt) - readTime(lastEvent) > logInterval;\n const force = diffDrag / diffTime;\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1;\n return isFlick ? force : 0;\n }\n const self = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n };\n return self;\n}\n\nfunction NodeRects() {\n function measure(node) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = node;\n const offset = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n };\n return offset;\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction PercentOfView(viewSize) {\n function measure(n) {\n return viewSize * (n / 100);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) {\n const observeNodes = [container].concat(slides);\n let resizeObserver;\n let containerSize;\n let slideSizes = [];\n let destroyed = false;\n function readSize(node) {\n return axis.measureSize(nodeRects.measure(node));\n }\n function init(emblaApi) {\n if (!watchResize) return;\n containerSize = readSize(container);\n slideSizes = slides.map(readSize);\n function defaultCallback(entries) {\n for (const entry of entries) {\n if (destroyed) return;\n const isContainer = entry.target === container;\n const slideIndex = slides.indexOf(entry.target);\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex];\n const newSize = readSize(isContainer ? container : slides[slideIndex]);\n const diffSize = mathAbs(newSize - lastSize);\n if (diffSize >= 0.5) {\n emblaApi.reInit();\n eventHandler.emit('resize');\n break;\n }\n }\n }\n resizeObserver = new ResizeObserver(entries => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries);\n }\n });\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach(node => resizeObserver.observe(node));\n });\n }\n function destroy() {\n destroyed = true;\n if (resizeObserver) resizeObserver.disconnect();\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) {\n let scrollVelocity = 0;\n let scrollDirection = 0;\n let scrollDuration = baseDuration;\n let scrollFriction = baseFriction;\n let rawLocation = location.get();\n let rawLocationPrevious = 0;\n function seek() {\n const displacement = target.get() - location.get();\n const isInstant = !scrollDuration;\n let scrollDistance = 0;\n if (isInstant) {\n scrollVelocity = 0;\n previousLocation.set(target);\n location.set(target);\n scrollDistance = displacement;\n } else {\n previousLocation.set(location);\n scrollVelocity += displacement / scrollDuration;\n scrollVelocity *= scrollFriction;\n rawLocation += scrollVelocity;\n location.add(scrollVelocity);\n scrollDistance = rawLocation - rawLocationPrevious;\n }\n scrollDirection = mathSign(scrollDistance);\n rawLocationPrevious = rawLocation;\n return self;\n }\n function settled() {\n const diff = target.get() - offsetLocation.get();\n return mathAbs(diff) < 0.001;\n }\n function duration() {\n return scrollDuration;\n }\n function direction() {\n return scrollDirection;\n }\n function velocity() {\n return scrollVelocity;\n }\n function useBaseDuration() {\n return useDuration(baseDuration);\n }\n function useBaseFriction() {\n return useFriction(baseFriction);\n }\n function useDuration(n) {\n scrollDuration = n;\n return self;\n }\n function useFriction(n) {\n scrollFriction = n;\n return self;\n }\n const self = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody, percentOfView) {\n const pullBackThreshold = percentOfView.measure(10);\n const edgeOffsetTolerance = percentOfView.measure(50);\n const frictionLimit = Limit(0.1, 0.99);\n let disabled = false;\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max';\n const diffToEdge = mathAbs(limit[edge] - location.get());\n const diffToTarget = target.get() - location.get();\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance);\n target.subtract(diffToTarget * friction);\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useDuration(25).useBaseFriction();\n }\n }\n function toggleActive(active) {\n disabled = !active;\n }\n const self = {\n shouldConstrain,\n constrain,\n toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) {\n const scrollBounds = Limit(-contentSize + viewSize, 0);\n const snapsBounded = measureBounded();\n const scrollContainLimit = findScrollContainLimit();\n const snapsContained = measureContained();\n function usePixelTolerance(bound, snap) {\n return deltaAbs(bound, snap) <= 1;\n }\n function findScrollContainLimit() {\n const startSnap = snapsBounded[0];\n const endSnap = arrayLast(snapsBounded);\n const min = snapsBounded.lastIndexOf(startSnap);\n const max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n function measureBounded() {\n return snapsAligned.map((snapAligned, index) => {\n const {\n min,\n max\n } = scrollBounds;\n const snap = scrollBounds.constrain(snapAligned);\n const isFirst = !index;\n const isLast = arrayIsLastIndex(snapsAligned, index);\n if (isFirst) return max;\n if (isLast) return min;\n if (usePixelTolerance(min, snap)) return min;\n if (usePixelTolerance(max, snap)) return max;\n return snap;\n }).map(scrollBound => parseFloat(scrollBound.toFixed(3)));\n }\n function measureContained() {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n const {\n min,\n max\n } = scrollContainLimit;\n return snapsBounded.slice(min, max);\n }\n const self = {\n snapsContained,\n scrollContainLimit\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n const max = scrollSnaps[0];\n const min = loop ? max - contentSize : arrayLast(scrollSnaps);\n const limit = Limit(min, max);\n const self = {\n limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, limit, location, vectors) {\n const jointSafety = 0.1;\n const min = limit.min + jointSafety;\n const max = limit.max + jointSafety;\n const {\n reachedMin,\n reachedMax\n } = Limit(min, max);\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n const loopDistance = contentSize * (direction * -1);\n vectors.forEach(v => v.add(loopDistance));\n }\n const self = {\n loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n const {\n max,\n length\n } = limit;\n function get(n) {\n const currentLocation = n - max;\n return length ? currentLocation / -length : 0;\n }\n const self = {\n get\n };\n return self;\n}\n\nfunction ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) {\n const {\n startEdge,\n endEdge\n } = axis;\n const {\n groupSlides\n } = slidesToScroll;\n const alignments = measureSizes().map(alignment.measure);\n const snaps = measureUnaligned();\n const snapsAligned = measureAligned();\n function measureSizes() {\n return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs);\n }\n function measureUnaligned() {\n return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap));\n }\n function measureAligned() {\n return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]);\n }\n const self = {\n snaps,\n snapsAligned\n };\n return self;\n}\n\nfunction SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) {\n const {\n groupSlides\n } = slidesToScroll;\n const {\n min,\n max\n } = scrollContainLimit;\n const slideRegistry = createSlideRegistry();\n function createSlideRegistry() {\n const groupedSlideIndexes = groupSlides(slideIndexes);\n const doNotContain = !containSnaps || containScroll === 'keepSnaps';\n if (scrollSnaps.length === 1) return [slideIndexes];\n if (doNotContain) return groupedSlideIndexes;\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(groups, index);\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1;\n return arrayFromNumber(range);\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1;\n return arrayFromNumber(range, arrayLast(groups)[0]);\n }\n return group;\n });\n }\n const self = {\n slideRegistry\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n const {\n reachedAny,\n removeOffset,\n constrain\n } = limit;\n function minDistance(distances) {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0];\n }\n function findTargetSnap(target) {\n const distance = loop ? removeOffset(target) : constrain(target);\n const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({\n diff: shortcut(snap - distance, 0),\n index\n })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff));\n const {\n index\n } = ascDiffsToSnaps[0];\n return {\n index,\n distance\n };\n }\n function shortcut(target, direction) {\n const targets = [target, target + contentSize, target - contentSize];\n if (!loop) return target;\n if (!direction) return minDistance(targets);\n const matchingTargets = targets.filter(t => mathSign(t) === direction);\n if (matchingTargets.length) return minDistance(matchingTargets);\n return arrayLast(targets) - contentSize;\n }\n function byIndex(index, direction) {\n const diffToSnap = scrollSnaps[index] - targetVector.get();\n const distance = shortcut(diffToSnap, direction);\n return {\n index,\n distance\n };\n }\n function byDistance(distance, snap) {\n const target = targetVector.get() + distance;\n const {\n index,\n distance: targetSnapDistance\n } = findTargetSnap(target);\n const reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index,\n distance\n };\n const diffToSnap = scrollSnaps[index] - targetSnapDistance;\n const snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index,\n distance: snapDistance\n };\n }\n const self = {\n byDistance,\n byIndex,\n shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) {\n function scrollTo(target) {\n const distanceDiff = target.distance;\n const indexDiff = target.index !== indexCurrent.get();\n targetVector.add(distanceDiff);\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start();\n } else {\n animation.update();\n animation.render(1);\n animation.update();\n }\n }\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n eventHandler.emit('select');\n }\n }\n function distance(n, snap) {\n const target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n function index(n, direction) {\n const targetIndex = indexCurrent.clone().set(n);\n const target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n const self = {\n distance,\n index\n };\n return self;\n}\n\nfunction SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) {\n const focusListenerOptions = {\n passive: true,\n capture: true\n };\n let lastTabPressTime = 0;\n function init(emblaApi) {\n if (!watchFocus) return;\n function defaultCallback(index) {\n const nowTime = new Date().getTime();\n const diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n eventHandler.emit('slideFocusStart');\n root.scrollLeft = 0;\n const group = slideRegistry.findIndex(group => group.includes(index));\n if (!isNumber(group)) return;\n scrollBody.useDuration(0);\n scrollTo.index(group, 0);\n eventHandler.emit('slideFocus');\n }\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach((slide, slideIndex) => {\n eventStore.add(slide, 'focus', evt => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex);\n }\n }, focusListenerOptions);\n });\n }\n function registerTabPress(event) {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime();\n }\n const self = {\n init\n };\n return self;\n}\n\nfunction Vector1D(initialValue) {\n let value = initialValue;\n function get() {\n return value;\n }\n function set(n) {\n value = normalizeInput(n);\n }\n function add(n) {\n value += normalizeInput(n);\n }\n function subtract(n) {\n value -= normalizeInput(n);\n }\n function normalizeInput(n) {\n return isNumber(n) ? n : n.get();\n }\n const self = {\n get,\n set,\n add,\n subtract\n };\n return self;\n}\n\nfunction Translate(axis, container) {\n const translate = axis.scroll === 'x' ? x : y;\n const containerStyle = container.style;\n let previousTarget = null;\n let disabled = false;\n function x(n) {\n return `translate3d(${n}px,0px,0px)`;\n }\n function y(n) {\n return `translate3d(0px,${n}px,0px)`;\n }\n function to(target) {\n if (disabled) return;\n const newTarget = roundToTwoDecimals(axis.direction(target));\n if (newTarget === previousTarget) return;\n containerStyle.transform = translate(newTarget);\n previousTarget = newTarget;\n }\n function toggleActive(active) {\n disabled = !active;\n }\n function clear() {\n if (disabled) return;\n containerStyle.transform = '';\n if (!container.getAttribute('style')) container.removeAttribute('style');\n }\n const self = {\n clear,\n to,\n toggleActive\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) {\n const roundingSafety = 0.5;\n const ascItems = arrayKeys(slideSizesWithGaps);\n const descItems = arrayKeys(slideSizesWithGaps).reverse();\n const loopPoints = startPoints().concat(endPoints());\n function removeSlideSizes(indexes, from) {\n return indexes.reduce((a, i) => {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n function slidesInGap(indexes, gap) {\n return indexes.reduce((a, i) => {\n const remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n function findSlideBounds(offset) {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }));\n }\n function findLoopPoints(indexes, offset, isEndEdge) {\n const slideBounds = findSlideBounds(offset);\n return indexes.map(index => {\n const initial = isEndEdge ? 0 : -contentSize;\n const altered = isEndEdge ? contentSize : 0;\n const boundEdge = isEndEdge ? 'end' : 'start';\n const loopPoint = slideBounds[index][boundEdge];\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => location.get() > loopPoint ? initial : altered\n };\n });\n }\n function startPoints() {\n const gap = scrollSnaps[0];\n const indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, contentSize, false);\n }\n function endPoints() {\n const gap = viewSize - scrollSnaps[0] - 1;\n const indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, -contentSize, true);\n }\n function canLoop() {\n return loopPoints.every(({\n index\n }) => {\n const otherIndexes = ascItems.filter(i => i !== index);\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1;\n });\n }\n function loop() {\n loopPoints.forEach(loopPoint => {\n const {\n target,\n translate,\n slideLocation\n } = loopPoint;\n const shiftLocation = target();\n if (shiftLocation === slideLocation.get()) return;\n translate.to(shiftLocation);\n slideLocation.set(shiftLocation);\n });\n }\n function clear() {\n loopPoints.forEach(loopPoint => loopPoint.translate.clear());\n }\n const self = {\n canLoop,\n clear,\n loop,\n loopPoints\n };\n return self;\n}\n\nfunction SlidesHandler(container, eventHandler, watchSlides) {\n let mutationObserver;\n let destroyed = false;\n function init(emblaApi) {\n if (!watchSlides) return;\n function defaultCallback(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit();\n eventHandler.emit('slidesChanged');\n break;\n }\n }\n }\n mutationObserver = new MutationObserver(mutations => {\n if (destroyed) return;\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations);\n }\n });\n mutationObserver.observe(container, {\n childList: true\n });\n }\n function destroy() {\n if (mutationObserver) mutationObserver.disconnect();\n destroyed = true;\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction SlidesInView(container, slides, eventHandler, threshold) {\n const intersectionEntryMap = {};\n let inViewCache = null;\n let notInViewCache = null;\n let intersectionObserver;\n let destroyed = false;\n function init() {\n intersectionObserver = new IntersectionObserver(entries => {\n if (destroyed) return;\n entries.forEach(entry => {\n const index = slides.indexOf(entry.target);\n intersectionEntryMap[index] = entry;\n });\n inViewCache = null;\n notInViewCache = null;\n eventHandler.emit('slidesInView');\n }, {\n root: container.parentElement,\n threshold\n });\n slides.forEach(slide => intersectionObserver.observe(slide));\n }\n function destroy() {\n if (intersectionObserver) intersectionObserver.disconnect();\n destroyed = true;\n }\n function createInViewList(inView) {\n return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => {\n const index = parseInt(slideIndex);\n const {\n isIntersecting\n } = intersectionEntryMap[index];\n const inViewMatch = inView && isIntersecting;\n const notInViewMatch = !inView && !isIntersecting;\n if (inViewMatch || notInViewMatch) list.push(index);\n return list;\n }, []);\n }\n function get(inView = true) {\n if (inView && inViewCache) return inViewCache;\n if (!inView && notInViewCache) return notInViewCache;\n const slideIndexes = createInViewList(inView);\n if (inView) inViewCache = slideIndexes;\n if (!inView) notInViewCache = slideIndexes;\n return slideIndexes;\n }\n const self = {\n init,\n destroy,\n get\n };\n return self;\n}\n\nfunction SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) {\n const {\n measureSize,\n startEdge,\n endEdge\n } = axis;\n const withEdgeGap = slideRects[0] && readEdgeGap;\n const startGap = measureStartGap();\n const endGap = measureEndGap();\n const slideSizes = slideRects.map(measureSize);\n const slideSizesWithGaps = measureWithGaps();\n function measureStartGap() {\n if (!withEdgeGap) return 0;\n const slideRect = slideRects[0];\n return mathAbs(containerRect[startEdge] - slideRect[startEdge]);\n }\n function measureEndGap() {\n if (!withEdgeGap) return 0;\n const style = ownerWindow.getComputedStyle(arrayLast(slides));\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`));\n }\n function measureWithGaps() {\n return slideRects.map((rect, index, rects) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(rects, index);\n if (isFirst) return slideSizes[index] + startGap;\n if (isLast) return slideSizes[index] + endGap;\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(mathAbs);\n }\n const self = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n };\n return self;\n}\n\nfunction SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) {\n const {\n startEdge,\n endEdge,\n direction\n } = axis;\n const groupByNumber = isNumber(slidesToScroll);\n function byNumber(array, groupSize) {\n return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize));\n }\n function bySize(array) {\n if (!array.length) return [];\n return arrayKeys(array).reduce((groups, rectB, index) => {\n const rectA = arrayLast(groups) || 0;\n const isFirst = rectA === 0;\n const isLast = rectB === arrayLastIndex(array);\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge];\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge];\n const gapA = !loop && isFirst ? direction(startGap) : 0;\n const gapB = !loop && isLast ? direction(endGap) : 0;\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA));\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB);\n if (isLast) groups.push(array.length);\n return groups;\n }, []).map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0);\n return array.slice(previousSize, currentSize);\n });\n }\n function groupSlides(array) {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array);\n }\n const self = {\n groupSlides\n };\n return self;\n}\n\nfunction Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options;\n // Measurements\n const pixelTolerance = 2;\n const nodeRects = NodeRects();\n const containerRect = nodeRects.measure(container);\n const slideRects = slides.map(nodeRects.measure);\n const axis = Axis(scrollAxis, direction);\n const viewSize = axis.measureSize(containerRect);\n const percentOfView = PercentOfView(viewSize);\n const alignment = Alignment(align, viewSize);\n const containSnaps = !loop && !!containScroll;\n const readEdgeGap = loop || !!containScroll;\n const {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow);\n const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance);\n const {\n snaps,\n snapsAligned\n } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll);\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n const {\n snapsContained,\n scrollContainLimit\n } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance);\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned;\n const {\n limit\n } = ScrollLimit(contentSize, scrollSnaps, loop);\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop);\n const indexPrevious = index.clone();\n const slideIndexes = arrayKeys(slides);\n // Animation\n const update = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: {\n loop\n }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown());\n scrollBody.seek();\n };\n const render = ({\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: {\n loop\n }\n }, alpha) => {\n const shouldSettle = scrollBody.settled();\n const withinBounds = !scrollBounds.shouldConstrain();\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds;\n const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown();\n if (hasSettledAndIdle) animation.stop();\n const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha);\n offsetLocation.set(interpolatedLocation);\n if (loop) {\n scrollLooper.loop(scrollBody.direction());\n slideLooper.loop();\n }\n translate.to(offsetLocation.get());\n if (hasSettledAndIdle) eventHandler.emit('settle');\n if (!hasSettled) eventHandler.emit('scroll');\n };\n const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha));\n // Shared\n const friction = 0.68;\n const startLocation = scrollSnaps[index.get()];\n const location = Vector1D(startLocation);\n const previousLocation = Vector1D(startLocation);\n const offsetLocation = Vector1D(startLocation);\n const target = Vector1D(startLocation);\n const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction);\n const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler);\n const scrollProgress = ScrollProgress(limit);\n const eventStore = EventStore();\n const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold);\n const {\n slideRegistry\n } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes);\n const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus);\n // Engine\n const engine = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects),\n scrollBody,\n scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n };\n return engine;\n}\n\nfunction EventHandler() {\n let listeners = {};\n let api;\n function init(emblaApi) {\n api = emblaApi;\n }\n function getListeners(evt) {\n return listeners[evt] || [];\n }\n function emit(evt) {\n getListeners(evt).forEach(e => e(api, evt));\n return self;\n }\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(e => e !== cb);\n return self;\n }\n function clear() {\n listeners = {};\n }\n const self = {\n init,\n emit,\n off,\n on,\n clear\n };\n return self;\n}\n\nconst defaultOptions = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n};\n\nfunction OptionsHandler(ownerWindow) {\n function mergeOptions(optionsA, optionsB) {\n return objectsMergeDeep(optionsA, optionsB || {});\n }\n function optionsAtMedia(options) {\n const optionsAtMedia = options.breakpoints || {};\n const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {});\n return mergeOptions(options, matchedMediaOptions);\n }\n function optionsMediaQueries(optionsList) {\n return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia);\n }\n const self = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n };\n return self;\n}\n\nfunction PluginsHandler(optionsHandler) {\n let activePlugins = [];\n function init(emblaApi, plugins) {\n activePlugins = plugins.filter(({\n options\n }) => optionsHandler.optionsAtMedia(options).active !== false);\n activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler));\n return plugins.reduce((map, plugin) => Object.assign(map, {\n [plugin.name]: plugin\n }), {});\n }\n function destroy() {\n activePlugins = activePlugins.filter(plugin => plugin.destroy());\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction EmblaCarousel(root, userOptions, userPlugins) {\n const ownerDocument = root.ownerDocument;\n const ownerWindow = ownerDocument.defaultView;\n const optionsHandler = OptionsHandler(ownerWindow);\n const pluginsHandler = PluginsHandler(optionsHandler);\n const mediaHandlers = EventStore();\n const eventHandler = EventHandler();\n const {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n } = optionsHandler;\n const {\n on,\n off,\n emit\n } = eventHandler;\n const reInit = reActivate;\n let destroyed = false;\n let engine;\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions);\n let options = mergeOptions(optionsBase);\n let pluginList = [];\n let pluginApis;\n let container;\n let slides;\n function storeElements() {\n const {\n container: userContainer,\n slides: userSlides\n } = options;\n const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer;\n container = customContainer || root.children[0];\n const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides;\n slides = [].slice.call(customSlides || container.children);\n }\n function createEngine(options) {\n const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler);\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, {\n loop: false\n });\n return createEngine(optionsWithoutLoop);\n }\n return engine;\n }\n function activate(withOptions, withPlugins) {\n if (destroyed) return;\n optionsBase = mergeOptions(optionsBase, withOptions);\n options = optionsAtMedia(optionsBase);\n pluginList = withPlugins || pluginList;\n storeElements();\n engine = createEngine(options);\n optionsMediaQueries([optionsBase, ...pluginList.map(({\n options\n }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate));\n if (!options.active) return;\n engine.translate.to(engine.location.get());\n engine.animation.init();\n engine.slidesInView.init();\n engine.slideFocus.init(self);\n engine.eventHandler.init(self);\n engine.resizeHandler.init(self);\n engine.slidesHandler.init(self);\n if (engine.options.loop) engine.slideLooper.loop();\n if (container.offsetParent && slides.length) engine.dragHandler.init(self);\n pluginApis = pluginsHandler.init(self, pluginList);\n }\n function reActivate(withOptions, withPlugins) {\n const startIndex = selectedScrollSnap();\n deActivate();\n activate(mergeOptions({\n startIndex\n }, withOptions), withPlugins);\n eventHandler.emit('reInit');\n }\n function deActivate() {\n engine.dragHandler.destroy();\n engine.eventStore.clear();\n engine.translate.clear();\n engine.slideLooper.clear();\n engine.resizeHandler.destroy();\n engine.slidesHandler.destroy();\n engine.slidesInView.destroy();\n engine.animation.destroy();\n pluginsHandler.destroy();\n mediaHandlers.clear();\n }\n function destroy() {\n if (destroyed) return;\n destroyed = true;\n mediaHandlers.clear();\n deActivate();\n eventHandler.emit('destroy');\n eventHandler.clear();\n }\n function scrollTo(index, jump, direction) {\n if (!options.active || destroyed) return;\n engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration);\n engine.scrollTo.index(index, direction || 0);\n }\n function scrollNext(jump) {\n const next = engine.index.add(1).get();\n scrollTo(next, jump, -1);\n }\n function scrollPrev(jump) {\n const prev = engine.index.add(-1).get();\n scrollTo(prev, jump, 1);\n }\n function canScrollNext() {\n const next = engine.index.add(1).get();\n return next !== selectedScrollSnap();\n }\n function canScrollPrev() {\n const prev = engine.index.add(-1).get();\n return prev !== selectedScrollSnap();\n }\n function scrollSnapList() {\n return engine.scrollSnapList;\n }\n function scrollProgress() {\n return engine.scrollProgress.get(engine.offsetLocation.get());\n }\n function selectedScrollSnap() {\n return engine.index.get();\n }\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n function slidesInView() {\n return engine.slidesInView.get();\n }\n function slidesNotInView() {\n return engine.slidesInView.get(false);\n }\n function plugins() {\n return pluginApis;\n }\n function internalEngine() {\n return engine;\n }\n function rootNode() {\n return root;\n }\n function containerNode() {\n return container;\n }\n function slideNodes() {\n return slides;\n }\n const self = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n };\n activate(userOptions, userPlugins);\n setTimeout(() => eventHandler.emit('init'), 0);\n return self;\n}\nEmblaCarousel.globalOptions = undefined;\n\nexport { EmblaCarousel as default };\n//# sourceMappingURL=embla-carousel.esm.js.map\n","import { useRef, useState, useCallback, useEffect } from 'react';\nimport { areOptionsEqual, arePluginsEqual, canUseDOM } from 'embla-carousel-reactive-utils';\nimport EmblaCarousel from 'embla-carousel';\n\nfunction useEmblaCarousel(options = {}, plugins = []) {\n const storedOptions = useRef(options);\n const storedPlugins = useRef(plugins);\n const [emblaApi, setEmblaApi] = useState();\n const [viewport, setViewport] = useState();\n const reInit = useCallback(() => {\n if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current);\n }, [emblaApi]);\n useEffect(() => {\n if (areOptionsEqual(storedOptions.current, options)) return;\n storedOptions.current = options;\n reInit();\n }, [options, reInit]);\n useEffect(() => {\n if (arePluginsEqual(storedPlugins.current, plugins)) return;\n storedPlugins.current = plugins;\n reInit();\n }, [plugins, reInit]);\n useEffect(() => {\n if (canUseDOM() && viewport) {\n EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions;\n const newEmblaApi = EmblaCarousel(viewport, storedOptions.current, storedPlugins.current);\n setEmblaApi(newEmblaApi);\n return () => newEmblaApi.destroy();\n } else {\n setEmblaApi(undefined);\n }\n }, [viewport, setEmblaApi]);\n return [setViewport, emblaApi];\n}\nuseEmblaCarousel.globalOptions = undefined;\n\nexport { useEmblaCarousel as default };\n//# sourceMappingURL=embla-carousel-react.esm.js.map\n","import useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./Button.js\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return;\n }\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n },\n);\nCarousel.displayName = \"Carousel\";\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className,\n )}\n {...props}\n />\n </div>\n );\n});\nCarouselContent.displayName = \"CarouselContent\";\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className,\n )}\n {...props}\n />\n );\n});\nCarouselItem.displayName = \"CarouselItem\";\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n});\nCarouselPrevious.displayName = \"CarouselPrevious\";\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n});\nCarouselNext.displayName = \"CarouselNext\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n};\n"],"names":["isObject","subject","isRecord","canUseDOM","areOptionsEqual","optionsA","optionsB","optionsAKeys","optionsBKeys","breakpointsA","breakpointsB","key","valueA","valueB","sortAndMapPluginToOptions","plugins","a","b","plugin","arePluginsEqual","pluginsA","pluginsB","optionA","index","optionB","isNumber","isString","isBoolean","mathAbs","n","mathSign","deltaAbs","factorAbs","diff","roundToTwoDecimals","num","arrayKeys","array","objectKeys","arrayLast","arrayLastIndex","arrayIsLastIndex","arrayFromNumber","startAt","_","i","object","objectsMergeDeep","objectA","objectB","mergedObjects","currentObject","areObjects","isMouseEvent","evt","ownerWindow","Alignment","align","viewSize","predefined","start","center","end","measure","EventStore","listeners","add","node","type","handler","options","removeListener","legacyMediaQueryList","self","clear","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","init","reset","destroy","stop","animate","timeStamp","timeElapsed","alpha","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","sign","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","max","length","reachedMin","reachedMax","reachedAny","constrain","removeOffset","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","target","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","emblaApi","downIfAllowed","down","up","click","addDragEvents","move","isFocusNode","nodeName","forceBoost","allowedForce","force","targetChanged","next","baseForce","isMouseEvt","lastScroll","lastCross","diffScroll","diffCross","rawForce","forceFactor","speed","friction","pointerDown","DragTracker","startEvent","lastEvent","readTime","readPoint","evtAxis","coord","pointerMove","expired","pointerUp","diffDrag","diffTime","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","PercentOfView","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","resizeObserver","containerSize","slideSizes","destroyed","readSize","defaultCallback","entries","entry","isContainer","slideIndex","lastSize","newSize","ScrollBody","offsetLocation","previousLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","displacement","isInstant","scrollDistance","settled","duration","velocity","useBaseDuration","useDuration","useBaseFriction","useFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","snapAligned","isFirst","isLast","scrollBound","ScrollLimit","scrollSnaps","ScrollLooper","vectors","shouldLoop","loopDistance","v","ScrollProgress","currentLocation","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","g","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","findTargetSnap","distance","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","byIndex","diffToSnap","byDistance","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","root","eventStore","watchFocus","focusListenerOptions","lastTabPressTime","registerTabPress","slide","event","Vector1D","initialValue","value","normalizeInput","subtract","Translate","translate","x","y","containerStyle","previousTarget","to","newTarget","SlideLooper","slideSizesWithGaps","ascItems","descItems","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","from","slidesInGap","gap","findSlideBounds","offset","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","canLoop","otherIndexes","slideLocation","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","createInViewList","inView","list","isIntersecting","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","style","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","hasSettledAndIdle","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","EventHandler","api","getListeners","emit","e","on","cb","off","defaultOptions","OptionsHandler","mergeOptions","optionsAtMedia","matchedMediaOptions","media","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","optionsHandler","activePlugins","map","EmblaCarousel","userOptions","userPlugins","pluginsHandler","mediaHandlers","reInit","reActivate","optionsBase","pluginList","pluginApis","storeElements","userContainer","userSlides","customSlides","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","selectedScrollSnap","deActivate","jump","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","scrollSnapList","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","useEmblaCarousel","storedOptions","useRef","storedPlugins","setEmblaApi","useState","viewport","setViewport","useCallback","useEffect","newEmblaApi","CarouselContext","React","useCarousel","context","Carousel","orientation","opts","setApi","className","children","props","ref","carouselRef","setCanScrollPrev","setCanScrollNext","onSelect","handleKeyDown","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"Carousel.js","sources":["../../../../node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js","../../../../node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js","../../../../node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js","../../src/lib/ui/Carousel.tsx"],"sourcesContent":["function isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction isRecord(subject) {\n return isObject(subject) || Array.isArray(subject);\n}\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\nfunction areOptionsEqual(optionsA, optionsB) {\n const optionsAKeys = Object.keys(optionsA);\n const optionsBKeys = Object.keys(optionsB);\n if (optionsAKeys.length !== optionsBKeys.length) return false;\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}));\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}));\n if (breakpointsA !== breakpointsB) return false;\n return optionsAKeys.every(key => {\n const valueA = optionsA[key];\n const valueB = optionsB[key];\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`;\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB;\n return areOptionsEqual(valueA, valueB);\n });\n}\nfunction sortAndMapPluginToOptions(plugins) {\n return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options);\n}\nfunction arePluginsEqual(pluginsA, pluginsB) {\n if (pluginsA.length !== pluginsB.length) return false;\n const optionsA = sortAndMapPluginToOptions(pluginsA);\n const optionsB = sortAndMapPluginToOptions(pluginsB);\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index];\n return areOptionsEqual(optionA, optionB);\n });\n}\n\nexport { areOptionsEqual, arePluginsEqual, canUseDOM, sortAndMapPluginToOptions };\n//# sourceMappingURL=embla-carousel-reactive-utils.esm.js.map\n","function isNumber(subject) {\n return typeof subject === 'number';\n}\nfunction isString(subject) {\n return typeof subject === 'string';\n}\nfunction isBoolean(subject) {\n return typeof subject === 'boolean';\n}\nfunction isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction mathAbs(n) {\n return Math.abs(n);\n}\nfunction mathSign(n) {\n return Math.sign(n);\n}\nfunction deltaAbs(valueB, valueA) {\n return mathAbs(valueB - valueA);\n}\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0;\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA));\n return mathAbs(diff / valueB);\n}\nfunction roundToTwoDecimals(num) {\n return Math.round(num * 100) / 100;\n}\nfunction arrayKeys(array) {\n return objectKeys(array).map(Number);\n}\nfunction arrayLast(array) {\n return array[arrayLastIndex(array)];\n}\nfunction arrayLastIndex(array) {\n return Math.max(0, array.length - 1);\n}\nfunction arrayIsLastIndex(array, index) {\n return index === arrayLastIndex(array);\n}\nfunction arrayFromNumber(n, startAt = 0) {\n return Array.from(Array(n), (_, i) => startAt + i);\n}\nfunction objectKeys(object) {\n return Object.keys(object);\n}\nfunction objectsMergeDeep(objectA, objectB) {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach(key => {\n const valueA = mergedObjects[key];\n const valueB = currentObject[key];\n const areObjects = isObject(valueA) && isObject(valueB);\n mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB;\n });\n return mergedObjects;\n }, {});\n}\nfunction isMouseEvent(evt, ownerWindow) {\n return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent;\n}\n\nfunction Alignment(align, viewSize) {\n const predefined = {\n start,\n center,\n end\n };\n function start() {\n return 0;\n }\n function center(n) {\n return end(n) / 2;\n }\n function end(n) {\n return viewSize - n;\n }\n function measure(n, index) {\n if (isString(align)) return predefined[align](n);\n return align(viewSize, n, index);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction EventStore() {\n let listeners = [];\n function add(node, type, handler, options = {\n passive: true\n }) {\n let removeListener;\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options);\n removeListener = () => node.removeEventListener(type, handler, options);\n } else {\n const legacyMediaQueryList = node;\n legacyMediaQueryList.addListener(handler);\n removeListener = () => legacyMediaQueryList.removeListener(handler);\n }\n listeners.push(removeListener);\n return self;\n }\n function clear() {\n listeners = listeners.filter(remove => remove());\n }\n const self = {\n add,\n clear\n };\n return self;\n}\n\nfunction Animations(ownerDocument, ownerWindow, update, render) {\n const documentVisibleHandler = EventStore();\n const fixedTimeStep = 1000 / 60;\n let lastTimeStamp = null;\n let accumulatedTime = 0;\n let animationId = 0;\n function init() {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset();\n });\n }\n function destroy() {\n stop();\n documentVisibleHandler.clear();\n }\n function animate(timeStamp) {\n if (!animationId) return;\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp;\n update();\n update();\n }\n const timeElapsed = timeStamp - lastTimeStamp;\n lastTimeStamp = timeStamp;\n accumulatedTime += timeElapsed;\n while (accumulatedTime >= fixedTimeStep) {\n update();\n accumulatedTime -= fixedTimeStep;\n }\n const alpha = accumulatedTime / fixedTimeStep;\n render(alpha);\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n }\n function start() {\n if (animationId) return;\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n function stop() {\n ownerWindow.cancelAnimationFrame(animationId);\n lastTimeStamp = null;\n accumulatedTime = 0;\n animationId = 0;\n }\n function reset() {\n lastTimeStamp = null;\n accumulatedTime = 0;\n }\n const self = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n const isRightToLeft = contentDirection === 'rtl';\n const isVertical = axis === 'y';\n const scroll = isVertical ? 'y' : 'x';\n const cross = isVertical ? 'x' : 'y';\n const sign = !isVertical && isRightToLeft ? -1 : 1;\n const startEdge = getStartEdge();\n const endEdge = getEndEdge();\n function measureSize(nodeRect) {\n const {\n height,\n width\n } = nodeRect;\n return isVertical ? height : width;\n }\n function getStartEdge() {\n if (isVertical) return 'top';\n return isRightToLeft ? 'right' : 'left';\n }\n function getEndEdge() {\n if (isVertical) return 'bottom';\n return isRightToLeft ? 'left' : 'right';\n }\n function direction(n) {\n return n * sign;\n }\n const self = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n };\n return self;\n}\n\nfunction Limit(min = 0, max = 0) {\n const length = mathAbs(min - max);\n function reachedMin(n) {\n return n < min;\n }\n function reachedMax(n) {\n return n > max;\n }\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n const self = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n const {\n constrain\n } = Limit(0, max);\n const loopEnd = max + 1;\n let counter = withinLimit(start);\n function withinLimit(n) {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd);\n }\n function get() {\n return counter;\n }\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n function add(n) {\n return clone().set(get() + n);\n }\n function clone() {\n return Counter(max, get(), loop);\n }\n const self = {\n get,\n set,\n add,\n clone\n };\n return self;\n}\n\nfunction DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) {\n const {\n cross: crossAxis,\n direction\n } = axis;\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n const nonPassiveEvent = {\n passive: false\n };\n const initEvents = EventStore();\n const dragEvents = EventStore();\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20));\n const snapForceBoost = {\n mouse: 300,\n touch: 400\n };\n const freeForceBoost = {\n mouse: 500,\n touch: 600\n };\n const baseSpeed = dragFree ? 43 : 25;\n let isMoving = false;\n let startScroll = 0;\n let startCross = 0;\n let pointerIsDown = false;\n let preventScroll = false;\n let preventClick = false;\n let isMouse = false;\n function init(emblaApi) {\n if (!watchDrag) return;\n function downIfAllowed(evt) {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt);\n }\n const node = rootNode;\n initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true);\n }\n function destroy() {\n initEvents.clear();\n dragEvents.clear();\n }\n function addDragEvents() {\n const node = isMouse ? ownerDocument : rootNode;\n dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up);\n }\n function isFocusNode(node) {\n const nodeName = node.nodeName || '';\n return focusNodes.includes(nodeName);\n }\n function forceBoost() {\n const boost = dragFree ? freeForceBoost : snapForceBoost;\n const type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n function allowedForce(force, targetChanged) {\n const next = index.add(mathSign(force) * -1);\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n function down(evt) {\n const isMouseEvt = isMouseEvent(evt, ownerWindow);\n isMouse = isMouseEvt;\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving;\n isMoving = deltaAbs(target.get(), location.get()) >= 2;\n if (isMouseEvt && evt.button !== 0) return;\n if (isFocusNode(evt.target)) return;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n scrollBody.useFriction(0).useDuration(0);\n target.set(location);\n addDragEvents();\n startScroll = dragTracker.readPoint(evt);\n startCross = dragTracker.readPoint(evt, crossAxis);\n eventHandler.emit('pointerDown');\n }\n function move(evt) {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow);\n if (isTouchEvt && evt.touches.length >= 2) return up(evt);\n const lastScroll = dragTracker.readPoint(evt);\n const lastCross = dragTracker.readPoint(evt, crossAxis);\n const diffScroll = deltaAbs(lastScroll, startScroll);\n const diffCross = deltaAbs(lastCross, startCross);\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt);\n preventScroll = diffScroll > diffCross;\n if (!preventScroll) return up(evt);\n }\n const diff = dragTracker.pointerMove(evt);\n if (diffScroll > dragThreshold) preventClick = true;\n scrollBody.useFriction(0.3).useDuration(0.75);\n animation.start();\n target.add(direction(diff));\n evt.preventDefault();\n }\n function up(evt) {\n const currentLocation = scrollTarget.byDistance(0, false);\n const targetChanged = currentLocation.index !== index.get();\n const rawForce = dragTracker.pointerUp(evt) * forceBoost();\n const force = allowedForce(direction(rawForce), targetChanged);\n const forceFactor = factorAbs(rawForce, force);\n const speed = baseSpeed - 10 * forceFactor;\n const friction = baseFriction + forceFactor / 50;\n preventScroll = false;\n pointerIsDown = false;\n dragEvents.clear();\n scrollBody.useDuration(speed).useFriction(friction);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n eventHandler.emit('pointerUp');\n }\n function click(evt) {\n if (preventClick) {\n evt.stopPropagation();\n evt.preventDefault();\n preventClick = false;\n }\n }\n function pointerDown() {\n return pointerIsDown;\n }\n const self = {\n init,\n destroy,\n pointerDown\n };\n return self;\n}\n\nfunction DragTracker(axis, ownerWindow) {\n const logInterval = 170;\n let startEvent;\n let lastEvent;\n function readTime(evt) {\n return evt.timeStamp;\n }\n function readPoint(evt, evtAxis) {\n const property = evtAxis || axis.scroll;\n const coord = `client${property === 'x' ? 'X' : 'Y'}`;\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord];\n }\n function pointerDown(evt) {\n startEvent = evt;\n lastEvent = evt;\n return readPoint(evt);\n }\n function pointerMove(evt) {\n const diff = readPoint(evt) - readPoint(lastEvent);\n const expired = readTime(evt) - readTime(startEvent) > logInterval;\n lastEvent = evt;\n if (expired) startEvent = evt;\n return diff;\n }\n function pointerUp(evt) {\n if (!startEvent || !lastEvent) return 0;\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent);\n const diffTime = readTime(evt) - readTime(startEvent);\n const expired = readTime(evt) - readTime(lastEvent) > logInterval;\n const force = diffDrag / diffTime;\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1;\n return isFlick ? force : 0;\n }\n const self = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n };\n return self;\n}\n\nfunction NodeRects() {\n function measure(node) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = node;\n const offset = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n };\n return offset;\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction PercentOfView(viewSize) {\n function measure(n) {\n return viewSize * (n / 100);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) {\n const observeNodes = [container].concat(slides);\n let resizeObserver;\n let containerSize;\n let slideSizes = [];\n let destroyed = false;\n function readSize(node) {\n return axis.measureSize(nodeRects.measure(node));\n }\n function init(emblaApi) {\n if (!watchResize) return;\n containerSize = readSize(container);\n slideSizes = slides.map(readSize);\n function defaultCallback(entries) {\n for (const entry of entries) {\n if (destroyed) return;\n const isContainer = entry.target === container;\n const slideIndex = slides.indexOf(entry.target);\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex];\n const newSize = readSize(isContainer ? container : slides[slideIndex]);\n const diffSize = mathAbs(newSize - lastSize);\n if (diffSize >= 0.5) {\n emblaApi.reInit();\n eventHandler.emit('resize');\n break;\n }\n }\n }\n resizeObserver = new ResizeObserver(entries => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries);\n }\n });\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach(node => resizeObserver.observe(node));\n });\n }\n function destroy() {\n destroyed = true;\n if (resizeObserver) resizeObserver.disconnect();\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) {\n let scrollVelocity = 0;\n let scrollDirection = 0;\n let scrollDuration = baseDuration;\n let scrollFriction = baseFriction;\n let rawLocation = location.get();\n let rawLocationPrevious = 0;\n function seek() {\n const displacement = target.get() - location.get();\n const isInstant = !scrollDuration;\n let scrollDistance = 0;\n if (isInstant) {\n scrollVelocity = 0;\n previousLocation.set(target);\n location.set(target);\n scrollDistance = displacement;\n } else {\n previousLocation.set(location);\n scrollVelocity += displacement / scrollDuration;\n scrollVelocity *= scrollFriction;\n rawLocation += scrollVelocity;\n location.add(scrollVelocity);\n scrollDistance = rawLocation - rawLocationPrevious;\n }\n scrollDirection = mathSign(scrollDistance);\n rawLocationPrevious = rawLocation;\n return self;\n }\n function settled() {\n const diff = target.get() - offsetLocation.get();\n return mathAbs(diff) < 0.001;\n }\n function duration() {\n return scrollDuration;\n }\n function direction() {\n return scrollDirection;\n }\n function velocity() {\n return scrollVelocity;\n }\n function useBaseDuration() {\n return useDuration(baseDuration);\n }\n function useBaseFriction() {\n return useFriction(baseFriction);\n }\n function useDuration(n) {\n scrollDuration = n;\n return self;\n }\n function useFriction(n) {\n scrollFriction = n;\n return self;\n }\n const self = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody, percentOfView) {\n const pullBackThreshold = percentOfView.measure(10);\n const edgeOffsetTolerance = percentOfView.measure(50);\n const frictionLimit = Limit(0.1, 0.99);\n let disabled = false;\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max';\n const diffToEdge = mathAbs(limit[edge] - location.get());\n const diffToTarget = target.get() - location.get();\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance);\n target.subtract(diffToTarget * friction);\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useDuration(25).useBaseFriction();\n }\n }\n function toggleActive(active) {\n disabled = !active;\n }\n const self = {\n shouldConstrain,\n constrain,\n toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) {\n const scrollBounds = Limit(-contentSize + viewSize, 0);\n const snapsBounded = measureBounded();\n const scrollContainLimit = findScrollContainLimit();\n const snapsContained = measureContained();\n function usePixelTolerance(bound, snap) {\n return deltaAbs(bound, snap) <= 1;\n }\n function findScrollContainLimit() {\n const startSnap = snapsBounded[0];\n const endSnap = arrayLast(snapsBounded);\n const min = snapsBounded.lastIndexOf(startSnap);\n const max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n function measureBounded() {\n return snapsAligned.map((snapAligned, index) => {\n const {\n min,\n max\n } = scrollBounds;\n const snap = scrollBounds.constrain(snapAligned);\n const isFirst = !index;\n const isLast = arrayIsLastIndex(snapsAligned, index);\n if (isFirst) return max;\n if (isLast) return min;\n if (usePixelTolerance(min, snap)) return min;\n if (usePixelTolerance(max, snap)) return max;\n return snap;\n }).map(scrollBound => parseFloat(scrollBound.toFixed(3)));\n }\n function measureContained() {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n const {\n min,\n max\n } = scrollContainLimit;\n return snapsBounded.slice(min, max);\n }\n const self = {\n snapsContained,\n scrollContainLimit\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n const max = scrollSnaps[0];\n const min = loop ? max - contentSize : arrayLast(scrollSnaps);\n const limit = Limit(min, max);\n const self = {\n limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, limit, location, vectors) {\n const jointSafety = 0.1;\n const min = limit.min + jointSafety;\n const max = limit.max + jointSafety;\n const {\n reachedMin,\n reachedMax\n } = Limit(min, max);\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n const loopDistance = contentSize * (direction * -1);\n vectors.forEach(v => v.add(loopDistance));\n }\n const self = {\n loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n const {\n max,\n length\n } = limit;\n function get(n) {\n const currentLocation = n - max;\n return length ? currentLocation / -length : 0;\n }\n const self = {\n get\n };\n return self;\n}\n\nfunction ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) {\n const {\n startEdge,\n endEdge\n } = axis;\n const {\n groupSlides\n } = slidesToScroll;\n const alignments = measureSizes().map(alignment.measure);\n const snaps = measureUnaligned();\n const snapsAligned = measureAligned();\n function measureSizes() {\n return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs);\n }\n function measureUnaligned() {\n return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap));\n }\n function measureAligned() {\n return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]);\n }\n const self = {\n snaps,\n snapsAligned\n };\n return self;\n}\n\nfunction SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) {\n const {\n groupSlides\n } = slidesToScroll;\n const {\n min,\n max\n } = scrollContainLimit;\n const slideRegistry = createSlideRegistry();\n function createSlideRegistry() {\n const groupedSlideIndexes = groupSlides(slideIndexes);\n const doNotContain = !containSnaps || containScroll === 'keepSnaps';\n if (scrollSnaps.length === 1) return [slideIndexes];\n if (doNotContain) return groupedSlideIndexes;\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(groups, index);\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1;\n return arrayFromNumber(range);\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1;\n return arrayFromNumber(range, arrayLast(groups)[0]);\n }\n return group;\n });\n }\n const self = {\n slideRegistry\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n const {\n reachedAny,\n removeOffset,\n constrain\n } = limit;\n function minDistance(distances) {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0];\n }\n function findTargetSnap(target) {\n const distance = loop ? removeOffset(target) : constrain(target);\n const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({\n diff: shortcut(snap - distance, 0),\n index\n })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff));\n const {\n index\n } = ascDiffsToSnaps[0];\n return {\n index,\n distance\n };\n }\n function shortcut(target, direction) {\n const targets = [target, target + contentSize, target - contentSize];\n if (!loop) return target;\n if (!direction) return minDistance(targets);\n const matchingTargets = targets.filter(t => mathSign(t) === direction);\n if (matchingTargets.length) return minDistance(matchingTargets);\n return arrayLast(targets) - contentSize;\n }\n function byIndex(index, direction) {\n const diffToSnap = scrollSnaps[index] - targetVector.get();\n const distance = shortcut(diffToSnap, direction);\n return {\n index,\n distance\n };\n }\n function byDistance(distance, snap) {\n const target = targetVector.get() + distance;\n const {\n index,\n distance: targetSnapDistance\n } = findTargetSnap(target);\n const reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index,\n distance\n };\n const diffToSnap = scrollSnaps[index] - targetSnapDistance;\n const snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index,\n distance: snapDistance\n };\n }\n const self = {\n byDistance,\n byIndex,\n shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) {\n function scrollTo(target) {\n const distanceDiff = target.distance;\n const indexDiff = target.index !== indexCurrent.get();\n targetVector.add(distanceDiff);\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start();\n } else {\n animation.update();\n animation.render(1);\n animation.update();\n }\n }\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n eventHandler.emit('select');\n }\n }\n function distance(n, snap) {\n const target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n function index(n, direction) {\n const targetIndex = indexCurrent.clone().set(n);\n const target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n const self = {\n distance,\n index\n };\n return self;\n}\n\nfunction SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) {\n const focusListenerOptions = {\n passive: true,\n capture: true\n };\n let lastTabPressTime = 0;\n function init(emblaApi) {\n if (!watchFocus) return;\n function defaultCallback(index) {\n const nowTime = new Date().getTime();\n const diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n eventHandler.emit('slideFocusStart');\n root.scrollLeft = 0;\n const group = slideRegistry.findIndex(group => group.includes(index));\n if (!isNumber(group)) return;\n scrollBody.useDuration(0);\n scrollTo.index(group, 0);\n eventHandler.emit('slideFocus');\n }\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach((slide, slideIndex) => {\n eventStore.add(slide, 'focus', evt => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex);\n }\n }, focusListenerOptions);\n });\n }\n function registerTabPress(event) {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime();\n }\n const self = {\n init\n };\n return self;\n}\n\nfunction Vector1D(initialValue) {\n let value = initialValue;\n function get() {\n return value;\n }\n function set(n) {\n value = normalizeInput(n);\n }\n function add(n) {\n value += normalizeInput(n);\n }\n function subtract(n) {\n value -= normalizeInput(n);\n }\n function normalizeInput(n) {\n return isNumber(n) ? n : n.get();\n }\n const self = {\n get,\n set,\n add,\n subtract\n };\n return self;\n}\n\nfunction Translate(axis, container) {\n const translate = axis.scroll === 'x' ? x : y;\n const containerStyle = container.style;\n let previousTarget = null;\n let disabled = false;\n function x(n) {\n return `translate3d(${n}px,0px,0px)`;\n }\n function y(n) {\n return `translate3d(0px,${n}px,0px)`;\n }\n function to(target) {\n if (disabled) return;\n const newTarget = roundToTwoDecimals(axis.direction(target));\n if (newTarget === previousTarget) return;\n containerStyle.transform = translate(newTarget);\n previousTarget = newTarget;\n }\n function toggleActive(active) {\n disabled = !active;\n }\n function clear() {\n if (disabled) return;\n containerStyle.transform = '';\n if (!container.getAttribute('style')) container.removeAttribute('style');\n }\n const self = {\n clear,\n to,\n toggleActive\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) {\n const roundingSafety = 0.5;\n const ascItems = arrayKeys(slideSizesWithGaps);\n const descItems = arrayKeys(slideSizesWithGaps).reverse();\n const loopPoints = startPoints().concat(endPoints());\n function removeSlideSizes(indexes, from) {\n return indexes.reduce((a, i) => {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n function slidesInGap(indexes, gap) {\n return indexes.reduce((a, i) => {\n const remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n function findSlideBounds(offset) {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }));\n }\n function findLoopPoints(indexes, offset, isEndEdge) {\n const slideBounds = findSlideBounds(offset);\n return indexes.map(index => {\n const initial = isEndEdge ? 0 : -contentSize;\n const altered = isEndEdge ? contentSize : 0;\n const boundEdge = isEndEdge ? 'end' : 'start';\n const loopPoint = slideBounds[index][boundEdge];\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => location.get() > loopPoint ? initial : altered\n };\n });\n }\n function startPoints() {\n const gap = scrollSnaps[0];\n const indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, contentSize, false);\n }\n function endPoints() {\n const gap = viewSize - scrollSnaps[0] - 1;\n const indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, -contentSize, true);\n }\n function canLoop() {\n return loopPoints.every(({\n index\n }) => {\n const otherIndexes = ascItems.filter(i => i !== index);\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1;\n });\n }\n function loop() {\n loopPoints.forEach(loopPoint => {\n const {\n target,\n translate,\n slideLocation\n } = loopPoint;\n const shiftLocation = target();\n if (shiftLocation === slideLocation.get()) return;\n translate.to(shiftLocation);\n slideLocation.set(shiftLocation);\n });\n }\n function clear() {\n loopPoints.forEach(loopPoint => loopPoint.translate.clear());\n }\n const self = {\n canLoop,\n clear,\n loop,\n loopPoints\n };\n return self;\n}\n\nfunction SlidesHandler(container, eventHandler, watchSlides) {\n let mutationObserver;\n let destroyed = false;\n function init(emblaApi) {\n if (!watchSlides) return;\n function defaultCallback(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit();\n eventHandler.emit('slidesChanged');\n break;\n }\n }\n }\n mutationObserver = new MutationObserver(mutations => {\n if (destroyed) return;\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations);\n }\n });\n mutationObserver.observe(container, {\n childList: true\n });\n }\n function destroy() {\n if (mutationObserver) mutationObserver.disconnect();\n destroyed = true;\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction SlidesInView(container, slides, eventHandler, threshold) {\n const intersectionEntryMap = {};\n let inViewCache = null;\n let notInViewCache = null;\n let intersectionObserver;\n let destroyed = false;\n function init() {\n intersectionObserver = new IntersectionObserver(entries => {\n if (destroyed) return;\n entries.forEach(entry => {\n const index = slides.indexOf(entry.target);\n intersectionEntryMap[index] = entry;\n });\n inViewCache = null;\n notInViewCache = null;\n eventHandler.emit('slidesInView');\n }, {\n root: container.parentElement,\n threshold\n });\n slides.forEach(slide => intersectionObserver.observe(slide));\n }\n function destroy() {\n if (intersectionObserver) intersectionObserver.disconnect();\n destroyed = true;\n }\n function createInViewList(inView) {\n return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => {\n const index = parseInt(slideIndex);\n const {\n isIntersecting\n } = intersectionEntryMap[index];\n const inViewMatch = inView && isIntersecting;\n const notInViewMatch = !inView && !isIntersecting;\n if (inViewMatch || notInViewMatch) list.push(index);\n return list;\n }, []);\n }\n function get(inView = true) {\n if (inView && inViewCache) return inViewCache;\n if (!inView && notInViewCache) return notInViewCache;\n const slideIndexes = createInViewList(inView);\n if (inView) inViewCache = slideIndexes;\n if (!inView) notInViewCache = slideIndexes;\n return slideIndexes;\n }\n const self = {\n init,\n destroy,\n get\n };\n return self;\n}\n\nfunction SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) {\n const {\n measureSize,\n startEdge,\n endEdge\n } = axis;\n const withEdgeGap = slideRects[0] && readEdgeGap;\n const startGap = measureStartGap();\n const endGap = measureEndGap();\n const slideSizes = slideRects.map(measureSize);\n const slideSizesWithGaps = measureWithGaps();\n function measureStartGap() {\n if (!withEdgeGap) return 0;\n const slideRect = slideRects[0];\n return mathAbs(containerRect[startEdge] - slideRect[startEdge]);\n }\n function measureEndGap() {\n if (!withEdgeGap) return 0;\n const style = ownerWindow.getComputedStyle(arrayLast(slides));\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`));\n }\n function measureWithGaps() {\n return slideRects.map((rect, index, rects) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(rects, index);\n if (isFirst) return slideSizes[index] + startGap;\n if (isLast) return slideSizes[index] + endGap;\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(mathAbs);\n }\n const self = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n };\n return self;\n}\n\nfunction SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) {\n const {\n startEdge,\n endEdge,\n direction\n } = axis;\n const groupByNumber = isNumber(slidesToScroll);\n function byNumber(array, groupSize) {\n return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize));\n }\n function bySize(array) {\n if (!array.length) return [];\n return arrayKeys(array).reduce((groups, rectB, index) => {\n const rectA = arrayLast(groups) || 0;\n const isFirst = rectA === 0;\n const isLast = rectB === arrayLastIndex(array);\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge];\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge];\n const gapA = !loop && isFirst ? direction(startGap) : 0;\n const gapB = !loop && isLast ? direction(endGap) : 0;\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA));\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB);\n if (isLast) groups.push(array.length);\n return groups;\n }, []).map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0);\n return array.slice(previousSize, currentSize);\n });\n }\n function groupSlides(array) {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array);\n }\n const self = {\n groupSlides\n };\n return self;\n}\n\nfunction Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options;\n // Measurements\n const pixelTolerance = 2;\n const nodeRects = NodeRects();\n const containerRect = nodeRects.measure(container);\n const slideRects = slides.map(nodeRects.measure);\n const axis = Axis(scrollAxis, direction);\n const viewSize = axis.measureSize(containerRect);\n const percentOfView = PercentOfView(viewSize);\n const alignment = Alignment(align, viewSize);\n const containSnaps = !loop && !!containScroll;\n const readEdgeGap = loop || !!containScroll;\n const {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow);\n const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance);\n const {\n snaps,\n snapsAligned\n } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll);\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n const {\n snapsContained,\n scrollContainLimit\n } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance);\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned;\n const {\n limit\n } = ScrollLimit(contentSize, scrollSnaps, loop);\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop);\n const indexPrevious = index.clone();\n const slideIndexes = arrayKeys(slides);\n // Animation\n const update = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: {\n loop\n }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown());\n scrollBody.seek();\n };\n const render = ({\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: {\n loop\n }\n }, alpha) => {\n const shouldSettle = scrollBody.settled();\n const withinBounds = !scrollBounds.shouldConstrain();\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds;\n const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown();\n if (hasSettledAndIdle) animation.stop();\n const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha);\n offsetLocation.set(interpolatedLocation);\n if (loop) {\n scrollLooper.loop(scrollBody.direction());\n slideLooper.loop();\n }\n translate.to(offsetLocation.get());\n if (hasSettledAndIdle) eventHandler.emit('settle');\n if (!hasSettled) eventHandler.emit('scroll');\n };\n const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha));\n // Shared\n const friction = 0.68;\n const startLocation = scrollSnaps[index.get()];\n const location = Vector1D(startLocation);\n const previousLocation = Vector1D(startLocation);\n const offsetLocation = Vector1D(startLocation);\n const target = Vector1D(startLocation);\n const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction);\n const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler);\n const scrollProgress = ScrollProgress(limit);\n const eventStore = EventStore();\n const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold);\n const {\n slideRegistry\n } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes);\n const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus);\n // Engine\n const engine = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects),\n scrollBody,\n scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n };\n return engine;\n}\n\nfunction EventHandler() {\n let listeners = {};\n let api;\n function init(emblaApi) {\n api = emblaApi;\n }\n function getListeners(evt) {\n return listeners[evt] || [];\n }\n function emit(evt) {\n getListeners(evt).forEach(e => e(api, evt));\n return self;\n }\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(e => e !== cb);\n return self;\n }\n function clear() {\n listeners = {};\n }\n const self = {\n init,\n emit,\n off,\n on,\n clear\n };\n return self;\n}\n\nconst defaultOptions = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n};\n\nfunction OptionsHandler(ownerWindow) {\n function mergeOptions(optionsA, optionsB) {\n return objectsMergeDeep(optionsA, optionsB || {});\n }\n function optionsAtMedia(options) {\n const optionsAtMedia = options.breakpoints || {};\n const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {});\n return mergeOptions(options, matchedMediaOptions);\n }\n function optionsMediaQueries(optionsList) {\n return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia);\n }\n const self = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n };\n return self;\n}\n\nfunction PluginsHandler(optionsHandler) {\n let activePlugins = [];\n function init(emblaApi, plugins) {\n activePlugins = plugins.filter(({\n options\n }) => optionsHandler.optionsAtMedia(options).active !== false);\n activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler));\n return plugins.reduce((map, plugin) => Object.assign(map, {\n [plugin.name]: plugin\n }), {});\n }\n function destroy() {\n activePlugins = activePlugins.filter(plugin => plugin.destroy());\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction EmblaCarousel(root, userOptions, userPlugins) {\n const ownerDocument = root.ownerDocument;\n const ownerWindow = ownerDocument.defaultView;\n const optionsHandler = OptionsHandler(ownerWindow);\n const pluginsHandler = PluginsHandler(optionsHandler);\n const mediaHandlers = EventStore();\n const eventHandler = EventHandler();\n const {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n } = optionsHandler;\n const {\n on,\n off,\n emit\n } = eventHandler;\n const reInit = reActivate;\n let destroyed = false;\n let engine;\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions);\n let options = mergeOptions(optionsBase);\n let pluginList = [];\n let pluginApis;\n let container;\n let slides;\n function storeElements() {\n const {\n container: userContainer,\n slides: userSlides\n } = options;\n const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer;\n container = customContainer || root.children[0];\n const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides;\n slides = [].slice.call(customSlides || container.children);\n }\n function createEngine(options) {\n const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler);\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, {\n loop: false\n });\n return createEngine(optionsWithoutLoop);\n }\n return engine;\n }\n function activate(withOptions, withPlugins) {\n if (destroyed) return;\n optionsBase = mergeOptions(optionsBase, withOptions);\n options = optionsAtMedia(optionsBase);\n pluginList = withPlugins || pluginList;\n storeElements();\n engine = createEngine(options);\n optionsMediaQueries([optionsBase, ...pluginList.map(({\n options\n }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate));\n if (!options.active) return;\n engine.translate.to(engine.location.get());\n engine.animation.init();\n engine.slidesInView.init();\n engine.slideFocus.init(self);\n engine.eventHandler.init(self);\n engine.resizeHandler.init(self);\n engine.slidesHandler.init(self);\n if (engine.options.loop) engine.slideLooper.loop();\n if (container.offsetParent && slides.length) engine.dragHandler.init(self);\n pluginApis = pluginsHandler.init(self, pluginList);\n }\n function reActivate(withOptions, withPlugins) {\n const startIndex = selectedScrollSnap();\n deActivate();\n activate(mergeOptions({\n startIndex\n }, withOptions), withPlugins);\n eventHandler.emit('reInit');\n }\n function deActivate() {\n engine.dragHandler.destroy();\n engine.eventStore.clear();\n engine.translate.clear();\n engine.slideLooper.clear();\n engine.resizeHandler.destroy();\n engine.slidesHandler.destroy();\n engine.slidesInView.destroy();\n engine.animation.destroy();\n pluginsHandler.destroy();\n mediaHandlers.clear();\n }\n function destroy() {\n if (destroyed) return;\n destroyed = true;\n mediaHandlers.clear();\n deActivate();\n eventHandler.emit('destroy');\n eventHandler.clear();\n }\n function scrollTo(index, jump, direction) {\n if (!options.active || destroyed) return;\n engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration);\n engine.scrollTo.index(index, direction || 0);\n }\n function scrollNext(jump) {\n const next = engine.index.add(1).get();\n scrollTo(next, jump, -1);\n }\n function scrollPrev(jump) {\n const prev = engine.index.add(-1).get();\n scrollTo(prev, jump, 1);\n }\n function canScrollNext() {\n const next = engine.index.add(1).get();\n return next !== selectedScrollSnap();\n }\n function canScrollPrev() {\n const prev = engine.index.add(-1).get();\n return prev !== selectedScrollSnap();\n }\n function scrollSnapList() {\n return engine.scrollSnapList;\n }\n function scrollProgress() {\n return engine.scrollProgress.get(engine.offsetLocation.get());\n }\n function selectedScrollSnap() {\n return engine.index.get();\n }\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n function slidesInView() {\n return engine.slidesInView.get();\n }\n function slidesNotInView() {\n return engine.slidesInView.get(false);\n }\n function plugins() {\n return pluginApis;\n }\n function internalEngine() {\n return engine;\n }\n function rootNode() {\n return root;\n }\n function containerNode() {\n return container;\n }\n function slideNodes() {\n return slides;\n }\n const self = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n };\n activate(userOptions, userPlugins);\n setTimeout(() => eventHandler.emit('init'), 0);\n return self;\n}\nEmblaCarousel.globalOptions = undefined;\n\nexport { EmblaCarousel as default };\n//# sourceMappingURL=embla-carousel.esm.js.map\n","import { useRef, useState, useCallback, useEffect } from 'react';\nimport { areOptionsEqual, arePluginsEqual, canUseDOM } from 'embla-carousel-reactive-utils';\nimport EmblaCarousel from 'embla-carousel';\n\nfunction useEmblaCarousel(options = {}, plugins = []) {\n const storedOptions = useRef(options);\n const storedPlugins = useRef(plugins);\n const [emblaApi, setEmblaApi] = useState();\n const [viewport, setViewport] = useState();\n const reInit = useCallback(() => {\n if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current);\n }, [emblaApi]);\n useEffect(() => {\n if (areOptionsEqual(storedOptions.current, options)) return;\n storedOptions.current = options;\n reInit();\n }, [options, reInit]);\n useEffect(() => {\n if (arePluginsEqual(storedPlugins.current, plugins)) return;\n storedPlugins.current = plugins;\n reInit();\n }, [plugins, reInit]);\n useEffect(() => {\n if (canUseDOM() && viewport) {\n EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions;\n const newEmblaApi = EmblaCarousel(viewport, storedOptions.current, storedPlugins.current);\n setEmblaApi(newEmblaApi);\n return () => newEmblaApi.destroy();\n } else {\n setEmblaApi(undefined);\n }\n }, [viewport, setEmblaApi]);\n return [setViewport, emblaApi];\n}\nuseEmblaCarousel.globalOptions = undefined;\n\nexport { useEmblaCarousel as default };\n//# sourceMappingURL=embla-carousel-react.esm.js.map\n","import useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./Button.js\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return;\n }\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n },\n);\nCarousel.displayName = \"Carousel\";\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className,\n )}\n {...props}\n />\n </div>\n );\n});\nCarouselContent.displayName = \"CarouselContent\";\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className,\n )}\n {...props}\n />\n );\n});\nCarouselItem.displayName = \"CarouselItem\";\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n});\nCarouselPrevious.displayName = \"CarouselPrevious\";\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n});\nCarouselNext.displayName = \"CarouselNext\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n};\n"],"names":["isObject","subject","isRecord","canUseDOM","areOptionsEqual","optionsA","optionsB","optionsAKeys","optionsBKeys","breakpointsA","breakpointsB","key","valueA","valueB","sortAndMapPluginToOptions","plugins","a","b","plugin","arePluginsEqual","pluginsA","pluginsB","optionA","index","optionB","isNumber","isString","isBoolean","mathAbs","n","mathSign","deltaAbs","factorAbs","diff","roundToTwoDecimals","num","arrayKeys","array","objectKeys","arrayLast","arrayLastIndex","arrayIsLastIndex","arrayFromNumber","startAt","_","i","object","objectsMergeDeep","objectA","objectB","mergedObjects","currentObject","areObjects","isMouseEvent","evt","ownerWindow","Alignment","align","viewSize","predefined","start","center","end","measure","EventStore","listeners","add","node","type","handler","options","removeListener","legacyMediaQueryList","self","clear","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","init","reset","destroy","stop","animate","timeStamp","timeElapsed","alpha","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","sign","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","max","length","reachedMin","reachedMax","reachedAny","constrain","removeOffset","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","target","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","emblaApi","downIfAllowed","down","up","click","addDragEvents","move","isFocusNode","nodeName","forceBoost","allowedForce","force","targetChanged","next","baseForce","isMouseEvt","lastScroll","lastCross","diffScroll","diffCross","rawForce","forceFactor","speed","friction","pointerDown","DragTracker","startEvent","lastEvent","readTime","readPoint","evtAxis","coord","pointerMove","expired","pointerUp","diffDrag","diffTime","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","PercentOfView","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","resizeObserver","containerSize","slideSizes","destroyed","readSize","defaultCallback","entries","entry","isContainer","slideIndex","lastSize","newSize","ScrollBody","offsetLocation","previousLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","displacement","isInstant","scrollDistance","settled","duration","velocity","useBaseDuration","useDuration","useBaseFriction","useFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","snapAligned","isFirst","isLast","scrollBound","ScrollLimit","scrollSnaps","ScrollLooper","vectors","shouldLoop","loopDistance","v","ScrollProgress","currentLocation","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","g","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","findTargetSnap","distance","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","byIndex","diffToSnap","byDistance","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","root","eventStore","watchFocus","focusListenerOptions","lastTabPressTime","registerTabPress","slide","event","Vector1D","initialValue","value","normalizeInput","subtract","Translate","translate","x","y","containerStyle","previousTarget","to","newTarget","SlideLooper","slideSizesWithGaps","ascItems","descItems","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","from","slidesInGap","gap","findSlideBounds","offset","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","canLoop","otherIndexes","slideLocation","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","createInViewList","inView","list","isIntersecting","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","style","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","hasSettledAndIdle","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","EventHandler","api","getListeners","emit","e","on","cb","off","defaultOptions","OptionsHandler","mergeOptions","optionsAtMedia","matchedMediaOptions","media","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","optionsHandler","activePlugins","map","EmblaCarousel","userOptions","userPlugins","pluginsHandler","mediaHandlers","reInit","reActivate","optionsBase","pluginList","pluginApis","storeElements","userContainer","userSlides","customSlides","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","selectedScrollSnap","deActivate","jump","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","scrollSnapList","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","useEmblaCarousel","storedOptions","useRef","storedPlugins","setEmblaApi","useState","viewport","setViewport","useCallback","useEffect","newEmblaApi","CarouselContext","React","useCarousel","context","Carousel","orientation","opts","setApi","className","children","props","ref","carouselRef","setCanScrollPrev","setCanScrollNext","onSelect","handleKeyDown","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/lib/ui/Checkbox.js
CHANGED
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import * as
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { j as r } from "../jsx-runtime-BzflLqGi.js";
|
|
2
|
+
import * as e from "@radix-ui/react-checkbox";
|
|
3
|
+
import { CheckIcon as t } from "lucide-react";
|
|
4
|
+
import { c as o } from "../cn-dYga0KKN.js";
|
|
5
|
+
function n({
|
|
6
|
+
className: i,
|
|
7
|
+
...a
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ r.jsx(
|
|
10
|
+
e.Root,
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "checkbox",
|
|
13
|
+
className: o(
|
|
14
|
+
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
15
|
+
i
|
|
16
|
+
),
|
|
17
|
+
...a,
|
|
18
|
+
children: /* @__PURE__ */ r.jsx(
|
|
19
|
+
e.Indicator,
|
|
20
|
+
{
|
|
21
|
+
"data-slot": "checkbox-indicator",
|
|
22
|
+
className: "grid place-content-center text-current transition-none",
|
|
23
|
+
children: /* @__PURE__ */ r.jsx(t, { className: "size-3.5" })
|
|
24
|
+
}
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
26
29
|
export {
|
|
27
|
-
|
|
30
|
+
n as Checkbox
|
|
28
31
|
};
|
|
29
32
|
//# sourceMappingURL=Checkbox.js.map
|