From bb1f54c9df6103de60b1fbe4824d91eff852555f Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Sun, 20 Nov 2022 20:31:32 +0100 Subject: [PATCH 01/12] docs: initial content for the Application module --- .../guide/nativescript-core/application.md | 316 ++++++++++++++++++ content/sidebar.ts | 6 + 2 files changed, 322 insertions(+) create mode 100644 content/guide/nativescript-core/application.md diff --git a/content/guide/nativescript-core/application.md b/content/guide/nativescript-core/application.md new file mode 100644 index 00000000..345c4076 --- /dev/null +++ b/content/guide/nativescript-core/application.md @@ -0,0 +1,316 @@ +--- +title: Application +description: Application global state handling +--- + +The Application module provides abstraction over the platform-specific application implementations. It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. + +## Using Application + +### Registering a broadcast receiver + +The following is an example of how to register a broadcast receiver in Android + + + +### Unregistering a broadcast receiver + +```ts +androidApp.unregisterBroadcastReceiver(android.content.Intent.ACTION_BATTERY_CHANGED); +``` + +### Adding a notification observer + +To add an iOS notification observer, use the `addNotificationObserver` method: + +```ts +const observer: any = iOSApp.addNotificationObserver( + UIDeviceOrientationDidChangeNotification, + (notification: NSNotification) => { + //Handle the notification + } +) +``` + +### Removing a notification observer + +To remove a notification observer, use the `` +```ts +iOSApp.removeNotificationObserver(observer, UIDeviceBatteryStateDidChangeNotification) +``` + + +## Application API + +### android + +```ts +const androidApp: AndroidApplication = Application.android +``` + +The property gives you the `AndroidApplication` object, a Nativescript wrapper, around the native android application instance. + +--- + +### nativeApp + + +```ts +const nativeApp: android.app.Application = androidApp.nativeApp + +// or + +const nativeApp: UIApplication = iOSApp.nativeApp +``` + +This is a native application reference. + +For Android, it is the [android.app.Application](http://developer.android.com/reference/android/app/Application.html) instance keeping track of the global application state. From this object you can get methods such as getFilesDir(), onLowMemory(),etc. + + +For iOS, it returns the reference to a [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) instance for the application. + +--- + +### foregroundActivity + +```ts +const foregroundActivity = androidApp.foregroundActivity +``` + +Gets the currently active (loaded) [android Activity](http://developer.android.com/reference/android/app/Activity.html). This property is automatically updated upon Activity events. + +--- + +### startActivity + +```ts +const startActivity = androidApp.startActivity +``` + +Gets the main (start) Activity for the application. + +--- + +### paused + +```ts +const isSuspended: boolean = androidApp.paused +``` + +Returns `true` if the main application activity is not running (suspended), otherwise false is returned. + +--- + +### backgrounded + +```ts +const isInBackground: boolean = androidApp.backgrounded +``` + +Returns `true` if the main application activity is in background + +--- + +### registerBroadcastReceiver + +```ts +const receiver = androidApp.registerBroadcastReceiver(intentFilter, onReceiveCallback) +``` + +Registers a [BroadcastReceiver](https://developer.android.com/reference/android/content/BroadcastReceiver)to be run in the main activity thread. The receiver will be called with any broadcast Intent that matches the intent filter. + +`onReceiveCallback`: a callback function that will be called each time a broadcast is received. + +--- + +### getRegisteredBroadcastReceiver + +```ts +androidApp.getRegisteredBroadcastReceiver(intentFilter) +``` + +Gets a registered BroadcastReceiver for the specified intent filter. + +--- + +### unregisterBroadcastReceiver + +```ts +androidApp.unregisterBroadcastReceiver(intentFilter) +``` + +Unregisters a previously registered BroadcastReceiver for the specified intent filter. + +--- + +### Android Activity lifecycles events + +To handle the application lifecycle events for Android, use `on` method of the + +```ts +androidApp.on('activityResumed', args => { + //handle the event here +}) +``` + +:::details More Android Activity lifecycles events + +- `activityCreated` +- `activityDestroyed` +- `activityStarted` +- `activityPaused` +- `activityStopped` +- `saveActivityState` +- `activityResult` +- `activityBackPressed` +- `activityNewIntent` +- `activityRequestPermissions` + +::: + +--- + +### ios + +```ts +const iOSApp = Application.ios +``` + +The property gives you the `iOSApplication` object, Nativescript wrapper, the around the native iOS application instance. + +--- + +### rootController + +```ts +const rootController: UIViewController = iOSApp.rootController +``` + +The root view controller for the iOS application. + +--- + +### window + +This property gives the key [window](https://developer.apple.com/documentation/uikit/uiwindow), the container for your app views and one of its roles is to deliver touch events to the views. Views are the user interface items such as button, label or scrollview. + +--- + +### delegate(iOS lifecycles events) + +```js +const MyDelegate = (function (_super) { + __extends(MyDelegate, _super) + function MyDelegate() { + _super.apply(this, arguments) + } + MyDelegate.prototype.applicationDidFinishLaunchingWithOptions = function ( + application, + launchOptions + ) { + console.log('applicationWillFinishLaunchingWithOptions: ' + launchOptions) + return true + } + MyDelegate.prototype.applicationDidBecomeActive = function (application) { + console.log('applicationDidBecomeActive: ' + application) + } + MyDelegate.ObjCProtocols = [UIApplicationDelegate] + return MyDelegate +})(UIResponder) + +Application.ios.delegate = MyDelegate +``` + +```ts +@NativeClass() +class MyDelegate extends UIResponder implements UIApplicationDelegate { + public static ObjCProtocols = [UIApplicationDelegate] + + applicationDidFinishLaunchingWithOptions( + application: UIApplication, + launchOptions: NSDictionary + ): boolean { + console.log('applicationWillFinishLaunchingWithOptions: ' + launchOptions) + + return true + } + + applicationDidBecomeActive(application: UIApplication): void { + console.log('applicationDidBecomeActive: ' + application) + } +} +Application.ios.delegate = MyDelegate +``` + +The iOS system monitors the different states of your application and emits an event at each state. To handle these lifecycle events, you have to write a class that extends UIResponder and implements `UIApplicationDelegate` classes and set the delegate property to that class. You then overwrite the methods from `UIApplicationDelegate` to handle the events. + +For a complete list of the iOS lifecycle events, visit [UIApplicationDelegate](https://developer.apple.com/documentation/uikit/uiapplicationdelegate?language=objc). + +--- + +### orientation + +```ts +const orientation = androidApp.orientation +// or +const orientation = iOSApp.orientation +``` + +Gets or sets the orientation of the application.
Possible values: `portrait`\| `landscape`\| `unknown` + +--- + +### systemAppearance + +```ts +const systemAppearance = androidApp.systemAppearance +// or +const systemAppearance = iOSApp.systemAppearance +``` + +Returns whether the system appearance is `dark`, `light` or `null`(for iOS <= 11). + +--- + +### NativeScript application events + +```ts +Application.on('orientationChanged', (args: ApplicationEventData) => { + // handle the event +}) +``` + +:::details More events + +- `livesync` +- `cssChanged` +- `launch` +- `displayed` +- `suspend` +- `resume` +- `exit` +- `lowMemory` +- `uncaughtError` +- `discardedError` +- `orientationChanged` +- `systemAppearanceChanged` +- `fontScaleChanged` + +::: + +:::details References + +## API References + +| Name | Type | +| ------------------------------------------------------------------------------------------------- | -------- | +| [@nativescript/core/application](https://docs.nativescript.org/api-reference/modules#application) | `Module` | + +## Native Component + +| Android | iOS | +| :----------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | +| [android.app.Application](https://developer.android.com/reference/android/app/Application) | [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) | + +::: \ No newline at end of file diff --git a/content/sidebar.ts b/content/sidebar.ts index c95688b9..3a64b879 100644 --- a/content/sidebar.ts +++ b/content/sidebar.ts @@ -96,6 +96,12 @@ export default [ // { text: 'references.d.ts', link: '//#', icon: 'file' }, ], }, + { + text: '@nativescript/core', + items: [ + { text: 'Application', link: '/guide/nativescript-core/application' }, + ] + }, { text: 'Advanced Concepts', items: [ From fad63a4497345a58d13a13a0cb088a7d2f61852e Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Mon, 21 Nov 2022 18:21:27 +0100 Subject: [PATCH 02/12] fix: shorted link --- content/guide/{nativescript-core => core}/application.md | 0 content/sidebar.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename content/guide/{nativescript-core => core}/application.md (100%) diff --git a/content/guide/nativescript-core/application.md b/content/guide/core/application.md similarity index 100% rename from content/guide/nativescript-core/application.md rename to content/guide/core/application.md diff --git a/content/sidebar.ts b/content/sidebar.ts index 3a64b879..0982f106 100644 --- a/content/sidebar.ts +++ b/content/sidebar.ts @@ -99,7 +99,7 @@ export default [ { text: '@nativescript/core', items: [ - { text: 'Application', link: '/guide/nativescript-core/application' }, + { text: 'Application', link: '/guide/core/application' }, ] }, { From 969059b215cb4466d0097949013e2168528ebb5b Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Fri, 2 Dec 2022 10:29:17 +0100 Subject: [PATCH 03/12] docs: update --- content/guide/core/application.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index 345c4076..55fac0a0 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -78,7 +78,7 @@ For iOS, it returns the reference to a [UIApplication](https://developer.apple.c const foregroundActivity = androidApp.foregroundActivity ``` -Gets the currently active (loaded) [android Activity](http://developer.android.com/reference/android/app/Activity.html). This property is automatically updated upon Activity events. +Gets the currently visible(topmost) [android Activity](http://developer.android.com/reference/android/app/Activity.html). --- From cf1fd748fb24e5bcd68c908d01bc6e574e866c2c Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Thu, 8 Dec 2022 10:15:53 +0100 Subject: [PATCH 04/12] chore: update --- content/guide/core/application.md | 86 +++++++++++++++---------------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index 55fac0a0..0969fea3 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -34,18 +34,43 @@ const observer: any = iOSApp.addNotificationObserver( ### Removing a notification observer -To remove a notification observer, use the `` +To remove a notification observer, use the `removeNotificationObserver()` method ```ts iOSApp.removeNotificationObserver(observer, UIDeviceBatteryStateDidChangeNotification) ``` -## Application API +## Cross platform application events reference + +```ts +Application.on('orientationChanged', (args: ApplicationEventData) => { + // handle the event +}) +``` + +:::details More events + +- `livesync` +- `cssChanged` +- `launch` +- `displayed` +- `suspend` +- `resume` +- `exit` +- `lowMemory` +- `uncaughtError` +- `discardedError` +- `orientationChanged` +- `systemAppearanceChanged` +- `fontScaleChanged` + +::: +## Android Reference ### android ```ts -const androidApp: AndroidApplication = Application.android +androidApp: AndroidApplication = Application.android ``` The property gives you the `AndroidApplication` object, a Nativescript wrapper, around the native android application instance. @@ -54,13 +79,10 @@ The property gives you the `AndroidApplication` object, a Nativescript wrapper, ### nativeApp - ```ts -const nativeApp: android.app.Application = androidApp.nativeApp - +nativeApp: android.app.Application = androidApp.nativeApp // or - -const nativeApp: UIApplication = iOSApp.nativeApp +nativeApp: UIApplication = iOSApp.nativeApp ``` This is a native application reference. @@ -75,7 +97,7 @@ For iOS, it returns the reference to a [UIApplication](https://developer.apple.c ### foregroundActivity ```ts -const foregroundActivity = androidApp.foregroundActivity +foregroundActivity = androidApp.foregroundActivity ``` Gets the currently visible(topmost) [android Activity](http://developer.android.com/reference/android/app/Activity.html). @@ -85,7 +107,7 @@ Gets the currently visible(topmost) [android Activity](http://developer.android. ### startActivity ```ts -const startActivity = androidApp.startActivity +startActivity = androidApp.startActivity ``` Gets the main (start) Activity for the application. @@ -95,7 +117,7 @@ Gets the main (start) Activity for the application. ### paused ```ts -const isSuspended: boolean = androidApp.paused +isSuspended: boolean = androidApp.paused ``` Returns `true` if the main application activity is not running (suspended), otherwise false is returned. @@ -105,7 +127,7 @@ Returns `true` if the main application activity is not running (suspended), othe ### backgrounded ```ts -const isInBackground: boolean = androidApp.backgrounded +isInBackground: boolean = androidApp.backgrounded ``` Returns `true` if the main application activity is in background @@ -115,7 +137,7 @@ Returns `true` if the main application activity is in background ### registerBroadcastReceiver ```ts -const receiver = androidApp.registerBroadcastReceiver(intentFilter, onReceiveCallback) +receiver = androidApp.registerBroadcastReceiver(intentFilter, onReceiveCallback) ``` Registers a [BroadcastReceiver](https://developer.android.com/reference/android/content/BroadcastReceiver)to be run in the main activity thread. The receiver will be called with any broadcast Intent that matches the intent filter. @@ -170,11 +192,11 @@ androidApp.on('activityResumed', args => { ::: --- - +## iOS Reference ### ios ```ts -const iOSApp = Application.ios +iOSApp = Application.ios ``` The property gives you the `iOSApplication` object, Nativescript wrapper, the around the native iOS application instance. @@ -184,7 +206,7 @@ The property gives you the `iOSApplication` object, Nativescript wrapper, the ar ### rootController ```ts -const rootController: UIViewController = iOSApp.rootController +rootController: UIViewController = iOSApp.rootController ``` The root view controller for the iOS application. @@ -252,9 +274,9 @@ For a complete list of the iOS lifecycle events, visit [UIApplicationDelegate](h ### orientation ```ts -const orientation = androidApp.orientation +orientation = androidApp.orientation // or -const orientation = iOSApp.orientation +orientation = iOSApp.orientation ``` Gets or sets the orientation of the application.
Possible values: `portrait`\| `landscape`\| `unknown` @@ -264,40 +286,16 @@ Gets or sets the orientation of the application.
Possible values: `portrait` ### systemAppearance ```ts -const systemAppearance = androidApp.systemAppearance +systemAppearance = androidApp.systemAppearance // or -const systemAppearance = iOSApp.systemAppearance +systemAppearance = iOSApp.systemAppearance ``` Returns whether the system appearance is `dark`, `light` or `null`(for iOS <= 11). --- -### NativeScript application events -```ts -Application.on('orientationChanged', (args: ApplicationEventData) => { - // handle the event -}) -``` - -:::details More events - -- `livesync` -- `cssChanged` -- `launch` -- `displayed` -- `suspend` -- `resume` -- `exit` -- `lowMemory` -- `uncaughtError` -- `discardedError` -- `orientationChanged` -- `systemAppearanceChanged` -- `fontScaleChanged` - -::: :::details References From 1b92196574408495186a25b8cfde7cceff3ae2f6 Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Wed, 28 Dec 2022 10:06:07 +0100 Subject: [PATCH 05/12] feat: Added Preview --- content/guide/core/application.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index 0969fea3..aa1b1421 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -1,17 +1,17 @@ --- title: Application -description: Application global state handling +description: Handling application global state --- -The Application module provides abstraction over the platform-specific application implementations. It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. +The Application class provides abstraction over the platform-specific application implementations. It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. ## Using Application ### Registering a broadcast receiver -The following is an example of how to register a broadcast receiver in Android +The following is an example of how to register a broadcast receiver with a custom intent filter. For system intent filters, see [Standard Broadcast Actions](https://developer.android.com/reference/android/content/Intent#standard-broadcast-actions). - + ### Unregistering a broadcast receiver @@ -21,7 +21,7 @@ androidApp.unregisterBroadcastReceiver(android.content.Intent.ACTION_BATTERY_CHA ### Adding a notification observer -To add an iOS notification observer, use the `addNotificationObserver` method: +To add an iOS notification observer, use the `addNotificationObserver` method. ```ts const observer: any = iOSApp.addNotificationObserver( @@ -32,6 +32,8 @@ const observer: any = iOSApp.addNotificationObserver( ) ``` +You can try out other notifications at [Managing Notification](https://developer.apple.com/documentation/uikit/uideviceorientationdidchangenotification). + ### Removing a notification observer To remove a notification observer, use the `removeNotificationObserver()` method @@ -140,7 +142,7 @@ Returns `true` if the main application activity is in background receiver = androidApp.registerBroadcastReceiver(intentFilter, onReceiveCallback) ``` -Registers a [BroadcastReceiver](https://developer.android.com/reference/android/content/BroadcastReceiver)to be run in the main activity thread. The receiver will be called with any broadcast Intent that matches the intent filter. +Registers a [BroadcastReceiver](https://developer.android.com/reference/android/content/BroadcastReceiver) to be run in the main activity thread. The receiver will be called with any broadcast Intent that matches the intent filter. `onReceiveCallback`: a callback function that will be called each time a broadcast is received. From c20c7d18b239b06f5ab26ed05a11fca2d3e467ac Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Sun, 12 Mar 2023 00:36:34 +0100 Subject: [PATCH 06/12] chore: update --- content/guide/core/application.md | 40 +++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index aa1b1421..a5bf8561 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -3,23 +3,49 @@ title: Application description: Handling application global state --- -The Application class provides abstraction over the platform-specific application implementations. It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. +The Application class provides abstraction over the platform-specific application implementations([android.app.Application](https://developer.android.com/reference/android/app/Application) for Android and [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) for iOS). It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. -## Using Application +## Use Application class -### Registering a broadcast receiver +### Register a broadcast receiver -The following is an example of how to register a broadcast receiver with a custom intent filter. For system intent filters, see [Standard Broadcast Actions](https://developer.android.com/reference/android/content/Intent#standard-broadcast-actions). +To register a broadcast receiver, you follow these 3 steps: +1. Import the `Application` class. +```ts +import { Application, isAndroid } from '@nativescript/core'; +``` +2. Get the wrapper for Android application instance. +Use the `android` property to get the wrapper around [android.app.Application](https://developer.android.com/reference/android/app/Application). +```ts +const androidApp: AndroidApplication = Application.android +``` + +3. Call the [registerBroadcastReceiver](#registerbroadcastreceiver) method. +Call the `registerBroadcastReceiver` method on `androidApp`. +```ts +androidApp.registerBroadcastReceiver() +``` + +For a complete example that shows how to register a broadcast receiver with a custom intent filter, visit the following link. +For system intent filters, see [Standard Broadcast Actions](https://developer.android.com/reference/android/content/Intent#standard-broadcast-actions). + +### Unregister a broadcast receiver -### Unregistering a broadcast receiver +To unregister a broadcast receiver, call the [unregisterBroadcastReceiver](#unregisterbroadcastreceiver) on the wrapper around an [android.app.Application](https://developer.android.com/reference/android/app/Application) passing it the intent filter for which to unregister the broacast receiver. The example below unregisters a broadcast receiver for the `android.content.Intent.ACTION_BATTERY_CHANGED` intent filter. ```ts +import { Application, isAndroid } from '@nativescript/core'; +if(isAndroid){ +const androidApp: AndroidApplication = Application.android + androidApp.unregisterBroadcastReceiver(android.content.Intent.ACTION_BATTERY_CHANGED); +} + ``` -### Adding a notification observer +### Add a notification observer To add an iOS notification observer, use the `addNotificationObserver` method. @@ -34,7 +60,7 @@ const observer: any = iOSApp.addNotificationObserver( You can try out other notifications at [Managing Notification](https://developer.apple.com/documentation/uikit/uideviceorientationdidchangenotification). -### Removing a notification observer +### Remove a notification observer To remove a notification observer, use the `removeNotificationObserver()` method ```ts From 2904e9babedc909f289fd2e6ed59a814c616cd50 Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Sun, 12 Mar 2023 19:31:40 +0100 Subject: [PATCH 07/12] chore: update --- content/guide/core/application.md | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index a5bf8561..6a38c066 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -3,19 +3,20 @@ title: Application description: Handling application global state --- -The Application class provides abstraction over the platform-specific application implementations([android.app.Application](https://developer.android.com/reference/android/app/Application) for Android and [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) for iOS). It lets you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. +The Application class provides the wrapper around [android.app.Application](https://developer.android.com/reference/android/app/Application) for Android and [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) for iOS. With this class you handle the app's lifecycle events, send Broadcasts on Android or add a Notification observer on IOS, etc. ## Use Application class ### Register a broadcast receiver To register a broadcast receiver, you follow these 3 steps: -1. Import the `Application` class. +1. Import the `Application` class from `@nativescript/core`. ```ts import { Application, isAndroid } from '@nativescript/core'; ``` -2. Get the wrapper for Android application instance. +2. Get the wrapper object for [android.app.Application](https://developer.android.com/reference/android/app/Application) instance. Use the `android` property to get the wrapper around [android.app.Application](https://developer.android.com/reference/android/app/Application). + ```ts const androidApp: AndroidApplication = Application.android ``` @@ -47,7 +48,21 @@ androidApp.unregisterBroadcastReceiver(android.content.Intent.ACTION_BATTERY_CHA ### Add a notification observer -To add an iOS notification observer, use the `addNotificationObserver` method. +To add an iOS notification observer, follow the steps below: + +1. Import the `Application` class from `@nativescript/core`. + +```ts +import { Application, isIOS } from '@nativescript/core'; +``` + +2. Get the wrapper object for [UIApplication](https://developer.apple.com/documentation/uikit/uiapplication?language=objc) instance. +```ts +const iOSApp: iOSApplication = Application.ios +``` + +3. Call the `addNotificationObserver` method. +Call the `addNotificationObserver` passing it the name of the notification([NSNotificationName](https://developer.apple.com/documentation/foundation/nsnotificationname)) you would like to observe as the first parameter and as a second parameter, a callback function to be called when that notification occurs. ```ts const observer: any = iOSApp.addNotificationObserver( @@ -58,17 +73,19 @@ const observer: any = iOSApp.addNotificationObserver( ) ``` -You can try out other notifications at [Managing Notification](https://developer.apple.com/documentation/uikit/uideviceorientationdidchangenotification). +Find the complete example [here](https://stackblitz.com/edit/nativescript-stackblitz-templates-khnhes?file=app%2Fapp.ts%3AL14) ### Remove a notification observer -To remove a notification observer, use the `removeNotificationObserver()` method +To remove a notification observer, use the `removeNotificationObserver` method on a `Application.ios` reference the observer id, returned by the `addNotificationObserver` as the first argument and the name of the notification to stop observing. + ```ts iOSApp.removeNotificationObserver(observer, UIDeviceBatteryStateDidChangeNotification) ``` -## Cross platform application events reference +## Cross platform application events +This class allows you to listen to the following lifecycle events on both platforms. ```ts Application.on('orientationChanged', (args: ApplicationEventData) => { From c0b764f0d78708a0bcd94192258ef2c1a8977032 Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Mon, 13 Mar 2023 18:28:09 +0100 Subject: [PATCH 08/12] chore: update --- content/guide/core/application.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index 6a38c066..cfa9689c 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -27,7 +27,7 @@ Call the `registerBroadcastReceiver` method on `androidApp`. androidApp.registerBroadcastReceiver() ``` -For a complete example that shows how to register a broadcast receiver with a custom intent filter, visit the following link. +For a complete example that shows how to register a broadcast receiver with a custom intent filter, visit the following link: For system intent filters, see [Standard Broadcast Actions](https://developer.android.com/reference/android/content/Intent#standard-broadcast-actions). From 2ba0afc21fd89e6a1e64c633d308344fc260ca75 Mon Sep 17 00:00:00 2001 From: Ombuweb Date: Fri, 17 Mar 2023 17:48:19 +0100 Subject: [PATCH 09/12] chore: update --- content/guide/core/application.md | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/content/guide/core/application.md b/content/guide/core/application.md index cfa9689c..c7d982c0 100644 --- a/content/guide/core/application.md +++ b/content/guide/core/application.md @@ -110,6 +110,51 @@ Application.on('orientationChanged', (args: ApplicationEventData) => { - `fontScaleChanged` ::: +## getResources() +```ts +resources: any = Application.getResources() +``` +Gets application-level static resources. + +--- +## setResources() +```ts +Application.setResources(resources) +``` +Sets application-level static resources. + +--- +## setCssFileName() +```ts +Application.setCssFileName(filePath) +``` +Sets css file name for the application. + +--- +## getCssFileName() +```ts +cssFileName: string = Application.getCssFileName() +``` +Gets css file name for the application. + +--- +## loadAppCss() +```ts +loadedCss: any = Applicatioin.loadAppCss() +``` +Loads immediately the app.css. By default the app.css file is loaded shortly after "loaded". For the Android snapshot the CSS can be parsed during the snapshot generation, as the CSS does not depend on runtime APIs, and loadAppCss will be called explicitly. + +--- +## addCss() +```ts +Application.addCss(cssText, attributeScoped) +``` +Adds new values to the application styles. +- `cssText` - A valid CSS styles to be add to the current application styles. +- _Optional_: `attributeScoped` - sets whether the styles are attribute scoped. Adding attribute scoped styles does not perform a full application styling refresh. + +--- + ## Android Reference ### android From 07c2644f4fe29dece015a672bb9debca87103c35 Mon Sep 17 00:00:00 2001 From: Igor Randjelovic Date: Mon, 17 Jul 2023 22:16:52 +0200 Subject: [PATCH 10/12] feat: StepList helper component --- .vitepress/theme/style.css | 2 +- .vitepress/theme/vitepress-theme.mjs | 23183 ++++++++----------------- content/dev-reference.md | 42 +- 3 files changed, 7679 insertions(+), 15548 deletions(-) diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index 97ee36a3..174a9539 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}@media (min-width: 1920px){.container{max-width:1920px}}.form-input,.form-textarea,.form-select,.form-multiselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}.form-input:focus,.form-textarea:focus,.form-select:focus,.form-multiselect:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201c""\201d""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em;background-color:var(--tw-prose-quote-borders);border-radius:.375rem;padding-right:.375rem;padding-left:.375rem}.prose :where(code):not(:where([class~="not-prose"] *)):before{content:normal}.prose :where(code):not(:where([class~="not-prose"] *)):after{content:normal}.prose :where(a code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h1 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h2 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *)):before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *)):after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~="not-prose"] *)){vertical-align:top}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~="not-prose"] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~="not-prose"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.prose-sm :where(h1):not(:where([class~="not-prose"] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~="not-prose"] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~="not-prose"] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~="not-prose"] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(video):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(code):not(:where([class~="not-prose"] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding:.6666667em 1em}.prose-sm :where(ol):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(ul):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(li):not(:where([class~="not-prose"] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.4285714em}.prose-sm :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.4285714em}.prose-sm :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.1428571em}.prose-sm :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.1428571em}.prose-sm :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(hr):not(:where([class~="not-prose"] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(table):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~="not-prose"] *)){padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~="not-prose"] *)){padding:.6666667em 1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-sm :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-base :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose-base :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose-base :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose-base :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose-base :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-base :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-lg :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8em;margin-bottom:.8em}.prose-xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.2em}.prose-xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.2em}.prose-xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.2em}.prose-xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.2em}.prose-xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-2xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8333333em;margin-bottom:.8333333em}.prose-2xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-2xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-2xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-2xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-slate{--tw-prose-body: #334155;--tw-prose-headings: #0f172a;--tw-prose-lead: #475569;--tw-prose-links: #0f172a;--tw-prose-bold: #0f172a;--tw-prose-counters: #64748b;--tw-prose-bullets: #cbd5e1;--tw-prose-hr: #e2e8f0;--tw-prose-quotes: #0f172a;--tw-prose-quote-borders: #e2e8f0;--tw-prose-captions: #64748b;--tw-prose-code: #0f172a;--tw-prose-pre-code: #e2e8f0;--tw-prose-pre-bg: #1e293b;--tw-prose-th-borders: #cbd5e1;--tw-prose-td-borders: #e2e8f0;--tw-prose-invert-body: #cbd5e1;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #94a3b8;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #94a3b8;--tw-prose-invert-bullets: #475569;--tw-prose-invert-hr: #334155;--tw-prose-invert-quotes: #f1f5f9;--tw-prose-invert-quote-borders: #334155;--tw-prose-invert-captions: #94a3b8;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #cbd5e1;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #475569;--tw-prose-invert-td-borders: #334155}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-y-0{top:0px;bottom:0px}.inset-x-0{left:0px;right:0px}.right-0{right:0px}.top-12{top:3rem}.bottom-0{bottom:0px}.top-24{top:6rem}.top-\[72px\]{top:72px}.top-0{top:0px}.left-0{left:0px}.left-0\.5{left:.125rem}.-left-6{left:-1.5rem}.left-24{left:6rem}.right-3{right:.75rem}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.order-1{order:1}.m-0{margin:0}.-m-3{margin:-.75rem}.mx-auto{margin-left:auto;margin-right:auto}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-0{margin-top:0;margin-bottom:0}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.ml-3{margin-left:.75rem}.mt-10{margin-top:2.5rem}.mb-4{margin-bottom:1rem}.-mt-px{margin-top:-1px}.mr-6{margin-right:1.5rem}.ml-4{margin-left:1rem}.mb-16{margin-bottom:4rem}.-mb-px{margin-bottom:-1px}.ml-2{margin-left:.5rem}.mt-12{margin-top:3rem}.mt-1{margin-top:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.ml-1{margin-left:.25rem}.mb-2{margin-bottom:.5rem}.mb-0{margin-bottom:0}.mt-0\.5{margin-top:.125rem}.mt-0{margin-top:0}.mr-1\.5{margin-right:.375rem}.mr-1{margin-right:.25rem}.-mr-1{margin-right:-.25rem}.ml-10{margin-left:2.5rem}.mt-3{margin-top:.75rem}.-mr-3{margin-right:-.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-6{height:1.5rem}.h-5{height:1.25rem}.h-full{height:100%}.h-4{height:1rem}.h-3{height:.75rem}.h-0\.5{height:.125rem}.h-0{height:0px}.h-1\.5{height:.375rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-\[42px\]{height:42px}.h-screen{height:100vh}.max-h-full{max-height:100%}.max-h-\[400px\]{max-height:400px}.min-h-screen{min-height:100vh}.w-auto{width:auto}.w-\[50vw\]{width:50vw}.w-px{width:1px}.w-64{width:16rem}.w-full{width:100%}.w-6{width:1.5rem}.w-11{width:2.75rem}.w-5{width:1.25rem}.w-4{width:1rem}.w-3{width:.75rem}.w-20{width:5rem}.w-0\.5{width:.125rem}.w-0{width:0px}.w-screen{width:100vw}.w-1\.5{width:.375rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-72{width:18rem}.w-1\/4{width:25%}.w-1\/6{width:16.666667%}.w-2\/3{width:66.666667%}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.min-w-\[540px\]{min-width:540px}.max-w-none{max-width:none}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.origin-top{transform-origin:top}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.columns-1{-moz-columns:1;columns:1}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(209 213 219 / var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded-\[36px\]{border-radius:36px}.rounded-\[16px\]{border-radius:16px}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-b-\[20px\]{border-bottom-right-radius:20px;border-bottom-left-radius:20px}.rounded-b-\[4px\]{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-4{border-bottom-width:4px}.border-white\/10{border-color:#ffffff1a}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-ns-blue{--tw-border-opacity: 1;border-color:rgb(101 173 241 / var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-white\/20{background-color:#fff3}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-ns-blue{--tw-bg-opacity: 1;background-color:rgb(101 173 241 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-200\/80{background-color:#e5e7ebcc}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.bg-amber-100\/70{background-color:#fef3c7b3}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity: 1;background-color:rgb(236 252 203 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-slate-300\/40{background-color:#cbd5e166}.bg-opacity-30{--tw-bg-opacity: .3}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-slate-800{--tw-gradient-from: #1e293b;--tw-gradient-to: rgb(30 41 59 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-0\.5{padding:.125rem}.p-0{padding:0}.p-3{padding:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-10{padding-bottom:2.5rem}.pt-10{padding-top:2.5rem}.pr-24{padding-right:6rem}.pr-2{padding-right:.5rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pb-\[70vh\]{padding-bottom:70vh}.pt-16{padding-top:4rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.font-sans{font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-ns-blue{--tw-text-opacity: 1;color:rgb(101 173 241 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(157 23 77 / var(--tw-text-opacity))}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.text-lime-800{--tw-text-opacity: 1;color:rgb(63 98 18 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.ring-ns-blue{--tw-ring-opacity: 1;--tw-ring-color: rgb(101 173 241 / var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-100{transition-duration:.1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-150{transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-blue-100:hover{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\:text-gray-100:hover{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-cyan-300:focus{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.focus\:border-ns-blue:focus{--tw-border-opacity: 1;border-color:rgb(101 173 241 / var(--tw-border-opacity))}.focus\:bg-white\/20:focus{background-color:#fff3}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-indigo-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.group:hover .group-hover\:bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.group:hover .group-hover\:text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.prose-a\:font-semibold :is(:where(a):not(:where([class~="not-prose"] *))){font-weight:600}.prose-lead\:text-slate-500 :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .dark\:prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.dark .dark\:-top-px{top:-1px}.dark .dark\:mt-px{margin-top:1px}.dark .dark\:block{display:block}.dark .dark\:hidden{display:none}.dark .dark\:divide-slate-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(51 65 85 / var(--tw-divide-opacity))}.dark .dark\:border-t{border-top-width:1px}.dark .dark\:border-b{border-bottom-width:1px}.dark .dark\:border-white\/20{border-color:#fff3}.dark .dark\:border-white\/5{border-color:#ffffff0d}.dark .dark\:border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.dark .dark\:border-transparent{border-color:transparent}.dark .dark\:border-white\/10{border-color:#ffffff1a}.dark .dark\:border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.dark .dark\:border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.dark .dark\:border-slate-300\/30{border-color:#cbd5e14d}.dark .dark\:border-slate-50\/\[0\.06\]{border-color:#f8fafc0f}.dark .dark\:bg-transparent{background-color:transparent}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.dark .dark\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.dark .dark\:bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark .dark\:bg-gray-900\/70{background-color:#111827b3}.dark .dark\:bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.dark .dark\:bg-amber-400\/10{background-color:#fbbf241a}.dark .dark\:bg-slate-900\/75{background-color:#0f172abf}.dark .dark\:bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark .dark\:bg-slate-900\/70{background-color:#0f172ab3}.dark .dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark .dark\:text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.dark .dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark .dark\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark .dark\:text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .dark\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark .dark\:text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:text-white\/90{color:#ffffffe6}.dark .dark\:text-white\/50{color:#ffffff80}.dark .dark\:text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark .dark\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.dark .dark\:text-slate-300\/40{color:#cbd5e166}.dark .dark\:text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.dark .dark\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark .dark\:shadow-cyan-300\/5{--tw-shadow-color: rgb(103 232 249 / .05);--tw-shadow: var(--tw-shadow-colored)}.dark .dark\:shadow-cyan-400\/20{--tw-shadow-color: rgb(34 211 238 / .2);--tw-shadow: var(--tw-shadow-colored)}.dark .dark\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark .dark\:ring-slate-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity))}.dark .dark\:ring-cyan-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 116 144 / var(--tw-ring-opacity))}.dark .dark\:ring-amber-300\/30{--tw-ring-color: rgb(252 211 77 / .3)}.dark .dark\:ring-slate-300\/10{--tw-ring-color: rgb(203 213 225 / .1)}.dark .dark\:hover\:border-white\/40:hover{border-color:#fff6}.dark .dark\:hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.dark .dark\:hover\:bg-white\/10:hover{background-color:#ffffff1a}.dark .dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}.dark .dark\:hover\:bg-slate-700\/50:hover{background-color:#33415580}.dark .dark\:hover\:text-cyan-300:hover{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark .dark\:hover\:text-cyan-600:hover{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity))}.dark .dark\:hover\:text-slate-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark .dark\:hover\:text-amber-200:hover{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.dark .dark\:focus\:border-cyan-300:focus{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.dark .dark\:focus\:bg-white\/10:focus{background-color:#ffffff1a}.dark .group:hover .dark\:group-hover\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .group:hover .dark\:group-hover\:text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:prose-a\:text-cyan-400 :is(:where(a):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.dark .dark\:prose-hr\:border-slate-800 :is(:where(hr):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.dark .dark\:prose-lead\:text-slate-400 :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:h-10{height:2.5rem}.sm\:min-w-full{min-width:100%}.sm\:columns-2{-moz-columns:2;columns:2}.sm\:gap-8{gap:2rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:pl-0{padding-left:0}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width: 768px){.md\:order-3{order:3}.md\:order-2{order:2}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:columns-3{-moz-columns:3;columns:3}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:z-50{z-index:50}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/3{width:33.333333%}.lg\:w-auto{width:auto}.lg\:flex-none{flex:none}.lg\:columns-4{-moz-columns:4;columns:4}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:border-b{border-bottom-width:1px}.lg\:border-slate-900\/10{border-color:#0f172a1a}.lg\:bg-white\/20{background-color:#fff3}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:pr-20{padding-right:5rem}.lg\:hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark .lg\:dark\:bg-white\/10{background-color:#ffffff1a}.dark .lg\:dark\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark .lg\:dark\:hover\:ring-cyan-400\/50:hover{--tw-ring-color: rgb(34 211 238 / .5)}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:w-72{width:18rem}.xl\:max-w-xs{max-width:20rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width: 1536px){.\32xl\:container{width:100%}@media (min-width: 640px){.\32xl\:container{max-width:640px}}@media (min-width: 768px){.\32xl\:container{max-width:768px}}@media (min-width: 1024px){.\32xl\:container{max-width:1024px}}@media (min-width: 1280px){.\32xl\:container{max-width:1280px}}@media (min-width: 1536px){.\32xl\:container{max-width:1536px}}@media (min-width: 1920px){.\32xl\:container{max-width:1920px}}.\32xl\:max-h-\[600px\]{max-height:600px}.\32xl\:columns-3{-moz-columns:3;columns:3}}.\[\&_a\]\:text-blue-400 a{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.\[\&_a\]\:text-blue-500 a{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.\[\&_a\]\:no-underline a{text-decoration-line:none}.dark .dark\:\[\&_a\]\:text-cyan-400 a{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.dark .dark\:\[\@supports\(backdrop-filter\:blur\(0\)\)\]\:bg-slate-900\/80{background-color:#0f172acc}}[class*=language-]{position:relative}[class*=language-]:not(.token){border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));font-size:1.125rem;line-height:1.75rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark [class*=language-]:not(.token){background-color:#1e293b99;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1)}[class*=language-] pre{position:relative;overflow-x:auto;background-color:transparent}[class*=language-] .lang{position:absolute;right:0px;top:0px;padding:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity));opacity:1}[class*=language-] button{z-index:1;position:absolute;right:0px;top:0px;padding:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[class*=language-] button:before{content:"Copy"}[class*=language-] button:hover{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}[class*=language-]:hover button{opacity:1}[class*=language-]:hover .lang{opacity:0;pointer-events:none}.highlight-lines{position:absolute;top:0px;right:0px;bottom:0px;left:0px;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;padding-top:1rem}.highlight-lines .highlighted{background-color:rgb(217 70 239 / var(--tw-bg-opacity));--tw-bg-opacity: .1}div[class*=language-].line-numbers-mode{padding-left:3rem}.line-numbers-wrapper{position:absolute;top:0px;bottom:0px;left:0px;width:3.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right-width:2px;border-color:rgb(17 24 39 / var(--tw-border-opacity));--tw-border-opacity: .5;padding-top:1rem;padding-right:1rem;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity));z-index:3}:root{--shiki-color-text: #e5e7eb;--shiki-color-background: #111827;--shiki-token-constant: #fde047;--shiki-token-string: #22d3ee;--shiki-token-comment: #9ca3af;--shiki-token-keyword: #f472b6;--shiki-token-parameter: #aa0000;--shiki-token-function: #f0abfc;--shiki-token-string-expression: #22d3ee;--shiki-token-punctuation: #e5e7eb;--shiki-token-link: #ee0000}.custom-block.info,.custom-block.tip,.custom-block.warning,.custom-block.danger,.custom-block.details{margin-top:1.5rem;margin-bottom:1rem;overflow-x:auto;border-radius:.375rem;padding:.75rem 1.5rem}.custom-block [class*=language-]:not(.token){margin-left:-1.5rem;margin-right:-1.5rem;margin-top:.75rem;border-radius:0;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.custom-block [class*=language-]:not(.token):last-of-type{margin-bottom:-.75rem}.custom-block pre{margin:0;padding-left:1.5rem;padding-right:1.5rem}.custom-block.details>summary{margin-bottom:.25rem;cursor:pointer;font-weight:700}.custom-block>.custom-block-title{margin:0;font-weight:700}.custom-block>p{margin:0;margin-top:.75rem;line-height:1.625}.custom-block.info{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .custom-block.info{background-color:#1e293b1a;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }.custom-block.tip{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.dark .custom-block.tip{background-color:#1665341a;--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(134 239 172 / .1) }.custom-block.warning{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.dark .custom-block.warning{background-color:#92400e1a;--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }.custom-block.danger{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity))}.dark .custom-block.danger{background-color:#991b1b1a;--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(252 165 165 / .1) }.custom-block.details{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .custom-block.details{background-color:#1e293b1a;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }html.dark{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark a.header-anchor,a.header-anchor{position:absolute;left:-2rem;display:inline-flex;align-items:center;color:transparent;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a.header-anchor:before{height:1.5rem;width:1.5rem;border-radius:.375rem;background-position:center;background-repeat:no-repeat;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.dark a.header-anchor:before{--tw-ring-opacity: 1;--tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity))}a.header-anchor:before{content:" ";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}a.header-anchor:hover:before{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%231e293b' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}.dark a.header-anchor:hover:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%2322d3ee' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}[id]:hover>.header-anchor{opacity:1}h1,h2,h3,h4,h5,h6,h7{overflow-wrap:break-word}vite-error-overlay{z-index:9999999999}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}/*! @docsearch/css 3.2.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::-moz-placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:focus{outline:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"\bb "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.algolia-search-box{position:absolute;top:0px;right:0px;bottom:0px;left:0px;opacity:.75}.DocSearch-Button{margin:0;border-radius:0;width:100%;opacity:0;border:0}.DocSearch-Button:hover{box-shadow:none}.DocSearch-Search-Icon,.DocSearch-Button-Placeholder,.DocSearch-Button-Key{display:none}@media (min-width: 768px){.DocSearch--active{overflow-y:scroll!important}}#docsearch-input:focus{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.DocSearch.DocSearch-Container{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.DocSearch{--docsearch-primary-color: #65adf1;--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-text-color: #111827;--docsearch-muted-color: #9ca3af;--docsearch-container-background: rgba(15, 23, 42, .2)}[id]{scroll-margin-top:88px;outline:2px solid transparent;outline-offset:2px}.h-sidebar{height:calc(100vh - 72px)}.code-tab-container [class*=language-]{margin:-1px 0 0;border-top-left-radius:0;border-top-right-radius:0}.code-tab-container [class*=language-] pre{margin:0}.device~.device{margin-top:1.5rem}@media (min-width: 640px){.device~.device{margin-top:0}}.device img{max-height:400px;-o-object-fit:contain;object-fit:contain}@media (min-width: 1536px){.device img{max-height:600px}} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}@media (min-width: 1920px){.container{max-width:1920px}}.form-input,.form-textarea,.form-select,.form-multiselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}.form-input:focus,.form-textarea:focus,.form-select:focus,.form-multiselect:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201c""\201d""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em;background-color:var(--tw-prose-quote-borders);border-radius:.375rem;padding-right:.375rem;padding-left:.375rem}.prose :where(code):not(:where([class~="not-prose"] *)):before{content:normal}.prose :where(code):not(:where([class~="not-prose"] *)):after{content:normal}.prose :where(a code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h1 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h2 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *)):before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *)):after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~="not-prose"] *)){vertical-align:top}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~="not-prose"] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~="not-prose"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.prose-sm :where(h1):not(:where([class~="not-prose"] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~="not-prose"] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~="not-prose"] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~="not-prose"] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(video):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure):not(:where([class~="not-prose"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(code):not(:where([class~="not-prose"] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding:.6666667em 1em}.prose-sm :where(ol):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(ul):not(:where([class~="not-prose"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(li):not(:where([class~="not-prose"] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.4285714em}.prose-sm :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.4285714em}.prose-sm :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.1428571em}.prose-sm :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.1428571em}.prose-sm :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(hr):not(:where([class~="not-prose"] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(table):not(:where([class~="not-prose"] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~="not-prose"] *)){padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~="not-prose"] *)){padding:.6666667em 1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-sm :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-sm :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-base :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose-base :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose-base :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose-base :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose-base :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-base :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-lg :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8em;margin-bottom:.8em}.prose-xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.2em}.prose-xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.2em}.prose-xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.2em}.prose-xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.2em}.prose-xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-2xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8333333em;margin-bottom:.8333333em}.prose-2xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-2xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-2xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-2xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-slate{--tw-prose-body: #334155;--tw-prose-headings: #0f172a;--tw-prose-lead: #475569;--tw-prose-links: #0f172a;--tw-prose-bold: #0f172a;--tw-prose-counters: #64748b;--tw-prose-bullets: #cbd5e1;--tw-prose-hr: #e2e8f0;--tw-prose-quotes: #0f172a;--tw-prose-quote-borders: #e2e8f0;--tw-prose-captions: #64748b;--tw-prose-code: #0f172a;--tw-prose-pre-code: #e2e8f0;--tw-prose-pre-bg: #1e293b;--tw-prose-th-borders: #cbd5e1;--tw-prose-td-borders: #e2e8f0;--tw-prose-invert-body: #cbd5e1;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #94a3b8;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #94a3b8;--tw-prose-invert-bullets: #475569;--tw-prose-invert-hr: #334155;--tw-prose-invert-quotes: #f1f5f9;--tw-prose-invert-quote-borders: #334155;--tw-prose-invert-captions: #94a3b8;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #cbd5e1;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #475569;--tw-prose-invert-td-borders: #334155}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-y-0{top:0px;bottom:0px}.inset-x-0{left:0px;right:0px}.right-0{right:0px}.top-12{top:3rem}.bottom-0{bottom:0px}.top-24{top:6rem}.top-\[72px\]{top:72px}.top-0{top:0px}.left-0{left:0px}.left-0\.5{left:.125rem}.-left-6{left:-1.5rem}.top-0\.5{top:.125rem}.left-24{left:6rem}.right-3{right:.75rem}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.order-1{order:1}.m-0{margin:0}.-m-3{margin:-.75rem}.mx-auto{margin-left:auto;margin-right:auto}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-0{margin-top:0;margin-bottom:0}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.ml-3{margin-left:.75rem}.mt-10{margin-top:2.5rem}.mb-4{margin-bottom:1rem}.-mt-px{margin-top:-1px}.mr-6{margin-right:1.5rem}.ml-4{margin-left:1rem}.mb-16{margin-bottom:4rem}.-mb-px{margin-bottom:-1px}.ml-2{margin-left:.5rem}.mt-12{margin-top:3rem}.mt-1{margin-top:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.ml-1{margin-left:.25rem}.mb-2{margin-bottom:.5rem}.mb-0{margin-bottom:0}.mt-0\.5{margin-top:.125rem}.mt-0{margin-top:0}.mr-1\.5{margin-right:.375rem}.mr-1{margin-right:.25rem}.-mr-1{margin-right:-.25rem}.ml-10{margin-left:2.5rem}.mt-3{margin-top:.75rem}.-mr-3{margin-right:-.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-6{height:1.5rem}.h-5{height:1.25rem}.h-full{height:100%}.h-4{height:1rem}.h-3{height:.75rem}.h-0\.5{height:.125rem}.h-0{height:0px}.h-1\.5{height:.375rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-\[42px\]{height:42px}.h-screen{height:100vh}.max-h-full{max-height:100%}.max-h-\[400px\]{max-height:400px}.min-h-screen{min-height:100vh}.w-auto{width:auto}.w-\[50vw\]{width:50vw}.w-px{width:1px}.w-64{width:16rem}.w-full{width:100%}.w-6{width:1.5rem}.w-11{width:2.75rem}.w-5{width:1.25rem}.w-4{width:1rem}.w-3{width:.75rem}.w-20{width:5rem}.w-0\.5{width:.125rem}.w-0{width:0px}.w-screen{width:100vw}.w-1\.5{width:.375rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-72{width:18rem}.w-1\/4{width:25%}.w-1\/6{width:16.666667%}.w-2\/3{width:66.666667%}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.min-w-\[540px\]{min-width:540px}.max-w-none{max-width:none}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.origin-top{transform-origin:top}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.columns-1{-moz-columns:1;columns:1}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(209 213 219 / var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded-\[36px\]{border-radius:36px}.rounded-\[16px\]{border-radius:16px}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-b-\[20px\]{border-bottom-right-radius:20px;border-bottom-left-radius:20px}.rounded-b-\[4px\]{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-4{border-bottom-width:4px}.border-white\/10{border-color:#ffffff1a}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-ns-blue{--tw-border-opacity: 1;border-color:rgb(101 173 241 / var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-white\/20{background-color:#fff3}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-ns-blue{--tw-bg-opacity: 1;background-color:rgb(101 173 241 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-200\/80{background-color:#e5e7ebcc}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-amber-100\/70{background-color:#fef3c7b3}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity: 1;background-color:rgb(236 252 203 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-slate-300\/40{background-color:#cbd5e166}.bg-opacity-30{--tw-bg-opacity: .3}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-slate-800{--tw-gradient-from: #1e293b;--tw-gradient-to: rgb(30 41 59 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-0\.5{padding:.125rem}.p-0{padding:0}.p-3{padding:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-10{padding-bottom:2.5rem}.pt-10{padding-top:2.5rem}.pr-24{padding-right:6rem}.pr-2{padding-right:.5rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pb-\[70vh\]{padding-bottom:70vh}.pt-16{padding-top:4rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.font-sans{font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-ns-blue{--tw-text-opacity: 1;color:rgb(101 173 241 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(157 23 77 / var(--tw-text-opacity))}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.text-lime-800{--tw-text-opacity: 1;color:rgb(63 98 18 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.ring-ns-blue{--tw-ring-opacity: 1;--tw-ring-color: rgb(101 173 241 / var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-100{transition-duration:.1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-150{transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-blue-100:hover{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\:text-gray-100:hover{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-cyan-300:focus{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.focus\:border-ns-blue:focus{--tw-border-opacity: 1;border-color:rgb(101 173 241 / var(--tw-border-opacity))}.focus\:bg-white\/20:focus{background-color:#fff3}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-indigo-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.group:hover .group-hover\:bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.group:hover .group-hover\:text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.prose-a\:font-semibold :is(:where(a):not(:where([class~="not-prose"] *))){font-weight:600}.prose-lead\:text-slate-500 :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .dark\:prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.dark .dark\:-top-px{top:-1px}.dark .dark\:mt-px{margin-top:1px}.dark .dark\:block{display:block}.dark .dark\:hidden{display:none}.dark .dark\:divide-slate-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(51 65 85 / var(--tw-divide-opacity))}.dark .dark\:border-t{border-top-width:1px}.dark .dark\:border-b{border-bottom-width:1px}.dark .dark\:border-white\/20{border-color:#fff3}.dark .dark\:border-white\/5{border-color:#ffffff0d}.dark .dark\:border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.dark .dark\:border-transparent{border-color:transparent}.dark .dark\:border-white\/10{border-color:#ffffff1a}.dark .dark\:border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.dark .dark\:border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.dark .dark\:border-slate-300\/30{border-color:#cbd5e14d}.dark .dark\:border-slate-50\/\[0\.06\]{border-color:#f8fafc0f}.dark .dark\:bg-transparent{background-color:transparent}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.dark .dark\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.dark .dark\:bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark .dark\:bg-gray-900\/70{background-color:#111827b3}.dark .dark\:bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.dark .dark\:bg-amber-400\/10{background-color:#fbbf241a}.dark .dark\:bg-slate-900\/75{background-color:#0f172abf}.dark .dark\:bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark .dark\:bg-slate-900\/70{background-color:#0f172ab3}.dark .dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark .dark\:text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.dark .dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark .dark\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark .dark\:text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .dark\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark .dark\:text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:text-white\/90{color:#ffffffe6}.dark .dark\:text-white\/50{color:#ffffff80}.dark .dark\:text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark .dark\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.dark .dark\:text-slate-300\/40{color:#cbd5e166}.dark .dark\:text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.dark .dark\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark .dark\:shadow-cyan-300\/5{--tw-shadow-color: rgb(103 232 249 / .05);--tw-shadow: var(--tw-shadow-colored)}.dark .dark\:shadow-cyan-400\/20{--tw-shadow-color: rgb(34 211 238 / .2);--tw-shadow: var(--tw-shadow-colored)}.dark .dark\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark .dark\:ring-slate-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity))}.dark .dark\:ring-cyan-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 116 144 / var(--tw-ring-opacity))}.dark .dark\:ring-amber-300\/30{--tw-ring-color: rgb(252 211 77 / .3)}.dark .dark\:ring-slate-300\/10{--tw-ring-color: rgb(203 213 225 / .1)}.dark .dark\:hover\:border-white\/40:hover{border-color:#fff6}.dark .dark\:hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.dark .dark\:hover\:bg-white\/10:hover{background-color:#ffffff1a}.dark .dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}.dark .dark\:hover\:bg-slate-700\/50:hover{background-color:#33415580}.dark .dark\:hover\:text-cyan-300:hover{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark .dark\:hover\:text-cyan-600:hover{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity))}.dark .dark\:hover\:text-slate-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark .dark\:hover\:text-amber-200:hover{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.dark .dark\:focus\:border-cyan-300:focus{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.dark .dark\:focus\:bg-white\/10:focus{background-color:#ffffff1a}.dark .group:hover .dark\:group-hover\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.dark .group:hover .dark\:group-hover\:text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.dark .dark\:prose-a\:text-cyan-400 :is(:where(a):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.dark .dark\:prose-hr\:border-slate-800 :is(:where(hr):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.dark .dark\:prose-lead\:text-slate-400 :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:h-10{height:2.5rem}.sm\:min-w-full{min-width:100%}.sm\:columns-2{-moz-columns:2;columns:2}.sm\:gap-8{gap:2rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:pl-0{padding-left:0}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width: 768px){.md\:order-3{order:3}.md\:order-2{order:2}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:columns-3{-moz-columns:3;columns:3}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:z-50{z-index:50}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/3{width:33.333333%}.lg\:w-auto{width:auto}.lg\:flex-none{flex:none}.lg\:columns-4{-moz-columns:4;columns:4}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:border-b{border-bottom-width:1px}.lg\:border-slate-900\/10{border-color:#0f172a1a}.lg\:bg-white\/20{background-color:#fff3}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:pr-20{padding-right:5rem}.lg\:hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark .lg\:dark\:bg-white\/10{background-color:#ffffff1a}.dark .lg\:dark\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark .lg\:dark\:hover\:ring-cyan-400\/50:hover{--tw-ring-color: rgb(34 211 238 / .5)}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:w-72{width:18rem}.xl\:max-w-xs{max-width:20rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width: 1536px){.\32xl\:container{width:100%}@media (min-width: 640px){.\32xl\:container{max-width:640px}}@media (min-width: 768px){.\32xl\:container{max-width:768px}}@media (min-width: 1024px){.\32xl\:container{max-width:1024px}}@media (min-width: 1280px){.\32xl\:container{max-width:1280px}}@media (min-width: 1536px){.\32xl\:container{max-width:1536px}}@media (min-width: 1920px){.\32xl\:container{max-width:1920px}}.\32xl\:max-h-\[600px\]{max-height:600px}.\32xl\:columns-3{-moz-columns:3;columns:3}}.\[\&_a\]\:text-blue-400 a{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.\[\&_a\]\:text-blue-500 a{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.\[\&_a\]\:no-underline a{text-decoration-line:none}.dark .dark\:\[\&_a\]\:text-cyan-400 a{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.dark .dark\:\[\@supports\(backdrop-filter\:blur\(0\)\)\]\:bg-slate-900\/80{background-color:#0f172acc}}[class*=language-]{position:relative}[class*=language-]:not(.token){border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));font-size:1.125rem;line-height:1.75rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark [class*=language-]:not(.token){background-color:#1e293b99;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1)}[class*=language-] pre{position:relative;overflow-x:auto;background-color:transparent}[class*=language-] .lang{position:absolute;right:0px;top:0px;padding:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity));opacity:1}[class*=language-] button{z-index:1;position:absolute;right:0px;top:0px;padding:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[class*=language-] button:before{content:"Copy"}[class*=language-] button:hover{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}[class*=language-]:hover button{opacity:1}[class*=language-]:hover .lang{opacity:0;pointer-events:none}.highlight-lines{position:absolute;top:0px;right:0px;bottom:0px;left:0px;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;padding-top:1rem}.highlight-lines .highlighted{background-color:rgb(217 70 239 / var(--tw-bg-opacity));--tw-bg-opacity: .1}div[class*=language-].line-numbers-mode{padding-left:3rem}.line-numbers-wrapper{position:absolute;top:0px;bottom:0px;left:0px;width:3.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right-width:2px;border-color:rgb(17 24 39 / var(--tw-border-opacity));--tw-border-opacity: .5;padding-top:1rem;padding-right:1rem;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity));z-index:3}:root{--shiki-color-text: #e5e7eb;--shiki-color-background: #111827;--shiki-token-constant: #fde047;--shiki-token-string: #22d3ee;--shiki-token-comment: #9ca3af;--shiki-token-keyword: #f472b6;--shiki-token-parameter: #aa0000;--shiki-token-function: #f0abfc;--shiki-token-string-expression: #22d3ee;--shiki-token-punctuation: #e5e7eb;--shiki-token-link: #ee0000}.custom-block.info,.custom-block.tip,.custom-block.warning,.custom-block.danger,.custom-block.details{margin-top:1.5rem;margin-bottom:1rem;overflow-x:auto;border-radius:.375rem;padding:.75rem 1.5rem}.custom-block [class*=language-]:not(.token){margin-left:-1.5rem;margin-right:-1.5rem;margin-top:.75rem;border-radius:0;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.custom-block [class*=language-]:not(.token):last-of-type{margin-bottom:-.75rem}.custom-block pre{margin:0;padding-left:1.5rem;padding-right:1.5rem}.custom-block.details>summary{margin-bottom:.25rem;cursor:pointer;font-weight:700}.custom-block>.custom-block-title{margin:0;font-weight:700}.custom-block>p{margin:0;margin-top:.75rem;line-height:1.625}.custom-block.info{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .custom-block.info{background-color:#1e293b1a;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }.custom-block.tip{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.dark .custom-block.tip{background-color:#1665341a;--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(134 239 172 / .1) }.custom-block.warning{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.dark .custom-block.warning{background-color:#92400e1a;--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }.custom-block.danger{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity))}.dark .custom-block.danger{background-color:#991b1b1a;--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(252 165 165 / .1) }.custom-block.details{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.dark .custom-block.details{background-color:#1e293b1a;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(203 213 225 / .1) }html.dark{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark a.header-anchor,a.header-anchor{position:absolute;left:-2rem;display:inline-flex;align-items:center;color:transparent;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a.header-anchor:before{height:1.5rem;width:1.5rem;border-radius:.375rem;background-position:center;background-repeat:no-repeat;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.dark a.header-anchor:before{--tw-ring-opacity: 1;--tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity))}a.header-anchor:before{content:" ";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}a.header-anchor:hover:before{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%231e293b' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}.dark a.header-anchor:hover:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%2322d3ee' stroke-width='1.5' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E")}[id]:hover>.header-anchor{opacity:1}h1,h2,h3,h4,h5,h6,h7{overflow-wrap:break-word}vite-error-overlay{z-index:9999999999}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}/*! @docsearch/css 3.2.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::-moz-placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:focus{outline:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"\bb "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.algolia-search-box{position:absolute;top:0px;right:0px;bottom:0px;left:0px;opacity:.75}.DocSearch-Button{margin:0;border-radius:0;width:100%;opacity:0;border:0}.DocSearch-Button:hover{box-shadow:none}.DocSearch-Search-Icon,.DocSearch-Button-Placeholder,.DocSearch-Button-Key{display:none}@media (min-width: 768px){.DocSearch--active{overflow-y:scroll!important}}#docsearch-input:focus{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.DocSearch.DocSearch-Container{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.DocSearch{--docsearch-primary-color: #65adf1;--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-text-color: #111827;--docsearch-muted-color: #9ca3af;--docsearch-container-background: rgba(15, 23, 42, .2)}[id]{scroll-margin-top:88px;outline:2px solid transparent;outline-offset:2px}.h-sidebar{height:calc(100vh - 72px)}.code-tab-container [class*=language-]{margin:-1px 0 0;border-top-left-radius:0;border-top-right-radius:0}.code-tab-container [class*=language-] pre{margin:0}.device~.device{margin-top:1.5rem}@media (min-width: 640px){.device~.device{margin-top:0}}.device img{max-height:400px;-o-object-fit:contain;object-fit:contain}@media (min-width: 1536px){.device img{max-height:600px}}.step-list{counter-reset:StepList}.step-list li{position:relative}.step-list li::marker{color:transparent}.step-list li:before{counter-increment:StepList;content:counter(StepList) " ";position:absolute;left:-1.5rem;top:.125rem;display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark .step-list li:before{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))} diff --git a/.vitepress/theme/vitepress-theme.mjs b/.vitepress/theme/vitepress-theme.mjs index f9687cd3..cf2d424c 100644 --- a/.vitepress/theme/vitepress-theme.mjs +++ b/.vitepress/theme/vitepress-theme.mjs @@ -1,221 +1,134 @@ -import { - inBrowser as Ir, - useData as De, - useRoute as pn, - useRouter as Cl, -} from 'vitepress' -import { - pushScopeId as jl, - popScopeId as Tl, - defineComponent as D, - nextTick as or, - openBlock as _, - createBlock as ce, - createElementBlock as w, - normalizeClass as Z, - renderSlot as Re, - normalizeProps as Al, - guardReactiveProps as Il, - withScopeId as Dl, - resolveComponent as xe, - normalizeStyle as _r, - withKeys as Nl, - createElementVNode as h, - Fragment as F, - createCommentVNode as J, - withCtx as pe, - createVNode as B, - ref as T, - createApp as Ll, - h as fe, - mergeProps as Ml, - toDisplayString as U, - cloneVNode as Rl, - inject as he, - provide as Be, - onMounted as se, - watchEffect as Oe, - computed as A, - watch as $e, - onUnmounted as Ze, - Teleport as Bl, - reactive as Hl, - unref as $, - getCurrentInstance as Ia, - getCurrentScope as Fl, - onScopeDispose as zl, - shallowRef as Vl, - isRef as Da, - withDirectives as Nt, - renderList as X, - vModelSelect as Ul, - withModifiers as wt, - resolveDynamicComponent as hn, - vShow as Bn, - createStaticVNode as Na, - Transition as yr, - createTextVNode as Ae, - resolveDirective as ql, -} from 'vue' -import * as Ye from 'vue' - +import { inBrowser as Ir, useData as Ne, useRoute as pn, useRouter as Cl } from "vitepress"; +import { pushScopeId as jl, popScopeId as Tl, defineComponent as D, nextTick as or, openBlock as _, createBlock as ce, createElementBlock as w, normalizeClass as Z, renderSlot as De, normalizeProps as Al, guardReactiveProps as Il, withScopeId as Dl, resolveComponent as xe, normalizeStyle as _r, withKeys as Nl, createElementVNode as h, Fragment as F, createCommentVNode as J, withCtx as pe, createVNode as B, ref as T, createApp as Ll, h as fe, mergeProps as Ml, toDisplayString as U, cloneVNode as Rl, inject as he, provide as Be, onMounted as se, watchEffect as Oe, computed as A, watch as $e, onUnmounted as Ze, Teleport as Bl, reactive as Hl, unref as $, getCurrentInstance as Ia, getCurrentScope as Fl, onScopeDispose as zl, shallowRef as Vl, isRef as Da, withDirectives as Lt, renderList as X, vModelSelect as Ul, withModifiers as wt, resolveDynamicComponent as hn, vShow as Bn, createStaticVNode as Na, Transition as yr, createTextVNode as Ae, resolveDirective as ql } from "vue"; +import * as Ye from "vue"; function Xe(e) { - return e.split('-')[0] + return e.split("-")[0]; } -function It(e) { - return e.split('-')[1] +function Dt(e) { + return e.split("-")[1]; } function mn(e) { - return ['top', 'bottom'].includes(Xe(e)) ? 'x' : 'y' + return ["top", "bottom"].includes(Xe(e)) ? "x" : "y"; } function ho(e) { - return e === 'y' ? 'height' : 'width' + return e === "y" ? "height" : "width"; } function Ao(e) { - let { reference: t, floating: n, placement: r } = e - const o = t.x + t.width / 2 - n.width / 2, - i = t.y + t.height / 2 - n.height / 2 - let a + let { + reference: t, + floating: n, + placement: r + } = e; + const o = t.x + t.width / 2 - n.width / 2, i = t.y + t.height / 2 - n.height / 2; + let a; switch (Xe(r)) { - case 'top': + case "top": a = { x: o, - y: t.y - n.height, - } - break - case 'bottom': + y: t.y - n.height + }; + break; + case "bottom": a = { x: o, - y: t.y + t.height, - } - break - case 'right': + y: t.y + t.height + }; + break; + case "right": a = { x: t.x + t.width, - y: i, - } - break - case 'left': + y: i + }; + break; + case "left": a = { x: t.x - n.width, - y: i, - } - break + y: i + }; + break; default: a = { x: t.x, - y: t.y, - } + y: t.y + }; } - const s = mn(r), - l = ho(s) - switch (It(r)) { - case 'start': - a[s] = a[s] - (t[l] / 2 - n[l] / 2) - break - case 'end': - a[s] = a[s] + (t[l] / 2 - n[l] / 2) - break + const s = mn(r), l = ho(s); + switch (Dt(r)) { + case "start": + a[s] = a[s] - (t[l] / 2 - n[l] / 2); + break; + case "end": + a[s] = a[s] + (t[l] / 2 - n[l] / 2); + break; } - return a + return a; } const Wl = async (e, t, n) => { const { - placement: r = 'bottom', - strategy: o = 'absolute', + placement: r = "bottom", + strategy: o = "absolute", middleware: i = [], - platform: a, - } = n - if ( - process.env.NODE_ENV !== 'production' && - (a == null && - console.error( - [ - 'Floating UI: `platform` property was not passed to config. If you', - 'want to use Floating UI on the web, install @floating-ui/dom', - 'instead of the /core package. Otherwise, you can create your own', - '`platform`: https://floating-ui.com/docs/platform', - ].join(' ') - ), - i.filter((d) => { - let { name: v } = d - return v === 'autoPlacement' || v === 'flip' - }).length > 1) - ) - throw new Error( - [ - 'Floating UI: duplicate `flip` and/or `autoPlacement`', - 'middleware detected. This will lead to an infinite loop. Ensure only', - 'one of either has been passed to the `middleware` array.', - ].join(' ') - ) + platform: a + } = n; + if (process.env.NODE_ENV !== "production" && (a == null && console.error(["Floating UI: `platform` property was not passed to config. If you", "want to use Floating UI on the web, install @floating-ui/dom", "instead of the /core package. Otherwise, you can create your own", "`platform`: https://floating-ui.com/docs/platform"].join(" ")), i.filter((d) => { + let { + name: v + } = d; + return v === "autoPlacement" || v === "flip"; + }).length > 1)) + throw new Error(["Floating UI: duplicate `flip` and/or `autoPlacement`", "middleware detected. This will lead to an infinite loop. Ensure only", "one of either has been passed to the `middleware` array."].join(" ")); let s = await a.getElementRects({ - reference: e, - floating: t, - strategy: o, - }), - { x: l, y: u } = Ao({ - ...s, - placement: r, - }), - c = r, - p = {}, - f = 0 + reference: e, + floating: t, + strategy: o + }), { + x: l, + y: u + } = Ao({ + ...s, + placement: r + }), c = r, p = {}, f = 0; for (let d = 0; d < i.length; d++) { - if (process.env.NODE_ENV !== 'production' && (f++, f > 100)) - throw new Error( - [ - 'Floating UI: The middleware lifecycle appears to be', - 'running in an infinite loop. This is usually caused by a `reset`', - 'continually being returned without a break condition.', - ].join(' ') - ) - const { name: v, fn: g } = i[d], - { - x: y, - y: b, - data: k, - reset: S, - } = await g({ + if (process.env.NODE_ENV !== "production" && (f++, f > 100)) + throw new Error(["Floating UI: The middleware lifecycle appears to be", "running in an infinite loop. This is usually caused by a `reset`", "continually being returned without a break condition."].join(" ")); + const { + name: v, + fn: g + } = i[d], { + x: y, + y: b, + data: k, + reset: S + } = await g({ + x: l, + y: u, + initialPlacement: r, + placement: c, + strategy: o, + middlewareData: p, + rects: s, + platform: a, + elements: { + reference: e, + floating: t + } + }); + if (l = y != null ? y : l, u = b != null ? b : u, p = { + ...p, + [v]: k != null ? k : {} + }, S) { + typeof S == "object" && (S.placement && (c = S.placement), S.rects && (s = S.rects === !0 ? await a.getElementRects({ + reference: e, + floating: t, + strategy: o + }) : S.rects), { x: l, - y: u, - initialPlacement: r, - placement: c, - strategy: o, - middlewareData: p, - rects: s, - platform: a, - elements: { - reference: e, - floating: t, - }, - }) - if ( - ((l = y != null ? y : l), - (u = b != null ? b : u), - (p = { - ...p, - [v]: k != null ? k : {}, - }), - S) - ) { - typeof S == 'object' && - (S.placement && (c = S.placement), - S.rects && - (s = - S.rects === !0 - ? await a.getElementRects({ - reference: e, - floating: t, - strategy: o, - }) - : S.rects), - ({ x: l, y: u } = Ao({ - ...s, - placement: c, - }))), - (d = -1) - continue + y: u + } = Ao({ + ...s, + placement: c + })), d = -1; + continue; } } return { @@ -223,27 +136,25 @@ const Wl = async (e, t, n) => { y: u, placement: c, strategy: o, - middlewareData: p, - } -} + middlewareData: p + }; +}; function Kl(e) { return { top: 0, right: 0, bottom: 0, left: 0, - ...e, - } + ...e + }; } function La(e) { - return typeof e != 'number' - ? Kl(e) - : { - top: e, - right: e, - bottom: e, - left: e, - } + return typeof e != "number" ? Kl(e) : { + top: e, + right: e, + bottom: e, + left: e + }; } function Dr(e) { return { @@ -251,757 +162,598 @@ function Dr(e) { top: e.y, left: e.x, right: e.x + e.width, - bottom: e.y + e.height, - } + bottom: e.y + e.height + }; } async function ir(e, t) { - t === void 0 && (t = {}) - const { x: n, y: r, platform: o, rects: i, elements: a, strategy: s } = e, - { - boundary: l = 'clippingParents', - rootBoundary: u = 'viewport', - elementContext: c = 'floating', - altBoundary: p = !1, - padding: f = 0, - } = t, - d = La(f), - g = a[p ? (c === 'floating' ? 'reference' : 'floating') : c], - y = await o.getClippingClientRect({ - element: (await o.isElement(g)) - ? g - : g.contextElement || - (await o.getDocumentElement({ - element: a.floating, - })), - boundary: l, - rootBoundary: u, + t === void 0 && (t = {}); + const { + x: n, + y: r, + platform: o, + rects: i, + elements: a, + strategy: s + } = e, { + boundary: l = "clippingParents", + rootBoundary: u = "viewport", + elementContext: c = "floating", + altBoundary: p = !1, + padding: f = 0 + } = t, d = La(f), g = a[p ? c === "floating" ? "reference" : "floating" : c], y = await o.getClippingClientRect({ + element: await o.isElement(g) ? g : g.contextElement || await o.getDocumentElement({ + element: a.floating }), - b = Dr( - await o.convertOffsetParentRelativeRectToViewportRelativeRect({ - rect: - c === 'floating' - ? { - ...i.floating, - x: n, - y: r, - } - : i.reference, - offsetParent: await o.getOffsetParent({ - element: a.floating, - }), - strategy: s, - }) - ) + boundary: l, + rootBoundary: u + }), b = Dr(await o.convertOffsetParentRelativeRectToViewportRelativeRect({ + rect: c === "floating" ? { + ...i.floating, + x: n, + y: r + } : i.reference, + offsetParent: await o.getOffsetParent({ + element: a.floating + }), + strategy: s + })); return { top: y.top - b.top + d.top, bottom: b.bottom - y.bottom + d.bottom, left: y.left - b.left + d.left, - right: b.right - y.right + d.right, - } + right: b.right - y.right + d.right + }; } -const Jl = Math.min, - bt = Math.max +const Jl = Math.min, bt = Math.max; function Nr(e, t, n) { - return bt(e, Jl(t, n)) + return bt(e, Jl(t, n)); } const Gl = (e) => ({ - name: 'arrow', - options: e, - async fn(t) { - const { element: n, padding: r = 0 } = e != null ? e : {}, - { x: o, y: i, placement: a, rects: s, platform: l } = t - if (n == null) - return ( - process.env.NODE_ENV !== 'production' && - console.warn( - 'Floating UI: No `element` was passed to the `arrow` middleware.' - ), - {} - ) - const u = La(r), - c = { - x: o, - y: i, - }, - p = Xe(a), - f = mn(p), - d = ho(f), - v = await l.getDimensions({ - element: n, - }), - g = f === 'y' ? 'top' : 'left', - y = f === 'y' ? 'bottom' : 'right', - b = s.reference[d] + s.reference[f] - c[f] - s.floating[d], - k = c[f] - s.reference[f], - S = await l.getOffsetParent({ - element: n, - }), - x = S ? (f === 'y' ? S.clientHeight || 0 : S.clientWidth || 0) : 0, - P = b / 2 - k / 2, - M = u[g], - E = x - v[d] - u[y], - j = x / 2 - v[d] / 2 + P, - C = Nr(M, j, E) - return { - data: { - [f]: C, - centerOffset: j - C, - }, + name: "arrow", + options: e, + async fn(t) { + const { + element: n, + padding: r = 0 + } = e != null ? e : {}, { + x: o, + y: i, + placement: a, + rects: s, + platform: l + } = t; + if (n == null) + return process.env.NODE_ENV !== "production" && console.warn("Floating UI: No `element` was passed to the `arrow` middleware."), {}; + const u = La(r), c = { + x: o, + y: i + }, p = Xe(a), f = mn(p), d = ho(f), v = await l.getDimensions({ + element: n + }), g = f === "y" ? "top" : "left", y = f === "y" ? "bottom" : "right", b = s.reference[d] + s.reference[f] - c[f] - s.floating[d], k = c[f] - s.reference[f], S = await l.getOffsetParent({ + element: n + }), x = S ? f === "y" ? S.clientHeight || 0 : S.clientWidth || 0 : 0, P = b / 2 - k / 2, M = u[g], E = x - v[d] - u[y], j = x / 2 - v[d] / 2 + P, C = Nr(M, j, E); + return { + data: { + [f]: C, + centerOffset: j - C } - }, - }), - Ql = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom', - } + }; + } +}), Ql = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" +}; function Hn(e) { - return e.replace(/left|right|bottom|top/g, (t) => Ql[t]) + return e.replace(/left|right|bottom|top/g, (t) => Ql[t]); } function Ma(e, t) { - const n = It(e) === 'start', - r = mn(e), - o = ho(r) - let i = r === 'x' ? (n ? 'right' : 'left') : n ? 'bottom' : 'top' - return ( - t.reference[o] > t.floating[o] && (i = Hn(i)), - { - main: i, - cross: Hn(i), - } - ) + const n = Dt(e) === "start", r = mn(e), o = ho(r); + let i = r === "x" ? n ? "right" : "left" : n ? "bottom" : "top"; + return t.reference[o] > t.floating[o] && (i = Hn(i)), { + main: i, + cross: Hn(i) + }; } const Yl = { - start: 'end', - end: 'start', -} + start: "end", + end: "start" +}; function Lr(e) { - return e.replace(/start|end/g, (t) => Yl[t]) + return e.replace(/start|end/g, (t) => Yl[t]); } -const Zl = ['top', 'right', 'bottom', 'left'], - Xl = /* @__PURE__ */ Zl.reduce( - (e, t) => e.concat(t, t + '-start', t + '-end'), - [] - ) +const Zl = ["top", "right", "bottom", "left"], Xl = /* @__PURE__ */ Zl.reduce((e, t) => e.concat(t, t + "-start", t + "-end"), []); function ec(e, t, n) { - return ( - e - ? [...n.filter((o) => It(o) === e), ...n.filter((o) => It(o) !== e)] - : n.filter((o) => Xe(o) === o) - ).filter((o) => (e ? It(o) === e || (t ? Lr(o) !== o : !1) : !0)) -} -const tc = function (e) { - return ( - e === void 0 && (e = {}), - { - name: 'autoPlacement', - options: e, - async fn(t) { - var n, r, o, i, a, s - const { x: l, y: u, rects: c, middlewareData: p, placement: f } = t, - { - alignment: d = null, - allowedPlacements: v = Xl, - autoAlignment: g = !0, - ...y - } = e - if ((n = p.autoPlacement) != null && n.skip) return {} - const b = ec(d, g, v), - k = await ir(t, y), - S = - (r = (o = p.autoPlacement) == null ? void 0 : o.index) != null - ? r - : 0, - x = b[S], - { main: P, cross: M } = Ma(x, c) - if (f !== x) - return { - x: l, - y: u, - reset: { - placement: b[0], - }, - } - const E = [k[Xe(x)], k[P], k[M]], - j = [ - ...((i = (a = p.autoPlacement) == null ? void 0 : a.overflows) != - null - ? i - : []), - { - placement: x, - overflows: E, - }, - ], - C = b[S + 1] - if (C) - return { - data: { - index: S + 1, - overflows: j, - }, - reset: { - placement: C, - }, + return (e ? [...n.filter((o) => Dt(o) === e), ...n.filter((o) => Dt(o) !== e)] : n.filter((o) => Xe(o) === o)).filter((o) => e ? Dt(o) === e || (t ? Lr(o) !== o : !1) : !0); +} +const tc = function(e) { + return e === void 0 && (e = {}), { + name: "autoPlacement", + options: e, + async fn(t) { + var n, r, o, i, a, s; + const { + x: l, + y: u, + rects: c, + middlewareData: p, + placement: f + } = t, { + alignment: d = null, + allowedPlacements: v = Xl, + autoAlignment: g = !0, + ...y + } = e; + if ((n = p.autoPlacement) != null && n.skip) + return {}; + const b = ec(d, g, v), k = await ir(t, y), S = (r = (o = p.autoPlacement) == null ? void 0 : o.index) != null ? r : 0, x = b[S], { + main: P, + cross: M + } = Ma(x, c); + if (f !== x) + return { + x: l, + y: u, + reset: { + placement: b[0] } - const R = j.slice().sort((Y, W) => Y.overflows[0] - W.overflows[0]), - H = - (s = R.find((Y) => { - let { overflows: W } = Y - return W.every((ee) => ee <= 0) - })) == null - ? void 0 - : s.placement + }; + const E = [k[Xe(x)], k[P], k[M]], j = [...(i = (a = p.autoPlacement) == null ? void 0 : a.overflows) != null ? i : [], { + placement: x, + overflows: E + }], C = b[S + 1]; + if (C) return { data: { - skip: !0, + index: S + 1, + overflows: j }, reset: { - placement: H != null ? H : R[0].placement, - }, + placement: C + } + }; + const R = j.slice().sort((Y, W) => Y.overflows[0] - W.overflows[0]), H = (s = R.find((Y) => { + let { + overflows: W + } = Y; + return W.every((ee) => ee <= 0); + })) == null ? void 0 : s.placement; + return { + data: { + skip: !0 + }, + reset: { + placement: H != null ? H : R[0].placement } - }, + }; } - ) -} + }; +}; function nc(e) { - const t = Hn(e) - return [Lr(e), t, Lr(t)] + const t = Hn(e); + return [Lr(e), t, Lr(t)]; } -const rc = function (e) { - return ( - e === void 0 && (e = {}), - { - name: 'flip', - options: e, - async fn(t) { - var n, r - const { - placement: o, - middlewareData: i, - rects: a, - initialPlacement: s, - } = t - if ((n = i.flip) != null && n.skip) return {} +const rc = function(e) { + return e === void 0 && (e = {}), { + name: "flip", + options: e, + async fn(t) { + var n, r; + const { + placement: o, + middlewareData: i, + rects: a, + initialPlacement: s + } = t; + if ((n = i.flip) != null && n.skip) + return {}; + const { + mainAxis: l = !0, + crossAxis: u = !0, + fallbackPlacements: c, + fallbackStrategy: p = "bestFit", + flipAlignment: f = !0, + ...d + } = e, v = Xe(o), y = c || (v === s || !f ? [Hn(s)] : nc(s)), b = [s, ...y], k = await ir(t, d), S = []; + let x = ((r = i.flip) == null ? void 0 : r.overflows) || []; + if (l && S.push(k[v]), u) { const { - mainAxis: l = !0, - crossAxis: u = !0, - fallbackPlacements: c, - fallbackStrategy: p = 'bestFit', - flipAlignment: f = !0, - ...d - } = e, - v = Xe(o), - y = c || (v === s || !f ? [Hn(s)] : nc(s)), - b = [s, ...y], - k = await ir(t, d), - S = [] - let x = ((r = i.flip) == null ? void 0 : r.overflows) || [] - if ((l && S.push(k[v]), u)) { - const { main: j, cross: C } = Ma(o, a) - S.push(k[j], k[C]) - } - if ( - ((x = [ - ...x, - { - placement: o, - overflows: S, - }, - ]), - !S.every((j) => j <= 0)) - ) { - var P, M - const j = - ((P = (M = i.flip) == null ? void 0 : M.index) != null ? P : 0) + - 1, - C = b[j] - if (C) - return { - data: { - index: j, - overflows: x, - }, - reset: { - placement: C, - }, - } - let R = 'bottom' - switch (p) { - case 'bestFit': { - var E - const H = - (E = x - .slice() - .sort( - (Y, W) => - Y.overflows - .filter((ee) => ee > 0) - .reduce((ee, le) => ee + le, 0) - - W.overflows - .filter((ee) => ee > 0) - .reduce((ee, le) => ee + le, 0) - )[0]) == null - ? void 0 - : E.placement - H && (R = H) - break - } - case 'initialPlacement': - R = s - break - } + main: j, + cross: C + } = Ma(o, a); + S.push(k[j], k[C]); + } + if (x = [...x, { + placement: o, + overflows: S + }], !S.every((j) => j <= 0)) { + var P, M; + const j = ((P = (M = i.flip) == null ? void 0 : M.index) != null ? P : 0) + 1, C = b[j]; + if (C) return { data: { - skip: !0, + index: j, + overflows: x }, reset: { - placement: R, - }, + placement: C + } + }; + let R = "bottom"; + switch (p) { + case "bestFit": { + var E; + const H = (E = x.slice().sort((Y, W) => Y.overflows.filter((ee) => ee > 0).reduce((ee, le) => ee + le, 0) - W.overflows.filter((ee) => ee > 0).reduce((ee, le) => ee + le, 0))[0]) == null ? void 0 : E.placement; + H && (R = H); + break; } + case "initialPlacement": + R = s; + break; } - return {} - }, - } - ) -} -function oc(e) { - let { placement: t, rects: n, value: r } = e - const o = Xe(t), - i = ['left', 'top'].includes(o) ? -1 : 1, - a = - typeof r == 'function' - ? r({ - ...n, - placement: t, - }) - : r, - { mainAxis: s, crossAxis: l } = - typeof a == 'number' - ? { - mainAxis: a, - crossAxis: 0, - } - : { - mainAxis: 0, - crossAxis: 0, - ...a, + return { + data: { + skip: !0 + }, + reset: { + placement: R } - return mn(o) === 'x' - ? { - x: l, - y: s * i, + }; } - : { - x: s * i, - y: l, - } -} -const ic = function (e) { - return ( - e === void 0 && (e = 0), - { - name: 'offset', - options: e, - fn(t) { - const { x: n, y: r, placement: o, rects: i } = t, - a = oc({ - placement: o, - rects: i, - value: e, - }) - return { - x: n + a.x, - y: r + a.y, - data: a, - } - }, + return {}; } - ) -} + }; +}; +function oc(e) { + let { + placement: t, + rects: n, + value: r + } = e; + const o = Xe(t), i = ["left", "top"].includes(o) ? -1 : 1, a = typeof r == "function" ? r({ + ...n, + placement: t + }) : r, { + mainAxis: s, + crossAxis: l + } = typeof a == "number" ? { + mainAxis: a, + crossAxis: 0 + } : { + mainAxis: 0, + crossAxis: 0, + ...a + }; + return mn(o) === "x" ? { + x: l, + y: s * i + } : { + x: s * i, + y: l + }; +} +const ic = function(e) { + return e === void 0 && (e = 0), { + name: "offset", + options: e, + fn(t) { + const { + x: n, + y: r, + placement: o, + rects: i + } = t, a = oc({ + placement: o, + rects: i, + value: e + }); + return { + x: n + a.x, + y: r + a.y, + data: a + }; + } + }; +}; function ac(e) { - return e === 'x' ? 'y' : 'x' + return e === "x" ? "y" : "x"; } -const sc = function (e) { - return ( - e === void 0 && (e = {}), - { - name: 'shift', - options: e, - async fn(t) { - const { x: n, y: r, placement: o } = t, - { - mainAxis: i = !0, - crossAxis: a = !1, - limiter: s = { - fn: (y) => { - let { x: b, y: k } = y - return { - x: b, - y: k, - } - }, - }, - ...l - } = e, - u = { - x: n, - y: r, - }, - c = await ir(t, l), - p = mn(Xe(o)), - f = ac(p) - let d = u[p], - v = u[f] - if (i) { - const y = p === 'y' ? 'top' : 'left', - b = p === 'y' ? 'bottom' : 'right', - k = d + c[y], - S = d - c[b] - d = Nr(k, d, S) - } - if (a) { - const y = f === 'y' ? 'top' : 'left', - b = f === 'y' ? 'bottom' : 'right', - k = v + c[y], - S = v - c[b] - v = Nr(k, v, S) - } - const g = s.fn({ - ...t, - [p]: d, - [f]: v, - }) - return { - ...g, - data: { - x: g.x - n, - y: g.y - r, - }, +const sc = function(e) { + return e === void 0 && (e = {}), { + name: "shift", + options: e, + async fn(t) { + const { + x: n, + y: r, + placement: o + } = t, { + mainAxis: i = !0, + crossAxis: a = !1, + limiter: s = { + fn: (y) => { + let { + x: b, + y: k + } = y; + return { + x: b, + y: k + }; } }, + ...l + } = e, u = { + x: n, + y: r + }, c = await ir(t, l), p = mn(Xe(o)), f = ac(p); + let d = u[p], v = u[f]; + if (i) { + const y = p === "y" ? "top" : "left", b = p === "y" ? "bottom" : "right", k = d + c[y], S = d - c[b]; + d = Nr(k, d, S); } - ) - }, - lc = function (e) { - return ( - e === void 0 && (e = {}), - { - name: 'size', - options: e, - async fn(t) { - var n - const { placement: r, rects: o, middlewareData: i } = t, - { apply: a, ...s } = e - if ((n = i.size) != null && n.skip) return {} - const l = await ir(t, s), - u = Xe(r), - c = It(r) === 'end' - let p, f - u === 'top' || u === 'bottom' - ? ((p = u), (f = c ? 'left' : 'right')) - : ((f = u), (p = c ? 'top' : 'bottom')) - const d = bt(l.left, 0), - v = bt(l.right, 0), - g = bt(l.top, 0), - y = bt(l.bottom, 0), - b = { - height: - o.floating.height - - (['left', 'right'].includes(r) - ? 2 * (g !== 0 || y !== 0 ? g + y : bt(l.top, l.bottom)) - : l[p]), - width: - o.floating.width - - (['top', 'bottom'].includes(r) - ? 2 * (d !== 0 || v !== 0 ? d + v : bt(l.left, l.right)) - : l[f]), - } - return ( - a == null || - a({ - ...b, - ...o, - }), - { - data: { - skip: !0, - }, - reset: { - rects: !0, - }, - } - ) - }, + if (a) { + const y = f === "y" ? "top" : "left", b = f === "y" ? "bottom" : "right", k = v + c[y], S = v - c[b]; + v = Nr(k, v, S); } - ) - } + const g = s.fn({ + ...t, + [p]: d, + [f]: v + }); + return { + ...g, + data: { + x: g.x - n, + y: g.y - r + } + }; + } + }; +}, lc = function(e) { + return e === void 0 && (e = {}), { + name: "size", + options: e, + async fn(t) { + var n; + const { + placement: r, + rects: o, + middlewareData: i + } = t, { + apply: a, + ...s + } = e; + if ((n = i.size) != null && n.skip) + return {}; + const l = await ir(t, s), u = Xe(r), c = Dt(r) === "end"; + let p, f; + u === "top" || u === "bottom" ? (p = u, f = c ? "left" : "right") : (f = u, p = c ? "top" : "bottom"); + const d = bt(l.left, 0), v = bt(l.right, 0), g = bt(l.top, 0), y = bt(l.bottom, 0), b = { + height: o.floating.height - (["left", "right"].includes(r) ? 2 * (g !== 0 || y !== 0 ? g + y : bt(l.top, l.bottom)) : l[p]), + width: o.floating.width - (["top", "bottom"].includes(r) ? 2 * (d !== 0 || v !== 0 ? d + v : bt(l.left, l.right)) : l[f]) + }; + return a == null || a({ + ...b, + ...o + }), { + data: { + skip: !0 + }, + reset: { + rects: !0 + } + }; + } + }; +}; function mo(e) { - return (e == null ? void 0 : e.toString()) === '[object Window]' + return (e == null ? void 0 : e.toString()) === "[object Window]"; } function dt(e) { - if (e == null) return window + if (e == null) + return window; if (!mo(e)) { - const t = e.ownerDocument - return (t && t.defaultView) || window + const t = e.ownerDocument; + return t && t.defaultView || window; } - return e + return e; } function ar(e) { - return dt(e).getComputedStyle(e) + return dt(e).getComputedStyle(e); } function Ge(e) { - return mo(e) ? '' : e ? (e.nodeName || '').toLowerCase() : '' + return mo(e) ? "" : e ? (e.nodeName || "").toLowerCase() : ""; } function Qe(e) { - return e instanceof dt(e).HTMLElement + return e instanceof dt(e).HTMLElement; } function Fn(e) { - return e instanceof dt(e).Element + return e instanceof dt(e).Element; } function cc(e) { - return e instanceof dt(e).Node + return e instanceof dt(e).Node; } function Ra(e) { - const t = dt(e).ShadowRoot - return e instanceof t || e instanceof ShadowRoot + const t = dt(e).ShadowRoot; + return e instanceof t || e instanceof ShadowRoot; } function sr(e) { - const { overflow: t, overflowX: n, overflowY: r } = ar(e) - return /auto|scroll|overlay|hidden/.test(t + r + n) + const { + overflow: t, + overflowX: n, + overflowY: r + } = ar(e); + return /auto|scroll|overlay|hidden/.test(t + r + n); } function uc(e) { - return ['table', 'td', 'th'].includes(Ge(e)) + return ["table", "td", "th"].includes(Ge(e)); } function Ba(e) { - const t = navigator.userAgent.toLowerCase().includes('firefox'), - n = ar(e) - return ( - n.transform !== 'none' || - n.perspective !== 'none' || - n.contain === 'paint' || - ['transform', 'perspective'].includes(n.willChange) || - (t && n.willChange === 'filter') || - (t && (n.filter ? n.filter !== 'none' : !1)) - ) -} -const Io = Math.min, - Yt = Math.max, - zn = Math.round -function Lt(e, t) { - t === void 0 && (t = !1) - const n = e.getBoundingClientRect() - let r = 1, - o = 1 - return ( - t && - Qe(e) && - ((r = (e.offsetWidth > 0 && zn(n.width) / e.offsetWidth) || 1), - (o = (e.offsetHeight > 0 && zn(n.height) / e.offsetHeight) || 1)), - { - width: n.width / r, - height: n.height / o, - top: n.top / o, - right: n.right / r, - bottom: n.bottom / o, - left: n.left / r, - x: n.left / r, - y: n.top / o, - } - ) + const t = navigator.userAgent.toLowerCase().includes("firefox"), n = ar(e); + return n.transform !== "none" || n.perspective !== "none" || n.contain === "paint" || ["transform", "perspective"].includes(n.willChange) || t && n.willChange === "filter" || t && (n.filter ? n.filter !== "none" : !1); +} +const Io = Math.min, Yt = Math.max, zn = Math.round; +function Mt(e, t) { + t === void 0 && (t = !1); + const n = e.getBoundingClientRect(); + let r = 1, o = 1; + return t && Qe(e) && (r = e.offsetWidth > 0 && zn(n.width) / e.offsetWidth || 1, o = e.offsetHeight > 0 && zn(n.height) / e.offsetHeight || 1), { + width: n.width / r, + height: n.height / o, + top: n.top / o, + right: n.right / r, + bottom: n.bottom / o, + left: n.left / r, + x: n.left / r, + y: n.top / o + }; } function ft(e) { - return ((cc(e) ? e.ownerDocument : e.document) || window.document) - .documentElement + return ((cc(e) ? e.ownerDocument : e.document) || window.document).documentElement; } function lr(e) { - return mo(e) - ? { - scrollLeft: e.pageXOffset, - scrollTop: e.pageYOffset, - } - : { - scrollLeft: e.scrollLeft, - scrollTop: e.scrollTop, - } + return mo(e) ? { + scrollLeft: e.pageXOffset, + scrollTop: e.pageYOffset + } : { + scrollLeft: e.scrollLeft, + scrollTop: e.scrollTop + }; } function Ha(e) { - return Lt(ft(e)).left + lr(e).scrollLeft + return Mt(ft(e)).left + lr(e).scrollLeft; } function dc(e) { - const t = Lt(e) - return zn(t.width) !== e.offsetWidth || zn(t.height) !== e.offsetHeight + const t = Mt(e); + return zn(t.width) !== e.offsetWidth || zn(t.height) !== e.offsetHeight; } function fc(e, t, n) { - const r = Qe(t), - o = ft(t), - i = Lt(e, r && dc(t)) + const r = Qe(t), o = ft(t), i = Mt(e, r && dc(t)); let a = { scrollLeft: 0, - scrollTop: 0, - } + scrollTop: 0 + }; const s = { x: 0, - y: 0, - } - if (r || (!r && n !== 'fixed')) - if (((Ge(t) !== 'body' || sr(o)) && (a = lr(t)), Qe(t))) { - const l = Lt(t, !0) - ;(s.x = l.x + t.clientLeft), (s.y = l.y + t.clientTop) - } else o && (s.x = Ha(o)) + y: 0 + }; + if (r || !r && n !== "fixed") + if ((Ge(t) !== "body" || sr(o)) && (a = lr(t)), Qe(t)) { + const l = Mt(t, !0); + s.x = l.x + t.clientLeft, s.y = l.y + t.clientTop; + } else + o && (s.x = Ha(o)); return { x: i.left + a.scrollLeft - s.x, y: i.top + a.scrollTop - s.y, width: i.width, - height: i.height, - } + height: i.height + }; } function cr(e) { - return Ge(e) === 'html' - ? e - : e.assignedSlot || e.parentNode || (Ra(e) ? e.host : null) || ft(e) + return Ge(e) === "html" ? e : e.assignedSlot || e.parentNode || (Ra(e) ? e.host : null) || ft(e); } function Do(e) { - return !Qe(e) || getComputedStyle(e).position === 'fixed' - ? null - : e.offsetParent + return !Qe(e) || getComputedStyle(e).position === "fixed" ? null : e.offsetParent; } function pc(e) { - let t = cr(e) - for (; Qe(t) && !['html', 'body'].includes(Ge(t)); ) { - if (Ba(t)) return t - t = t.parentNode + let t = cr(e); + for (; Qe(t) && !["html", "body"].includes(Ge(t)); ) { + if (Ba(t)) + return t; + t = t.parentNode; } - return null + return null; } function Mr(e) { - const t = dt(e) - let n = Do(e) - for (; n && uc(n) && getComputedStyle(n).position === 'static'; ) n = Do(n) - return n && - (Ge(n) === 'html' || - (Ge(n) === 'body' && getComputedStyle(n).position === 'static' && !Ba(n))) - ? t - : n || pc(e) || t + const t = dt(e); + let n = Do(e); + for (; n && uc(n) && getComputedStyle(n).position === "static"; ) + n = Do(n); + return n && (Ge(n) === "html" || Ge(n) === "body" && getComputedStyle(n).position === "static" && !Ba(n)) ? t : n || pc(e) || t; } function No(e) { return { width: e.offsetWidth, - height: e.offsetHeight, - } + height: e.offsetHeight + }; } function hc(e) { - let { rect: t, offsetParent: n, strategy: r } = e - const o = Qe(n), - i = ft(n) - if (n === i) return t + let { + rect: t, + offsetParent: n, + strategy: r + } = e; + const o = Qe(n), i = ft(n); + if (n === i) + return t; let a = { scrollLeft: 0, - scrollTop: 0, - } + scrollTop: 0 + }; const s = { x: 0, - y: 0, - } - if ( - (o || (!o && r !== 'fixed')) && - ((Ge(n) !== 'body' || sr(i)) && (a = lr(n)), Qe(n)) - ) { - const l = Lt(n, !0) - ;(s.x = l.x + n.clientLeft), (s.y = l.y + n.clientTop) + y: 0 + }; + if ((o || !o && r !== "fixed") && ((Ge(n) !== "body" || sr(i)) && (a = lr(n)), Qe(n))) { + const l = Mt(n, !0); + s.x = l.x + n.clientLeft, s.y = l.y + n.clientTop; } return { ...t, x: t.x - a.scrollLeft + s.x, - y: t.y - a.scrollTop + s.y, - } + y: t.y - a.scrollTop + s.y + }; } function mc(e) { - const t = dt(e), - n = ft(e), - r = t.visualViewport - let o = n.clientWidth, - i = n.clientHeight, - a = 0, - s = 0 - return ( - r && - ((o = r.width), - (i = r.height), - Math.abs(t.innerWidth / r.scale - r.width) < 0.01 && - ((a = r.offsetLeft), (s = r.offsetTop))), - { - width: o, - height: i, - x: a, - y: s, - } - ) + const t = dt(e), n = ft(e), r = t.visualViewport; + let o = n.clientWidth, i = n.clientHeight, a = 0, s = 0; + return r && (o = r.width, i = r.height, Math.abs(t.innerWidth / r.scale - r.width) < 0.01 && (a = r.offsetLeft, s = r.offsetTop)), { + width: o, + height: i, + x: a, + y: s + }; } function vc(e) { - var t - const n = ft(e), - r = lr(e), - o = (t = e.ownerDocument) == null ? void 0 : t.body, - i = Yt( - n.scrollWidth, - n.clientWidth, - o ? o.scrollWidth : 0, - o ? o.clientWidth : 0 - ), - a = Yt( - n.scrollHeight, - n.clientHeight, - o ? o.scrollHeight : 0, - o ? o.clientHeight : 0 - ) - let s = -r.scrollLeft + Ha(e) - const l = -r.scrollTop - return ( - ar(o || n).direction === 'rtl' && - (s += Yt(n.clientWidth, o ? o.clientWidth : 0) - i), - { - width: i, - height: a, - x: s, - y: l, - } - ) + var t; + const n = ft(e), r = lr(e), o = (t = e.ownerDocument) == null ? void 0 : t.body, i = Yt(n.scrollWidth, n.clientWidth, o ? o.scrollWidth : 0, o ? o.clientWidth : 0), a = Yt(n.scrollHeight, n.clientHeight, o ? o.scrollHeight : 0, o ? o.clientHeight : 0); + let s = -r.scrollLeft + Ha(e); + const l = -r.scrollTop; + return ar(o || n).direction === "rtl" && (s += Yt(n.clientWidth, o ? o.clientWidth : 0) - i), { + width: i, + height: a, + x: s, + y: l + }; } function Fa(e) { - return ['html', 'body', '#document'].includes(Ge(e)) - ? e.ownerDocument.body - : Qe(e) && sr(e) - ? e - : Fa(cr(e)) + return ["html", "body", "#document"].includes(Ge(e)) ? e.ownerDocument.body : Qe(e) && sr(e) ? e : Fa(cr(e)); } function Vn(e, t) { - var n - t === void 0 && (t = []) - const r = Fa(e), - o = r === ((n = e.ownerDocument) == null ? void 0 : n.body), - i = dt(r), - a = o ? [i].concat(i.visualViewport || [], sr(r) ? r : []) : r, - s = t.concat(a) - return o ? s : s.concat(Vn(cr(a))) + var n; + t === void 0 && (t = []); + const r = Fa(e), o = r === ((n = e.ownerDocument) == null ? void 0 : n.body), i = dt(r), a = o ? [i].concat(i.visualViewport || [], sr(r) ? r : []) : r, s = t.concat(a); + return o ? s : s.concat(Vn(cr(a))); } function gc(e, t) { - const n = t.getRootNode == null ? void 0 : t.getRootNode() - if (e.contains(t)) return !0 + const n = t.getRootNode == null ? void 0 : t.getRootNode(); + if (e.contains(t)) + return !0; if (n && Ra(n)) { - let r = t + let r = t; do { - if (r && e === r) return !0 - r = r.parentNode || r.host - } while (r) + if (r && e === r) + return !0; + r = r.parentNode || r.host; + } while (r); } - return !1 + return !1; } function _c(e) { - const t = Lt(e), - n = t.top + e.clientTop, - r = t.left + e.clientLeft + const t = Mt(e), n = t.top + e.clientTop, r = t.left + e.clientLeft; return { top: n, left: r, @@ -1010,107 +762,97 @@ function _c(e) { right: r + e.clientWidth, bottom: n + e.clientHeight, width: e.clientWidth, - height: e.clientHeight, - } + height: e.clientHeight + }; } function Lo(e, t) { - return t === 'viewport' ? Dr(mc(e)) : Fn(t) ? _c(t) : Dr(vc(ft(e))) + return t === "viewport" ? Dr(mc(e)) : Fn(t) ? _c(t) : Dr(vc(ft(e))); } function yc(e) { - const t = Vn(cr(e)), - r = ['absolute', 'fixed'].includes(ar(e).position) && Qe(e) ? Mr(e) : e - return Fn(r) ? t.filter((o) => Fn(o) && gc(o, r) && Ge(o) !== 'body') : [] + const t = Vn(cr(e)), r = ["absolute", "fixed"].includes(ar(e).position) && Qe(e) ? Mr(e) : e; + return Fn(r) ? t.filter((o) => Fn(o) && gc(o, r) && Ge(o) !== "body") : []; } function bc(e) { - let { element: t, boundary: n, rootBoundary: r } = e - const i = [...(n === 'clippingParents' ? yc(t) : [].concat(n)), r], - a = i[0], - s = i.reduce((l, u) => { - const c = Lo(t, u) - return ( - (l.top = Yt(c.top, l.top)), - (l.right = Io(c.right, l.right)), - (l.bottom = Io(c.bottom, l.bottom)), - (l.left = Yt(c.left, l.left)), - l - ) - }, Lo(t, a)) - return ( - (s.width = s.right - s.left), - (s.height = s.bottom - s.top), - (s.x = s.left), - (s.y = s.top), - s - ) + let { + element: t, + boundary: n, + rootBoundary: r + } = e; + const i = [...n === "clippingParents" ? yc(t) : [].concat(n), r], a = i[0], s = i.reduce((l, u) => { + const c = Lo(t, u); + return l.top = Yt(c.top, l.top), l.right = Io(c.right, l.right), l.bottom = Io(c.bottom, l.bottom), l.left = Yt(c.left, l.left), l; + }, Lo(t, a)); + return s.width = s.right - s.left, s.height = s.bottom - s.top, s.x = s.left, s.y = s.top, s; } const wc = { - getElementRects: (e) => { - let { reference: t, floating: n, strategy: r } = e - return { - reference: fc(t, Mr(n), r), - floating: { - ...No(n), - x: 0, - y: 0, - }, + getElementRects: (e) => { + let { + reference: t, + floating: n, + strategy: r + } = e; + return { + reference: fc(t, Mr(n), r), + floating: { + ...No(n), + x: 0, + y: 0 } - }, - convertOffsetParentRelativeRectToViewportRelativeRect: (e) => hc(e), - getOffsetParent: (e) => { - let { element: t } = e - return Mr(t) - }, - isElement: (e) => Fn(e), - getDocumentElement: (e) => { - let { element: t } = e - return ft(t) - }, - getClippingClientRect: (e) => bc(e), - getDimensions: (e) => { - let { element: t } = e - return No(t) - }, - getClientRects: (e) => { - let { element: t } = e - return t.getClientRects() - }, - }, - xc = (e, t, n) => - Wl(e, t, { - platform: wc, - ...n, - }) -var Oc = Object.defineProperty, - Sc = Object.defineProperties, - kc = Object.getOwnPropertyDescriptors, - Mo = Object.getOwnPropertySymbols, - $c = Object.prototype.hasOwnProperty, - Pc = Object.prototype.propertyIsEnumerable, - Ro = (e, t, n) => - t in e - ? Oc(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) - : (e[t] = n), - qe = (e, t) => { - for (var n in t || (t = {})) $c.call(t, n) && Ro(e, n, t[n]) - if (Mo) for (var n of Mo(t)) Pc.call(t, n) && Ro(e, n, t[n]) - return e - }, - vn = (e, t) => Sc(e, kc(t)) + }; + }, + convertOffsetParentRelativeRectToViewportRelativeRect: (e) => hc(e), + getOffsetParent: (e) => { + let { + element: t + } = e; + return Mr(t); + }, + isElement: (e) => Fn(e), + getDocumentElement: (e) => { + let { + element: t + } = e; + return ft(t); + }, + getClippingClientRect: (e) => bc(e), + getDimensions: (e) => { + let { + element: t + } = e; + return No(t); + }, + getClientRects: (e) => { + let { + element: t + } = e; + return t.getClientRects(); + } +}, xc = (e, t, n) => Wl(e, t, { + platform: wc, + ...n +}); +var Oc = Object.defineProperty, Sc = Object.defineProperties, kc = Object.getOwnPropertyDescriptors, Mo = Object.getOwnPropertySymbols, $c = Object.prototype.hasOwnProperty, Pc = Object.prototype.propertyIsEnumerable, Ro = (e, t, n) => t in e ? Oc(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, qe = (e, t) => { + for (var n in t || (t = {})) + $c.call(t, n) && Ro(e, n, t[n]); + if (Mo) + for (var n of Mo(t)) + Pc.call(t, n) && Ro(e, n, t[n]); + return e; +}, vn = (e, t) => Sc(e, kc(t)); function za(e, t) { for (const n in t) - Object.prototype.hasOwnProperty.call(t, n) && - (typeof t[n] == 'object' && e[n] ? za(e[n], t[n]) : (e[n] = t[n])) + Object.prototype.hasOwnProperty.call(t, n) && (typeof t[n] == "object" && e[n] ? za(e[n], t[n]) : e[n] = t[n]); } const Ke = { disabled: !1, distance: 5, skidding: 0, - container: 'body', + container: "body", boundary: void 0, instantMove: !1, disposeTimeout: 5e3, popperTriggers: [], - strategy: 'absolute', + strategy: "absolute", preventOverflow: !0, flip: !0, shift: !0, @@ -1119,4128 +861,2463 @@ const Ke = { arrowOverflow: !0, themes: { tooltip: { - placement: 'top', - triggers: ['hover', 'focus', 'touch'], - hideTriggers: (e) => [...e, 'click'], + placement: "top", + triggers: ["hover", "focus", "touch"], + hideTriggers: (e) => [...e, "click"], delay: { show: 200, - hide: 0, + hide: 0 }, handleResize: !1, html: !1, - loadingContent: '...', + loadingContent: "..." }, dropdown: { - placement: 'bottom', - triggers: ['click'], + placement: "bottom", + triggers: ["click"], delay: 0, handleResize: !0, - autoHide: !0, + autoHide: !0 }, menu: { - $extend: 'dropdown', - triggers: ['hover', 'focus'], - popperTriggers: ['hover', 'focus'], + $extend: "dropdown", + triggers: ["hover", "focus"], + popperTriggers: ["hover", "focus"], delay: { show: 0, - hide: 400, - }, - }, - }, -} -function Mt(e, t) { - let n = Ke.themes[e] || {}, - r + hide: 400 + } + } + } +}; +function Rt(e, t) { + let n = Ke.themes[e] || {}, r; do - (r = n[t]), - typeof r > 'u' - ? n.$extend - ? (n = Ke.themes[n.$extend] || {}) - : ((n = null), (r = Ke[t])) - : (n = null) - while (n) - return r + r = n[t], typeof r > "u" ? n.$extend ? n = Ke.themes[n.$extend] || {} : (n = null, r = Ke[t]) : n = null; + while (n); + return r; } function Ec(e) { - const t = [e] - let n = Ke.themes[e] || {} + const t = [e]; + let n = Ke.themes[e] || {}; do - n.$extend && !n.$resetCss - ? (t.push(n.$extend), (n = Ke.themes[n.$extend] || {})) - : (n = null) - while (n) - return t.map((r) => `v-popper--theme-${r}`) + n.$extend && !n.$resetCss ? (t.push(n.$extend), n = Ke.themes[n.$extend] || {}) : n = null; + while (n); + return t.map((r) => `v-popper--theme-${r}`); } function Bo(e) { - const t = [e] - let n = Ke.themes[e] || {} + const t = [e]; + let n = Ke.themes[e] || {}; do - n.$extend - ? (t.push(n.$extend), (n = Ke.themes[n.$extend] || {})) - : (n = null) - while (n) - return t -} -let xt = !1 -if (typeof window < 'u') { - xt = !1 + n.$extend ? (t.push(n.$extend), n = Ke.themes[n.$extend] || {}) : n = null; + while (n); + return t; +} +let xt = !1; +if (typeof window < "u") { + xt = !1; try { - const e = Object.defineProperty({}, 'passive', { + const e = Object.defineProperty({}, "passive", { get() { - xt = !0 - }, - }) - window.addEventListener('test', null, e) - } catch {} -} -let Va = !1 -typeof window < 'u' && - typeof navigator < 'u' && - (Va = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) -const Ua = ['auto', 'top', 'bottom', 'left', 'right'].reduce( - (e, t) => e.concat([t, `${t}-start`, `${t}-end`]), - [] - ), - Ho = { - hover: 'mouseenter', - focus: 'focus', - click: 'click', - touch: 'touchstart', - }, - Fo = { - hover: 'mouseleave', - focus: 'blur', - click: 'click', - touch: 'touchend', - } + xt = !0; + } + }); + window.addEventListener("test", null, e); + } catch { + } +} +let Va = !1; +typeof window < "u" && typeof navigator < "u" && (Va = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream); +const Ua = ["auto", "top", "bottom", "left", "right"].reduce((e, t) => e.concat([ + t, + `${t}-start`, + `${t}-end` +]), []), Ho = { + hover: "mouseenter", + focus: "focus", + click: "click", + touch: "touchstart" +}, Fo = { + hover: "mouseleave", + focus: "blur", + click: "click", + touch: "touchend" +}; function zo(e, t) { - const n = e.indexOf(t) - n !== -1 && e.splice(n, 1) + const n = e.indexOf(t); + n !== -1 && e.splice(n, 1); } function br() { - return new Promise((e) => - requestAnimationFrame(() => { - requestAnimationFrame(e) - }) - ) + return new Promise((e) => requestAnimationFrame(() => { + requestAnimationFrame(e); + })); } -const Le = [] -let vt = null -const Vo = {} +const Me = []; +let vt = null; +const Vo = {}; function Uo(e) { - let t = Vo[e] - return t || (t = Vo[e] = []), t + let t = Vo[e]; + return t || (t = Vo[e] = []), t; } -let Rr = function () {} -typeof window < 'u' && (Rr = window.Element) +let Rr = function() { +}; +typeof window < "u" && (Rr = window.Element); function K(e) { - return function (t) { - return Mt(t.theme, e) - } -} -const wr = '__floating-vue__popper' -var qa = () => - D({ - name: 'VPopper', - provide() { - return { - [wr]: { - parentPopper: this, - }, + return function(t) { + return Rt(t.theme, e); + }; +} +const wr = "__floating-vue__popper"; +var qa = () => D({ + name: "VPopper", + provide() { + return { + [wr]: { + parentPopper: this } + }; + }, + inject: { + [wr]: { default: null } + }, + props: { + theme: { + type: String, + required: !0 }, - inject: { - [wr]: { default: null }, + targetNodes: { + type: Function, + required: !0 }, - props: { - theme: { - type: String, - required: !0, - }, - targetNodes: { - type: Function, - required: !0, - }, - referenceNode: { - type: Function, - default: null, - }, - popperNode: { - type: Function, - required: !0, - }, - shown: { - type: Boolean, - default: !1, - }, - showGroup: { - type: String, - default: null, - }, - ariaId: { - default: null, - }, - disabled: { - type: Boolean, - default: K('disabled'), - }, - positioningDisabled: { - type: Boolean, - default: K('positioningDisabled'), - }, - placement: { - type: String, - default: K('placement'), - validator: (e) => Ua.includes(e), - }, - delay: { - type: [String, Number, Object], - default: K('delay'), - }, - distance: { - type: [Number, String], - default: K('distance'), - }, - skidding: { - type: [Number, String], - default: K('skidding'), - }, - triggers: { - type: Array, - default: K('triggers'), - }, - showTriggers: { - type: [Array, Function], - default: K('showTriggers'), - }, - hideTriggers: { - type: [Array, Function], - default: K('hideTriggers'), - }, - popperTriggers: { - type: Array, - default: K('popperTriggers'), - }, - popperShowTriggers: { - type: [Array, Function], - default: K('popperShowTriggers'), - }, - popperHideTriggers: { - type: [Array, Function], - default: K('popperHideTriggers'), - }, - container: { - type: [String, Object, Rr, Boolean], - default: K('container'), - }, - boundary: { - type: [String, Rr], - default: K('boundary'), - }, - strategy: { - type: String, - validator: (e) => ['absolute', 'fixed'].includes(e), - default: K('strategy'), - }, - autoHide: { - type: [Boolean, Function], - default: K('autoHide'), - }, - handleResize: { - type: Boolean, - default: K('handleResize'), - }, - instantMove: { - type: Boolean, - default: K('instantMove'), - }, - eagerMount: { - type: Boolean, - default: K('eagerMount'), - }, - popperClass: { - type: [String, Array, Object], - default: K('popperClass'), - }, - computeTransformOrigin: { - type: Boolean, - default: K('computeTransformOrigin'), - }, - autoMinSize: { - type: Boolean, - default: K('autoMinSize'), - }, - autoSize: { - type: [Boolean, String], - default: K('autoSize'), - }, - autoMaxSize: { - type: Boolean, - default: K('autoMaxSize'), - }, - autoBoundaryMaxSize: { - type: Boolean, - default: K('autoBoundaryMaxSize'), - }, - preventOverflow: { - type: Boolean, - default: K('preventOverflow'), - }, - overflowPadding: { - type: [Number, String], - default: K('overflowPadding'), - }, - arrowPadding: { - type: [Number, String], - default: K('arrowPadding'), - }, - arrowOverflow: { - type: Boolean, - default: K('arrowOverflow'), - }, - flip: { - type: Boolean, - default: K('flip'), - }, - shift: { - type: Boolean, - default: K('shift'), - }, - shiftCrossAxis: { - type: Boolean, - default: K('shiftCrossAxis'), - }, - noAutoFocus: { - type: Boolean, - default: K('noAutoFocus'), - }, + referenceNode: { + type: Function, + default: null }, - emits: [ - 'show', - 'hide', - 'update:shown', - 'apply-show', - 'apply-hide', - 'close-group', - 'close-directive', - 'auto-hide', - 'resize', - 'dispose', - ], - data() { - return { - isShown: !1, - isMounted: !1, - skipTransition: !1, - classes: { - showFrom: !1, - showTo: !1, - hideFrom: !1, - hideTo: !0, - }, - result: { - x: 0, - y: 0, - placement: '', - strategy: this.strategy, - arrow: { - x: 0, - y: 0, - centerOffset: 0, - }, - transformOrigin: null, - }, - shownChildren: /* @__PURE__ */ new Set(), - lastAutoHide: !0, - } + popperNode: { + type: Function, + required: !0 }, - computed: { - popperId() { - return this.ariaId != null ? this.ariaId : this.randomId - }, - shouldMountContent() { - return this.eagerMount || this.isMounted - }, - slotData() { - return { - popperId: this.popperId, - isShown: this.isShown, - shouldMountContent: this.shouldMountContent, - skipTransition: this.skipTransition, - autoHide: - typeof this.autoHide == 'function' - ? this.lastAutoHide - : this.autoHide, - show: this.show, - hide: this.hide, - handleResize: this.handleResize, - onResize: this.onResize, - classes: vn(qe({}, this.classes), { - popperClass: this.popperClass, - }), - result: this.positioningDisabled ? null : this.result, - attrs: this.$attrs, - } - }, - parentPopper() { - var e - return (e = this[wr]) == null ? void 0 : e.parentPopper - }, - hasPopperShowTriggerHover() { - var e, t - return ( - ((e = this.popperTriggers) == null ? void 0 : e.includes('hover')) || - ((t = this.popperShowTriggers) == null ? void 0 : t.includes('hover')) - ) - }, + shown: { + type: Boolean, + default: !1 }, - watch: qe( - qe( - { - shown: '$_autoShowHide', - disabled(e) { - e ? this.dispose() : this.init() - }, - async container() { - this.isShown && - (this.$_ensureTeleport(), await this.$_computePosition()) - }, - }, - ['triggers', 'positioningDisabled'].reduce( - (e, t) => ((e[t] = '$_refreshListeners'), e), - {} - ) - ), - [ - 'placement', - 'distance', - 'skidding', - 'boundary', - 'strategy', - 'overflowPadding', - 'arrowPadding', - 'preventOverflow', - 'shift', - 'shiftCrossAxis', - 'flip', - ].reduce((e, t) => ((e[t] = '$_computePosition'), e), {}) - ), - created() { - ;(this.$_isDisposed = !0), - (this.randomId = `popper_${[Math.random(), Date.now()] - .map((e) => e.toString(36).substring(2, 10)) - .join('_')}`), - this.autoMinSize && - console.warn( - '[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.' - ), - this.autoMaxSize && - console.warn( - '[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.' - ) + showGroup: { + type: String, + default: null }, - mounted() { - this.init(), this.$_detachPopperNode() + ariaId: { + default: null }, - activated() { - this.$_autoShowHide() + disabled: { + type: Boolean, + default: K("disabled") }, - deactivated() { - this.hide() + positioningDisabled: { + type: Boolean, + default: K("positioningDisabled") }, - beforeUnmount() { - this.dispose() + placement: { + type: String, + default: K("placement"), + validator: (e) => Ua.includes(e) }, - methods: { - show({ event: e = null, skipDelay: t = !1, force: n = !1 } = {}) { - var r, o - ;(((r = this.parentPopper) == null ? void 0 : r.lockedChild) && - this.parentPopper.lockedChild !== this) || - ((this.$_pendingHide = !1), - (n || !this.disabled) && - (((o = this.parentPopper) == null ? void 0 : o.lockedChild) === - this && (this.parentPopper.lockedChild = null), - this.$_scheduleShow(e, t), - this.$emit('show'), - (this.$_showFrameLocked = !0), - requestAnimationFrame(() => { - this.$_showFrameLocked = !1 - })), - this.$emit('update:shown', !0)) - }, - hide({ event: e = null, skipDelay: t = !1 } = {}) { - var n - if (!this.$_hideInProgress) { - if (this.shownChildren.size > 0) { - this.$_pendingHide = !0 - return - } - if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) { - this.parentPopper && - ((this.parentPopper.lockedChild = this), - clearTimeout(this.parentPopper.lockedChildTimer), - (this.parentPopper.lockedChildTimer = setTimeout(() => { - this.parentPopper.lockedChild === this && - (this.parentPopper.lockedChild.hide({ skipDelay: t }), - (this.parentPopper.lockedChild = null)) - }, 1e3))) - return - } - ;((n = this.parentPopper) == null ? void 0 : n.lockedChild) === - this && (this.parentPopper.lockedChild = null), - (this.$_pendingHide = !1), - this.$_scheduleHide(e, t), - this.$emit('hide'), - this.$emit('update:shown', !1) - } - }, - init() { - var e, t - !this.$_isDisposed || - ((this.$_isDisposed = !1), - (this.isMounted = !1), - (this.$_events = []), - (this.$_preventShow = !1), - (this.$_referenceNode = - (t = (e = this.referenceNode) == null ? void 0 : e.call(this)) != - null - ? t - : this.$el), - (this.$_targetNodes = this.targetNodes().filter( - (n) => n.nodeType === n.ELEMENT_NODE - )), - (this.$_popperNode = this.popperNode()), - (this.$_innerNode = - this.$_popperNode.querySelector('.v-popper__inner')), - (this.$_arrowNode = this.$_popperNode.querySelector( - '.v-popper__arrow-container' - )), - this.$_swapTargetAttrs('title', 'data-original-title'), - this.$_detachPopperNode(), - this.triggers.length && this.$_addEventListeners(), - this.shown && this.show()) - }, - dispose() { - this.$_isDisposed || - ((this.$_isDisposed = !0), - this.$_removeEventListeners(), - this.hide({ skipDelay: !0 }), - this.$_detachPopperNode(), - (this.isMounted = !1), - (this.isShown = !1), - this.$_updateParentShownChildren(!1), - this.$_swapTargetAttrs('data-original-title', 'title'), - this.$emit('dispose')) - }, - async onResize() { - this.isShown && (await this.$_computePosition(), this.$emit('resize')) - }, - async $_computePosition() { - var e - if (this.$_isDisposed || this.positioningDisabled) return - const t = { - strategy: this.strategy, - middleware: [], - } - ;(this.distance || this.skidding) && - t.middleware.push( - ic({ - mainAxis: this.distance, - crossAxis: this.skidding, - }) - ) - const n = this.placement.startsWith('auto') - if ( - (n - ? t.middleware.push( - tc({ - alignment: - (e = this.placement.split('-')[1]) != null ? e : '', - }) - ) - : (t.placement = this.placement), - this.preventOverflow && - (this.shift && - t.middleware.push( - sc({ - padding: this.overflowPadding, - boundary: this.boundary, - crossAxis: this.shiftCrossAxis, - }) - ), - !n && - this.flip && - t.middleware.push( - rc({ - padding: this.overflowPadding, - boundary: this.boundary, - }) - )), - t.middleware.push( - Gl({ - element: this.$_arrowNode, - padding: this.arrowPadding, - }) - ), - this.arrowOverflow && - t.middleware.push({ - name: 'arrowOverflow', - fn: ({ placement: o, rects: i, middlewareData: a }) => { - let s - const { centerOffset: l } = a.arrow - return ( - o.startsWith('top') || o.startsWith('bottom') - ? (s = Math.abs(l) > i.reference.width / 2) - : (s = Math.abs(l) > i.reference.height / 2), - { - data: { - overflow: s, - }, - } - ) - }, - }), - this.autoMinSize || this.autoSize) - ) { - const o = this.autoSize - ? this.autoSize - : this.autoMinSize - ? 'min' - : null - t.middleware.push({ - name: 'autoSize', - fn: ({ rects: i, placement: a, middlewareData: s }) => { - var l - if ((l = s.autoSize) != null && l.skip) return {} - let u, c - return ( - a.startsWith('top') || a.startsWith('bottom') - ? (u = i.reference.width) - : (c = i.reference.height), - (this.$_innerNode.style[ - o === 'min' ? 'minWidth' : o === 'max' ? 'maxWidth' : 'width' - ] = u != null ? `${u}px` : null), - (this.$_innerNode.style[ - o === 'min' - ? 'minHeight' - : o === 'max' - ? 'maxHeight' - : 'height' - ] = c != null ? `${c}px` : null), - { - data: { - skip: !0, - }, - reset: { - rects: !0, - }, - } - ) - }, - }) - } - ;(this.autoMaxSize || this.autoBoundaryMaxSize) && - ((this.$_innerNode.style.maxWidth = null), - (this.$_innerNode.style.maxHeight = null), - t.middleware.push( - lc({ - boundary: this.boundary, - padding: this.overflowPadding, - apply: ({ width: o, height: i }) => { - ;(this.$_innerNode.style.maxWidth = - o != null ? `${o}px` : null), - (this.$_innerNode.style.maxHeight = - i != null ? `${i}px` : null) - }, - }) - )) - const r = await xc(this.$_referenceNode, this.$_popperNode, t) - Object.assign(this.result, { - x: r.x, - y: r.y, - placement: r.placement, - strategy: r.strategy, - arrow: qe( - qe({}, r.middlewareData.arrow), - r.middlewareData.arrowOverflow - ), - }) - }, - $_scheduleShow(e = null, t = !1) { - if ( - (this.$_updateParentShownChildren(!0), - (this.$_hideInProgress = !1), - clearTimeout(this.$_scheduleTimer), - vt && this.instantMove && vt.instantMove && vt !== this.parentPopper) - ) { - vt.$_applyHide(!0), this.$_applyShow(!0) - return - } - t - ? this.$_applyShow() - : (this.$_scheduleTimer = setTimeout( - this.$_applyShow.bind(this), - this.$_computeDelay('show') - )) - }, - $_scheduleHide(e = null, t = !1) { - if (this.shownChildren.size > 0) { - this.$_pendingHide = !0 - return - } - this.$_updateParentShownChildren(!1), - (this.$_hideInProgress = !0), - clearTimeout(this.$_scheduleTimer), - this.isShown && (vt = this), - t - ? this.$_applyHide() - : (this.$_scheduleTimer = setTimeout( - this.$_applyHide.bind(this), - this.$_computeDelay('hide') - )) - }, - $_computeDelay(e) { - const t = this.delay - return parseInt((t && t[e]) || t || 0) - }, - async $_applyShow(e = !1) { - clearTimeout(this.$_disposeTimer), - clearTimeout(this.$_scheduleTimer), - (this.skipTransition = e), - !this.isShown && - (this.$_ensureTeleport(), - await br(), - await this.$_computePosition(), - await this.$_applyShowEffect(), - this.positioningDisabled || - this.$_registerEventListeners( - [...Vn(this.$_referenceNode), ...Vn(this.$_popperNode)], - 'scroll', - () => { - this.$_computePosition() - } - )) - }, - async $_applyShowEffect() { - if (this.$_hideInProgress) return - if (this.computeTransformOrigin) { - const t = this.$_referenceNode.getBoundingClientRect(), - n = this.$_popperNode.querySelector('.v-popper__wrapper'), - r = n.parentNode.getBoundingClientRect(), - o = t.x + t.width / 2 - (r.left + n.offsetLeft), - i = t.y + t.height / 2 - (r.top + n.offsetTop) - this.result.transformOrigin = `${o}px ${i}px` - } - ;(this.isShown = !0), - this.$_applyAttrsToTarget({ - 'aria-describedby': this.popperId, - 'data-popper-shown': '', - }) - const e = this.showGroup - if (e) { - let t - for (let n = 0; n < Le.length; n++) - (t = Le[n]), t.showGroup !== e && (t.hide(), t.$emit('close-group')) - } - Le.push(this), document.body.classList.add('v-popper--some-open') - for (const t of Bo(this.theme)) - Uo(t).push(this), - document.body.classList.add(`v-popper--some-open--${t}`) - this.$emit('apply-show'), - (this.classes.showFrom = !0), - (this.classes.showTo = !1), - (this.classes.hideFrom = !1), - (this.classes.hideTo = !1), - await br(), - (this.classes.showFrom = !1), - (this.classes.showTo = !0), - this.noAutoFocus || this.$_popperNode.focus() + delay: { + type: [String, Number, Object], + default: K("delay") + }, + distance: { + type: [Number, String], + default: K("distance") + }, + skidding: { + type: [Number, String], + default: K("skidding") + }, + triggers: { + type: Array, + default: K("triggers") + }, + showTriggers: { + type: [Array, Function], + default: K("showTriggers") + }, + hideTriggers: { + type: [Array, Function], + default: K("hideTriggers") + }, + popperTriggers: { + type: Array, + default: K("popperTriggers") + }, + popperShowTriggers: { + type: [Array, Function], + default: K("popperShowTriggers") + }, + popperHideTriggers: { + type: [Array, Function], + default: K("popperHideTriggers") + }, + container: { + type: [String, Object, Rr, Boolean], + default: K("container") + }, + boundary: { + type: [String, Rr], + default: K("boundary") + }, + strategy: { + type: String, + validator: (e) => ["absolute", "fixed"].includes(e), + default: K("strategy") + }, + autoHide: { + type: [Boolean, Function], + default: K("autoHide") + }, + handleResize: { + type: Boolean, + default: K("handleResize") + }, + instantMove: { + type: Boolean, + default: K("instantMove") + }, + eagerMount: { + type: Boolean, + default: K("eagerMount") + }, + popperClass: { + type: [String, Array, Object], + default: K("popperClass") + }, + computeTransformOrigin: { + type: Boolean, + default: K("computeTransformOrigin") + }, + autoMinSize: { + type: Boolean, + default: K("autoMinSize") + }, + autoSize: { + type: [Boolean, String], + default: K("autoSize") + }, + autoMaxSize: { + type: Boolean, + default: K("autoMaxSize") + }, + autoBoundaryMaxSize: { + type: Boolean, + default: K("autoBoundaryMaxSize") + }, + preventOverflow: { + type: Boolean, + default: K("preventOverflow") + }, + overflowPadding: { + type: [Number, String], + default: K("overflowPadding") + }, + arrowPadding: { + type: [Number, String], + default: K("arrowPadding") + }, + arrowOverflow: { + type: Boolean, + default: K("arrowOverflow") + }, + flip: { + type: Boolean, + default: K("flip") + }, + shift: { + type: Boolean, + default: K("shift") + }, + shiftCrossAxis: { + type: Boolean, + default: K("shiftCrossAxis") + }, + noAutoFocus: { + type: Boolean, + default: K("noAutoFocus") + } + }, + emits: [ + "show", + "hide", + "update:shown", + "apply-show", + "apply-hide", + "close-group", + "close-directive", + "auto-hide", + "resize", + "dispose" + ], + data() { + return { + isShown: !1, + isMounted: !1, + skipTransition: !1, + classes: { + showFrom: !1, + showTo: !1, + hideFrom: !1, + hideTo: !0 + }, + result: { + x: 0, + y: 0, + placement: "", + strategy: this.strategy, + arrow: { + x: 0, + y: 0, + centerOffset: 0 + }, + transformOrigin: null }, - async $_applyHide(e = !1) { + shownChildren: /* @__PURE__ */ new Set(), + lastAutoHide: !0 + }; + }, + computed: { + popperId() { + return this.ariaId != null ? this.ariaId : this.randomId; + }, + shouldMountContent() { + return this.eagerMount || this.isMounted; + }, + slotData() { + return { + popperId: this.popperId, + isShown: this.isShown, + shouldMountContent: this.shouldMountContent, + skipTransition: this.skipTransition, + autoHide: typeof this.autoHide == "function" ? this.lastAutoHide : this.autoHide, + show: this.show, + hide: this.hide, + handleResize: this.handleResize, + onResize: this.onResize, + classes: vn(qe({}, this.classes), { + popperClass: this.popperClass + }), + result: this.positioningDisabled ? null : this.result, + attrs: this.$attrs + }; + }, + parentPopper() { + var e; + return (e = this[wr]) == null ? void 0 : e.parentPopper; + }, + hasPopperShowTriggerHover() { + var e, t; + return ((e = this.popperTriggers) == null ? void 0 : e.includes("hover")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes("hover")); + } + }, + watch: qe(qe({ + shown: "$_autoShowHide", + disabled(e) { + e ? this.dispose() : this.init(); + }, + async container() { + this.isShown && (this.$_ensureTeleport(), await this.$_computePosition()); + } + }, [ + "triggers", + "positioningDisabled" + ].reduce((e, t) => (e[t] = "$_refreshListeners", e), {})), [ + "placement", + "distance", + "skidding", + "boundary", + "strategy", + "overflowPadding", + "arrowPadding", + "preventOverflow", + "shift", + "shiftCrossAxis", + "flip" + ].reduce((e, t) => (e[t] = "$_computePosition", e), {})), + created() { + this.$_isDisposed = !0, this.randomId = `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join("_")}`, this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'), this.autoMaxSize && console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead."); + }, + mounted() { + this.init(), this.$_detachPopperNode(); + }, + activated() { + this.$_autoShowHide(); + }, + deactivated() { + this.hide(); + }, + beforeUnmount() { + this.dispose(); + }, + methods: { + show({ event: e = null, skipDelay: t = !1, force: n = !1 } = {}) { + var r, o; + ((r = this.parentPopper) == null ? void 0 : r.lockedChild) && this.parentPopper.lockedChild !== this || (this.$_pendingHide = !1, (n || !this.disabled) && (((o = this.parentPopper) == null ? void 0 : o.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit("show"), this.$_showFrameLocked = !0, requestAnimationFrame(() => { + this.$_showFrameLocked = !1; + })), this.$emit("update:shown", !0)); + }, + hide({ event: e = null, skipDelay: t = !1 } = {}) { + var n; + if (!this.$_hideInProgress) { if (this.shownChildren.size > 0) { - ;(this.$_pendingHide = !0), (this.$_hideInProgress = !1) - return - } - if ((clearTimeout(this.$_scheduleTimer), !this.isShown)) return - ;(this.skipTransition = e), - zo(Le, this), - Le.length === 0 && - document.body.classList.remove('v-popper--some-open') - for (const n of Bo(this.theme)) { - const r = Uo(n) - zo(r, this), - r.length === 0 && - document.body.classList.remove(`v-popper--some-open--${n}`) - } - vt === this && (vt = null), - (this.isShown = !1), - this.$_applyAttrsToTarget({ - 'aria-describedby': void 0, - 'data-popper-shown': void 0, - }), - clearTimeout(this.$_disposeTimer) - const t = Mt(this.theme, 'disposeTimeout') - t !== null && - (this.$_disposeTimer = setTimeout(() => { - this.$_popperNode && - (this.$_detachPopperNode(), (this.isMounted = !1)) - }, t)), - this.$_removeEventListeners('scroll'), - this.$emit('apply-hide'), - (this.classes.showFrom = !1), - (this.classes.showTo = !1), - (this.classes.hideFrom = !0), - (this.classes.hideTo = !1), - await br(), - (this.classes.hideFrom = !1), - (this.classes.hideTo = !0) - }, - $_autoShowHide() { - this.shown ? this.show() : this.hide() - }, - $_ensureTeleport() { - if (this.$_isDisposed) return - let e = this.container - if ( - (typeof e == 'string' - ? (e = window.document.querySelector(e)) - : e === !1 && (e = this.$_targetNodes[0].parentNode), - !e) - ) - throw new Error('No container for popover: ' + this.container) - e.appendChild(this.$_popperNode), (this.isMounted = !0) - }, - $_addEventListeners() { - const e = (n) => { - ;(this.isShown && !this.$_hideInProgress) || - ((n.usedByTooltip = !0), - !this.$_preventShow && this.show({ event: n })) + this.$_pendingHide = !0; + return; } - this.$_registerTriggerListeners( - this.$_targetNodes, - Ho, - this.triggers, - this.showTriggers, - e - ), - this.$_registerTriggerListeners( - [this.$_popperNode], - Ho, - this.popperTriggers, - this.popperShowTriggers, - e - ) - const t = (n) => { - n.usedByTooltip || this.hide({ event: n }) + if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) { + this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => { + this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null); + }, 1e3)); + return; } - this.$_registerTriggerListeners( - this.$_targetNodes, - Fo, - this.triggers, - this.hideTriggers, - t - ), - this.$_registerTriggerListeners( - [this.$_popperNode], - Fo, - this.popperTriggers, - this.popperHideTriggers, - t - ) - }, - $_registerEventListeners(e, t, n) { - this.$_events.push({ targetNodes: e, eventType: t, handler: n }), - e.forEach((r) => - r.addEventListener( - t, - n, - xt - ? { - passive: !0, - } - : void 0 - ) - ) - }, - $_registerTriggerListeners(e, t, n, r, o) { - let i = n - r != null && (i = typeof r == 'function' ? r(i) : r), - i.forEach((a) => { - const s = t[a] - s && this.$_registerEventListeners(e, s, o) - }) - }, - $_removeEventListeners(e) { - const t = [] - this.$_events.forEach((n) => { - const { targetNodes: r, eventType: o, handler: i } = n - !e || e === o - ? r.forEach((a) => a.removeEventListener(o, i)) - : t.push(n) - }), - (this.$_events = t) - }, - $_refreshListeners() { - this.$_isDisposed || - (this.$_removeEventListeners(), this.$_addEventListeners()) - }, - $_handleGlobalClose(e, t = !1) { - this.$_showFrameLocked || - (this.hide({ event: e }), - e.closePopover - ? this.$emit('close-directive') - : this.$emit('auto-hide'), - t && - ((this.$_preventShow = !0), - setTimeout(() => { - this.$_preventShow = !1 - }, 300))) - }, - $_detachPopperNode() { - this.$_popperNode.parentNode && - this.$_popperNode.parentNode.removeChild(this.$_popperNode) - }, - $_swapTargetAttrs(e, t) { - for (const n of this.$_targetNodes) { - const r = n.getAttribute(e) - r && (n.removeAttribute(e), n.setAttribute(t, r)) + ((n = this.parentPopper) == null ? void 0 : n.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_pendingHide = !1, this.$_scheduleHide(e, t), this.$emit("hide"), this.$emit("update:shown", !1); + } + }, + init() { + var e, t; + !this.$_isDisposed || (this.$_isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = (t = (e = this.referenceNode) == null ? void 0 : e.call(this)) != null ? t : this.$el, this.$_targetNodes = this.targetNodes().filter((n) => n.nodeType === n.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(".v-popper__inner"), this.$_arrowNode = this.$_popperNode.querySelector(".v-popper__arrow-container"), this.$_swapTargetAttrs("title", "data-original-title"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show()); + }, + dispose() { + this.$_isDisposed || (this.$_isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs("data-original-title", "title"), this.$emit("dispose")); + }, + async onResize() { + this.isShown && (await this.$_computePosition(), this.$emit("resize")); + }, + async $_computePosition() { + var e; + if (this.$_isDisposed || this.positioningDisabled) + return; + const t = { + strategy: this.strategy, + middleware: [] + }; + (this.distance || this.skidding) && t.middleware.push(ic({ + mainAxis: this.distance, + crossAxis: this.skidding + })); + const n = this.placement.startsWith("auto"); + if (n ? t.middleware.push(tc({ + alignment: (e = this.placement.split("-")[1]) != null ? e : "" + })) : t.placement = this.placement, this.preventOverflow && (this.shift && t.middleware.push(sc({ + padding: this.overflowPadding, + boundary: this.boundary, + crossAxis: this.shiftCrossAxis + })), !n && this.flip && t.middleware.push(rc({ + padding: this.overflowPadding, + boundary: this.boundary + }))), t.middleware.push(Gl({ + element: this.$_arrowNode, + padding: this.arrowPadding + })), this.arrowOverflow && t.middleware.push({ + name: "arrowOverflow", + fn: ({ placement: o, rects: i, middlewareData: a }) => { + let s; + const { centerOffset: l } = a.arrow; + return o.startsWith("top") || o.startsWith("bottom") ? s = Math.abs(l) > i.reference.width / 2 : s = Math.abs(l) > i.reference.height / 2, { + data: { + overflow: s + } + }; } - }, - $_applyAttrsToTarget(e) { - for (const t of this.$_targetNodes) - for (const n in e) { - const r = e[n] - r == null ? t.removeAttribute(n) : t.setAttribute(n, r) + }), this.autoMinSize || this.autoSize) { + const o = this.autoSize ? this.autoSize : this.autoMinSize ? "min" : null; + t.middleware.push({ + name: "autoSize", + fn: ({ rects: i, placement: a, middlewareData: s }) => { + var l; + if ((l = s.autoSize) != null && l.skip) + return {}; + let u, c; + return a.startsWith("top") || a.startsWith("bottom") ? u = i.reference.width : c = i.reference.height, this.$_innerNode.style[o === "min" ? "minWidth" : o === "max" ? "maxWidth" : "width"] = u != null ? `${u}px` : null, this.$_innerNode.style[o === "min" ? "minHeight" : o === "max" ? "maxHeight" : "height"] = c != null ? `${c}px` : null, { + data: { + skip: !0 + }, + reset: { + rects: !0 + } + }; } - }, - $_updateParentShownChildren(e) { - let t = this.parentPopper - for (; t; ) - e - ? t.shownChildren.add(this.randomId) - : (t.shownChildren.delete(this.randomId), - t.$_pendingHide && t.hide()), - (t = t.parentPopper) - }, - $_isAimingPopper() { - const e = this.$_referenceNode.getBoundingClientRect() - if (Zt >= e.left && Zt <= e.right && Xt >= e.top && Xt <= e.bottom) { - const t = this.$_popperNode.getBoundingClientRect(), - n = Zt - ot, - r = Xt - it, - i = - t.left + - t.width / 2 - - ot + - (t.top + t.height / 2) - - it + - t.width + - t.height, - a = ot + n * i, - s = it + r * i - return ( - wn(ot, it, a, s, t.left, t.top, t.left, t.bottom) || - wn(ot, it, a, s, t.left, t.top, t.right, t.top) || - wn(ot, it, a, s, t.right, t.top, t.right, t.bottom) || - wn(ot, it, a, s, t.left, t.bottom, t.right, t.bottom) - ) + }); + } + (this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, t.middleware.push(lc({ + boundary: this.boundary, + padding: this.overflowPadding, + apply: ({ width: o, height: i }) => { + this.$_innerNode.style.maxWidth = o != null ? `${o}px` : null, this.$_innerNode.style.maxHeight = i != null ? `${i}px` : null; } - return !1 - }, + }))); + const r = await xc(this.$_referenceNode, this.$_popperNode, t); + Object.assign(this.result, { + x: r.x, + y: r.y, + placement: r.placement, + strategy: r.strategy, + arrow: qe(qe({}, r.middlewareData.arrow), r.middlewareData.arrowOverflow) + }); + }, + $_scheduleShow(e = null, t = !1) { + if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), vt && this.instantMove && vt.instantMove && vt !== this.parentPopper) { + vt.$_applyHide(!0), this.$_applyShow(!0); + return; + } + t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay("show")); }, - render() { - return this.$slots.default(this.slotData) + $_scheduleHide(e = null, t = !1) { + if (this.shownChildren.size > 0) { + this.$_pendingHide = !0; + return; + } + this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (vt = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay("hide")); + }, + $_computeDelay(e) { + const t = this.delay; + return parseInt(t && t[e] || t || 0); + }, + async $_applyShow(e = !1) { + clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await br(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([ + ...Vn(this.$_referenceNode), + ...Vn(this.$_popperNode) + ], "scroll", () => { + this.$_computePosition(); + })); + }, + async $_applyShowEffect() { + if (this.$_hideInProgress) + return; + if (this.computeTransformOrigin) { + const t = this.$_referenceNode.getBoundingClientRect(), n = this.$_popperNode.querySelector(".v-popper__wrapper"), r = n.parentNode.getBoundingClientRect(), o = t.x + t.width / 2 - (r.left + n.offsetLeft), i = t.y + t.height / 2 - (r.top + n.offsetTop); + this.result.transformOrigin = `${o}px ${i}px`; + } + this.isShown = !0, this.$_applyAttrsToTarget({ + "aria-describedby": this.popperId, + "data-popper-shown": "" + }); + const e = this.showGroup; + if (e) { + let t; + for (let n = 0; n < Me.length; n++) + t = Me[n], t.showGroup !== e && (t.hide(), t.$emit("close-group")); + } + Me.push(this), document.body.classList.add("v-popper--some-open"); + for (const t of Bo(this.theme)) + Uo(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`); + this.$emit("apply-show"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await br(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus(); + }, + async $_applyHide(e = !1) { + if (this.shownChildren.size > 0) { + this.$_pendingHide = !0, this.$_hideInProgress = !1; + return; + } + if (clearTimeout(this.$_scheduleTimer), !this.isShown) + return; + this.skipTransition = e, zo(Me, this), Me.length === 0 && document.body.classList.remove("v-popper--some-open"); + for (const n of Bo(this.theme)) { + const r = Uo(n); + zo(r, this), r.length === 0 && document.body.classList.remove(`v-popper--some-open--${n}`); + } + vt === this && (vt = null), this.isShown = !1, this.$_applyAttrsToTarget({ + "aria-describedby": void 0, + "data-popper-shown": void 0 + }), clearTimeout(this.$_disposeTimer); + const t = Rt(this.theme, "disposeTimeout"); + t !== null && (this.$_disposeTimer = setTimeout(() => { + this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1); + }, t)), this.$_removeEventListeners("scroll"), this.$emit("apply-hide"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await br(), this.classes.hideFrom = !1, this.classes.hideTo = !0; + }, + $_autoShowHide() { + this.shown ? this.show() : this.hide(); + }, + $_ensureTeleport() { + if (this.$_isDisposed) + return; + let e = this.container; + if (typeof e == "string" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e) + throw new Error("No container for popover: " + this.container); + e.appendChild(this.$_popperNode), this.isMounted = !0; + }, + $_addEventListeners() { + const e = (n) => { + this.isShown && !this.$_hideInProgress || (n.usedByTooltip = !0, !this.$_preventShow && this.show({ event: n })); + }; + this.$_registerTriggerListeners(this.$_targetNodes, Ho, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], Ho, this.popperTriggers, this.popperShowTriggers, e); + const t = (n) => { + n.usedByTooltip || this.hide({ event: n }); + }; + this.$_registerTriggerListeners(this.$_targetNodes, Fo, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], Fo, this.popperTriggers, this.popperHideTriggers, t); + }, + $_registerEventListeners(e, t, n) { + this.$_events.push({ targetNodes: e, eventType: t, handler: n }), e.forEach((r) => r.addEventListener(t, n, xt ? { + passive: !0 + } : void 0)); + }, + $_registerTriggerListeners(e, t, n, r, o) { + let i = n; + r != null && (i = typeof r == "function" ? r(i) : r), i.forEach((a) => { + const s = t[a]; + s && this.$_registerEventListeners(e, s, o); + }); + }, + $_removeEventListeners(e) { + const t = []; + this.$_events.forEach((n) => { + const { targetNodes: r, eventType: o, handler: i } = n; + !e || e === o ? r.forEach((a) => a.removeEventListener(o, i)) : t.push(n); + }), this.$_events = t; + }, + $_refreshListeners() { + this.$_isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners()); + }, + $_handleGlobalClose(e, t = !1) { + this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit("close-directive") : this.$emit("auto-hide"), t && (this.$_preventShow = !0, setTimeout(() => { + this.$_preventShow = !1; + }, 300))); + }, + $_detachPopperNode() { + this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode); + }, + $_swapTargetAttrs(e, t) { + for (const n of this.$_targetNodes) { + const r = n.getAttribute(e); + r && (n.removeAttribute(e), n.setAttribute(t, r)); + } }, - }) -typeof document < 'u' && - typeof window < 'u' && - (Va - ? (document.addEventListener( - 'touchstart', - qo, - xt - ? { - passive: !0, - capture: !0, - } - : !0 - ), - document.addEventListener( - 'touchend', - jc, - xt - ? { - passive: !0, - capture: !0, - } - : !0 - )) - : (window.addEventListener('mousedown', qo, !0), - window.addEventListener('click', Cc, !0)), - window.addEventListener('resize', Ic)) + $_applyAttrsToTarget(e) { + for (const t of this.$_targetNodes) + for (const n in e) { + const r = e[n]; + r == null ? t.removeAttribute(n) : t.setAttribute(n, r); + } + }, + $_updateParentShownChildren(e) { + let t = this.parentPopper; + for (; t; ) + e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.$_pendingHide && t.hide()), t = t.parentPopper; + }, + $_isAimingPopper() { + const e = this.$_referenceNode.getBoundingClientRect(); + if (Zt >= e.left && Zt <= e.right && Xt >= e.top && Xt <= e.bottom) { + const t = this.$_popperNode.getBoundingClientRect(), n = Zt - ot, r = Xt - it, i = t.left + t.width / 2 - ot + (t.top + t.height / 2) - it + t.width + t.height, a = ot + n * i, s = it + r * i; + return wn(ot, it, a, s, t.left, t.top, t.left, t.bottom) || wn(ot, it, a, s, t.left, t.top, t.right, t.top) || wn(ot, it, a, s, t.right, t.top, t.right, t.bottom) || wn(ot, it, a, s, t.left, t.bottom, t.right, t.bottom); + } + return !1; + } + }, + render() { + return this.$slots.default(this.slotData); + } +}); +typeof document < "u" && typeof window < "u" && (Va ? (document.addEventListener("touchstart", qo, xt ? { + passive: !0, + capture: !0 +} : !0), document.addEventListener("touchend", jc, xt ? { + passive: !0, + capture: !0 +} : !0)) : (window.addEventListener("mousedown", qo, !0), window.addEventListener("click", Cc, !0)), window.addEventListener("resize", Ic)); function qo(e) { - for (let t = 0; t < Le.length; t++) { - const n = Le[t] + for (let t = 0; t < Me.length; t++) { + const n = Me[t]; try { - const r = n.popperNode() - n.$_mouseDownContains = r.contains(e.target) - } catch {} + const r = n.popperNode(); + n.$_mouseDownContains = r.contains(e.target); + } catch { + } } } function Cc(e) { - Wa(e) + Wa(e); } function jc(e) { - Wa(e, !0) + Wa(e, !0); } function Wa(e, t = !1) { - const n = {} - for (let r = Le.length - 1; r >= 0; r--) { - const o = Le[r] + const n = {}; + for (let r = Me.length - 1; r >= 0; r--) { + const o = Me[r]; try { - const i = (o.$_containsGlobalTarget = Tc(o, e)) - ;(o.$_pendingHide = !1), - requestAnimationFrame(() => { - if (((o.$_pendingHide = !1), !n[o.randomId] && Wo(o, i, e))) { - if ( - (o.$_handleGlobalClose(e, t), - !e.closeAllPopover && e.closePopover && i) - ) { - let s = o.parentPopper - for (; s; ) (n[s.randomId] = !0), (s = s.parentPopper) - return - } - let a = o.parentPopper - for (; a && Wo(a, a.$_containsGlobalTarget, e); ) { - a.$_handleGlobalClose(e, t) - a = a.parentPopper - } + const i = o.$_containsGlobalTarget = Tc(o, e); + o.$_pendingHide = !1, requestAnimationFrame(() => { + if (o.$_pendingHide = !1, !n[o.randomId] && Wo(o, i, e)) { + if (o.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && i) { + let s = o.parentPopper; + for (; s; ) + n[s.randomId] = !0, s = s.parentPopper; + return; } - }) - } catch {} + let a = o.parentPopper; + for (; a && Wo(a, a.$_containsGlobalTarget, e); ) { + a.$_handleGlobalClose(e, t); + a = a.parentPopper; + } + } + }); + } catch { + } } } function Tc(e, t) { - const n = e.popperNode() - return e.$_mouseDownContains || n.contains(t.target) + const n = e.popperNode(); + return e.$_mouseDownContains || n.contains(t.target); } function Wo(e, t, n) { - return n.closeAllPopover || (n.closePopover && t) || (Ac(e, n) && !t) + return n.closeAllPopover || n.closePopover && t || Ac(e, n) && !t; } function Ac(e, t) { - if (typeof e.autoHide == 'function') { - const n = e.autoHide(t) - return (e.lastAutoHide = n), n + if (typeof e.autoHide == "function") { + const n = e.autoHide(t); + return e.lastAutoHide = n, n; } - return e.autoHide + return e.autoHide; } function Ic(e) { - for (let t = 0; t < Le.length; t++) Le[t].$_computePosition(e) -} -let ot = 0, - it = 0, - Zt = 0, - Xt = 0 -typeof window < 'u' && - window.addEventListener( - 'mousemove', - (e) => { - ;(ot = Zt), (it = Xt), (Zt = e.clientX), (Xt = e.clientY) - }, - xt - ? { - passive: !0, - } - : void 0 - ) + for (let t = 0; t < Me.length; t++) + Me[t].$_computePosition(e); +} +let ot = 0, it = 0, Zt = 0, Xt = 0; +typeof window < "u" && window.addEventListener("mousemove", (e) => { + ot = Zt, it = Xt, Zt = e.clientX, Xt = e.clientY; +}, xt ? { + passive: !0 +} : void 0); function wn(e, t, n, r, o, i, a, s) { - const l = - ((a - o) * (t - i) - (s - i) * (e - o)) / - ((s - i) * (n - e) - (a - o) * (r - t)), - u = - ((n - e) * (t - i) - (r - t) * (e - o)) / - ((s - i) * (n - e) - (a - o) * (r - t)) - return l >= 0 && l <= 1 && u >= 0 && u <= 1 + const l = ((a - o) * (t - i) - (s - i) * (e - o)) / ((s - i) * (n - e) - (a - o) * (r - t)), u = ((n - e) * (t - i) - (r - t) * (e - o)) / ((s - i) * (n - e) - (a - o) * (r - t)); + return l >= 0 && l <= 1 && u >= 0 && u <= 1; } var ur = (e, t) => { - const n = e.__vccOpts || e - for (const [r, o] of t) n[r] = o - return n -} + const n = e.__vccOpts || e; + for (const [r, o] of t) + n[r] = o; + return n; +}; const Dc = { - extends: qa(), -} + extends: qa() +}; function Nc(e, t, n, r, o, i) { - return ( - _(), - w( - 'div', - { - ref: 'reference', - class: Z([ - 'v-popper', - { - 'v-popper--shown': e.slotData.isShown, - }, - ]), - }, - [Re(e.$slots, 'default', Al(Il(e.slotData)))], - 2 - ) - ) -} -var Lc = /* @__PURE__ */ ur(Dc, [['render', Nc]]) + return _(), w("div", { + ref: "reference", + class: Z(["v-popper", { + "v-popper--shown": e.slotData.isShown + }]) + }, [ + De(e.$slots, "default", Al(Il(e.slotData))) + ], 2); +} +var Lc = /* @__PURE__ */ ur(Dc, [["render", Nc]]); function Mc() { - var e = window.navigator.userAgent, - t = e.indexOf('MSIE ') - if (t > 0) return parseInt(e.substring(t + 5, e.indexOf('.', t)), 10) - var n = e.indexOf('Trident/') + var e = window.navigator.userAgent, t = e.indexOf("MSIE "); + if (t > 0) + return parseInt(e.substring(t + 5, e.indexOf(".", t)), 10); + var n = e.indexOf("Trident/"); if (n > 0) { - var r = e.indexOf('rv:') - return parseInt(e.substring(r + 3, e.indexOf('.', r)), 10) + var r = e.indexOf("rv:"); + return parseInt(e.substring(r + 3, e.indexOf(".", r)), 10); } - var o = e.indexOf('Edge/') - return o > 0 ? parseInt(e.substring(o + 5, e.indexOf('.', o)), 10) : -1 + var o = e.indexOf("Edge/"); + return o > 0 ? parseInt(e.substring(o + 5, e.indexOf(".", o)), 10) : -1; } -let An +let An; function Br() { - Br.init || ((Br.init = !0), (An = Mc() !== -1)) + Br.init || (Br.init = !0, An = Mc() !== -1); } var dr = { - name: 'ResizeObserver', + name: "ResizeObserver", props: { emitOnMount: { type: Boolean, - default: !1, + default: !1 }, ignoreWidth: { type: Boolean, - default: !1, + default: !1 }, ignoreHeight: { type: Boolean, - default: !1, - }, + default: !1 + } }, - emits: ['notify'], + emits: [ + "notify" + ], mounted() { - Br(), - or(() => { - ;(this._w = this.$el.offsetWidth), - (this._h = this.$el.offsetHeight), - this.emitOnMount && this.emitSize() - }) - const e = document.createElement('object') - ;(this._resizeObject = e), - e.setAttribute('aria-hidden', 'true'), - e.setAttribute('tabindex', -1), - (e.onload = this.addResizeHandlers), - (e.type = 'text/html'), - An && this.$el.appendChild(e), - (e.data = 'about:blank'), - An || this.$el.appendChild(e) + Br(), or(() => { + this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize(); + }); + const e = document.createElement("object"); + this._resizeObject = e, e.setAttribute("aria-hidden", "true"), e.setAttribute("tabindex", -1), e.onload = this.addResizeHandlers, e.type = "text/html", An && this.$el.appendChild(e), e.data = "about:blank", An || this.$el.appendChild(e); }, beforeUnmount() { - this.removeResizeHandlers() + this.removeResizeHandlers(); }, methods: { compareAndNotify() { - ;((!this.ignoreWidth && this._w !== this.$el.offsetWidth) || - (!this.ignoreHeight && this._h !== this.$el.offsetHeight)) && - ((this._w = this.$el.offsetWidth), - (this._h = this.$el.offsetHeight), - this.emitSize()) + (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize()); }, emitSize() { - this.$emit('notify', { + this.$emit("notify", { width: this._w, - height: this._h, - }) + height: this._h + }); }, addResizeHandlers() { - this._resizeObject.contentDocument.defaultView.addEventListener( - 'resize', - this.compareAndNotify - ), - this.compareAndNotify() + this._resizeObject.contentDocument.defaultView.addEventListener("resize", this.compareAndNotify), this.compareAndNotify(); }, removeResizeHandlers() { - this._resizeObject && - this._resizeObject.onload && - (!An && - this._resizeObject.contentDocument && - this._resizeObject.contentDocument.defaultView.removeEventListener( - 'resize', - this.compareAndNotify - ), - this.$el.removeChild(this._resizeObject), - (this._resizeObject.onload = null), - (this._resizeObject = null)) - }, - }, -} -const Rc = /* @__PURE__ */ Dl('data-v-b329ee4c') -jl('data-v-b329ee4c') + this._resizeObject && this._resizeObject.onload && (!An && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener("resize", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null); + } + } +}; +const Rc = /* @__PURE__ */ Dl("data-v-b329ee4c"); +jl("data-v-b329ee4c"); const Bc = { - class: 'resize-observer', - tabindex: '-1', -} -Tl() -const Hc = /* @__PURE__ */ Rc((e, t, n, r, o, i) => (_(), ce('div', Bc))) -dr.render = Hc -dr.__scopeId = 'data-v-b329ee4c' -dr.__file = 'src/components/ResizeObserver.vue' -var Ka = (e = 'theme') => ({ + class: "resize-observer", + tabindex: "-1" +}; +Tl(); +const Hc = /* @__PURE__ */ Rc((e, t, n, r, o, i) => (_(), ce("div", Bc))); +dr.render = Hc; +dr.__scopeId = "data-v-b329ee4c"; +dr.__file = "src/components/ResizeObserver.vue"; +var Ka = (e = "theme") => ({ computed: { themeClass() { - return Ec(this[e]) - }, - }, -}) + return Ec(this[e]); + } + } +}); const Fc = D({ - name: 'VPopperContent', - components: { - ResizeObserver: dr, - }, - mixins: [Ka()], - props: { - popperId: String, - theme: String, - shown: Boolean, - mounted: Boolean, - skipTransition: Boolean, - autoHide: Boolean, - handleResize: Boolean, - classes: Object, - result: Object, - }, - emits: ['hide', 'resize'], - methods: { - toPx(e) { - return e != null && !isNaN(e) ? `${e}px` : null - }, - }, - }), - zc = ['id', 'aria-hidden', 'tabindex', 'data-popper-placement'], - Vc = { - ref: 'inner', - class: 'v-popper__inner', + name: "VPopperContent", + components: { + ResizeObserver: dr }, - Uc = /* @__PURE__ */ h('div', { class: 'v-popper__arrow-outer' }, null, -1), - qc = /* @__PURE__ */ h('div', { class: 'v-popper__arrow-inner' }, null, -1), - Wc = [Uc, qc] + mixins: [ + Ka() + ], + props: { + popperId: String, + theme: String, + shown: Boolean, + mounted: Boolean, + skipTransition: Boolean, + autoHide: Boolean, + handleResize: Boolean, + classes: Object, + result: Object + }, + emits: [ + "hide", + "resize" + ], + methods: { + toPx(e) { + return e != null && !isNaN(e) ? `${e}px` : null; + } + } +}), zc = ["id", "aria-hidden", "tabindex", "data-popper-placement"], Vc = { + ref: "inner", + class: "v-popper__inner" +}, Uc = /* @__PURE__ */ h("div", { class: "v-popper__arrow-outer" }, null, -1), qc = /* @__PURE__ */ h("div", { class: "v-popper__arrow-inner" }, null, -1), Wc = [ + Uc, + qc +]; function Kc(e, t, n, r, o, i) { - const a = xe('ResizeObserver') - return ( - _(), - w( - 'div', + const a = xe("ResizeObserver"); + return _(), w("div", { + id: e.popperId, + ref: "popover", + class: Z(["v-popper__popper", [ + e.themeClass, + e.classes.popperClass, { - id: e.popperId, - ref: 'popover', - class: Z([ - 'v-popper__popper', - [ - e.themeClass, - e.classes.popperClass, - { - 'v-popper__popper--shown': e.shown, - 'v-popper__popper--hidden': !e.shown, - 'v-popper__popper--show-from': e.classes.showFrom, - 'v-popper__popper--show-to': e.classes.showTo, - 'v-popper__popper--hide-from': e.classes.hideFrom, - 'v-popper__popper--hide-to': e.classes.hideTo, - 'v-popper__popper--skip-transition': e.skipTransition, - 'v-popper__popper--arrow-overflow': - e.result && e.result.arrow.overflow, - 'v-popper__popper--no-positioning': !e.result, - }, - ], - ]), - style: _r( - e.result - ? { - position: e.result.strategy, - transform: `translate3d(${Math.round( - e.result.x - )}px,${Math.round(e.result.y)}px,0)`, - } - : void 0 - ), - 'aria-hidden': e.shown ? 'false' : 'true', - tabindex: e.autoHide ? 0 : void 0, - 'data-popper-placement': e.result ? e.result.placement : void 0, - onKeyup: - t[2] || (t[2] = Nl((s) => e.autoHide && e.$emit('hide'), ['esc'])), - }, - [ - h('div', { - class: 'v-popper__backdrop', - onClick: t[0] || (t[0] = (s) => e.autoHide && e.$emit('hide')), - }), - h( - 'div', - { - class: 'v-popper__wrapper', - style: _r( - e.result - ? { - transformOrigin: e.result.transformOrigin, - } - : void 0 - ), - }, - [ - h( - 'div', - Vc, - [ - e.mounted - ? (_(), - w( - F, - { key: 0 }, - [ - h('div', null, [Re(e.$slots, 'default')]), - e.handleResize - ? (_(), - ce(a, { - key: 0, - onNotify: - t[1] || (t[1] = (s) => e.$emit('resize', s)), - })) - : J('', !0), - ], - 64 - )) - : J('', !0), - ], - 512 - ), - h( - 'div', - { - ref: 'arrow', - class: 'v-popper__arrow-container', - style: _r( - e.result - ? { - left: e.toPx(e.result.arrow.x), - top: e.toPx(e.result.arrow.y), - } - : void 0 - ), - }, - Wc, - 4 - ), - ], - 4 - ), - ], - 46, - zc - ) - ) -} -var Ja = /* @__PURE__ */ ur(Fc, [['render', Kc]]), - Ga = { - methods: { - show(...e) { - return this.$refs.popper.show(...e) - }, - hide(...e) { - return this.$refs.popper.hide(...e) - }, - dispose(...e) { - return this.$refs.popper.dispose(...e) - }, - onResize(...e) { - return this.$refs.popper.onResize(...e) - }, + "v-popper__popper--shown": e.shown, + "v-popper__popper--hidden": !e.shown, + "v-popper__popper--show-from": e.classes.showFrom, + "v-popper__popper--show-to": e.classes.showTo, + "v-popper__popper--hide-from": e.classes.hideFrom, + "v-popper__popper--hide-to": e.classes.hideTo, + "v-popper__popper--skip-transition": e.skipTransition, + "v-popper__popper--arrow-overflow": e.result && e.result.arrow.overflow, + "v-popper__popper--no-positioning": !e.result + } + ]]), + style: _r(e.result ? { + position: e.result.strategy, + transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)` + } : void 0), + "aria-hidden": e.shown ? "false" : "true", + tabindex: e.autoHide ? 0 : void 0, + "data-popper-placement": e.result ? e.result.placement : void 0, + onKeyup: t[2] || (t[2] = Nl((s) => e.autoHide && e.$emit("hide"), ["esc"])) + }, [ + h("div", { + class: "v-popper__backdrop", + onClick: t[0] || (t[0] = (s) => e.autoHide && e.$emit("hide")) + }), + h("div", { + class: "v-popper__wrapper", + style: _r(e.result ? { + transformOrigin: e.result.transformOrigin + } : void 0) + }, [ + h("div", Vc, [ + e.mounted ? (_(), w(F, { key: 0 }, [ + h("div", null, [ + De(e.$slots, "default") + ]), + e.handleResize ? (_(), ce(a, { + key: 0, + onNotify: t[1] || (t[1] = (s) => e.$emit("resize", s)) + })) : J("", !0) + ], 64)) : J("", !0) + ], 512), + h("div", { + ref: "arrow", + class: "v-popper__arrow-container", + style: _r(e.result ? { + left: e.toPx(e.result.arrow.x), + top: e.toPx(e.result.arrow.y) + } : void 0) + }, Wc, 4) + ], 4) + ], 46, zc); +} +var Ja = /* @__PURE__ */ ur(Fc, [["render", Kc]]), Ga = { + methods: { + show(...e) { + return this.$refs.popper.show(...e); + }, + hide(...e) { + return this.$refs.popper.hide(...e); + }, + dispose(...e) { + return this.$refs.popper.dispose(...e); }, + onResize(...e) { + return this.$refs.popper.onResize(...e); + } } +}; const Jc = D({ - name: 'VPopperWrapper', + name: "VPopperWrapper", components: { Popper: Lc, - PopperContent: Ja, + PopperContent: Ja }, - mixins: [Ga, Ka('finalTheme')], + mixins: [ + Ga, + Ka("finalTheme") + ], props: { theme: { type: String, - default: null, - }, + default: null + } }, computed: { finalTheme() { - var e - return (e = this.theme) != null ? e : this.$options.vPopperTheme - }, + var e; + return (e = this.theme) != null ? e : this.$options.vPopperTheme; + } }, methods: { getTargetNodes() { - return Array.from(this.$el.children).filter( - (e) => e !== this.$refs.popperContent.$el - ) - }, - }, -}) + return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el); + } + } +}); function Gc(e, t, n, r, o, i) { - const a = xe('PopperContent'), - s = xe('Popper') - return ( - _(), - ce( - s, - { - ref: 'popper', + const a = xe("PopperContent"), s = xe("Popper"); + return _(), ce(s, { + ref: "popper", + theme: e.finalTheme, + "target-nodes": e.getTargetNodes, + "popper-node": () => e.$refs.popperContent.$el, + class: Z([ + e.themeClass + ]) + }, { + default: pe(({ + popperId: l, + isShown: u, + shouldMountContent: c, + skipTransition: p, + autoHide: f, + show: d, + hide: v, + handleResize: g, + onResize: y, + classes: b, + result: k + }) => [ + De(e.$slots, "default", { + shown: u, + show: d, + hide: v + }), + B(a, { + ref: "popperContent", + "popper-id": l, theme: e.finalTheme, - 'target-nodes': e.getTargetNodes, - 'popper-node': () => e.$refs.popperContent.$el, - class: Z([e.themeClass]), - }, - { - default: pe( - ({ - popperId: l, - isShown: u, - shouldMountContent: c, - skipTransition: p, - autoHide: f, - show: d, - hide: v, - handleResize: g, - onResize: y, - classes: b, - result: k, - }) => [ - Re(e.$slots, 'default', { - shown: u, - show: d, - hide: v, - }), - B( - a, - { - ref: 'popperContent', - 'popper-id': l, - theme: e.finalTheme, - shown: u, - mounted: c, - 'skip-transition': p, - 'auto-hide': f, - 'handle-resize': g, - classes: b, - result: k, - onHide: v, - onResize: y, - }, - { - default: pe(() => [ - Re(e.$slots, 'popper', { - shown: u, - hide: v, - }), - ]), - _: 2, - }, - 1032, - [ - 'popper-id', - 'theme', - 'shown', - 'mounted', - 'skip-transition', - 'auto-hide', - 'handle-resize', - 'classes', - 'result', - 'onHide', - 'onResize', - ] - ), - ] - ), - _: 3, - }, - 8, - ['theme', 'target-nodes', 'popper-node', 'class'] - ) - ) -} -var vo = /* @__PURE__ */ ur(Jc, [['render', Gc]]) -const Qc = D( - vn(qe({}, vo), { - name: 'VDropdown', - vPopperTheme: 'dropdown', - }) - ), - Yc = D( - vn(qe({}, vo), { - name: 'VMenu', - vPopperTheme: 'menu', - }) - ), - Zc = D( - vn(qe({}, vo), { - name: 'VTooltip', - vPopperTheme: 'tooltip', - }) - ), - Xc = D({ - name: 'VTooltipDirective', - components: { - Popper: qa(), - PopperContent: Ja, - }, - mixins: [Ga], - inheritAttrs: !1, - props: { - theme: { - type: String, - default: 'tooltip', - }, - html: { - type: Boolean, - default: (e) => Mt(e.theme, 'html'), - }, - content: { - type: [String, Number, Function], - default: null, - }, - loadingContent: { - type: String, - default: (e) => Mt(e.theme, 'loadingContent'), - }, - }, - data() { - return { - asyncContent: null, - } + shown: u, + mounted: c, + "skip-transition": p, + "auto-hide": f, + "handle-resize": g, + classes: b, + result: k, + onHide: v, + onResize: y + }, { + default: pe(() => [ + De(e.$slots, "popper", { + shown: u, + hide: v + }) + ]), + _: 2 + }, 1032, ["popper-id", "theme", "shown", "mounted", "skip-transition", "auto-hide", "handle-resize", "classes", "result", "onHide", "onResize"]) + ]), + _: 3 + }, 8, ["theme", "target-nodes", "popper-node", "class"]); +} +var vo = /* @__PURE__ */ ur(Jc, [["render", Gc]]); +const Qc = D(vn(qe({}, vo), { + name: "VDropdown", + vPopperTheme: "dropdown" +})), Yc = D(vn(qe({}, vo), { + name: "VMenu", + vPopperTheme: "menu" +})), Zc = D(vn(qe({}, vo), { + name: "VTooltip", + vPopperTheme: "tooltip" +})), Xc = D({ + name: "VTooltipDirective", + components: { + Popper: qa(), + PopperContent: Ja + }, + mixins: [ + Ga + ], + inheritAttrs: !1, + props: { + theme: { + type: String, + default: "tooltip" }, - computed: { - isContentAsync() { - return typeof this.content == 'function' - }, - loading() { - return this.isContentAsync && this.asyncContent == null - }, - finalContent() { - return this.isContentAsync - ? this.loading - ? this.loadingContent - : this.asyncContent - : this.content - }, + html: { + type: Boolean, + default: (e) => Rt(e.theme, "html") }, - watch: { - content: { - handler() { - this.fetchContent(!0) - }, - immediate: !0, - }, - async finalContent() { - await this.$nextTick(), this.$refs.popper.onResize() - }, + content: { + type: [String, Number, Function], + default: null }, - created() { - this.$_fetchId = 0 + loadingContent: { + type: String, + default: (e) => Rt(e.theme, "loadingContent") + } + }, + data() { + return { + asyncContent: null + }; + }, + computed: { + isContentAsync() { + return typeof this.content == "function"; }, - methods: { - fetchContent(e) { - if ( - typeof this.content == 'function' && - this.$_isShown && - (e || (!this.$_loading && this.asyncContent == null)) - ) { - ;(this.asyncContent = null), (this.$_loading = !0) - const t = ++this.$_fetchId, - n = this.content(this) - n.then ? n.then((r) => this.onResult(t, r)) : this.onResult(t, n) - } - }, - onResult(e, t) { - e === this.$_fetchId && ((this.$_loading = !1), (this.asyncContent = t)) - }, - onShow() { - ;(this.$_isShown = !0), this.fetchContent() - }, - onHide() { - this.$_isShown = !1 + loading() { + return this.isContentAsync && this.asyncContent == null; + }, + finalContent() { + return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content; + } + }, + watch: { + content: { + handler() { + this.fetchContent(!0); }, + immediate: !0 }, - }), - eu = ['innerHTML'], - tu = ['textContent'] + async finalContent() { + await this.$nextTick(), this.$refs.popper.onResize(); + } + }, + created() { + this.$_fetchId = 0; + }, + methods: { + fetchContent(e) { + if (typeof this.content == "function" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) { + this.asyncContent = null, this.$_loading = !0; + const t = ++this.$_fetchId, n = this.content(this); + n.then ? n.then((r) => this.onResult(t, r)) : this.onResult(t, n); + } + }, + onResult(e, t) { + e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t); + }, + onShow() { + this.$_isShown = !0, this.fetchContent(); + }, + onHide() { + this.$_isShown = !1; + } + } +}), eu = ["innerHTML"], tu = ["textContent"]; function nu(e, t, n, r, o, i) { - const a = xe('PopperContent'), - s = xe('Popper') - return ( - _(), - ce( - s, - Ml({ ref: 'popper' }, e.$attrs, { + const a = xe("PopperContent"), s = xe("Popper"); + return _(), ce(s, Ml({ ref: "popper" }, e.$attrs, { + theme: e.theme, + "popper-node": () => e.$refs.popperContent.$el, + onApplyShow: e.onShow, + onApplyHide: e.onHide + }), { + default: pe(({ + popperId: l, + isShown: u, + shouldMountContent: c, + skipTransition: p, + autoHide: f, + hide: d, + handleResize: v, + onResize: g, + classes: y, + result: b + }) => [ + B(a, { + ref: "popperContent", + class: Z({ + "v-popper--tooltip-loading": e.loading + }), + "popper-id": l, theme: e.theme, - 'popper-node': () => e.$refs.popperContent.$el, - onApplyShow: e.onShow, - onApplyHide: e.onHide, - }), - { - default: pe( - ({ - popperId: l, - isShown: u, - shouldMountContent: c, - skipTransition: p, - autoHide: f, - hide: d, - handleResize: v, - onResize: g, - classes: y, - result: b, - }) => [ - B( - a, - { - ref: 'popperContent', - class: Z({ - 'v-popper--tooltip-loading': e.loading, - }), - 'popper-id': l, - theme: e.theme, - shown: u, - mounted: c, - 'skip-transition': p, - 'auto-hide': f, - 'handle-resize': v, - classes: y, - result: b, - onHide: d, - onResize: g, - }, - { - default: pe(() => [ - e.html - ? (_(), - w( - 'div', - { - key: 0, - innerHTML: e.finalContent, - }, - null, - 8, - eu - )) - : (_(), - w( - 'div', - { - key: 1, - textContent: U(e.finalContent), - }, - null, - 8, - tu - )), - ]), - _: 2, - }, - 1032, - [ - 'class', - 'popper-id', - 'theme', - 'shown', - 'mounted', - 'skip-transition', - 'auto-hide', - 'handle-resize', - 'classes', - 'result', - 'onHide', - 'onResize', - ] - ), - ] - ), - _: 1, - }, - 16, - ['theme', 'popper-node', 'onApplyShow', 'onApplyHide'] - ) - ) -} -var ru = /* @__PURE__ */ ur(Xc, [['render', nu]]) -const Qa = 'v-popper--has-tooltip' + shown: u, + mounted: c, + "skip-transition": p, + "auto-hide": f, + "handle-resize": v, + classes: y, + result: b, + onHide: d, + onResize: g + }, { + default: pe(() => [ + e.html ? (_(), w("div", { + key: 0, + innerHTML: e.finalContent + }, null, 8, eu)) : (_(), w("div", { + key: 1, + textContent: U(e.finalContent) + }, null, 8, tu)) + ]), + _: 2 + }, 1032, ["class", "popper-id", "theme", "shown", "mounted", "skip-transition", "auto-hide", "handle-resize", "classes", "result", "onHide", "onResize"]) + ]), + _: 1 + }, 16, ["theme", "popper-node", "onApplyShow", "onApplyHide"]); +} +var ru = /* @__PURE__ */ ur(Xc, [["render", nu]]); +const Qa = "v-popper--has-tooltip"; function ou(e, t) { - let n = e.placement - if (!n && t) for (const r of Ua) t[r] && (n = r) - return n || (n = Mt(e.theme || 'tooltip', 'placement')), n + let n = e.placement; + if (!n && t) + for (const r of Ua) + t[r] && (n = r); + return n || (n = Rt(e.theme || "tooltip", "placement")), n; } function Ya(e, t, n) { - let r - const o = typeof t - return ( - o === 'string' - ? (r = { content: t }) - : t && o === 'object' - ? (r = t) - : (r = { content: !1 }), - (r.placement = ou(r, n)), - (r.targetNodes = () => [e]), - (r.referenceNode = () => e), - r - ) -} -let xr, - on, - iu = 0 + let r; + const o = typeof t; + return o === "string" ? r = { content: t } : t && o === "object" ? r = t : r = { content: !1 }, r.placement = ou(r, n), r.targetNodes = () => [e], r.referenceNode = () => e, r; +} +let xr, on, iu = 0; function au() { - if (xr) return - ;(on = T([])), - (xr = Ll({ - name: 'VTooltipDirectiveApp', - setup() { - return { - directives: on, - } - }, - render() { - return this.directives.map((t) => - fe( - ru, - vn(qe({}, t.options), { - shown: t.shown || t.options.shown, - key: t.id, - }) - ) - ) - }, - devtools: { - hide: !0, - }, - })) - const e = document.createElement('div') - document.body.appendChild(e), xr.mount(e) + if (xr) + return; + on = T([]), xr = Ll({ + name: "VTooltipDirectiveApp", + setup() { + return { + directives: on + }; + }, + render() { + return this.directives.map((t) => fe(ru, vn(qe({}, t.options), { + shown: t.shown || t.options.shown, + key: t.id + }))); + }, + devtools: { + hide: !0 + } + }); + const e = document.createElement("div"); + document.body.appendChild(e), xr.mount(e); } function su(e, t, n) { - au() - const r = T(Ya(e, t, n)), - o = T(!1), - i = { - id: iu++, - options: r, - shown: o, + au(); + const r = T(Ya(e, t, n)), o = T(!1), i = { + id: iu++, + options: r, + shown: o + }; + return on.value.push(i), e.classList && e.classList.add(Qa), e.$_popper = { + options: r, + item: i, + show() { + o.value = !0; + }, + hide() { + o.value = !1; } - return ( - on.value.push(i), - e.classList && e.classList.add(Qa), - (e.$_popper = { - options: r, - item: i, - show() { - o.value = !0 - }, - hide() { - o.value = !1 - }, - }) - ) + }; } function Za(e) { if (e.$_popper) { - const t = on.value.indexOf(e.$_popper.item) - t !== -1 && on.value.splice(t, 1), - delete e.$_popper, - delete e.$_popperOldShown, - delete e.$_popperMountTarget + const t = on.value.indexOf(e.$_popper.item); + t !== -1 && on.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget; } - e.classList && e.classList.remove(Qa) + e.classList && e.classList.remove(Qa); } function Ko(e, { value: t, modifiers: n }) { - const r = Ya(e, t, n) - if (!r.content || Mt(r.theme || 'tooltip', 'disabled')) Za(e) + const r = Ya(e, t, n); + if (!r.content || Rt(r.theme || "tooltip", "disabled")) + Za(e); else { - let o - e.$_popper ? ((o = e.$_popper), (o.options.value = r)) : (o = su(e, t, n)), - typeof t.shown < 'u' && - t.shown !== e.$_popperOldShown && - ((e.$_popperOldShown = t.shown), t.shown ? o.show() : o.hide()) + let o; + e.$_popper ? (o = e.$_popper, o.options.value = r) : o = su(e, t, n), typeof t.shown < "u" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? o.show() : o.hide()); } } var lu = { beforeMount: Ko, updated: Ko, beforeUnmount(e) { - Za(e) - }, -} + Za(e); + } +}; function Jo(e) { - e.addEventListener('click', Xa), - e.addEventListener( - 'touchstart', - es, - xt - ? { - passive: !0, - } - : !1 - ) + e.addEventListener("click", Xa), e.addEventListener("touchstart", es, xt ? { + passive: !0 + } : !1); } function Go(e) { - e.removeEventListener('click', Xa), - e.removeEventListener('touchstart', es), - e.removeEventListener('touchend', ts), - e.removeEventListener('touchcancel', ns) + e.removeEventListener("click", Xa), e.removeEventListener("touchstart", es), e.removeEventListener("touchend", ts), e.removeEventListener("touchcancel", ns); } function Xa(e) { - const t = e.currentTarget - ;(e.closePopover = !t.$_vclosepopover_touch), - (e.closeAllPopover = - t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all) + const t = e.currentTarget; + e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all; } function es(e) { if (e.changedTouches.length === 1) { - const t = e.currentTarget - t.$_vclosepopover_touch = !0 - const n = e.changedTouches[0] - ;(t.$_vclosepopover_touchPoint = n), - t.addEventListener('touchend', ts), - t.addEventListener('touchcancel', ns) + const t = e.currentTarget; + t.$_vclosepopover_touch = !0; + const n = e.changedTouches[0]; + t.$_vclosepopover_touchPoint = n, t.addEventListener("touchend", ts), t.addEventListener("touchcancel", ns); } } function ts(e) { - const t = e.currentTarget - if (((t.$_vclosepopover_touch = !1), e.changedTouches.length === 1)) { - const n = e.changedTouches[0], - r = t.$_vclosepopover_touchPoint - ;(e.closePopover = - Math.abs(n.screenY - r.screenY) < 20 && - Math.abs(n.screenX - r.screenX) < 20), - (e.closeAllPopover = - t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all) + const t = e.currentTarget; + if (t.$_vclosepopover_touch = !1, e.changedTouches.length === 1) { + const n = e.changedTouches[0], r = t.$_vclosepopover_touchPoint; + e.closePopover = Math.abs(n.screenY - r.screenY) < 20 && Math.abs(n.screenX - r.screenX) < 20, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all; } } function ns(e) { - const t = e.currentTarget - t.$_vclosepopover_touch = !1 + const t = e.currentTarget; + t.$_vclosepopover_touch = !1; } var cu = { beforeMount(e, { value: t, modifiers: n }) { - ;(e.$_closePopoverModifiers = n), (typeof t > 'u' || t) && Jo(e) + e.$_closePopoverModifiers = n, (typeof t > "u" || t) && Jo(e); }, updated(e, { value: t, oldValue: n, modifiers: r }) { - ;(e.$_closePopoverModifiers = r), - t !== n && (typeof t > 'u' || t ? Jo(e) : Go(e)) + e.$_closePopoverModifiers = r, t !== n && (typeof t > "u" || t ? Jo(e) : Go(e)); }, beforeUnmount(e) { - Go(e) - }, -} + Go(e); + } +}; function uu(e, t = {}) { - e.$_vTooltipInstalled || - ((e.$_vTooltipInstalled = !0), - za(Ke, t), - e.directive('tooltip', lu), - e.directive('close-popper', cu), - e.component('VTooltip', Zc), - e.component('VDropdown', Qc), - e.component('VMenu', Yc)) + e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, za(Ke, t), e.directive("tooltip", lu), e.directive("close-popper", cu), e.component("VTooltip", Zc), e.component("VDropdown", Qc), e.component("VMenu", Yc)); } const du = { - version: '2.0.0-beta.20', + version: "2.0.0-beta.20", install: uu, - options: Ke, -} -function Me(e, t, ...n) { + options: Ke +}; +function Re(e, t, ...n) { if (e in t) { - let o = t[e] - return typeof o == 'function' ? o(...n) : o - } - let r = new Error( - `Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys( - t - ) - .map((o) => `"${o}"`) - .join(', ')}.` - ) - throw (Error.captureStackTrace && Error.captureStackTrace(r, Me), r) -} -var Un = ((e) => ( - (e[(e.None = 0)] = 'None'), - (e[(e.RenderStrategy = 1)] = 'RenderStrategy'), - (e[(e.Static = 2)] = 'Static'), - e - ))(Un || {}), - st = ((e) => ( - (e[(e.Unmount = 0)] = 'Unmount'), (e[(e.Hidden = 1)] = 'Hidden'), e - ))(st || {}) -function be({ - visible: e = !0, - features: t = 0, - ourProps: n, - theirProps: r, - ...o -}) { - var i - let a = fu(r, n), - s = Object.assign(o, { props: a }) - if (e || (t & 2 && a.static)) return Or(s) + let o = t[e]; + return typeof o == "function" ? o(...n) : o; + } + let r = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`); + throw Error.captureStackTrace && Error.captureStackTrace(r, Re), r; +} +var Un = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Un || {}), st = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(st || {}); +function be({ visible: e = !0, features: t = 0, ourProps: n, theirProps: r, ...o }) { + var i; + let a = fu(r, n), s = Object.assign(o, { props: a }); + if (e || t & 2 && a.static) + return Or(s); if (t & 1) { - let l = (i = a.unmount) == null || i ? 0 : 1 - return Me(l, { - [0]() { - return null - }, - [1]() { - return Or({ - ...o, - props: { ...a, hidden: !0, style: { display: 'none' } }, - }) - }, - }) + let l = (i = a.unmount) == null || i ? 0 : 1; + return Re(l, { [0]() { + return null; + }, [1]() { + return Or({ ...o, props: { ...a, hidden: !0, style: { display: "none" } } }); + } }); } - return Or(s) + return Or(s); } function Or({ props: e, attrs: t, slots: n, slot: r, name: o }) { - var i - let { as: a, ...s } = go(e, ['unmount', 'static']), - l = (i = n.default) == null ? void 0 : i.call(n, r), - u = {} + var i; + let { as: a, ...s } = go(e, ["unmount", "static"]), l = (i = n.default) == null ? void 0 : i.call(n, r), u = {}; if (r) { - let c = !1, - p = [] + let c = !1, p = []; for (let [f, d] of Object.entries(r)) - typeof d == 'boolean' && (c = !0), d === !0 && p.push(f) - c && (u['data-headlessui-state'] = p.join(' ')) + typeof d == "boolean" && (c = !0), d === !0 && p.push(f); + c && (u["data-headlessui-state"] = p.join(" ")); } - if (a === 'template') { - if ( - ((l = rs(l != null ? l : [])), - Object.keys(s).length > 0 || Object.keys(t).length > 0) - ) { - let [c, ...p] = l != null ? l : [] + if (a === "template") { + if (l = rs(l != null ? l : []), Object.keys(s).length > 0 || Object.keys(t).length > 0) { + let [c, ...p] = l != null ? l : []; if (!hu(c) || p.length > 0) - throw new Error( - [ - 'Passing props on "template"!', - '', - `The current component <${o} /> is rendering a "template".`, - 'However we need to passthrough the following props:', - Object.keys(s) - .concat(Object.keys(t)) - .sort((f, d) => f.localeCompare(d)) - .map((f) => ` - ${f}`).join(` -`), - '', - 'You can apply a few solutions:', - [ - 'Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', - 'Render a single element as the child so that we can forward the props onto that element.', - ].map((f) => ` - ${f}`).join(` -`), - ].join(` -`) - ) - return Rl(c, Object.assign({}, s, u)) + throw new Error(['Passing props on "template"!', "", `The current component <${o} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(s).concat(Object.keys(t)).sort((f, d) => f.localeCompare(d)).map((f) => ` - ${f}`).join(` +`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(` +`)].join(` +`)); + return Rl(c, Object.assign({}, s, u)); } - return Array.isArray(l) && l.length === 1 ? l[0] : l + return Array.isArray(l) && l.length === 1 ? l[0] : l; } - return fe(a, Object.assign({}, s, u), { default: () => l }) + return fe(a, Object.assign({}, s, u), { default: () => l }); } function rs(e) { - return e.flatMap((t) => (t.type === F ? rs(t.children) : [t])) + return e.flatMap((t) => t.type === F ? rs(t.children) : [t]); } function fu(...e) { - if (e.length === 0) return {} - if (e.length === 1) return e[0] - let t = {}, - n = {} + if (e.length === 0) + return {}; + if (e.length === 1) + return e[0]; + let t = {}, n = {}; for (let r of e) for (let o in r) - o.startsWith('on') && typeof r[o] == 'function' - ? (n[o] != null || (n[o] = []), n[o].push(r[o])) - : (t[o] = r[o]) - if (t.disabled || t['aria-disabled']) - return Object.assign( - t, - Object.fromEntries(Object.keys(n).map((r) => [r, void 0])) - ) + o.startsWith("on") && typeof r[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(r[o])) : t[o] = r[o]; + if (t.disabled || t["aria-disabled"]) + return Object.assign(t, Object.fromEntries(Object.keys(n).map((r) => [r, void 0]))); for (let r in n) - Object.assign(t, { - [r](o, ...i) { - let a = n[r] - for (let s of a) { - if (o instanceof Event && o.defaultPrevented) return - s(o, ...i) - } - }, - }) - return t + Object.assign(t, { [r](o, ...i) { + let a = n[r]; + for (let s of a) { + if (o instanceof Event && o.defaultPrevented) + return; + s(o, ...i); + } + } }); + return t; } function pu(e) { - let t = Object.assign({}, e) - for (let n in t) t[n] === void 0 && delete t[n] - return t + let t = Object.assign({}, e); + for (let n in t) + t[n] === void 0 && delete t[n]; + return t; } function go(e, t = []) { - let n = Object.assign({}, e) - for (let r of t) r in n && delete n[r] - return n + let n = Object.assign({}, e); + for (let r of t) + r in n && delete n[r]; + return n; } function hu(e) { - return e == null - ? !1 - : typeof e.type == 'string' || - typeof e.type == 'object' || - typeof e.type == 'function' + return e == null ? !1 : typeof e.type == "string" || typeof e.type == "object" || typeof e.type == "function"; } -let mu = 0 +let mu = 0; function vu() { - return ++mu + return ++mu; } function et() { - return vu() -} -var qn = ((e) => ( - (e.Space = ' '), - (e.Enter = 'Enter'), - (e.Escape = 'Escape'), - (e.Backspace = 'Backspace'), - (e.Delete = 'Delete'), - (e.ArrowLeft = 'ArrowLeft'), - (e.ArrowUp = 'ArrowUp'), - (e.ArrowRight = 'ArrowRight'), - (e.ArrowDown = 'ArrowDown'), - (e.Home = 'Home'), - (e.End = 'End'), - (e.PageUp = 'PageUp'), - (e.PageDown = 'PageDown'), - (e.Tab = 'Tab'), - e -))(qn || {}) + return vu(); +} +var qn = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(qn || {}); function Ie(e) { - var t - return e == null || e.value == null - ? null - : (t = e.value.$el) != null - ? t - : e.value -} -let os = Symbol('Context') -var Ot = ((e) => ( - (e[(e.Open = 0)] = 'Open'), (e[(e.Closed = 1)] = 'Closed'), e -))(Ot || {}) + var t; + return e == null || e.value == null ? null : (t = e.value.$el) != null ? t : e.value; +} +let os = Symbol("Context"); +var Ot = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(Ot || {}); function gu() { - return _o() !== null + return _o() !== null; } function _o() { - return he(os, null) + return he(os, null); } function _u(e) { - Be(os, e) + Be(os, e); } function Qo(e, t) { - if (e) return e - let n = t != null ? t : 'button' - if (typeof n == 'string' && n.toLowerCase() === 'button') return 'button' + if (e) + return e; + let n = t != null ? t : "button"; + if (typeof n == "string" && n.toLowerCase() === "button") + return "button"; } function yu(e, t) { - let n = T(Qo(e.value.type, e.value.as)) - return ( - se(() => { - n.value = Qo(e.value.type, e.value.as) - }), - Oe(() => { - var r - n.value || - !Ie(t) || - (Ie(t) instanceof HTMLButtonElement && - !((r = Ie(t)) != null && r.hasAttribute('type')) && - (n.value = 'button')) - }), - n - ) -} -const fr = typeof window > 'u' || typeof document > 'u' -function Rt(e) { - if (fr) return null - if (e instanceof Node) return e.ownerDocument - if (e != null && e.hasOwnProperty('value')) { - let t = Ie(e) - if (t) return t.ownerDocument - } - return document -} -let Hr = [ - '[contentEditable=true]', - '[tabindex]', - 'a[href]', - 'area[href]', - 'button:not([disabled])', - 'iframe', - 'input:not([disabled])', - 'select:not([disabled])', - 'textarea:not([disabled])', -] - .map((e) => `${e}:not([tabindex='-1'])`) - .join(',') -var an = ((e) => ( - (e[(e.First = 1)] = 'First'), - (e[(e.Previous = 2)] = 'Previous'), - (e[(e.Next = 4)] = 'Next'), - (e[(e.Last = 8)] = 'Last'), - (e[(e.WrapAround = 16)] = 'WrapAround'), - (e[(e.NoScroll = 32)] = 'NoScroll'), - e - ))(an || {}), - is = ((e) => ( - (e[(e.Error = 0)] = 'Error'), - (e[(e.Overflow = 1)] = 'Overflow'), - (e[(e.Success = 2)] = 'Success'), - (e[(e.Underflow = 3)] = 'Underflow'), - e - ))(is || {}), - bu = ((e) => ( - (e[(e.Previous = -1)] = 'Previous'), (e[(e.Next = 1)] = 'Next'), e - ))(bu || {}) + let n = T(Qo(e.value.type, e.value.as)); + return se(() => { + n.value = Qo(e.value.type, e.value.as); + }), Oe(() => { + var r; + n.value || !Ie(t) || Ie(t) instanceof HTMLButtonElement && !((r = Ie(t)) != null && r.hasAttribute("type")) && (n.value = "button"); + }), n; +} +const fr = typeof window > "u" || typeof document > "u"; +function Bt(e) { + if (fr) + return null; + if (e instanceof Node) + return e.ownerDocument; + if (e != null && e.hasOwnProperty("value")) { + let t = Ie(e); + if (t) + return t.ownerDocument; + } + return document; +} +let Hr = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","); +var an = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e))(an || {}), is = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(is || {}), bu = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(bu || {}); function wu(e = document.body) { - return e == null ? [] : Array.from(e.querySelectorAll(Hr)) + return e == null ? [] : Array.from(e.querySelectorAll(Hr)); } -var as = ((e) => ( - (e[(e.Strict = 0)] = 'Strict'), (e[(e.Loose = 1)] = 'Loose'), e -))(as || {}) +var as = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(as || {}); function xu(e, t = 0) { - var n - return e === ((n = Rt(e)) == null ? void 0 : n.body) - ? !1 - : Me(t, { - [0]() { - return e.matches(Hr) - }, - [1]() { - let r = e - for (; r !== null; ) { - if (r.matches(Hr)) return !0 - r = r.parentElement - } - return !1 - }, - }) + var n; + return e === ((n = Bt(e)) == null ? void 0 : n.body) ? !1 : Re(t, { [0]() { + return e.matches(Hr); + }, [1]() { + let r = e; + for (; r !== null; ) { + if (r.matches(Hr)) + return !0; + r = r.parentElement; + } + return !1; + } }); } function en(e) { - e == null || e.focus({ preventScroll: !0 }) + e == null || e.focus({ preventScroll: !0 }); } -let Ou = ['textarea', 'input'].join(',') +let Ou = ["textarea", "input"].join(","); function Su(e) { - var t, n - return (n = - (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Ou)) != - null - ? n - : !1 + var t, n; + return (n = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Ou)) != null ? n : !1; } function ku(e, t = (n) => n) { return e.slice().sort((n, r) => { - let o = t(n), - i = t(r) - if (o === null || i === null) return 0 - let a = o.compareDocumentPosition(i) - return a & Node.DOCUMENT_POSITION_FOLLOWING - ? -1 - : a & Node.DOCUMENT_POSITION_PRECEDING - ? 1 - : 0 - }) + let o = t(n), i = t(r); + if (o === null || i === null) + return 0; + let a = o.compareDocumentPosition(i); + return a & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : a & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0; + }); } function Fr(e, t, n = !0, r = null) { - var o - let i = - (o = Array.isArray(e) - ? e.length > 0 - ? e[0].ownerDocument - : document - : e == null - ? void 0 - : e.ownerDocument) != null - ? o - : document, - a = Array.isArray(e) ? (n ? ku(e) : e) : wu(e) - r = r != null ? r : i.activeElement + var o; + let i = (o = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e == null ? void 0 : e.ownerDocument) != null ? o : document, a = Array.isArray(e) ? n ? ku(e) : e : wu(e); + r = r != null ? r : i.activeElement; let s = (() => { - if (t & 5) return 1 - if (t & 10) return -1 - throw new Error( - 'Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last' - ) - })(), - l = (() => { - if (t & 1) return 0 - if (t & 2) return Math.max(0, a.indexOf(r)) - 1 - if (t & 4) return Math.max(0, a.indexOf(r)) + 1 - if (t & 8) return a.length - 1 - throw new Error( - 'Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last' - ) - })(), - u = t & 32 ? { preventScroll: !0 } : {}, - c = 0, - p = a.length, - f + if (t & 5) + return 1; + if (t & 10) + return -1; + throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"); + })(), l = (() => { + if (t & 1) + return 0; + if (t & 2) + return Math.max(0, a.indexOf(r)) - 1; + if (t & 4) + return Math.max(0, a.indexOf(r)) + 1; + if (t & 8) + return a.length - 1; + throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"); + })(), u = t & 32 ? { preventScroll: !0 } : {}, c = 0, p = a.length, f; do { - if (c >= p || c + p <= 0) return 0 - let d = l + c - if (t & 16) d = (d + p) % p + if (c >= p || c + p <= 0) + return 0; + let d = l + c; + if (t & 16) + d = (d + p) % p; else { - if (d < 0) return 3 - if (d >= p) return 1 + if (d < 0) + return 3; + if (d >= p) + return 1; } - ;(f = a[d]), f == null || f.focus(u), (c += s) - } while (f !== i.activeElement) - return ( - t & 6 && Su(f) && f.select(), - f.hasAttribute('tabindex') || f.setAttribute('tabindex', '0'), - 2 - ) + f = a[d], f == null || f.focus(u), c += s; + } while (f !== i.activeElement); + return t & 6 && Su(f) && f.select(), f.hasAttribute("tabindex") || f.setAttribute("tabindex", "0"), 2; } function Sr(e, t, n) { - fr || - Oe((r) => { - document.addEventListener(e, t, n), - r(() => document.removeEventListener(e, t, n)) - }) + fr || Oe((r) => { + document.addEventListener(e, t, n), r(() => document.removeEventListener(e, t, n)); + }); } function $u(e, t, n = A(() => !0)) { function r(i, a) { - if (!n.value || i.defaultPrevented) return - let s = a(i) - if (s === null || !s.getRootNode().contains(s)) return - let l = (function u(c) { - return typeof c == 'function' - ? u(c()) - : Array.isArray(c) || c instanceof Set - ? c - : [c] - })(e) + if (!n.value || i.defaultPrevented) + return; + let s = a(i); + if (s === null || !s.getRootNode().contains(s)) + return; + let l = function u(c) { + return typeof c == "function" ? u(c()) : Array.isArray(c) || c instanceof Set ? c : [c]; + }(e); for (let u of l) { - if (u === null) continue - let c = u instanceof HTMLElement ? u : Ie(u) - if (c != null && c.contains(s)) return - } - return !xu(s, as.Loose) && s.tabIndex !== -1 && i.preventDefault(), t(i, s) - } - let o = T(null) - Sr( - 'mousedown', - (i) => { - var a, s - n.value && - (o.value = - ((s = (a = i.composedPath) == null ? void 0 : a.call(i)) == null - ? void 0 - : s[0]) || i.target) - }, - !0 - ), - Sr( - 'click', - (i) => { - !o.value || (r(i, () => o.value), (o.value = null)) - }, - !0 - ), - Sr( - 'blur', - (i) => - r(i, () => - window.document.activeElement instanceof HTMLIFrameElement - ? window.document.activeElement - : null - ), - !0 - ) -} -var sn = ((e) => ( - (e[(e.None = 1)] = 'None'), - (e[(e.Focusable = 2)] = 'Focusable'), - (e[(e.Hidden = 4)] = 'Hidden'), - e -))(sn || {}) -let Wn = D({ - name: 'Hidden', - props: { - as: { type: [Object, String], default: 'div' }, - features: { type: Number, default: 1 }, - }, - setup(e, { slots: t, attrs: n }) { - return () => { - let { features: r, ...o } = e, - i = { - 'aria-hidden': (r & 2) === 2 ? !0 : void 0, - style: { - position: 'fixed', - top: 1, - left: 1, - width: 1, - height: 0, - padding: 0, - margin: -1, - overflow: 'hidden', - clip: 'rect(0, 0, 0, 0)', - whiteSpace: 'nowrap', - borderWidth: '0', - ...((r & 4) === 4 && (r & 2) !== 2 && { display: 'none' }), - }, - } - return be({ - ourProps: i, - theirProps: o, - slot: {}, - attrs: n, - slots: t, - name: 'Hidden', - }) + if (u === null) + continue; + let c = u instanceof HTMLElement ? u : Ie(u); + if (c != null && c.contains(s)) + return; } - }, -}) + return !xu(s, as.Loose) && s.tabIndex !== -1 && i.preventDefault(), t(i, s); + } + let o = T(null); + Sr("mousedown", (i) => { + var a, s; + n.value && (o.value = ((s = (a = i.composedPath) == null ? void 0 : a.call(i)) == null ? void 0 : s[0]) || i.target); + }, !0), Sr("click", (i) => { + !o.value || (r(i, () => o.value), o.value = null); + }, !0), Sr("blur", (i) => r(i, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0); +} +var sn = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(sn || {}); +let Wn = D({ name: "Hidden", props: { as: { type: [Object, String], default: "div" }, features: { type: Number, default: 1 } }, setup(e, { slots: t, attrs: n }) { + return () => { + let { features: r, ...o } = e, i = { "aria-hidden": (r & 2) === 2 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(r & 4) === 4 && (r & 2) !== 2 && { display: "none" } } }; + return be({ ourProps: i, theirProps: o, slot: {}, attrs: n, slots: t, name: "Hidden" }); + }; +} }); function Pu(e) { - var t - let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest('form') + var t; + let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form"); if (n) { for (let r of n.elements) - if ( - (r.tagName === 'INPUT' && r.type === 'submit') || - (r.tagName === 'BUTTON' && r.type === 'submit') || - (r.nodeName === 'INPUT' && r.type === 'image') - ) { - r.click() - return + if (r.tagName === "INPUT" && r.type === "submit" || r.tagName === "BUTTON" && r.type === "submit" || r.nodeName === "INPUT" && r.type === "image") { + r.click(); + return; } } } function Eu(e, t, n) { - let r = T(n == null ? void 0 : n.value), - o = A(() => e.value !== void 0) - return [ - A(() => (o.value ? e.value : r.value)), - function (i) { - return o.value || (r.value = i), t == null ? void 0 : t(i) - }, - ] + let r = T(n == null ? void 0 : n.value), o = A(() => e.value !== void 0); + return [A(() => o.value ? e.value : r.value), function(i) { + return o.value || (r.value = i), t == null ? void 0 : t(i); + }]; } function Cu(e, t, n) { - fr || - Oe((r) => { - window.addEventListener(e, t, n), - r(() => window.removeEventListener(e, t, n)) - }) + fr || Oe((r) => { + window.addEventListener(e, t, n), r(() => window.removeEventListener(e, t, n)); + }); } -var zr = ((e) => ( - (e[(e.Forwards = 0)] = 'Forwards'), (e[(e.Backwards = 1)] = 'Backwards'), e -))(zr || {}) +var zr = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(zr || {}); function ju() { - let e = T(0) - return ( - Cu('keydown', (t) => { - t.key === 'Tab' && (e.value = t.shiftKey ? 1 : 0) - }), - e - ) + let e = T(0); + return Cu("keydown", (t) => { + t.key === "Tab" && (e.value = t.shiftKey ? 1 : 0); + }), e; } function ss(e, t, n, r) { - fr || - Oe((o) => { - ;(e = e != null ? e : window), - e.addEventListener(t, n, r), - o(() => e.removeEventListener(t, n, r)) - }) + fr || Oe((o) => { + e = e != null ? e : window, e.addEventListener(t, n, r), o(() => e.removeEventListener(t, n, r)); + }); } function Tu(e) { - typeof queueMicrotask == 'function' - ? queueMicrotask(e) - : Promise.resolve() - .then(e) - .catch((t) => - setTimeout(() => { - throw t - }) - ) -} -var ls = ((e) => ( - (e[(e.None = 1)] = 'None'), - (e[(e.InitialFocus = 2)] = 'InitialFocus'), - (e[(e.TabLock = 4)] = 'TabLock'), - (e[(e.FocusLock = 8)] = 'FocusLock'), - (e[(e.RestoreFocus = 16)] = 'RestoreFocus'), - (e[(e.All = 30)] = 'All'), - e -))(ls || {}) -let Vt = Object.assign( - D({ - name: 'FocusTrap', - props: { - as: { type: [Object, String], default: 'div' }, - initialFocus: { type: Object, default: null }, - features: { type: Number, default: 30 }, - containers: { type: Object, default: T(/* @__PURE__ */ new Set()) }, - }, - inheritAttrs: !1, - setup(e, { attrs: t, slots: n, expose: r }) { - let o = T(null) - r({ el: o, $el: o }) - let i = A(() => Rt(o)) - Au( - { ownerDocument: i }, - A(() => Boolean(e.features & 16)) - ) - let a = Iu( - { - ownerDocument: i, - container: o, - initialFocus: A(() => e.initialFocus), - }, - A(() => Boolean(e.features & 2)) - ) - Du( - { - ownerDocument: i, - container: o, - containers: e.containers, - previousActiveElement: a, - }, - A(() => Boolean(e.features & 8)) - ) - let s = ju() - function l() { - let u = Ie(o) - !u || - Me(s.value, { - [zr.Forwards]: () => Fr(u, an.First), - [zr.Backwards]: () => Fr(u, an.Last), - }) - } - return () => { - let u = {}, - c = { ref: o }, - { features: p, initialFocus: f, containers: d, ...v } = e - return fe(F, [ - Boolean(p & 4) && - fe(Wn, { - as: 'button', - type: 'button', - onFocus: l, - features: sn.Focusable, - }), - be({ - ourProps: c, - theirProps: { ...t, ...v }, - slot: u, - attrs: t, - slots: n, - name: 'FocusTrap', - }), - Boolean(p & 4) && - fe(Wn, { - as: 'button', - type: 'button', - onFocus: l, - features: sn.Focusable, - }), - ]) - } - }, - }), - { features: ls } -) + typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => { + throw t; + })); +} +var ls = ((e) => (e[e.None = 1] = "None", e[e.InitialFocus = 2] = "InitialFocus", e[e.TabLock = 4] = "TabLock", e[e.FocusLock = 8] = "FocusLock", e[e.RestoreFocus = 16] = "RestoreFocus", e[e.All = 30] = "All", e))(ls || {}); +let Vt = Object.assign(D({ name: "FocusTrap", props: { as: { type: [Object, String], default: "div" }, initialFocus: { type: Object, default: null }, features: { type: Number, default: 30 }, containers: { type: Object, default: T(/* @__PURE__ */ new Set()) } }, inheritAttrs: !1, setup(e, { attrs: t, slots: n, expose: r }) { + let o = T(null); + r({ el: o, $el: o }); + let i = A(() => Bt(o)); + Au({ ownerDocument: i }, A(() => Boolean(e.features & 16))); + let a = Iu({ ownerDocument: i, container: o, initialFocus: A(() => e.initialFocus) }, A(() => Boolean(e.features & 2))); + Du({ ownerDocument: i, container: o, containers: e.containers, previousActiveElement: a }, A(() => Boolean(e.features & 8))); + let s = ju(); + function l() { + let u = Ie(o); + !u || Re(s.value, { [zr.Forwards]: () => Fr(u, an.First), [zr.Backwards]: () => Fr(u, an.Last) }); + } + return () => { + let u = {}, c = { ref: o }, { features: p, initialFocus: f, containers: d, ...v } = e; + return fe(F, [Boolean(p & 4) && fe(Wn, { as: "button", type: "button", onFocus: l, features: sn.Focusable }), be({ ourProps: c, theirProps: { ...t, ...v }, slot: u, attrs: t, slots: n, name: "FocusTrap" }), Boolean(p & 4) && fe(Wn, { as: "button", type: "button", onFocus: l, features: sn.Focusable })]); + }; +} }), { features: ls }); function Au({ ownerDocument: e }, t) { - let n = T(null) + let n = T(null); function r() { - var i - n.value || (n.value = (i = e.value) == null ? void 0 : i.activeElement) + var i; + n.value || (n.value = (i = e.value) == null ? void 0 : i.activeElement); } function o() { - !n.value || (en(n.value), (n.value = null)) + !n.value || (en(n.value), n.value = null); } se(() => { - $e( - t, - (i, a) => { - i !== a && (i ? r() : o()) - }, - { immediate: !0 } - ) - }), - Ze(o) + $e(t, (i, a) => { + i !== a && (i ? r() : o()); + }, { immediate: !0 }); + }), Ze(o); } function Iu({ ownerDocument: e, container: t, initialFocus: n }, r) { - let o = T(null), - i = T(!1) - return ( - se(() => (i.value = !0)), - Ze(() => (i.value = !1)), - se(() => { - $e( - [t, n, r], - (a, s) => { - if (a.every((u, c) => (s == null ? void 0 : s[c]) === u) || !r.value) - return - let l = Ie(t) - !l || - Tu(() => { - var u, c - if (!i.value) return - let p = Ie(n), - f = (u = e.value) == null ? void 0 : u.activeElement - if (p) { - if (p === f) { - o.value = f - return - } - } else if (l.contains(f)) { - o.value = f - return - } - p - ? en(p) - : Fr(l, an.First | an.NoScroll) === is.Error && - console.warn( - 'There are no focusable elements inside the ' - ), - (o.value = (c = e.value) == null ? void 0 : c.activeElement) - }) - }, - { immediate: !0, flush: 'post' } - ) - }), - o - ) -} -function Du( - { ownerDocument: e, container: t, containers: n, previousActiveElement: r }, - o -) { - var i - ss( - (i = e.value) == null ? void 0 : i.defaultView, - 'focus', - (a) => { - if (!o.value) return - let s = new Set(n == null ? void 0 : n.value) - s.add(t) - let l = r.value - if (!l) return - let u = a.target - u && u instanceof HTMLElement - ? Nu(s, u) - ? ((r.value = u), en(u)) - : (a.preventDefault(), a.stopPropagation(), en(l)) - : en(r.value) - }, - !0 - ) + let o = T(null), i = T(!1); + return se(() => i.value = !0), Ze(() => i.value = !1), se(() => { + $e([t, n, r], (a, s) => { + if (a.every((u, c) => (s == null ? void 0 : s[c]) === u) || !r.value) + return; + let l = Ie(t); + !l || Tu(() => { + var u, c; + if (!i.value) + return; + let p = Ie(n), f = (u = e.value) == null ? void 0 : u.activeElement; + if (p) { + if (p === f) { + o.value = f; + return; + } + } else if (l.contains(f)) { + o.value = f; + return; + } + p ? en(p) : Fr(l, an.First | an.NoScroll) === is.Error && console.warn("There are no focusable elements inside the "), o.value = (c = e.value) == null ? void 0 : c.activeElement; + }); + }, { immediate: !0, flush: "post" }); + }), o; +} +function Du({ ownerDocument: e, container: t, containers: n, previousActiveElement: r }, o) { + var i; + ss((i = e.value) == null ? void 0 : i.defaultView, "focus", (a) => { + if (!o.value) + return; + let s = new Set(n == null ? void 0 : n.value); + s.add(t); + let l = r.value; + if (!l) + return; + let u = a.target; + u && u instanceof HTMLElement ? Nu(s, u) ? (r.value = u, en(u)) : (a.preventDefault(), a.stopPropagation(), en(l)) : en(r.value); + }, !0); } function Nu(e, t) { - var n - for (let r of e) if ((n = r.value) != null && n.contains(t)) return !0 - return !1 + var n; + for (let r of e) + if ((n = r.value) != null && n.contains(t)) + return !0; + return !1; } -let Yo = 'body > *', - kt = /* @__PURE__ */ new Set(), - at = /* @__PURE__ */ new Map() +let Yo = "body > *", $t = /* @__PURE__ */ new Set(), at = /* @__PURE__ */ new Map(); function Zo(e) { - e.setAttribute('aria-hidden', 'true'), (e.inert = !0) + e.setAttribute("aria-hidden", "true"), e.inert = !0; } function Xo(e) { - let t = at.get(e) - !t || - (t['aria-hidden'] === null - ? e.removeAttribute('aria-hidden') - : e.setAttribute('aria-hidden', t['aria-hidden']), - (e.inert = t.inert)) + let t = at.get(e); + !t || (t["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", t["aria-hidden"]), e.inert = t.inert); } function Lu(e, t = T(!0)) { Oe((n) => { - if (!t.value || !e.value) return - let r = e.value, - o = Rt(r) + if (!t.value || !e.value) + return; + let r = e.value, o = Bt(r); if (o) { - kt.add(r) - for (let i of at.keys()) i.contains(r) && (Xo(i), at.delete(i)) + $t.add(r); + for (let i of at.keys()) + i.contains(r) && (Xo(i), at.delete(i)); o.querySelectorAll(Yo).forEach((i) => { if (i instanceof HTMLElement) { - for (let a of kt) if (i.contains(a)) return - kt.size === 1 && - (at.set(i, { - 'aria-hidden': i.getAttribute('aria-hidden'), - inert: i.inert, - }), - Zo(i)) + for (let a of $t) + if (i.contains(a)) + return; + $t.size === 1 && (at.set(i, { "aria-hidden": i.getAttribute("aria-hidden"), inert: i.inert }), Zo(i)); } - }), - n(() => { - if ((kt.delete(r), kt.size > 0)) - o.querySelectorAll(Yo).forEach((i) => { - if (i instanceof HTMLElement && !at.has(i)) { - for (let a of kt) if (i.contains(a)) return - at.set(i, { - 'aria-hidden': i.getAttribute('aria-hidden'), - inert: i.inert, - }), - Zo(i) - } - }) - else for (let i of at.keys()) Xo(i), at.delete(i) - }) + }), n(() => { + if ($t.delete(r), $t.size > 0) + o.querySelectorAll(Yo).forEach((i) => { + if (i instanceof HTMLElement && !at.has(i)) { + for (let a of $t) + if (i.contains(a)) + return; + at.set(i, { "aria-hidden": i.getAttribute("aria-hidden"), inert: i.inert }), Zo(i); + } + }); + else + for (let i of at.keys()) + Xo(i), at.delete(i); + }); } - }) + }); } -let cs = Symbol('ForcePortalRootContext') +let cs = Symbol("ForcePortalRootContext"); function Mu() { - return he(cs, !1) -} -let Vr = D({ - name: 'ForcePortalRoot', - props: { - as: { type: [Object, String], default: 'template' }, - force: { type: Boolean, default: !1 }, - }, - setup(e, { slots: t, attrs: n }) { - return ( - Be(cs, e.force), - () => { - let { force: r, ...o } = e - return be({ - theirProps: o, - ourProps: {}, - slot: {}, - slots: t, - attrs: n, - name: 'ForcePortalRoot', - }) - } - ) - }, -}) + return he(cs, !1); +} +let Vr = D({ name: "ForcePortalRoot", props: { as: { type: [Object, String], default: "template" }, force: { type: Boolean, default: !1 } }, setup(e, { slots: t, attrs: n }) { + return Be(cs, e.force), () => { + let { force: r, ...o } = e; + return be({ theirProps: o, ourProps: {}, slot: {}, slots: t, attrs: n, name: "ForcePortalRoot" }); + }; +} }); function Ru(e) { - let t = Rt(e) + let t = Bt(e); if (!t) { - if (e === null) return null - throw new Error( - `[Headless UI]: Cannot find ownerDocument for contextElement: ${e}` - ) - } - let n = t.getElementById('headlessui-portal-root') - if (n) return n - let r = t.createElement('div') - return r.setAttribute('id', 'headlessui-portal-root'), t.body.appendChild(r) -} -let us = D({ - name: 'Portal', - props: { as: { type: [Object, String], default: 'div' } }, - setup(e, { slots: t, attrs: n }) { - let r = T(null), - o = A(() => Rt(r)), - i = Mu(), - a = he(ds, null), - s = T(i === !0 || a == null ? Ru(r.value) : a.resolveTarget()) - return ( - Oe(() => { - i || (a != null && (s.value = a.resolveTarget())) - }), - Ze(() => { - var l, u - let c = - (l = o.value) == null - ? void 0 - : l.getElementById('headlessui-portal-root') - !c || - (s.value === c && - s.value.children.length <= 0 && - ((u = s.value.parentElement) == null || u.removeChild(s.value))) - }), - () => { - if (s.value === null) return null - let l = { ref: r, 'data-headlessui-portal': '' } - return fe( - Bl, - { to: s.value }, - be({ - ourProps: l, - theirProps: e, - slot: {}, - attrs: n, - slots: t, - name: 'Portal', - }) - ) - } - ) - }, - }), - ds = Symbol('PortalGroupContext'), - Bu = D({ - name: 'PortalGroup', - props: { - as: { type: [Object, String], default: 'template' }, - target: { type: Object, default: null }, - }, - setup(e, { attrs: t, slots: n }) { - let r = Hl({ - resolveTarget() { - return e.target - }, - }) - return ( - Be(ds, r), - () => { - let { target: o, ...i } = e - return be({ - theirProps: i, - ourProps: {}, - slot: {}, - attrs: t, - slots: n, - name: 'PortalGroup', - }) - } - ) - }, - }), - fs = Symbol('StackContext') -var Ur = ((e) => ((e[(e.Add = 0)] = 'Add'), (e[(e.Remove = 1)] = 'Remove'), e))( - Ur || {} -) + if (e === null) + return null; + throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`); + } + let n = t.getElementById("headlessui-portal-root"); + if (n) + return n; + let r = t.createElement("div"); + return r.setAttribute("id", "headlessui-portal-root"), t.body.appendChild(r); +} +let us = D({ name: "Portal", props: { as: { type: [Object, String], default: "div" } }, setup(e, { slots: t, attrs: n }) { + let r = T(null), o = A(() => Bt(r)), i = Mu(), a = he(ds, null), s = T(i === !0 || a == null ? Ru(r.value) : a.resolveTarget()); + return Oe(() => { + i || a != null && (s.value = a.resolveTarget()); + }), Ze(() => { + var l, u; + let c = (l = o.value) == null ? void 0 : l.getElementById("headlessui-portal-root"); + !c || s.value === c && s.value.children.length <= 0 && ((u = s.value.parentElement) == null || u.removeChild(s.value)); + }), () => { + if (s.value === null) + return null; + let l = { ref: r, "data-headlessui-portal": "" }; + return fe(Bl, { to: s.value }, be({ ourProps: l, theirProps: e, slot: {}, attrs: n, slots: t, name: "Portal" })); + }; +} }), ds = Symbol("PortalGroupContext"), Bu = D({ name: "PortalGroup", props: { as: { type: [Object, String], default: "template" }, target: { type: Object, default: null } }, setup(e, { attrs: t, slots: n }) { + let r = Hl({ resolveTarget() { + return e.target; + } }); + return Be(ds, r), () => { + let { target: o, ...i } = e; + return be({ theirProps: i, ourProps: {}, slot: {}, attrs: t, slots: n, name: "PortalGroup" }); + }; +} }), fs = Symbol("StackContext"); +var Ur = ((e) => (e[e.Add = 0] = "Add", e[e.Remove = 1] = "Remove", e))(Ur || {}); function Hu() { - return he(fs, () => {}) + return he(fs, () => { + }); } function Fu({ type: e, enabled: t, element: n, onUpdate: r }) { - let o = Hu() + let o = Hu(); function i(...a) { - r == null || r(...a), o(...a) + r == null || r(...a), o(...a); } se(() => { - $e( - t, - (a, s) => { - a ? i(0, e, n) : s === !0 && i(1, e, n) - }, - { immediate: !0, flush: 'sync' } - ) - }), - Ze(() => { - t.value && i(1, e, n) - }), - Be(fs, i) -} -let ps = Symbol('DescriptionContext') + $e(t, (a, s) => { + a ? i(0, e, n) : s === !0 && i(1, e, n); + }, { immediate: !0, flush: "sync" }); + }), Ze(() => { + t.value && i(1, e, n); + }), Be(fs, i); +} +let ps = Symbol("DescriptionContext"); function zu() { - let e = he(ps, null) - if (e === null) throw new Error('Missing parent') - return e + let e = he(ps, null); + if (e === null) + throw new Error("Missing parent"); + return e; } -function hs({ slot: e = T({}), name: t = 'Description', props: n = {} } = {}) { - let r = T([]) +function hs({ slot: e = T({}), name: t = "Description", props: n = {} } = {}) { + let r = T([]); function o(i) { - return ( - r.value.push(i), - () => { - let a = r.value.indexOf(i) - a !== -1 && r.value.splice(a, 1) - } - ) - } - return ( - Be(ps, { register: o, slot: e, name: t, props: n }), - A(() => (r.value.length > 0 ? r.value.join(' ') : void 0)) - ) -} -let Fg = D({ - name: 'Description', - props: { as: { type: [Object, String], default: 'p' } }, - setup(e, { attrs: t, slots: n }) { - let r = zu(), - o = `headlessui-description-${et()}` - return ( - se(() => Ze(r.register(o))), - () => { - let { name: i = 'Description', slot: a = T({}), props: s = {} } = r, - l = e, - u = { - ...Object.entries(s).reduce( - (c, [p, f]) => Object.assign(c, { [p]: $(f) }), - {} - ), - id: o, - } - return be({ - ourProps: u, - theirProps: l, - slot: a.value, - attrs: t, - slots: n, - name: i, - }) - } - ) - }, -}) + return r.value.push(i), () => { + let a = r.value.indexOf(i); + a !== -1 && r.value.splice(a, 1); + }; + } + return Be(ps, { register: o, slot: e, name: t, props: n }), A(() => r.value.length > 0 ? r.value.join(" ") : void 0); +} +let qg = D({ name: "Description", props: { as: { type: [Object, String], default: "p" } }, setup(e, { attrs: t, slots: n }) { + let r = zu(), o = `headlessui-description-${et()}`; + return se(() => Ze(r.register(o))), () => { + let { name: i = "Description", slot: a = T({}), props: s = {} } = r, l = e, u = { ...Object.entries(s).reduce((c, [p, f]) => Object.assign(c, { [p]: $(f) }), {}), id: o }; + return be({ ourProps: u, theirProps: l, slot: a.value, attrs: t, slots: n, name: i }); + }; +} }); function yo() { - let e = [], - t = [], - n = { - enqueue(r) { - t.push(r) - }, - addEventListener(r, o, i, a) { - return ( - r.addEventListener(o, i, a), - n.add(() => r.removeEventListener(o, i, a)) - ) - }, - requestAnimationFrame(...r) { - let o = requestAnimationFrame(...r) - n.add(() => cancelAnimationFrame(o)) - }, - nextFrame(...r) { - n.requestAnimationFrame(() => { - n.requestAnimationFrame(...r) - }) - }, - setTimeout(...r) { - let o = setTimeout(...r) - n.add(() => clearTimeout(o)) - }, - add(r) { - e.push(r) - }, - dispose() { - for (let r of e.splice(0)) r() - }, - async workQueue() { - for (let r of t.splice(0)) await r() - }, - } - return n + let e = [], t = [], n = { enqueue(r) { + t.push(r); + }, addEventListener(r, o, i, a) { + return r.addEventListener(o, i, a), n.add(() => r.removeEventListener(o, i, a)); + }, requestAnimationFrame(...r) { + let o = requestAnimationFrame(...r); + n.add(() => cancelAnimationFrame(o)); + }, nextFrame(...r) { + n.requestAnimationFrame(() => { + n.requestAnimationFrame(...r); + }); + }, setTimeout(...r) { + let o = setTimeout(...r); + n.add(() => clearTimeout(o)); + }, add(r) { + e.push(r); + }, dispose() { + for (let r of e.splice(0)) + r(); + }, async workQueue() { + for (let r of t.splice(0)) + await r(); + } }; + return n; } function Vu() { - return ( - /iPhone/gi.test(window.navigator.platform) || - (/Mac/gi.test(window.navigator.platform) && - window.navigator.maxTouchPoints > 0) - ) -} -var Uu = ((e) => ( - (e[(e.Open = 0)] = 'Open'), (e[(e.Closed = 1)] = 'Closed'), e -))(Uu || {}) -let qr = Symbol('DialogContext') + return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0; +} +var Uu = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(Uu || {}); +let qr = Symbol("DialogContext"); function gn(e) { - let t = he(qr, null) + let t = he(qr, null); if (t === null) { - let n = new Error(`<${e} /> is missing a parent component.`) - throw (Error.captureStackTrace && Error.captureStackTrace(n, gn), n) + let n = new Error(`<${e} /> is missing a parent component.`); + throw Error.captureStackTrace && Error.captureStackTrace(n, gn), n; } - return t -} -let xn = 'DC8F892D-2EBD-447C-A4C8-A03058436FF4', - qu = D({ - name: 'Dialog', - inheritAttrs: !1, - props: { - as: { type: [Object, String], default: 'div' }, - static: { type: Boolean, default: !1 }, - unmount: { type: Boolean, default: !0 }, - open: { type: [Boolean, String], default: xn }, - initialFocus: { type: Object, default: null }, - }, - emits: { close: (e) => !0 }, - setup(e, { emit: t, attrs: n, slots: r, expose: o }) { - var i - let a = T(!1) - se(() => { - a.value = !0 - }) - let s = T(0), - l = _o(), - u = A(() => - e.open === xn && l !== null - ? Me(l.value, { [Ot.Open]: !0, [Ot.Closed]: !1 }) - : e.open - ), - c = T(/* @__PURE__ */ new Set()), - p = T(null), - f = T(null), - d = A(() => Rt(p)) - if ((o({ el: p, $el: p }), !(e.open !== xn || l !== null))) - throw new Error('You forgot to provide an `open` prop to the `Dialog`.') - if (typeof u.value != 'boolean') - throw new Error( - `You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${ - u.value === xn ? void 0 : e.open - }` - ) - let v = A(() => (a.value && u.value ? 0 : 1)), - g = A(() => v.value === 0), - y = A(() => s.value > 1), - b = he(qr, null) !== null, - k = A(() => (y.value ? 'parent' : 'leaf')) - Lu( - p, - A(() => (y.value ? g.value : !1)) - ), - Fu({ - type: 'Dialog', - enabled: A(() => v.value === 0), - element: p, - onUpdate: (E, j, C) => { - if (j === 'Dialog') - return Me(E, { - [Ur.Add]() { - c.value.add(C), (s.value += 1) - }, - [Ur.Remove]() { - c.value.delete(C), (s.value -= 1) - }, - }) - }, - }) - let S = hs({ - name: 'DialogDescription', - slot: A(() => ({ open: u.value })), - }), - x = `headlessui-dialog-${et()}`, - P = T(null), - M = { - titleId: P, - panelRef: T(null), - dialogState: v, - setTitleId(E) { - P.value !== E && (P.value = E) - }, - close() { - t('close', !1) - }, - } - return ( - Be(qr, M), - $u( - () => { - var E, j, C - return [ - ...Array.from( - (j = - (E = d.value) == null - ? void 0 - : E.querySelectorAll( - 'body > *, [data-headlessui-portal]' - )) != null - ? j - : [] - ).filter( - (R) => - !( - !(R instanceof HTMLElement) || - R.contains(Ie(f)) || - (M.panelRef.value && R.contains(M.panelRef.value)) - ) - ), - (C = M.panelRef.value) != null ? C : p.value, - ] - }, - (E, j) => { - M.close(), or(() => (j == null ? void 0 : j.focus())) - }, - A(() => v.value === 0 && !y.value) - ), - ss((i = d.value) == null ? void 0 : i.defaultView, 'keydown', (E) => { - E.defaultPrevented || - (E.key === qn.Escape && - v.value === 0 && - (y.value || (E.preventDefault(), E.stopPropagation(), M.close()))) - }), - Oe((E) => { - var j - if (v.value !== 0 || b) return - let C = d.value - if (!C) return - let R = yo() - function H(ee, le, He) { - let Ce = ee.style.getPropertyValue(le) - return ( - Object.assign(ee.style, { [le]: He }), - R.add(() => { - Object.assign(ee.style, { [le]: Ce }) - }) - ) - } - let Y = C == null ? void 0 : C.documentElement, - W = - ((j = C.defaultView) != null ? j : window).innerWidth - - Y.clientWidth - if ((H(Y, 'overflow', 'hidden'), W > 0)) { - let ee = Y.clientWidth - Y.offsetWidth, - le = W - ee - H(Y, 'paddingRight', `${le}px`) - } - if (Vu()) { - let ee = window.pageYOffset - H(Y, 'position', 'fixed'), - H(Y, 'marginTop', `-${ee}px`), - H(Y, 'width', '100%'), - R.add(() => window.scrollTo(0, ee)) - } - E(R.dispose) - }), - Oe((E) => { - if (v.value !== 0) return - let j = Ie(p) - if (!j) return - let C = new IntersectionObserver((R) => { - for (let H of R) - H.boundingClientRect.x === 0 && - H.boundingClientRect.y === 0 && - H.boundingClientRect.width === 0 && - H.boundingClientRect.height === 0 && - M.close() - }) - C.observe(j), E(() => C.disconnect()) - }), - () => { - let E = { - ...n, - ref: p, - id: x, - role: 'dialog', - 'aria-modal': v.value === 0 ? !0 : void 0, - 'aria-labelledby': P.value, - 'aria-describedby': S.value, - }, - { open: j, initialFocus: C, ...R } = e, - H = { open: v.value === 0 } - return fe(Vr, { force: !0 }, () => [ - fe(us, () => - fe(Bu, { target: p.value }, () => - fe(Vr, { force: !1 }, () => - fe( - Vt, - { - initialFocus: C, - containers: c, - features: g.value - ? Me(k.value, { - parent: Vt.features.RestoreFocus, - leaf: Vt.features.All & ~Vt.features.FocusLock, - }) - : Vt.features.None, - }, - () => - be({ - ourProps: E, - theirProps: R, - slot: H, - attrs: n, - slots: r, - visible: v.value === 0, - features: Un.RenderStrategy | Un.Static, - name: 'Dialog', - }) - ) - ) - ) - ), - fe(Wn, { features: sn.Hidden, ref: f }), - ]) - } - ) - }, - }) -D({ - name: 'DialogOverlay', - props: { as: { type: [Object, String], default: 'div' } }, - setup(e, { attrs: t, slots: n }) { - let r = gn('DialogOverlay'), - o = `headlessui-dialog-overlay-${et()}` - function i(a) { - a.target === a.currentTarget && - (a.preventDefault(), a.stopPropagation(), r.close()) + return t; +} +let xn = "DC8F892D-2EBD-447C-A4C8-A03058436FF4", qu = D({ name: "Dialog", inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, open: { type: [Boolean, String], default: xn }, initialFocus: { type: Object, default: null } }, emits: { close: (e) => !0 }, setup(e, { emit: t, attrs: n, slots: r, expose: o }) { + var i; + let a = T(!1); + se(() => { + a.value = !0; + }); + let s = T(0), l = _o(), u = A(() => e.open === xn && l !== null ? Re(l.value, { [Ot.Open]: !0, [Ot.Closed]: !1 }) : e.open), c = T(/* @__PURE__ */ new Set()), p = T(null), f = T(null), d = A(() => Bt(p)); + if (o({ el: p, $el: p }), !(e.open !== xn || l !== null)) + throw new Error("You forgot to provide an `open` prop to the `Dialog`."); + if (typeof u.value != "boolean") + throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u.value === xn ? void 0 : e.open}`); + let v = A(() => a.value && u.value ? 0 : 1), g = A(() => v.value === 0), y = A(() => s.value > 1), b = he(qr, null) !== null, k = A(() => y.value ? "parent" : "leaf"); + Lu(p, A(() => y.value ? g.value : !1)), Fu({ type: "Dialog", enabled: A(() => v.value === 0), element: p, onUpdate: (E, j, C) => { + if (j === "Dialog") + return Re(E, { [Ur.Add]() { + c.value.add(C), s.value += 1; + }, [Ur.Remove]() { + c.value.delete(C), s.value -= 1; + } }); + } }); + let S = hs({ name: "DialogDescription", slot: A(() => ({ open: u.value })) }), x = `headlessui-dialog-${et()}`, P = T(null), M = { titleId: P, panelRef: T(null), dialogState: v, setTitleId(E) { + P.value !== E && (P.value = E); + }, close() { + t("close", !1); + } }; + return Be(qr, M), $u(() => { + var E, j, C; + return [...Array.from((j = (E = d.value) == null ? void 0 : E.querySelectorAll("body > *, [data-headlessui-portal]")) != null ? j : []).filter((R) => !(!(R instanceof HTMLElement) || R.contains(Ie(f)) || M.panelRef.value && R.contains(M.panelRef.value))), (C = M.panelRef.value) != null ? C : p.value]; + }, (E, j) => { + M.close(), or(() => j == null ? void 0 : j.focus()); + }, A(() => v.value === 0 && !y.value)), ss((i = d.value) == null ? void 0 : i.defaultView, "keydown", (E) => { + E.defaultPrevented || E.key === qn.Escape && v.value === 0 && (y.value || (E.preventDefault(), E.stopPropagation(), M.close())); + }), Oe((E) => { + var j; + if (v.value !== 0 || b) + return; + let C = d.value; + if (!C) + return; + let R = yo(); + function H(ee, le, He) { + let Ce = ee.style.getPropertyValue(le); + return Object.assign(ee.style, { [le]: He }), R.add(() => { + Object.assign(ee.style, { [le]: Ce }); + }); } - return () => - be({ - ourProps: { id: o, 'aria-hidden': !0, onClick: i }, - theirProps: e, - slot: { open: r.dialogState.value === 0 }, - attrs: t, - slots: n, - name: 'DialogOverlay', - }) - }, -}) -D({ - name: 'DialogBackdrop', - props: { as: { type: [Object, String], default: 'div' } }, - inheritAttrs: !1, - setup(e, { attrs: t, slots: n, expose: r }) { - let o = gn('DialogBackdrop'), - i = `headlessui-dialog-backdrop-${et()}`, - a = T(null) - return ( - r({ el: a, $el: a }), - se(() => { - if (o.panelRef.value === null) - throw new Error( - 'A component is being used, but a component is missing.' - ) - }), - () => { - let s = e, - l = { id: i, ref: a, 'aria-hidden': !0 } - return fe(Vr, { force: !0 }, () => - fe(us, () => - be({ - ourProps: l, - theirProps: { ...t, ...s }, - slot: { open: o.dialogState.value === 0 }, - attrs: t, - slots: n, - name: 'DialogBackdrop', - }) - ) - ) - } - ) - }, -}) -let Wu = D({ - name: 'DialogPanel', - props: { as: { type: [Object, String], default: 'div' } }, - setup(e, { attrs: t, slots: n, expose: r }) { - let o = gn('DialogPanel'), - i = `headlessui-dialog-panel-${et()}` - r({ el: o.panelRef, $el: o.panelRef }) - function a(s) { - s.stopPropagation() + let Y = C == null ? void 0 : C.documentElement, W = ((j = C.defaultView) != null ? j : window).innerWidth - Y.clientWidth; + if (H(Y, "overflow", "hidden"), W > 0) { + let ee = Y.clientWidth - Y.offsetWidth, le = W - ee; + H(Y, "paddingRight", `${le}px`); } - return () => { - let s = { id: i, ref: o.panelRef, onClick: a } - return be({ - ourProps: s, - theirProps: e, - slot: { open: o.dialogState.value === 0 }, - attrs: t, - slots: n, - name: 'DialogPanel', - }) + if (Vu()) { + let ee = window.pageYOffset; + H(Y, "position", "fixed"), H(Y, "marginTop", `-${ee}px`), H(Y, "width", "100%"), R.add(() => window.scrollTo(0, ee)); } - }, -}) -D({ - name: 'DialogTitle', - props: { as: { type: [Object, String], default: 'h2' } }, - setup(e, { attrs: t, slots: n }) { - let r = gn('DialogTitle'), - o = `headlessui-dialog-title-${et()}` - return ( - se(() => { - r.setTitleId(o), Ze(() => r.setTitleId(null)) - }), - () => - be({ - ourProps: { id: o }, - theirProps: e, - slot: { open: r.dialogState.value === 0 }, - attrs: t, - slots: n, - name: 'DialogTitle', - }) - ) - }, -}) -let ms = Symbol('LabelContext') + E(R.dispose); + }), Oe((E) => { + if (v.value !== 0) + return; + let j = Ie(p); + if (!j) + return; + let C = new IntersectionObserver((R) => { + for (let H of R) + H.boundingClientRect.x === 0 && H.boundingClientRect.y === 0 && H.boundingClientRect.width === 0 && H.boundingClientRect.height === 0 && M.close(); + }); + C.observe(j), E(() => C.disconnect()); + }), () => { + let E = { ...n, ref: p, id: x, role: "dialog", "aria-modal": v.value === 0 ? !0 : void 0, "aria-labelledby": P.value, "aria-describedby": S.value }, { open: j, initialFocus: C, ...R } = e, H = { open: v.value === 0 }; + return fe(Vr, { force: !0 }, () => [fe(us, () => fe(Bu, { target: p.value }, () => fe(Vr, { force: !1 }, () => fe(Vt, { initialFocus: C, containers: c, features: g.value ? Re(k.value, { parent: Vt.features.RestoreFocus, leaf: Vt.features.All & ~Vt.features.FocusLock }) : Vt.features.None }, () => be({ ourProps: E, theirProps: R, slot: H, attrs: n, slots: r, visible: v.value === 0, features: Un.RenderStrategy | Un.Static, name: "Dialog" }))))), fe(Wn, { features: sn.Hidden, ref: f })]); + }; +} }); +D({ name: "DialogOverlay", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: n }) { + let r = gn("DialogOverlay"), o = `headlessui-dialog-overlay-${et()}`; + function i(a) { + a.target === a.currentTarget && (a.preventDefault(), a.stopPropagation(), r.close()); + } + return () => be({ ourProps: { id: o, "aria-hidden": !0, onClick: i }, theirProps: e, slot: { open: r.dialogState.value === 0 }, attrs: t, slots: n, name: "DialogOverlay" }); +} }); +D({ name: "DialogBackdrop", props: { as: { type: [Object, String], default: "div" } }, inheritAttrs: !1, setup(e, { attrs: t, slots: n, expose: r }) { + let o = gn("DialogBackdrop"), i = `headlessui-dialog-backdrop-${et()}`, a = T(null); + return r({ el: a, $el: a }), se(() => { + if (o.panelRef.value === null) + throw new Error("A component is being used, but a component is missing."); + }), () => { + let s = e, l = { id: i, ref: a, "aria-hidden": !0 }; + return fe(Vr, { force: !0 }, () => fe(us, () => be({ ourProps: l, theirProps: { ...t, ...s }, slot: { open: o.dialogState.value === 0 }, attrs: t, slots: n, name: "DialogBackdrop" }))); + }; +} }); +let Wu = D({ name: "DialogPanel", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: n, expose: r }) { + let o = gn("DialogPanel"), i = `headlessui-dialog-panel-${et()}`; + r({ el: o.panelRef, $el: o.panelRef }); + function a(s) { + s.stopPropagation(); + } + return () => { + let s = { id: i, ref: o.panelRef, onClick: a }; + return be({ ourProps: s, theirProps: e, slot: { open: o.dialogState.value === 0 }, attrs: t, slots: n, name: "DialogPanel" }); + }; +} }); +D({ name: "DialogTitle", props: { as: { type: [Object, String], default: "h2" } }, setup(e, { attrs: t, slots: n }) { + let r = gn("DialogTitle"), o = `headlessui-dialog-title-${et()}`; + return se(() => { + r.setTitleId(o), Ze(() => r.setTitleId(null)); + }), () => be({ ourProps: { id: o }, theirProps: e, slot: { open: r.dialogState.value === 0 }, attrs: t, slots: n, name: "DialogTitle" }); +} }); +let ms = Symbol("LabelContext"); function vs() { - let e = he(ms, null) + let e = he(ms, null); if (e === null) { - let t = new Error( - 'You used a