diff --git a/.storybook/inertia-mock.js b/.storybook/inertia-mock.js new file mode 100644 index 00000000000..d482598477c --- /dev/null +++ b/.storybook/inertia-mock.js @@ -0,0 +1,360 @@ +import {defineComponent, h, reactive} from 'vue'; + +/** + * Default page props for Storybook + * These can be overridden per-story using parameters.inertia + */ +export const defaultPageProps = { + craft: { + system: { + name: 'Craft CMS', + icon: null, + }, + app: { + version: '6.0.0', + edition: { + name: 'Pro', + handle: 'pro', + value: 2, + }, + }, + site: { + url: 'https://example.com', + }, + currentUser: { + id: 1, + username: 'admin', + email: 'admin@example.com', + admin: true, + }, + nav: [], + actionUrl: '/actions/', + cpUrl: '/admin/', + baseApiUrl: '/api/', + }, + flash: { + success: null, + error: null, + }, + readOnly: false, +}; + +/** + * Reactive page state that can be modified by stories + */ +export const pageState = reactive({ + props: {...defaultPageProps, errors: {}, deferred: {}}, + url: '/', + component: 'Story', + version: '1', + clearHistory: false, + encryptHistory: false, + flash: {}, + rememberedState: {}, +}); + +/** + * Reset page props to defaults, optionally merging with overrides + */ +export function setPageProps(overrides = {}) { + pageState.props = deepMerge({...defaultPageProps}, overrides); +} + +/** + * Deep merge utility + */ +function deepMerge(target, source) { + const result = {...target}; + + for (const key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + const sourceValue = source[key]; + const targetValue = result[key]; + + if ( + sourceValue && + typeof sourceValue === 'object' && + !Array.isArray(sourceValue) && + targetValue && + typeof targetValue === 'object' && + !Array.isArray(targetValue) + ) { + result[key] = deepMerge(targetValue, sourceValue); + } else { + result[key] = sourceValue; + } + } + } + + return result; +} + +/** + * Mock usePage composable + */ +export function usePage() { + return pageState; +} + +/** + * Mock router for Inertia + */ +export const router = { + visit(url, options) { + console.log('[Storybook] router.visit:', url, options); + }, + get(url, data, options) { + console.log('[Storybook] router.get:', url, data, options); + }, + post(url, data, options) { + console.log('[Storybook] router.post:', url, data, options); + }, + put(url, data, options) { + console.log('[Storybook] router.put:', url, data, options); + }, + patch(url, data, options) { + console.log('[Storybook] router.patch:', url, data, options); + }, + delete(url, options) { + console.log('[Storybook] router.delete:', url, options); + }, + reload(options) { + console.log('[Storybook] router.reload:', options); + }, + replace(url, options) { + console.log('[Storybook] router.replace:', url, options); + }, + on(event, callback) { + console.log('[Storybook] router.on:', event); + return () => {}; + }, +}; + +/** + * Mock useForm composable + */ +export function useForm(rememberKeyOrData, maybeData) { + const initialValues = + typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData; + const formData = reactive({...initialValues}); + const errors = {}; + + const formProps = { + errors, + hasErrors: false, + processing: false, + progress: null, + wasSuccessful: false, + recentlySuccessful: false, + isDirty: false, + data: () => formData, + transform: () => formProps, + defaults: () => formProps, + reset(...fields) { + if (fields.length === 0) { + Object.assign(formData, initialValues); + } else { + fields.forEach((field) => { + formData[field] = initialValues[field]; + }); + } + return formProps; + }, + clearErrors(...fields) { + if (fields.length === 0) { + Object.keys(errors).forEach((key) => delete errors[key]); + } else { + fields.forEach((field) => delete errors[field]); + } + formProps.hasErrors = Object.keys(errors).length > 0; + return formProps; + }, + resetAndClearErrors(...fields) { + formProps.reset(...fields); + formProps.clearErrors(...fields); + return formProps; + }, + setError(fieldOrErrors, maybeValue) { + if (typeof fieldOrErrors === 'string') { + errors[fieldOrErrors] = maybeValue; + } else { + Object.assign(errors, fieldOrErrors); + } + formProps.hasErrors = true; + return formProps; + }, + submit(...args) { + console.log('[Storybook] form.submit:', ...args); + }, + get(url, options) { + console.log('[Storybook] form.get:', url, options); + }, + post(url, options) { + console.log('[Storybook] form.post:', url, options); + }, + put(url, options) { + console.log('[Storybook] form.put:', url, options); + }, + patch(url, options) { + console.log('[Storybook] form.patch:', url, options); + }, + delete(url, options) { + console.log('[Storybook] form.delete:', url, options); + }, + cancel() { + console.log('[Storybook] form.cancel'); + }, + dontRemember: () => formProps, + optimistic: () => formProps, + withPrecognition: () => formProps, + }; + + return reactive({...formData, ...formProps}); +} + +/** + * Mock Head component + */ +export const Head = defineComponent({ + name: 'Head', + props: { + title: String, + }, + setup() { + return () => null; + }, +}); + +/** + * Mock Link component + */ +export const Link = defineComponent({ + name: 'Link', + props: { + href: { + type: String, + required: true, + }, + method: { + type: String, + default: 'get', + }, + data: Object, + replace: Boolean, + preserveScroll: Boolean, + preserveState: Boolean, + only: Array, + headers: Object, + as: { + type: String, + default: 'a', + }, + }, + setup(props, {slots, attrs}) { + return () => + h( + props.as, + { + ...attrs, + href: props.href, + onClick: (e) => { + e.preventDefault(); + console.log( + '[Storybook] Link clicked:', + props.href, + props.method, + props.data + ); + }, + }, + slots.default?.() + ); + }, +}); + +/** + * Mock Form component + */ +export const Form = defineComponent({ + name: 'Form', + props: { + method: { + type: String, + default: 'post', + }, + action: String, + data: Object, + preserveScroll: Boolean, + preserveState: Boolean, + only: Array, + headers: Object, + }, + setup(props, {slots, attrs}) { + const formState = reactive({ + processing: false, + errors: {}, + hasErrors: false, + wasSuccessful: false, + recentlySuccessful: false, + }); + + return () => + h( + 'form', + { + ...attrs, + action: props.action, + method: props.method === 'get' ? 'get' : 'post', + onSubmit: (e) => { + e.preventDefault(); + console.log( + '[Storybook] Form submitted:', + props.action, + props.method, + props.data + ); + }, + }, + slots.default?.(formState) + ); + }, +}); + +/** + * Mock Deferred component - renders children immediately in Storybook + */ +export const Deferred = defineComponent({ + name: 'Deferred', + props: { + data: { + type: [String, Array], + required: true, + }, + }, + setup(props, {slots}) { + return () => slots.default?.(); + }, +}); + +/** + * Mock createInertiaApp - not typically used in Storybook stories + */ +export function createInertiaApp(options) { + console.log('[Storybook] createInertiaApp called - this is a mock'); + return Promise.resolve(); +} + +/** + * Install the Inertia mock as a Vue plugin + */ +export function installInertiaMock(app) { + app.config.globalProperties.$page = pageState; + app.config.globalProperties.$inertia = router; + + app.component('Head', Head); + app.component('Link', Link); + app.component('InertiaLink', Link); + + app.provide('$inertia', router); + app.provide('$page', pageState); +} diff --git a/.storybook/inertia-mock.ts b/.storybook/inertia-mock.ts deleted file mode 100644 index 722291a9bd2..00000000000 --- a/.storybook/inertia-mock.ts +++ /dev/null @@ -1,437 +0,0 @@ -import {type App, defineComponent, h, type PropType, reactive} from 'vue'; - -/** - * Default page props for Storybook - * These can be overridden per-story using parameters.inertia - */ -export const defaultPageProps = { - craft: { - system: { - name: 'Craft CMS', - icon: null, - }, - app: { - version: '6.0.0', - edition: { - name: 'Pro' as const, - handle: 'pro' as const, - value: 2 as const, - }, - }, - site: { - url: 'https://example.com', - }, - currentUser: { - id: 1, - username: 'admin', - email: 'admin@example.com', - admin: true, - }, - nav: [], - actionUrl: '/actions/', - cpUrl: '/admin/', - baseApiUrl: '/api/', - }, - flash: { - success: null, - error: null, - }, - readOnly: false, -}; - -export type PageProps = typeof defaultPageProps & Record; - -/** - * Reactive page state that can be modified by stories - */ -export const pageState = reactive({ - props: {...defaultPageProps} as PageProps, - url: '/', - component: 'Story', - version: '1', - scrollRegions: [], - rememberedState: {}, - clearHistory: false, - encryptHistory: false, -}); - -/** - * Reset page props to defaults, optionally merging with overrides - */ -export function setPageProps(overrides: Partial = {}) { - pageState.props = deepMerge({...defaultPageProps}, overrides) as PageProps; -} - -/** - * Deep merge utility - */ -function deepMerge>( - target: T, - source: Partial -): T { - const result = {...target}; - - for (const key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - const sourceValue = source[key]; - const targetValue = result[key]; - - if ( - sourceValue && - typeof sourceValue === 'object' && - !Array.isArray(sourceValue) && - targetValue && - typeof targetValue === 'object' && - !Array.isArray(targetValue) - ) { - result[key] = deepMerge( - targetValue as Record, - sourceValue as Record - ) as T[Extract]; - } else { - result[key] = sourceValue as T[Extract]; - } - } - } - - return result; -} - -/** - * Mock usePage composable - */ -export function usePage() { - return pageState as unknown as { - props: T; - url: string; - component: string; - version: string; - }; -} - -/** - * Mock router for Inertia - */ -export const router = { - visit: (url: string, options?: Record) => { - console.log('[Storybook] router.visit:', url, options); - }, - get: ( - url: string, - data?: Record, - options?: Record - ) => { - console.log('[Storybook] router.get:', url, data, options); - }, - post: ( - url: string, - data?: Record, - options?: Record - ) => { - console.log('[Storybook] router.post:', url, data, options); - }, - put: ( - url: string, - data?: Record, - options?: Record - ) => { - console.log('[Storybook] router.put:', url, data, options); - }, - patch: ( - url: string, - data?: Record, - options?: Record - ) => { - console.log('[Storybook] router.patch:', url, data, options); - }, - delete: (url: string, options?: Record) => { - console.log('[Storybook] router.delete:', url, options); - }, - reload: (options?: Record) => { - console.log('[Storybook] router.reload:', options); - }, - replace: (url: string, options?: Record) => { - console.log('[Storybook] router.replace:', url, options); - }, - on: (event: string, callback: (...args: unknown[]) => void) => { - console.log('[Storybook] router.on:', event); - return () => {}; - }, -}; - -/** - * Mock useForm composable - */ -export interface InertiaForm> { - data(): TForm; - transform(callback: (data: TForm) => Record): this; - defaults(): this; - defaults(field: keyof TForm, value: unknown): this; - defaults(fields: Partial): this; - reset(...fields: (keyof TForm)[]): this; - clearErrors(...fields: (keyof TForm)[]): this; - setError(field: keyof TForm, value: string): this; - setError(errors: Record): this; - submit(method: string, url: string, options?: Record): void; - get(url: string, options?: Record): void; - post(url: string, options?: Record): void; - put(url: string, options?: Record): void; - patch(url: string, options?: Record): void; - delete(url: string, options?: Record): void; - cancel(): void; - errors: Partial>; - hasErrors: boolean; - processing: boolean; - progress: {percentage: number} | null; - wasSuccessful: boolean; - recentlySuccessful: boolean; - isDirty: boolean; -} - -export function useForm>( - initialData: TForm -): InertiaForm & TForm; -export function useForm>( - rememberKey: string, - initialData: TForm -): InertiaForm & TForm; -export function useForm>( - rememberKeyOrData: string | TForm, - maybeData?: TForm -): InertiaForm & TForm { - const data = - typeof rememberKeyOrData === 'string' ? maybeData! : rememberKeyOrData; - const formData = reactive({...data}) as TForm; - - const form = reactive({ - ...formData, - errors: {} as Partial>, - hasErrors: false, - processing: false, - progress: null as {percentage: number} | null, - wasSuccessful: false, - recentlySuccessful: false, - isDirty: false, - data() { - return formData; - }, - transform(callback: (data: TForm) => Record) { - return this; - }, - defaults(...args: unknown[]) { - return this; - }, - reset(...fields: (keyof TForm)[]) { - if (fields.length === 0) { - Object.assign(formData, data); - } else { - fields.forEach((field) => { - (formData as Record)[field as string] = data[field]; - }); - } - return this; - }, - clearErrors(...fields: (keyof TForm)[]) { - if (fields.length === 0) { - this.errors = {}; - } else { - fields.forEach((field) => { - delete this.errors[field]; - }); - } - this.hasErrors = Object.keys(this.errors).length > 0; - return this; - }, - setError( - fieldOrErrors: keyof TForm | Record, - maybeValue?: string - ) { - if (typeof fieldOrErrors === 'string') { - this.errors[fieldOrErrors] = maybeValue; - } else { - Object.assign(this.errors, fieldOrErrors); - } - this.hasErrors = true; - return this; - }, - submit(method: string, url: string, options?: Record) { - console.log('[Storybook] form.submit:', method, url, formData, options); - }, - get(url: string, options?: Record) { - this.submit('get', url, options); - }, - post(url: string, options?: Record) { - this.submit('post', url, options); - }, - put(url: string, options?: Record) { - this.submit('put', url, options); - }, - patch(url: string, options?: Record) { - this.submit('patch', url, options); - }, - delete(url: string, options?: Record) { - this.submit('delete', url, options); - }, - cancel() { - console.log('[Storybook] form.cancel'); - }, - }) as InertiaForm & TForm; - - return form; -} - -/** - * Mock Head component - */ -export const Head = defineComponent({ - name: 'Head', - props: { - title: String, - }, - setup(props, {slots}) { - // In Storybook, we just render nothing for Head - return () => null; - }, -}); - -/** - * Mock Link component - */ -export interface InertiaLinkProps { - href: string; - method?: 'get' | 'post' | 'put' | 'patch' | 'delete'; - data?: Record; - replace?: boolean; - preserveScroll?: boolean; - preserveState?: boolean; - only?: string[]; - headers?: Record; - as?: string; -} - -export const Link = defineComponent({ - name: 'Link', - props: { - href: { - type: String, - required: true, - }, - method: { - type: String as PropType<'get' | 'post' | 'put' | 'patch' | 'delete'>, - default: 'get', - }, - data: Object as PropType>, - replace: Boolean, - preserveScroll: Boolean, - preserveState: Boolean, - only: Array as PropType, - headers: Object as PropType>, - as: { - type: String, - default: 'a', - }, - }, - setup(props, {slots, attrs}) { - return () => - h( - props.as, - { - ...attrs, - href: props.href, - onClick: (e: Event) => { - e.preventDefault(); - console.log( - '[Storybook] Link clicked:', - props.href, - props.method, - props.data - ); - }, - }, - slots.default?.() - ); - }, -}); - -/** - * Mock Form component - */ -export const Form = defineComponent({ - name: 'Form', - props: { - method: { - type: String as PropType<'get' | 'post' | 'put' | 'patch' | 'delete'>, - default: 'post', - }, - action: String, - data: Object as PropType>, - preserveScroll: Boolean, - preserveState: Boolean, - only: Array as PropType, - headers: Object as PropType>, - }, - setup(props, {slots, attrs}) { - return () => - h( - 'form', - { - ...attrs, - action: props.action, - method: props.method === 'get' ? 'get' : 'post', - onSubmit: (e: Event) => { - e.preventDefault(); - console.log( - '[Storybook] Form submitted:', - props.action, - props.method, - props.data - ); - }, - }, - slots.default?.() - ); - }, -}); - -/** - * Mock Deferred component - renders children immediately in Storybook - */ -export const Deferred = defineComponent({ - name: 'Deferred', - props: { - data: { - type: [String, Array] as PropType, - required: true, - }, - }, - setup(props, {slots}) { - // In Storybook, render children immediately (no deferred loading) - return () => slots.default?.(); - }, -}); - -/** - * Mock createInertiaApp - not typically used in Storybook stories - */ -export function createInertiaApp(options: Record) { - console.log('[Storybook] createInertiaApp called - this is a mock'); - return Promise.resolve(); -} - -/** - * Install the Inertia mock as a Vue plugin - */ -export function installInertiaMock(app: App) { - // Provide the page object for usePage - app.config.globalProperties.$page = pageState; - app.config.globalProperties.$inertia = router; - - // Register global components - app.component('Head', Head); - app.component('Link', Link); - app.component('InertiaLink', Link); - - // Also provide via provide/inject for composition API - app.provide('$inertia', router); - app.provide('$page', pageState); -} diff --git a/.storybook/main.ts b/.storybook/main.ts index 5a5d40c81f7..983b0a4ce39 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -57,7 +57,7 @@ const config: StorybookConfig = { '@': join(__dirname, '../resources/js'), vue: 'vue/dist/vue.esm-bundler.js', // Mock Inertia for Storybook - '@inertiajs/vue3': join(__dirname, 'inertia-mock.ts'), + '@inertiajs/vue3': join(__dirname, 'inertia-mock.js'), }, }, }; diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 55285f71059..8194479ba14 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -4,7 +4,7 @@ import {withThemeByDataAttribute} from '@storybook/addon-themes'; import '@craftcms/cp'; import '../resources/css/cp.css'; import './preview.css'; -import {installInertiaMock, type PageProps, setPageProps} from './inertia-mock'; +import {installInertiaMock, setPageProps} from './inertia-mock'; // Install the Inertia mock globally setup((app) => { @@ -14,7 +14,7 @@ setup((app) => { // Declare module augmentation for Storybook parameters declare module '@storybook/vue3' { interface Parameters { - inertia?: Partial; + inertia?: Partial>; } } diff --git a/docs/server-driven-menu-actions.md b/docs/server-driven-menu-actions.md new file mode 100644 index 00000000000..47a54ab99e9 --- /dev/null +++ b/docs/server-driven-menu-actions.md @@ -0,0 +1,197 @@ +# Server-Driven Menu Actions + +Menu items in Craft's control panel can trigger client-side behavior using a closed set of action primitives defined in PHP. This lets first-party code and plugins drive UI behavior — HTTP requests, clipboard writes, navigation, file downloads, and custom events — without writing any client-side JavaScript. + +--- + +## Action Primitives + +Each menu item button has a single `action` property containing one of five primitive types: + +| Type | What it does | +|---|---| +| `clipboard` | Writes a string to the clipboard | +| `http` | Fires a fetch request (GET/POST/PATCH/DELETE) | +| `event` | Dispatches a `CustomEvent` on `window` | +| `navigate` | Navigates to a URL (same tab or new tab) | +| `download` | Triggers a file download | + +### Primitive shapes + +```typescript +type BaseAction = + | { type: 'clipboard'; value: string } + | { type: 'http'; method?: 'GET' | 'POST' | 'PATCH' | 'DELETE'; url: string; body?: Record; confirm?: string } + | { type: 'event'; name: string; detail?: Record; confirm?: string } + | { type: 'navigate'; url: string; target?: '_self' | '_blank' } + | { type: 'download'; url: string; filename?: string } +``` + +The `confirm` field on `http` and `event` primitives shows a native browser confirmation dialog before the action executes. + +--- + +## Defining Actions in PHP + +### On elements + +Override `safeActionMenuItems()` or `destructiveActionMenuItems()` on your element class. Items returned from `destructiveActionMenuItems()` automatically receive `'destructive' => true` and are grouped at the bottom of the menu. + +```php +protected function safeActionMenuItems(): array +{ + return [ + ...parent::safeActionMenuItems(), + [ + 'icon' => 'clipboard', + 'label' => t('Copy handle'), + 'action' => [ + 'type' => 'clipboard', + 'value' => $this->handle, + ], + 'feedback' => [ + 'success' => ['message' => t('Copied!'), 'display' => 'inline'], + 'error' => ['message' => t('Copy failed'), 'display' => 'toast'], + ], + ], + ]; +} + +protected function destructiveActionMenuItems(): array +{ + return [ + ...parent::destructiveActionMenuItems(), + [ + 'icon' => 'trash', + 'label' => t('Delete'), + 'action' => [ + 'type' => 'http', + 'method' => 'DELETE', + 'url' => UrlHelper::actionUrl('my-plugin/things/delete', ['id' => $this->id]), + 'confirm' => t('Are you sure you want to delete this?'), + ], + 'feedback' => [ + 'loading' => ['message' => t('Deleting...')], + 'success' => ['message' => t('Deleted'), 'display' => 'toast'], + 'error' => ['message' => t('Could not delete'), 'display' => 'toast'], + ], + ], + ]; +} +``` + +### Menu item properties + +| Property | Type | Description | +|---|---|---| +| `label` | `string` | Required. The item's visible label. | +| `icon` | `string` | Optional icon name. | +| `action` | `array` | A `BaseAction` descriptor (see above). Omit for link-type items. | +| `url` | `string` | Makes the item a link instead of a button. | +| `feedback` | `array` | Loading/success/error feedback config (see below). | +| `disabled` | `bool` | Disables the item. | +| `destructive` | `bool` | Styles item as destructive (danger color). Auto-set for items from `destructiveActionMenuItems()`. | +| `variant` | `string` | Color variant: `'danger'`, `'success'`, etc. | +| `confirm` | `string` | Confirmation prompt shown before the action fires. Can also be set directly on the action descriptor. | + +### Feedback config + +```php +'feedback' => [ + 'loading' => ['message' => 'Saving...'], // shown while action is in-flight + 'success' => ['message' => 'Saved!', 'display' => 'inline'], + 'error' => ['message' => 'Save failed', 'display' => 'toast'], +], +``` + +**`display` options:** + +- `'inline'` — feedback message replaces the item label in place; item resets after `feedbackDuration` (default 1000ms) +- `'toast'` — delegates to the global toast notification system; item resets immediately + +> **Note:** Loading state only shows for `http` actions. Other primitives are synchronous and skip straight to success/error. + +--- + +## For Plugin Authors + +### Listening to the `DefineActionMenuItems` event + +Plugins can append items to any element's action menu without subclassing the element: + +```php +use CraftCms\Cms\Element\Events\DefineActionMenuItems; +use CraftCms\Cms\Entry\Entry; +use Illuminate\Support\Facades\Event; + +Event::listen(DefineActionMenuItems::class, function (DefineActionMenuItems $event) { + if (!$event->element instanceof Entry) { + return; + } + + $event->items[] = [ + 'icon' => 'arrow-up-right-from-square', + 'label' => 'Open in My Plugin', + 'action' => [ + 'type' => 'event', + 'name' => 'my-plugin:open-editor', + 'detail' => ['elementId' => $event->element->id], + ], + 'feedback' => [ + 'success' => ['message' => 'Opened', 'display' => 'inline'], + ], + ]; +}); +``` + +### Using `event` as the JS escape hatch + +The `event` primitive is the intended extension point for plugins that need real client-side behavior. Ship a `window.addEventListener` listener in your plugin's asset bundle and fire it from the descriptor. + +**PHP (descriptor):** + +```php +'action' => [ + 'type' => 'event', + 'name' => 'my-plugin:open-editor', + 'detail' => ['elementId' => $this->id], +], +``` + +**JavaScript (your plugin's asset bundle):** + +```javascript +window.addEventListener('my-plugin:open-editor', (e) => { + MyPlugin.openEditor(e.detail.elementId); +}); +``` + +There is no client-side action registry. Adding a new primitive type requires a change to Craft core — the `event` primitive covers all plugin-specific JS needs. + +--- + +## Using `craft-action-item` directly + +If you're rendering a menu item manually in a Vue or Inertia page, pass `action` and `feedback` as element properties: + +```html + + Copy handle + +``` + +The `feedbackDuration` attribute (milliseconds, default `1000`) controls how long success/error states show before the item resets to idle. + +--- + +## Key constraints + +- **The primitive set is closed.** There are five action types. New primitives require a Craft core change. +- **One action per item.** Each menu item fires a single primitive. +- **`http` actions default to `POST`** if `method` is omitted. +- **Destructive items are grouped at the bottom** of the menu automatically, separated by a divider. +- **`confirm` can go on the item or on the action.** If set on the action descriptor, the confirm prompt runs just before the primitive executes. If set on the item, it runs before loading state begins. diff --git a/packages/craftcms-cp/scripts/build.js b/packages/craftcms-cp/scripts/build.js index 51f477e3b72..e3e71d44810 100755 --- a/packages/craftcms-cp/scripts/build.js +++ b/packages/craftcms-cp/scripts/build.js @@ -29,6 +29,7 @@ async function generateBundle(config = {}) { target: 'es2020', entry: { cp: './src/index.ts', + actions: './src/actions/index.ts', ...(await resolveFrom( './src/components/**/!(*.(stories|styles|test)).ts' )), diff --git a/packages/craftcms-cp/src/actions/index.ts b/packages/craftcms-cp/src/actions/index.ts new file mode 100644 index 00000000000..7f5a8fd29aa --- /dev/null +++ b/packages/craftcms-cp/src/actions/index.ts @@ -0,0 +1,108 @@ +import type {VariantKey} from '@src/types'; + +export type BaseAction = + | {type: 'clipboard'; value: string} + | { + type: 'http'; + method?: 'GET' | 'POST' | 'PATCH' | 'DELETE'; + url: string; + body?: Record; + confirm?: string; + } + | { + type: 'event'; + name: string; + detail?: Record; + confirm?: string; + } + | {type: 'download'; url: string; filename?: string}; + +export type FeedbackData = { + message?: string; + // @TODO + // display?: 'inline' | 'toast'; +}; + +export type ActionFeedback = { + loading?: FeedbackData; + success?: FeedbackData; + error?: FeedbackData; +}; + +export interface BaseActionItem { + type?: 'button' | 'link' | 'hr'; + icon?: string; + label: string; +} + +export interface ActionItemLink { + type: 'link'; + href: string; + disabled?: boolean; +} + +export interface ActionItemHr { + type: 'hr'; +} + +export interface ActionItemButton extends BaseActionItem { + type?: 'button'; + action: BaseAction; + feedback?: ActionFeedback; // same feedback shape as before + disabled?: boolean; + variant?: VariantKey | string; +} + +export type ActionItem = ActionItemButton | ActionItemHr | ActionItemLink; + +export async function runAction(action: BaseAction): Promise { + switch (action.type) { + case 'clipboard': + await navigator.clipboard.writeText(action.value); + break; + + case 'http': + if (action.confirm) { + if (!confirm(action.confirm)) { + return; + } + } + + const response = await fetch(action.url, { + method: action.method || 'POST', + headers: {'Content-Type': 'application/json'}, + body: action.body ? JSON.stringify(action.body) : undefined, + }); + + if (!response.ok) { + const data = await response.json().catch(() => ({})); + throw new Error(data.message ?? 'Request failed'); + } + + break; + + case 'event': + if (action.confirm) { + if (!confirm(action.confirm)) { + return; + } + } + + window.dispatchEvent( + new CustomEvent(action.name, {detail: action.detail ?? {}}) + ); + break; + + case 'download': + const a = document.createElement('a'); + a.href = action.url; + a.download = action.filename ?? ''; + a.click(); + break; + + default: { + const unhandled: never = action; + throw new Error(`Unknown action type: ${(unhandled as BaseAction).type}`); + } + } +} diff --git a/packages/craftcms-cp/src/components/action-item/action-item.ts b/packages/craftcms-cp/src/components/action-item/action-item.ts index 91d6145c98e..fe398820d9d 100644 --- a/packages/craftcms-cp/src/components/action-item/action-item.ts +++ b/packages/craftcms-cp/src/components/action-item/action-item.ts @@ -1,11 +1,12 @@ import {html, LitElement, nothing} from 'lit'; -import {property} from 'lit/decorators.js'; +import {property, state} from 'lit/decorators.js'; import styles from './action-item.styles.js'; -import {Variant, type VariantKey} from '@src/types'; +import {type AsyncState, AsyncStates, Variant, type VariantKey,} from '@src/types'; import variantsStyles from '@src/styles/variants.styles'; import {classMap} from 'lit/directives/class-map.js'; import '../shortcut/shortcut.js'; +import {type ActionFeedback, type BaseAction, type FeedbackData, runAction,} from '@src/actions'; /** * @summary Either a link or button typically used in a menu. @@ -18,7 +19,14 @@ export default class CraftActionItem extends LitElement { @property({reflect: true}) variant: VariantKey = Variant.Default; @property({type: Boolean}) checked: boolean = false; @property({type: Boolean}) active: boolean = false; - @property() type: 'normal' | 'checkbox' = 'normal'; + @property() type: 'button' | 'checkbox' = 'button'; + @property({type: Object}) action: BaseAction | null = null; + @property({type: Object}) feedback: ActionFeedback | null = null; + @property({type: Number}) feedbackDuration: number = 1000; + @property() confirm: string | null = null; + + @state() private state: AsyncState = AsyncStates.Idle; + @state() private feedbackMessage: string | null = null; @property({ converter: { @@ -63,31 +71,111 @@ export default class CraftActionItem extends LitElement { return nothing; } - renderBody() { + override connectedCallback() { + super.connectedCallback(); + this.addEventListener('click', this); + } + + override disconnectedCallback() { + super.disconnectedCallback(); + this.removeEventListener('click', this); + } + + setState(state: AsyncState, detail: FeedbackData = {}) { + this.state = state; + this.feedbackMessage = detail.message ?? null; + + this.dispatchEvent( + new CustomEvent('action:change-state', { + bubbles: true, + composed: true, + detail: { + state, + actionType: this.action?.type, + ...detail, + }, + }) + ); + } + + async handleEvent(event: Event) { + if (this.disabled) { + event.preventDefault(); + return; + } + + if (event.type === 'click' && this.action) { + // Only show loading spinner for http requests + if (this.action.type === 'http') { + this.setState(AsyncStates.Loading); + } + + try { + await runAction(this.action); + this.setState(AsyncStates.Success, this.feedback?.success); + } catch (error: any) { + this.setState(AsyncStates.Error, { + message: error.message, + ...(this.feedback?.error || {}), + }); + } finally { + setTimeout(() => { + this.setState(AsyncStates.Idle); + }, this.feedbackDuration); + } + } + } + + renderCheckbox() { + return html` + + ${this.checked ? html`` : nothing} + + `; + } + + renderIcon() { + switch (this.state) { + case AsyncStates.Loading: + return html``; + case AsyncStates.Success: + return html``; + case AsyncStates.Error: + return html``; + default: + return html` + + ${this.icon + ? html`` + : nothing} + + `; + } + } + + renderPrefix() { const hasIcon = !!this.querySelector('[slot="icon"]') || !!this.icon; return html` - ${this.type === 'checkbox' - ? html` - - ${this.checked - ? html`` - : nothing} - - ` - : nothing} + ${this.type === 'checkbox' ? this.renderCheckbox() : nothing} ${hasIcon - ? html` - - ${this.icon - ? html`` - : nothing} - - ` + ? html`
${this.renderIcon()}
` : nothing} + `; + } + + renderBody() { + return html` + ${this.renderPrefix()} - + ${this.feedbackMessage ? this.feedbackMessage : html``} diff --git a/packages/craftcms-cp/src/components/button/button.styles.ts b/packages/craftcms-cp/src/components/button/button.styles.ts index 52ec9d5c69c..51cd28f0f8f 100644 --- a/packages/craftcms-cp/src/components/button/button.styles.ts +++ b/packages/craftcms-cp/src/components/button/button.styles.ts @@ -112,6 +112,44 @@ export default css` /* Appearances */ + :host([appearance~='inline']) { + display: inline; + appearance: none; + background-color: transparent; + border-color: currentColor; + color: inherit; + font: inherit; + padding: 0; + min-height: auto; + min-width: auto; + + &::before { + /* remove the sizer added by lion */ + display: none; + } + + .button-content { + padding: 0; + } + } + + :host([appearance='inline']:not(:disabled):not(.loading):hover) { + background-color: color-mix( + in oklab, + var(--c-color-fill-quiet, var(--c-button-default-fill)), + var(--c-color-mix-hover) + ); + color: var(--c-color-on-quiet); + } + + :host([appearance='inline']:not(:disabled):not(.loading):active) { + color: var(--c-color-on-quiet, var(--c-color-neutral-on-quiet)); + background-color: color-mix( + in oklab, + var(--c-color-fill-quiet, var(--c-color-neutral-fill-quiet)), + var(--c-color-mix-active) + ); + } /* Plain */ :host([appearance~='plain']) { @@ -120,7 +158,7 @@ export default css` color: inherit; } - :host([appearance~='plain']:hover) { + :host([appearance='plain']:not(:disabled):not(.loading):hover) { background-color: color-mix( in oklab, var(--c-color-fill-quiet, var(--c-button-default-fill)), @@ -129,7 +167,7 @@ export default css` color: var(--c-color-on-quiet); } - :host([appearance~='plain']:active) { + :host([appearance='plain']:not(:disabled):not(.loading):active) { color: var(--c-color-on-quiet, var(--c-color-neutral-on-quiet)); background-color: color-mix( in oklab, @@ -148,7 +186,7 @@ export default css` color: var(--c-color-on-normal, var(--c-color-neutral-on-normal)); } - :host([appearance~='filled']:hover) { + :host([appearance='filled']:not(:disabled):not(.loading):hover) { background-color: color-mix( in oklab, var(--c-color-fill-normal, var(--c-color-neutral-fill-normal)), @@ -157,7 +195,7 @@ export default css` color: var(--c-color-on-normal, var(--c-color-neutral-on-normal)); } - :host([appearance~='filled']:active) { + :host([appearance='filled']:not(:disabled):not(.loading):active) { color: var(--c-color-on-quiet, var(--c-color-neutral-on-quiet)); background-color: color-mix( in oklab, @@ -174,7 +212,7 @@ export default css` color: var(--c-color-on-quiet); } - :host([appearance~='dashed']:hover) { + :host([appearance='dashed']:not(:disabled):not(.loading):hover) { background-color: color-mix( in oklab, var(--c-color-fill-quiet, var(--c-button-default-fill)), @@ -183,7 +221,7 @@ export default css` color: var(--c-color-on-quiet); } - :host([appearance~='dashed']:active) { + :host([appearance='dashed']:not(:disabled):not(.loading):active) { color: var(--c-color-on-quiet, var(--c-color-neutral-on-quiet)); background-color: color-mix( in oklab, diff --git a/packages/craftcms-cp/src/components/button/button.ts b/packages/craftcms-cp/src/components/button/button.ts index aef386b6dc8..53742ff6d9b 100644 --- a/packages/craftcms-cp/src/components/button/button.ts +++ b/packages/craftcms-cp/src/components/button/button.ts @@ -52,6 +52,7 @@ export default class CraftButton extends LionButtonSubmit { /** Visual appearance of the button */ @property({reflect: true}) appearance: | 'accent' + | 'inline' | 'plain' | 'filled' | 'dashed' = 'accent'; diff --git a/packages/craftcms-cp/src/index.ts b/packages/craftcms-cp/src/index.ts index 36bc79c1bae..017eb688025 100644 --- a/packages/craftcms-cp/src/index.ts +++ b/packages/craftcms-cp/src/index.ts @@ -1,6 +1,12 @@ import '@github/relative-time-element'; import {configureIcons} from './utilities/icons'; +// Types +import './types/globals.js'; +import './types/events.js'; +import './types/index.js'; +import './types/queue.js'; + export {default as CraftDisclosure} from './components/disclosure/disclosure.js'; export {default as CraftSpinner} from './components/spinner/spinner.js'; export {default as CraftTooltip} from './components/tooltip/tooltip.js'; @@ -75,7 +81,4 @@ export type { } from './services/AssetIndexer.js'; export {IndexingActions} from './services/AssetIndexer.js'; -// Types -export * from './types/index.js'; - configureIcons(); diff --git a/packages/craftcms-cp/src/styles/cp.css b/packages/craftcms-cp/src/styles/cp.css index b2c1e4db45b..715500bf73a 100644 --- a/packages/craftcms-cp/src/styles/cp.css +++ b/packages/craftcms-cp/src/styles/cp.css @@ -15,7 +15,10 @@ } .skip-link { - /* Copied from tailwind's sr-only class */ + /* Based on tailwind's sr-only class */ + --x-position: 0; + --y-position: 0; + display: inline-block; position: absolute; width: 1px; height: 1px; @@ -23,7 +26,15 @@ overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; - border-width: 0; + background-color: var(--c-bg-body); + text-decoration: none; + padding-block: var(--c-spacing-md); + padding-inline: var(--c-spacing-lg); + outline: none; + border: 1px dashed var(--c-form-control-border); + color: var(--c-fg-text); + font-weight: var(--font-weight-medium); + border-radius: var(--c-radius-md); &:focus { width: auto; @@ -31,10 +42,16 @@ overflow: visible; clip: auto; white-space: normal; - inset-inline-start: 0; + inset-inline-start: var(--x-position); + inset-block-start: var(--y-position); } } +.skip-link--global { + --x-position: calc(10rem / 16); + --y-position: calc(5rem / 16); +} + .error-list { color: var(--c-color-danger-on-normal); list-style: none; diff --git a/packages/craftcms-cp/src/types/events.ts b/packages/craftcms-cp/src/types/events.ts new file mode 100644 index 00000000000..0c2d223e113 --- /dev/null +++ b/packages/craftcms-cp/src/types/events.ts @@ -0,0 +1,19 @@ +import type {AsyncState} from '@src/types/index'; +import type {FeedbackData} from '@src/actions'; + +interface ActionPluginRemoveDetails { + packageName: string; +} + +interface ActionStateChangeDetails extends FeedbackData { + state: AsyncState; +} + +declare global { + interface WindowEventMap { + 'action:remove-plugin': CustomEvent; + 'action:state-change': CustomEvent; + } +} + +export {}; diff --git a/packages/craftcms-cp/src/types/globals.d.ts b/packages/craftcms-cp/src/types/globals.ts similarity index 98% rename from packages/craftcms-cp/src/types/globals.d.ts rename to packages/craftcms-cp/src/types/globals.ts index 5ea844c63a2..f6c8a51ed29 100644 --- a/packages/craftcms-cp/src/types/globals.d.ts +++ b/packages/craftcms-cp/src/types/globals.ts @@ -41,3 +41,5 @@ export interface CpServices { $queue: QueueService; $config: ConfigService; } + +export {}; diff --git a/packages/craftcms-cp/src/types/index.ts b/packages/craftcms-cp/src/types/index.ts index 56a0e5ab4d5..4f0b49b5331 100644 --- a/packages/craftcms-cp/src/types/index.ts +++ b/packages/craftcms-cp/src/types/index.ts @@ -24,4 +24,13 @@ export interface DateObject { timezone: string; } +export const AsyncStates = { + Idle: 'idle', + Loading: 'loading', + Success: 'success', + Error: 'error', +} as const; + +export type AsyncState = (typeof AsyncStates)[keyof typeof AsyncStates]; + export * from './queue.js'; diff --git a/packages/craftcms-cp/tsconfig.json b/packages/craftcms-cp/tsconfig.json index dd79d2798d1..2381ef040c1 100644 --- a/packages/craftcms-cp/tsconfig.json +++ b/packages/craftcms-cp/tsconfig.json @@ -5,7 +5,7 @@ "strictPropertyInitialization": false, "outDir": "./dist", "rootDir": ".", - "types": ["vite/client"], + "types": ["vite/client", "jquery"], "paths": { "@src/*": ["./src/*"] } diff --git a/packages/craftcms-legacy/cp/src/css/_compat.scss b/packages/craftcms-legacy/cp/src/css/_compat.scss index c35d37009b3..1c6e49acb8a 100644 --- a/packages/craftcms-legacy/cp/src/css/_compat.scss +++ b/packages/craftcms-legacy/cp/src/css/_compat.scss @@ -608,7 +608,6 @@ --page-title-columns: var(--CHANGE); --row-gap: var(--c-spacing-md); --separator-width: 1px; - --size: var(--CHANGE); --size-main-content: var(--CHANGE); --source-item-toggle-size: var(--c-size-touch-target); --spacing: var(--c-spacing); diff --git a/resources/build/AdminTable.js b/resources/build/AdminTable.js index afbc4e8d20d..ad2a47998f4 100644 --- a/resources/build/AdminTable.js +++ b/resources/build/AdminTable.js @@ -1,8 +1,8 @@ -import{d as e}from"./Queue-C-Z7zpYZ.js";import{B as t,C as n,D as r,F as i,G as a,H as o,I as s,J as c,K as l,M as u,N as d,O as f,P as p,Q as m,R as h,T as g,V as _,X as v,Y as y,Z as ee,_ as b,b as x,ct as S,et as te,f as ne,it as re,j as ie,m as C,nt as ae,q as w,rt as T,t as E,v as D,w as O,x as k,y as A,z as j}from"./_plugin-vue_export-helper.js";import{s as M}from"./nav-item-DtQ6Tc_l.js";import"./useAnnouncer.js";function oe(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function N(e,t){return typeof e==`function`?e(t):e}function P(e,t){return n=>{t.setState(t=>({...t,[e]:N(n,t[e])}))}}function F(e){return e instanceof Function}function se(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function ce(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function I(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.lengthtypeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function M(e,t){return typeof e==`function`?e(t):e}function N(e,t){return n=>{t.setState(t=>({...t,[e]:M(n,t[e])}))}}function P(e){return e instanceof Function}function ce(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function le(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function F(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.lengthe?.debugAll??e[t],key:!1,onChange:r}}function le(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:I(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),L(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function ue(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:I(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],L(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:I(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},L(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var R=`debugHeaders`;function de(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var fe={createTable:e=>{e.getHeaderGroups=I(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return pe(t,[...a,...s,...o],e)},L(e.options,R,`getHeaderGroups`)),e.getCenterHeaderGroups=I(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),pe(t,n,e,`center`)),L(e.options,R,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=I(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>pe(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),L(e.options,R,`getLeftHeaderGroups`)),e.getRightHeaderGroups=I(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>pe(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),L(e.options,R,`getRightHeaderGroups`)),e.getFooterGroups=I(()=>[e.getHeaderGroups()],e=>[...e].reverse(),L(e.options,R,`getFooterGroups`)),e.getLeftFooterGroups=I(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),L(e.options,R,`getLeftFooterGroups`)),e.getCenterFooterGroups=I(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),L(e.options,R,`getCenterFooterGroups`)),e.getRightFooterGroups=I(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),L(e.options,R,`getRightFooterGroups`)),e.getFlatHeaders=I(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),L(e.options,R,`getFlatHeaders`)),e.getLeftFlatHeaders=I(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),L(e.options,R,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=I(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),L(e.options,R,`getCenterFlatHeaders`)),e.getRightFlatHeaders=I(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),L(e.options,R,`getRightFlatHeaders`)),e.getCenterLeafHeaders=I(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),L(e.options,R,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=I(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),L(e.options,R,`getLeftLeafHeaders`)),e.getRightLeafHeaders=I(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),L(e.options,R,`getRightLeafHeaders`)),e.getLeafHeaders=I(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),L(e.options,R,`getLeafHeaders`))}};function pe(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=de(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>de(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var me=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>ce(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:I(()=>[e.getAllLeafColumns()],t=>t.map(t=>le(e,s,t,t.id)),L(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:I(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),L(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},ge=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};ge.autoRemove=e=>B(e);var _e=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};_e.autoRemove=e=>B(e);var ve=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};ve.autoRemove=e=>B(e);var ye=(e,t,n)=>e.getValue(t)?.includes(n);ye.autoRemove=e=>B(e);var be=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});be.autoRemove=e=>B(e)||!(e!=null&&e.length);var xe=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));xe.autoRemove=e=>B(e)||!(e!=null&&e.length);var Se=(e,t,n)=>e.getValue(t)===n;Se.autoRemove=e=>B(e);var Ce=(e,t,n)=>e.getValue(t)==n;Ce.autoRemove=e=>B(e);var we=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};we.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},we.autoRemove=e=>B(e)||B(e[0])&&B(e[1]);var z={includesString:ge,includesStringSensitive:_e,equalsString:ve,arrIncludes:ye,arrIncludesAll:be,arrIncludesSome:xe,equals:Se,weakEquals:Ce,inNumberRange:we};function B(e){return e==null||e===``}var Te={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:P(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?z.includesString:typeof n==`number`?z.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?z.equals:Array.isArray(n)?z.arrIncludes:z.weakEquals},e.getFilterFn=()=>F(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??z[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=N(n,i?i.value:void 0);if(Ee(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>N(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Ee(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Ee(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var De={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!se(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Oe={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:P(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return De.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return De.extent},e.getAggregationFn=()=>{if(!e)throw Error();return F(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??De[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function ke(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Ae={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:P(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=I(e=>[U(t,e)],t=>t.findIndex(t=>t.id===e.id),L(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>U(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=U(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=I(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return ke(i,t,n)},L(e.options,`debugTable`,`_getOrderColumnsFn`))}},je=()=>({left:[],right:[]}),Me={getInitialState:e=>({columnPinning:je(),...e}),getDefaultOptions:e=>({onColumnPinningChange:P(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=I(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},L(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=I(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),L(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=I(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),L(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?je():e.initialState?.columnPinning??je()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=I(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),L(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=I(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),L(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=I(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},L(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Ne(e){return e||(typeof document<`u`?document:null)}var V={size:150,minSize:20,maxSize:2**53-1},Pe=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Fe={getDefaultColumnDef:()=>V,getInitialState:e=>({columnSizing:{},columnSizingInfo:Pe(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:P(`columnSizing`,e),onColumnSizingInfoChange:P(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??V.minSize,n??e.columnDef.size??V.size),e.columnDef.maxSize??V.maxSize)},e.getStart=I(e=>[e,U(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),L(t.options,`debugColumns`,`getStart`)),e.getAfter=I(e=>[e,U(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),L(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),Le(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=Le(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Ne(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Ie()?{passive:!1}:!1;Le(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?Pe():e.initialState.columnSizingInfo??Pe())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},H=null;function Ie(){if(typeof H==`boolean`)return H;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return H=e,H}function Le(e){return e.type===`touchstart`}var Re={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:P(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=I(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),L(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=I(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],L(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>I(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),L(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function U(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var ze={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Be={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:P(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>z.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return F(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??z[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Ve={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:P(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},He=0,Ue=10,We=()=>({pageIndex:He,pageSize:Ue}),Ge={getInitialState:e=>({...e,pagination:{...We(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:P(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>N(t,e)),e.resetPagination=t=>{e.setPagination(t?We():e.initialState.pagination??We())},e.setPageIndex=t=>{e.setPagination(n=>{let r=N(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?He:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??He)},e.resetPageSize=t=>{var n;e.setPageSize(t?Ue:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??Ue)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,N(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=N(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=I(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},L(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},Ke=()=>({top:[],bottom:[]}),qe={getInitialState:e=>({rowPinning:Ke(),...e}),getDefaultOptions:e=>({onRowPinningChange:P(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?Ke():e.initialState?.rowPinning??Ke()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=I(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),L(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=I(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),L(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=I(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},L(e.options,`debugRows`,`getCenterRows`))}},Je={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:P(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{Ye(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=I(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},L(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=I(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},L(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=I(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},L(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return Ye(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Ze(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Qe(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Qe(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},Ye=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>Ye(e,t.id,n,r,i))};function Xe(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Ze(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Ze(e,t){return t[e.id]??!1}function Qe(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(Ze(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Qe(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var $e=/([0-9]+)/gm,et=(e,t,n)=>st(W(e.getValue(n)).toLowerCase(),W(t.getValue(n)).toLowerCase()),tt=(e,t,n)=>st(W(e.getValue(n)),W(t.getValue(n))),nt=(e,t,n)=>ot(W(e.getValue(n)).toLowerCase(),W(t.getValue(n)).toLowerCase()),rt=(e,t,n)=>ot(W(e.getValue(n)),W(t.getValue(n))),it=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:rot(e.getValue(n),t.getValue(n));function ot(e,t){return e===t?0:e>t?1:-1}function W(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function st(e,t){let n=e.split($e).filter(Boolean),r=t.split($e).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var G={alphanumeric:et,alphanumericCaseSensitive:tt,text:nt,textCaseSensitive:rt,datetime:it,basic:at},ct=[fe,Re,Ae,Me,he,Te,ze,Be,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:P(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return G.datetime;if(typeof n==`string`&&(r=!0,n.split($e).length>1))return G.alphanumeric}return r?G.text:G.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return F(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??G[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Oe,Ve,Ge,qe,Je,Fe];function lt(e){let t=[...ct,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(N(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:I(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),L(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:I(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=ue(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},L(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:I(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),L(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:I(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),L(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:I(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),L(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;eI(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;ce._autoResetPageIndex()))}function dt(){return!0}var ft=Symbol(`merge-proxy`),pt={get(e,t,n){return t===ft?n:e.get(t)},has(e,t){return e.has(t)},set:dt,deleteProperty:dt,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:dt,deleteProperty:dt}},ownKeys(e){return e.keys()}};function mt(e){return`value`in e?e.value:e}function K(){var e=[...arguments];return new Proxy({get(t){for(let n=e.length-1;n>=0;n--){let r=mt(e[n])[t];if(r!==void 0)return r}},has(t){for(let n=e.length-1;n>=0;n--)if(t in mt(e[n]))return!0;return!1},keys(){let t=[];for(let n=0;n()=>typeof e.render==`function`||typeof e.render==`object`?f(e.render,e.props):e.render});function gt(e){return K(e,{data:S(e.data)})}function _t(e){let t=te(e.data),n=lt(K({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(e,n){return t?{...e,...n}:K(e,n)}},t?gt(e):e));if(t){let t=re(e.data);a(t,()=>{n.setState(e=>({...e,data:t.value}))},{immediate:!0})}let r=T(n.initialState);return l(()=>{n.setOptions(n=>{let i=new Proxy({},{get:(e,t)=>r.value[t]});return K(n,t?gt(e):e,{state:K(i,e.state??{}),onStateChange:t=>{t instanceof Function?r.value=t(r.value):r.value=t,e.onStateChange==null||e.onStateChange(t)}})})}),n}function vt(e){if(Array.isArray(e))return e}function yt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function bt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne?.debugAll??e[t],key:!1,onChange:r}}function ue(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:F(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),I(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function de(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:F(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],I(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:F(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},I(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var L=`debugHeaders`;function fe(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var pe={createTable:e=>{e.getHeaderGroups=F(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return R(t,[...a,...s,...o],e)},I(e.options,L,`getHeaderGroups`)),e.getCenterHeaderGroups=F(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),R(t,n,e,`center`)),I(e.options,L,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=F(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>R(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),I(e.options,L,`getLeftHeaderGroups`)),e.getRightHeaderGroups=F(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>R(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),I(e.options,L,`getRightHeaderGroups`)),e.getFooterGroups=F(()=>[e.getHeaderGroups()],e=>[...e].reverse(),I(e.options,L,`getFooterGroups`)),e.getLeftFooterGroups=F(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),I(e.options,L,`getLeftFooterGroups`)),e.getCenterFooterGroups=F(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),I(e.options,L,`getCenterFooterGroups`)),e.getRightFooterGroups=F(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),I(e.options,L,`getRightFooterGroups`)),e.getFlatHeaders=F(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),I(e.options,L,`getFlatHeaders`)),e.getLeftFlatHeaders=F(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),I(e.options,L,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=F(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),I(e.options,L,`getCenterFlatHeaders`)),e.getRightFlatHeaders=F(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),I(e.options,L,`getRightFlatHeaders`)),e.getCenterLeafHeaders=F(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),I(e.options,L,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=F(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),I(e.options,L,`getLeftLeafHeaders`)),e.getRightLeafHeaders=F(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),I(e.options,L,`getRightLeafHeaders`)),e.getLeafHeaders=F(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),I(e.options,L,`getLeafHeaders`))}};function R(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=fe(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>fe(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var me=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>le(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:F(()=>[e.getAllLeafColumns()],t=>t.map(t=>ue(e,s,t,t.id)),I(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:F(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),I(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},ge=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};ge.autoRemove=e=>B(e);var _e=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};_e.autoRemove=e=>B(e);var ve=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};ve.autoRemove=e=>B(e);var ye=(e,t,n)=>e.getValue(t)?.includes(n);ye.autoRemove=e=>B(e);var be=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});be.autoRemove=e=>B(e)||!(e!=null&&e.length);var xe=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));xe.autoRemove=e=>B(e)||!(e!=null&&e.length);var Se=(e,t,n)=>e.getValue(t)===n;Se.autoRemove=e=>B(e);var Ce=(e,t,n)=>e.getValue(t)==n;Ce.autoRemove=e=>B(e);var we=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};we.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},we.autoRemove=e=>B(e)||B(e[0])&&B(e[1]);var z={includesString:ge,includesStringSensitive:_e,equalsString:ve,arrIncludes:ye,arrIncludesAll:be,arrIncludesSome:xe,equals:Se,weakEquals:Ce,inNumberRange:we};function B(e){return e==null||e===``}var Te={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:N(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?z.includesString:typeof n==`number`?z.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?z.equals:Array.isArray(n)?z.arrIncludes:z.weakEquals},e.getFilterFn=()=>P(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??z[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=M(n,i?i.value:void 0);if(Ee(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>M(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Ee(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Ee(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var De={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!ce(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Oe={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:N(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return De.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return De.extent},e.getAggregationFn=()=>{if(!e)throw Error();return P(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??De[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function ke(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Ae={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:N(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=F(e=>[U(t,e)],t=>t.findIndex(t=>t.id===e.id),I(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>U(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=U(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=F(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return ke(i,t,n)},I(e.options,`debugTable`,`_getOrderColumnsFn`))}},je=()=>({left:[],right:[]}),Me={getInitialState:e=>({columnPinning:je(),...e}),getDefaultOptions:e=>({onColumnPinningChange:N(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=F(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},I(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=F(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),I(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=F(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),I(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?je():e.initialState?.columnPinning??je()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=F(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),I(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=F(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),I(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=F(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},I(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Ne(e){return e||(typeof document<`u`?document:null)}var V={size:150,minSize:20,maxSize:2**53-1},Pe=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Fe={getDefaultColumnDef:()=>V,getInitialState:e=>({columnSizing:{},columnSizingInfo:Pe(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:N(`columnSizing`,e),onColumnSizingInfoChange:N(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??V.minSize,n??e.columnDef.size??V.size),e.columnDef.maxSize??V.maxSize)},e.getStart=F(e=>[e,U(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),I(t.options,`debugColumns`,`getStart`)),e.getAfter=F(e=>[e,U(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),I(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),Le(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=Le(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Ne(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Ie()?{passive:!1}:!1;Le(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?Pe():e.initialState.columnSizingInfo??Pe())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},H=null;function Ie(){if(typeof H==`boolean`)return H;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return H=e,H}function Le(e){return e.type===`touchstart`}var Re={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:N(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=F(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),I(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=F(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],I(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>F(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),I(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function U(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var ze={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Be={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:N(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>z.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return P(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??z[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Ve={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:N(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},He=0,Ue=10,We=()=>({pageIndex:He,pageSize:Ue}),Ge={getInitialState:e=>({...e,pagination:{...We(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:N(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>M(t,e)),e.resetPagination=t=>{e.setPagination(t?We():e.initialState.pagination??We())},e.setPageIndex=t=>{e.setPagination(n=>{let r=M(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?He:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??He)},e.resetPageSize=t=>{var n;e.setPageSize(t?Ue:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??Ue)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,M(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=M(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=F(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},I(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},Ke=()=>({top:[],bottom:[]}),qe={getInitialState:e=>({rowPinning:Ke(),...e}),getDefaultOptions:e=>({onRowPinningChange:N(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?Ke():e.initialState?.rowPinning??Ke()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=F(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),I(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=F(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),I(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=F(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},I(e.options,`debugRows`,`getCenterRows`))}},Je={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:N(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{Ye(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=F(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},I(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=F(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},I(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=F(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Xe(e,n):{rows:[],flatRows:[],rowsById:{}},I(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return Ye(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Ze(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Qe(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Qe(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},Ye=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>Ye(e,t.id,n,r,i))};function Xe(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Ze(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Ze(e,t){return t[e.id]??!1}function Qe(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(Ze(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Qe(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var $e=/([0-9]+)/gm,et=(e,t,n)=>st(W(e.getValue(n)).toLowerCase(),W(t.getValue(n)).toLowerCase()),tt=(e,t,n)=>st(W(e.getValue(n)),W(t.getValue(n))),nt=(e,t,n)=>ot(W(e.getValue(n)).toLowerCase(),W(t.getValue(n)).toLowerCase()),rt=(e,t,n)=>ot(W(e.getValue(n)),W(t.getValue(n))),it=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:rot(e.getValue(n),t.getValue(n));function ot(e,t){return e===t?0:e>t?1:-1}function W(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function st(e,t){let n=e.split($e).filter(Boolean),r=t.split($e).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var G={alphanumeric:et,alphanumericCaseSensitive:tt,text:nt,textCaseSensitive:rt,datetime:it,basic:at},ct=[pe,Re,Ae,Me,he,Te,ze,Be,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:N(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return G.datetime;if(typeof n==`string`&&(r=!0,n.split($e).length>1))return G.alphanumeric}return r?G.text:G.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return P(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??G[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Oe,Ve,Ge,qe,Je,Fe];function lt(e){let t=[...ct,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(M(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:F(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),I(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:F(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=de(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},I(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:F(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),I(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:F(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),I(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:F(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),I(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;eF(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;ce._autoResetPageIndex()))}function dt(){return!0}var ft=Symbol(`merge-proxy`),pt={get(e,t,n){return t===ft?n:e.get(t)},has(e,t){return e.has(t)},set:dt,deleteProperty:dt,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:dt,deleteProperty:dt}},ownKeys(e){return e.keys()}};function mt(e){return`value`in e?e.value:e}function K(){var e=[...arguments];return new Proxy({get(t){for(let n=e.length-1;n>=0;n--){let r=mt(e[n])[t];if(r!==void 0)return r}},has(t){for(let n=e.length-1;n>=0;n--)if(t in mt(e[n]))return!0;return!1},keys(){let t=[];for(let n=0;n()=>typeof e.render==`function`||typeof e.render==`object`?d(e.render,e.props):e.render});function gt(e){return K(e,{data:w(e.data)})}function _t(e){let t=oe(e.data),n=lt(K({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(e,n){return t?{...e,...n}:K(e,n)}},t?gt(e):e));if(t){let t=te(e.data);c(t,()=>{n.setState(e=>({...e,data:t.value}))},{immediate:!0})}let r=C(n.initialState);return ie(()=>{n.setOptions(n=>{let i=new Proxy({},{get:(e,t)=>r.value[t]});return K(n,t?gt(e):e,{state:K(i,e.state??{}),onStateChange:t=>{t instanceof Function?r.value=t(r.value):r.value=t,e.onStateChange==null||e.onStateChange(t)}})})}),n}function vt(e){if(Array.isArray(e))return e}function yt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function bt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bind=void 0;function t(e,t){var n=t.type,r=t.listener,i=t.options;return e.addEventListener(n,r,i),function(){e.removeEventListener(n,r,i)}}e.bind=t})),Tt=e((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bindAll=e.bind=void 0;var t=wt();Object.defineProperty(e,`bind`,{enumerable:!0,get:function(){return t.bind}});var n=Tt();Object.defineProperty(e,`bindAll`,{enumerable:!0,get:function(){return n.bindAll}})})),Dt=`data-pdnd-honey-pot`;function Ot(e){return e instanceof Element&&e.hasAttribute(`data-pdnd-honey-pot`)}function kt(e){var t=Ct(document.elementsFromPoint(e.x,e.y),2),n=t[0],r=t[1];return n?Ot(n)?r??null:n:null}function q(e){"@babel/helpers - typeof";return q=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},q(e)}function At(e,t){if(q(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(q(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jt(e){var t=At(e,`string`);return q(t)==`symbol`?t:t+``}function J(e,t,n){return(t=jt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mt=2147483647,Y=Et();function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Pt(e){for(var t=1;t=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function Ut(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(Dt,`true`);var r=Bt({client:t});Object.assign(n.style,Pt(Pt({backgroundColor:`transparent`,position:`fixed`,padding:0,margin:0,boxSizing:`border-box`},Vt({clientRect:r})),{},{pointerEvents:`auto`,zIndex:Mt})),document.body.appendChild(n);var i=(0,Y.bind)(window,{type:`pointermove`,listener:function(e){r=Bt({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,Vt({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(i(),Ht({client:t,clientRect:r})){n.remove();return}function a(){o(),n.remove()}var o=(0,Y.bindAll)(window,[{type:`pointerdown`,listener:a},{type:`pointermove`,listener:a},{type:`focusin`,listener:a},{type:`focusout`,listener:a},{type:`dragstart`,listener:a},{type:`dragenter`,listener:a},{type:`dragover`,listener:a}],{capture:!0})}}function Wt(){var e=null;function t(){return e=null,(0,Y.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=Ut({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function Gt(e){if(Array.isArray(e))return bt(e)}function Kt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function qt(){throw TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jt(e){return Gt(e)||Kt(e)||xt(e)||qt()}function Z(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var Yt=Z(function(){return navigator.userAgent.includes(`Firefox`)}),Xt=Z(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)}),Zt={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};function Qt(e){var t=e.dragLeave;return Xt()?t.hasOwnProperty(Zt.isLeavingWindow):!1}(function(){if(typeof window>`u`||!Xt())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,Y.bindAll)(window,[{type:`dragstart`,listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:`drop`,listener:n},{type:`dragend`,listener:n},{type:`dragenter`,listener:function(e){!t.isOverWindow&&t.enterCount===0&&(e[Zt.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[Zt.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function $t(e){return`nodeName`in e}function en(e){return $t(e)&&e.ownerDocument!==document}function tn(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?Xt()?Qt({dragLeave:t}):r==null?!0:Yt()?en(r):r instanceof HTMLIFrameElement:!1}function nn(e){var t=e.onDragEnd;return[{type:`pointermove`,listener:function(){var e=0;return function(){if(e<20){e++;return}t()}}()},{type:`pointerdown`,listener:t}]}function Q(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var rn=function(e){var t=[],n=null,r=function(){t=[...arguments],!n&&(n=requestAnimationFrame(function(){n=null,e.apply(void 0,t)}))};return r.cancel=function(){n&&=(cancelAnimationFrame(n),null)},r}(function(e){return e()}),an=function(){var e=null;function t(t){e={frameId:requestAnimationFrame(function(){e=null,t()}),fn:t}}function n(){e&&=(cancelAnimationFrame(e.frameId),e.fn(),null)}return{schedule:t,flush:n}}();function on(e){var t=e.source,n=e.initial,r=e.dispatchEvent,i={dropTargets:[]};function a(e){r(e),i={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var r=e.nativeSetDragImage,o={current:n,previous:i,initial:n};a({eventName:`onGenerateDragPreview`,payload:{source:t,location:o,nativeSetDragImage:r}}),an.schedule(function(){a({eventName:`onDragStart`,payload:{source:t,location:o}})})},dragUpdate:function(e){var r=e.current;an.flush(),rn.cancel(),a({eventName:`onDropTargetChange`,payload:{source:t,location:{initial:n,previous:i,current:r}}})},drag:function(e){var r=e.current;rn(function(){an.flush(),a({eventName:`onDrag`,payload:{source:t,location:{initial:n,previous:i,current:r}}})})},drop:function(e){var r=e.current,o=e.updatedSourcePayload;an.flush(),rn.cancel(),a({eventName:`onDrop`,payload:{source:o??t,location:{current:r,previous:i,initial:n}}})}}}var sn={isActive:!1};function cn(){return!sn.isActive}function ln(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function un(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var r=0;r0)&&(t.unmount(),hn.delete(e.typeKey))}}function vn(){var e=[...arguments];return function(){e.forEach(function(e){return e()})}}function yn(e,t){var n=t.attribute,r=t.value;return e.setAttribute(n,r),function(){return e.removeAttribute(n)}}function bn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function Sn(e,t){if(e){if(typeof e==`string`)return Cn(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Cn(e,t):void 0}}function Cn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=a.length)return o;for(var s=wn(a),l=wn(o),u=[],d=0;d=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function Dn(e,t){if(e){if(typeof e==`string`)return On(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?On(e,t):void 0}}function On(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);na(r,d,e.getBoundingClientRect()),onGenerateDragPreview({nativeSetDragImage:t,location:n}){let r=e.getBoundingClientRect();Qn({getOffset:Xn({element:e,input:n.current.input}),render({container:t}){let n=e.cloneNode(!0);return n.style.width=`${r.width}px`,n.style.height=`${r.height}px`,t.appendChild(n),()=>n.remove()},nativeSetDragImage:t})},onDragStart(){l(r,{type:`is-dragging`})},onDrop(){l(r,er)}}),Vn({element:e,getIsSticky:()=>!0,canDrop({source:e}){return o(e.data)&&e.data.instanceId===t},getData({input:t}){return Jn(a(r,d,e.getBoundingClientRect()),{element:e,input:t,allowedEdges:i})},onDragEnter({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Yn(t.data);n&&u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDrag({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Yn(t.data);if(!n)return;let i=f(r);i.type===`is-over`&&i.closestEdge===n||u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDragLeave({source:e}){if(o(e.data)){if(e.data.id===r){l(r,{type:`is-dragging-and-left-self`});return}u(r,tr)}},onDrop(){u(r,tr)}}))}function m(){return Hn({canMonitor({source:e}){return o(e.data)&&e.data.instanceId===t},onDrop({location:t,source:n}){let i=t.current.dropTargets[0];if(!i)return;let a=n.data,s=i.data;if(!o(a)||!o(s))return;let c=a.index,l=s.index,u=$n({startIndex:c,closestEdgeOfTarget:Yn(s),indexOfTarget:l,axis:r});u!==c&&e.onReorder(c,u)}})}return{registerItem:p,getDragState:d,getDropState:f,setupMonitor:m}}function rr(e){let t=T(new Map),n=T(new Map),r=T(new Map),o=null,{registerItem:s,getDragState:c,getDropState:l,setupMonitor:u}=nr({onReorder:e.onReorder,axis:`vertical`});function f(e,n){e?t.value.set(n,e):t.value.delete(n)}function m(e,t){e?n.value.set(t,e):n.value.delete(t)}function h(){e.enabled()&&(r.value.forEach(e=>e()),r.value.clear(),e.getRowIds().forEach((e,i)=>{let a=String(e),o=t.value.get(a),c=n.value.get(a);if(o){let e=s(o,c??null,a,i);r.value.set(a,e)}}))}return a(()=>e.getRowIds(),()=>{d(h)},{deep:!0}),p(()=>{o=u(),d(h)}),i(()=>{r.value.forEach(e=>e()),o?.()}),{setRowRef:f,setHandleRef:m,getDragState:c,getDropState:l,refreshRegistrations:h}}var ir={Relaxed:`relaxed`,Compact:`compact`,Spacious:`spacious`},ar=[`aria-describedby`],or=E(g({__name:`ColumnHeaderTitle`,props:{isSortable:{type:Boolean,default:!1},sortInstructionsId:{}},emits:[`sortColumn`],setup(e){return(t,n)=>e.isSortable?(s(),k(`button`,{key:0,type:`button`,onClick:n[0]||=e=>t.$emit(`sortColumn`,e),"aria-describedby":e.sortInstructionsId},[j(t.$slots,`default`,{},void 0,!0)],8,ar)):j(t.$slots,`default`,{key:1},void 0,!0)}}),[[`__scopeId`,`data-v-6ed8c3ba`]]),sr=[`label`],cr={slot:`content`},lr=[`disabled`],ur=[`disabled`],dr=E(g({__name:`ReorderButton`,props:{label:{default:M(`Reorder`)},position:{default:`middle`}},emits:[`click:up`,`click:down`],setup(e,{emit:t}){let n=t;return(t,r)=>(s(),k(`craft-action-menu`,null,[D(`craft-button`,u({slot:`invoker`,type:`button`,icon:``,size:`small`,appearance:`plain`},t.$attrs),[D(`craft-icon`,{name:`custom-icons/grip-dots`,label:e.label},null,8,sr)],16),D(`div`,cr,[D(`craft-action-item`,{icon:`arrow-up`,onClick:r[0]||=e=>n(`click:up`),disabled:e.position===`first`},m(S(M)(`Move up`)),9,lr),D(`craft-action-item`,{icon:`arrow-down`,onClick:r[1]||=e=>n(`click:down`),disabled:e.position===`last`},m(S(M)(`Move down`)),9,ur)])]))}}),[[`__scopeId`,`data-v-49bec635`]]),fr=E(g({__name:`DropIndicator`,props:{edge:{},contained:{type:Boolean},inline:{type:Boolean},visible:{type:Boolean}},setup(e){return(t,n)=>e.edge||e.inline?(s(),k(`div`,{key:0,class:y({"drop-indicator":!0,"drop-indicator--contained":e.contained,"drop-indicator--top":e.edge===`top`,"drop-indicator--bottom":e.edge===`bottom`,"drop-indicator--left":e.edge===`left`,"drop-indicator--right":e.edge===`right`,"drop-indicator--horizontal":!e.edge||[`top`,`bottom`].includes(e.edge),"drop-indicator--vertical":e.edge&&[`left`,`right`].includes(e.edge),"drop-indicator--inline":e.inline,"drop-indicator--active":e.visible})},null,2)):x(``,!0)}}),[[`__scopeId`,`data-v-c2b7126d`]]),pr=[`.modelValue`,`has-feedback-for`],mr={slot:`feedback`},hr={key:0,class:`error-list`},gr=g({name:`CraftSelect`,inheritAttrs:!1,__name:`CraftSelect`,props:ie({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=o(e,`modelValue`);return(n,r)=>(s(),k(`craft-select`,u(n.$attrs,{".modelValue":t.value,onModelValueChanged:r[0]||=e=>t.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[j(n.$slots,`default`),D(`div`,mr,[e.error?(s(),k(`ul`,hr,[D(`li`,null,m(e.error),1)])):x(``,!0)])],48,pr))}}),_r={slot:`input`},vr=[`value`],yr={key:0,class:`error-list`,slot:`feedback`},br=g({__name:`Select`,props:{modelValue:{},options:{},error:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,r=e,i=b(()=>r.options.map(e=>typeof e==`string`||typeof e==`number`?{label:e.toString(),value:e}:e)),a=b({get(){return r.modelValue.toString()},set(e){n(`update:modelValue`,e)}});return(t,n)=>(s(),A(gr,u({modelValue:a.value,"onUpdate:modelValue":n[0]||=e=>a.value=e},t.$attrs),{default:w(()=>[D(`select`,_r,[(s(!0),k(C,null,h(i.value,e=>(s(),k(`option`,{key:e.value,value:e.value},m(e.label),9,vr))),128))]),e.error?(s(),k(`ul`,yr,[D(`li`,null,m(e.error),1)])):x(``,!0)]),_:1},16,[`modelValue`]))}}),xr=g({__name:`Text`,props:{as:{default:`div`},template:{},params:{}},setup(e){let i=e,a=b(()=>M(i.template,i.params));return(i,o)=>(s(),A(t(e.as),v(r(i.$attrs)),{default:w(()=>[n(m(a.value),1)]),_:1},16))}}),Sr={class:`py-20 w-full`},Cr={class:`w-[60ch] mx-auto text-center grid gap-3 justify-items-center text-gray-500`},wr=[`name`],Tr={class:`text-lg`},Er=g({__name:`Empty`,props:{icon:{},label:{}},setup(e){return(t,n)=>(s(),k(`div`,Sr,[D(`div`,Cr,[j(t.$slots,`graphic`,{},()=>[e.icon?(s(),k(`craft-icon`,{key:0,name:e.icon,style:{"font-size":`calc(48rem / 16)`}},null,8,wr)):x(``,!0)]),j(t.$slots,`content`,{},()=>[D(`p`,Tr,m(e.label),1)]),j(t.$slots,`default`)])]))}}),Dr={class:`cp-table-wrapper`},Or={key:0,class:`cp-table-header`},kr={class:`sr-only`},Ar={key:0,class:`cell cell--header`},jr=[`colSpan`,`id`,`aria-sort`],Mr={key:1,name:`arrow-up-arrow-down`},Nr={key:2,name:`arrow-down`},Pr={key:3,name:`arrow-up`},Fr={key:0},Ir={key:0},Lr={key:1,style:{"--table-template-columns":`1fr`,"--_cell-spacing-inline":`0`,"--_cell-spacing-block":`0`}},Rr={key:1,class:`cp-table-footer`},zr={class:`flex gap-1`},Br=[`disabled`],Vr=[`label`],Hr={class:`flex items-center gap-1 mx-2`},Ur=[`label`],Wr=[`disabled`],Gr=[`label`],Kr={class:`flex gap-2 items-center`},qr=E(g({__name:`AdminTable`,props:{table:{},title:{},reorderable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!0},readOnly:{type:Boolean},layout:{default:`auto`},spacing:{},from:{},to:{},total:{},enableAdjustPageSize:{type:Boolean,default:!1},pageSizeOptions:{default:()=>[50,100,250]}},emits:[`reorder`],setup(e,{emit:r}){let i=e,a=r,{setRowRef:o,setHandleRef:l,getDragState:u,getDropState:d}=rr({getRowIds:()=>i.table.getRowModel().rows.map(e=>e.id),onReorder:(e,t)=>{a(`reorder`,e,t)},enabled:()=>!i.readOnly&&i.reorderable}),f=`column-sort-instructions-${_()}`,p=b(()=>i.title?`${i.title}, `:null),g=b({get(){return i.table.getState().pagination.pageIndex+1},set(e){e&&i.table.setPageIndex(parseInt(e)-1)}}),v=b({get(){return i.table.getState().pagination.pageSize},set(e){e&&i.table.setPageSize(parseInt(e))}}),te=b(()=>i.table.getPageCount()>1),re=b(()=>i.enableAdjustPageSize),ie=b(()=>i.from&&i.to&&i.total),ae=b(()=>te.value||re.value||ie.value);function T(e){return e?typeof e==`string`?{[e]:!0}:e:{}}function E(e){if(e.getCanSort())return e.getIsSorted()?e.getIsSorted()===`asc`?`ascending`:`descending`:`none`}let oe=b(()=>{let e=i.table.getAllColumns().filter(e=>e.getIsVisible()),t=e.length;i.reorderable&&(t+=1);let n={"--table-column-count":t},r=e.reduce((e,t)=>(e.push(t.columnDef.meta?.trackSize??`minmax(0, 1fr)`),e),[]);return i.reorderable&&r.unshift(`44px`),n[`--table-template-columns`]=r.join(` `),n});function N(e){return e===0?`first`:e===i.table.getRowModel().rows.length-1?`last`:`middle`}return(r,i)=>(s(),k(`div`,Dr,[r.$slots[`search-form`]?(s(),k(`div`,Or,[j(r.$slots,`search-form`,{},void 0,!0)])):x(``,!0),D(`table`,{class:y({"cp-table":!0,"cp-table--compact":e.spacing===S(ir).Compact,"cp-table--relaxed":e.spacing===S(ir).Relaxed,"cp-table--spacious":e.spacing===S(ir).Spacious,"cp-table--auto":e.layout===`auto`}),style:ee(oe.value)},[D(`caption`,kr,[n(m(p.value)+` `,1),D(`span`,{id:f},m(S(M)(`Column headers with buttons are sortable`)),1)]),D(`thead`,null,[(s(!0),k(C,null,h(e.table.getHeaderGroups(),t=>(s(),k(`tr`,{key:t.id},[!e.readOnly&&e.reorderable?(s(),k(`th`,Ar,[...i[4]||=[D(`span`,{class:`sr-only`},`Reorder`,-1)]])):x(``,!0),(s(!0),k(C,null,h(t.headers,e=>(s(),k(`th`,{key:e.id,colSpan:e.colSpan,id:`header-${e.id}`,class:y({"cp-table-cell":!0,"cp-table-cell--header":!0,"cursor-pointer select-none":e.column.getCanSort()}),scope:`col`,"aria-sort":E(e.column)},[D(`div`,{class:y([`flex gap-1 items-center`,{"sr-only":e.column.columnDef.meta?.headerSrOnly,...T(e.column.columnDef.meta?.columnClass),...T(e.column.columnDef.meta?.headerClass)}])},[O(or,{isSortable:e.column.getCanSort(),sortInstructionsId:f,onSortColumn:t=>e.column.getToggleSortingHandler()?.(t)},{default:w(()=>[e.isPlaceholder?x(``,!0):(s(),A(S(ht),{key:0,render:e.column.columnDef.header,props:e.getContext()},null,8,[`render`,`props`])),e.column.getCanSort()&&!e.column.getIsSorted()?(s(),k(`craft-icon`,Mr)):e.column.getIsSorted()===`asc`?(s(),k(`craft-icon`,Nr)):e.column.getIsSorted()===`desc`?(s(),k(`craft-icon`,Pr)):x(``,!0)]),_:2},1032,[`isSortable`,`onSortColumn`]),e.column.columnDef.meta?.headerTip?(s(),k(`craft-info-icon`,Fr,m(e.column.columnDef.meta.headerTip),1)):x(``,!0)],2)],10,jr))),128))]))),128))]),D(`tbody`,null,[e.table.getRowModel().rows.length>0?(s(!0),k(C,{key:0},h(e.table.getRowModel().rows,n=>(s(),k(`tr`,{key:n.id,ref_for:!0,ref:e=>S(o)(e,n.id),class:y({row:!0,"cp-table-row":!0,"row--dragging":!e.readOnly&&S(u)(n.id).type===`is-dragging`})},[e.reorderable&&!e.readOnly?(s(),k(`td`,Ir,[D(`div`,null,[O(dr,{"onClick:up":e=>a(`reorder`,n.index,n.index-1),"onClick:down":e=>a(`reorder`,n.index,n.index+1),position:N(n.index),ref_for:!0,ref:e=>S(l)(e?.$el,n.id)},null,8,[`onClick:up`,`onClick:down`,`position`])]),O(fr,{edge:S(d)(n.id).closestEdge},null,8,[`edge`])])):x(``,!0),(s(!0),k(C,null,h(n.getVisibleCells(),e=>(s(),A(t(e.column.columnDef.meta?.cellTag??`td`),{key:e.id,class:y({"cp-table-cell":!0,"cp-table-cell--wrap":e.column.columnDef.meta?.wrap,...T(e.column.columnDef.meta?.columnClass),...T(e.column.columnDef.meta?.cellClass)})},{default:w(()=>[O(S(ht),{render:e.column.columnDef.cell,props:e.getContext()},null,8,[`render`,`props`])]),_:2},1032,[`class`]))),128))],2))),128)):(s(),k(`tr`,Lr,[D(`td`,null,[j(r.$slots,`empty-row`,{},()=>[O(Er,{label:S(M)(`No results`),icon:`empty-set`},null,8,[`label`])],!0)])]))])],6),ae.value?(s(),k(`div`,Rr,[D(`div`,null,[ie.value?(s(),A(xr,{key:0,template:`{from} – {to} of {total, plural, =1{# item} other{# items}}`,params:{from:e.from,to:e.to,total:e.total}},null,8,[`params`])):x(``,!0)]),D(`div`,zr,[te.value?(s(),k(C,{key:0},[D(`craft-button`,{type:`button`,onClick:i[0]||=t=>e.table.previousPage(),disabled:!e.table.getCanPreviousPage(),icon:``,size:`small`},[D(`craft-icon`,{name:`chevron-left`,label:S(M)(`Previous page`)},null,8,Vr)],8,Br),D(`div`,Hr,[i[5]||=n(` Page `,-1),c(D(`craft-input`,{type:`text`,"onUpdate:modelValue":i[1]||=e=>g.value=e,maxlength:`3`,label:S(M)(`Current page`),"label-sr-only":``,center:``,size:`small`},null,8,Ur),[[ne,g.value]]),n(` of `+m(e.table.getPageCount()),1)]),D(`craft-button`,{type:`button`,onClick:i[2]||=t=>e.table.nextPage(),disabled:!e.table.getCanNextPage(),size:`small`,icon:``},[D(`craft-icon`,{name:`chevron-right`,label:S(M)(`Next page`)},null,8,Gr)],8,Wr)],64)):x(``,!0)]),D(`div`,Kr,[re.value?(s(),k(C,{key:0},[n(m(S(M)(`Items per page:`))+` `,1),O(br,{small:``,options:e.pageSizeOptions,modelValue:v.value,"onUpdate:modelValue":i[3]||=e=>v.value=e,class:`w-auto`},null,8,[`options`,`modelValue`])],64)):x(``,!0)])])):x(``,!0)]))}}),[[`__scopeId`,`data-v-754e164a`]]);export{dr as a,_t as c,gr as i,oe as l,Er as n,ir as o,xr as r,nr as s,qr as t,ut as u}; \ No newline at end of file +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function Dn(e,t){if(e){if(typeof e==`string`)return On(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?On(e,t):void 0}}function On(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);na(r,d,e.getBoundingClientRect()),onGenerateDragPreview({nativeSetDragImage:t,location:n}){let r=e.getBoundingClientRect();Qn({getOffset:Xn({element:e,input:n.current.input}),render({container:t}){let n=e.cloneNode(!0);return n.style.width=`${r.width}px`,n.style.height=`${r.height}px`,t.appendChild(n),()=>n.remove()},nativeSetDragImage:t})},onDragStart(){l(r,{type:`is-dragging`})},onDrop(){l(r,er)}}),Vn({element:e,getIsSticky:()=>!0,canDrop({source:e}){return o(e.data)&&e.data.instanceId===t},getData({input:t}){return Jn(a(r,d,e.getBoundingClientRect()),{element:e,input:t,allowedEdges:i})},onDragEnter({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Yn(t.data);n&&u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDrag({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Yn(t.data);if(!n)return;let i=f(r);i.type===`is-over`&&i.closestEdge===n||u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDragLeave({source:e}){if(o(e.data)){if(e.data.id===r){l(r,{type:`is-dragging-and-left-self`});return}u(r,tr)}},onDrop(){u(r,tr)}}))}function m(){return Hn({canMonitor({source:e}){return o(e.data)&&e.data.instanceId===t},onDrop({location:t,source:n}){let i=t.current.dropTargets[0];if(!i)return;let a=n.data,s=i.data;if(!o(a)||!o(s))return;let c=a.index,l=s.index,u=$n({startIndex:c,closestEdgeOfTarget:Yn(s),indexOfTarget:l,axis:r});u!==c&&e.onReorder(c,u)}})}return{registerItem:p,getDragState:d,getDropState:f,setupMonitor:m}}function rr(e){let t=C(new Map),n=C(new Map),r=C(new Map),a=null,{registerItem:o,getDragState:s,getDropState:l,setupMonitor:d}=nr({onReorder:e.onReorder,axis:`vertical`});function p(e,n){e?t.value.set(n,e):t.value.delete(n)}function m(e,t){e?n.value.set(t,e):n.value.delete(t)}function h(){e.enabled()&&(r.value.forEach(e=>e()),r.value.clear(),e.getRowIds().forEach((e,i)=>{let a=String(e),s=t.value.get(a),c=n.value.get(a);if(s){let e=o(s,c??null,a,i);r.value.set(a,e)}}))}return c(()=>e.getRowIds(),()=>{u(h)},{deep:!0}),f(()=>{a=d(),u(h)}),i(()=>{r.value.forEach(e=>e()),a?.()}),{setRowRef:p,setHandleRef:m,getDragState:s,getDropState:l,refreshRegistrations:h}}var ir={Relaxed:`relaxed`,Compact:`compact`,Spacious:`spacious`},ar=[`aria-describedby`],or=E(h({__name:`ColumnHeaderTitle`,props:{isSortable:{type:Boolean,default:!1},sortInstructionsId:{}},emits:[`sortColumn`],setup(e){return(t,n)=>e.isSortable?(o(),x(`button`,{key:0,type:`button`,onClick:n[0]||=e=>t.$emit(`sortColumn`,e),"aria-describedby":e.sortInstructionsId},[A(t.$slots,`default`,{},void 0,!0)],8,ar)):A(t.$slots,`default`,{key:1},void 0,!0)}}),[[`__scopeId`,`data-v-6ed8c3ba`]]),sr=[`label`],cr={slot:`content`},lr=[`disabled`],ur=[`disabled`],dr=E(h({__name:`ReorderButton`,props:{label:{default:j(`Reorder`)},position:{default:`middle`}},emits:[`click:up`,`click:down`],setup(e,{emit:n}){let r=n;return(n,i)=>(o(),x(`craft-action-menu`,null,[b(`craft-button`,l({slot:`invoker`,type:`button`,icon:``,size:`small`,appearance:`plain`},n.$attrs),[b(`craft-icon`,{name:`custom-icons/grip-dots`,label:e.label},null,8,sr)],16),b(`div`,cr,[b(`craft-action-item`,{icon:`arrow-up`,onClick:i[0]||=e=>r(`click:up`),disabled:e.position===`first`},t(w(j)(`Move up`)),9,lr),b(`craft-action-item`,{icon:`arrow-down`,onClick:i[1]||=e=>r(`click:down`),disabled:e.position===`last`},t(w(j)(`Move down`)),9,ur)])]))}}),[[`__scopeId`,`data-v-49bec635`]]),fr=E(h({__name:`DropIndicator`,props:{edge:{},contained:{type:Boolean},inline:{type:Boolean},visible:{type:Boolean}},setup(e){return(t,n)=>e.edge||e.inline?(o(),x(`div`,{key:0,class:v({"drop-indicator":!0,"drop-indicator--contained":e.contained,"drop-indicator--top":e.edge===`top`,"drop-indicator--bottom":e.edge===`bottom`,"drop-indicator--left":e.edge===`left`,"drop-indicator--right":e.edge===`right`,"drop-indicator--horizontal":!e.edge||[`top`,`bottom`].includes(e.edge),"drop-indicator--vertical":e.edge&&[`left`,`right`].includes(e.edge),"drop-indicator--inline":e.inline,"drop-indicator--active":e.visible})},null,2)):k(``,!0)}}),[[`__scopeId`,`data-v-c2b7126d`]]),pr=[`.modelValue`,`has-feedback-for`],mr={slot:`feedback`},hr={key:0,class:`error-list`},gr=h({name:`CraftSelect`,inheritAttrs:!1,__name:`CraftSelect`,props:re({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=g(e,`modelValue`);return(r,i)=>(o(),x(`craft-select`,l(r.$attrs,{".modelValue":n.value,onModelValueChanged:i[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[A(r.$slots,`default`),b(`div`,mr,[e.error?(o(),x(`ul`,hr,[b(`li`,null,t(e.error),1)])):k(``,!0)])],48,pr))}}),_r={slot:`input`},vr=[`value`],yr={key:0,class:`error-list`,slot:`feedback`},br=h({__name:`Select`,props:{modelValue:{},options:{},error:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=n,i=e,a=S(()=>i.options.map(e=>typeof e==`string`||typeof e==`number`?{label:e.toString(),value:e}:e)),c=S({get(){return i.modelValue.toString()},set(e){r(`update:modelValue`,e)}});return(n,r)=>(o(),D(gr,l({modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e},n.$attrs),{default:s(()=>[b(`select`,_r,[(o(!0),x(T,null,m(a.value,e=>(o(),x(`option`,{key:e.value,value:e.value},t(e.label),9,vr))),128))]),e.error?(o(),x(`ul`,yr,[b(`li`,null,t(e.error),1)])):k(``,!0)]),_:1},16,[`modelValue`]))}}),xr=h({__name:`Text`,props:{as:{default:`div`},template:{},params:{}},setup(e){let i=e,a=S(()=>j(i.template,i.params));return(i,c)=>(o(),D(_(e.as),ee(r(i.$attrs)),{default:s(()=>[n(t(a.value),1)]),_:1},16))}}),Sr={class:`py-20 w-full`},Cr={class:`w-[60ch] mx-auto text-center grid gap-3 justify-items-center text-gray-500`},wr=[`name`],Tr={class:`text-lg`},Er=h({__name:`Empty`,props:{icon:{},label:{}},setup(e){return(n,r)=>(o(),x(`div`,Sr,[b(`div`,Cr,[A(n.$slots,`graphic`,{},()=>[e.icon?(o(),x(`craft-icon`,{key:0,name:e.icon,style:{"font-size":`calc(48rem / 16)`}},null,8,wr)):k(``,!0)]),A(n.$slots,`content`,{},()=>[b(`p`,Tr,t(e.label),1)]),A(n.$slots,`default`)])]))}}),Dr={class:`cp-table-wrapper`},Or={key:0,class:`cp-table-header`},kr={class:`sr-only`},Ar={key:0,class:`cell cell--header`},jr=[`colSpan`,`id`,`aria-sort`],Mr={key:1,name:`arrow-up-arrow-down`},Nr={key:2,name:`arrow-down`},Pr={key:3,name:`arrow-up`},Fr={key:0},Ir={key:0},Lr={key:1,style:{"--table-template-columns":`1fr`,"--_cell-spacing-inline":`0`,"--_cell-spacing-block":`0`}},Rr={key:1,class:`cp-table-footer`},zr={class:`flex gap-1`},Br=[`disabled`],Vr=[`label`],Hr={class:`flex items-center gap-1 mx-2`},Ur=[`label`],Wr=[`disabled`],Gr=[`label`],Kr={class:`flex gap-2 items-center`},qr=E(h({__name:`AdminTable`,props:{table:{},title:{},reorderable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!0},readOnly:{type:Boolean},layout:{default:`auto`},spacing:{},from:{},to:{},total:{},enableAdjustPageSize:{type:Boolean,default:!1},pageSizeOptions:{default:()=>[50,100,250]}},emits:[`reorder`],setup(e,{emit:r}){let i=e,c=r,{setRowRef:l,setHandleRef:u,getDragState:d,getDropState:f}=rr({getRowIds:()=>i.table.getRowModel().rows.map(e=>e.id),onReorder:(e,t)=>{c(`reorder`,e,t)},enabled:()=>!i.readOnly&&i.reorderable}),h=`column-sort-instructions-${a()}`,g=S(()=>i.title?`${i.title}, `:null),ee=S({get(){return i.table.getState().pagination.pageIndex+1},set(e){e&&i.table.setPageIndex(parseInt(e)-1)}}),te=S({get(){return i.table.getState().pagination.pageSize},set(e){e&&i.table.setPageSize(parseInt(e))}}),C=S(()=>i.table.getPageCount()>1),re=S(()=>i.enableAdjustPageSize),ie=S(()=>i.from&&i.to&&i.total),ae=S(()=>C.value||re.value||ie.value);function E(e){return e?typeof e==`string`?{[e]:!0}:e:{}}function oe(e){if(e.getCanSort())return e.getIsSorted()?e.getIsSorted()===`asc`?`ascending`:`descending`:`none`}let se=S(()=>{let e=i.table.getAllColumns().filter(e=>e.getIsVisible()),t=e.length;i.reorderable&&(t+=1);let n={"--table-column-count":t},r=e.reduce((e,t)=>(e.push(t.columnDef.meta?.trackSize??`minmax(0, 1fr)`),e),[]);return i.reorderable&&r.unshift(`44px`),n[`--table-template-columns`]=r.join(` `),n});function M(e){return e===0?`first`:e===i.table.getRowModel().rows.length-1?`last`:`middle`}return(r,i)=>(o(),x(`div`,Dr,[r.$slots[`search-form`]?(o(),x(`div`,Or,[A(r.$slots,`search-form`,{},void 0,!0)])):k(``,!0),b(`table`,{class:v({"cp-table":!0,"cp-table--compact":e.spacing===w(ir).Compact,"cp-table--relaxed":e.spacing===w(ir).Relaxed,"cp-table--spacious":e.spacing===w(ir).Spacious,"cp-table--auto":e.layout===`auto`}),style:p(se.value)},[b(`caption`,kr,[n(t(g.value)+` `,1),b(`span`,{id:h},t(w(j)(`Column headers with buttons are sortable`)),1)]),b(`thead`,null,[(o(!0),x(T,null,m(e.table.getHeaderGroups(),n=>(o(),x(`tr`,{key:n.id},[!e.readOnly&&e.reorderable?(o(),x(`th`,Ar,[...i[4]||=[b(`span`,{class:`sr-only`},`Reorder`,-1)]])):k(``,!0),(o(!0),x(T,null,m(n.headers,e=>(o(),x(`th`,{key:e.id,colSpan:e.colSpan,id:`header-${e.id}`,class:v({"cp-table-cell":!0,"cp-table-cell--header":!0,"cursor-pointer select-none":e.column.getCanSort()}),scope:`col`,"aria-sort":oe(e.column)},[b(`div`,{class:v([`flex gap-1 items-center`,{"sr-only":e.column.columnDef.meta?.headerSrOnly,...E(e.column.columnDef.meta?.columnClass),...E(e.column.columnDef.meta?.headerClass)}])},[O(or,{isSortable:e.column.getCanSort(),sortInstructionsId:h,onSortColumn:t=>e.column.getToggleSortingHandler()?.(t)},{default:s(()=>[e.isPlaceholder?k(``,!0):(o(),D(w(ht),{key:0,render:e.column.columnDef.header,props:e.getContext()},null,8,[`render`,`props`])),e.column.getCanSort()&&!e.column.getIsSorted()?(o(),x(`craft-icon`,Mr)):e.column.getIsSorted()===`asc`?(o(),x(`craft-icon`,Nr)):e.column.getIsSorted()===`desc`?(o(),x(`craft-icon`,Pr)):k(``,!0)]),_:2},1032,[`isSortable`,`onSortColumn`]),e.column.columnDef.meta?.headerTip?(o(),x(`craft-info-icon`,Fr,t(e.column.columnDef.meta.headerTip),1)):k(``,!0)],2)],10,jr))),128))]))),128))]),b(`tbody`,null,[e.table.getRowModel().rows.length>0?(o(!0),x(T,{key:0},m(e.table.getRowModel().rows,t=>(o(),x(`tr`,{key:t.id,ref_for:!0,ref:e=>w(l)(e,t.id),class:v({row:!0,"cp-table-row":!0,"row--dragging":!e.readOnly&&w(d)(t.id).type===`is-dragging`})},[e.reorderable&&!e.readOnly?(o(),x(`td`,Ir,[b(`div`,null,[O(dr,{"onClick:up":e=>c(`reorder`,t.index,t.index-1),"onClick:down":e=>c(`reorder`,t.index,t.index+1),position:M(t.index),ref_for:!0,ref:e=>w(u)(e?.$el,t.id)},null,8,[`onClick:up`,`onClick:down`,`position`])]),O(fr,{edge:w(f)(t.id).closestEdge},null,8,[`edge`])])):k(``,!0),(o(!0),x(T,null,m(t.getVisibleCells(),e=>(o(),D(_(e.column.columnDef.meta?.cellTag??`td`),{key:e.id,class:v({"cp-table-cell":!0,"cp-table-cell--wrap":e.column.columnDef.meta?.wrap,...E(e.column.columnDef.meta?.columnClass),...E(e.column.columnDef.meta?.cellClass)})},{default:s(()=>[O(w(ht),{render:e.column.columnDef.cell,props:e.getContext()},null,8,[`render`,`props`])]),_:2},1032,[`class`]))),128))],2))),128)):(o(),x(`tr`,Lr,[b(`td`,null,[A(r.$slots,`empty-row`,{},()=>[O(Er,{label:w(j)(`No results`),icon:`empty-set`},null,8,[`label`])],!0)])]))])],6),ae.value?(o(),x(`div`,Rr,[b(`div`,null,[ie.value?(o(),D(xr,{key:0,template:`{from} – {to} of {total, plural, =1{# item} other{# items}}`,params:{from:e.from,to:e.to,total:e.total}},null,8,[`params`])):k(``,!0)]),b(`div`,zr,[C.value?(o(),x(T,{key:0},[b(`craft-button`,{type:`button`,onClick:i[0]||=t=>e.table.previousPage(),disabled:!e.table.getCanPreviousPage(),icon:``,size:`small`},[b(`craft-icon`,{name:`chevron-left`,label:w(j)(`Previous page`)},null,8,Vr)],8,Br),b(`div`,Hr,[i[5]||=n(` Page `,-1),y(b(`craft-input`,{type:`text`,"onUpdate:modelValue":i[1]||=e=>ee.value=e,maxlength:`3`,label:w(j)(`Current page`),"label-sr-only":``,center:``,size:`small`},null,8,Ur),[[ne,ee.value]]),n(` of `+t(e.table.getPageCount()),1)]),b(`craft-button`,{type:`button`,onClick:i[2]||=t=>e.table.nextPage(),disabled:!e.table.getCanNextPage(),size:`small`,icon:``},[b(`craft-icon`,{name:`chevron-right`,label:w(j)(`Next page`)},null,8,Gr)],8,Wr)],64)):k(``,!0)]),b(`div`,Kr,[re.value?(o(),x(T,{key:0},[n(t(w(j)(`Items per page:`))+` `,1),O(br,{small:``,options:e.pageSizeOptions,modelValue:te.value,"onUpdate:modelValue":i[3]||=e=>te.value=e,class:`w-auto`},null,8,[`options`,`modelValue`])],64)):k(``,!0)])])):k(``,!0)]))}}),[[`__scopeId`,`data-v-754e164a`]]);export{dr as a,_t as c,gr as i,se as l,Er as n,ir as o,xr as r,nr as s,qr as t,ut as u}; \ No newline at end of file diff --git a/resources/build/AppLayout.js b/resources/build/AppLayout.js index d85995a470e..c0b221c31bd 100644 --- a/resources/build/AppLayout.js +++ b/resources/build/AppLayout.js @@ -1 +1 @@ -import{B as e,C as t,G as n,I as r,N as i,Q as a,R as o,T as s,W as c,Y as l,_ as u,a as d,b as f,c as p,ct as m,dt as h,ft as g,m as _,nt as ee,q as v,rt as y,t as b,u as x,v as S,w as C,x as w,y as T,z as E}from"./_plugin-vue_export-helper.js";import{s as D}from"./nav-item-DtQ6Tc_l.js";import{i as O,n as k,r as A,t as j}from"./useAnnouncer.js";import{o as M,r as te}from"./dist.js";var N={class:`system-info__icon`},P=[`src`],F={class:`system-info__name`},I=b(s({__name:`SystemInfo`,setup(t){let n=M(),i=u(()=>n.system),o=u(()=>n.site),s=u(()=>o.value.url?`a`:`div`);return(t,n)=>(r(),T(e(s.value),{class:`system-info`,href:o.value.url,target:o.value.url?`_blank`:null},{default:v(()=>[S(`div`,N,[i.value.icon?(r(),w(`img`,{key:0,src:i.value.icon,alt:``},null,8,P)):f(``,!0)]),S(`div`,F,a(i.value.name),1)]),_:1},8,[`href`,`target`]))}}),[[`__scopeId`,`data-v-d8aced2c`]]),L=[`icon`,`href`,`active`,`indicator`],R={key:0,slot:`subnav`},z=[`active`,`href`,`indicator`],B=[`name`],V={key:1,class:`nav-indicator`,slot:`icon`},H=[`.displayedJob`,`.hasReservedJobs`,`.hasWaitingJobs`],U=b(s({__name:`MainNav`,setup(e){let n=p(),{nav:i}=M(),s=u(()=>n.props.queue);return(e,n)=>(r(),w(`craft-nav-list`,null,[(r(!0),w(_,null,o(m(i),e=>(r(),w(`craft-nav-item`,{key:e.url,icon:e.icon,href:e.url,active:e.sel,indicator:!!e.badgeCount},[t(a(e.label)+` `,1),e.subnav?(r(),w(_,{key:0},[e.subnav?(r(),w(`craft-nav-list`,R,[(r(!0),w(_,null,o(e.subnav,e=>(r(),w(`craft-nav-item`,{key:e.url,active:e.sel,href:e.url,indicator:!!e.badgeCount},[e.icon?(r(),w(`craft-icon`,{key:0,name:e.icon,slot:`icon`},null,8,B)):(r(),w(`span`,V)),t(` `+a(e.label),1)],8,z))),128))])):f(``,!0)],64)):f(``,!0)],8,L))),128)),S(`cp-queue-indicator`,{".displayedJob":s.value.displayedJob,".hasReservedJobs":s.value.hasReservedJobs,".hasWaitingJobs":s.value.hasWaitingJobs},null,40,H)]))}}),[[`__scopeId`,`data-v-2115cac3`]]),W={class:`flex justify-center py-4 px-2 text-muted`},G={lang:`en`,class:`flex items-center gap-2`},K={class:`edition-logo`},q={"aria-hidden":`true`},J={class:`sr-only`},Y=b(s({__name:`EditionInfo`,setup(e){let{app:n}=M(),i=u(()=>`${n.edition.name} Edition`);return(e,o)=>(r(),w(`div`,W,[S(`div`,null,[S(`span`,G,[o[0]||=t(` Craft CMS `,-1),S(`span`,K,[S(`span`,q,a(m(n).edition.name),1),S(`span`,J,a(i.value),1)]),t(` `+a(m(n).version),1)])])]))}}),[[`__scopeId`,`data-v-f8b4ece7`]]),X={},Z={class:`dev-mode`};function Q(e,t){return r(),w(`div`,Z,[...t[0]||=[S(`div`,{class:`inline-flex py-1 px-2 bg-slate-900 text-slate-100 font-mono text-xs rounded-lg`},` Dev Mode is enabled `,-1)]])}var ne=b(X,[[`render`,Q],[`__scopeId`,`data-v-52fa7a33`]]),re=[`data-visibility`,`data-mode`],ie={class:`cp-sidebar__header`},ae={key:0,class:`sidebar-header`},oe=[`label`],se={class:`cp-sidebar__body`},ce={class:`cp-sidebar__footer`},le=b(s({__name:`CpSidebar`,props:{mode:{default:`floating`},visibility:{default:`hidden`}},emits:[`close`,`dock`],setup(e,{emit:t}){let a=t,o=u(()=>e.mode===`floating`);return n(()=>e.visibility,async e=>{o.value&&e===`visible`&&(await i(),document.querySelector(`.cp-sidebar`).querySelector(`button, [href], [tabindex]:not([tabindex="-1"])`)?.focus())}),(t,n)=>(r(),w(`nav`,{class:`cp-sidebar`,"data-visibility":e.visibility,"data-mode":e.mode},[e.visibility===`visible`?(r(),w(_,{key:0},[S(`div`,ie,[e.mode===`docked`?f(``,!0):(r(),w(`div`,ae,[C(I),n[1]||=S(`div`,{class:`ml-auto`},null,-1),S(`craft-button`,{size:`small`,icon:``,onClick:n[0]||=e=>a(`close`),type:`button`},[S(`craft-icon`,{name:`x`,style:{"font-size":`0.7em`},label:m(D)(`Close`)},null,8,oe)])]))]),S(`div`,se,[C(U)]),S(`div`,ce,[C(Y),C(ne)])],64)):f(``,!0)],8,re))}}),[[`__scopeId`,`data-v-2f979110`]]),ue={class:`breadcrumbs`},de={key:2,class:`separator`},fe=b(s({__name:`Breadcrumbs`,props:{items:{},separator:{default:`/`}},setup(e){return(n,i)=>(r(),w(`ul`,ue,[(r(!0),w(_,null,o(e.items,(n,i)=>(r(),w(`li`,{key:i,class:l({"breadcrumb-item":!0,"breadcrumb-item--active":i===e.items.length-1})},[n.url?(r(),T(A,{key:0,href:n.url},{default:v(()=>[t(a(n.label),1)]),_:2},1032,[`href`])):(r(),w(_,{key:1},[t(a(n.label),1)],64)),i(r(),T(k,null,{default:v(()=>[m(t)?(r(),w(`div`,pe,a(m(t)),1)):f(``,!0)]),_:1}))}});function he(e){return e&&n(()=>({headHtml:e.headHtml,bodyHtml:e.bodyHtml}),async e=>{e.headHtml&&await g(e.headHtml),e.bodyHtml&&await h(e.bodyHtml)},{immediate:!0}),{appendHead:g,appendBody:h}}var ge={class:`cp`},_e={class:`cp__header`},ve={class:`flex gap-2 p-2`},ye=[`name`,`label`],be={icon:``,appearance:`plain`},xe=[`label`],Se={key:0,variant:`danger`,rounded:`none`},Ce={key:1,variant:`success`,rounded:`none`},we={class:`cp__sidebar`},Te={class:`cp__main`},Ee={key:0,class:`px-4 py-2 border-b border-b-neutral-border-quiet`},De={class:`index-grid index-grid--header`},$={class:`index-grid__aside`},Oe={class:`text-xl`},ke={class:`index-grid__main`},Ae={class:`cp__footer`},je={key:0,class:`fixed bottom-2 right-2 flex gap-2 justify-end items-center p-2`},Me={class:`bg-blue-50 border border-blue-500 py-1 px-4 rounded`},Ne=[`label`],Pe=[`label`],Fe=b(s({__name:`AppLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean,default:!1}},setup(e){x(e=>({v9e99edfc:R.value}));let t=e,i=p(),o=u(()=>i.props.flash?.error),s=u(()=>i.props.flash?.success),h=u(()=>i.props.crumbs??null),g=c(`sidebarToggle`),{announcement:v,announce:b}=j();n(s,e=>b(e)),n(o,e=>b(e)),he();let k=ee({sidebar:{mode:`floating`,visibility:`hidden`}}),A=te(`(min-width: 1024px)`),M=y(!1),N=u(()=>t.title??i.props.title);n(A,e=>{e?(k.sidebar.mode=`docked`,k.sidebar.visibility=`visible`):(k.sidebar.mode=`floating`,k.sidebar.visibility=`hidden`)},{immediate:!0});function P(){k.sidebar.visibility===`visible`?k.sidebar.visibility=`hidden`:k.sidebar.visibility=`visible`}function F(){k.sidebar.visibility=`hidden`,g.value.focus()}let L=u(()=>k.sidebar.visibility===`visible`?`x`:`bars`),R=u(()=>k.sidebar.mode===`docked`?k.sidebar.visibility===`visible`?`var(--global-sidebar-width)`:`0`:`auto`);return(t,n)=>(r(),w(_,null,[C(m(d),{title:N.value},null,8,[`title`]),C(me,{debug:!0}),S(`div`,ge,[S(`div`,_e,[S(`div`,ve,[m(A)?f(``,!0):(r(),w(`craft-button`,{key:0,icon:``,type:`button`,appearance:`plain`,onClick:P,ref_key:`sidebarToggle`,ref:g},[S(`craft-icon`,{name:L.value,label:m(D)(`Toggle menu`)},null,8,ye)],512)),m(A)?(r(),T(I,{key:1})):f(``,!0),n[2]||=S(`div`,{class:`ml-auto`},null,-1),S(`craft-button`,be,[S(`craft-icon`,{name:`search`,label:m(D)(`Search`)},null,8,xe)])]),o.value?(r(),w(`craft-callout`,Se,a(o.value),1)):f(``,!0),s.value?(r(),w(`craft-callout`,Ce,a(s.value),1)):f(``,!0)]),S(`div`,we,[C(le,{mode:k.sidebar.mode,visibility:k.sidebar.visibility,onClose:F},null,8,[`mode`,`visibility`])]),S(`div`,Te,[E(t.$slots,`main`,{},()=>[S(`main`,null,[E(t.$slots,`breadcrumbs`,{},()=>[h.value?(r(),w(`div`,Ee,[C(fe,{items:h.value},null,8,[`items`])])):f(``,!0)],!0),E(t.$slots,`header`,{},()=>[S(`div`,{class:l({container:!0,"container--full":e.fullWidth})},[S(`div`,De,[S(`div`,$,[E(t.$slots,`title`,{},()=>[S(`h1`,Oe,a(N.value),1)],!0),E(t.$slots,`title-badge`,{},void 0,!0)]),S(`div`,ke,[E(t.$slots,`actions`,{},void 0,!0)])])],2)],!0),S(`div`,{class:l({container:!0,"container--full":e.fullWidth})},[E(t.$slots,`default`,{},void 0,!0)],2)])],!0)]),S(`div`,Ae,[S(`footer`,null,[S(`div`,{class:l({container:!0,"container--full":e.fullWidth})},[E(t.$slots,`footer`,{},void 0,!0)],2)])])]),e.debug?(r(),w(`div`,je,[S(`div`,Me,a(m(v)??`No announcement`),1),S(`div`,null,[M.value?(r(),T(O,{key:0,data:e.debug,class:`max-h-[50vh] max-w-[600px] overflow-scroll absolute transform -translate-full`},null,8,[`data`])):f(``,!0),M.value?(r(),w(`craft-button`,{key:1,icon:``,type:`button`,onClick:n[0]||=e=>M.value=!1},[S(`craft-icon`,{label:m(D)(`Close Debug panel`),name:`x`},null,8,Ne)])):(r(),w(`craft-button`,{key:2,type:`button`,onClick:n[1]||=e=>M.value=!0,icon:``},[S(`craft-icon`,{name:`code`,label:m(D)(`Show debug variables`)},null,8,Pe)]))])])):f(``,!0)],64))}}),[[`__scopeId`,`data-v-82c7e911`]]);export{Fe as t}; \ No newline at end of file +import{$ as e,C as t,G as n,I as r,J as i,K as a,M as o,N as s,R as c,T as l,V as u,X as d,_ as f,a as p,b as m,c as h,f as g,ft as _,g as v,it as y,lt as b,p as x,pt as S,rt as ee,t as C,u as w,v as T,w as E,y as D,z as O}from"./_plugin-vue_export-helper.js";import{i as k}from"./nav-item-DCsUKnaY.js";import{a as A,i as j,n as te,o as ne,r as M,t as re}from"./InlineFlash.js";import{o as N,r as P}from"./dist.js";var F={class:`system-info__icon`},I=[`src`],L={class:`system-info__name`},R=C(l({__name:`SystemInfo`,setup(t){let n=N(),a=v(()=>n.system),o=v(()=>n.site),s=v(()=>o.value.url?`a`:`div`);return(t,n)=>(r(),T(u(s.value),{class:`system-info`,href:o.value.url,target:o.value.url?`_blank`:null},{default:i(()=>[f(`div`,F,[a.value.icon?(r(),m(`img`,{key:0,src:a.value.icon,alt:``},null,8,I)):D(``,!0)]),f(`div`,L,e(a.value.name),1)]),_:1},8,[`href`,`target`]))}}),[[`__scopeId`,`data-v-d8aced2c`]]),z=[`icon`,`href`,`active`,`indicator`],B={key:0,slot:`subnav`},V=[`active`,`href`,`indicator`],H=[`name`],U={key:1,class:`nav-indicator`,slot:`icon`},W=[`.displayedJob`,`.hasReservedJobs`,`.hasWaitingJobs`],G=C(l({__name:`MainNav`,setup(n){let i=h(),{nav:a}=N(),o=v(()=>i.props.queue);return(n,i)=>(r(),m(`craft-nav-list`,null,[(r(!0),m(x,null,c(b(a),n=>(r(),m(`craft-nav-item`,{key:n.url,icon:n.icon,href:n.url,active:n.sel,indicator:!!n.badgeCount},[t(e(n.label)+` `,1),n.subnav?(r(),m(x,{key:0},[n.subnav?(r(),m(`craft-nav-list`,B,[(r(!0),m(x,null,c(n.subnav,n=>(r(),m(`craft-nav-item`,{key:n.url,active:n.sel,href:n.url,indicator:!!n.badgeCount},[n.icon?(r(),m(`craft-icon`,{key:0,name:n.icon,slot:`icon`},null,8,H)):(r(),m(`span`,U)),t(` `+e(n.label),1)],8,V))),128))])):D(``,!0)],64)):D(``,!0)],8,z))),128)),f(`cp-queue-indicator`,{".displayedJob":o.value.displayedJob,".hasReservedJobs":o.value.hasReservedJobs,".hasWaitingJobs":o.value.hasWaitingJobs},null,40,W)]))}}),[[`__scopeId`,`data-v-2115cac3`]]),K={class:`flex justify-center py-4 px-2 text-muted`},q={lang:`en`,class:`flex items-center gap-2`},J={class:`edition-logo`},Y={"aria-hidden":`true`},X={class:`sr-only`},ie=C(l({__name:`EditionInfo`,setup(n){let{app:i}=N(),a=v(()=>`${i.edition.name} Edition`);return(n,o)=>(r(),m(`div`,K,[f(`div`,null,[f(`span`,q,[o[0]||=t(` Craft CMS `,-1),f(`span`,J,[f(`span`,Y,e(b(i).edition.name),1),f(`span`,X,e(a.value),1)]),t(` `+e(b(i).version),1)])])]))}}),[[`__scopeId`,`data-v-f8b4ece7`]]),ae={},oe={class:`dev-mode`};function se(e,t){return r(),m(`div`,oe,[...t[0]||=[f(`div`,{class:`inline-flex py-1 px-2 bg-slate-900 text-slate-100 font-mono text-xs rounded-lg`},` Dev Mode is enabled `,-1)]])}var ce=C(ae,[[`render`,se],[`__scopeId`,`data-v-52fa7a33`]]),le=[`data-visibility`,`data-mode`,`aria-label`],ue={class:`cp-sidebar__header`},de={key:0,class:`sidebar-header`},fe=[`label`],pe={class:`cp-sidebar__body`},me={class:`cp-sidebar__footer`},he=C(l({__name:`CpSidebar`,props:{mode:{default:`floating`},visibility:{default:`hidden`}},emits:[`close`,`dock`],setup(e,{emit:t}){let n=t,i=v(()=>e.mode===`floating`);return a(()=>e.visibility,async e=>{i.value&&e===`visible`&&(await s(),document.querySelector(`.cp-sidebar`).querySelector(`button, [href], [tabindex]:not([tabindex="-1"])`)?.focus())}),(t,i)=>(r(),m(`nav`,{class:`cp-sidebar`,"data-visibility":e.visibility,"data-mode":e.mode,"aria-label":b(k)(`Primary`)},[e.visibility===`visible`?(r(),m(x,{key:0},[f(`div`,ue,[e.mode===`docked`?D(``,!0):(r(),m(`div`,de,[E(R),i[1]||=f(`div`,{class:`ml-auto`},null,-1),f(`craft-button`,{size:`small`,icon:``,onClick:i[0]||=e=>n(`close`),type:`button`},[f(`craft-icon`,{name:`x`,style:{"font-size":`0.7em`},label:b(k)(`Close`)},null,8,fe)])]))]),f(`div`,pe,[E(G)]),f(`div`,me,[E(ie),E(ce)])],64)):D(``,!0)],8,le))}}),[[`__scopeId`,`data-v-c4268663`]]),ge=[`aria-label`],_e={class:`breadcrumbs`},ve={key:2,class:`separator`},ye=C(l({__name:`Breadcrumbs`,props:{items:{},separator:{default:`/`}},setup(n){return(a,o)=>(r(),m(`nav`,{"aria-label":b(k)(`Breadcrumbs`)},[f(`ul`,_e,[(r(!0),m(x,null,c(n.items,(a,o)=>(r(),m(`li`,{key:o,class:d({"breadcrumb-item":!0,"breadcrumb-item--active":o===n.items.length-1})},[a.url?(r(),T(A,{key:0,href:a.url},{default:i(()=>[t(e(a.label),1)]),_:2},1032,[`href`])):(r(),m(x,{key:1},[t(e(a.label),1)],64)),o(r(),T(j,null,{default:i(()=>[b(n)?(r(),m(`div`,be,e(b(n)),1)):D(``,!0)]),_:1}))}});function Se(e){return e&&a(()=>({headHtml:e.headHtml,bodyHtml:e.bodyHtml}),async e=>{e.headHtml&&await S(e.headHtml),e.bodyHtml&&await _(e.bodyHtml)},{immediate:!0}),{appendHead:S,appendBody:_}}var Ce={type:`button`,slot:`invoker`,icon:``,size:`small`,variant:`inherit`,appearance:`plain`},we=[`name`,`label`],Te={slot:`content`,class:`m-sm`},Ee={key:0,class:`m-0`},De=[`onClick`],Z=C(l({__name:`ActionMenu`,props:{icon:{default:`ellipsis`},label:{default:k(`Actions`)},actions:{}},setup(t){let n=t,i=v(()=>n.actions.filter(e=>e.variant&&e.variant===`danger`)),a=v(()=>n.actions.filter(e=>!e.variant||e.variant!==`danger`)),s=v(()=>{let e=a.value;return i.value.length&&(e.push({type:`hr`}),e.push(...i.value)),e});return(n,i)=>(r(),m(`craft-action-menu`,null,[O(n.$slots,`invoker`,{label:t.label},()=>[f(`craft-button`,Ce,[f(`craft-icon`,{name:t.icon,label:t.label},null,8,we)])],!0),f(`div`,Te,[(r(!0),m(x,null,c(s.value,(t,n)=>(r(),m(x,{key:n},[t.type&&t.type===`hr`?(r(),m(`hr`,Ee)):(r(),m(`craft-action-item`,o({key:1,onClick:t.onClick},{ref_for:!0},t),e(t.label),17,De))],64))),128))])]))}}),[[`__scopeId`,`data-v-99b1647e`]]),Oe={variant:`danger`,icon:`triangle-exclamation`,class:`mb-3`},ke={slot:`title`,class:`font-bold`},Ae=l({__name:`ErrorSummary`,props:{errors:{}},setup(t){return(n,i)=>(r(),m(`craft-callout`,Oe,[f(`div`,ke,e(b(k)(`Could not save settings`)),1),f(`ul`,null,[(r(!0),m(x,null,c(t.errors,(t,n)=>(r(),m(`li`,{key:n},e(t),1))),128))])]))}}),je={appearance:`fill`,rounded:`start`,class:`border border-b-neutral-border-quiet`},Q=l({__name:`CalloutReadOnly`,setup(n){return(n,i)=>(r(),m(`craft-callout`,je,[i[0]||=f(`craft-icon`,{slot:`icon`,name:`custom-icons/gear-slash`},null,-1),O(n.$slots,`default`,{},()=>[t(e(b(k)(`Changes to these settings arenʼt permitted in this environment.`)),1)])]))}}),Me={class:`cp`},Ne={class:`cp__header`},Pe=[`href`],Fe={class:`flex gap-2 p-2`},Ie=[`name`,`label`],Le={icon:``,appearance:`plain`},Re=[`label`],ze={key:0,variant:`danger`,rounded:`none`},Be={key:1,variant:`success`,rounded:`none`},Ve={class:`cp__sidebar`},He={class:`cp__main`},Ue={key:0,class:`px-4 py-2 border-b border-b-neutral-border-quiet`},We={id:`main`,tabindex:`-1`},Ge={class:`index-grid index-grid--header`},Ke={class:`index-grid__aside`},qe={class:`text-xl`},Je={class:`index-grid__main`},$={key:0},Ye=[`loading`],Xe={slot:`invoker`,variant:`primary`,type:`button`,icon:``},Ze=[`label`],Qe={class:`cp__footer`},$e={key:0,class:`fixed bottom-2 right-2 flex gap-2 justify-end items-center p-2`},et={class:`bg-blue-50 border border-blue-500 py-1 px-4 rounded`},tt=[`label`],nt=[`label`],rt=C(l({__name:`AppLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean,default:!1},form:{default:null},formActions:{}},emits:[`save`],setup(t,{emit:o}){w(e=>({v1a75d35a:K.value}));let s=o,l=t,_=h(),{errorFlash:S,successFlash:C}=te(),A=v(()=>_.props.crumbs??null),j=v(()=>[{label:k(`Skip to main section`),url:`#main`},...l.additionalSkipLinks??[]]),N=v(()=>_.props.readOnly),F=n(`sidebarToggle`),{announcement:I,announce:L}=M();a(C,e=>L(e)),a(S,e=>L(e)),Se();let z=ee({sidebar:{mode:`floating`,visibility:`hidden`}}),B=P(`(min-width: 1024px)`),V=y(!1),H=v(()=>l.title??_.props.title);a(B,e=>{e?(z.sidebar.mode=`docked`,z.sidebar.visibility=`visible`):(z.sidebar.mode=`floating`,z.sidebar.visibility=`hidden`)},{immediate:!0});function U(){z.sidebar.visibility===`visible`?z.sidebar.visibility=`hidden`:z.sidebar.visibility=`visible`}function W(){z.sidebar.visibility=`hidden`,F.value.focus()}let G=v(()=>z.sidebar.visibility===`visible`?`x`:`bars`),K=v(()=>z.sidebar.mode===`docked`?z.sidebar.visibility===`visible`?`var(--global-sidebar-width)`:`0`:`auto`);return(n,a)=>(r(),m(x,null,[E(b(p),{title:H.value},null,8,[`title`]),E(xe,{debug:!0}),f(`div`,Me,[f(`header`,Ne,[(r(!0),m(x,null,c(j.value,t=>(r(),m(`a`,{key:t.url,href:t.url,class:`skip-link skip-link--global`},e(t.label),9,Pe))),128)),f(`div`,Fe,[b(B)?D(``,!0):(r(),m(`craft-button`,{key:0,icon:``,type:`button`,appearance:`plain`,onClick:U,ref_key:`sidebarToggle`,ref:F},[f(`craft-icon`,{name:G.value,label:b(k)(`Toggle menu`)},null,8,Ie)],512)),b(B)?(r(),T(R,{key:1})):D(``,!0),a[3]||=f(`div`,{class:`ml-auto`},null,-1),f(`craft-button`,Le,[f(`craft-icon`,{name:`search`,label:b(k)(`Search`)},null,8,Re)])]),b(S)?(r(),m(`craft-callout`,ze,e(b(S)),1)):D(``,!0),b(C)?(r(),m(`craft-callout`,Be,e(b(C)),1)):D(``,!0)]),f(`div`,Ve,[E(he,{mode:z.sidebar.mode,visibility:z.sidebar.visibility,onClose:W},null,8,[`mode`,`visibility`])]),f(`div`,He,[O(n.$slots,`main`,{},()=>[O(n.$slots,`breadcrumbs`,{},()=>[A.value?(r(),m(`div`,Ue,[E(ye,{items:A.value},null,8,[`items`])])):D(``,!0)],!0),f(`main`,We,[(r(),T(u(t.form?`form`:`div`),{method:`post`,onSubmit:a[0]||=g(e=>s(`save`),[`prevent`])},{default:i(()=>[O(n.$slots,`header`,{},()=>[f(`div`,{class:d({container:!0,"container--full":t.fullWidth})},[f(`div`,Ge,[f(`div`,Ke,[O(n.$slots,`title`,{},()=>[f(`h1`,qe,e(H.value),1)],!0),O(n.$slots,`title-badge`,{},void 0,!0)]),f(`div`,Je,[O(n.$slots,`actions`,{},()=>[t.form?(r(),m(x,{key:0},[E(re,{"is-active":t.form.recentlySuccessful||t.form.hasErrors},null,8,[`is-active`]),N.value?D(``,!0):(r(),m(`craft-button-group`,$,[f(`craft-button`,{type:`submit`,variant:`primary`,loading:t.form.processing},e(b(k)(`Save`)),9,Ye),E(Z,{icon:`chevron-down`,actions:[{label:b(k)(`Save and continue editing`),onClick:()=>s(`save`,{redirect:!1}),shortcut:`S`},...t.formActions??[]]},{invoker:i(({label:e})=>[f(`craft-button`,Xe,[f(`craft-icon`,{name:`chevron-down`,label:e},null,8,Ze)])]),_:1},8,[`actions`])]))],64)):D(``,!0)],!0)])])],2)],!0),f(`div`,{class:d({container:!0,"container--full":t.fullWidth})},[t.form&&t.form.hasErrors?(r(),T(Ae,{key:0,errors:t.form.errors},null,8,[`errors`])):D(``,!0),N.value?(r(),T(Q,{key:1})):D(``,!0),O(n.$slots,`default`,{},void 0,!0)],2)]),_:3},32))])],!0)]),f(`div`,Qe,[f(`footer`,null,[f(`div`,{class:d({container:!0,"container--full":t.fullWidth})},[O(n.$slots,`footer`,{},void 0,!0)],2)])])]),t.debug?(r(),m(`div`,$e,[f(`div`,et,e(b(I)??`No announcement`),1),f(`div`,null,[V.value?(r(),T(ne,{key:0,data:t.debug,class:`max-h-[50vh] max-w-[600px] overflow-scroll absolute transform -translate-full`},null,8,[`data`])):D(``,!0),V.value?(r(),m(`craft-button`,{key:1,icon:``,type:`button`,onClick:a[1]||=e=>V.value=!1},[f(`craft-icon`,{label:b(k)(`Close Debug panel`),name:`x`},null,8,tt)])):(r(),m(`craft-button`,{key:2,type:`button`,onClick:a[2]||=e=>V.value=!0,icon:``},[f(`craft-icon`,{name:`code`,label:b(k)(`Show debug variables`)},null,8,nt)]))])])):D(``,!0)],64))}}),[[`__scopeId`,`data-v-d3653b41`]]);export{Q as n,Z as r,rt as t}; \ No newline at end of file diff --git a/resources/build/Badge.js b/resources/build/Badge.js new file mode 100644 index 00000000000..a9bbc5eddea --- /dev/null +++ b/resources/build/Badge.js @@ -0,0 +1 @@ +import{I as e,T as t,_ as n,b as r,g as i,z as a}from"./_plugin-vue_export-helper.js";var o=[`variant`],s=[`variant`],c=t({__name:`Badge`,props:{variant:{default:`default`}},setup(t){let c=t,l=i(()=>c.variant===`default`?`empty`:c.variant);return(i,c)=>(e(),r(`craft-callout`,{variant:t.variant,size:`small`,class:`items-center`,inline:``},[n(`craft-indicator`,{slot:`icon`,variant:l.value},null,8,s),n(`span`,null,[a(i.$slots,`default`)])],8,o))}});export{c as t}; \ No newline at end of file diff --git a/resources/build/CalloutReadOnly.js b/resources/build/CalloutReadOnly.js deleted file mode 100644 index 44b4c72ec38..00000000000 --- a/resources/build/CalloutReadOnly.js +++ /dev/null @@ -1 +0,0 @@ -import{C as e,I as t,Q as n,T as r,ct as i,v as a,x as o,z as s}from"./_plugin-vue_export-helper.js";import{s as c}from"./nav-item-DtQ6Tc_l.js";var l={appearance:`fill`,rounded:`start`,class:`border border-b-neutral-border-quiet`},u=r({__name:`CalloutReadOnly`,setup(r){return(r,u)=>(t(),o(`craft-callout`,l,[u[0]||=a(`craft-icon`,{slot:`icon`,name:`custom-icons/gear-slash`},null,-1),s(r.$slots,`default`,{},()=>[e(n(i(c)(`Changes to these settings arenʼt permitted in this environment.`)),1)])]))}});export{u as t}; \ No newline at end of file diff --git a/resources/build/CpGlobalSidebar.js b/resources/build/CpGlobalSidebar.js index 7afa8820a67..b60d087508c 100644 --- a/resources/build/CpGlobalSidebar.js +++ b/resources/build/CpGlobalSidebar.js @@ -1 +1 @@ -import{f as e}from"./Queue-C-Z7zpYZ.js";import{t}from"./lit.js";import{a as n,n as r,o as i,r as a}from"./decorators.js";import{t as o}from"./decorate.js";var s=e({}),c=class extends t{constructor(...e){super(...e),this.state=Craft.getCookie(`sidebar`)??`expanded`}connectedCallback(){super.connectedCallback(),this.trigger&&(this.trigger.addEventListener(`open`,this.expand.bind(this)),this.trigger.addEventListener(`close`,this.collapse.bind(this))),this.state===`expanded`?this.expand():this.collapse()}disconnectedCallback(){super.disconnectedCallback(),this.trigger&&(this.trigger.removeEventListener(`open`,this.expand.bind(this)),this.trigger.removeEventListener(`close`,this.collapse.bind(this))),this.state=`expanded`}itemHasTooltip(e){return e.querySelector(`craft-tooltip`)}createTooltips(){this.items?.forEach(e=>e.setAttribute(`icon-only`,!0))}destroyTooltips(){this.items?.forEach(e=>e.removeAttribute(`icon-only`))}expand(){document.body.setAttribute(`data-sidebar`,`expanded`),Craft.setCookie(`sidebar`,`expanded`),this.destroyTooltips()}collapse(){document.body.setAttribute(`data-sidebar`,`collapsed`),Craft.setCookie(`sidebar`,`collapsed`),this.createTooltips()}createRenderRoot(){return this}};o([r(`craft-nav-item`)],c.prototype,`items`,void 0),o([a(`#sidebar-trigger`)],c.prototype,`trigger`,void 0),o([n({reflect:!0})],c.prototype,`state`,void 0),c=o([i(`cp-global-sidebar`)],c);export{s as t}; \ No newline at end of file +import{p as e}from"./progress-B7_TV7MI.js";import{t}from"./lit.js";import{a as n,n as r,o as i,r as a}from"./decorators.js";import{t as o}from"./decorate.js";var s=e({}),c=class extends t{constructor(...e){super(...e),this.state=Craft.getCookie(`sidebar`)??`expanded`}connectedCallback(){super.connectedCallback(),this.trigger&&(this.trigger.addEventListener(`open`,this.expand.bind(this)),this.trigger.addEventListener(`close`,this.collapse.bind(this))),this.state===`expanded`?this.expand():this.collapse()}disconnectedCallback(){super.disconnectedCallback(),this.trigger&&(this.trigger.removeEventListener(`open`,this.expand.bind(this)),this.trigger.removeEventListener(`close`,this.collapse.bind(this))),this.state=`expanded`}itemHasTooltip(e){return e.querySelector(`craft-tooltip`)}createTooltips(){this.items?.forEach(e=>e.setAttribute(`icon-only`,!0))}destroyTooltips(){this.items?.forEach(e=>e.removeAttribute(`icon-only`))}expand(){document.body.setAttribute(`data-sidebar`,`expanded`),Craft.setCookie(`sidebar`,`expanded`),this.destroyTooltips()}collapse(){document.body.setAttribute(`data-sidebar`,`collapsed`),Craft.setCookie(`sidebar`,`collapsed`),this.createTooltips()}createRenderRoot(){return this}};o([r(`craft-nav-item`)],c.prototype,`items`,void 0),o([a(`#sidebar-trigger`)],c.prototype,`trigger`,void 0),o([n({reflect:!0})],c.prototype,`state`,void 0),c=o([i(`cp-global-sidebar`)],c);export{s as t}; \ No newline at end of file diff --git a/resources/build/CpQueueIndicator.js b/resources/build/CpQueueIndicator.js index de5ef79a183..98c1e4cfde3 100644 --- a/resources/build/CpQueueIndicator.js +++ b/resources/build/CpQueueIndicator.js @@ -1,4 +1,4 @@ -import{f as e,n as t,t as n}from"./Queue-C-Z7zpYZ.js";import{c as r,f as i,r as a,t as o}from"./lit.js";import{a as s,o as c}from"./decorators.js";import{t as l}from"./queue.js";import{t as u}from"./decorate.js";var d=e({default:()=>p}),f=class extends o{constructor(...e){super(...e),this.displayedJob=null,this.hasReservedJobs=!1,this.hasWaitingJobs=!1}static{this.styles=i` +import{p as e,r as t,t as n}from"./progress-B7_TV7MI.js";import{c as r,f as i,r as a,t as o}from"./lit.js";import{a as s,o as c}from"./decorators.js";import{t as l}from"./queue.js";import{t as u}from"./decorate.js";var d=e({default:()=>p}),f=class extends o{constructor(...e){super(...e),this.displayedJob=null,this.hasReservedJobs=!1,this.hasWaitingJobs=!1}static{this.styles=i` :host { display: contents; } diff --git a/resources/build/CraftCombobox.js b/resources/build/CraftCombobox.js new file mode 100644 index 00000000000..2c8ee790fc8 --- /dev/null +++ b/resources/build/CraftCombobox.js @@ -0,0 +1 @@ +import{$ as e,C as t,D as n,I as r,J as i,M as a,R as o,T as s,W as c,Z as l,_ as u,b as d,g as f,lt as p,w as m,x as h,y as g,z as _}from"./_plugin-vue_export-helper.js";import{i as v}from"./nav-item-DCsUKnaY.js";import{t as y}from"./InputCombobox.js";var b=[`label`,`id`,`name`,`disabled`,`has-feedback-for`],x={slot:`after`},S={key:0,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},C={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},w={slot:`feedback`},T={key:0,class:`error-list`},E=s({__name:`CraftCombobox`,props:{modelValue:{type:[String,Boolean,Number]},label:{},id:{},name:{},disabled:{type:Boolean},options:{},callouts:{},error:{},requireOptionMatch:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:E}){let D=E,O=s,k=f({get(){return O.modelValue},set(e){D(`update:modelValue`,e)}}),A=c(),j=f(()=>{let{default:e,...t}=A;return t});return(c,f)=>(r(),d(`craft-input`,a({label:s.label,id:s.id,name:s.name,disabled:s.disabled,"has-feedback-for":s.error?`error`:``},c.$attrs),[m(y,{slot:`input`,modelValue:k.value,"onUpdate:modelValue":f[0]||=e=>k.value=e,options:s.options,label:s.label,"require-option-match":s.requireOptionMatch},h({_:2},[o(j.value,(e,t)=>({name:t,fn:i(e=>[_(c.$slots,t,l(n(e||{})))])}))]),1032,[`modelValue`,`options`,`label`,`require-option-match`]),u(`div`,x,[_(c.$slots,`after`,{},()=>[s.callouts?.includes(`envVars`)?(r(),d(`craft-callout`,S,[t(e(p(v)(`This can begin with an environment variable.`))+` `,1),u(`a`,C,e(p(v)(`Learn more`)),1)])):g(``,!0)])]),u(`div`,w,[s.error?(r(),d(`ul`,T,[u(`li`,null,e(s.error),1)])):g(``,!0)])],16,b))}});export{E as t}; \ No newline at end of file diff --git a/resources/build/CraftInput.js b/resources/build/CraftInput.js index 777566f7c4f..5df33ca0fb0 100644 --- a/resources/build/CraftInput.js +++ b/resources/build/CraftInput.js @@ -1 +1 @@ -import{H as e,I as t,M as n,Q as r,T as i,b as a,j as o,v as s,x as c,z as l}from"./_plugin-vue_export-helper.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=i({name:`CraftInput`,inheritAttrs:!1,__name:`CraftInput`,props:o({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(i){let o=e(i,`modelValue`);return(e,p)=>(t(),c(`craft-input`,n(e.$attrs,{".modelValue":o.value,onModelValueChanged:p[0]||=e=>o.value=e.target?.modelValue,"has-feedback-for":i.error?`error`:``}),[l(e.$slots,`default`),s(`div`,d,[i.error?(t(),c(`ul`,f,[s(`li`,null,r(i.error),1)])):a(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file +import{$ as e,I as t,M as n,T as r,U as i,_ as a,b as o,j as s,y as c,z as l}from"./_plugin-vue_export-helper.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=r({name:`CraftInput`,inheritAttrs:!1,__name:`CraftInput`,props:s({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let s=i(r,`modelValue`);return(i,p)=>(t(),o(`craft-input`,n(i.$attrs,{".modelValue":s.value,onModelValueChanged:p[0]||=e=>s.value=e.target?.modelValue,"has-feedback-for":r.error?`error`:``}),[l(i.$slots,`default`),a(`div`,d,[r.error?(t(),o(`ul`,f,[a(`li`,null,e(r.error),1)])):c(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/CraftInputHandle.js b/resources/build/CraftInputHandle.js new file mode 100644 index 00000000000..4b6e9441593 --- /dev/null +++ b/resources/build/CraftInputHandle.js @@ -0,0 +1 @@ +import{$ as e,I as t,M as n,T as r,U as i,_ as a,b as o,j as s,y as c,z as l}from"./_plugin-vue_export-helper.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=r({name:`CraftInputHandle`,inheritAttrs:!1,__name:`CraftInputHandle`,props:s({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let s=i(r,`modelValue`);return(i,p)=>(t(),o(`craft-input-handle`,n(i.$attrs,{".modelValue":s.value,onModelValueChanged:p[0]||=e=>s.value=e.target?.modelValue,"has-feedback-for":r.error?`error`:``}),[l(i.$slots,`default`),a(`div`,d,[r.error?(t(),o(`ul`,f,[a(`li`,null,e(r.error),1)])):c(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/Date.js b/resources/build/Date.js index 0257bd2cfbd..f30e1a1f83f 100644 --- a/resources/build/Date.js +++ b/resources/build/Date.js @@ -1 +1 @@ -import{Q as e,T as t,_ as n}from"./_plugin-vue_export-helper.js";var r=t({__name:`Date`,props:{value:{},locale:{}},setup(t){let r=t,i=n(()=>`en-US`),a=n(()=>({year:`numeric`,month:`long`,day:`numeric`})),o=n(()=>new Date(r.value).toLocaleString(i.value,a.value));return(t,n)=>e(o.value)}});export{r as t}; \ No newline at end of file +import{$ as e,T as t,g as n}from"./_plugin-vue_export-helper.js";var r=t({__name:`Date`,props:{value:{},locale:{}},setup(t){let r=t,i=n(()=>`en-US`),a=n(()=>({year:`numeric`,month:`long`,day:`numeric`})),o=n(()=>new Date(r.value).toLocaleString(i.value,a.value));return(t,n)=>e(o.value)}});export{r as t}; \ No newline at end of file diff --git a/resources/build/DeleteButton.js b/resources/build/DeleteButton.js index 41114c1676a..7fe77928fb1 100644 --- a/resources/build/DeleteButton.js +++ b/resources/build/DeleteButton.js @@ -1 +1 @@ -import{I as e,M as t,T as n,v as r,x as i}from"./_plugin-vue_export-helper.js";import{s as a}from"./nav-item-DtQ6Tc_l.js";var o=[`name`,`label`],s=n({__name:`DeleteButton`,props:{label:{default:a(`Delete item`)},icon:{default:`x`}},emits:[`click`],setup(n,{emit:a}){let s=a;return(a,c)=>(e(),i(`craft-button`,t({type:`button`,onClick:c[0]||=e=>s(`click`),size:`small`,appearance:`plain`,variant:`danger`},a.$attrs),[r(`craft-icon`,{name:n.icon,label:n.label},null,8,o)],16))}});export{s as t}; \ No newline at end of file +import{I as e,M as t,T as n,_ as r,b as i}from"./_plugin-vue_export-helper.js";import{i as a}from"./nav-item-DCsUKnaY.js";var o=[`name`,`label`],s=n({__name:`DeleteButton`,props:{label:{default:a(`Delete item`)},icon:{default:`x`}},emits:[`click`],setup(n,{emit:a}){let s=a;return(a,c)=>(e(),i(`craft-button`,t({type:`button`,onClick:c[0]||=e=>s(`click`),size:`small`,appearance:`plain`,variant:`danger`},a.$attrs),[r(`craft-icon`,{name:n.icon,label:n.label},null,8,o)],16))}});export{s as t}; \ No newline at end of file diff --git a/resources/build/DeleteSiteModal.js b/resources/build/DeleteSiteModal.js index 9f68546824c..78bf7fa561b 100644 --- a/resources/build/DeleteSiteModal.js +++ b/resources/build/DeleteSiteModal.js @@ -1 +1 @@ -import{I as e,Q as t,R as n,T as r,_ as i,b as a,c as o,ct as s,m as c,q as l,r as u,s as d,v as f,x as p,y as m}from"./_plugin-vue_export-helper.js";import{s as h}from"./nav-item-DtQ6Tc_l.js";import{t as g}from"./ModalForm.js";import{n as _,t as v}from"./wayfinder.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},y.url=e=>y.definition.url+_(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b=e=>({url:b.url(e),method:`get`});b.definition={methods:[`get`,`head`],url:`/admin/settings/sites/new`},b.url=e=>b.definition.url+_(e),b.get=e=>({url:b.url(e),method:`get`}),b.head=e=>({url:b.url(e),method:`head`});var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/settings/sites/reorder`},x.url=e=>x.definition.url+_(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/sites`},S.url=e=>S.definition.url+_(e),S.post=e=>({url:S.url(e),method:`post`});var C=(e,t)=>({url:C.url(e,t),method:`delete`});C.definition={methods:[`delete`],url:`/admin/settings/sites/{site}`},C.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),Array.isArray(e)&&(e={site:e[0]}),e=v(e);let n={site:e.site};return C.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+_(t)},C.delete=(e,t)=>({url:C.url(e,t),method:`delete`});var w=(e,t)=>({url:w.url(e,t),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/settings/sites/{site}`},w.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),typeof e==`object`&&!Array.isArray(e)&&`id`in e&&(e={site:e.id}),Array.isArray(e)&&(e={site:e[0]}),e=v(e);let n={site:typeof e.site==`object`?e.site.id:e.site};return w.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+_(t)},w.get=(e,t)=>({url:w.url(e,t),method:`get`}),w.head=(e,t)=>({url:w.url(e,t),method:`head`});var T={class:`grid gap-3`},E=[`label`,`help-text`,`.modelValue`],D=[`label`,`checked`],O=[`label`,`checked`],k=[`label`],A=[`label`,`.modelValue`],j={slot:`input`},M={value:``},N=[`selected`,`value`],P={slot:`feedback`},F={key:0,class:`error-list`},I=r({__name:`DeleteSiteModal`,props:{open:{type:Boolean,default:!1},site:{}},emits:[`close`],setup(r,{emit:_}){let v=_,y=r,b=o(),x=i(()=>b.props.transferContentOptions?b.props.transferContentOptions.filter(e=>e.id!==y.site.id):[]),S=d({id:y.site.id,contentDestination:`transfer`,transferContentTo:null});async function w(){I()}function I(){S.clearErrors().delete(C(y.site.id).url,{onSuccess:()=>{v(`close`),S.reset()}})}function L(){v(`close`),S.clearErrors(),S.reset()}return(i,o)=>(e(),m(g,{title:s(h)(`Delete {site}`,{site:r.site.name}),"is-active":r.open,onClose:L,onSubmit:w,loading:s(S).processing,"submit-label":s(h)(`Delete`)},{default:l(()=>[f(`div`,T,[f(`craft-radio-group`,{name:`contentDestination`,label:s(h)(`Content Destination`),"help-text":s(h)(`What do you want to do with any content that is only available in {siteName}?`,{siteName:r.site.name}),".modelValue":s(S).contentDestination,onModelValueChanged:o[0]||=e=>s(S).contentDestination=e.target.modelValue},[f(`craft-radio`,{label:s(h)(`Transfer it`),".choiceValue":`transfer`,checked:s(S).contentDestination===`transfer`},null,40,D),f(`craft-radio`,{label:s(h)(`Delete it`),".choiceValue":`delete`,checked:s(S).contentDestination===`delete`},null,40,O)],40,E),s(S).contentDestination===`transfer`?(e(),m(s(u),{key:0,data:`transferContentOptions`},{fallback:l(()=>[f(`craft-input`,{disabled:``,label:s(h)(`Transfer content to`)},null,8,k)]),default:l(()=>[f(`craft-select`,{label:s(h)(`Transfer content to`),id:`transfer-to`,name:`transferContentTo`,".modelValue":s(S).transferContentTo,onModelValueChanged:o[1]||=e=>s(S).transferContentTo=e.target.modelValue},[f(`select`,j,[f(`option`,M,t(s(h)(`Select site`)),1),(e(!0),p(c,null,n(x.value,n=>(e(),p(`option`,{key:n.id,selected:n.id===s(S).transferContentTo,value:n.id},t(n.name),9,N))),128))]),f(`div`,P,[s(S).errors?.transferContentTo?(e(),p(`ul`,F,[f(`li`,null,t(s(S).errors.transferContentTo),1)])):a(``,!0)])],40,A)]),_:1})):a(``,!0)])]),_:1},8,[`title`,`is-active`,`loading`,`submit-label`]))}});export{S as a,x as i,b as n,w as r,I as t}; \ No newline at end of file +import{$ as e,I as t,J as n,R as r,T as i,_ as a,b as o,c as s,g as c,lt as l,p as u,r as d,s as f,v as p,y as m}from"./_plugin-vue_export-helper.js";import{i as h}from"./nav-item-DCsUKnaY.js";import{n as g,t as _}from"./wayfinder.js";import{t as v}from"./ModalForm.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},y.url=e=>y.definition.url+g(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b=e=>({url:b.url(e),method:`get`});b.definition={methods:[`get`,`head`],url:`/admin/settings/sites/new`},b.url=e=>b.definition.url+g(e),b.get=e=>({url:b.url(e),method:`get`}),b.head=e=>({url:b.url(e),method:`head`});var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/settings/sites/reorder`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/sites`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=(e,t)=>({url:C.url(e,t),method:`delete`});C.definition={methods:[`delete`],url:`/admin/settings/sites/{site}`},C.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:e.site};return C.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},C.delete=(e,t)=>({url:C.url(e,t),method:`delete`});var w=(e,t)=>({url:w.url(e,t),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/settings/sites/{site}`},w.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),typeof e==`object`&&!Array.isArray(e)&&`id`in e&&(e={site:e.id}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:typeof e.site==`object`?e.site.id:e.site};return w.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},w.get=(e,t)=>({url:w.url(e,t),method:`get`}),w.head=(e,t)=>({url:w.url(e,t),method:`head`});var T={class:`grid gap-3`},E=[`label`,`help-text`,`.modelValue`],D=[`label`,`checked`],O=[`label`,`checked`],k=[`label`],A=[`label`,`.modelValue`],j={slot:`input`},M={value:``},N=[`selected`,`value`],P={slot:`feedback`},F={key:0,class:`error-list`},I=i({__name:`DeleteSiteModal`,props:{open:{type:Boolean,default:!1},site:{}},emits:[`close`],setup(i,{emit:g}){let _=g,y=i,b=s(),x=c(()=>b.props.transferContentOptions?b.props.transferContentOptions.filter(e=>e.id!==y.site.id):[]),S=f({id:y.site.id,contentDestination:`transfer`,transferContentTo:null});async function w(){I()}function I(){S.clearErrors().delete(C(y.site.id).url,{onSuccess:()=>{_(`close`),S.reset()}})}function L(){_(`close`),S.clearErrors(),S.reset()}return(s,c)=>(t(),p(v,{title:l(h)(`Delete {site}`,{site:i.site.name}),"is-active":i.open,onClose:L,onSubmit:w,loading:l(S).processing,"submit-label":l(h)(`Delete`)},{default:n(()=>[a(`div`,T,[a(`craft-radio-group`,{name:`contentDestination`,label:l(h)(`Content Destination`),"help-text":l(h)(`What do you want to do with any content that is only available in {siteName}?`,{siteName:i.site.name}),".modelValue":l(S).contentDestination,onModelValueChanged:c[0]||=e=>l(S).contentDestination=e.target.modelValue},[a(`craft-radio`,{label:l(h)(`Transfer it`),".choiceValue":`transfer`,checked:l(S).contentDestination===`transfer`},null,40,D),a(`craft-radio`,{label:l(h)(`Delete it`),".choiceValue":`delete`,checked:l(S).contentDestination===`delete`},null,40,O)],40,E),l(S).contentDestination===`transfer`?(t(),p(l(d),{key:0,data:`transferContentOptions`},{fallback:n(()=>[a(`craft-input`,{disabled:``,label:l(h)(`Transfer content to`)},null,8,k)]),default:n(()=>[a(`craft-select`,{label:l(h)(`Transfer content to`),id:`transfer-to`,name:`transferContentTo`,".modelValue":l(S).transferContentTo,onModelValueChanged:c[1]||=e=>l(S).transferContentTo=e.target.modelValue},[a(`select`,j,[a(`option`,M,e(l(h)(`Select site`)),1),(t(!0),o(u,null,r(x.value,n=>(t(),o(`option`,{key:n.id,selected:n.id===l(S).transferContentTo,value:n.id},e(n.name),9,N))),128))]),a(`div`,P,[l(S).errors?.transferContentTo?(t(),o(`ul`,F,[a(`li`,null,e(l(S).errors.transferContentTo),1)])):m(``,!0)])],40,A)]),_:1})):m(``,!0)])]),_:1},8,[`title`,`is-active`,`loading`,`submit-label`]))}});export{S as a,x as i,b as n,w as r,I as t}; \ No newline at end of file diff --git a/resources/build/DynamicHtmlRenderer.js b/resources/build/DynamicHtmlRenderer.js index aa1c81d9a38..776d1362b49 100644 --- a/resources/build/DynamicHtmlRenderer.js +++ b/resources/build/DynamicHtmlRenderer.js @@ -1 +1 @@ -import{B as e,I as t,T as n,_ as r,b as i,y as a}from"./_plugin-vue_export-helper.js";var o=n({__name:`DynamicHtmlRenderer`,props:{html:{}},setup(o){let s=o,c=r(()=>n({template:s.html}));return(n,r)=>o.html?(t(),a(e(c.value),{key:0})):i(``,!0)}});export{o as t}; \ No newline at end of file +import{I as e,T as t,V as n,g as r,v as i,y as a}from"./_plugin-vue_export-helper.js";var o=t({__name:`DynamicHtmlRenderer`,props:{html:{}},setup(o){let s=o,c=r(()=>t({template:s.html}));return(t,r)=>o.html?(e(),i(n(c.value),{key:0})):a(``,!0)}});export{o as t}; \ No newline at end of file diff --git a/resources/build/GraphQlSchemasPage.js b/resources/build/GraphQlSchemasPage.js index 44141cc046d..244e1d6f41e 100644 --- a/resources/build/GraphQlSchemasPage.js +++ b/resources/build/GraphQlSchemasPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,ct as a,lt as o,q as s,w as c,y as l}from"./_plugin-vue_export-helper.js";import{s as u}from"./nav-item-DtQ6Tc_l.js";import{c as d,t as f,u as p}from"./AdminTable.js";import{r as m}from"./useAnnouncer.js";import{t as h}from"./Pane.js";import{n as g,t as _}from"./wayfinder.js";import{t as v}from"./AppLayout.js";import{t as y}from"./createCraftColumnHelper.js";import{t as b}from"./DeleteButton.js";var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/actions/graphql/save-schema`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/save-public-schema`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`get`});C.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas`},C.url=e=>C.definition.url+g(e),C.get=e=>({url:C.url(e),method:`get`}),C.head=e=>({url:C.url(e),method:`head`});var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/new`},w.url=e=>w.definition.url+g(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/public`},T.url=e=>T.definition.url+g(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/{schemaId}`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return E.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`delete`});D.definition={methods:[`delete`],url:`/admin/graphql/schemas/{schemaId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return D.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},D.delete=(e,t)=>({url:D.url(e,t),method:`delete`});var O=i({__name:`GraphQlSchemasPage`,props:{schemas:{},readOnly:{type:Boolean}},setup(i){let g=i;function _(e){confirm(u(`Are you sure you want to delete the “{name}” schema?`,{name:e.name}))&&o.delete(D(e.id))}let x=y(),S=d({get columns(){return[x.link(`name`,{props:({row:e})=>({href:e.original.isPublic?T():E(e.original.id).url,inertia:!1}),header:u(`Name`)}),x.display({id:`scope`,header:u(`Scope`),cell:({row:e})=>e.original.scope.join(`, `)}),x.display({id:`public`,header:u(`Public`),cell:({row:e})=>e.original.isPublic?`Yes`:`No`}),x.actions(({row:e})=>[e.original.isPublic?null:n(b,{onClick:()=>_(e.original)})])]},get data(){return g.schemas},state:{get columnVisibility(){return{name:!0,public:!0,actions:!g.readOnly}}},enableSorting:!1,getCoreRowModel:p()});return(n,i)=>(t(),l(v,null,{actions:s(()=>[c(m,{href:a(w).url(),icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:s(()=>[e(r(a(u)(`New schema`)),1)]),_:1},8,[`href`])]),default:s(()=>[c(h,{padding:0},{default:s(()=>[c(f,{table:a(S)},null,8,[`table`])]),_:1})]),_:1}))}});export{O as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,lt as o,ut as s,v as c,w as l}from"./_plugin-vue_export-helper.js";import{i as u}from"./nav-item-DCsUKnaY.js";import{c as d,t as f,u as p}from"./AdminTable.js";import{a as m}from"./InlineFlash.js";import{t as h}from"./Pane.js";import{n as g,t as _}from"./wayfinder.js";import{t as v}from"./AppLayout.js";import{t as y}from"./createCraftColumnHelper.js";import{t as b}from"./DeleteButton.js";var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/actions/graphql/save-schema`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/save-public-schema`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`get`});C.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas`},C.url=e=>C.definition.url+g(e),C.get=e=>({url:C.url(e),method:`get`}),C.head=e=>({url:C.url(e),method:`head`});var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/new`},w.url=e=>w.definition.url+g(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/public`},T.url=e=>T.definition.url+g(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/{schemaId}`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return E.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`delete`});D.definition={methods:[`delete`],url:`/admin/graphql/schemas/{schemaId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return D.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},D.delete=(e,t)=>({url:D.url(e,t),method:`delete`});var O=a({__name:`GraphQlSchemasPage`,props:{schemas:{},readOnly:{type:Boolean}},setup(a){let g=a;function _(e){confirm(u(`Are you sure you want to delete the “{name}” schema?`,{name:e.name}))&&s.delete(D(e.id))}let x=y(),S=d({get columns(){return[x.link(`name`,{props:({row:e})=>({href:e.original.isPublic?T():E(e.original.id).url,inertia:!1}),header:u(`Name`)}),x.display({id:`scope`,header:u(`Scope`),cell:({row:e})=>e.original.scope.join(`, `)}),x.display({id:`public`,header:u(`Public`),cell:({row:e})=>e.original.isPublic?`Yes`:`No`}),x.actions(({row:e})=>[e.original.isPublic?null:i(b,{onClick:()=>_(e.original)})])]},get data(){return g.schemas},state:{get columnVisibility(){return{name:!0,public:!0,actions:!g.readOnly}}},enableSorting:!1,getCoreRowModel:p()});return(i,a)=>(n(),c(v,null,{actions:r(()=>[l(m,{href:o(w).url(),icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:r(()=>[t(e(o(u)(`New schema`)),1)]),_:1},8,[`href`])]),default:r(()=>[l(h,{padding:0,appearance:`raised`},{default:r(()=>[l(f,{table:o(S)},null,8,[`table`])]),_:1})]),_:1}))}});export{O as default}; \ No newline at end of file diff --git a/resources/build/GraphQlTokensPage.js b/resources/build/GraphQlTokensPage.js index c8295fd5e28..705d5317e8c 100644 --- a/resources/build/GraphQlTokensPage.js +++ b/resources/build/GraphQlTokensPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,ct as a,lt as o,q as s,w as c,y as l}from"./_plugin-vue_export-helper.js";import{s as u}from"./nav-item-DtQ6Tc_l.js";import{c as d,n as f,t as p,u as m}from"./AdminTable.js";import{r as h}from"./useAnnouncer.js";import{t as g}from"./Pane.js";import{n as _,t as v}from"./wayfinder.js";import{t as y}from"./AppLayout.js";import{t as b}from"./createCraftColumnHelper.js";import{t as x}from"./DeleteButton.js";var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/generate-token`},S.url=e=>S.definition.url+_(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`post`});C.definition={methods:[`post`],url:`/admin/actions/graphql/save-token`},C.url=e=>C.definition.url+_(e),C.post=e=>({url:C.url(e),method:`post`});var w=e=>({url:w.url(e),method:`post`});w.definition={methods:[`post`],url:`/admin/actions/graphql/fetch-token`},w.url=e=>w.definition.url+_(e),w.post=e=>({url:w.url(e),method:`post`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens`},T.url=e=>T.definition.url+_(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/new`},E.url=e=>E.definition.url+_(e),E.get=e=>({url:E.url(e),method:`get`}),E.head=e=>({url:E.url(e),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/{tokenId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return D.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},D.get=(e,t)=>({url:D.url(e,t),method:`get`}),D.head=(e,t)=>({url:D.url(e,t),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`delete`});O.definition={methods:[`delete`],url:`/admin/graphql/tokens/{tokenId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return O.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},O.delete=(e,t)=>({url:O.url(e,t),method:`delete`});var k=i({__name:`GraphQlTokensPage`,props:{tokens:{},dates:{},readOnly:{type:Boolean}},setup(i){let _=i;function v(e){confirm(u(`Are you sure you want to delete the “{name}” token?`,{name:e.name}))&&o.delete(O(e.id))}let S=b(),C=d({get columns(){return[S.link(`name`,{header:u(`Name`),props:({row:e})=>({href:D(e.original.id).url,inertia:!1})}),S.date(`lastUsed`,{header:u(`Last Used`)}),S.date(`expiryDate`,{header:u(`Expires`)}),S.actions(({row:e})=>[n(x,{onClick:()=>v(e.original)})])]},get data(){return _.tokens},state:{get columnVisibility(){return{name:!0,lastUsed:!0,expiryDate:!0,actions:!_.readOnly}}},enableSorting:!1,getCoreRowModel:m()});return(n,i)=>(t(),l(y,null,{actions:s(()=>[c(h,{href:a(E)().url,icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:s(()=>[e(r(a(u)(`New token`)),1)]),_:1},8,[`href`])]),default:s(()=>[c(g,{padding:0},{default:s(()=>[c(p,{table:a(C)},{"empty-row":s(()=>[c(f,{label:a(u)(`No GraphQL tokens exist yet.`)},{default:s(()=>[c(h,{href:a(E)().url,icon:`plus`,inertia:!1,appearance:`button`},{default:s(()=>[e(r(a(u)(`New token`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,lt as o,ut as s,v as c,w as l}from"./_plugin-vue_export-helper.js";import{i as u}from"./nav-item-DCsUKnaY.js";import{c as d,n as f,t as p,u as m}from"./AdminTable.js";import{a as h}from"./InlineFlash.js";import{t as g}from"./Pane.js";import{n as _,t as v}from"./wayfinder.js";import{t as y}from"./AppLayout.js";import{t as b}from"./createCraftColumnHelper.js";import{t as x}from"./DeleteButton.js";var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/generate-token`},S.url=e=>S.definition.url+_(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`post`});C.definition={methods:[`post`],url:`/admin/actions/graphql/save-token`},C.url=e=>C.definition.url+_(e),C.post=e=>({url:C.url(e),method:`post`});var w=e=>({url:w.url(e),method:`post`});w.definition={methods:[`post`],url:`/admin/actions/graphql/fetch-token`},w.url=e=>w.definition.url+_(e),w.post=e=>({url:w.url(e),method:`post`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens`},T.url=e=>T.definition.url+_(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/new`},E.url=e=>E.definition.url+_(e),E.get=e=>({url:E.url(e),method:`get`}),E.head=e=>({url:E.url(e),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/{tokenId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return D.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},D.get=(e,t)=>({url:D.url(e,t),method:`get`}),D.head=(e,t)=>({url:D.url(e,t),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`delete`});O.definition={methods:[`delete`],url:`/admin/graphql/tokens/{tokenId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return O.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},O.delete=(e,t)=>({url:O.url(e,t),method:`delete`});var k=a({__name:`GraphQlTokensPage`,props:{tokens:{},dates:{},readOnly:{type:Boolean}},setup(a){let _=a;function v(e){confirm(u(`Are you sure you want to delete the “{name}” token?`,{name:e.name}))&&s.delete(O(e.id))}let S=b(),C=d({get columns(){return[S.link(`name`,{header:u(`Name`),props:({row:e})=>({href:D(e.original.id).url,inertia:!1})}),S.date(`lastUsed`,{header:u(`Last Used`)}),S.date(`expiryDate`,{header:u(`Expires`)}),S.actions(({row:e})=>[i(x,{onClick:()=>v(e.original)})])]},get data(){return _.tokens},state:{get columnVisibility(){return{name:!0,lastUsed:!0,expiryDate:!0,actions:!_.readOnly}}},enableSorting:!1,getCoreRowModel:m()});return(i,a)=>(n(),c(y,null,{actions:r(()=>[l(h,{href:o(E)().url,icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:r(()=>[t(e(o(u)(`New token`)),1)]),_:1},8,[`href`])]),default:r(()=>[l(g,{padding:0,appearance:`raised`},{default:r(()=>[l(p,{table:o(C)},{"empty-row":r(()=>[l(f,{label:o(u)(`No GraphQL tokens exist yet.`)},{default:r(()=>[l(h,{href:o(E)().url,icon:`plus`,inertia:!1,appearance:`button`},{default:r(()=>[t(e(o(u)(`New token`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file diff --git a/resources/build/IndexLayout.js b/resources/build/IndexLayout.js index b467cc6026d..61f8937fc5a 100644 --- a/resources/build/IndexLayout.js +++ b/resources/build/IndexLayout.js @@ -1 +1 @@ -import{C as e,D as t,G as n,I as r,Q as i,R as a,S as o,T as s,U as c,X as l,Z as u,_ as d,b as f,ct as p,q as m,rt as h,t as g,v as _,x as v,y,z as b}from"./_plugin-vue_export-helper.js";import{s as x}from"./nav-item-DtQ6Tc_l.js";import{r as S}from"./dist.js";import{t as C}from"./AppLayout.js";var w={class:`index-grid`},T=[`aria-expanded`],E=[`name`],D={key:1,id:`nav-container`},O={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm @container`},k=g(s({__name:`IndexLayout`,props:{title:{},pageTitle:{},debug:{}},setup(s){let g=c(),k=S(`(min-width: 768px)`),A=h(`expanded`),j=d(()=>{let{default:e,...t}=g;return t}),M=d(()=>A.value===`expanded`?x(`Hide sidebar`):x(`Show sidebar`));function N(){A.value=A.value===`expanded`?`collapsed`:`expanded`}return n(k,e=>{A.value=e?`expanded`:`collapsed`},{immediate:!0}),(n,c)=>(r(),y(C,{"full-width":!0,title:s.title,debug:s.debug},o({default:m(()=>[_(`div`,w,[_(`div`,null,[p(k)?f(``,!0):(r(),v(`craft-button`,{key:0,type:`button`,"aria-controls":`nav-container`,"aria-expanded":A.value===`expanded`,onClick:N,align:`start`,class:`text-sm py-0 min-h-0`},[_(`craft-icon`,{slot:`suffix`,name:A.value===`expanded`?`chevron-up`:`chevron-down`,style:u({fontSize:`0.8em`,position:`relative`,insetBlockStart:A.value===`expanded`?`1px`:0})},null,12,E),e(` `+i(M.value),1)],8,T)),A.value===`expanded`?(r(),v(`div`,D,[b(n.$slots,`interior-nav`,{state:A.value},void 0,!0)])):f(``,!0)]),_(`div`,O,[b(n.$slots,`default`,{},void 0,!0)])])]),_:2},[a(j.value,(e,r)=>({name:r,fn:m(e=>[b(n.$slots,r,l(t(e||{})),void 0,!0)])}))]),1032,[`title`,`debug`]))}}),[[`__scopeId`,`data-v-2b99bb31`]]);export{k as t}; \ No newline at end of file +import{$ as e,C as t,D as n,I as r,J as i,K as a,Q as o,R as s,T as c,W as l,Z as u,_ as d,b as f,g as p,it as m,lt as h,t as g,v as _,x as v,y,z as b}from"./_plugin-vue_export-helper.js";import{i as x}from"./nav-item-DCsUKnaY.js";import{r as S}from"./dist.js";import{t as C}from"./AppLayout.js";var w={class:`index-grid`},T=[`aria-label`],E=[`aria-expanded`],D=[`name`],O={key:1,id:`nav-container`},k={id:`content-pane`,class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm @container`,tabindex:`-1`},A=g(c({__name:`IndexLayout`,props:{title:{},pageTitle:{},debug:{}},setup(c){let g=l(),A=S(`(min-width: 768px)`),j=m(`expanded`),M=p(()=>{let{default:e,...t}=g;return t}),N=p(()=>j.value===`expanded`?x(`Hide sidebar`):x(`Show sidebar`));function P(){j.value=j.value===`expanded`?`collapsed`:`expanded`}let F=[{label:x(`Skip to secondary navigation`),url:`#secondary-nav`},{label:x(`Skip to content`),url:`#content-pane`}];return a(A,e=>{j.value=e?`expanded`:`collapsed`},{immediate:!0}),(a,l)=>(r(),_(C,{"full-width":!0,title:c.title,debug:c.debug,"additional-skip-links":F},v({default:i(()=>[d(`div`,w,[d(`nav`,{id:`secondary-nav`,"aria-label":h(x)(`Secondary`),tabindex:`-1`},[h(A)?y(``,!0):(r(),f(`craft-button`,{key:0,type:`button`,"aria-controls":`nav-container`,"aria-expanded":j.value===`expanded`,onClick:P,align:`start`,class:`text-sm py-0 min-h-0`},[d(`craft-icon`,{slot:`suffix`,name:j.value===`expanded`?`chevron-up`:`chevron-down`,style:o({fontSize:`0.8em`,position:`relative`,insetBlockStart:j.value===`expanded`?`1px`:0})},null,12,D),t(` `+e(N.value),1)],8,E)),j.value===`expanded`?(r(),f(`div`,O,[b(a.$slots,`interior-nav`,{state:j.value},void 0,!0)])):y(``,!0)],8,T),d(`div`,k,[b(a.$slots,`default`,{},void 0,!0)])])]),_:2},[s(M.value,(e,t)=>({name:t,fn:i(e=>[b(a.$slots,t,u(n(e||{})),void 0,!0)])}))]),1032,[`title`,`debug`]))}}),[[`__scopeId`,`data-v-cb41a3f1`]]);export{A as t}; \ No newline at end of file diff --git a/resources/build/InlineFlash.js b/resources/build/InlineFlash.js new file mode 100644 index 00000000000..3a5428643b0 --- /dev/null +++ b/resources/build/InlineFlash.js @@ -0,0 +1 @@ +import{$ as e,D as t,I as n,J as r,T as i,X as a,Z as o,_ as s,b as c,c as l,g as u,it as d,l as f,lt as p,o as m,t as h,v as g,y as _,z as v}from"./_plugin-vue_export-helper.js";var y=h(i({__name:`VarDump`,props:{data:{}},setup(r){return(i,a)=>(n(),c(`pre`,o(t(i.$attrs)),e(JSON.stringify(r.data,null,2)),17))}}),[[`__scopeId`,`data-v-db798251`]]),b={class:`flex gap-1 items-center`},x=[`name`],S=[`href`],C={class:`flex gap-1 items-center`},w=[`name`],T=h(i({__name:`CpLink`,props:{as:{},onClick:{},component:{},data:{},method:{},replace:{type:Boolean},preserveScroll:{type:[Boolean,String,Function]},preserveState:{type:[Boolean,String,Function]},preserveUrl:{type:Boolean},only:{},except:{},headers:{},queryStringArrayFormat:{},async:{type:Boolean},viewTransition:{type:[Boolean,Function]},onCancelToken:{},onBefore:{},onBeforeUpdate:{},onStart:{},onProgress:{},onFinish:{},onCancel:{},onSuccess:{},onError:{},onHttpException:{},onNetworkError:{},onFlash:{},onPrefetched:{},onPrefetching:{},href:{},instant:{type:Boolean},pageProps:{},prefetch:{type:[Boolean,String,Array]},cacheFor:{},cacheTags:{},variant:{default:`default`},size:{default:`medium`},appearance:{default:`inline`},icon:{},block:{type:Boolean,default:!1},inertia:{type:Boolean,default:!0}},setup(e){let t=e,i=u(()=>({block:t.block,"inline-flex":!t.block,"cp-link":!0,"cp-link--zero":t.size===`zero`,"cp-link--small":t.size===`small`,"cp-link--medium":t.size===`medium`,"cp-link--large":t.size===`large`,"cp-link--inline":t.appearance===`inline`,"cp-link--button":t.appearance===`button`,"cp-link--default":t.variant===`default`,"cp-link--primary":t.variant===`primary`,"cp-link--danger":t.variant===`danger`})),o=u(()=>typeof t.href==`string`?t.href:t.href?.url);return(t,l)=>e.inertia?(n(),g(p(m),{key:0,as:e.as,href:e.href,class:a(i.value)},{default:r(()=>[s(`div`,b,[e.icon?(n(),c(`craft-icon`,{key:0,name:e.icon},null,8,x)):_(``,!0),v(t.$slots,`default`,{},void 0,!0)])]),_:3},8,[`as`,`href`,`class`])):(n(),c(`a`,{key:1,href:o.value,class:a(i.value)},[s(`div`,C,[e.icon?(n(),c(`craft-icon`,{key:0,name:e.icon},null,8,w)):_(``,!0),v(t.$slots,`default`,{},void 0,!0)])],10,S))}}),[[`__scopeId`,`data-v-e0a6c612`]]),E={};function D(e,t){return n(),g(f,{name:`fade`},{default:r(()=>[v(e.$slots,`default`,{},void 0,!0)]),_:3})}var O=h(E,[[`render`,D],[`__scopeId`,`data-v-623c0700`]]),k=d(null),A=d(0);function j(e={}){function t(t){t&&(A.value&&clearTimeout(A.value),k.value=t,A.value=setTimeout(()=>{k.value=null},e.timeout||5e3))}return{announcement:k,announce:t}}function M(){let e=l(),t=u(()=>e.props.flash);return{flash:t,successFlash:u(()=>t.value.success),errorFlash:u(()=>t.value.error)}}var N={key:0,variant:`success`,appearance:`plain`,icon:`circle-check`,inline:``,class:`p-0`},P={key:1,variant:`danger`,appearance:`plain`,icon:`triangle-exclamation`,inline:``,class:`p-0`},F=i({__name:`InlineFlash`,props:{isActive:{type:Boolean,default:!1}},setup(t){let{successFlash:i,errorFlash:a}=M();return(o,s)=>(n(),g(O,null,{default:r(()=>[t.isActive&&p(i)?(n(),c(`craft-callout`,N,e(p(i)),1)):_(``,!0),t.isActive&&p(a)?(n(),c(`craft-callout`,P,e(p(a)),1)):_(``,!0)]),_:1}))}});export{T as a,O as i,M as n,y as o,j as r,F as t}; \ No newline at end of file diff --git a/resources/build/Input.js b/resources/build/Input.js deleted file mode 100644 index fa06f0bb4e2..00000000000 --- a/resources/build/Input.js +++ /dev/null @@ -1 +0,0 @@ -import{H as e,I as t,J as n,M as r,Q as i,T as a,b as o,d as s,j as c,v as l,x as u}from"./_plugin-vue_export-helper.js";var d=[`label`,`name`,`disabled`],f={key:0,class:`error-list`,slot:`feedback`},p=a({__name:`Input`,props:c({label:{},name:{},error:{},disabled:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(a){let c=e(a,`modelValue`);return(e,p)=>n((t(),u(`craft-input`,r({label:a.label,name:a.name,disabled:a.disabled,"onUpdate:modelValue":p[0]||=e=>c.value=e},e.$attrs),[a.error?(t(),u(`ul`,f,[l(`li`,null,i(a.error),1)])):o(``,!0)],16,d)),[[s,c.value]])}});export{p as t}; \ No newline at end of file diff --git a/resources/build/InputCombobox.js b/resources/build/InputCombobox.js index 1397e11737f..8aa6e85069b 100644 --- a/resources/build/InputCombobox.js +++ b/resources/build/InputCombobox.js @@ -1,4 +1,4 @@ -import{A as e,C as t,F as n,G as r,I as i,K as a,L as o,N as s,O as c,P as l,Q as u,R as d,T as f,W as p,Y as m,Z as h,_ as g,at as _,b as v,ct as y,g as b,it as x,m as S,nt as C,q as w,rt as T,st as E,t as D,tt as O,v as k,w as A,x as j,y as M,z as N}from"./_plugin-vue_export-helper.js";import{a as ee,c as P,d as te,f as F,i as ne,l as I,m as L,n as R,o as z,p as B,r as V,s as re,t as H,u as U}from"./keyboard.js";function W(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.lengthr[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length{r=e},o}function ie(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var ae=(e,t)=>Math.abs(e-t)<1.01,oe=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},se=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},ce=e=>e,le=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},ue=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(se(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(se(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},de={passive:!0},fe=typeof window>`u`?!0:`onscrollend`in window,pe=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&fe?()=>void 0:oe(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,de);let l=e.options.useScrollendEvent&&fe;return l&&n.addEventListener(`scrollend`,c,de),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},me=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},he=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},ge=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ce,rangeExtractor:le,onChange:()=>{},measureElement:me,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=W(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.ende.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=W(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=W(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:!1,debug:()=>this.options.debug}),this.calculateRange=W(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?ve({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=W(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=W(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;rthis.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return ie(t[_e(0,t.length-1,e=>ie(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`)if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=()=>{if(this.currentScrollToIndex!==e)return;let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);if(!n){console.warn(`Failed to get offset for index:`,e);return}ae(n[0],t)||a(o)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},a=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}},_e=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(ar)t=i-1;else return i}return e>0?e-1:0};function ve({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=_e(0,i,a,n),s=o;if(r===1)for(;s1){let a=Array(r).fill(0);for(;se=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}function ye(e){let t=new ge(y(e)),n=x(t),i=t._didMount();return r(()=>y(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),r(()=>y(e),e=>{t.setOptions({...e,onChange:(t,r)=>{var i;E(n),(i=e.onChange)==null||i.call(e,t,r)}}),t._willUpdate(),E(n)},{immediate:!0}),O(i),n}function be(e){return ye(g(()=>({observeElementRect:ue,observeElementOffset:pe,scrollToFn:he,...y(e)})))}function xe(e,t,n){let r=T(n?.value),i=g(()=>e.value!==void 0);return[g(()=>i.value?e.value:r.value),function(e){return i.value||(r.value=e),t?.(e)}]}function Se(e){typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}function G(){let e=[],t={addEventListener(e,n,r,i){return e.addEventListener(n,r,i),t.add(()=>e.removeEventListener(n,r,i))},requestAnimationFrame(...e){let n=requestAnimationFrame(...e);t.add(()=>cancelAnimationFrame(n))},nextFrame(...e){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...e)})},setTimeout(...e){let n=setTimeout(...e);t.add(()=>clearTimeout(n))},microTask(...e){let n={current:!0};return Se(()=>{n.current&&e[0]()}),t.add(()=>{n.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(e){let t=G();return e(t),this.add(()=>t.dispose())},add(t){return e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}},dispose(){for(let t of e.splice(0))t()}};return t}function Ce(){let e=G();return n(()=>e.dispose()),e}function we(){let e=Ce();return t=>{e.dispose(),e.nextFrame(t)}}var Te=Object.defineProperty,Ee=(e,t,n)=>t in e?Te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,De=(e,t,n)=>(Ee(e,typeof t==`symbol`?t:t+``,n),n),K=new class{constructor(){De(this,`current`,this.detect()),De(this,`currentId`,0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===`server`}get isClient(){return this.current===`client`}detect(){return typeof window>`u`||typeof document>`u`?`server`:`client`}};function Oe(e){if(K.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty(`value`)){let t=B(e);if(t)return t.ownerDocument}return document}var ke=[`[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(`,`),Ae=(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))(Ae||{}),je=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(je||{}),Me=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(Me||{}),Ne=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(Ne||{});function Pe(e,t=0){return e===Oe(e)?.body?!1:F(t,{0(){return e.matches(ke)},1(){let t=e;for(;t!==null;){if(t.matches(ke))return!0;t=t.parentElement}return!1}})}var Fe=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(Fe||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0)),[`textarea`,`input`].join(`,`);function Ie(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Le(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Re(){return/Android/gi.test(window.navigator.userAgent)}function ze(){return Le()||Re()}function q(e,t,n){K.isServer||a(r=>{document.addEventListener(e,t,n),r(()=>document.removeEventListener(e,t,n))})}function Be(e,t,n){K.isServer||a(r=>{window.addEventListener(e,t,n),r(()=>window.removeEventListener(e,t,n))})}function Ve(e,t,n=g(()=>!0)){function r(r,i){if(!n.value||r.defaultPrevented)return;let a=i(r);if(a===null||!a.getRootNode().contains(a))return;let o=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of o){if(e===null)continue;let t=e instanceof HTMLElement?e:B(e);if(t!=null&&t.contains(a)||r.composed&&r.composedPath().includes(t))return}return!Pe(a,Ne.Loose)&&a.tabIndex!==-1&&r.preventDefault(),t(r,a)}let i=T(null);q(`pointerdown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),q(`mousedown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),q(`click`,e=>{ze()||(i.value&&=(r(e,()=>i.value),null))},!0),q(`touchend`,e=>r(e,()=>e.target instanceof HTMLElement?e.target:null),!0),Be(`blur`,e=>r(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function He(e){return[e.screenX,e.screenY]}function Ue(){let e=T([-1,-1]);return{wasMoved(t){let n=He(t);return e.value[0]===n[0]&&e.value[1]===n[1]?!1:(e.value=n,!0)},update(t){e.value=He(t)}}}function We({container:e,accept:t,walk:n,enabled:r}){a(()=>{let i=e.value;if(!i||r!==void 0&&!r.value)return;let a=Oe(e);if(!a)return;let o=Object.assign(e=>t(e),{acceptNode:t}),s=a.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)n(s.currentNode)})}var Ge=(e=>(e[e.None=1]=`None`,e[e.Focusable=2]=`Focusable`,e[e.Hidden=4]=`Hidden`,e))(Ge||{}),Ke=f({name:`Hidden`,props:{as:{type:[Object,String],default:`div`},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...i}=e;return z({ourProps:{"aria-hidden":(r&2)==2?!0:i[`aria-hidden`]??void 0,hidden:(r&4)==4?!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`}}},theirProps:i,slot:{},attrs:n,slots:t,name:`Hidden`})}}}),qe=(e=>(e[e.Left=0]=`Left`,e[e.Right=2]=`Right`,e))(qe||{});function Je(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var J=[];Je(()=>{function e(e){e.target instanceof HTMLElement&&e.target!==document.body&&J[0]!==e.target&&(J.unshift(e.target),J=J.filter(e=>e!=null&&e.isConnected),J.splice(10))}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Ye(e){throw Error(`Unexpected object: `+e)}var Y=(e=>(e[e.First=0]=`First`,e[e.Previous=1]=`Previous`,e[e.Next=2]=`Next`,e[e.Last=3]=`Last`,e[e.Specific=4]=`Specific`,e[e.Nothing=5]=`Nothing`,e))(Y||{});function Xe(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=r??-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(tt||{}),nt=(e=>(e[e.Single=0]=`Single`,e[e.Multi=1]=`Multi`,e))(nt||{}),rt=(e=>(e[e.Pointer=0]=`Pointer`,e[e.Focus=1]=`Focus`,e[e.Other=2]=`Other`,e))(rt||{}),it=Symbol(`ComboboxContext`);function X(t){let n=e(it,null);if(n===null){let e=Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,X),e}return n}var at=Symbol(`VirtualContext`),ot=f({name:`VirtualProvider`,setup(e,{slots:t}){let n=X(`VirtualProvider`),i=g(()=>{let e=B(n.optionsRef);if(!e)return{start:0,end:0};let t=window.getComputedStyle(e);return{start:parseFloat(t.paddingBlockStart||t.paddingTop),end:parseFloat(t.paddingBlockEnd||t.paddingBottom)}}),a=be(g(()=>({scrollPaddingStart:i.value.start,scrollPaddingEnd:i.value.end,count:n.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return B(n.optionsRef)},overscan:12}))),s=g(()=>n.virtual.value?.options),l=T(0);return r([s],()=>{l.value+=1}),o(at,n.virtual.value?a:null),()=>[c(`div`,{style:{position:`relative`,width:`100%`,height:`${a.value.getTotalSize()}px`},ref:e=>{if(e){if(typeof process<`u`&&{}.JEST_WORKER_ID!==void 0||n.activationTrigger.value===0)return;n.activeOptionIndex.value!==null&&n.virtual.value.options.length>n.activeOptionIndex.value&&a.value.scrollToIndex(n.activeOptionIndex.value)}}},a.value.getVirtualItems().map(e=>b(t.default({option:n.virtual.value.options[e.index],open:n.comboboxState.value===0})[0],{key:`${l.value}-${e.index}`,"data-index":e.index,"aria-setsize":n.virtual.value.options.length,"aria-posinset":e.index+1,style:{position:`absolute`,top:0,left:0,transform:`translateY(${e.start}px)`,overflowAnchor:`none`}})))]}}),st=f({name:`Combobox`,emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:`template`},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:i}){let a=T(1),s=T(null),u=T(null),d=T(null),f=T(null),p=T({static:!1,hold:!1}),m=T([]),h=T(null),v=T(2),y=T(!1);function b(e=e=>e){let t=h.value===null?null:m.value[h.value],n=e(m.value.slice()),r=n.length>0&&n[0].dataRef.order.value!==null?n.sort((e,t)=>e.dataRef.order.value-t.dataRef.order.value):Ie(n,e=>B(e.dataRef.domRef)),i=t?r.indexOf(t):null;return i===-1&&(i=null),{options:r,activeOptionIndex:i}}let x=g(()=>e.multiple?1:0),w=g(()=>e.nullable),[E,D]=xe(g(()=>e.modelValue),e=>i(`update:modelValue`,e),g(()=>e.defaultValue)),O=g(()=>E.value===void 0?F(x.value,{1:[],0:void 0}):E.value),k=null,A=null;function j(e){return F(x.value,{0(){return D?.(e)},1:()=>{let t=_(M.value.value).slice(),n=_(e),r=t.findIndex(e=>M.compare(n,_(e)));return r===-1?t.push(n):t.splice(r,1),D?.(t)}})}r([g(()=>{})],([e],[t])=>{if(M.virtual.value&&e&&t&&h.value!==null){let n=e.indexOf(t[h.value]);n===-1?h.value=null:h.value=n}});let M={comboboxState:a,value:O,mode:x,compare(t,n){if(typeof e.by==`string`){let r=e.by;return t?.[r]===n?.[r]}return e.by===null?et(t,n):e.by(t,n)},calculateIndex(t){return M.virtual.value?e.by===null?M.virtual.value.options.indexOf(t):M.virtual.value.options.findIndex(e=>M.compare(e,t)):m.value.findIndex(e=>M.compare(e.dataRef.value,t))},defaultValue:g(()=>e.defaultValue),nullable:w,immediate:g(()=>!1),virtual:g(()=>null),inputRef:u,labelRef:s,buttonRef:d,optionsRef:f,disabled:g(()=>e.disabled),options:m,change(e){D(e)},activeOptionIndex:g(()=>{if(y.value&&h.value===null&&(M.virtual.value?M.virtual.value.options.length>0:m.value.length>0)){if(M.virtual.value){let e=M.virtual.value.options.findIndex(e=>{var t;return!((t=M.virtual.value)!=null&&t.disabled(e))});if(e!==-1)return e}let e=m.value.findIndex(e=>!e.dataRef.disabled);if(e!==-1)return e}return h.value}),activationTrigger:v,optionsPropsRef:p,closeCombobox(){y.value=!1,!e.disabled&&a.value!==1&&(a.value=1,h.value=null)},openCombobox(){if(y.value=!0,!e.disabled&&a.value!==0){if(M.value.value){let e=M.calculateIndex(M.value.value);e!==-1&&(h.value=e)}a.value=0}},setActivationTrigger(e){v.value=e},goToOption(t,n,r){y.value=!1,k!==null&&cancelAnimationFrame(k),k=requestAnimationFrame(()=>{if(e.disabled||f.value&&!p.value.static&&a.value===1)return;if(M.virtual.value){h.value=t===Y.Specific?n:Xe({focus:t},{resolveItems:()=>M.virtual.value.options,resolveActiveIndex:()=>M.activeOptionIndex.value??M.virtual.value.options.findIndex(e=>{var t;return!((t=M.virtual.value)!=null&&t.disabled(e))})??null,resolveDisabled:e=>M.virtual.value.disabled(e),resolveId(){throw Error(`Function not implemented.`)}}),v.value=r??2;return}let i=b();if(i.activeOptionIndex===null){let e=i.options.findIndex(e=>!e.dataRef.disabled);e!==-1&&(i.activeOptionIndex=e)}h.value=t===Y.Specific?n:Xe({focus:t},{resolveItems:()=>i.options,resolveActiveIndex:()=>i.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled}),v.value=r??2,m.value=i.options})},selectOption(e){let t=m.value.find(t=>t.id===e);if(!t)return;let{dataRef:n}=t;j(n.value)},selectActiveOption(){if(M.activeOptionIndex.value!==null){if(M.virtual.value)j(M.virtual.value.options[M.activeOptionIndex.value]);else{let{dataRef:e}=m.value[M.activeOptionIndex.value];j(e.value)}M.goToOption(Y.Specific,M.activeOptionIndex.value)}},registerOption(e,t){let n=C({id:e,dataRef:t});if(M.virtual.value){m.value.push(n);return}A&&cancelAnimationFrame(A);let r=b(e=>(e.push(n),e));h.value===null&&M.isSelected(t.value.value)&&(r.activeOptionIndex=r.options.indexOf(n)),m.value=r.options,h.value=r.activeOptionIndex,v.value=2,r.options.some(e=>!B(e.dataRef.domRef))&&(A=requestAnimationFrame(()=>{let e=b();m.value=e.options,h.value=e.activeOptionIndex}))},unregisterOption(e,t){if(k!==null&&cancelAnimationFrame(k),t&&(y.value=!0),M.virtual.value){m.value=m.value.filter(t=>t.id!==e);return}let n=b(t=>{let n=t.findIndex(t=>t.id===e);return n!==-1&&t.splice(n,1),t});m.value=n.options,h.value=n.activeOptionIndex,v.value=2},isSelected(e){return F(x.value,{0:()=>M.compare(_(M.value.value),_(e)),1:()=>_(M.value.value).some(t=>M.compare(_(t),_(e)))})},isActive(e){return h.value===M.calculateIndex(e)}};Ve([u,d,f],()=>M.closeCombobox(),g(()=>a.value===0)),o(it,M),ee(g(()=>F(a.value,{0:R.Open,1:R.Closed})));let N=g(()=>B(u)?.closest(`form`));return l(()=>{r([N],()=>{if(!N.value||e.defaultValue===void 0)return;function t(){M.change(e.defaultValue)}return N.value.addEventListener(`reset`,t),()=>{var e;(e=N.value)==null||e.removeEventListener(`reset`,t)}},{immediate:!0})}),()=>{let{name:r,disabled:i,form:o,...s}=e,l={open:a.value===0,disabled:i,activeIndex:M.activeOptionIndex.value,activeOption:M.activeOptionIndex.value===null?null:M.virtual.value?M.virtual.value.options[M.activeOptionIndex.value??0]:M.options.value[M.activeOptionIndex.value]?.dataRef.value??null,value:O.value};return c(S,[...r!=null&&O.value!=null?Ze({[r]:O.value}).map(([e,t])=>c(Ke,re({features:Ge.Hidden,key:e,as:`input`,type:`hidden`,hidden:!0,readOnly:!0,form:o,disabled:i,name:e,value:t}))):[],z({theirProps:{...n,...U(s,[`by`,`defaultValue`,`immediate`,`modelValue`,`multiple`,`nullable`,`onUpdate:modelValue`,`virtual`])},ourProps:{},slot:l,slots:t,attrs:n,name:`Combobox`})])}}});f({name:`ComboboxLabel`,props:{as:{type:[Object,String],default:`label`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n}){let r=e.id??`headlessui-combobox-label-${L()}`,i=X(`ComboboxLabel`);function a(){var e;(e=B(i.inputRef))==null||e.focus({preventScroll:!0})}return()=>{let o={open:i.comboboxState.value===0,disabled:i.disabled.value},{...s}=e;return z({ourProps:{id:r,ref:i.labelRef,onClick:a},theirProps:s,slot:o,attrs:t,slots:n,name:`ComboboxLabel`})}}});var ct=f({name:`ComboboxButton`,props:{as:{type:[Object,String],default:`button`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){let i=e.id??`headlessui-combobox-button-${L()}`,a=X(`ComboboxButton`);r({el:a.buttonRef,$el:a.buttonRef});function o(e){a.disabled.value||(a.comboboxState.value===0?a.closeCombobox():(e.preventDefault(),a.openCombobox()),s(()=>B(a.inputRef)?.focus({preventScroll:!0})))}function c(e){switch(e.key){case H.ArrowDown:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&a.openCombobox(),s(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case H.ArrowUp:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&(a.openCombobox(),s(()=>{a.value.value||a.goToOption(Y.Last)})),s(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case H.Escape:if(a.comboboxState.value!==0)return;e.preventDefault(),a.optionsRef.value&&!a.optionsPropsRef.value.static&&e.stopPropagation(),a.closeCombobox(),s(()=>a.inputRef.value?.focus({preventScroll:!0}));return}}let l=te(g(()=>({as:e.as,type:t.type})),a.buttonRef);return()=>{let r={open:a.comboboxState.value===0,disabled:a.disabled.value,value:a.value.value},{...s}=e;return z({ourProps:{ref:a.buttonRef,id:i,type:l.value,tabindex:`-1`,"aria-haspopup":`listbox`,"aria-controls":B(a.optionsRef)?.id,"aria-expanded":a.comboboxState.value===0,"aria-labelledby":a.labelRef.value?[B(a.labelRef)?.id,i].join(` `):void 0,disabled:a.disabled.value===!0?!0:void 0,onKeydown:c,onClick:o},theirProps:s,slot:r,attrs:t,slots:n,name:`ComboboxButton`})}}}),lt=f({name:`ComboboxInput`,props:{as:{type:[Object,String],default:`input`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:e=>!0},setup(e,{emit:t,attrs:n,slots:i,expose:a}){let o=e.id??`headlessui-combobox-input-${L()}`,c=X(`ComboboxInput`),u=g(()=>Oe(B(c.inputRef))),d={value:!1};a({el:c.inputRef,$el:c.inputRef});function f(){c.change(null);let e=B(c.optionsRef);e&&(e.scrollTop=0),c.goToOption(Y.Nothing)}let p=g(()=>{let t=c.value.value;return B(c.inputRef)?e.displayValue!==void 0&&t!==void 0?e.displayValue(t)??``:typeof t==`string`?t:``:``});l(()=>{r([p,c.comboboxState,u],([e,t],[n,r])=>{if(d.value)return;let i=B(c.inputRef);i&&((r===0&&t===1||e!==n)&&(i.value=e),requestAnimationFrame(()=>{if(d.value||!i||u.value?.activeElement!==i)return;let{selectionStart:e,selectionEnd:t}=i;Math.abs((t??0)-(e??0))===0&&e===0&&i.setSelectionRange(i.value.length,i.value.length)}))},{immediate:!0}),r([c.comboboxState],([e],[t])=>{if(e===0&&t===1){if(d.value)return;let e=B(c.inputRef);if(!e)return;let t=e.value,{selectionStart:n,selectionEnd:r,selectionDirection:i}=e;e.value=``,e.value=t,i===null?e.setSelectionRange(n,r):e.setSelectionRange(n,r,i)}})});let m=T(!1);function h(){m.value=!0}function _(){G().nextFrame(()=>{m.value=!1})}let v=we();function y(e){switch(d.value=!0,v(()=>{d.value=!1}),e.key){case H.Enter:if(d.value=!1,c.comboboxState.value!==0||m.value)return;if(e.preventDefault(),e.stopPropagation(),c.activeOptionIndex.value===null){c.closeCombobox();return}c.selectActiveOption(),c.mode.value===0&&c.closeCombobox();break;case H.ArrowDown:return d.value=!1,e.preventDefault(),e.stopPropagation(),F(c.comboboxState.value,{0:()=>c.goToOption(Y.Next),1:()=>c.openCombobox()});case H.ArrowUp:return d.value=!1,e.preventDefault(),e.stopPropagation(),F(c.comboboxState.value,{0:()=>c.goToOption(Y.Previous),1:()=>{c.openCombobox(),s(()=>{c.value.value||c.goToOption(Y.Last)})}});case H.Home:if(e.shiftKey)break;return d.value=!1,e.preventDefault(),e.stopPropagation(),c.goToOption(Y.First);case H.PageUp:return d.value=!1,e.preventDefault(),e.stopPropagation(),c.goToOption(Y.First);case H.End:if(e.shiftKey)break;return d.value=!1,e.preventDefault(),e.stopPropagation(),c.goToOption(Y.Last);case H.PageDown:return d.value=!1,e.preventDefault(),e.stopPropagation(),c.goToOption(Y.Last);case H.Escape:if(d.value=!1,c.comboboxState.value!==0)return;e.preventDefault(),c.optionsRef.value&&!c.optionsPropsRef.value.static&&e.stopPropagation(),c.nullable.value&&c.mode.value===0&&c.value.value===null&&f(),c.closeCombobox();break;case H.Tab:if(d.value=!1,c.comboboxState.value!==0)return;c.mode.value===0&&c.activationTrigger.value!==1&&c.selectActiveOption(),c.closeCombobox();break}}function b(e){t(`change`,e),c.nullable.value&&c.mode.value===0&&e.target.value===``&&f(),c.openCombobox()}function x(e){var t,n;let r=e.relatedTarget??J.find(t=>t!==e.currentTarget);if(d.value=!1,!((t=B(c.optionsRef))!=null&&t.contains(r))&&!((n=B(c.buttonRef))!=null&&n.contains(r))&&c.comboboxState.value===0)return e.preventDefault(),c.mode.value===0&&(c.nullable.value&&c.value.value===null?f():c.activationTrigger.value!==1&&c.selectActiveOption()),c.closeCombobox()}function S(e){var t,n;let r=e.relatedTarget??J.find(t=>t!==e.currentTarget);(t=B(c.buttonRef))!=null&&t.contains(r)||(n=B(c.optionsRef))!=null&&n.contains(r)||c.disabled.value||c.immediate.value&&c.comboboxState.value!==0&&(c.openCombobox(),G().nextFrame(()=>{c.setActivationTrigger(1)}))}let C=g(()=>e.defaultValue??(c.defaultValue.value===void 0?null:e.displayValue?.call(e,c.defaultValue.value))??c.defaultValue.value??``);return()=>{let t={open:c.comboboxState.value===0},{displayValue:r,onChange:a,...s}=e;return z({ourProps:{"aria-controls":c.optionsRef.value?.id,"aria-expanded":c.comboboxState.value===0,"aria-activedescendant":c.activeOptionIndex.value===null?void 0:c.virtual.value?c.options.value.find(e=>!c.virtual.value.disabled(e.dataRef.value)&&c.compare(e.dataRef.value,c.virtual.value.options[c.activeOptionIndex.value]))?.id:c.options.value[c.activeOptionIndex.value]?.id,"aria-labelledby":B(c.labelRef)?.id??B(c.buttonRef)?.id,"aria-autocomplete":`list`,id:o,onCompositionstart:h,onCompositionend:_,onKeydown:y,onInput:b,onFocus:S,onBlur:x,role:`combobox`,type:n.type??`text`,tabIndex:0,ref:c.inputRef,defaultValue:C.value,disabled:c.disabled.value===!0?!0:void 0},theirProps:s,slot:t,attrs:n,slots:i,features:P.RenderStrategy|P.Static,name:`ComboboxInput`})}}}),ut=f({name:`ComboboxOptions`,props:{as:{type:[Object,String],default:`ul`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(e,{attrs:t,slots:n,expose:r}){let i=X(`ComboboxOptions`),o=`headlessui-combobox-options-${L()}`;r({el:i.optionsRef,$el:i.optionsRef}),a(()=>{i.optionsPropsRef.value.static=e.static}),a(()=>{i.optionsPropsRef.value.hold=e.hold});let s=V(),l=g(()=>s===null?i.comboboxState.value===0:(s.value&R.Open)===R.Open);We({container:g(()=>B(i.optionsRef)),enabled:g(()=>i.comboboxState.value===0),accept(e){return e.getAttribute(`role`)===`option`?NodeFilter.FILTER_REJECT:e.hasAttribute(`role`)?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute(`role`,`none`)}});function u(e){e.preventDefault()}return()=>{let r={open:i.comboboxState.value===0};return z({ourProps:{"aria-labelledby":B(i.labelRef)?.id??B(i.buttonRef)?.id,id:o,ref:i.optionsRef,role:`listbox`,"aria-multiselectable":i.mode.value===1?!0:void 0,onMousedown:u},theirProps:U(e,[`hold`]),slot:r,attrs:t,slots:i.virtual.value&&i.comboboxState.value===0?{...n,default:()=>[c(ot,{},n.default)]}:n,features:P.RenderStrategy|P.Static,visible:l.value,name:`ComboboxOptions`})}}}),dt=f({name:`ComboboxOption`,props:{as:{type:[Object,String],default:`li`},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(t,{slots:r,attrs:i,expose:o}){let c=X(`ComboboxOption`),u=`headlessui-combobox-option-${L()}`,d=T(null),f=g(()=>t.disabled);o({el:d,$el:d});let p=g(()=>c.virtual.value?c.activeOptionIndex.value===c.calculateIndex(t.value):c.activeOptionIndex.value===null?!1:c.options.value[c.activeOptionIndex.value]?.id===u),m=g(()=>c.isSelected(t.value)),h=e(at,null),_=g(()=>({disabled:t.disabled,value:t.value,domRef:d,order:g(()=>t.order)}));l(()=>c.registerOption(u,_)),n(()=>c.unregisterOption(u,p.value)),a(()=>{let e=B(d);e&&h?.value.measureElement(e)}),a(()=>{c.comboboxState.value===0&&p.value&&(c.virtual.value||c.activationTrigger.value!==0&&s(()=>{var e;return((e=B(d))?.scrollIntoView)?.call(e,{block:`nearest`})}))});function v(e){e.preventDefault(),e.button===qe.Left&&(f.value||(c.selectOption(u),ze()||requestAnimationFrame(()=>B(c.inputRef)?.focus({preventScroll:!0})),c.mode.value===0&&c.closeCombobox()))}function y(){var e;if(t.disabled||(e=c.virtual.value)!=null&&e.disabled(t.value))return c.goToOption(Y.Nothing);let n=c.calculateIndex(t.value);c.goToOption(Y.Specific,n)}let b=Ue();function x(e){b.update(e)}function S(e){var n;if(!b.wasMoved(e)||t.disabled||(n=c.virtual.value)!=null&&n.disabled(t.value)||p.value)return;let r=c.calculateIndex(t.value);c.goToOption(Y.Specific,r,0)}function C(e){var n;b.wasMoved(e)&&(t.disabled||(n=c.virtual.value)!=null&&n.disabled(t.value)||p.value&&(c.optionsPropsRef.value.hold||c.goToOption(Y.Nothing)))}return()=>{let{disabled:e}=t,n={active:p.value,selected:m.value,disabled:e};return z({ourProps:{id:u,ref:d,role:`option`,tabIndex:e===!0?void 0:-1,"aria-disabled":e===!0?!0:void 0,"aria-selected":m.value,disabled:void 0,onMousedown:v,onFocus:y,onPointerenter:x,onMouseenter:x,onPointermove:S,onMousemove:S,onPointerleave:C,onMouseleave:C},theirProps:U(t,[`order`,`value`]),slot:n,attrs:i,slots:r,name:`ComboboxOption`})}}});function ft(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function pt(e,...t){e&&t.length>0&&e.classList.add(...t)}function Z(e,...t){e&&t.length>0&&e.classList.remove(...t)}var mt=(e=>(e.Finished=`finished`,e.Cancelled=`cancelled`,e))(mt||{});function ht(e,t){let n=G();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(`,`).filter(Boolean).map(e=>e.includes(`ms`)?parseFloat(e):parseFloat(e)*1e3).sort((e,t)=>t-e);return t});return a===0?t(`finished`):n.setTimeout(()=>t(`finished`),a+o),n.add(()=>t(`cancelled`)),n.dispose}function gt(e,t,n,r,i,a){let o=G(),s=a===void 0?()=>{}:ft(a);return Z(e,...i),pt(e,...t,...n),o.nextFrame(()=>{Z(e,...n),pt(e,...r),o.add(ht(e,n=>(Z(e,...r,...t),pt(e,...i),s(n))))}),o.add(()=>Z(e,...t,...n,...r,...i)),o.add(()=>s(`cancelled`)),o.dispose}function Q(e=``){return e.split(/\s+/).filter(e=>e.length>1)}var _t=Symbol(`TransitionContext`),vt=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(vt||{});function yt(){return e(_t,null)!==null}function bt(){let t=e(_t,null);if(t===null)throw Error(`A is used but it is missing a parent .`);return t}function xt(){let t=e(St,null);if(t===null)throw Error(`A is used but it is missing a parent .`);return t}var St=Symbol(`NestingContext`);function $(e){return`children`in e?$(e.children):e.value.filter(({state:e})=>e===`visible`).length>0}function Ct(e){let t=T([]),r=T(!1);l(()=>r.value=!0),n(()=>r.value=!1);function i(n,i=I.Hidden){let a=t.value.findIndex(({id:e})=>e===n);a!==-1&&(F(i,{[I.Unmount](){t.value.splice(a,1)},[I.Hidden](){t.value[a].state=`hidden`}}),!$(t)&&r.value&&e?.())}function a(e){let n=t.value.find(({id:t})=>t===e);return n?n.state!==`visible`&&(n.state=`visible`):t.value.push({id:e,state:`visible`}),()=>i(e,I.Unmount)}return{children:t,register:a,unregister:i}}var wt=P.RenderStrategy,Tt=f({props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:i,slots:s,expose:u}){let d=T(0);function f(){d.value|=R.Opening,t(`beforeEnter`)}function p(){d.value&=~R.Opening,t(`afterEnter`)}function h(){d.value|=R.Closing,t(`beforeLeave`)}function _(){d.value&=~R.Closing,t(`afterLeave`)}if(!yt()&&ne())return()=>c(Et,{...e,onBeforeEnter:f,onAfterEnter:p,onBeforeLeave:h,onAfterLeave:_},s);let v=T(null),y=g(()=>e.unmount?I.Unmount:I.Hidden);u({el:v,$el:v});let{show:b,appear:x}=bt(),{register:S,unregister:C}=xt(),w=T(b.value?`visible`:`hidden`),E={value:!0},D=L(),O={value:!1},k=Ct(()=>{!O.value&&w.value!==`hidden`&&(w.value=`hidden`,C(D),_())});l(()=>{n(S(D))}),a(()=>{if(y.value===I.Hidden&&D){if(b.value&&w.value!==`visible`){w.value=`visible`;return}F(w.value,{hidden:()=>C(D),visible:()=>S(D)})}});let A=Q(e.enter),j=Q(e.enterFrom),M=Q(e.enterTo),N=Q(e.entered),P=Q(e.leave),te=Q(e.leaveFrom),V=Q(e.leaveTo);l(()=>{a(()=>{if(w.value===`visible`){let e=B(v);if(e instanceof Comment&&e.data===``)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function re(e){let t=E.value&&!x.value,n=B(v);!n||!(n instanceof HTMLElement)||t||(O.value=!0,b.value&&f(),b.value||h(),e(b.value?gt(n,A,j,M,N,e=>{O.value=!1,e===mt.Finished&&p()}):gt(n,P,te,V,N,e=>{O.value=!1,e===mt.Finished&&($(k)||(w.value=`hidden`,C(D),_()))})))}return l(()=>{r([b],(e,t,n)=>{re(n),E.value=!1},{immediate:!0})}),o(St,k),ee(g(()=>F(w.value,{visible:R.Open,hidden:R.Closed})|d.value)),()=>{let{appear:t,show:n,enter:r,enterFrom:a,enterTo:o,entered:c,leave:l,leaveFrom:u,leaveTo:d,...f}=e,p={ref:v};return z({theirProps:{...f,...x.value&&b.value&&K.isServer?{class:m([i.class,f.class,...A,...j])}:{}},ourProps:p,slot:{},slots:s,attrs:i,features:wt,visible:w.value===`visible`,name:`TransitionChild`})}}}),Et=f({inheritAttrs:!1,props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r}){let i=V(),s=g(()=>e.show===null&&i!==null?(i.value&R.Open)===R.Open:e.show);a(()=>{if(![!0,!1].includes(s.value))throw Error('A is used but it is missing a `:show="true | false"` prop.')});let u=T(s.value?`visible`:`hidden`),d=Ct(()=>{u.value=`hidden`}),f=T(!0),p={show:s,appear:g(()=>e.appear||!f.value)};return l(()=>{a(()=>{f.value=!1,s.value?u.value=`visible`:$(d)||(u.value=`hidden`)})}),o(St,d),o(_t,p),()=>{let i=U(e,[`show`,`appear`,`unmount`,`onBeforeEnter`,`onBeforeLeave`,`onAfterEnter`,`onAfterLeave`]),a={unmount:e.unmount};return z({ourProps:{...a,as:`template`},theirProps:{},slot:{},slots:{...r,default:()=>[c(Tt,{onBeforeEnter:()=>t(`beforeEnter`),onAfterEnter:()=>t(`afterEnter`),onBeforeLeave:()=>t(`beforeLeave`),onAfterLeave:()=>t(`afterLeave`),...n,...a,...i},r.default)]},attrs:{},features:wt,visible:u.value===`visible`,name:`Transition`})}}}),Dt=[`active`,`checked`,`hint`],Ot={key:0},kt=f({__name:`InputComboboxOption`,props:{option:{}},setup(e){return(n,r)=>(i(),M(y(dt),{value:e.option,as:`template`},{default:w(({active:r,selected:a})=>[N(n.$slots,`option`,{option:e.option,active:r,selected:a},()=>[k(`craft-option`,{active:r,checked:a,hint:e.option.data?.hint},[e.option.label.startsWith(`$`)||e.option.label.startsWith(`@`)?(i(),j(`code`,Ot,u(e.option.label),1)):(i(),j(S,{key:1},[t(u(e.option.label),1)],64))],8,Dt)])]),_:3},8,[`value`]))}}),At={key:1},jt={class:`group-label`},Mt=D(f({__name:`InputCombobox`,props:{label:{},options:{default:()=>[]},modelValue:{default:``},requireOptionMatch:{type:Boolean,default:!1},transformModelValue:{type:Function,default:e=>e?e.value:``},class:{type:[Boolean,null,String,Object,Array]},placeholder:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,r=e,a=g({get(){let e=null;return r.options.forEach(t=>{t.type===`optgroup`?t.options.forEach(t=>{t.value===r.modelValue&&(e=t)}):t.value===r.modelValue&&(e=t)}),!e&&!r.requireOptionMatch&&(e={label:r.modelValue,value:r.modelValue}),e},set(e){n(`update:modelValue`,r.transformModelValue(e))}}),o=p(`reference`),s=T(r.modelValue??``),c=g(()=>o.value?.getBoundingClientRect()||new DOMRect);function l(e,t){let n=y(e).toLowerCase(),r=y(t);return r.label.toLowerCase().includes(n)||r.value.toLowerCase().includes(n)||(r.data?.keywords?.toLowerCase().includes(n)??!1)}function f(e,t){return y(t).map(t=>{if(t.type===`optgroup`){let n=t.options.filter(t=>l(e,t));return n.length>0?{...t,options:n}:null}return l(e,t)?t:null}).filter(e=>e!==null)}let _=g(()=>s.value===``?r.options:f(s,r.options));function b(e){return e?e.label:``}let x=g(()=>[``,`@`,`$`].includes(s.value)?null:{value:s.value,label:s.value});return(t,n)=>(i(),j(`div`,{class:`relative`,ref_key:`reference`,ref:o},[A(y(st),{modelValue:a.value,"onUpdate:modelValue":n[2]||=e=>a.value=e},{default:w(()=>[A(y(lt),{onChange:n[0]||=e=>s.value=e.target.value,class:m([`input`,r.class]),displayValue:b,placeholder:e.placeholder},null,8,[`class`,`placeholder`]),A(y(ct),{class:`absolute inset-y-1 right-1 flex items-center`,type:`button`,as:`craft-button`,appearance:`plain`,size:`small`,icon:``,"aria-label":e.label},{default:w(()=>[...n[3]||=[k(`craft-icon`,{name:`chevron-down`,style:{"font-size":`0.8em`}},null,-1)]]),_:1},8,[`aria-label`]),A(y(Et),{leave:`transition ease-in duration-100`,leaveFrom:`opacity-100`,leaveTo:`opacity-0`,onAfterLeave:n[1]||=e=>s.value=``},{default:w(()=>[A(y(ut),{class:`options`,style:h({position:`fixed`,insetInlineStart:`${c.value.left}px`,width:`${c.value.width}px`,insetBlockStart:`${c.value.bottom}px`})},{default:w(()=>[!e.requireOptionMatch&&x.value?(i(),M(kt,{key:0,option:x.value},null,8,[`option`])):_.value.length===0&&s.value!==``?(i(),j(`div`,At,` Nothing found. `)):v(``,!0),(i(!0),j(S,null,d(_.value,(e,t)=>(i(),j(S,{key:t},[e.type===`optgroup`?(i(),j(S,{key:0},[k(`div`,jt,u(e.label),1),(i(!0),j(S,null,d(e.options,(e,t)=>(i(),M(kt,{key:t,option:e},null,8,[`option`]))),128))],64)):(i(),M(kt,{key:1,option:e},null,8,[`option`]))],64))),128))]),_:1},8,[`style`])]),_:1})]),_:1},8,[`modelValue`])],512))}}),[[`__scopeId`,`data-v-b468bf40`]]);export{Mt as t}; \ No newline at end of file + color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i}return o.updateDeps=e=>{r=e},o}function se(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var ce=(e,t)=>Math.abs(e-t)<1.01,le=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},ue=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},de=e=>e,fe=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},pe=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(ue(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(ue(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},me={passive:!0},he=typeof window>`u`?!0:`onscrollend`in window,ge=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&he?()=>void 0:le(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,me);let l=e.options.useScrollendEvent&&he;return l&&n.addEventListener(`scrollend`,c,me),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},_e=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ve=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},ye=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:de,rangeExtractor:fe,onChange:()=>{},measureElement:_e,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=U(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.ende.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=U(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=U(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:!1,debug:()=>this.options.debug}),this.calculateRange=U(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?xe({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=U(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=U(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;rthis.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return se(t[be(0,t.length-1,e=>se(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`)if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=()=>{if(this.currentScrollToIndex!==e)return;let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);if(!n){console.warn(`Failed to get offset for index:`,e);return}ce(n[0],t)||a(o)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},a=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}},be=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(ar)t=i-1;else return i}return e>0?e-1:0};function xe({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=be(0,i,a,n),s=o;if(r===1)for(;s1){let a=Array(r).fill(0);for(;se=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}function Se(e){let t=new ye(T(e)),n=y(t),r=t._didMount();return s(()=>T(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),s(()=>T(e),e=>{t.setOptions({...e,onChange:(t,r)=>{var i;x(n),(i=e.onChange)==null||i.call(e,t,r)}}),t._willUpdate(),x(n)},{immediate:!0}),E(r),n}function Ce(e){return Se(S(()=>({observeElementRect:pe,observeElementOffset:ge,scrollToFn:ve,...T(e)})))}function we(e,t,n){let r=w(n?.value),i=S(()=>e.value!==void 0);return[S(()=>i.value?e.value:r.value),function(e){return i.value||(r.value=e),t?.(e)}]}function Te(e){typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}function W(){let e=[],t={addEventListener(e,n,r,i){return e.addEventListener(n,r,i),t.add(()=>e.removeEventListener(n,r,i))},requestAnimationFrame(...e){let n=requestAnimationFrame(...e);t.add(()=>cancelAnimationFrame(n))},nextFrame(...e){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...e)})},setTimeout(...e){let n=setTimeout(...e);t.add(()=>clearTimeout(n))},microTask(...e){let n={current:!0};return Te(()=>{n.current&&e[0]()}),t.add(()=>{n.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(e){let t=W();return e(t),this.add(()=>t.dispose())},add(t){return e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}},dispose(){for(let t of e.splice(0))t()}};return t}function Ee(){let e=W();return r(()=>e.dispose()),e}function De(){let e=Ee();return t=>{e.dispose(),e.nextFrame(t)}}var Oe=Object.defineProperty,ke=(e,t,n)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ae=(e,t,n)=>(ke(e,typeof t==`symbol`?t:t+``,n),n),G=new class{constructor(){Ae(this,`current`,this.detect()),Ae(this,`currentId`,0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===`server`}get isClient(){return this.current===`client`}detect(){return typeof window>`u`||typeof document>`u`?`server`:`client`}};function je(e){if(G.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty(`value`)){let t=B(e);if(t)return t.ownerDocument}return document}var Me=[`[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(`,`),Ne=(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))(Ne||{}),Pe=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(Pe||{}),Fe=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(Fe||{}),Ie=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(Ie||{});function Le(e,t=0){return e===je(e)?.body?!1:F(t,{0(){return e.matches(Me)},1(){let t=e;for(;t!==null;){if(t.matches(Me))return!0;t=t.parentElement}return!1}})}var Re=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(Re||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0)),[`textarea`,`input`].join(`,`);function ze(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Be(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Ve(){return/Android/gi.test(window.navigator.userAgent)}function He(){return Be()||Ve()}function K(e,t,n){G.isServer||k(r=>{document.addEventListener(e,t,n),r(()=>document.removeEventListener(e,t,n))})}function Ue(e,t,n){G.isServer||k(r=>{window.addEventListener(e,t,n),r(()=>window.removeEventListener(e,t,n))})}function We(e,t,n=S(()=>!0)){function r(r,i){if(!n.value||r.defaultPrevented)return;let a=i(r);if(a===null||!a.getRootNode().contains(a))return;let o=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of o){if(e===null)continue;let t=e instanceof HTMLElement?e:B(e);if(t!=null&&t.contains(a)||r.composed&&r.composedPath().includes(t))return}return!Le(a,Ie.Loose)&&a.tabIndex!==-1&&r.preventDefault(),t(r,a)}let i=w(null);K(`pointerdown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),K(`mousedown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),K(`click`,e=>{He()||(i.value&&=(r(e,()=>i.value),null))},!0),K(`touchend`,e=>r(e,()=>e.target instanceof HTMLElement?e.target:null),!0),Ue(`blur`,e=>r(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Ge(e){return[e.screenX,e.screenY]}function Ke(){let e=w([-1,-1]);return{wasMoved(t){let n=Ge(t);return e.value[0]===n[0]&&e.value[1]===n[1]?!1:(e.value=n,!0)},update(t){e.value=Ge(t)}}}function qe({container:e,accept:t,walk:n,enabled:r}){k(()=>{let i=e.value;if(!i||r!==void 0&&!r.value)return;let a=je(e);if(!a)return;let o=Object.assign(e=>t(e),{acceptNode:t}),s=a.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)n(s.currentNode)})}var Je=(e=>(e[e.None=1]=`None`,e[e.Focusable=2]=`Focusable`,e[e.Hidden=4]=`Hidden`,e))(Je||{}),Ye=h({name:`Hidden`,props:{as:{type:[Object,String],default:`div`},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...i}=e;return z({ourProps:{"aria-hidden":(r&2)==2?!0:i[`aria-hidden`]??void 0,hidden:(r&4)==4?!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`}}},theirProps:i,slot:{},attrs:n,slots:t,name:`Hidden`})}}}),Xe=(e=>(e[e.Left=0]=`Left`,e[e.Right=2]=`Right`,e))(Xe||{});function Ze(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var q=[];Ze(()=>{function e(e){e.target instanceof HTMLElement&&e.target!==document.body&&q[0]!==e.target&&(q.unshift(e.target),q=q.filter(e=>e!=null&&e.isConnected),q.splice(10))}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Qe(e){throw Error(`Unexpected object: `+e)}var J=(e=>(e[e.First=0]=`First`,e[e.Previous=1]=`Previous`,e[e.Next=2]=`Next`,e[e.Last=3]=`Last`,e[e.Specific=4]=`Specific`,e[e.Nothing=5]=`Nothing`,e))(J||{});function $e(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=r??-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(it||{}),at=(e=>(e[e.Single=0]=`Single`,e[e.Multi=1]=`Multi`,e))(at||{}),ot=(e=>(e[e.Pointer=0]=`Pointer`,e[e.Focus=1]=`Focus`,e[e.Other=2]=`Other`,e))(ot||{}),st=Symbol(`ComboboxContext`);function Y(e){let n=t(st,null);if(n===null){let t=Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Y),t}return n}var ct=Symbol(`VirtualContext`),lt=h({name:`VirtualProvider`,setup(e,{slots:t}){let n=Y(`VirtualProvider`),r=S(()=>{let e=B(n.optionsRef);if(!e)return{start:0,end:0};let t=window.getComputedStyle(e);return{start:parseFloat(t.paddingBlockStart||t.paddingTop),end:parseFloat(t.paddingBlockEnd||t.paddingBottom)}}),i=Ce(S(()=>({scrollPaddingStart:r.value.start,scrollPaddingEnd:r.value.end,count:n.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return B(n.optionsRef)},overscan:12}))),a=S(()=>n.virtual.value?.options),o=w(0);return s([a],()=>{o.value+=1}),c(ct,n.virtual.value?i:null),()=>[d(`div`,{style:{position:`relative`,width:`100%`,height:`${i.value.getTotalSize()}px`},ref:e=>{if(e){if(typeof process<`u`&&{}.JEST_WORKER_ID!==void 0||n.activationTrigger.value===0)return;n.activeOptionIndex.value!==null&&n.virtual.value.options.length>n.activeOptionIndex.value&&i.value.scrollToIndex(n.activeOptionIndex.value)}}},i.value.getVirtualItems().map(e=>C(t.default({option:n.virtual.value.options[e.index],open:n.comboboxState.value===0})[0],{key:`${o.value}-${e.index}`,"data-index":e.index,"aria-setsize":n.virtual.value.options.length,"aria-posinset":e.index+1,style:{position:`absolute`,top:0,left:0,transform:`translateY(${e.start}px)`,overflowAnchor:`none`}})))]}}),ut=h({name:`Combobox`,emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:`template`},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:r}){let i=w(1),a=w(null),o=w(null),l=w(null),u=w(null),p=w({static:!1,hold:!1}),m=w([]),h=w(null),g=w(2),_=w(!1);function v(e=e=>e){let t=h.value===null?null:m.value[h.value],n=e(m.value.slice()),r=n.length>0&&n[0].dataRef.order.value!==null?n.sort((e,t)=>e.dataRef.order.value-t.dataRef.order.value):ze(n,e=>B(e.dataRef.domRef)),i=t?r.indexOf(t):null;return i===-1&&(i=null),{options:r,activeOptionIndex:i}}let y=S(()=>e.multiple?1:0),b=S(()=>e.nullable),[x,C]=we(S(()=>e.modelValue),e=>r(`update:modelValue`,e),S(()=>e.defaultValue)),T=S(()=>x.value===void 0?F(y.value,{1:[],0:void 0}):x.value),E=null,k=null;function A(e){return F(y.value,{0(){return C?.(e)},1:()=>{let t=D(j.value.value).slice(),n=D(e),r=t.findIndex(e=>j.compare(n,D(e)));return r===-1?t.push(n):t.splice(r,1),C?.(t)}})}s([S(()=>{})],([e],[t])=>{if(j.virtual.value&&e&&t&&h.value!==null){let n=e.indexOf(t[h.value]);n===-1?h.value=null:h.value=n}});let j={comboboxState:i,value:T,mode:y,compare(t,n){if(typeof e.by==`string`){let r=e.by;return t?.[r]===n?.[r]}return e.by===null?rt(t,n):e.by(t,n)},calculateIndex(t){return j.virtual.value?e.by===null?j.virtual.value.options.indexOf(t):j.virtual.value.options.findIndex(e=>j.compare(e,t)):m.value.findIndex(e=>j.compare(e.dataRef.value,t))},defaultValue:S(()=>e.defaultValue),nullable:b,immediate:S(()=>!1),virtual:S(()=>null),inputRef:o,labelRef:a,buttonRef:l,optionsRef:u,disabled:S(()=>e.disabled),options:m,change(e){C(e)},activeOptionIndex:S(()=>{if(_.value&&h.value===null&&(j.virtual.value?j.virtual.value.options.length>0:m.value.length>0)){if(j.virtual.value){let e=j.virtual.value.options.findIndex(e=>{var t;return!((t=j.virtual.value)!=null&&t.disabled(e))});if(e!==-1)return e}let e=m.value.findIndex(e=>!e.dataRef.disabled);if(e!==-1)return e}return h.value}),activationTrigger:g,optionsPropsRef:p,closeCombobox(){_.value=!1,!e.disabled&&i.value!==1&&(i.value=1,h.value=null)},openCombobox(){if(_.value=!0,!e.disabled&&i.value!==0){if(j.value.value){let e=j.calculateIndex(j.value.value);e!==-1&&(h.value=e)}i.value=0}},setActivationTrigger(e){g.value=e},goToOption(t,n,r){_.value=!1,E!==null&&cancelAnimationFrame(E),E=requestAnimationFrame(()=>{if(e.disabled||u.value&&!p.value.static&&i.value===1)return;if(j.virtual.value){h.value=t===J.Specific?n:$e({focus:t},{resolveItems:()=>j.virtual.value.options,resolveActiveIndex:()=>j.activeOptionIndex.value??j.virtual.value.options.findIndex(e=>{var t;return!((t=j.virtual.value)!=null&&t.disabled(e))})??null,resolveDisabled:e=>j.virtual.value.disabled(e),resolveId(){throw Error(`Function not implemented.`)}}),g.value=r??2;return}let a=v();if(a.activeOptionIndex===null){let e=a.options.findIndex(e=>!e.dataRef.disabled);e!==-1&&(a.activeOptionIndex=e)}h.value=t===J.Specific?n:$e({focus:t},{resolveItems:()=>a.options,resolveActiveIndex:()=>a.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled}),g.value=r??2,m.value=a.options})},selectOption(e){let t=m.value.find(t=>t.id===e);if(!t)return;let{dataRef:n}=t;A(n.value)},selectActiveOption(){if(j.activeOptionIndex.value!==null){if(j.virtual.value)A(j.virtual.value.options[j.activeOptionIndex.value]);else{let{dataRef:e}=m.value[j.activeOptionIndex.value];A(e.value)}j.goToOption(J.Specific,j.activeOptionIndex.value)}},registerOption(e,t){let n=ee({id:e,dataRef:t});if(j.virtual.value){m.value.push(n);return}k&&cancelAnimationFrame(k);let r=v(e=>(e.push(n),e));h.value===null&&j.isSelected(t.value.value)&&(r.activeOptionIndex=r.options.indexOf(n)),m.value=r.options,h.value=r.activeOptionIndex,g.value=2,r.options.some(e=>!B(e.dataRef.domRef))&&(k=requestAnimationFrame(()=>{let e=v();m.value=e.options,h.value=e.activeOptionIndex}))},unregisterOption(e,t){if(E!==null&&cancelAnimationFrame(E),t&&(_.value=!0),j.virtual.value){m.value=m.value.filter(t=>t.id!==e);return}let n=v(t=>{let n=t.findIndex(t=>t.id===e);return n!==-1&&t.splice(n,1),t});m.value=n.options,h.value=n.activeOptionIndex,g.value=2},isSelected(e){return F(y.value,{0:()=>j.compare(D(j.value.value),D(e)),1:()=>D(j.value.value).some(t=>j.compare(D(t),D(e)))})},isActive(e){return h.value===j.calculateIndex(e)}};We([o,l,u],()=>j.closeCombobox(),S(()=>i.value===0)),c(st,j),ne(S(()=>F(i.value,{0:R.Open,1:R.Closed})));let M=S(()=>B(o)?.closest(`form`));return f(()=>{s([M],()=>{if(!M.value||e.defaultValue===void 0)return;function t(){j.change(e.defaultValue)}return M.value.addEventListener(`reset`,t),()=>{var e;(e=M.value)==null||e.removeEventListener(`reset`,t)}},{immediate:!0})}),()=>{let{name:r,disabled:a,form:o,...s}=e,c={open:i.value===0,disabled:a,activeIndex:j.activeOptionIndex.value,activeOption:j.activeOptionIndex.value===null?null:j.virtual.value?j.virtual.value.options[j.activeOptionIndex.value??0]:j.options.value[j.activeOptionIndex.value]?.dataRef.value??null,value:T.value};return d(O,[...r!=null&&T.value!=null?et({[r]:T.value}).map(([e,t])=>d(Ye,oe({features:Je.Hidden,key:e,as:`input`,type:`hidden`,hidden:!0,readOnly:!0,form:o,disabled:a,name:e,value:t}))):[],z({theirProps:{...n,...H(s,[`by`,`defaultValue`,`immediate`,`modelValue`,`multiple`,`nullable`,`onUpdate:modelValue`,`virtual`])},ourProps:{},slot:c,slots:t,attrs:n,name:`Combobox`})])}}});h({name:`ComboboxLabel`,props:{as:{type:[Object,String],default:`label`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n}){let r=e.id??`headlessui-combobox-label-${L()}`,i=Y(`ComboboxLabel`);function a(){var e;(e=B(i.inputRef))==null||e.focus({preventScroll:!0})}return()=>{let o={open:i.comboboxState.value===0,disabled:i.disabled.value},{...s}=e;return z({ourProps:{id:r,ref:i.labelRef,onClick:a},theirProps:s,slot:o,attrs:t,slots:n,name:`ComboboxLabel`})}}});var dt=h({name:`ComboboxButton`,props:{as:{type:[Object,String],default:`button`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){let i=e.id??`headlessui-combobox-button-${L()}`,a=Y(`ComboboxButton`);r({el:a.buttonRef,$el:a.buttonRef});function o(e){a.disabled.value||(a.comboboxState.value===0?a.closeCombobox():(e.preventDefault(),a.openCombobox()),u(()=>B(a.inputRef)?.focus({preventScroll:!0})))}function s(e){switch(e.key){case V.ArrowDown:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&a.openCombobox(),u(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case V.ArrowUp:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&(a.openCombobox(),u(()=>{a.value.value||a.goToOption(J.Last)})),u(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case V.Escape:if(a.comboboxState.value!==0)return;e.preventDefault(),a.optionsRef.value&&!a.optionsPropsRef.value.static&&e.stopPropagation(),a.closeCombobox(),u(()=>a.inputRef.value?.focus({preventScroll:!0}));return}}let c=re(S(()=>({as:e.as,type:t.type})),a.buttonRef);return()=>{let r={open:a.comboboxState.value===0,disabled:a.disabled.value,value:a.value.value},{...l}=e;return z({ourProps:{ref:a.buttonRef,id:i,type:c.value,tabindex:`-1`,"aria-haspopup":`listbox`,"aria-controls":B(a.optionsRef)?.id,"aria-expanded":a.comboboxState.value===0,"aria-labelledby":a.labelRef.value?[B(a.labelRef)?.id,i].join(` `):void 0,disabled:a.disabled.value===!0?!0:void 0,onKeydown:s,onClick:o},theirProps:l,slot:r,attrs:t,slots:n,name:`ComboboxButton`})}}}),ft=h({name:`ComboboxInput`,props:{as:{type:[Object,String],default:`input`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:i}){let a=e.id??`headlessui-combobox-input-${L()}`,o=Y(`ComboboxInput`),c=S(()=>je(B(o.inputRef))),l={value:!1};i({el:o.inputRef,$el:o.inputRef});function d(){o.change(null);let e=B(o.optionsRef);e&&(e.scrollTop=0),o.goToOption(J.Nothing)}let p=S(()=>{let t=o.value.value;return B(o.inputRef)?e.displayValue!==void 0&&t!==void 0?e.displayValue(t)??``:typeof t==`string`?t:``:``});f(()=>{s([p,o.comboboxState,c],([e,t],[n,r])=>{if(l.value)return;let i=B(o.inputRef);i&&((r===0&&t===1||e!==n)&&(i.value=e),requestAnimationFrame(()=>{if(l.value||!i||c.value?.activeElement!==i)return;let{selectionStart:e,selectionEnd:t}=i;Math.abs((t??0)-(e??0))===0&&e===0&&i.setSelectionRange(i.value.length,i.value.length)}))},{immediate:!0}),s([o.comboboxState],([e],[t])=>{if(e===0&&t===1){if(l.value)return;let e=B(o.inputRef);if(!e)return;let t=e.value,{selectionStart:n,selectionEnd:r,selectionDirection:i}=e;e.value=``,e.value=t,i===null?e.setSelectionRange(n,r):e.setSelectionRange(n,r,i)}})});let m=w(!1);function h(){m.value=!0}function g(){W().nextFrame(()=>{m.value=!1})}let _=De();function v(e){switch(l.value=!0,_(()=>{l.value=!1}),e.key){case V.Enter:if(l.value=!1,o.comboboxState.value!==0||m.value)return;if(e.preventDefault(),e.stopPropagation(),o.activeOptionIndex.value===null){o.closeCombobox();return}o.selectActiveOption(),o.mode.value===0&&o.closeCombobox();break;case V.ArrowDown:return l.value=!1,e.preventDefault(),e.stopPropagation(),F(o.comboboxState.value,{0:()=>o.goToOption(J.Next),1:()=>o.openCombobox()});case V.ArrowUp:return l.value=!1,e.preventDefault(),e.stopPropagation(),F(o.comboboxState.value,{0:()=>o.goToOption(J.Previous),1:()=>{o.openCombobox(),u(()=>{o.value.value||o.goToOption(J.Last)})}});case V.Home:if(e.shiftKey)break;return l.value=!1,e.preventDefault(),e.stopPropagation(),o.goToOption(J.First);case V.PageUp:return l.value=!1,e.preventDefault(),e.stopPropagation(),o.goToOption(J.First);case V.End:if(e.shiftKey)break;return l.value=!1,e.preventDefault(),e.stopPropagation(),o.goToOption(J.Last);case V.PageDown:return l.value=!1,e.preventDefault(),e.stopPropagation(),o.goToOption(J.Last);case V.Escape:if(l.value=!1,o.comboboxState.value!==0)return;e.preventDefault(),o.optionsRef.value&&!o.optionsPropsRef.value.static&&e.stopPropagation(),o.nullable.value&&o.mode.value===0&&o.value.value===null&&d(),o.closeCombobox();break;case V.Tab:if(l.value=!1,o.comboboxState.value!==0)return;o.mode.value===0&&o.activationTrigger.value!==1&&o.selectActiveOption(),o.closeCombobox();break}}function y(e){t(`change`,e),o.nullable.value&&o.mode.value===0&&e.target.value===``&&d(),o.openCombobox()}function b(e){var t,n;let r=e.relatedTarget??q.find(t=>t!==e.currentTarget);if(l.value=!1,!((t=B(o.optionsRef))!=null&&t.contains(r))&&!((n=B(o.buttonRef))!=null&&n.contains(r))&&o.comboboxState.value===0)return e.preventDefault(),o.mode.value===0&&(o.nullable.value&&o.value.value===null?d():o.activationTrigger.value!==1&&o.selectActiveOption()),o.closeCombobox()}function x(e){var t,n;let r=e.relatedTarget??q.find(t=>t!==e.currentTarget);(t=B(o.buttonRef))!=null&&t.contains(r)||(n=B(o.optionsRef))!=null&&n.contains(r)||o.disabled.value||o.immediate.value&&o.comboboxState.value!==0&&(o.openCombobox(),W().nextFrame(()=>{o.setActivationTrigger(1)}))}let C=S(()=>e.defaultValue??(o.defaultValue.value===void 0?null:e.displayValue?.call(e,o.defaultValue.value))??o.defaultValue.value??``);return()=>{let t={open:o.comboboxState.value===0},{displayValue:i,onChange:s,...c}=e;return z({ourProps:{"aria-controls":o.optionsRef.value?.id,"aria-expanded":o.comboboxState.value===0,"aria-activedescendant":o.activeOptionIndex.value===null?void 0:o.virtual.value?o.options.value.find(e=>!o.virtual.value.disabled(e.dataRef.value)&&o.compare(e.dataRef.value,o.virtual.value.options[o.activeOptionIndex.value]))?.id:o.options.value[o.activeOptionIndex.value]?.id,"aria-labelledby":B(o.labelRef)?.id??B(o.buttonRef)?.id,"aria-autocomplete":`list`,id:a,onCompositionstart:h,onCompositionend:g,onKeydown:v,onInput:y,onFocus:x,onBlur:b,role:`combobox`,type:n.type??`text`,tabIndex:0,ref:o.inputRef,defaultValue:C.value,disabled:o.disabled.value===!0?!0:void 0},theirProps:c,slot:t,attrs:n,slots:r,features:P.RenderStrategy|P.Static,name:`ComboboxInput`})}}}),pt=h({name:`ComboboxOptions`,props:{as:{type:[Object,String],default:`ul`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(e,{attrs:t,slots:n,expose:r}){let i=Y(`ComboboxOptions`),a=`headlessui-combobox-options-${L()}`;r({el:i.optionsRef,$el:i.optionsRef}),k(()=>{i.optionsPropsRef.value.static=e.static}),k(()=>{i.optionsPropsRef.value.hold=e.hold});let o=ae(),s=S(()=>o===null?i.comboboxState.value===0:(o.value&R.Open)===R.Open);qe({container:S(()=>B(i.optionsRef)),enabled:S(()=>i.comboboxState.value===0),accept(e){return e.getAttribute(`role`)===`option`?NodeFilter.FILTER_REJECT:e.hasAttribute(`role`)?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute(`role`,`none`)}});function c(e){e.preventDefault()}return()=>{let r={open:i.comboboxState.value===0};return z({ourProps:{"aria-labelledby":B(i.labelRef)?.id??B(i.buttonRef)?.id,id:a,ref:i.optionsRef,role:`listbox`,"aria-multiselectable":i.mode.value===1?!0:void 0,onMousedown:c},theirProps:H(e,[`hold`]),slot:r,attrs:t,slots:i.virtual.value&&i.comboboxState.value===0?{...n,default:()=>[d(lt,{},n.default)]}:n,features:P.RenderStrategy|P.Static,visible:s.value,name:`ComboboxOptions`})}}}),mt=h({name:`ComboboxOption`,props:{as:{type:[Object,String],default:`li`},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(e,{slots:n,attrs:i,expose:a}){let o=Y(`ComboboxOption`),s=`headlessui-combobox-option-${L()}`,c=w(null),l=S(()=>e.disabled);a({el:c,$el:c});let d=S(()=>o.virtual.value?o.activeOptionIndex.value===o.calculateIndex(e.value):o.activeOptionIndex.value===null?!1:o.options.value[o.activeOptionIndex.value]?.id===s),p=S(()=>o.isSelected(e.value)),m=t(ct,null),h=S(()=>({disabled:e.disabled,value:e.value,domRef:c,order:S(()=>e.order)}));f(()=>o.registerOption(s,h)),r(()=>o.unregisterOption(s,d.value)),k(()=>{let e=B(c);e&&m?.value.measureElement(e)}),k(()=>{o.comboboxState.value===0&&d.value&&(o.virtual.value||o.activationTrigger.value!==0&&u(()=>{var e;return((e=B(c))?.scrollIntoView)?.call(e,{block:`nearest`})}))});function g(e){e.preventDefault(),e.button===Xe.Left&&(l.value||(o.selectOption(s),He()||requestAnimationFrame(()=>B(o.inputRef)?.focus({preventScroll:!0})),o.mode.value===0&&o.closeCombobox()))}function _(){var t;if(e.disabled||(t=o.virtual.value)!=null&&t.disabled(e.value))return o.goToOption(J.Nothing);let n=o.calculateIndex(e.value);o.goToOption(J.Specific,n)}let v=Ke();function y(e){v.update(e)}function b(t){var n;if(!v.wasMoved(t)||e.disabled||(n=o.virtual.value)!=null&&n.disabled(e.value)||d.value)return;let r=o.calculateIndex(e.value);o.goToOption(J.Specific,r,0)}function x(t){var n;v.wasMoved(t)&&(e.disabled||(n=o.virtual.value)!=null&&n.disabled(e.value)||d.value&&(o.optionsPropsRef.value.hold||o.goToOption(J.Nothing)))}return()=>{let{disabled:t}=e,r={active:d.value,selected:p.value,disabled:t};return z({ourProps:{id:s,ref:c,role:`option`,tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":p.value,disabled:void 0,onMousedown:g,onFocus:_,onPointerenter:y,onMouseenter:y,onPointermove:b,onMousemove:b,onPointerleave:x,onMouseleave:x},theirProps:H(e,[`order`,`value`]),slot:r,attrs:i,slots:n,name:`ComboboxOption`})}}});function ht(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function gt(e,...t){e&&t.length>0&&e.classList.add(...t)}function X(e,...t){e&&t.length>0&&e.classList.remove(...t)}var _t=(e=>(e.Finished=`finished`,e.Cancelled=`cancelled`,e))(_t||{});function vt(e,t){let n=W();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(`,`).filter(Boolean).map(e=>e.includes(`ms`)?parseFloat(e):parseFloat(e)*1e3).sort((e,t)=>t-e);return t});return a===0?t(`finished`):n.setTimeout(()=>t(`finished`),a+o),n.add(()=>t(`cancelled`)),n.dispose}function yt(e,t,n,r,i,a){let o=W(),s=a===void 0?()=>{}:ht(a);return X(e,...i),gt(e,...t,...n),o.nextFrame(()=>{X(e,...n),gt(e,...r),o.add(vt(e,n=>(X(e,...r,...t),gt(e,...i),s(n))))}),o.add(()=>X(e,...t,...n,...r,...i)),o.add(()=>s(`cancelled`)),o.dispose}function Z(e=``){return e.split(/\s+/).filter(e=>e.length>1)}var Q=Symbol(`TransitionContext`),bt=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(bt||{});function xt(){return t(Q,null)!==null}function St(){let e=t(Q,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}function Ct(){let e=t(wt,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}var wt=Symbol(`NestingContext`);function $(e){return`children`in e?$(e.children):e.value.filter(({state:e})=>e===`visible`).length>0}function Tt(e){let t=w([]),n=w(!1);f(()=>n.value=!0),r(()=>n.value=!1);function i(r,i=I.Hidden){let a=t.value.findIndex(({id:e})=>e===r);a!==-1&&(F(i,{[I.Unmount](){t.value.splice(a,1)},[I.Hidden](){t.value[a].state=`hidden`}}),!$(t)&&n.value&&e?.())}function a(e){let n=t.value.find(({id:t})=>t===e);return n?n.state!==`visible`&&(n.state=`visible`):t.value.push({id:e,state:`visible`}),()=>i(e,I.Unmount)}return{children:t,register:a,unregister:i}}var Et=P.RenderStrategy,Dt=h({props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:i,expose:a}){let o=w(0);function l(){o.value|=R.Opening,t(`beforeEnter`)}function u(){o.value&=~R.Opening,t(`afterEnter`)}function p(){o.value|=R.Closing,t(`beforeLeave`)}function m(){o.value&=~R.Closing,t(`afterLeave`)}if(!xt()&&ie())return()=>d(Ot,{...e,onBeforeEnter:l,onAfterEnter:u,onBeforeLeave:p,onAfterLeave:m},i);let h=w(null),_=S(()=>e.unmount?I.Unmount:I.Hidden);a({el:h,$el:h});let{show:v,appear:y}=St(),{register:b,unregister:x}=Ct(),C=w(v.value?`visible`:`hidden`),T={value:!0},E=L(),D={value:!1},O=Tt(()=>{!D.value&&C.value!==`hidden`&&(C.value=`hidden`,x(E),m())});f(()=>{r(b(E))}),k(()=>{if(_.value===I.Hidden&&E){if(v.value&&C.value!==`visible`){C.value=`visible`;return}F(C.value,{hidden:()=>x(E),visible:()=>b(E)})}});let ee=Z(e.enter),A=Z(e.enterFrom),j=Z(e.enterTo),M=Z(e.entered),te=Z(e.leave),N=Z(e.leaveFrom),P=Z(e.leaveTo);f(()=>{k(()=>{if(C.value===`visible`){let e=B(h);if(e instanceof Comment&&e.data===``)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function re(e){let t=T.value&&!y.value,n=B(h);!n||!(n instanceof HTMLElement)||t||(D.value=!0,v.value&&l(),v.value||p(),e(v.value?yt(n,ee,A,j,M,e=>{D.value=!1,e===_t.Finished&&u()}):yt(n,te,N,P,M,e=>{D.value=!1,e===_t.Finished&&($(O)||(C.value=`hidden`,x(E),m()))})))}return f(()=>{s([v],(e,t,n)=>{re(n),T.value=!1},{immediate:!0})}),c(wt,O),ne(S(()=>F(C.value,{visible:R.Open,hidden:R.Closed})|o.value)),()=>{let{appear:t,show:r,enter:a,enterFrom:o,enterTo:s,entered:c,leave:l,leaveFrom:u,leaveTo:d,...f}=e,p={ref:h};return z({theirProps:{...f,...y.value&&v.value&&G.isServer?{class:g([n.class,f.class,...ee,...A])}:{}},ourProps:p,slot:{},slots:i,attrs:n,features:Et,visible:C.value===`visible`,name:`TransitionChild`})}}}),Ot=h({inheritAttrs:!1,props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r}){let i=ae(),a=S(()=>e.show===null&&i!==null?(i.value&R.Open)===R.Open:e.show);k(()=>{if(![!0,!1].includes(a.value))throw Error('A is used but it is missing a `:show="true | false"` prop.')});let o=w(a.value?`visible`:`hidden`),s=Tt(()=>{o.value=`hidden`}),l=w(!0),u={show:a,appear:S(()=>e.appear||!l.value)};return f(()=>{k(()=>{l.value=!1,a.value?o.value=`visible`:$(s)||(o.value=`hidden`)})}),c(wt,s),c(Q,u),()=>{let i=H(e,[`show`,`appear`,`unmount`,`onBeforeEnter`,`onBeforeLeave`,`onAfterEnter`,`onAfterLeave`]),a={unmount:e.unmount};return z({ourProps:{...a,as:`template`},theirProps:{},slot:{},slots:{...r,default:()=>[d(Dt,{onBeforeEnter:()=>t(`beforeEnter`),onAfterEnter:()=>t(`afterEnter`),onBeforeLeave:()=>t(`beforeLeave`),onAfterLeave:()=>t(`afterLeave`),...n,...a,...i},r.default)]},attrs:{},features:Et,visible:o.value===`visible`,name:`Transition`})}}}),kt=[`active`,`checked`,`hint`],At={class:`flex gap-2 items-center`},jt={key:1},Mt=h({__name:`InputComboboxOption`,props:{option:{}},setup(t){return(r,i)=>(a(),j(T(mt),{value:t.option,as:`template`},{default:o(({active:i,selected:o})=>[N(r.$slots,`option`,{option:t.option,active:i,selected:o},()=>[v(`craft-option`,{active:i,checked:o,hint:t.option.data?.hint},[v(`div`,At,[t.option.data?.indicator?(a(),b(`craft-indicator`,_(l({key:0},t.option.data.indicator)),null,16)):te(``,!0),t.option.label.startsWith(`$`)||t.option.label.startsWith(`@`)?(a(),b(`code`,jt,e(t.option.label),1)):(a(),b(O,{key:2},[n(e(t.option.label),1)],64))])],8,kt)])]),_:3},8,[`value`]))}}),Nt={key:1},Pt={class:`group-label`},Ft=A(h({__name:`InputCombobox`,props:{label:{},options:{default:()=>[]},modelValue:{default:``},requireOptionMatch:{type:Boolean,default:!1},transformModelValue:{type:Function,default:e=>e?e.value:``},class:{type:[Boolean,null,String,Object,Array]},placeholder:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,s=t,c=S({get(){let e=null;return s.options.forEach(t=>{t.type===`optgroup`?t.options.forEach(t=>{t.value===s.modelValue&&(e=t)}):t.value===s.modelValue&&(e=t)}),!e&&!s.requireOptionMatch&&(e={label:s.modelValue,value:s.modelValue}),e},set(e){r(`update:modelValue`,s.transformModelValue(e))}}),l=i(`reference`),u=w(s.modelValue??``),d=S(()=>l.value?.getBoundingClientRect()||new DOMRect);function f(e,t){let n=T(e).toLowerCase(),r=T(t);return r.label.toLowerCase().includes(n)||r.value.toLowerCase().includes(n)||(r.data?.keywords?.toLowerCase().includes(n)??!1)}function h(e,t){return T(t).map(t=>{if(t.type===`optgroup`){let n=t.options.filter(t=>f(e,t));return n.length>0?{...t,options:n}:null}return f(e,t)?t:null}).filter(e=>e!==null)}let _=S(()=>u.value===``?s.options:h(u,s.options));function y(e){return e?e.label:``}let x=S(()=>[``,`@`,`$`].includes(u.value)?null:{value:u.value,label:u.value});return(n,r)=>(a(),b(`div`,{class:`relative w-full`,ref_key:`reference`,ref:l},[M(T(ut),{modelValue:c.value,"onUpdate:modelValue":r[2]||=e=>c.value=e},{default:o(()=>[M(T(ft),{onChange:r[0]||=e=>u.value=e.target.value,class:g([`input`,s.class]),displayValue:y,placeholder:t.placeholder},null,8,[`class`,`placeholder`]),M(T(dt),{class:`absolute inset-y-1 right-1 flex items-center`,type:`button`,as:`craft-button`,appearance:`plain`,size:`small`,icon:``,"aria-label":t.label},{default:o(()=>[...r[3]||=[v(`craft-icon`,{name:`chevron-down`,style:{"font-size":`0.8em`}},null,-1)]]),_:1},8,[`aria-label`]),M(T(Ot),{leave:`transition ease-in duration-100`,leaveFrom:`opacity-100`,leaveTo:`opacity-0`,onAfterLeave:r[1]||=e=>u.value=``},{default:o(()=>[M(T(pt),{class:`options`,style:p({position:`fixed`,insetInlineStart:`${d.value.left}px`,width:`${d.value.width}px`,insetBlockStart:`${d.value.bottom}px`})},{default:o(()=>[!t.requireOptionMatch&&x.value?(a(),j(Mt,{key:0,option:x.value},null,8,[`option`])):_.value.length===0&&u.value!==``?(a(),b(`div`,Nt,` Nothing found. `)):te(``,!0),(a(!0),b(O,null,m(_.value,(t,r)=>(a(),b(O,{key:r},[t.type===`optgroup`?(a(),b(O,{key:0},[v(`div`,Pt,e(t.label),1),(a(!0),b(O,null,m(t.options,(e,t)=>N(n.$slots,`option`,{key:t,option:e},()=>[M(Mt,{option:e},null,8,[`option`])],!0)),128))],64)):N(n.$slots,`option`,{key:1,option:t},()=>[M(Mt,{option:t},null,8,[`option`])],!0)],64))),128))]),_:3},8,[`style`])]),_:3})]),_:3},8,[`modelValue`])],512))}}),[[`__scopeId`,`data-v-4164d19a`]]);export{Ft as t}; \ No newline at end of file diff --git a/resources/build/Install.js b/resources/build/Install.js index 40a92388c4a..b5d0e218224 100644 --- a/resources/build/Install.js +++ b/resources/build/Install.js @@ -1 +1 @@ -import{r as e}from"./Queue-C-Z7zpYZ.js";import{C as t,G as n,I as r,J as i,K as a,P as o,Q as s,R as c,T as l,W as u,Y as d,_ as f,a as p,b as m,c as h,ct as g,f as _,m as v,nt as y,p as ee,q as b,r as x,rt as S,t as C,u as te,v as w,w as T,x as E,y as D,z as O}from"./_plugin-vue_export-helper.js";import{s as k}from"./nav-item-DtQ6Tc_l.js";import"./lit.js";import{t as A}from"./Pane.js";import{i as j}from"./dist.js";import{i as M}from"./useFetch.js";import{t as ne}from"./Modal.js";var N=``+new URL(`assets/installer-bg.png`,import.meta.url).href,P=e=>{n(u(e),async e=>{e?.tagName.includes(`CRAFT-`)&&(await customElements.whenDefined(e.tagName.toLowerCase()),await e?.updateComplete),e?.focus()})},F=[`label`,`has-feedback-for`],I={key:0,class:`error-list`,slot:`feedback`},L=[`label`,`has-feedback-for`],R={key:0,class:`error-list`,slot:`feedback`},z=[`label`,`has-feedback-for`],B={key:0,class:`error-list`,slot:`feedback`},V=l({__name:`AccountFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})},showUsername:{type:Boolean,default:!0}},emits:[`success`,`click:back`,`update:modelValue`],setup(e,{emit:t}){let n=t,a=e,o=f({get(){return a.modelValue},set(e){n(`update:modelValue`,e)}});return P(`username-input`),(t,n)=>(r(),E(v,null,[e.showUsername?i((r(),E(`craft-input`,{key:0,label:g(k)(`Username`),id:`account-username`,name:`username`,"onUpdate:modelValue":n[0]||=e=>o.value.username=e,"has-feedback-for":e.errors?.username?`error`:``,maxlength:`255`,ref:`username-input`},[e.errors?.username?(r(),E(`ul`,I,[(r(!0),E(v,null,c(e.errors?.username,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,F)),[[_,o.value.username]]):m(``,!0),i(w(`craft-input`,{label:g(k)(`Email`),id:`account-email`,name:`email`,"onUpdate:modelValue":n[1]||=e=>o.value.email=e,maxlength:`255`,autocomplete:`email`,"has-feedback-for":e.errors?.email?`error`:``,type:`email`},[e.errors?.email?(r(),E(`ul`,R,[(r(!0),E(v,null,c(e.errors?.email,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,L),[[_,o.value.email]]),i(w(`craft-input-password`,{label:g(k)(`Password`),id:`account-password`,name:`password`,"onUpdate:modelValue":n[2]||=e=>o.value.password=e,"has-feedback-for":e.errors?.password?`error`:``,autocomplete:`new-password`},[e.errors?.password?(r(),E(`ul`,B,[(r(!0),E(v,null,c(e.errors?.password,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,z),[[_,o.value.password]])],64))}}),H=[`label`],U=[`label`],W=[`label`,`.modelValue`],G={slot:`input`},K=[`selected`,`value`],q=l({__name:`SiteFields`,props:{modelValue:{default:()=>({})},localeOptions:{default:()=>[]},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,a=e,o=f({get(){return a.modelValue},set(e){n(`update:modelValue`,e)}});function l(e){let t=e.target;n(`update:modelValue`,{...o.value,language:t?.modelValue})}return P(`site-name`),(t,n)=>(r(),E(v,null,[i(w(`craft-input`,{name:`name`,label:g(k)(`System Name`),id:`site-name`,"onUpdate:modelValue":n[0]||=e=>o.value.name=e,maxlength:`255`,ref:`site-name`},null,8,H),[[_,o.value.name]]),i(w(`craft-input`,{name:`baseUrl`,label:g(k)(`Base URL`),"onUpdate:modelValue":n[1]||=e=>o.value.baseUrl=e},null,8,U),[[_,o.value.baseUrl]]),w(`craft-select`,{label:g(k)(`Language`),id:`site-language`,name:`language`,".modelValue":o.value.language,onModelValueChanged:l},[w(`select`,G,[(r(!0),E(v,null,c(e.localeOptions,e=>(r(),E(`option`,{key:e.id,selected:e.id===o.value.language,value:e.id},s(e.id)+` (`+s(e.name)+`) `,9,K))),128))])],40,W)],64))}}),J=()=>{let e=S({start:{},license:{id:`license`,label:`License`},account:{id:`account`,label:`Account`,action:`/admin/actions/install/validate-account`,heading:k(`Create your account`)},db:{id:`db`,label:`Database`,action:`/admin/actions/install/validate-db`,heading:k(`Connect to your database`)},site:{id:`site`,label:`Site`,action:`/admin/actions/install/validate-site`,heading:k(`Set up your site`),submitLabel:k(`Finish up`)},installing:{label:`Installing`,id:`installing`}}),t=f(()=>Object.keys(e.value).reduce((t,n)=>{let r=e.value[n];return(r.hidden??!1)||(t[n]=r),t},{})),n=f(()=>Object.keys(t.value).reduce((e,n)=>{let r=t.value[n];return(r.label??!1)&&(e[n]=r),e},{})),r=j(t),i=f(()=>r.stepNames.value[r.index.value]);return{...r,possibleSteps:e,currentId:i,dotSteps:n}},Y=``+new URL(`assets/account.png`,import.meta.url).href,X=``+new URL(`assets/site.png`,import.meta.url).href,Z=``+new URL(`assets/db.png`,import.meta.url).href,re=C(l({__name:`Callout`,props:{variant:{default:`info`},appearance:{default:`default`}},setup(e){return(t,n)=>(r(),E(`div`,{class:d({callout:!0,"callout--danger":e.variant===`danger`,"callout--info":e.variant===`info`,"callout--success":e.variant===`success`,"callout--warning":e.variant===`warning`,"callout--emphasis":e.appearance===`emphasis`,"callout--default":e.appearance===`default`,"callout--outline":e.appearance===`outline`,"callout--plain":e.appearance===`plain`})},[O(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-2a01f40b`]]),ie={class:`grid grid-cols-5 gap-2`},ae={class:`col-span-2`},oe=[`label`,`.modelValue`],se={slot:`input`},ce=[`value`],le={key:0,class:`error-list`,slot:`feedback`},ue={class:`col-span-2`},de=[`label`],fe={key:0,class:`error-list`,slot:`feedback`},pe=[`label`],me={key:0,class:`error-list`,slot:`feedback`},he={key:0,class:`error-list col-span-5`},ge={class:`grid grid-cols-2 gap-2`},_e=[`label`],ve={key:0,class:`error-list`,slot:`feedback`},ye=[`label`],be={key:0,class:`error-list`,slot:`feedback`},xe={key:0,class:`error-list col-span-2`},Se={class:`grid grid-cols-4 gap-2`},Ce={class:`col-span-2`},we=[`label`],Te={key:0,class:`error-list`,slot:`feedback`},Ee=[`label`],De={key:0,class:`error-list`,slot:`feedback`},Oe=l({__name:`DbFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,a=e,o=f({get(){return a.modelValue},set(e){n(`update:modelValue`,e)}});function l(e){let t=e.target;t&&(o.value[t.name]=t.modelValue)}let u=[{value:`mysql`,label:`MySQL`},{value:`pgsql`,label:`PostgreSQL`}];return P(`db-driver`),(t,n)=>(r(),E(v,null,[e.errors&&e.errors[`*`]?(r(),D(re,{key:0,variant:`danger`},{default:b(()=>[w(`ul`,null,[(r(!0),E(v,null,c(e.errors[`*`],e=>(r(),E(`li`,null,s(e),1))),256))])]),_:1})):m(``,!0),w(`div`,ie,[w(`div`,ae,[w(`craft-select`,{label:g(k)(`Driver`),name:`driver`,id:`db-driver`,".modelValue":o.value.driver,onModelValueChanged:l,ref:`db-driver`},[w(`select`,se,[(r(),E(v,null,c(u,e=>w(`option`,{key:e.value,value:e.value},s(e.label),9,ce)),64))]),e.errors?.driver?(r(),E(`ul`,le,[(r(!0),E(v,null,c(e.errors?.driver,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],40,oe)]),w(`div`,ue,[i(w(`craft-input`,{label:g(k)(`Host`),name:`host`,id:`db-host`,"onUpdate:modelValue":n[0]||=e=>o.value.host=e,placeholder:`127.0.0.1`},[e.errors?.host?(r(),E(`ul`,fe,[(r(!0),E(v,null,c(e.errors?.host,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,de),[[_,o.value.host]])]),w(`div`,null,[i(w(`craft-input`,{label:g(k)(`Port`),name:`port`,id:`db-port`,"onUpdate:modelValue":n[1]||=e=>o.value.port=e,size:`7`},[e.errors?.port?(r(),E(`ul`,me,[(r(!0),E(v,null,c(e.errors?.port,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,pe),[[_,o.value.port]])]),e.errors?.server?(r(),E(`ul`,he,[(r(!0),E(v,null,c(e.errors.server,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)]),w(`div`,ge,[w(`div`,null,[i(w(`craft-input`,{label:g(k)(`Username`),name:`username`,id:`db-username`,"onUpdate:modelValue":n[2]||=e=>o.value.username=e,placeholder:`root`},[e.errors?.username?(r(),E(`ul`,ve,[(r(!0),E(v,null,c(e.errors?.username,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,_e),[[_,o.value.username]])]),w(`div`,null,[i(w(`craft-input-password`,{label:g(k)(`Password`),name:`password`,id:`db-password`,"onUpdate:modelValue":n[3]||=e=>o.value.password=e},[e.errors?.password?(r(),E(`ul`,be,[(r(!0),E(v,null,c(e.errors?.password,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,ye),[[_,o.value.password]])]),e.errors?.user?(r(),E(`ul`,xe,[(r(!0),E(v,null,c(e.errors.user,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)]),w(`div`,Se,[w(`div`,Ce,[i(w(`craft-input`,{label:g(k)(`Database Name`),name:`name`,id:`db-database`,"onUpdate:modelValue":n[4]||=e=>o.value.database=e},[e.errors?.database?(r(),E(`ul`,Te,[(r(!0),E(v,null,c(e.errors?.database,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,we),[[_,o.value.database]])]),w(`div`,null,[i(w(`craft-input`,{label:g(k)(`Prefix`),name:`prefix`,id:`db-prefix`,"onUpdate:modelValue":n[5]||=e=>o.value.prefix=e,maxlength:`5`,size:`7`},[e.errors?.prefix?(r(),E(`ul`,De,[(r(!0),E(v,null,c(e.errors?.prefix,e=>(r(),E(`li`,null,s(e),1))),256))])):m(``,!0)],8,Ee),[[_,o.value.prefix]])])])],64))}}),ke={key:0,class:`content`},Ae={key:1,class:`content`},je={key:2,class:`content`},Me={class:`text-left border border-red-500 rounded p-4 text-red-800 bg-red-50 font-mono text-xs`},Ne=C(l({__name:`InstallingScreen`,props:{data:{}},setup(e){let{props:t}=h(),n=e,{execute:i,error:a,isSuccess:c,isLoading:l,isError:u}=M(`/admin/actions/install/install`,{onSuccess:e=>{setTimeout(()=>{window.location.href=t.postCpLoginRedirect},1e3)}});return o(async()=>{await i(n.data)}),(e,t)=>(r(),D(A,{class:`max-w-[80ch] mx-auto`},{default:b(()=>[g(l)?(r(),E(`div`,ke,[w(`h2`,null,s(g(k)(`Installing Craft CMS…`)),1),t[0]||=w(`craft-spinner`,null,null,-1)])):g(c)?(r(),E(`div`,Ae,[w(`h2`,null,s(g(k)(`Craft is installed! 🎉`)),1),t[1]||=w(`div`,{class:`flex justify-center items-center`},[w(`craft-icon`,{name:`circle-check`,variant:`regular`,style:{color:`var(--c-color-success-fill-loud)`,"font-size":`2.5rem`}})],-1)])):m(``,!0),g(u)?(r(),E(`div`,je,[w(`h2`,null,s(g(k)(`Install failed 😞`)),1),w(`div`,Me,s(g(a).message),1)])):m(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-900f8a00`]]),Pe={class:`grid md:grid-cols-2 gap-4 items-center`},Fe={class:`aspect-[352/455] w-1/2 md:w-3/4 mx-auto`},Q=[`src`],Ie={class:`mb-4`},Le={class:`grid gap-3 pr-6`},$=l({__name:`StepScreen`,props:{illustrationSrc:{default:``},heading:{default:``}},setup(e){return(t,n)=>(r(),E(`div`,Pe,[w(`div`,Fe,[w(`img`,{loading:`lazy`,src:e.illustrationSrc,alt:``,width:`368`},null,8,Q)]),w(`div`,null,[w(`h2`,Ie,s(e.heading),1),w(`div`,Le,[O(t.$slots,`default`)])])]))}}),Re={class:`install`},ze=[`innerHTML`],Be={class:`flex justify-center w-full`},Ve={key:2,class:`max-w-[80ch]`},He={class:`grid grid-cols-3 items-center gap-2`},Ue={class:`flex gap-2 justify-center`},We={class:`sr-only`},Ge=[`loading`],Ke=C(l({__name:`Install`,props:{dbConfig:{},localeOptions:{},licenseHtml:{},defaultSystemName:{},defaultSiteUrl:{},defaultSiteLanguage:{},showDbScreen:{type:Boolean}},setup(n){te(e=>({v636a4b8a:i.value}));let i=f(()=>`url(${N})`),o=n,{dotSteps:l,current:u,currentId:h,goTo:_,goToNext:C,goToPrevious:O,isCurrent:j,possibleSteps:M}=J(),P=S(`idle`);a(()=>{M.value.db.hidden=o.showDbScreen});function F(){_(`license`)}let I=y({account:{},db:{},site:{}}),L=y({account:{username:``,email:``,password:``},db:{driver:o.dbConfig.driver,host:o.dbConfig.host,port:o.dbConfig.port,database:o.dbConfig.database,username:o.dbConfig.username,password:o.dbConfig.password,prefix:o.dbConfig.prefix},site:{name:o.defaultSystemName,baseUrl:o.defaultSiteUrl,language:o.defaultSiteLanguage}}),R=f(()=>!j(`start`));async function z(t){if(P.value===`loading`)return;I[h.value]=null;let n=t.currentTarget;try{P.value=`loading`,await e.post(n.action,L[h.value]),C(),P.value=`idle`}catch(e){I[h.value]=e.response.data.errors,P.value=`error`}}return(e,i)=>(r(),E(v,null,[T(g(p),{title:g(k)(`Install Craft CMS`)},null,8,[`title`]),w(`div`,Re,[g(j)(`start`)?(r(),E(`craft-button`,{key:0,type:`button`,onClick:F,variant:`primary`,class:`begin-button`},[t(s(g(k)(`Install Craft CMS`))+` `,1),i[6]||=w(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)])):m(``,!0),T(ne,{"is-active":R.value,overlay:!1},{default:b(()=>[g(j)(`license`)?(r(),D(A,{key:0,class:`max-w-[80ch] mx-auto`},{actions:b(()=>[w(`div`,Be,[w(`craft-button`,{type:`button`,variant:`primary`,onClick:i[0]||=e=>g(_)(`account`)},s(g(k)(`Got it`)),1)])]),default:b(()=>[T(g(x),{data:`licenseHtml`},{fallback:b(()=>[...i[7]||=[w(`div`,{class:`flex justify-center`},[w(`craft-spinner`)],-1)]]),default:b(()=>[w(`div`,{class:`license`,innerHTML:n.licenseHtml},null,8,ze)]),_:1})]),_:1})):g(j)(`installing`)?(r(),D(Ne,{key:1,data:L,onSuccess:i[1]||=e=>g(C)()},null,8,[`data`])):(r(),E(`div`,Ve,[T(A,{as:`form`,action:g(u).action,onSubmit:ee(z,[`prevent`])},{actions:b(()=>[w(`div`,He,[w(`craft-button`,{type:`button`,onClick:i[5]||=(...e)=>g(O)&&g(O)(...e),appearance:`plain`,class:`justify-self-start`},[t(s(g(k)(`Back`))+` `,1),i[9]||=w(`craft-icon`,{name:`arrow-left`,slot:`prefix`},null,-1)]),w(`ul`,Ue,[(r(!0),E(v,null,c(g(l),(e,t)=>(r(),E(`li`,{key:t},[w(`span`,{class:d([`dot`,{"dot--active":g(j)(t)}])},[w(`span`,We,s(e.label),1)],2)]))),128))]),w(`craft-button`,{class:`justify-self-end`,type:`submit`,variant:`primary`,loading:P.value===`loading`},[t(s(g(u).submitLabel??g(k)(`Next`))+` `,1),i[10]||=w(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)],8,Ge)])]),default:b(()=>[g(j)(`account`)?(r(),D($,{key:0,"illustration-src":g(Y),heading:g(u).heading,class:`screen`},{default:b(()=>[g(j)(`account`)?(r(),D(V,{key:0,modelValue:L.account,"onUpdate:modelValue":i[2]||=e=>L.account=e,errors:I.account},null,8,[`modelValue`,`errors`])):m(``,!0)]),_:1},8,[`illustration-src`,`heading`])):m(``,!0),g(j)(`db`)?(r(),D($,{key:1,"illustration-src":g(Z),heading:g(u).heading,class:`screen`},{default:b(()=>[T(Oe,{modelValue:L.db,"onUpdate:modelValue":i[3]||=e=>L.db=e,errors:I.db},null,8,[`modelValue`,`errors`])]),_:1},8,[`illustration-src`,`heading`])):m(``,!0),g(j)(`site`)?(r(),D($,{key:2,"illustration-src":g(X),heading:g(u).heading,class:`screen`},{default:b(()=>[T(g(x),{data:`localeOptions`},{fallback:b(()=>[...i[8]||=[w(`craft-spinner`,null,null,-1)]]),default:b(()=>[T(q,{modelValue:L.site,"onUpdate:modelValue":i[4]||=e=>L.site=e,localeOptions:n.localeOptions,errors:I.site},null,8,[`modelValue`,`localeOptions`,`errors`])]),_:1})]),_:1},8,[`illustration-src`,`heading`])):m(``,!0)]),_:1},8,[`action`])]))]),_:1},8,[`is-active`])])],64))}}),[[`__scopeId`,`data-v-4c856b9d`]]);export{Ke as default}; \ No newline at end of file +import{n as e}from"./progress-B7_TV7MI.js";import{$ as t,C as n,G as r,I as i,J as a,K as o,P as s,R as c,T as l,X as u,Y as d,_ as f,a as ee,b as p,c as m,d as h,f as te,g,it as _,lt as v,p as y,q as ne,r as b,rt as x,t as S,u as C,v as w,w as T,y as E,z as D}from"./_plugin-vue_export-helper.js";import"./lit.js";import{i as O}from"./nav-item-DCsUKnaY.js";import{t as k}from"./Pane.js";import{i as A}from"./dist.js";import{i as j}from"./useFetch.js";import{t as M}from"./Modal.js";var N=``+new URL(`assets/installer-bg.png`,import.meta.url).href,P=e=>{o(r(e),async e=>{e?.tagName.includes(`CRAFT-`)&&(await customElements.whenDefined(e.tagName.toLowerCase()),await e?.updateComplete),e?.focus()})},F=[`label`,`has-feedback-for`],I={key:0,class:`error-list`,slot:`feedback`},L=[`label`,`has-feedback-for`],R={key:0,class:`error-list`,slot:`feedback`},z=[`label`,`has-feedback-for`],B={key:0,class:`error-list`,slot:`feedback`},V=l({__name:`AccountFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})},showUsername:{type:Boolean,default:!0}},emits:[`success`,`click:back`,`update:modelValue`],setup(e,{emit:n}){let r=n,a=e,o=g({get(){return a.modelValue},set(e){r(`update:modelValue`,e)}});return P(`username-input`),(n,r)=>(i(),p(y,null,[e.showUsername?d((i(),p(`craft-input`,{key:0,label:v(O)(`Username`),id:`account-username`,name:`username`,"onUpdate:modelValue":r[0]||=e=>o.value.username=e,"has-feedback-for":e.errors?.username?`error`:``,maxlength:`255`,ref:`username-input`},[e.errors?.username?(i(),p(`ul`,I,[(i(!0),p(y,null,c(e.errors?.username,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,F)),[[h,o.value.username]]):E(``,!0),d(f(`craft-input`,{label:v(O)(`Email`),id:`account-email`,name:`email`,"onUpdate:modelValue":r[1]||=e=>o.value.email=e,maxlength:`255`,autocomplete:`email`,"has-feedback-for":e.errors?.email?`error`:``,type:`email`},[e.errors?.email?(i(),p(`ul`,R,[(i(!0),p(y,null,c(e.errors?.email,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,L),[[h,o.value.email]]),d(f(`craft-input-password`,{label:v(O)(`Password`),id:`account-password`,name:`password`,"onUpdate:modelValue":r[2]||=e=>o.value.password=e,"has-feedback-for":e.errors?.password?`error`:``,autocomplete:`new-password`},[e.errors?.password?(i(),p(`ul`,B,[(i(!0),p(y,null,c(e.errors?.password,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,z),[[h,o.value.password]])],64))}}),H=[`label`],U=[`label`],W=[`label`,`.modelValue`],G={slot:`input`},K=[`selected`,`value`],q=l({__name:`SiteFields`,props:{modelValue:{default:()=>({})},localeOptions:{default:()=>[]},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=n,a=e,o=g({get(){return a.modelValue},set(e){r(`update:modelValue`,e)}});function s(e){let t=e.target;r(`update:modelValue`,{...o.value,language:t?.modelValue})}return P(`site-name`),(n,r)=>(i(),p(y,null,[d(f(`craft-input`,{name:`name`,label:v(O)(`System Name`),id:`site-name`,"onUpdate:modelValue":r[0]||=e=>o.value.name=e,maxlength:`255`,ref:`site-name`},null,8,H),[[h,o.value.name]]),d(f(`craft-input`,{name:`baseUrl`,label:v(O)(`Base URL`),"onUpdate:modelValue":r[1]||=e=>o.value.baseUrl=e},null,8,U),[[h,o.value.baseUrl]]),f(`craft-select`,{label:v(O)(`Language`),id:`site-language`,name:`language`,".modelValue":o.value.language,onModelValueChanged:s},[f(`select`,G,[(i(!0),p(y,null,c(e.localeOptions,e=>(i(),p(`option`,{key:e.id,selected:e.id===o.value.language,value:e.id},t(e.id)+` (`+t(e.name)+`) `,9,K))),128))])],40,W)],64))}}),J=()=>{let e=_({start:{},license:{id:`license`,label:`License`},account:{id:`account`,label:`Account`,action:`/admin/actions/install/validate-account`,heading:O(`Create your account`)},db:{id:`db`,label:`Database`,action:`/admin/actions/install/validate-db`,heading:O(`Connect to your database`)},site:{id:`site`,label:`Site`,action:`/admin/actions/install/validate-site`,heading:O(`Set up your site`),submitLabel:O(`Finish up`)},installing:{label:`Installing`,id:`installing`}}),t=g(()=>Object.keys(e.value).reduce((t,n)=>{let r=e.value[n];return(r.hidden??!1)||(t[n]=r),t},{})),n=g(()=>Object.keys(t.value).reduce((e,n)=>{let r=t.value[n];return(r.label??!1)&&(e[n]=r),e},{})),r=A(t),i=g(()=>r.stepNames.value[r.index.value]);return{...r,possibleSteps:e,currentId:i,dotSteps:n}},Y=``+new URL(`assets/account.png`,import.meta.url).href,X=``+new URL(`assets/site.png`,import.meta.url).href,Z=``+new URL(`assets/db.png`,import.meta.url).href,re=S(l({__name:`Callout`,props:{variant:{default:`info`},appearance:{default:`default`}},setup(e){return(t,n)=>(i(),p(`div`,{class:u({callout:!0,"callout--danger":e.variant===`danger`,"callout--info":e.variant===`info`,"callout--success":e.variant===`success`,"callout--warning":e.variant===`warning`,"callout--emphasis":e.appearance===`emphasis`,"callout--default":e.appearance===`default`,"callout--outline":e.appearance===`outline`,"callout--plain":e.appearance===`plain`})},[D(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-2a01f40b`]]),ie={class:`grid grid-cols-5 gap-2`},ae={class:`col-span-2`},oe=[`label`,`.modelValue`],se={slot:`input`},ce=[`value`],le={key:0,class:`error-list`,slot:`feedback`},ue={class:`col-span-2`},de=[`label`],fe={key:0,class:`error-list`,slot:`feedback`},pe=[`label`],me={key:0,class:`error-list`,slot:`feedback`},he={key:0,class:`error-list col-span-5`},ge={class:`grid grid-cols-2 gap-2`},_e=[`label`],ve={key:0,class:`error-list`,slot:`feedback`},ye=[`label`],be={key:0,class:`error-list`,slot:`feedback`},xe={key:0,class:`error-list col-span-2`},Se={class:`grid grid-cols-4 gap-2`},Ce={class:`col-span-2`},we=[`label`],Te={key:0,class:`error-list`,slot:`feedback`},Ee=[`label`],De={key:0,class:`error-list`,slot:`feedback`},Oe=l({__name:`DbFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=n,o=e,s=g({get(){return o.modelValue},set(e){r(`update:modelValue`,e)}});function l(e){let t=e.target;t&&(s.value[t.name]=t.modelValue)}let u=[{value:`mysql`,label:`MySQL`},{value:`pgsql`,label:`PostgreSQL`}];return P(`db-driver`),(n,r)=>(i(),p(y,null,[e.errors&&e.errors[`*`]?(i(),w(re,{key:0,variant:`danger`},{default:a(()=>[f(`ul`,null,[(i(!0),p(y,null,c(e.errors[`*`],e=>(i(),p(`li`,null,t(e),1))),256))])]),_:1})):E(``,!0),f(`div`,ie,[f(`div`,ae,[f(`craft-select`,{label:v(O)(`Driver`),name:`driver`,id:`db-driver`,".modelValue":s.value.driver,onModelValueChanged:l,ref:`db-driver`},[f(`select`,se,[(i(),p(y,null,c(u,e=>f(`option`,{key:e.value,value:e.value},t(e.label),9,ce)),64))]),e.errors?.driver?(i(),p(`ul`,le,[(i(!0),p(y,null,c(e.errors?.driver,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],40,oe)]),f(`div`,ue,[d(f(`craft-input`,{label:v(O)(`Host`),name:`host`,id:`db-host`,"onUpdate:modelValue":r[0]||=e=>s.value.host=e,placeholder:`127.0.0.1`},[e.errors?.host?(i(),p(`ul`,fe,[(i(!0),p(y,null,c(e.errors?.host,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,de),[[h,s.value.host]])]),f(`div`,null,[d(f(`craft-input`,{label:v(O)(`Port`),name:`port`,id:`db-port`,"onUpdate:modelValue":r[1]||=e=>s.value.port=e,size:`7`},[e.errors?.port?(i(),p(`ul`,me,[(i(!0),p(y,null,c(e.errors?.port,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,pe),[[h,s.value.port]])]),e.errors?.server?(i(),p(`ul`,he,[(i(!0),p(y,null,c(e.errors.server,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)]),f(`div`,ge,[f(`div`,null,[d(f(`craft-input`,{label:v(O)(`Username`),name:`username`,id:`db-username`,"onUpdate:modelValue":r[2]||=e=>s.value.username=e,placeholder:`root`},[e.errors?.username?(i(),p(`ul`,ve,[(i(!0),p(y,null,c(e.errors?.username,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,_e),[[h,s.value.username]])]),f(`div`,null,[d(f(`craft-input-password`,{label:v(O)(`Password`),name:`password`,id:`db-password`,"onUpdate:modelValue":r[3]||=e=>s.value.password=e},[e.errors?.password?(i(),p(`ul`,be,[(i(!0),p(y,null,c(e.errors?.password,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,ye),[[h,s.value.password]])]),e.errors?.user?(i(),p(`ul`,xe,[(i(!0),p(y,null,c(e.errors.user,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)]),f(`div`,Se,[f(`div`,Ce,[d(f(`craft-input`,{label:v(O)(`Database Name`),name:`name`,id:`db-database`,"onUpdate:modelValue":r[4]||=e=>s.value.database=e},[e.errors?.database?(i(),p(`ul`,Te,[(i(!0),p(y,null,c(e.errors?.database,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,we),[[h,s.value.database]])]),f(`div`,null,[d(f(`craft-input`,{label:v(O)(`Prefix`),name:`prefix`,id:`db-prefix`,"onUpdate:modelValue":r[5]||=e=>s.value.prefix=e,maxlength:`5`,size:`7`},[e.errors?.prefix?(i(),p(`ul`,De,[(i(!0),p(y,null,c(e.errors?.prefix,e=>(i(),p(`li`,null,t(e),1))),256))])):E(``,!0)],8,Ee),[[h,s.value.prefix]])])])],64))}}),ke={key:0,class:`content`},Ae={key:1,class:`content`},je={key:2,class:`content`},Me={class:`text-left border border-red-500 rounded p-4 text-red-800 bg-red-50 font-mono text-xs`},Ne=S(l({__name:`InstallingScreen`,props:{data:{}},setup(e){let{props:n}=m(),r=e,{execute:o,error:c,isSuccess:l,isLoading:u,isError:d}=j(`/admin/actions/install/install`,{onSuccess:e=>{setTimeout(()=>{window.location.href=n.postCpLoginRedirect},1e3)}});return s(async()=>{await o(r.data)}),(e,n)=>(i(),w(k,{class:`max-w-[80ch] mx-auto`},{default:a(()=>[v(u)?(i(),p(`div`,ke,[f(`h2`,null,t(v(O)(`Installing Craft CMS…`)),1),n[0]||=f(`craft-spinner`,null,null,-1)])):v(l)?(i(),p(`div`,Ae,[f(`h2`,null,t(v(O)(`Craft is installed! 🎉`)),1),n[1]||=f(`div`,{class:`flex justify-center items-center`},[f(`craft-icon`,{name:`circle-check`,variant:`regular`,style:{color:`var(--c-color-success-fill-loud)`,"font-size":`2.5rem`}})],-1)])):E(``,!0),v(d)?(i(),p(`div`,je,[f(`h2`,null,t(v(O)(`Install failed 😞`)),1),f(`div`,Me,t(v(c).message),1)])):E(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-900f8a00`]]),Pe={class:`grid md:grid-cols-2 gap-4 items-center`},Fe={class:`aspect-[352/455] w-1/2 md:w-3/4 mx-auto`},Q=[`src`],Ie={class:`mb-4`},Le={class:`grid gap-3 pr-6`},$=l({__name:`StepScreen`,props:{illustrationSrc:{default:``},heading:{default:``}},setup(e){return(n,r)=>(i(),p(`div`,Pe,[f(`div`,Fe,[f(`img`,{loading:`lazy`,src:e.illustrationSrc,alt:``,width:`368`},null,8,Q)]),f(`div`,null,[f(`h2`,Ie,t(e.heading),1),f(`div`,Le,[D(n.$slots,`default`)])])]))}}),Re={class:`install`},ze=[`innerHTML`],Be={class:`flex justify-center w-full`},Ve={key:2,class:`max-w-[80ch]`},He={class:`grid grid-cols-3 items-center gap-2`},Ue={class:`flex gap-2 justify-center`},We={class:`sr-only`},Ge=[`loading`],Ke=S(l({__name:`Install`,props:{dbConfig:{},localeOptions:{},licenseHtml:{},defaultSystemName:{},defaultSiteUrl:{},defaultSiteLanguage:{},showDbScreen:{type:Boolean}},setup(r){C(e=>({v636a4b8a:o.value}));let o=g(()=>`url(${N})`),s=r,{dotSteps:l,current:d,currentId:m,goTo:h,goToNext:S,goToPrevious:D,isCurrent:A,possibleSteps:j}=J(),P=_(`idle`);ne(()=>{j.value.db.hidden=s.showDbScreen});function F(){h(`license`)}let I=x({account:{},db:{},site:{}}),L=x({account:{username:``,email:``,password:``},db:{driver:s.dbConfig.driver,host:s.dbConfig.host,port:s.dbConfig.port,database:s.dbConfig.database,username:s.dbConfig.username,password:s.dbConfig.password,prefix:s.dbConfig.prefix},site:{name:s.defaultSystemName,baseUrl:s.defaultSiteUrl,language:s.defaultSiteLanguage}}),R=g(()=>!A(`start`));async function z(t){if(P.value===`loading`)return;I[m.value]=null;let n=t.currentTarget;try{P.value=`loading`,await e.post(n.action,L[m.value]),S(),P.value=`idle`}catch(e){I[m.value]=e.response.data.errors,P.value=`error`}}return(e,o)=>(i(),p(y,null,[T(v(ee),{title:v(O)(`Install Craft CMS`)},null,8,[`title`]),f(`div`,Re,[v(A)(`start`)?(i(),p(`craft-button`,{key:0,type:`button`,onClick:F,variant:`primary`,class:`begin-button`},[n(t(v(O)(`Install Craft CMS`))+` `,1),o[6]||=f(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)])):E(``,!0),T(M,{"is-active":R.value,overlay:!1},{default:a(()=>[v(A)(`license`)?(i(),w(k,{key:0,class:`max-w-[80ch] mx-auto`},{actions:a(()=>[f(`div`,Be,[f(`craft-button`,{type:`button`,variant:`primary`,onClick:o[0]||=e=>v(h)(`account`)},t(v(O)(`Got it`)),1)])]),default:a(()=>[T(v(b),{data:`licenseHtml`},{fallback:a(()=>[...o[7]||=[f(`div`,{class:`flex justify-center`},[f(`craft-spinner`)],-1)]]),default:a(()=>[f(`div`,{class:`license`,innerHTML:r.licenseHtml},null,8,ze)]),_:1})]),_:1})):v(A)(`installing`)?(i(),w(Ne,{key:1,data:L,onSuccess:o[1]||=e=>v(S)()},null,8,[`data`])):(i(),p(`div`,Ve,[T(k,{as:`form`,action:v(d).action,onSubmit:te(z,[`prevent`])},{actions:a(()=>[f(`div`,He,[f(`craft-button`,{type:`button`,onClick:o[5]||=(...e)=>v(D)&&v(D)(...e),appearance:`plain`,class:`justify-self-start`},[n(t(v(O)(`Back`))+` `,1),o[9]||=f(`craft-icon`,{name:`arrow-left`,slot:`prefix`},null,-1)]),f(`ul`,Ue,[(i(!0),p(y,null,c(v(l),(e,n)=>(i(),p(`li`,{key:n},[f(`span`,{class:u([`dot`,{"dot--active":v(A)(n)}])},[f(`span`,We,t(e.label),1)],2)]))),128))]),f(`craft-button`,{class:`justify-self-end`,type:`submit`,variant:`primary`,loading:P.value===`loading`},[n(t(v(d).submitLabel??v(O)(`Next`))+` `,1),o[10]||=f(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)],8,Ge)])]),default:a(()=>[v(A)(`account`)?(i(),w($,{key:0,"illustration-src":v(Y),heading:v(d).heading,class:`screen`},{default:a(()=>[v(A)(`account`)?(i(),w(V,{key:0,modelValue:L.account,"onUpdate:modelValue":o[2]||=e=>L.account=e,errors:I.account},null,8,[`modelValue`,`errors`])):E(``,!0)]),_:1},8,[`illustration-src`,`heading`])):E(``,!0),v(A)(`db`)?(i(),w($,{key:1,"illustration-src":v(Z),heading:v(d).heading,class:`screen`},{default:a(()=>[T(Oe,{modelValue:L.db,"onUpdate:modelValue":o[3]||=e=>L.db=e,errors:I.db},null,8,[`modelValue`,`errors`])]),_:1},8,[`illustration-src`,`heading`])):E(``,!0),v(A)(`site`)?(i(),w($,{key:2,"illustration-src":v(X),heading:v(d).heading,class:`screen`},{default:a(()=>[T(v(b),{data:`localeOptions`},{fallback:a(()=>[...o[8]||=[f(`craft-spinner`,null,null,-1)]]),default:a(()=>[T(q,{modelValue:L.site,"onUpdate:modelValue":o[4]||=e=>L.site=e,localeOptions:r.localeOptions,errors:I.site},null,8,[`modelValue`,`localeOptions`,`errors`])]),_:1})]),_:1},8,[`illustration-src`,`heading`])):E(``,!0)]),_:1},8,[`action`])]))]),_:1},8,[`is-active`])])],64))}}),[[`__scopeId`,`data-v-4c856b9d`]]);export{Ke as default}; \ No newline at end of file diff --git a/resources/build/Modal.js b/resources/build/Modal.js index 9c5c202cf0b..1076a5af8e2 100644 --- a/resources/build/Modal.js +++ b/resources/build/Modal.js @@ -1 +1 @@ -import{I as e,T as t,Y as n,_ as r,b as i,l as a,m as o,q as s,t as c,v as l,w as u,x as d,y as f,z as p}from"./_plugin-vue_export-helper.js";import{t as m}from"./dist.js";var h={key:0,class:`modal`},g=c(t({__name:`Modal`,props:{isActive:{type:Boolean,default:!1},overlay:{type:Boolean,default:!0},width:{}},emits:[`close`],setup(t,{emit:c}){let g=c,_=t;m(`Escape`,e=>{g(`close`)});let v=r(()=>`w-${_.width}`);return(r,c)=>(e(),d(o,null,[u(a,{name:`body`},{default:s(()=>[t.isActive?(e(),d(`div`,h,[l(`div`,{class:n({content:!0,[v.value]:!0})},[p(r.$slots,`default`,{},void 0,!0)],2)])):i(``,!0)]),_:3}),t.overlay?(e(),f(a,{key:0,name:`fade`},{default:s(()=>[t.isActive?(e(),d(`div`,{key:0,class:`overlay`,onClick:c[0]||=e=>g(`close`)})):i(``,!0)]),_:1})):i(``,!0)],64))}}),[[`__scopeId`,`data-v-10e77362`]]);export{g as t}; \ No newline at end of file +import{I as e,J as t,T as n,X as r,_ as i,b as a,g as o,l as s,p as c,t as l,v as u,w as d,y as f,z as p}from"./_plugin-vue_export-helper.js";import{t as m}from"./dist.js";var h={key:0,class:`modal`},g=l(n({__name:`Modal`,props:{isActive:{type:Boolean,default:!1},overlay:{type:Boolean,default:!0},width:{}},emits:[`close`],setup(n,{emit:l}){let g=l,_=n;m(`Escape`,e=>{g(`close`)});let v=o(()=>`w-${_.width}`);return(o,l)=>(e(),a(c,null,[d(s,{name:`body`},{default:t(()=>[n.isActive?(e(),a(`div`,h,[i(`div`,{class:r({content:!0,[v.value]:!0})},[p(o.$slots,`default`,{},void 0,!0)],2)])):f(``,!0)]),_:3}),n.overlay?(e(),u(s,{key:0,name:`fade`},{default:t(()=>[n.isActive?(e(),a(`div`,{key:0,class:`overlay`,onClick:l[0]||=e=>g(`close`)})):f(``,!0)]),_:1})):f(``,!0)],64))}}),[[`__scopeId`,`data-v-10e77362`]]);export{g as t}; \ No newline at end of file diff --git a/resources/build/ModalForm.js b/resources/build/ModalForm.js index 6427930fdb7..6943408501b 100644 --- a/resources/build/ModalForm.js +++ b/resources/build/ModalForm.js @@ -1 +1 @@ -import{I as e,M as t,Q as n,R as r,S as i,T as a,_ as o,p as s,q as c,v as l,w as u,x as d,y as f,z as p}from"./_plugin-vue_export-helper.js";import{s as m}from"./nav-item-DtQ6Tc_l.js";import{t as h}from"./Pane.js";import{t as g}from"./Modal.js";var _=[`variant`],v=[`variant`],y=a({__name:`Badge`,props:{variant:{default:`default`}},setup(t){let n=t,r=o(()=>n.variant===`default`?`empty`:n.variant);return(n,i)=>(e(),d(`craft-callout`,{variant:t.variant,size:`small`,class:`items-center`,inline:``},[l(`craft-indicator`,{slot:`icon`,variant:r.value},null,8,v),l(`span`,null,[p(n.$slots,`default`)])],8,_))}}),b=[`loading`],x=a({__name:`ModalForm`,props:{isActive:{type:Boolean},overlay:{type:Boolean,default:!0},width:{},loading:{type:Boolean,default:!1},title:{},resetLabel:{default:m(`Cancel`)},submitLabel:{default:m(`Save`)}},emits:[`close`,`submit`],setup(a,{emit:o}){let d=o;function m(){d(`submit`)}return(o,_)=>(e(),f(g,t({isActive:a.isActive,overlay:a.overlay,onClose:_[1]||=e=>d(`close`)},o.$props),{default:c(()=>[l(`form`,{onSubmit:s(m,[`prevent`])},[u(h,{title:a.title},i({"secondary-action":c(()=>[l(`craft-button`,{type:`reset`,onClick:_[0]||=e=>d(`close`),appearance:`plain`},n(a.resetLabel),1)]),"primary-action":c(()=>[l(`craft-button`,{type:`submit`,variant:`primary`,loading:a.loading},n(a.submitLabel),9,b)]),default:c(()=>[p(o.$slots,`default`)]),_:2},[r(o.$slots,(e,t)=>({name:t,fn:c(()=>[p(o.$slots,t)])}))]),1032,[`title`])],32)]),_:3},16,[`isActive`,`overlay`]))}});export{y as n,x as t}; \ No newline at end of file +import{$ as e,I as t,J as n,M as r,R as i,T as a,_ as o,f as s,v as c,w as l,x as u,z as d}from"./_plugin-vue_export-helper.js";import{i as f}from"./nav-item-DCsUKnaY.js";import{t as p}from"./Pane.js";import{t as m}from"./Modal.js";var h=[`loading`],g=a({__name:`ModalForm`,props:{isActive:{type:Boolean},overlay:{type:Boolean,default:!0},width:{},loading:{type:Boolean,default:!1},title:{},resetLabel:{default:f(`Cancel`)},submitLabel:{default:f(`Save`)}},emits:[`close`,`submit`],setup(a,{emit:f}){let g=f;function _(){g(`submit`)}return(f,v)=>(t(),c(m,r({isActive:a.isActive,overlay:a.overlay,onClose:v[1]||=e=>g(`close`)},f.$props),{default:n(()=>[o(`form`,{onSubmit:s(_,[`prevent`])},[l(p,{title:a.title},u({"secondary-action":n(()=>[o(`craft-button`,{type:`reset`,onClick:v[0]||=e=>g(`close`),appearance:`plain`},e(a.resetLabel),1)]),"primary-action":n(()=>[o(`craft-button`,{type:`submit`,variant:`primary`,loading:a.loading},e(a.submitLabel),9,h)]),default:n(()=>[d(f.$slots,`default`)]),_:2},[i(f.$slots,(e,t)=>({name:t,fn:n(()=>[d(f.$slots,t)])}))]),1032,[`title`])],32)]),_:3},16,[`isActive`,`overlay`]))}});export{g as t}; \ No newline at end of file diff --git a/resources/build/Pane.js b/resources/build/Pane.js index 9b3230a4a21..29c60c41e94 100644 --- a/resources/build/Pane.js +++ b/resources/build/Pane.js @@ -1 +1 @@ -import{B as e,I as t,M as n,Q as r,T as i,U as a,_ as o,b as s,q as c,t as l,u,v as d,x as f,y as p,z as m}from"./_plugin-vue_export-helper.js";var h={class:`cp-pane__header`},g={key:0,class:`text-lg`},_={class:`cp-pane__actions`},v={class:`cp-pane__body`},y={class:`cp-pane__footer`},b={class:`actions`},x=l(i({__name:`Pane`,props:{as:{default:`div`},variant:{},appearance:{},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},title:{},padding:{default:`lg`}},setup(i){u(e=>({v7e268944:T.value}));let l=a(),x=i;function S(e){return!isNaN(parseFloat(e))&&isFinite(e)}let C=o(()=>!!(l.header||x.title||l.title||l[`header-actions`])),w=o(()=>l.footer||l.actions||l[`primary-action`]||l[`secondary-action`]),T=o(()=>x.padding===0?0:S(x.padding)?`calc(${x.padding}rem / 16)`:[`sm`,`md`,`lg`,`xl`].includes(x.padding)?`var(--c-spacing-${x.padding})`:x.padding);return(a,o)=>(t(),p(e(i.as),n({class:{"cp-pane":!0,"cp-pane--code":i.variant===`code`,"cp-pane--error":i.variant===`error`,"cp-pane--outline":i.appearance===`outline`,"cp-pane--raised":i.appearance===`raised`}},a.$attrs),{default:c(()=>[C.value?m(a.$slots,`header`,{key:0},()=>[d(`div`,h,[m(a.$slots,`title`,{},()=>[i.title?(t(),f(`h1`,g,r(i.title),1)):s(``,!0)],!0),d(`div`,_,[m(a.$slots,`header-actions`,{},void 0,!0)])])],!0):s(``,!0),m(a.$slots,`body`,{},()=>[d(`div`,v,[m(a.$slots,`default`,{},void 0,!0)])],!0),w.value?m(a.$slots,`footer`,{key:1},()=>[d(`div`,y,[m(a.$slots,`actions`,{},()=>[d(`div`,b,[m(a.$slots,`secondary-action`,{},void 0,!0),m(a.$slots,`primary-action`,{},void 0,!0)])],!0)])],!0):s(``,!0)]),_:3},16,[`class`]))}}),[[`__scopeId`,`data-v-a9d530ae`]]);export{x as t}; \ No newline at end of file +import{$ as e,I as t,J as n,M as r,T as i,V as a,W as o,_ as s,b as c,g as l,t as u,u as d,v as f,y as p,z as m}from"./_plugin-vue_export-helper.js";var h={class:`cp-pane__header`},g={key:0,class:`text-lg`},_={class:`cp-pane__actions`},v={class:`cp-pane__body`},y={class:`cp-pane__footer`},b={class:`actions`},x=u(i({__name:`Pane`,props:{as:{default:`div`},variant:{},appearance:{},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},title:{},padding:{default:`lg`}},setup(i){d(e=>({v7e268944:T.value}));let u=o(),x=i;function S(e){return!isNaN(parseFloat(e))&&isFinite(e)}let C=l(()=>!!(u.header||x.title||u.title||u[`header-actions`])),w=l(()=>u.footer||u.actions||u[`primary-action`]||u[`secondary-action`]),T=l(()=>x.padding===0?0:S(x.padding)?`calc(${x.padding}rem / 16)`:[`sm`,`md`,`lg`,`xl`].includes(x.padding)?`var(--c-spacing-${x.padding})`:x.padding);return(o,l)=>(t(),f(a(i.as),r({class:{"cp-pane":!0,"cp-pane--code":i.variant===`code`,"cp-pane--error":i.variant===`error`,"cp-pane--outline":i.appearance===`outline`,"cp-pane--raised":i.appearance===`raised`}},o.$attrs),{default:n(()=>[C.value?m(o.$slots,`header`,{key:0},()=>[s(`div`,h,[m(o.$slots,`title`,{},()=>[i.title?(t(),c(`h1`,g,e(i.title),1)):p(``,!0)],!0),s(`div`,_,[m(o.$slots,`header-actions`,{},void 0,!0)])])],!0):p(``,!0),m(o.$slots,`body`,{},()=>[s(`div`,v,[m(o.$slots,`default`,{},void 0,!0)])],!0),w.value?m(o.$slots,`footer`,{key:1},()=>[s(`div`,y,[m(o.$slots,`actions`,{},()=>[s(`div`,b,[m(o.$slots,`secondary-action`,{},void 0,!0),m(o.$slots,`primary-action`,{},void 0,!0)])],!0)])],!0):p(``,!0)]),_:3},16,[`class`]))}}),[[`__scopeId`,`data-v-a9d530ae`]]);export{x as t}; \ No newline at end of file diff --git a/resources/build/Queue-C-Z7zpYZ.js b/resources/build/Queue-C-Z7zpYZ.js deleted file mode 100644 index 17367fb5d05..00000000000 --- a/resources/build/Queue-C-Z7zpYZ.js +++ /dev/null @@ -1,48 +0,0 @@ -import{t as e}from"./decorate-NVSIGmKd.js";import{c as t,f as n,t as r}from"./lit.js";import{a as i}from"./decorators.js";var a=Object.defineProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,t)=>{let n={};for(var r in e)a(n,r,{get:e[r],enumerable:!0});return t||a(n,Symbol.toStringTag,{value:`Module`}),n};function c(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function l(e,t,n){c(e,t),t.set(e,n)}function u(e,t,n){if(typeof e==`function`?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError(`Private element is not present on this object`)}function d(e,t){return e.get(u(e,t))}function f(e,t,n){return e.set(u(e,t),n),n}var p={Pending:1,Reserved:2,Done:3,Failed:4,Delayed:5,Cancelled:6},m={Default:`default`,Success:`success`,Warning:`warning`,Danger:`danger`,Info:`info`},h={Accent:`accent`,OutlineFill:`outline-fill`,Fill:`fill`,Outline:`outline`,Plain:`plain`};function g(e,t){c(e,t),t.add(e)}var _=new WeakMap,v=new WeakMap,y=new WeakMap,b=new WeakMap,x=new WeakMap,S=new WeakMap,C=new WeakMap,w=new WeakMap,T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakSet,k=class extends r{constructor(...e){super(...e),g(this,O),this.progress=0,this.failed=!1,this.color=`currentColor`,this.bgColor=`#a3afbb`,this.failColor=`#da5a47`,this.label=`Progress`,this.autoComplete=!1,l(this,_,null),l(this,v,0),l(this,y,0),l(this,b,0),l(this,x,0),l(this,S,0),l(this,C,null),l(this,w,0),l(this,T,null),l(this,E,0),l(this,D,!1)}connectedCallback(){super.connectedCallback(),f(D,this,window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)}disconnectedCallback(){super.disconnectedCallback(),u(O,this,ae).call(this)}firstUpdated(){f(_,this,this.renderRoot.querySelector(`canvas`)),u(O,this,ee).call(this),u(O,this,te).call(this)}updated(e){e.has(`progress`)?u(O,this,te).call(this):(e.has(`color`)||e.has(`bgColor`)||e.has(`failColor`)||e.has(`failed`))&&u(O,this,A).call(this)}get canvas(){return d(_,this)}get prefersReducedMotion(){return d(D,this)}runCompleteAnimation(){return new Promise(e=>{if(d(D,this)){f(S,this,1),d(_,this)&&(d(_,this).style.opacity=`0`),u(O,this,A).call(this),e();return}u(O,this,ie).call(this,1,()=>{d(_,this)&&(d(_,this).style.transition=`opacity 0.4s`,d(_,this).style.opacity=`0`),setTimeout(e,400)})})}async complete(){await this.runCompleteAnimation(),this.dispatchEvent(new CustomEvent(`complete`,{bubbles:!0,composed:!0}))}render(){return t` - =0?this.progress:void 0)??``} - aria-valuemin="0" - aria-valuemax="100" - aria-label=${this.label} - > - - ${this.failed?`Failed`:this.progress<0?`Loading`:`${this.progress}%`} - - `}};function ee(){let e=getComputedStyle(this),t=parseFloat(e.getPropertyValue(`--_size`)),n=parseFloat(e.getPropertyValue(`--_stroke-width`)),r=window.devicePixelRatio>1?2:1;f(v,this,t*r),f(y,this,d(v,this)/2),f(x,this,n*r),f(b,this,(t/2-n/2)*r),d(_,this)&&(d(_,this).width=d(v,this),d(_,this).height=d(v,this))}function te(){if(this.progress>=0&&d(T,this)!==null&&(cancelAnimationFrame(d(T,this)),f(T,this,null),f(w,this,0)),this.progress<0){d(T,this)===null&&u(O,this,ne).call(this);return}let e=this.progress/100;if(this.autoComplete&&this.progress>=100&&d(E,this)<100){f(E,this,this.progress),this.complete();return}d(E,this)>0&&this.progress>d(E,this)&&!d(D,this)?u(O,this,ie).call(this,e):(f(S,this,e),u(O,this,A).call(this)),f(E,this,this.progress)}function ne(){if(d(D,this)){f(S,this,.25),u(O,this,A).call(this);return}let e=()=>{f(w,this,d(w,this)+.05),f(S,this,.15+.1*Math.sin(d(w,this)*3)),u(O,this,A).call(this),f(T,this,requestAnimationFrame(e))};f(T,this,requestAnimationFrame(e))}function A(){let e=d(_,this)?.getContext(`2d`);if(e){if(e.clearRect(0,0,d(v,this),d(v,this)),this.failed){u(O,this,re).call(this,e,this.failColor,1,0);return}if(u(O,this,re).call(this,e,this.bgColor,1,0),d(S,this)>0){let t=this.progress<0?d(w,this):-Math.PI/2;u(O,this,re).call(this,e,this.color,d(S,this),t)}}}function re(e,t,n,r){e.strokeStyle=t,e.lineWidth=d(x,this),e.lineCap=`round`,e.beginPath(),e.arc(d(y,this),d(y,this),d(b,this),r,r+n*2*Math.PI),e.stroke()}function ie(e,t){u(O,this,ae).call(this);let n=performance.now(),r=d(S,this),i=a=>{let o=a-n,s=Math.min(o/500,1),c=1-(1-s)**3;f(S,this,r+(e-r)*c),u(O,this,A).call(this),s<1?f(C,this,requestAnimationFrame(i)):(f(C,this,null),t?.())};f(C,this,requestAnimationFrame(i))}function ae(){d(C,this)!==null&&(cancelAnimationFrame(d(C,this)),f(C,this,null)),d(T,this)!==null&&(cancelAnimationFrame(d(T,this)),f(T,this,null))}k.styles=n` - :host { - --_size: var(--c-progress-size, 16px); - --_stroke-width: var(--c-progress-stroke-width, 3px); - - display: inline-block; - position: relative; - width: var(--_size); - height: var(--_size); - } - - canvas { - position: absolute; - top: 0; - left: 0; - width: var(--_size); - height: var(--_size); - } - - .visually-hidden { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; - } - `,e([i({type:Number})],k.prototype,`progress`,void 0),e([i({type:Boolean})],k.prototype,`failed`,void 0),e([i({type:String})],k.prototype,`color`,void 0),e([i({type:String,attribute:`bg-color`})],k.prototype,`bgColor`,void 0),e([i({type:String,attribute:`fail-color`})],k.prototype,`failColor`,void 0),e([i({type:String})],k.prototype,`label`,void 0),e([i({type:Boolean,attribute:`auto-complete`})],k.prototype,`autoComplete`,void 0),customElements.get(`craft-progress`)||customElements.define(`craft-progress`,k);function oe(e,t){return function(){return e.apply(t,arguments)}}var{toString:se}=Object.prototype,{getPrototypeOf:ce}=Object,{iterator:le,toStringTag:ue}=Symbol,de=(e=>t=>{let n=se.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),j=e=>(e=e.toLowerCase(),t=>de(t)===e),fe=e=>t=>typeof t===e,{isArray:M}=Array,N=fe(`undefined`);function P(e){return e!==null&&!N(e)&&e.constructor!==null&&!N(e.constructor)&&F(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var pe=j(`ArrayBuffer`);function me(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&pe(e.buffer),t}var he=fe(`string`),F=fe(`function`),ge=fe(`number`),I=e=>typeof e==`object`&&!!e,_e=e=>e===!0||e===!1,ve=e=>{if(de(e)!==`object`)return!1;let t=ce(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ue in e)&&!(le in e)},ye=e=>{if(!I(e)||P(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},be=j(`Date`),xe=j(`File`),Se=e=>!!(e&&e.uri!==void 0),Ce=e=>e&&e.getParts!==void 0,we=j(`Blob`),Te=j(`FileList`),Ee=e=>I(e)&&F(e.pipe);function De(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var Oe=De(),ke=Oe.FormData===void 0?void 0:Oe.FormData,Ae=e=>{let t;return e&&(ke&&e instanceof ke||F(e.append)&&((t=de(e))===`formdata`||t===`object`&&F(e.toString)&&e.toString()===`[object FormData]`))},je=j(`URLSearchParams`),[Me,Ne,Pe,Fe]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(j),Ie=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function L(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),M(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}var R=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,Re=e=>!N(e)&&e!==R;function ze(){let{caseless:e,skipUndefined:t}=Re(this)&&this||{},n={},r=(r,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=e&&Le(n,i)||i;ve(n[a])&&ve(r)?n[a]=ze(n[a],r):ve(r)?n[a]=ze({},r):M(r)?n[a]=r.slice():(!t||!N(r))&&(n[a]=r)};for(let e=0,t=arguments.length;e(L(t,(t,r)=>{n&&F(t)?Object.defineProperty(e,r,{value:oe(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Ve=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),He=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,`constructor`,{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,`super`,{value:t.prototype}),n&&Object.assign(e.prototype,n)},Ue=(e,t,n,r)=>{let i,a,o,s={};if(t||={},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&ce(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},We=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},Ge=e=>{if(!e)return null;if(M(e))return e;let t=e.length;if(!ge(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},Ke=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&ce(Uint8Array)),qe=(e,t)=>{let n=(e&&e[le]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},Je=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Ye=j(`HTMLFormElement`),Xe=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),Ze=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Qe=j(`RegExp`),$e=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};L(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},et=e=>{$e(e,(t,n)=>{if(F(e)&&[`arguments`,`caller`,`callee`].indexOf(n)!==-1)return!1;let r=e[n];if(F(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},tt=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return M(e)?r(e):r(String(e).split(t)),n},nt=()=>{},rt=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function it(e){return!!(e&&F(e.append)&&e[ue]===`FormData`&&e[le])}var at=e=>{let t=Array(10),n=(e,r)=>{if(I(e)){if(t.indexOf(e)>=0)return;if(P(e))return e;if(!(`toJSON`in e)){t[r]=e;let i=M(e)?[]:{};return L(e,(e,t)=>{let a=n(e,r+1);!N(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},ot=j(`AsyncFunction`),st=e=>e&&(I(e)||F(e))&&F(e.then)&&F(e.catch),ct=((e,t)=>e?setImmediate:t?((e,t)=>(R.addEventListener(`message`,({source:n,data:r})=>{n===R&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),R.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,F(R.postMessage)),z={isArray:M,isArrayBuffer:pe,isBuffer:P,isFormData:Ae,isArrayBufferView:me,isString:he,isNumber:ge,isBoolean:_e,isObject:I,isPlainObject:ve,isEmptyObject:ye,isReadableStream:Me,isRequest:Ne,isResponse:Pe,isHeaders:Fe,isUndefined:N,isDate:be,isFile:xe,isReactNativeBlob:Se,isReactNative:Ce,isBlob:we,isRegExp:Qe,isFunction:F,isStream:Ee,isURLSearchParams:je,isTypedArray:Ke,isFileList:Te,forEach:L,merge:ze,extend:Be,trim:Ie,stripBOM:Ve,inherits:He,toFlatObject:Ue,kindOf:de,kindOfTest:j,endsWith:We,toArray:Ge,forEachEntry:qe,matchAll:Je,isHTMLForm:Ye,hasOwnProperty:Ze,hasOwnProp:Ze,reduceDescriptors:$e,freezeMethods:et,toObjectSet:tt,toCamelCase:Xe,noop:nt,toFiniteNumber:rt,findKey:Le,global:R,isContextDefined:Re,isSpecCompliantForm:it,toJSONObject:at,isAsyncFn:ot,isThenable:st,setImmediate:ct,asap:typeof queueMicrotask<`u`?queueMicrotask.bind(R):typeof process<`u`&&process.nextTick||ct,isIterable:e=>e!=null&&F(e[le])},B=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,`message`,{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:z.toJSONObject(this.config),code:this.code,status:this.status}}};B.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,B.ERR_BAD_OPTION=`ERR_BAD_OPTION`,B.ECONNABORTED=`ECONNABORTED`,B.ETIMEDOUT=`ETIMEDOUT`,B.ERR_NETWORK=`ERR_NETWORK`,B.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,B.ERR_DEPRECATED=`ERR_DEPRECATED`,B.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,B.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,B.ERR_CANCELED=`ERR_CANCELED`,B.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,B.ERR_INVALID_URL=`ERR_INVALID_URL`;function lt(e){return z.isPlainObject(e)||z.isArray(e)}function ut(e){return z.endsWith(e,`[]`)?e.slice(0,-2):e}function dt(e,t,n){return e?e.concat(t).map(function(e,t){return e=ut(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function ft(e){return z.isArray(e)&&!e.some(lt)}var pt=z.toFlatObject(z,{},null,function(e){return/^is[A-Z]/.test(e)});function mt(e,t,n){if(!z.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=z.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!z.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||l,a=n.dots,o=n.indexes,s=(n.Blob||typeof Blob<`u`&&Blob)&&z.isSpecCompliantForm(t);if(!z.isFunction(i))throw TypeError(`visitor must be a function`);function c(e){if(e===null)return``;if(z.isDate(e))return e.toISOString();if(z.isBoolean(e))return e.toString();if(!s&&z.isBlob(e))throw new B(`Blob is not supported. Use a Buffer instead.`);return z.isArrayBuffer(e)||z.isTypedArray(e)?s&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function l(e,n,i){let s=e;if(z.isReactNative(t)&&z.isReactNativeBlob(e))return t.append(dt(i,n,a),c(e)),!1;if(e&&!i&&typeof e==`object`){if(z.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(z.isArray(e)&&ft(e)||(z.isFileList(e)||z.endsWith(n,`[]`))&&(s=z.toArray(e)))return n=ut(n),s.forEach(function(e,r){!(z.isUndefined(e)||e===null)&&t.append(o===!0?dt([n],r,a):o===null?n:n+`[]`,c(e))}),!1}return lt(e)?!0:(t.append(dt(i,n,a),c(e)),!1)}let u=[],d=Object.assign(pt,{defaultVisitor:l,convertValue:c,isVisitable:lt});function f(e,n){if(!z.isUndefined(e)){if(u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),z.forEach(e,function(e,r){(!(z.isUndefined(e)||e===null)&&i.call(t,e,z.isString(r)?r.trim():r,n,d))===!0&&f(e,n?n.concat(r):[r])}),u.pop()}}if(!z.isObject(e))throw TypeError(`data must be an object`);return f(e),t}function ht(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`,"%00":`\0`};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function gt(e,t){this._pairs=[],e&&mt(e,this,t)}var _t=gt.prototype;_t.append=function(e,t){this._pairs.push([e,t])},_t.toString=function(e){let t=e?function(t){return e.call(this,t,ht)}:ht;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function vt(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function yt(e,t,n){if(!t)return e;let r=n&&n.encode||vt,i=z.isFunction(n)?{serialize:n}:n,a=i&&i.serialize,o;if(o=a?a(t,i):z.isURLSearchParams(t)?t.toString():new gt(t,i).toString(r),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var bt=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){z.forEach(this.handlers,function(t){t!==null&&e(t)})}},xt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},St={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:gt,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},Ct=s({hasBrowserEnv:()=>wt,hasStandardBrowserEnv:()=>Et,hasStandardBrowserWebWorkerEnv:()=>Dt,navigator:()=>Tt,origin:()=>Ot}),wt=typeof window<`u`&&typeof document<`u`,Tt=typeof navigator==`object`&&navigator||void 0,Et=wt&&(!Tt||[`ReactNative`,`NativeScript`,`NS`].indexOf(Tt.product)<0),Dt=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,Ot=wt&&window.location.href||`http://localhost`,V={...Ct,...St};function kt(e,t){return mt(e,new V.classes.URLSearchParams,{visitor:function(e,t,n,r){return V.isNode&&z.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function At(e){return z.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function jt(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r=e.length;return a=!a&&z.isArray(r)?r.length:a,s?(z.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!o):((!r[a]||!z.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&z.isArray(r[a])&&(r[a]=jt(r[a])),!o)}if(z.isFormData(e)&&z.isFunction(e.entries)){let n={};return z.forEachEntry(e,(e,r)=>{t(At(e),r,n,0)}),n}return null}function Nt(e,t,n){if(z.isString(e))try{return(t||JSON.parse)(e),z.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var H={transitional:xt,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=z.isObject(e);if(i&&z.isHTMLForm(e)&&(e=new FormData(e)),z.isFormData(e))return r?JSON.stringify(Mt(e)):e;if(z.isArrayBuffer(e)||z.isBuffer(e)||z.isStream(e)||z.isFile(e)||z.isBlob(e)||z.isReadableStream(e))return e;if(z.isArrayBufferView(e))return e.buffer;if(z.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return kt(e,this.formSerializer).toString();if((a=z.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let t=this.env&&this.env.FormData;return mt(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(`application/json`,!1),Nt(e)):e}],transformResponse:[function(e){let t=this.transitional||H.transitional,n=t&&t.forcedJSONParsing,r=this.responseType===`json`;if(z.isResponse(e)||z.isReadableStream(e))return e;if(e&&z.isString(e)&&(n&&!this.responseType||r)){let n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n)throw e.name===`SyntaxError`?B.from(e,B.ERR_BAD_RESPONSE,this,null,this.response):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:V.classes.FormData,Blob:V.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};z.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`],e=>{H.headers[e]={}});var Pt=z.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),Ft=e=>{let t={},n,r,i;return e&&e.split(` -`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&Pt[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t},It=Symbol(`internals`);function U(e){return e&&String(e).trim().toLowerCase()}function Lt(e){return e===!1||e==null?e:z.isArray(e)?e.map(Lt):String(e)}function Rt(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var zt=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Bt(e,t,n,r,i){if(z.isFunction(r))return r.call(this,t,n);if(i&&(t=n),z.isString(t)){if(z.isString(r))return t.indexOf(r)!==-1;if(z.isRegExp(r))return r.test(t)}}function Vt(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function Ht(e,t){let n=z.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var W=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=U(t);if(!i)throw Error(`header name must be a non-empty string`);let a=z.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=Lt(e))}let a=(e,t)=>z.forEach(e,(e,n)=>i(e,n,t));if(z.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(z.isString(e)&&(e=e.trim())&&!zt(e))a(Ft(e),t);else if(z.isObject(e)&&z.isIterable(e)){let n={},r,i;for(let t of e){if(!z.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);n[i=t[0]]=(r=n[i])?z.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=U(e),e){let n=z.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return Rt(e);if(z.isFunction(t))return t.call(this,e,n);if(z.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=U(e),e){let n=z.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||Bt(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=U(e),e){let i=z.findKey(n,e);i&&(!t||Bt(n,n[i],i,t))&&(delete n[i],r=!0)}}return z.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||Bt(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return z.forEach(this,(r,i)=>{let a=z.findKey(n,i);if(a){t[a]=Lt(r),delete t[i];return}let o=e?Vt(i):String(i).trim();o!==i&&delete t[i],t[o]=Lt(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return z.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&z.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(` -`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[It]=this[It]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=U(e);t[r]||(Ht(n,e),t[r]=!0)}return z.isArray(e)?e.forEach(r):r(e),this}};W.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),z.reduceDescriptors(W.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),z.freezeMethods(W);function Ut(e,t){let n=this||H,r=t||n,i=W.from(r.headers),a=r.data;return z.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function Wt(e){return!!(e&&e.__CANCEL__)}var G=class extends B{constructor(e,t,n){super(e??`canceled`,B.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function Gt(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new B(`Request failed with status code `+n.status,[B.ERR_BAD_REQUEST,B.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Kt(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||``}function qt(e,t){e||=10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||=c,n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{n=r,i=null,a&&=(clearTimeout(a),null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||=setTimeout(()=>{a=null,o(i)},r-s))},()=>i&&o(i)]}var Yt=(e,t,n=3)=>{let r=0,i=qt(50,250);return Jt(n=>{let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=a-r,c=i(s),l=a<=o;r=a,e({loaded:a,total:o,progress:o?a/o:void 0,bytes:s,rate:c||void 0,estimated:c&&o&&l?(o-a)/c:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},Xt=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Zt=e=>(...t)=>z.asap(()=>e(...t)),Qt=V.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,V.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(V.origin),V.navigator&&/(msie|trident)/i.test(V.navigator.userAgent)):()=>!0,$t=V.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];z.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),z.isString(r)&&s.push(`path=${r}`),z.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),z.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.match(RegExp(`(?:^|; )`+e+`=([^;]*)`));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,``,Date.now()-864e5,`/`)}}:{write(){},read(){return null},remove(){}};function en(e){return typeof e==`string`?/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e):!1}function tn(e,t){return t?e.replace(/\/?\/$/,``)+`/`+t.replace(/^\/+/,``):e}function nn(e,t,n){let r=!en(t);return e&&(r||n==0)?tn(e,t):t}var rn=e=>e instanceof W?{...e}:e;function K(e,t){t||={};let n={};function r(e,t,n,r){return z.isPlainObject(e)&&z.isPlainObject(t)?z.merge.call({caseless:r},e,t):z.isPlainObject(t)?z.merge({},t):z.isArray(t)?t.slice():t}function i(e,t,n,i){if(!z.isUndefined(t))return r(e,t,n,i);if(!z.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!z.isUndefined(t))return r(void 0,t)}function o(e,t){if(!z.isUndefined(t))return r(void 0,t);if(!z.isUndefined(e))return r(void 0,e)}function s(n,i,a){if(a in t)return r(n,i);if(a in e)return r(void 0,n)}let c={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(e,t,n)=>i(rn(e),rn(t),n,!0)};return z.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=z.hasOwnProp(c,r)?c[r]:i,o=a(e[r],t[r],r);z.isUndefined(o)&&a!==s||(n[r]=o)}),n}var an=e=>{let t=K({},e),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:a,headers:o,auth:s}=t;if(t.headers=o=W.from(o),t.url=yt(nn(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set(`Authorization`,`Basic `+btoa((s.username||``)+`:`+(s.password?unescape(encodeURIComponent(s.password)):``))),z.isFormData(n)){if(V.hasStandardBrowserEnv||V.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(z.isFunction(n.getHeaders)){let e=n.getHeaders(),t=[`content-type`,`content-length`];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&o.set(e,n)})}}if(V.hasStandardBrowserEnv&&(r&&z.isFunction(r)&&(r=r(t)),r||r!==!1&&Qt(t.url))){let e=i&&a&&$t.read(a);e&&o.set(i,e)}return t},on=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=an(e),i=r.data,a=W.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=W.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());Gt(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf(`file:`)===0)||setTimeout(g)},h.onabort=function(){h&&=(n(new B(`Request aborted`,B.ECONNABORTED,e,h)),null)},h.onerror=function(t){let r=new B(t&&t.message?t.message:`Network Error`,B.ERR_NETWORK,e,h);r.event=t||null,n(r),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||xt;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new B(t,i.clarifyTimeoutError?B.ETIMEDOUT:B.ECONNABORTED,e,h)),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&z.forEach(a.toJSON(),function(e,t){h.setRequestHeader(t,e)}),z.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=Yt(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=Yt(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&=(n(!t||t.type?new G(null,e,h):t),h.abort(),null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=Kt(r.url);if(_&&V.protocols.indexOf(_)===-1){n(new B(`Unsupported protocol `+_+`:`,B.ERR_BAD_REQUEST,e));return}h.send(i||null)})},sn=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n=new AbortController,r,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof B?t:new G(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new B(`timeout of ${t}ms exceeded`,B.ETIMEDOUT))},t),o=()=>{e&&=(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),null)};e.forEach(e=>e.addEventListener(`abort`,i));let{signal:s}=n;return s.unsubscribe=()=>z.asap(o),s}},cn=function*(e,t){let n=e.byteLength;if(!t||n{let i=ln(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})},fn=64*1024,{isFunction:pn}=z,mn=(({Request:e,Response:t})=>({Request:e,Response:t}))(z.global),{ReadableStream:hn,TextEncoder:gn}=z.global,_n=(e,...t)=>{try{return!!e(...t)}catch{return!1}},vn=e=>{e=z.merge.call({skipUndefined:!0},mn,e);let{fetch:t,Request:n,Response:r}=e,i=t?pn(t):typeof fetch==`function`,a=pn(n),o=pn(r);if(!i)return!1;let s=i&&pn(hn),c=i&&(typeof gn==`function`?(e=>t=>e.encode(t))(new gn):async e=>new Uint8Array(await new n(e).arrayBuffer())),l=a&&s&&_n(()=>{let e=!1,t=new n(V.origin,{body:new hn,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`);return e&&!t}),u=o&&s&&_n(()=>z.isReadableStream(new r(``).body)),d={stream:u&&(e=>e.body)};i&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new B(`Response type '${e}' is not supported`,B.ERR_NOT_SUPPORT,n)})});let f=async e=>{if(e==null)return 0;if(z.isBlob(e))return e.size;if(z.isSpecCompliantForm(e))return(await new n(V.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(z.isArrayBufferView(e)||z.isArrayBuffer(e))return e.byteLength;if(z.isURLSearchParams(e)&&(e+=``),z.isString(e))return(await c(e)).byteLength},p=async(e,t)=>z.toFiniteNumber(e.getContentLength())??f(t);return async e=>{let{url:i,method:o,data:s,signal:c,cancelToken:f,timeout:m,onDownloadProgress:h,onUploadProgress:g,responseType:_,headers:v,withCredentials:y=`same-origin`,fetchOptions:b}=an(e),x=t||fetch;_=_?(_+``).toLowerCase():`text`;let S=sn([c,f&&f.toAbortSignal()],m),C=null,w=S&&S.unsubscribe&&(()=>{S.unsubscribe()}),T;try{if(g&&l&&o!==`get`&&o!==`head`&&(T=await p(v,s))!==0){let e=new n(i,{method:`POST`,body:s,duplex:`half`}),t;if(z.isFormData(s)&&(t=e.headers.get(`content-type`))&&v.setContentType(t),e.body){let[t,n]=Xt(T,Yt(Zt(g)));s=dn(e.body,fn,t,n)}}z.isString(y)||(y=y?`include`:`omit`);let t=a&&`credentials`in n.prototype,c={...b,signal:S,method:o.toUpperCase(),headers:v.normalize().toJSON(),body:s,duplex:`half`,credentials:t?y:void 0};C=a&&new n(i,c);let f=await(a?x(C,b):x(i,c)),m=u&&(_===`stream`||_===`response`);if(u&&(h||m&&w)){let e={};[`status`,`statusText`,`headers`].forEach(t=>{e[t]=f[t]});let t=z.toFiniteNumber(f.headers.get(`content-length`)),[n,i]=h&&Xt(t,Yt(Zt(h),!0))||[];f=new r(dn(f.body,fn,n,()=>{i&&i(),w&&w()}),e)}_||=`text`;let E=await d[z.findKey(d,_)||`text`](f,e);return!m&&w&&w(),await new Promise((t,n)=>{Gt(t,n,{data:E,headers:W.from(f.headers),status:f.status,statusText:f.statusText,config:e,request:C})})}catch(t){throw w&&w(),t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new B(`Network Error`,B.ERR_NETWORK,e,C,t&&t.response),{cause:t.cause||t}):B.from(t,t&&t.code,e,C,t&&t.response)}}},yn=new Map,bn=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=yn;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:vn(t)),l=c;return c};bn();var xn={http:null,xhr:on,fetch:{get:bn}};z.forEach(xn,(e,t)=>{if(e){try{Object.defineProperty(e,`name`,{value:t})}catch{}Object.defineProperty(e,`adapterName`,{value:t})}});var Sn=e=>`- ${e}`,Cn=e=>z.isFunction(e)||e===null||e===!1;function wn(e,t){e=z.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new B(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since : -`+e.map(Sn).join(` -`):` `+Sn(e[0]):`as no adapter specified`),`ERR_NOT_SUPPORT`)}return i}var Tn={getAdapter:wn,adapters:xn};function En(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new G(null,e)}function Dn(e){return En(e),e.headers=W.from(e.headers),e.data=Ut.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),Tn.getAdapter(e.adapter||H.adapter,e)(e).then(function(t){return En(e),t.data=Ut.call(e,e.transformResponse,t),t.headers=W.from(t.headers),t},function(t){return Wt(t)||(En(e),t&&t.response&&(t.response.data=Ut.call(e,e.transformResponse,t.response),t.response.headers=W.from(t.response.headers))),Promise.reject(t)})}var On=`1.13.6`,kn={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{kn[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var An={};kn.transitional=function(e,t,n){function r(e,t){return`[Axios v`+On+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new B(r(i,` has been removed`+(t?` in `+t:``)),B.ERR_DEPRECATED);return t&&!An[i]&&(An[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),e?e(n,i,a):!0}},kn.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function jn(e,t,n){if(typeof e!=`object`)throw new B(`options must be an object`,B.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-- >0;){let a=r[i],o=t[a];if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new B(`option `+a+` must be `+n,B.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new B(`Unknown option `+a,B.ERR_BAD_OPTION)}}var Mn={assertOptions:jn,validators:kn},q=Mn.validators,J=class{constructor(e){this.defaults=e||{},this.interceptors={request:new bt,response:new bt}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=t.stack?t.stack.replace(/^.+\n/,``):``;try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,``))&&(e.stack+=` -`+n):e.stack=n}catch{}}throw e}}_request(e,t){typeof e==`string`?(t||={},t.url=e):t=e||{},t=K(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&Mn.assertOptions(n,{silentJSONParsing:q.transitional(q.boolean),forcedJSONParsing:q.transitional(q.boolean),clarifyTimeoutError:q.transitional(q.boolean),legacyInterceptorReqResOrdering:q.transitional(q.boolean)},!1),r!=null&&(z.isFunction(r)?t.paramsSerializer={serialize:r}:Mn.assertOptions(r,{encode:q.function,serialize:q.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),Mn.assertOptions(t,{baseUrl:q.spelling(`baseURL`),withXsrfToken:q.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&z.merge(i.common,i[t.method]);i&&z.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`common`],e=>{delete i[e]}),t.headers=W.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s&&=e.synchronous;let n=t.transitional||xt;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[Dn.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new G(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function Pn(e){return function(t){return e.apply(null,t)}}function Fn(e){return z.isObject(e)&&e.isAxiosError===!0}var In={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(In).forEach(([e,t])=>{In[t]=e});function Ln(e){let t=new J(e),n=oe(J.prototype.request,t);return z.extend(n,J.prototype,t,{allOwnKeys:!0}),z.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Ln(K(e,t))},n}var Y=Ln(H);Y.Axios=J,Y.CanceledError=G,Y.CancelToken=Nn,Y.isCancel=Wt,Y.VERSION=On,Y.toFormData=mt,Y.AxiosError=B,Y.Cancel=Y.CanceledError,Y.all=function(e){return Promise.all(e)},Y.spread=Pn,Y.isAxiosError=Fn,Y.mergeConfig=K,Y.AxiosHeaders=W,Y.formToJSON=e=>Mt(z.isHTMLForm(e)?new FormData(e):e),Y.getAdapter=Tn.getAdapter,Y.HttpStatusCode=In,Y.default=Y;var X=new WeakMap,Rn=new WeakSet,zn=class e{constructor(){g(this,Rn),l(this,X,new Map)}static getInstance(t={}){return Vn._||=new e,Vn._}static resetInstance(){Vn._&&=null}initialize(e={}){f(X,this,new Map(Object.entries(e)))}getCpUrl(e){return u(Rn,this,Bn).call(this,d(X,this).get(`cpUrl`),e)}getActionUrl(e){return u(Rn,this,Bn).call(this,d(X,this).get(`actionUrl`),e)}all(){return d(X,this)}set(e,t){d(X,this).set(e,t)}get(e,t=null){return d(X,this).has(e)?d(X,this).get(e):t}};function Bn(e,t){let n=new URL(e),r=t.startsWith(`/`)?t.slice(1):t;return n.pathname=`${n.pathname}/${r}`,n.toString()}var Vn={_:null},Hn=new WeakMap,Un=new WeakMap,Z=new WeakMap,Q=new WeakMap,Wn=new WeakMap,Gn=new WeakMap,$=new WeakSet,Kn=class e extends EventTarget{constructor(...e){super(...e),g(this,$),l(this,Hn,Math.random().toString(36).slice(2)),this.enabled=!0,l(this,Un,``),this.canAccessQueueManager=!1,this.totalJobs=0,this.jobInfo=[],this.displayedJob=null,this.displayedJobUnchangedCount=1,l(this,Z,null),this.isTracking=!1,l(this,Q,null),l(this,Wn,null),l(this,Gn,zn.getInstance())}static getInstance(){return rr._||=new e,rr._}static resetInstance(){rr._&&=(rr._.stopTracking(),d(Wn,rr._)?.close(),null)}initialize(e={}){f(Un,this,e.appId??``),this.canAccessQueueManager=e.canAccessQueueManager??!1,u($,this,qn).call(this)}async runQueue(){try{await Y.post(d(Gn,this).getActionUrl(`queue/run`))}catch(e){console.error(e)}this.startTracking(!1,!0)}startTracking(e=!1,t=!1){if(this.isTracking&&!t)return;d(Z,this)&&(clearTimeout(d(Z,this)),f(Z,this,null));let n=0;e===!0?n=u($,this,Xn).call(this):typeof e==`number`&&(n=e),n>0?f(Z,this,setTimeout(()=>{u($,this,Zn).call(this)},n)):u($,this,Zn).call(this)}stopTracking(){this.isTracking=!1,d(Z,this)&&(clearTimeout(d(Z,this)),f(Z,this,null)),d(Q,this)&&(d(Q,this).abort(),f(Q,this,null))}setJobData(e){this.totalJobs=e.length,u($,this,Qn).call(this,e)}};function qn(){if(typeof BroadcastChannel>`u`||!d(Un,this))return;let e=`CraftCMS:${d(Un,this)}:queue`;f(Wn,this,new BroadcastChannel(e)),d(Wn,this).addEventListener(`message`,e=>{u($,this,Jn).call(this,e.data)})}function Jn(e){if(e.instanceId!==d(Hn,this))switch(e.event){case`beforeTrackJobProgress`:this.stopTracking();break;case`trackJobProgress`:if(e.jobData&&this.setJobData(e.jobData.jobs),this.jobInfo.length>0){let e=u($,this,Xn).call(this)+1e3;this.startTracking(e)}break}}function Yn(e,t){d(Wn,this)?.postMessage({event:e,instanceId:d(Hn,this),...t})}function Xn(){return Math.min(6e4,this.displayedJobUnchangedCount*500)}async function Zn(){u($,this,Yn).call(this,`beforeTrackJobProgress`),this.isTracking=!0,f(Q,this,new AbortController);try{let e=await Y.get(d(Gn,this).getActionUrl(`queue/get-job-info`),{params:{dontExtendSession:1},signal:d(Q,this).signal});this.setJobData(e.data.jobs),u($,this,Yn).call(this,`trackJobProgress`,{jobData:e.data}),this.jobInfo.length>0&&this.startTracking(!0,!0)}catch(e){if(e instanceof Error&&e.name===`CanceledError`)return;let t=e;if(t.response?.status===400||t.response?.status===403){this.stopTracking();return}this.startTracking(!0,!0)}finally{this.isTracking=!1,f(Q,this,null)}}function Qn(e){let t=this.displayedJob;this.jobInfo=e,this.displayedJob=u($,this,$n).call(this),t&&this.displayedJob&&t.id===this.displayedJob.id&&t.progress===this.displayedJob.progress&&t.progressLabel===this.displayedJob.progressLabel&&t.status===this.displayedJob.status?this.displayedJobUnchangedCount++:this.displayedJobUnchangedCount=1,u($,this,er).call(this),this.displayedJob?.status.value===p.Failed&&u($,this,nr).call(this,this.displayedJob),this.jobInfo.length===0&&t&&u($,this,tr).call(this)}function $n(){if(this.jobInfo?.length===0)return null;let e=[p.Reserved,p.Failed,p.Pending];for(let t of e){let e=this.jobInfo.find(e=>e.status.value===t?!(t===p.Pending&&e.delay>0):!1);if(e)return e}return null}function er(){let e={totalJobs:this.totalJobs,jobInfo:this.jobInfo,displayedJob:this.displayedJob};this.dispatchEvent(new CustomEvent(`job-update`,{detail:e}))}function tr(){this.dispatchEvent(new CustomEvent(`job-complete`))}function nr(e){let t={job:e};this.dispatchEvent(new CustomEvent(`job-failed`,{detail:t}))}var rr={_:null};export{h as a,d as c,o as d,s as f,g as i,l,zn as n,m as o,Y as r,u as s,Kn as t,f as u}; \ No newline at end of file diff --git a/resources/build/SectionsController.js b/resources/build/SectionsController.js index dada0963810..d53c63e8595 100644 --- a/resources/build/SectionsController.js +++ b/resources/build/SectionsController.js @@ -1 +1 @@ -import{n as e,t}from"./wayfinder.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/actions/sections/table-data`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=(e,t)=>({url:r.url(e,t),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/sections/edit/{section}`},r.url=(n,i)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return r.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(i)},r.get=(e,t)=>({url:r.url(e,t),method:`get`}),r.head=(e,t)=>({url:r.url(e,t),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/sections/{section}`},i.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return i.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(r)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a={"/admin/actions/sections/edit/{section}":r,"/admin/settings/sections/{section}":i},o=e=>({url:o.url(e),method:`post`});o.definition={methods:[`post`],url:`/admin/actions/sections/save-section`},o.url=t=>o.definition.url+e(t),o.post=e=>({url:o.url(e),method:`post`});var s=e=>({url:s.url(e),method:`post`});s.definition={methods:[`post`],url:`/admin/actions/sections/delete-section`},s.url=t=>s.definition.url+e(t),s.post=e=>({url:s.url(e),method:`post`});var c=e=>({url:c.url(e),method:`get`});c.definition={methods:[`get`,`head`],url:`/admin/settings/sections`},c.url=t=>c.definition.url+e(t),c.get=e=>({url:c.url(e),method:`get`}),c.head=e=>({url:c.url(e),method:`head`});var l=e=>({url:l.url(e),method:`get`});l.definition={methods:[`get`,`head`],url:`/admin/settings/sections/new`},l.url=t=>l.definition.url+e(t),l.get=e=>({url:l.url(e),method:`get`}),l.head=e=>({url:l.url(e),method:`head`});export{o as a,c as i,s as n,a as r,l as t}; \ No newline at end of file +import{n as e,t}from"./wayfinder.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/actions/sections/table-data`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=(e,t)=>({url:r.url(e,t),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/sections/edit/{section}`},r.url=(n,i)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return r.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(i)},r.get=(e,t)=>({url:r.url(e,t),method:`get`}),r.head=(e,t)=>({url:r.url(e,t),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/sections/{section}`},i.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return i.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(r)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a={"/admin/actions/sections/edit/{section}":r,"/admin/settings/sections/{section}":i},o=e=>({url:o.url(e),method:`post`});o.definition={methods:[`post`],url:`/admin/actions/sections/delete-section`},o.url=t=>o.definition.url+e(t),o.post=e=>({url:o.url(e),method:`post`});var s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/settings/sections`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c=e=>({url:c.url(e),method:`get`});c.definition={methods:[`get`,`head`],url:`/admin/settings/sections/new`},c.url=t=>c.definition.url+e(t),c.get=e=>({url:c.url(e),method:`get`}),c.head=e=>({url:c.url(e),method:`head`});var l=e=>({url:l.url(e),method:`post`});l.definition={methods:[`post`],url:`/admin/sections/sections`},l.url=t=>l.definition.url+e(t),l.post=e=>({url:l.url(e),method:`post`});export{l as a,s as i,o as n,a as r,c as t}; \ No newline at end of file diff --git a/resources/build/SettingsEmailPage.js b/resources/build/SettingsEmailPage.js index 71a4586576a..2e36df6fccb 100644 --- a/resources/build/SettingsEmailPage.js +++ b/resources/build/SettingsEmailPage.js @@ -1 +1 @@ -import{C as e,I as t,M as n,Q as r,R as i,T as a,_ as o,b as s,c,ct as l,m as u,p as d,q as f,s as p,v as m,w as h,x as g,y as _}from"./_plugin-vue_export-helper.js";import{s as v}from"./nav-item-DtQ6Tc_l.js";import{t as y}from"./AdminTable.js";import{n as b}from"./useAnnouncer.js";import{t as x}from"./Pane.js";import{n as S}from"./dist.js";import{n as C}from"./wayfinder.js";import{t as w}from"./Input.js";import{t as T}from"./InputCombobox.js";import{t as E}from"./AppLayout.js";import{t as D}from"./CalloutReadOnly.js";import{t as O}from"./useEditableTable.js";var k=a({__name:`SiteOverridesTable`,props:{sites:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=n,i=e,a=c(),s=o(()=>a.props.envSuggestions);o(()=>a.props.readOnly);let u=o(()=>a.props.templateSuggestions);function d(e){return i.sites.find(t=>t.uid===e)?.name??e}let{table:p}=O({data:()=>i.modelValue,key:`uid`,name:`siteOverrides`,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:e})=>[e.display({id:`name`,header:v(`Site`),cell:({row:e})=>d(e.original.uid),meta:{cellTag:`th`}}),e.autocomplete(`fromEmail`,{header:v(`System Email Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:s.value}),e.autocomplete(`fromName`,{header:v(`Sender Name`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:s.value}),e.autocomplete(`replyToEmail`,{header:v(`Reply-To Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:s.value}),e.autocomplete(`template`,{header:v(`HTML Email Template`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:u.value})]});return(e,n)=>(t(),_(x,{padding:0,appearance:`raised`},{default:f(()=>[h(y,{table:l(p),reorderable:!1},null,8,[`table`])]),_:1}))}}),A=[`label`,`id`,`name`,`disabled`,`has-feedback-for`],j={slot:`after`},ee={key:0,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},M={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},N={slot:`feedback`},P={key:0,class:`error-list`},F=a({__name:`CraftCombobox`,props:{modelValue:{},label:{},id:{},name:{},disabled:{type:Boolean},options:{},callouts:{},error:{}},emits:[`update:modelValue`],setup(i,{emit:a}){let c=a,u=i,d=o({get(){return u.modelValue},set(e){c(`update:modelValue`,e)}});return(a,o)=>(t(),g(`craft-input`,n({label:i.label,id:i.id,name:i.name,disabled:i.disabled,"has-feedback-for":i.error?`error`:``},a.$attrs),[h(T,{slot:`input`,modelValue:d.value,"onUpdate:modelValue":o[0]||=e=>d.value=e,options:i.options,label:i.label},null,8,[`modelValue`,`options`,`label`]),m(`div`,j,[i.callouts?.includes(`envVars`)?(t(),g(`craft-callout`,ee,[e(r(l(v)(`This can begin with an environment variable.`))+` `,1),m(`a`,M,r(l(v)(`Learn more`)),1)])):s(``,!0)]),m(`div`,N,[i.error?(t(),g(`ul`,P,[m(`li`,null,r(i.error),1)])):s(``,!0)])],16,A))}}),I=e=>({url:I.url(e),method:`get`});I.definition={methods:[`get`,`head`],url:`/admin/settings/email`},I.url=e=>I.definition.url+C(e),I.get=e=>({url:I.url(e),method:`get`}),I.head=e=>({url:I.url(e),method:`head`});var L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/settings/email`},L.url=e=>L.definition.url+C(e),L.post=e=>({url:L.url(e),method:`post`});var R=e=>({url:R.url(e),method:`post`});R.definition={methods:[`post`],url:`/admin/settings/email/test`},R.url=e=>R.definition.url+C(e),R.post=e=>({url:R.url(e),method:`post`}),Object.assign(I,I),Object.assign(L,L),Object.assign(R,R);var z={key:0,class:`flex gap-1 items-center text-sm`},B={key:1,class:`tw:flex tw:gap-1 tw:items-center tw:text-sm`},V={key:0},H=[`loading`],U={slot:`invoker`,variant:`primary`,type:`button`,icon:``},W=[`label`],G={slot:`content`},K={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm`},q={class:`grid gap-3 p-5`},J={key:0,variant:`danger`,icon:`triangle-exclamation`},Y={slot:`title`,class:`tw:font-bold`},X={class:`p-5`},Z={class:`mb-2`},Q={class:`text-sm text-neutral-text-quiet mb-4`},te={class:`p-5`},ne={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm mt-6`},re={class:`p-5`},ie={class:`mb-3`},$={class:`grid gap-3`},ae={key:0,variant:`success`,icon:`circle-check`},oe={class:`buttons`},se=[`loading`],ce=a({__name:`SettingsEmailPage`,props:{readOnly:{type:Boolean},emailConfig:{},mailerOptions:{},envSuggestions:{},templateSuggestions:{},sites:{},defaultToEmail:{},flash:{},errors:{}},setup(n){let a=n,c=o(()=>a.flash),y=o(()=>a.errors),x=o(()=>a.sites.length>1),C={};for(let e of a.sites){let t=a.emailConfig.siteOverrides?.[e.uid]??{};C[e.uid]={fromEmail:t.fromEmail??``,fromName:t.fromName??``,replyToEmail:t.replyToEmail??``,template:t.template??``}}let T=p({fromEmail:a.emailConfig.fromEmail??``,fromName:a.emailConfig.fromName??``,replyToEmail:a.emailConfig.replyToEmail??``,mailer:a.emailConfig.mailer??``,template:a.emailConfig.template??``,siteOverrides:C}),O=p({to:a.defaultToEmail});S(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),A())});function A(){T.clearErrors().submit(L())}function j(){O.clearErrors().submit(R(),{onSuccess:()=>{O.reset()}})}return(a,o)=>(t(),g(`form`,{onSubmit:d(A,[`prevent`])},[h(E,{title:l(v)(`Email Settings`)},{actions:f(()=>[h(b,null,{default:f(()=>[l(T).recentlySuccessful&&c.value?.success?(t(),g(`div`,z,[o[7]||=m(`craft-icon`,{name:`circle-check`,style:{color:`var(--c-color-success-fill-loud)`}},null,-1),e(` `+r(c.value.success),1)])):s(``,!0),l(T).hasErrors?(t(),g(`div`,B,[o[8]||=m(`craft-icon`,{name:`triangle-exclamation`,style:{color:`var(--c-color-danger-fill-loud)`}},null,-1),e(` `+r(l(v)(`Could not save settings`)),1)])):s(``,!0)]),_:1}),n.readOnly?s(``,!0):(t(),g(`craft-button-group`,V,[m(`craft-button`,{type:`submit`,variant:`primary`,loading:l(T).processing},r(l(v)(`Save`)),9,H),m(`craft-action-menu`,null,[m(`craft-button`,U,[m(`craft-icon`,{name:`chevron-down`,label:l(v)(`More actions`)},null,8,W)]),m(`div`,G,[m(`craft-action-item`,{onClick:A},[e(r(l(v)(`Save and continue editing`))+` `,1),o[9]||=m(`craft-shortcut`,{slot:`suffix`,class:`ml-2`},`S`,-1)])])])]))]),default:f(()=>[m(`div`,K,[n.readOnly?(t(),_(D,{key:0})):s(``,!0),m(`div`,q,[l(T).hasErrors?(t(),g(`craft-callout`,J,[m(`div`,Y,r(l(v)(`Could not save settings`)),1),m(`ul`,null,[(t(!0),g(u,null,i(y.value,(e,n)=>(t(),g(`li`,{key:n},r(e),1))),128))])])):s(``,!0),h(F,{label:l(v)(`System Email Address`),"help-text":l(v)(`The email address Craft CMS will use when sending email.`),id:`fromEmail`,name:`fromEmail`,modelValue:l(T).fromEmail,"onUpdate:modelValue":o[0]||=e=>l(T).fromEmail=e,error:l(T).errors?.fromEmail,options:n.envSuggestions,disabled:n.readOnly,"require-option-match":!1,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`options`,`disabled`]),h(F,{label:l(v)(`Sender Name`),"help-text":l(v)(`The “From” name Craft CMS will use when sending email.`),id:`fromName`,name:`fromName`,modelValue:l(T).fromName,"onUpdate:modelValue":o[1]||=e=>l(T).fromName=e,error:l(T).errors?.fromName,disabled:n.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:n.envSuggestions,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),h(F,{label:l(v)(`Reply-To Address`),"help-text":l(v)(`The Reply-To email address Craft CMS should use when sending email.`),id:`replyToEmail`,name:`replyToEmail`,modelValue:l(T).replyToEmail,"onUpdate:modelValue":o[2]||=e=>l(T).replyToEmail=e,error:l(T).errors?.replyToEmail,disabled:n.readOnly,"require-option-match":!1,options:n.envSuggestions,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),h(F,{label:l(v)(`HTML Email Template`),"help-text":l(v)(`The template Craft CMS will use for HTML emails. Leave blank to use the default template.`),id:`template`,name:`template`,modelValue:l(T).template,"onUpdate:modelValue":o[3]||=e=>l(T).template=e,error:y.value?.template,disabled:n.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...n.templateSuggestions,...n.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])]),x.value?(t(),g(u,{key:1},[o[10]||=m(`hr`,null,null,-1),m(`div`,X,[m(`h2`,Z,r(l(v)(`Site Overrides`)),1),m(`p`,Q,r(l(v)(`Override the default email settings on a per-site basis. Blank values will use the defaults above.`)),1),h(k,{modelValue:l(T).siteOverrides,"onUpdate:modelValue":o[4]||=e=>l(T).siteOverrides=e,sites:n.sites},null,8,[`modelValue`,`sites`])])],64)):s(``,!0),o[11]||=m(`hr`,null,null,-1),m(`div`,te,[h(F,{label:l(v)(`Mailer`),"help-text":l(v)(`How should Craft CMS send the emails?`),id:`mailer`,name:`mailer`,modelValue:l(T).mailer,"onUpdate:modelValue":o[5]||=e=>l(T).mailer=e,error:l(T).errors?.mailer,disabled:n.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...n.mailerOptions,...n.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])])]),m(`div`,ne,[m(`div`,re,[m(`h2`,ie,r(l(v)(`Send a test email`)),1),m(`div`,$,[h(w,{label:l(v)(`To`),modelValue:l(O).to,"onUpdate:modelValue":o[6]||=e=>l(O).to=e,name:`to`,error:l(O).errors.to},null,8,[`label`,`modelValue`,`error`]),h(b,null,{default:f(()=>[l(O).recentlySuccessful&&c.value?.success?(t(),g(`craft-callout`,ae,r(c.value.success),1)):s(``,!0)]),_:1}),m(`div`,oe,[m(`craft-button`,{type:`button`,variant:`primary`,loading:l(O).processing,onClick:j},r(l(v)(`Test`)),9,se)])])])])]),_:1},8,[`title`])],32))}});export{ce as default}; \ No newline at end of file +import{$ as e,I as t,J as n,T as r,_ as i,b as a,c as o,g as s,lt as c,p as l,s as u,v as d,w as f,y as p}from"./_plugin-vue_export-helper.js";import{i as m}from"./nav-item-DCsUKnaY.js";import{t as h}from"./AdminTable.js";import{t as g}from"./InlineFlash.js";import{t as _}from"./Pane.js";import{n as v}from"./wayfinder.js";import{t as y}from"./CraftInput.js";import{t as b}from"./AppLayout.js";import{t as x}from"./useEditableTable.js";import{t as S}from"./CraftCombobox.js";import{t as C}from"./useSettingsSave.js";var w=r({__name:`SiteOverridesTable`,props:{sites:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:r}){let i=r,a=e,l=o(),u=s(()=>l.props.envSuggestions);s(()=>l.props.readOnly);let p=s(()=>l.props.templateSuggestions);function g(e){return a.sites.find(t=>t.uid===e)?.name??e}let{table:v}=x({data:()=>a.modelValue,key:`uid`,name:`siteOverrides`,onChange:e=>i(`update:modelValue`,e),columns:({columnHelper:e})=>[e.display({id:`name`,header:m(`Site`),cell:({row:e})=>g(e.original.uid),meta:{cellTag:`th`}}),e.autocomplete(`fromEmail`,{header:m(`System Email Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:u.value}),e.autocomplete(`fromName`,{header:m(`Sender Name`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:u.value}),e.autocomplete(`replyToEmail`,{header:m(`Reply-To Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:u.value}),e.autocomplete(`template`,{header:m(`HTML Email Template`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:p.value})]});return(e,r)=>(t(),d(_,{padding:0,appearance:`raised`},{default:n(()=>[f(h,{table:c(v),reorderable:!1},null,8,[`table`])]),_:1}))}}),T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/email`},T.url=e=>T.definition.url+v(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`post`});E.definition={methods:[`post`],url:`/admin/settings/email`},E.url=e=>E.definition.url+v(e),E.post=e=>({url:E.url(e),method:`post`});var D=e=>({url:D.url(e),method:`post`});D.definition={methods:[`post`],url:`/admin/settings/email/test`},D.url=e=>D.definition.url+v(e),D.post=e=>({url:D.url(e),method:`post`}),Object.assign(T,T),Object.assign(E,E),Object.assign(D,D);var O={class:`grid gap-3`},k={class:`grid gap-3`},A={class:`mb-4`},j={class:`text-base`},M={class:`text-sm text-neutral-text-quiet`},N={class:`mb-3`},P={class:`grid gap-3`},F={class:`flex gap-2 items-center`},I=[`loading`],L=r({__name:`SettingsEmailPage`,props:{readOnly:{type:Boolean},emailConfig:{},mailerOptions:{},envSuggestions:{},templateSuggestions:{},sites:{},defaultToEmail:{},redirectUrl:{}},setup(r){let o=r,h=s(()=>o.sites.length>1),v={};for(let e of o.sites){let t=o.emailConfig.siteOverrides?.[e.uid]??{};v[e.uid]={fromEmail:t.fromEmail??``,fromName:t.fromName??``,replyToEmail:t.replyToEmail??``,template:t.template??``}}let x=u({fromEmail:o.emailConfig.fromEmail??``,fromName:o.emailConfig.fromName??``,replyToEmail:o.emailConfig.replyToEmail??``,mailer:o.emailConfig.mailer??``,template:o.emailConfig.template??``,siteOverrides:v}),T=u({to:o.defaultToEmail}),{save:L}=C(x,E);function R(){T.clearErrors().submit(D(),{onSuccess:()=>{T.reset()}})}return(o,s)=>(t(),d(b,{title:c(m)(`Email Settings`),form:c(x),onSave:c(L)},{default:n(()=>[i(`div`,O,[f(_,{appearance:`raised`},{default:n(()=>[i(`div`,k,[f(S,{label:c(m)(`System Email Address`),"help-text":c(m)(`The email address Craft CMS will use when sending email.`),id:`fromEmail`,name:`fromEmail`,modelValue:c(x).fromEmail,"onUpdate:modelValue":s[0]||=e=>c(x).fromEmail=e,error:c(x).errors?.fromEmail,options:r.envSuggestions,disabled:r.readOnly,"require-option-match":!1,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`options`,`disabled`]),f(S,{label:c(m)(`Sender Name`),"help-text":c(m)(`The “From” name Craft CMS will use when sending email.`),id:`fromName`,name:`fromName`,modelValue:c(x).fromName,"onUpdate:modelValue":s[1]||=e=>c(x).fromName=e,error:c(x).errors?.fromName,disabled:r.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:r.envSuggestions,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),f(S,{label:c(m)(`Reply-To Address`),"help-text":c(m)(`The Reply-To email address Craft CMS should use when sending email.`),id:`replyToEmail`,name:`replyToEmail`,modelValue:c(x).replyToEmail,"onUpdate:modelValue":s[2]||=e=>c(x).replyToEmail=e,error:c(x).errors?.replyToEmail,disabled:r.readOnly,"require-option-match":!1,options:r.envSuggestions,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),f(S,{label:c(m)(`HTML Email Template`),"help-text":c(m)(`The template Craft CMS will use for HTML emails. Leave blank to use the default template.`),id:`template`,name:`template`,modelValue:c(x).template,"onUpdate:modelValue":s[3]||=e=>c(x).template=e,error:o.errors?.template,disabled:r.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...r.templateSuggestions,...r.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])]),h.value?(t(),a(l,{key:0},[s[7]||=i(`hr`,{class:`my-6`},null,-1),i(`div`,null,[i(`div`,A,[i(`h2`,j,e(c(m)(`Site Overrides`)),1),i(`p`,M,e(c(m)(`Override the default email settings on a per-site basis. Blank values will use the defaults above.`)),1)]),f(w,{modelValue:c(x).siteOverrides,"onUpdate:modelValue":s[4]||=e=>c(x).siteOverrides=e,sites:r.sites},null,8,[`modelValue`,`sites`])])],64)):p(``,!0),s[8]||=i(`hr`,{class:`my-6`},null,-1),i(`div`,null,[f(S,{label:c(m)(`Mailer`),"help-text":c(m)(`How should Craft CMS send the emails?`),id:`mailer`,name:`mailer`,modelValue:c(x).mailer,"onUpdate:modelValue":s[5]||=e=>c(x).mailer=e,error:c(x).errors?.mailer,disabled:r.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...r.mailerOptions,...r.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])])]),_:1}),f(_,{appearance:`raised`},{default:n(()=>[i(`h2`,N,e(c(m)(`Send a test email`)),1),i(`div`,P,[f(y,{label:c(m)(`To`),modelValue:c(T).to,"onUpdate:modelValue":s[6]||=e=>c(T).to=e,name:`to`,error:c(T).errors.to},null,8,[`label`,`modelValue`,`error`]),i(`div`,F,[i(`craft-button`,{type:`button`,variant:`primary`,loading:c(T).processing,onClick:R},e(c(m)(`Test`)),9,I),f(g,{"is-active":c(T).recentlySuccessful||c(T).hasErrors},null,8,[`is-active`])])])]),_:1})])]),_:1},8,[`title`,`form`,`onSave`]))}});export{L as default}; \ No newline at end of file diff --git a/resources/build/SettingsEntryTypesIndexPage.js b/resources/build/SettingsEntryTypesIndexPage.js index 34ed25b505e..820949de8fb 100644 --- a/resources/build/SettingsEntryTypesIndexPage.js +++ b/resources/build/SettingsEntryTypesIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,_ as a,ct as o,lt as s,q as c,rt as l,w as u,y as d}from"./_plugin-vue_export-helper.js";import{s as f}from"./nav-item-DtQ6Tc_l.js";import{c as p,n as m,o as h,t as g,u as _}from"./AdminTable.js";import{r as v}from"./useAnnouncer.js";import{t as y}from"./Pane.js";import{t as b}from"./AppLayout.js";import{t as x}from"./createCraftColumnHelper.js";import{t as S}from"./DeleteButton.js";import{t as C}from"./DynamicHtmlRenderer.js";import{i as w,n as T,r as E}from"./EntryTypesController.js";import{n as D,r as O,t as k}from"./useServerSort.js";var A=i({__name:`SettingsEntryTypesIndexPage`,props:{title:{},pagination:{},sort:{},searchTerm:{},data:{},readOnly:{type:Boolean}},setup(i){let A=i;function j(e){confirm(f(`Are you sure you want to delete “{name}” and all entries of that type?`,{name:e.title}))&&s.delete(E(e.id))}let M=l(A.searchTerm??``),N=a(()=>A.data),P=x(),F=a(()=>({name:!0,handle:!0,usages:!0,actions:!A.readOnly})),I=a(()=>[P.display({id:`name`,header:f(`Entry Type`),cell:({row:e})=>n(C,{html:e.original.chip})}),P.accessor(`handle`,{header:f(`Handle`),meta:{cellClass:`justify-center`},cell:({getValue:e})=>n(`craft-copy-attribute`,{value:e()},e())}),P.accessor(`usages`,{header:f(`Usages`),cell:({getValue:e})=>n(C,{html:e()})}),P.actions(({row:e})=>[n(S,{onClick:()=>j(e.original)})])]),{paginationState:L,paginationConfig:R}=O({initialState:A.pagination,onChange:({query:e})=>{s.visit(w({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:z,sortingConfig:B}=k({initialState:A.sort,onChange:({query:e})=>{s.visit(w({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),V=p({get data(){return N.value},get columns(){return I.value},state:{get pagination(){return L.value},get sorting(){return z.value},get columnVisibility(){return F.value}},getCoreRowModel:_(),...R,...B});return(n,a)=>(t(),d(b,{title:i.title},{actions:c(()=>[u(v,{appearance:`button`,href:o(T)[`/admin/settings/entry-types/new`]().url,variant:`primary`,inertia:!1,icon:`plus`},{default:c(()=>[e(r(o(f)(`New entry type`)),1)]),_:1},8,[`href`])]),default:c(()=>[u(y,{padding:0,appearance:`raised`},{default:c(()=>[u(g,{spacing:o(h).Relaxed,table:o(V),reorderable:!1,from:i.pagination.from,to:i.pagination.to,total:i.pagination.total,"enable-adjust-page-size":!0},{"empty-row":c(()=>[u(m,{icon:`light/files`,label:o(f)(`No entry types exist yet.`)},null,8,[`label`])]),"search-form":c(()=>[u(D,{action:o(w)(),modelValue:M.value,"onUpdate:modelValue":a[0]||=e=>M.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`spacing`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{A as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,g as o,it as s,lt as c,ut as l,v as u,w as d}from"./_plugin-vue_export-helper.js";import{i as f}from"./nav-item-DCsUKnaY.js";import{c as p,n as m,o as h,t as g,u as _}from"./AdminTable.js";import{a as v}from"./InlineFlash.js";import{t as y}from"./Pane.js";import{t as b}from"./AppLayout.js";import{t as x}from"./createCraftColumnHelper.js";import{t as S}from"./DeleteButton.js";import{t as C}from"./DynamicHtmlRenderer.js";import{i as w,n as T,r as E}from"./EntryTypesController.js";import{n as D,r as O,t as k}from"./useServerSort.js";var A=a({__name:`SettingsEntryTypesIndexPage`,props:{title:{},pagination:{},sort:{},searchTerm:{},data:{},readOnly:{type:Boolean}},setup(a){let A=a;function j(e){confirm(f(`Are you sure you want to delete “{name}” and all entries of that type?`,{name:e.title}))&&l.delete(E(e.id))}let M=s(A.searchTerm??``),N=o(()=>A.data),P=x(),F=o(()=>({name:!0,handle:!0,usages:!0,actions:!A.readOnly})),I=o(()=>[P.display({id:`name`,header:f(`Entry Type`),cell:({row:e})=>i(C,{html:e.original.chip})}),P.accessor(`handle`,{header:f(`Handle`),meta:{cellClass:`justify-center`},cell:({getValue:e})=>i(`craft-copy-attribute`,{value:e()},e())}),P.accessor(`usages`,{header:f(`Usages`),cell:({getValue:e})=>i(C,{html:e()})}),P.actions(({row:e})=>[i(S,{onClick:()=>j(e.original)})])]),{paginationState:L,paginationConfig:R}=O({initialState:A.pagination,onChange:({query:e})=>{l.visit(w({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:z,sortingConfig:B}=k({initialState:A.sort,onChange:({query:e})=>{l.visit(w({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),V=p({get data(){return N.value},get columns(){return I.value},state:{get pagination(){return L.value},get sorting(){return z.value},get columnVisibility(){return F.value}},getCoreRowModel:_(),...R,...B});return(i,o)=>(n(),u(b,{title:a.title},{actions:r(()=>[d(v,{appearance:`button`,href:c(T)[`/admin/settings/entry-types/new`]().url,variant:`primary`,inertia:!1,icon:`plus`},{default:r(()=>[t(e(c(f)(`New entry type`)),1)]),_:1},8,[`href`])]),default:r(()=>[d(y,{padding:0,appearance:`raised`},{default:r(()=>[d(g,{spacing:c(h).Relaxed,table:c(V),reorderable:!1,from:a.pagination.from,to:a.pagination.to,total:a.pagination.total,"enable-adjust-page-size":!0},{"empty-row":r(()=>[d(m,{icon:`light/files`,label:c(f)(`No entry types exist yet.`)},null,8,[`label`])]),"search-form":r(()=>[d(D,{action:c(w)(),modelValue:M.value,"onUpdate:modelValue":o[0]||=e=>M.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`spacing`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/SettingsFieldsIndexPage.js b/resources/build/SettingsFieldsIndexPage.js index 93dc1d4b4bb..953342a8335 100644 --- a/resources/build/SettingsFieldsIndexPage.js +++ b/resources/build/SettingsFieldsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,_ as a,ct as o,lt as s,q as c,rt as l,w as u,y as d}from"./_plugin-vue_export-helper.js";import{s as f}from"./nav-item-DtQ6Tc_l.js";import{c as p,l as m,n as h,t as g,u as _}from"./AdminTable.js";import{r as v}from"./useAnnouncer.js";import{t as y}from"./Pane.js";import{n as b,t as x}from"./wayfinder.js";import{t as S}from"./AppLayout.js";import{t as C}from"./DeleteButton.js";import{n as w,r as T,t as E}from"./useServerSort.js";var D=e=>({url:D.url(e),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/actions/fields/edit-field`},D.url=e=>D.definition.url+b(e),D.get=e=>({url:D.url(e),method:`get`}),D.head=e=>({url:D.url(e),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`get`});O.definition={methods:[`get`,`head`],url:`/admin/settings/fields/edit/{fieldId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return O.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},O.get=(e,t)=>({url:O.url(e,t),method:`get`}),O.head=(e,t)=>({url:O.url(e,t),method:`head`});var k=e=>({url:k.url(e),method:`post`});k.definition={methods:[`post`],url:`/admin/actions/fields/render-settings`},k.url=e=>k.definition.url+b(e),k.post=e=>({url:k.url(e),method:`post`});var A=e=>({url:A.url(e),method:`post`});A.definition={methods:[`post`],url:`/admin/actions/fields/save-field`},A.url=e=>A.definition.url+b(e),A.post=e=>({url:A.url(e),method:`post`});var j=e=>({url:j.url(e),method:`post`});j.definition={methods:[`post`],url:`/admin/actions/fields/render-layout-component-settings`},j.url=e=>j.definition.url+b(e),j.post=e=>({url:j.url(e),method:`post`});var M=e=>({url:M.url(e),method:`post`});M.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-tab-settings`},M.url=e=>M.definition.url+b(e),M.post=e=>({url:M.url(e),method:`post`});var N=e=>({url:N.url(e),method:`post`});N.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-element-settings`},N.url=e=>N.definition.url+b(e),N.post=e=>({url:N.url(e),method:`post`});var P=e=>({url:P.url(e),method:`post`});P.definition={methods:[`post`],url:`/admin/actions/fields/render-card-preview`},P.url=e=>P.definition.url+b(e),P.post=e=>({url:P.url(e),method:`post`});var F=e=>({url:F.url(e),method:`get`});F.definition={methods:[`get`,`head`],url:`/admin/actions/fields/table-data`},F.url=e=>F.definition.url+b(e),F.get=e=>({url:F.url(e),method:`get`}),F.head=e=>({url:F.url(e),method:`head`});var I=e=>({url:I.url(e),method:`get`});I.definition={methods:[`get`,`head`],url:`/admin/settings/fields`},I.url=e=>I.definition.url+b(e),I.get=e=>({url:I.url(e),method:`get`}),I.head=e=>({url:I.url(e),method:`head`});var L=e=>({url:L.url(e),method:`get`});L.definition={methods:[`get`,`head`],url:`/admin/settings/fields/new`},L.url=e=>L.definition.url+b(e),L.get=e=>({url:L.url(e),method:`get`}),L.head=e=>({url:L.url(e),method:`head`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/fields/{fieldId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return R.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=i({__name:`SettingsFieldsIndexPage`,props:{title:{},readOnly:{type:Boolean},data:{},sort:{},searchTerm:{},pagination:{},isMultiSite:{type:Boolean}},setup(i){let b=i;function x(e){confirm(f(`Are you sure you want to delete “{name}”?`,{name:e.title}))&&s.delete(R({fieldId:e.id}))}let D=l(b.searchTerm??``),O=m(),k=a(()=>({name:!0,searchable:!0,translatable:b.isMultiSite,handle:!0,type:!0,usages:!0,actions:!b.readOnly})),A=l([O.accessor(`title`,{header:f(`Name`),meta:{trackSize:`1.5fr`},cell:({row:e,getValue:t})=>n(v,{href:e.original.url,inertia:!1,class:`font-bold`},t)}),O.accessor(`searchable`,{header:f(`Searchable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({row:e})=>{if(e.original.searchable)return n(`craft-icon`,{appearance:`badge`,name:`magnifying-glass`,label:f(`This field’s values are used as search keywords.`)})}}),O.accessor(`translatable`,{header:f(`Translatable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({getValue:e})=>{if(e())return n(`craft-icon`,{appearance:`badge`,name:`custom-icons/language`,label:e()})}}),O.accessor(`handle`,{header:f(`Handle`),cell:({getValue:e})=>n(`craft-copy-attribute`,{value:e()},e)}),O.display({id:`type`,header:f(`Type`),cell:({row:e})=>e.original.type.isMissing?f(`Missing`):n(`div`,{class:`flex items-center gap-2`},[n(`craft-icon`,e.original.type.icon),n(`span`,e.original.type.label)])}),O.accessor(`usages`,{header:f(`Used by`)}),O.display({id:`actions`,meta:{trackSize:`60px`},cell:({row:e})=>n(`div`,{class:`self-end flex justify-end`},[n(C,{onClick:()=>x(e.original)})])})]),{paginationState:j,paginationConfig:M}=T({initialState:b.pagination,onChange:({query:e})=>{s.visit(I({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=E({initialState:b.sort,onChange:({query:e})=>{s.visit(I({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=p({get data(){return b.data},get columns(){return A.value},state:{get pagination(){return j.value},get columnVisibility(){return k.value},get sorting(){return N.value}},getCoreRowModel:_(),...M,...P});return(n,a)=>(t(),d(S,{title:i.title},{actions:c(()=>[u(v,{inertia:!1,appearance:`button`,variant:`primary`,href:o(L)(),icon:`plus`},{default:c(()=>[e(r(o(f)(`New field`)),1)]),_:1},8,[`href`])]),default:c(()=>[u(y,{padding:0,appearance:`raised`},{default:c(()=>[u(g,{table:o(F),reorderable:!1,from:i.pagination.from,to:i.pagination.to,total:i.pagination.total,"enable-adjust-page-size":!0},{"empty-row":c(()=>[u(h,{icon:`light/pen-to-square`,label:o(f)(`No fields exist yet.`)},null,8,[`label`])]),"search-form":c(()=>[u(w,{modelValue:D.value,"onUpdate:modelValue":a[0]||=e=>D.value=e},null,8,[`modelValue`])]),_:1},8,[`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{z as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,g as o,it as s,lt as c,ut as l,v as u,w as d}from"./_plugin-vue_export-helper.js";import{i as f}from"./nav-item-DCsUKnaY.js";import{c as p,l as m,n as h,t as g,u as _}from"./AdminTable.js";import{a as v}from"./InlineFlash.js";import{t as y}from"./Pane.js";import{n as b,t as x}from"./wayfinder.js";import{t as S}from"./AppLayout.js";import{t as C}from"./DeleteButton.js";import{n as w,r as T,t as E}from"./useServerSort.js";var D=e=>({url:D.url(e),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/actions/fields/edit-field`},D.url=e=>D.definition.url+b(e),D.get=e=>({url:D.url(e),method:`get`}),D.head=e=>({url:D.url(e),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`get`});O.definition={methods:[`get`,`head`],url:`/admin/settings/fields/edit/{fieldId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return O.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},O.get=(e,t)=>({url:O.url(e,t),method:`get`}),O.head=(e,t)=>({url:O.url(e,t),method:`head`});var k=e=>({url:k.url(e),method:`post`});k.definition={methods:[`post`],url:`/admin/actions/fields/render-settings`},k.url=e=>k.definition.url+b(e),k.post=e=>({url:k.url(e),method:`post`});var A=e=>({url:A.url(e),method:`post`});A.definition={methods:[`post`],url:`/admin/actions/fields/save-field`},A.url=e=>A.definition.url+b(e),A.post=e=>({url:A.url(e),method:`post`});var j=e=>({url:j.url(e),method:`post`});j.definition={methods:[`post`],url:`/admin/actions/fields/render-layout-component-settings`},j.url=e=>j.definition.url+b(e),j.post=e=>({url:j.url(e),method:`post`});var M=e=>({url:M.url(e),method:`post`});M.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-tab-settings`},M.url=e=>M.definition.url+b(e),M.post=e=>({url:M.url(e),method:`post`});var N=e=>({url:N.url(e),method:`post`});N.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-element-settings`},N.url=e=>N.definition.url+b(e),N.post=e=>({url:N.url(e),method:`post`});var P=e=>({url:P.url(e),method:`post`});P.definition={methods:[`post`],url:`/admin/actions/fields/render-card-preview`},P.url=e=>P.definition.url+b(e),P.post=e=>({url:P.url(e),method:`post`});var F=e=>({url:F.url(e),method:`get`});F.definition={methods:[`get`,`head`],url:`/admin/actions/fields/table-data`},F.url=e=>F.definition.url+b(e),F.get=e=>({url:F.url(e),method:`get`}),F.head=e=>({url:F.url(e),method:`head`});var I=e=>({url:I.url(e),method:`get`});I.definition={methods:[`get`,`head`],url:`/admin/settings/fields`},I.url=e=>I.definition.url+b(e),I.get=e=>({url:I.url(e),method:`get`}),I.head=e=>({url:I.url(e),method:`head`});var L=e=>({url:L.url(e),method:`get`});L.definition={methods:[`get`,`head`],url:`/admin/settings/fields/new`},L.url=e=>L.definition.url+b(e),L.get=e=>({url:L.url(e),method:`get`}),L.head=e=>({url:L.url(e),method:`head`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/fields/{fieldId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return R.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=a({__name:`SettingsFieldsIndexPage`,props:{title:{},readOnly:{type:Boolean},data:{},sort:{},searchTerm:{},pagination:{},isMultiSite:{type:Boolean}},setup(a){let b=a;function x(e){confirm(f(`Are you sure you want to delete “{name}”?`,{name:e.title}))&&l.delete(R({fieldId:e.id}))}let D=s(b.searchTerm??``),O=m(),k=o(()=>({name:!0,searchable:!0,translatable:b.isMultiSite,handle:!0,type:!0,usages:!0,actions:!b.readOnly})),A=s([O.accessor(`title`,{header:f(`Name`),meta:{trackSize:`1.5fr`},cell:({row:e,getValue:t})=>i(v,{href:e.original.url,inertia:!1,class:`font-bold`},t)}),O.accessor(`searchable`,{header:f(`Searchable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({row:e})=>{if(e.original.searchable)return i(`craft-icon`,{appearance:`badge`,name:`magnifying-glass`,label:f(`This field’s values are used as search keywords.`)})}}),O.accessor(`translatable`,{header:f(`Translatable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({getValue:e})=>{if(e())return i(`craft-icon`,{appearance:`badge`,name:`custom-icons/language`,label:e()})}}),O.accessor(`handle`,{header:f(`Handle`),cell:({getValue:e})=>i(`craft-copy-attribute`,{value:e()},e)}),O.display({id:`type`,header:f(`Type`),cell:({row:e})=>e.original.type.isMissing?f(`Missing`):i(`div`,{class:`flex items-center gap-2`},[i(`craft-icon`,e.original.type.icon),i(`span`,e.original.type.label)])}),O.accessor(`usages`,{header:f(`Used by`)}),O.display({id:`actions`,meta:{trackSize:`60px`},cell:({row:e})=>i(`div`,{class:`self-end flex justify-end`},[i(C,{onClick:()=>x(e.original)})])})]),{paginationState:j,paginationConfig:M}=T({initialState:b.pagination,onChange:({query:e})=>{l.visit(I({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=E({initialState:b.sort,onChange:({query:e})=>{l.visit(I({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=p({get data(){return b.data},get columns(){return A.value},state:{get pagination(){return j.value},get columnVisibility(){return k.value},get sorting(){return N.value}},getCoreRowModel:_(),...M,...P});return(i,o)=>(n(),u(S,{title:a.title},{actions:r(()=>[d(v,{inertia:!1,appearance:`button`,variant:`primary`,href:c(L)(),icon:`plus`},{default:r(()=>[t(e(c(f)(`New field`)),1)]),_:1},8,[`href`])]),default:r(()=>[d(y,{padding:0,appearance:`raised`},{default:r(()=>[d(g,{table:c(F),reorderable:!1,from:a.pagination.from,to:a.pagination.to,total:a.pagination.total,"enable-adjust-page-size":!0},{"empty-row":r(()=>[d(h,{icon:`light/pen-to-square`,label:c(f)(`No fields exist yet.`)},null,8,[`label`])]),"search-form":r(()=>[d(w,{modelValue:D.value,"onUpdate:modelValue":o[0]||=e=>D.value=e},null,8,[`modelValue`])]),_:1},8,[`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{z as default}; \ No newline at end of file diff --git a/resources/build/SettingsFilesystemsIndexPage.js b/resources/build/SettingsFilesystemsIndexPage.js index dd05574737b..a55e39daa06 100644 --- a/resources/build/SettingsFilesystemsIndexPage.js +++ b/resources/build/SettingsFilesystemsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,_ as a,ct as o,lt as s,q as c,rt as l,w as u,y as d}from"./_plugin-vue_export-helper.js";import{s as f}from"./nav-item-DtQ6Tc_l.js";import{c as p,n as m,t as h,u as g}from"./AdminTable.js";import{r as _}from"./useAnnouncer.js";import{t as v}from"./Pane.js";import{n as y,t as b}from"./wayfinder.js";import{t as x}from"./AppLayout.js";import{t as S}from"./createCraftColumnHelper.js";import{t as C}from"./DeleteButton.js";import"./IndexLayout.js";var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/actions/fs/edit`},w.url=e=>w.definition.url+y(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=(e,t)=>({url:T.url(e,t),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}`},T.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return T.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},T.get=(e,t)=>({url:T.url(e,t),method:`get`}),T.head=(e,t)=>({url:T.url(e,t),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}/edit`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return E.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D={"/admin/actions/fs/edit":w,"/admin/settings/filesystems/{handle}":T,"/admin/settings/filesystems/{handle}/edit":E},O=e=>({url:O.url(e),method:`post`});O.definition={methods:[`post`],url:`/admin/actions/fs/save`},O.url=e=>O.definition.url+y(e),O.post=e=>({url:O.url(e),method:`post`});var k=(e,t)=>({url:k.url(e,t),method:`post`});k.definition={methods:[`post`],url:`/admin/settings/filesystems/{handle}`},k.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return k.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},k.post=(e,t)=>({url:k.url(e,t),method:`post`});var A=e=>({url:A.url(e),method:`get`});A.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems`},A.url=e=>A.definition.url+y(e),A.get=e=>({url:A.url(e),method:`get`}),A.head=e=>({url:A.url(e),method:`head`});var j=e=>({url:j.url(e),method:`get`});j.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/new`},j.url=e=>j.definition.url+y(e),j.get=e=>({url:j.url(e),method:`get`}),j.head=e=>({url:j.url(e),method:`head`});var M=(e,t)=>({url:M.url(e,t),method:`delete`});M.definition={methods:[`delete`],url:`/admin/settings/filesystems/{handle}`},M.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return M.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},M.delete=(e,t)=>({url:M.url(e,t),method:`delete`});var N=i({__name:`SettingsFilesystemsIndexPage`,props:{filesystems:{},readOnly:{type:Boolean}},setup(i){let y=i;function b(e){console.log({fs:e}),confirm(f(`Are you sure you want to delete “{name}”`,{name:e.name}))&&s.delete(M(e.handle))}let w=S(),T=a(()=>({name:!0,handle:!0,type:!0,actions:!y.readOnly})),E=l([w.link(`name`,{header:f(`Name`),props:({row:e})=>({href:D[`/admin/settings/filesystems/{handle}/edit`]({handle:e.original.handle}).url,inertia:!1})}),w.handle(`handle`),w.accessor(`type`,{header:f(`Type`),cell:({row:e,getValue:t})=>e.original.missing?n(`span`,{class:`c-color-error`},t()):t()}),w.actions(({row:e})=>[n(C,{onClick:()=>b(e.original)})])]),O=p({get data(){return y.filesystems},get columns(){return E.value},state:{get columnVisibility(){return T.value}},enableSorting:!1,getCoreRowModel:g()});return(n,i)=>(t(),d(x,null,{actions:c(()=>[u(_,{variant:`primary`,appearance:`button`,href:o(j)().url,inertia:!1},{default:c(()=>[e(r(o(f)(`New filesystem`)),1)]),_:1},8,[`href`])]),default:c(()=>[u(v,{padding:0,appearance:`raised`},{default:c(()=>[u(h,{table:o(O),reorderable:!1},{"empty-row":c(()=>[u(m,{label:o(f)(`No filesystems exist yet.`),icon:`light/folder-open`},{default:c(()=>[u(_,{appearance:`button`,href:o(j)().url,inertia:!1},{default:c(()=>[e(r(o(f)(`New filesystem`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{N as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,g as o,it as s,lt as c,ut as l,v as u,w as d}from"./_plugin-vue_export-helper.js";import{i as f}from"./nav-item-DCsUKnaY.js";import{c as p,n as m,t as h,u as g}from"./AdminTable.js";import{a as _}from"./InlineFlash.js";import{t as v}from"./Pane.js";import{n as y,t as b}from"./wayfinder.js";import{t as x}from"./AppLayout.js";import{t as S}from"./createCraftColumnHelper.js";import{t as C}from"./DeleteButton.js";import"./IndexLayout.js";var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/actions/fs/edit`},w.url=e=>w.definition.url+y(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=(e,t)=>({url:T.url(e,t),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}`},T.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return T.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},T.get=(e,t)=>({url:T.url(e,t),method:`get`}),T.head=(e,t)=>({url:T.url(e,t),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}/edit`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return E.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D={"/admin/actions/fs/edit":w,"/admin/settings/filesystems/{handle}":T,"/admin/settings/filesystems/{handle}/edit":E},O=e=>({url:O.url(e),method:`post`});O.definition={methods:[`post`],url:`/admin/actions/fs/save`},O.url=e=>O.definition.url+y(e),O.post=e=>({url:O.url(e),method:`post`});var k=(e,t)=>({url:k.url(e,t),method:`post`});k.definition={methods:[`post`],url:`/admin/settings/filesystems/{handle}`},k.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return k.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},k.post=(e,t)=>({url:k.url(e,t),method:`post`});var A=e=>({url:A.url(e),method:`get`});A.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems`},A.url=e=>A.definition.url+y(e),A.get=e=>({url:A.url(e),method:`get`}),A.head=e=>({url:A.url(e),method:`head`});var j=e=>({url:j.url(e),method:`get`});j.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/new`},j.url=e=>j.definition.url+y(e),j.get=e=>({url:j.url(e),method:`get`}),j.head=e=>({url:j.url(e),method:`head`});var M=(e,t)=>({url:M.url(e,t),method:`delete`});M.definition={methods:[`delete`],url:`/admin/settings/filesystems/{handle}`},M.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return M.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},M.delete=(e,t)=>({url:M.url(e,t),method:`delete`});var N=a({__name:`SettingsFilesystemsIndexPage`,props:{filesystems:{},readOnly:{type:Boolean}},setup(a){let y=a;function b(e){console.log({fs:e}),confirm(f(`Are you sure you want to delete “{name}”`,{name:e.name}))&&l.delete(M(e.handle))}let w=S(),T=o(()=>({name:!0,handle:!0,type:!0,actions:!y.readOnly})),E=s([w.link(`name`,{header:f(`Name`),props:({row:e})=>({href:D[`/admin/settings/filesystems/{handle}/edit`]({handle:e.original.handle}).url,inertia:!1})}),w.handle(`handle`),w.accessor(`type`,{header:f(`Type`),cell:({row:e,getValue:t})=>e.original.missing?i(`span`,{class:`c-color-error`},t()):t()}),w.actions(({row:e})=>[i(C,{onClick:()=>b(e.original)})])]),O=p({get data(){return y.filesystems},get columns(){return E.value},state:{get columnVisibility(){return T.value}},enableSorting:!1,getCoreRowModel:g()});return(i,a)=>(n(),u(x,null,{actions:r(()=>[d(_,{variant:`primary`,appearance:`button`,href:c(j)().url,inertia:!1},{default:r(()=>[t(e(c(f)(`New filesystem`)),1)]),_:1},8,[`href`])]),default:r(()=>[d(v,{padding:0,appearance:`raised`},{default:r(()=>[d(h,{table:c(O),reorderable:!1},{"empty-row":r(()=>[d(m,{label:c(f)(`No filesystems exist yet.`),icon:`light/folder-open`},{default:r(()=>[d(_,{appearance:`button`,href:c(j)().url,inertia:!1},{default:r(()=>[t(e(c(f)(`New filesystem`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/SettingsGeneralPage.js b/resources/build/SettingsGeneralPage.js index c6c89467f6f..040dba4bf0f 100644 --- a/resources/build/SettingsGeneralPage.js +++ b/resources/build/SettingsGeneralPage.js @@ -1 +1 @@ -import{C as e,I as t,J as n,Q as r,R as i,T as a,_ as o,b as s,ct as c,f as l,m as u,p as d,q as f,s as p,t as m,v as h,w as g,x as _,y as ee}from"./_plugin-vue_export-helper.js";import{s as v}from"./nav-item-DtQ6Tc_l.js";import{n as y}from"./useAnnouncer.js";import{n as te}from"./dist.js";import{n as b}from"./wayfinder.js";import{t as ne}from"./AppLayout.js";import{t as re}from"./CalloutReadOnly.js";var x=e=>({url:x.url(e),method:`get`});x.definition={methods:[`get`,`head`],url:`/admin/settings/general`},x.url=e=>x.definition.url+b(e),x.get=e=>({url:x.url(e),method:`get`}),x.head=e=>({url:x.url(e),method:`head`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/general`},S.url=e=>S.definition.url+b(e),S.post=e=>({url:S.url(e),method:`post`});var C={key:0,class:`flex gap-1 items-center text-sm`},w={key:1,class:`tw:flex tw:gap-1 tw:items-center tw:text-sm`},T={key:0},E=[`loading`],D={slot:`invoker`,variant:`primary`,type:`button`,icon:``},O=[`label`],k={slot:`content`},A={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm`},j={class:`grid gap-3 p-5`},M={key:0,variant:`danger`,icon:`triangle-exclamation`},N={slot:`title`,class:`tw:font-bold`},P=[`label`,`has-feedback-for`,`disabled`],F=[`.choiceValue`,`.hint`],I={slot:`after`},ie={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},L={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},R={slot:`feedback`},z={key:0,class:`error-list`},B=[`label`,`.modelValue`,`has-feedback-for`,`disabled`],V={class:`tw:flex tw:items-center tw:gap-1`},H={class:`tw:flex tw:items-center tw:gap-1`},U=[`.choiceValue`],W={class:`tw:flex tw:items-center tw:gap-1`},G=[`variant`],K={class:`tw:font-mono`},q=[`innerHTML`],J={slot:`feedback`},Y={key:0,class:`error-list`},ae=[`label`,`has-feedback-for`,`disabled`],oe=[`innerHTML`],se={key:0,class:`error-list`,slot:`feedback`},ce=[`label`,`.modelValue`,`has-feedback-for`,`disabled`],le=[`.choiceValue`],X={key:0,class:`error-list`,slot:`feedback`},Z=m(a({__name:`SettingsGeneralPage`,props:{readOnly:{type:Boolean},system:{},nameSuggestions:{},timezoneOptions:{},systemStatusOptions:{},saveUrl:{},flash:{},errors:{}},setup(a){let m=a,b=o(()=>m.flash),x=o(()=>m.errors),Z=p({name:m.system.name,live:m.system.live,retryDuration:m.system.retryDuration,timeZone:m.system.timeZone});function Q(e){let t=e.target;t&&(Z[t.name]=t.modelValue)}te(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),$())});function $(){Z.clearErrors().submit(S())}return(o,p)=>(t(),_(`form`,{onSubmit:d($,[`prevent`])},[g(ne,{title:c(v)(`General Settings`)},{actions:f(()=>[g(y,null,{default:f(()=>[c(Z).recentlySuccessful&&b.value?.success?(t(),_(`div`,C,[p[2]||=h(`craft-icon`,{name:`circle-check`,style:{color:`var(--c-color-success-fill-loud)`}},null,-1),e(` `+r(b.value.success),1)])):s(``,!0),c(Z).hasErrors?(t(),_(`div`,w,[p[3]||=h(`craft-icon`,{name:`triangle-exclamation`,style:{color:`var(--c-color-danger-fill-loud)`}},null,-1),e(` `+r(c(v)(`Could not save settings`)),1)])):s(``,!0)]),_:1}),a.readOnly?s(``,!0):(t(),_(`craft-button-group`,T,[h(`craft-button`,{type:`submit`,variant:`primary`,loading:c(Z).processing},r(c(v)(`Save`)),9,E),h(`craft-action-menu`,null,[h(`craft-button`,D,[h(`craft-icon`,{name:`chevron-down`,label:c(v)(`More actions`)},null,8,O)]),h(`div`,k,[h(`craft-action-item`,{onClick:$},[e(r(c(v)(`Save and continue editing`))+` `,1),p[4]||=h(`craft-shortcut`,{slot:`suffix`,class:`ml-2`},`S`,-1)])])])]))]),default:f(()=>[h(`div`,A,[a.readOnly?(t(),ee(re,{key:0})):s(``,!0),h(`div`,j,[c(Z).hasErrors?(t(),_(`craft-callout`,M,[h(`div`,N,r(c(v)(`Could not save settings`)),1),h(`ul`,null,[(t(!0),_(u,null,i(x.value,(e,n)=>(t(),_(`li`,null,r(e),1))),256))])])):s(``,!0),n(h(`craft-combobox`,{label:c(v)(`System Name`),id:`name`,name:`name`,"onUpdate:modelValue":p[0]||=e=>c(Z).name=e,"has-feedback-for":x.value?.name?`error`:``,disabled:a.readOnly,"require-option-match":!1,"show-all-on-empty":``},[(t(!0),_(u,null,i(a.nameSuggestions,(e,n)=>(t(),_(u,{key:n},[(t(!0),_(u,null,i(e.data,e=>(t(),_(`craft-option`,{key:e.name,".choiceValue":e.name,".hint":e.hint},r(e.name),41,F))),128))],64))),128)),h(`div`,I,[h(`craft-callout`,ie,[e(r(c(v)(`This can begin with an environment variable.`))+` `,1),h(`a`,L,r(c(v)(`Learn more`)),1)])]),h(`div`,R,[x.value?.name?(t(),_(`ul`,z,[h(`li`,null,r(x.value.name),1)])):s(``,!0)])],8,P),[[l,c(Z).name]]),h(`craft-combobox`,{label:c(v)(`System Status`),id:`live`,name:`live`,".modelValue":a.system.live?`1`:`0`,"has-feedback-for":x.value?.live?`error`:``,onModelValueChanged:Q,disabled:a.readOnly,"show-all-on-empty":``},[h(`craft-option`,{".choiceValue":`1`},[h(`div`,V,[p[5]||=h(`craft-indicator`,{variant:`success`},null,-1),h(`span`,null,r(c(v)(`Online`)),1)])],32),h(`craft-option`,{".choiceValue":`0`},[h(`div`,H,[p[6]||=h(`craft-indicator`,{variant:`danger`},null,-1),h(`span`,null,r(c(v)(`Offline`)),1)])],32),(t(!0),_(u,null,i(a.systemStatusOptions,e=>(t(),_(u,{key:e.label},[e.optgroup?(t(),_(u,{key:0},[],64)):(t(),_(`craft-option`,{key:1,".choiceValue":e.value},[h(`div`,W,[h(`craft-indicator`,{variant:e.value?`success`:`error`},null,8,G),h(`span`,K,r(e.label),1)])],40,U))],64))),128)),h(`craft-callout`,{slot:`after`,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:c(v)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,q),h(`div`,J,[x.value.live?(t(),_(`ul`,Y,[h(`li`,null,r(x.value.live),1)])):s(``,!0)])],40,B),n(h(`craft-input`,{label:c(v)(`Retry Duration`),id:`retry-duration`,name:`retryDuration`,"onUpdate:modelValue":p[1]||=e=>c(Z).retryDuration=e,"has-feedback-for":x.value?.retryDuration?`error`:``,inputmode:`numeric`,maxlength:`4`,disabled:a.readOnly},[h(`div`,{slot:`help-text`,innerHTML:c(v)(`The number of seconds that the Retry-After HTTP header should be set to for 503 responses when the system is offline.`)},null,8,oe),x.value?.retryDuration?(t(),_(`ul`,se,[h(`li`,null,r(x.value.retryDuration),1)])):s(``,!0)],8,ae),[[l,c(Z).retryDuration]]),h(`craft-combobox`,{label:c(v)(`Time Zone`),id:`time-zone`,name:`timeZone`,".modelValue":c(Z).timeZone,onModelValueChanged:Q,"has-feedback-for":x.value?.timeZone?`error`:``,disabled:a.readOnly,"show-all-on-empty":``},[(t(!0),_(u,null,i(a.timezoneOptions,e=>(t(),_(`craft-option`,{key:e.value,".choiceValue":e.value},r(e.label)+r(e.data?.hint?` — ${e.data.hint}`:``),41,le))),128)),p[7]||=h(`craft-callout`,{slot:`after`,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},[e(` This can be set to an environment variable with a value of a `),h(`a`,{href:`https://www.php.net/manual/en/timezones.php`,rel:`noopener`,target:`_blank`},`supported time zone`),e(`. `)],-1),x.value?.timeZone?(t(),_(`ul`,X,[h(`li`,null,r(x.value.timeZone),1)])):s(``,!0)],40,ce)])])]),_:1},8,[`title`])],32))}}),[[`__scopeId`,`data-v-0665d962`]]);export{Z as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,T as i,_ as a,g as o,lt as s,s as c,t as l,v as u,w as d}from"./_plugin-vue_export-helper.js";import{i as f}from"./nav-item-DCsUKnaY.js";import{t as p}from"./Pane.js";import{n as m}from"./wayfinder.js";import{t as h}from"./CraftInput.js";import{t as g}from"./AppLayout.js";import{t as _}from"./CraftCombobox.js";import{t as v}from"./useSettingsSave.js";import{t as y}from"./transformBooleanOptions.js";var b=e=>({url:b.url(e),method:`get`});b.definition={methods:[`get`,`head`],url:`/admin/settings/general`},b.url=e=>b.definition.url+m(e),b.get=e=>({url:b.url(e),method:`get`}),b.head=e=>({url:b.url(e),method:`head`});var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/settings/general`},x.url=e=>x.definition.url+m(e),x.post=e=>({url:x.url(e),method:`post`});var S={class:`grid gap-3`},C={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},w={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},T=[`innerHTML`],E=[`innerHTML`],D=l(i({__name:`SettingsGeneralPage`,props:{readOnly:{type:Boolean},system:{},nameSuggestions:{},timezoneOptions:{},systemStatusOptions:{default:()=>[]},saveUrl:{},errors:{}},setup(i){let l=i,m=c({name:l.system.name??``,live:l.system.live,retryDuration:l.system.retryDuration,timeZone:l.system.timeZone}),{save:b}=v(m,x),D=o(()=>y(l.systemStatusOptions,{trueLabel:f(`Online`),falseLabel:f(`Offline`)})),O=o(()=>[{value:`1`,label:f(`Online`),data:{indicator:{variant:`success`}}},{value:`0`,label:f(`Offline`),data:{indicator:{variant:`empty`}}},...D.value]);return(o,c)=>(n(),u(g,{title:s(f)(`General Settings`),form:s(m),onSave:s(b)},{default:r(()=>[d(p,{appearance:`raised`},{default:r(()=>[a(`div`,S,[d(_,{label:s(f)(`System Name`),id:`name`,name:`name`,modelValue:s(m).name,"onUpdate:modelValue":c[0]||=e=>s(m).name=e,"has-feedback-for":i.errors?.name?`error`:``,disabled:i.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:i.nameSuggestions,error:i.errors?.name},{after:r(()=>[a(`craft-callout`,C,[t(e(s(f)(`This can begin with an environment variable.`))+` `,1),a(`a`,w,e(s(f)(`Learn more`)),1)])]),_:1},8,[`label`,`modelValue`,`has-feedback-for`,`disabled`,`options`,`error`]),d(_,{label:s(f)(`System Status`),id:`live`,name:`live`,modelValue:s(m).live,"onUpdate:modelValue":c[1]||=e=>s(m).live=e,error:i.errors?.live,disabled:i.readOnly,"show-all-on-empty":``,options:O.value},{after:r(()=>[a(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:s(f)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,T)]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`]),d(h,{label:s(f)(`Retry Duration`),id:`retry-duration`,name:`retryDuration`,modelValue:s(m).retryDuration,"onUpdate:modelValue":c[2]||=e=>s(m).retryDuration=e,"has-feedback-for":i.errors?.retryDuration?`error`:``,inputmode:`numeric`,maxlength:`4`,disabled:i.readOnly,error:i.errors?.retryDuration},{default:r(()=>[a(`div`,{slot:`help-text`,innerHTML:s(f)(`The number of seconds that the Retry-After HTTP header should be set to for 503 responses when the system is offline.`)},null,8,E)]),_:1},8,[`label`,`modelValue`,`has-feedback-for`,`disabled`,`error`]),d(_,{label:s(f)(`Time Zone`),id:`time-zone`,name:`timeZone`,modelValue:s(m).timeZone,"onUpdate:modelValue":c[3]||=e=>s(m).timeZone=e,error:i.errors?.timeZone,disabled:i.readOnly,"show-all-on-empty":``,options:i.timezoneOptions},{item:r(({item:n})=>[t(e(n.label)+e(n.data?.hint?` — ${n.data.hint}`:``),1)]),after:r(()=>[...c[4]||=[a(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},[t(` This can be set to an environment variable with a value of a `),a(`a`,{href:`https://www.php.net/manual/en/timezones.php`,rel:`noopener`,target:`_blank`},`supported time zone`),t(`. `)],-1)]]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]))}}),[[`__scopeId`,`data-v-b4a9e966`]]);export{D as default}; \ No newline at end of file diff --git a/resources/build/SettingsImageTransformsIndexPage.js b/resources/build/SettingsImageTransformsIndexPage.js index ef8b37ba2a6..9cebf14026d 100644 --- a/resources/build/SettingsImageTransformsIndexPage.js +++ b/resources/build/SettingsImageTransformsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,R as i,T as a,_ as o,ct as s,lt as c,m as l,pt as u,q as d,rt as f,v as p,w as m,x as h,y as g}from"./_plugin-vue_export-helper.js";import{s as _}from"./nav-item-DtQ6Tc_l.js";import{c as v,n as y,t as b,u as x}from"./AdminTable.js";import{r as S}from"./useAnnouncer.js";import{t as C}from"./createCraftColumnHelper.js";import{t as w}from"./DeleteButton.js";import{t as T}from"./IndexLayout.js";import{c as E,i as D,o as O,s as k}from"./VolumesController.js";var A=a({__name:`SettingsImageTransformsIndexPage`,props:{transforms:{}},setup(a){function A(e){confirm(_(`Are you sure you want to delete the “{name}” transform?`,{name:e.name}))&&c.delete(k(e.id))}let j=a,M=f({name:!0,handle:!0}),N=C(),P=f([N.link(`name`,{header:_(`Name`)}),N.handle(`handle`),N.accessor(`mode`,{header:_(`Mode`)}),N.display({id:`dimensions`,header:_(`Dimensions`),cell:({row:e})=>`${e.original.width??`Auto`} x ${e.original.height??`Auto`}`}),N.accessor(`interlace`,{header:_(`Interlace`),cell:({row:e})=>e.original.interlace?u(e.original.interlace):`None`}),N.accessor(`format`,{header:_(`Format`),cell:({row:e})=>e.original.format?u(e.original.format):`Auto`}),N.actions(({row:e})=>[n(w,{onClick:()=>A(e.original)})])]),F=v({get data(){return j.transforms},get columns(){return P.value},enableSorting:!1,getCoreRowModel:x(),state:{get columnVisibility(){return M.value}}}),I=o(()=>({volumes:{label:_(`Volumes`),url:D().url},transforms:{label:_(`Image Transforms`),url:E().url,active:!0}}));return(n,a)=>(t(),g(T,null,{actions:d(()=>[m(S,{appearance:`button`,inertia:!1,href:s(O)().url,variant:`primary`,icon:`plus`},{default:d(()=>[e(r(s(_)(`New image transform`)),1)]),_:1},8,[`href`])]),"interior-nav":d(()=>[p(`craft-nav-list`,null,[(t(!0),h(l,null,i(I.value,(n,i)=>(t(),g(S,{key:i,as:`craft-nav-item`,active:n.active??!1,href:n.url,block:``,flush:``,inertia:n.inertia??!0},{default:d(()=>[e(r(n.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:d(()=>[m(b,{table:s(F)},{"empty-row":d(()=>[m(y,{label:s(_)(`No image transforms exist yet.`),icon:`image`},{default:d(()=>[m(S,{appearance:`button`,inertia:!1,href:s(O)().url,variant:`default`,icon:`plus`},{default:d(()=>[e(r(s(_)(`New image transform`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{A as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,R as a,T as o,_ as s,b as c,g as l,it as u,lt as d,mt as f,p,ut as m,v as h,w as g}from"./_plugin-vue_export-helper.js";import{i as _}from"./nav-item-DCsUKnaY.js";import{c as v,n as y,t as b,u as x}from"./AdminTable.js";import{a as S}from"./InlineFlash.js";import{t as C}from"./createCraftColumnHelper.js";import{t as w}from"./DeleteButton.js";import{t as T}from"./IndexLayout.js";import{c as E,i as D,o as O,s as k}from"./VolumesController.js";var A=o({__name:`SettingsImageTransformsIndexPage`,props:{transforms:{}},setup(o){function A(e){confirm(_(`Are you sure you want to delete the “{name}” transform?`,{name:e.name}))&&m.delete(k(e.id))}let j=o,M=u({name:!0,handle:!0}),N=C(),P=u([N.link(`name`,{header:_(`Name`)}),N.handle(`handle`),N.accessor(`mode`,{header:_(`Mode`)}),N.display({id:`dimensions`,header:_(`Dimensions`),cell:({row:e})=>`${e.original.width??`Auto`} x ${e.original.height??`Auto`}`}),N.accessor(`interlace`,{header:_(`Interlace`),cell:({row:e})=>e.original.interlace?f(e.original.interlace):`None`}),N.accessor(`format`,{header:_(`Format`),cell:({row:e})=>e.original.format?f(e.original.format):`Auto`}),N.actions(({row:e})=>[i(w,{onClick:()=>A(e.original)})])]),F=v({get data(){return j.transforms},get columns(){return P.value},enableSorting:!1,getCoreRowModel:x(),state:{get columnVisibility(){return M.value}}}),I=l(()=>({volumes:{label:_(`Volumes`),url:D().url},transforms:{label:_(`Image Transforms`),url:E().url,active:!0}}));return(i,o)=>(n(),h(T,null,{actions:r(()=>[g(S,{appearance:`button`,inertia:!1,href:d(O)().url,variant:`primary`,icon:`plus`},{default:r(()=>[t(e(d(_)(`New image transform`)),1)]),_:1},8,[`href`])]),"interior-nav":r(()=>[s(`craft-nav-list`,null,[(n(!0),c(p,null,a(I.value,(i,a)=>(n(),h(S,{key:a,as:`craft-nav-item`,active:i.active??!1,href:i.url,block:``,flush:``,inertia:i.inertia??!0},{default:r(()=>[t(e(i.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:r(()=>[g(b,{table:d(F)},{"empty-row":r(()=>[g(y,{label:d(_)(`No image transforms exist yet.`),icon:`image`},{default:r(()=>[g(S,{appearance:`button`,inertia:!1,href:d(O)().url,variant:`default`,icon:`plus`},{default:r(()=>[t(e(d(_)(`New image transform`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/SettingsIndexPage.js b/resources/build/SettingsIndexPage.js index 0c960ddd820..9528404ef90 100644 --- a/resources/build/SettingsIndexPage.js +++ b/resources/build/SettingsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,Q as n,R as r,T as i,b as a,ct as o,m as s,q as c,t as l,v as u,x as d,y as f}from"./_plugin-vue_export-helper.js";import{s as p}from"./nav-item-DtQ6Tc_l.js";import{t as m}from"./AppLayout.js";import{t as h}from"./CalloutReadOnly.js";var g={class:`py-3`},_={class:`grid gap-6`},v=[`id`],y=[`aria-labelledby`],b={class:`settings-grid`},x=[`href`],S={class:`settings-content`},C={class:`settings-icon`},w=[`name`,`label`],T=l(i({__name:`SettingsIndexPage`,props:{readOnly:{type:Boolean},settings:{}},setup(i){return(l,T)=>(t(),f(m,{title:o(p)(`Settings`)},{default:c(()=>[u(`div`,g,[i.readOnly?(t(),f(h,{key:0})):a(``,!0),u(`div`,_,[(t(!0),d(s,null,r(i.settings,(i,a,c)=>(t(),d(`div`,{key:a},[u(`h2`,{id:`category-heading-${c}`,class:`mb-2 text-lg leading-tight`},n(a),9,v),u(`nav`,{"aria-labelledby":`category-heading-${c}`},[u(`ul`,b,[(t(!0),d(s,null,r(i,(r,i)=>(t(),d(`li`,null,[u(`a`,{href:r.url||`settings/${i}`,class:`settings-item`},[u(`div`,S,[u(`div`,C,[u(`craft-icon`,{name:r.icon,style:{"font-size":`calc(40rem / 16)`},label:`${r.label} - ${o(p)(`Settings`)}`},null,8,w)]),e(` `+n(r.label),1)])],8,x)]))),256))])],8,y)]))),128))])])]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-293147d8`]]);export{T as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,R as i,T as a,_ as o,b as s,lt as c,p as l,t as u,v as d,y as f}from"./_plugin-vue_export-helper.js";import{i as p}from"./nav-item-DCsUKnaY.js";import{n as m,t as h}from"./AppLayout.js";var g={class:`py-3`},_={class:`grid gap-6`},v=[`id`],y=[`aria-labelledby`],b={class:`settings-grid`},x=[`href`],S={class:`settings-content`},C={class:`settings-icon`},w=[`name`,`label`],T=u(a({__name:`SettingsIndexPage`,props:{readOnly:{type:Boolean},settings:{}},setup(a){return(u,T)=>(n(),d(h,{title:c(p)(`Settings`)},{default:r(()=>[o(`div`,g,[a.readOnly?(n(),d(m,{key:0})):f(``,!0),o(`div`,_,[(n(!0),s(l,null,i(a.settings,(r,a,u)=>(n(),s(`div`,{key:a},[o(`h2`,{id:`category-heading-${u}`,class:`mb-2 text-lg leading-tight`},e(a),9,v),o(`nav`,{"aria-labelledby":`category-heading-${u}`},[o(`ul`,b,[(n(!0),s(l,null,i(r,(r,i)=>(n(),s(`li`,null,[o(`a`,{href:r.url||`settings/${i}`,class:`settings-item`},[o(`div`,S,[o(`div`,C,[o(`craft-icon`,{name:r.icon,style:{"font-size":`calc(40rem / 16)`},label:`${r.label} - ${c(p)(`Settings`)}`},null,8,w)]),t(` `+e(r.label),1)])],8,x)]))),256))])],8,y)]))),128))])])]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-293147d8`]]);export{T as default}; \ No newline at end of file diff --git a/resources/build/SettingsPluginsIndexPage.js b/resources/build/SettingsPluginsIndexPage.js new file mode 100644 index 00000000000..a8437be3637 --- /dev/null +++ b/resources/build/SettingsPluginsIndexPage.js @@ -0,0 +1 @@ +import{$ as e,C as t,I as n,J as r,O as i,P as a,Q as o,R as s,S as c,T as l,V as u,_ as d,b as f,c as ee,g as p,lt as m,mt as h,p as g,t as _,ut as v,v as y,w as b,y as x}from"./_plugin-vue_export-helper.js";import{i as S}from"./nav-item-DCsUKnaY.js";import{c as te,n as ne,t as re,u as ie}from"./AdminTable.js";import{a as ae}from"./InlineFlash.js";import{t as oe}from"./Pane.js";import{t as C}from"./Badge.js";import{n as w,t as se}from"./wayfinder.js";import"./CraftInput.js";import{r as ce,t as le}from"./AppLayout.js";import{t as ue}from"./createCraftColumnHelper.js";var de={key:0,class:`cp-plugin-edition__name`},fe={key:1,class:`cp-plugin-edition__trial`},pe=_(l({__name:`PluginEdition`,props:{url:{default:null},edition:{default:null},isTrial:{type:Boolean,default:!1}},setup(t){let i=t,a=p(()=>i.edition?h(i.edition):null);return(i,o)=>(n(),y(u(t.url?`a`:`div`),{href:t.url,class:`cp-plugin-edition`,"data-color":`neutral`},{default:r(()=>[t.edition?(n(),f(`div`,de,e(a.value),1)):x(``,!0),t.isTrial?(n(),f(`div`,fe,e(m(S)(`Trial`)),1)):x(``,!0)]),_:1},8,[`href`]))}}),[[`__scopeId`,`data-v-0d7369c0`]]),me={key:0,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,id:`Layer_1`,x:`0`,y:`0`,version:`1.1`,viewBox:`0 0 100 100`},he={key:1,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,viewBox:`0 0 100 100`},T=_(l({__name:`PluginLicenseStatusIcon`,props:{status:{}},setup(e){return(t,r)=>(n(),f(`div`,null,[e.status===`valid`?(n(),f(`svg`,me,[...r[0]||=[c(``,4)]])):x(``,!0),e.status===`invalid`?(n(),f(`svg`,he,[...r[1]||=[c(``,3)]])):x(``,!0)]))}}),[[`__scopeId`,`data-v-bf3fe5b4`]]),E={class:`cp-plugin`},D={class:`cp-plugin__icon`},O={class:`relative`},k=[`innerHTML`],A={class:`flex gap-2 items-baseline mb-1`},j={class:`font-mono text-xs`},M={key:0,class:`max-w-[80ch] mb-1`},N={key:0,class:`flex gap-3 items-base`},P=[`href`],F=[`name`],I={key:1,class:`my-4`},L={class:`flex gap-2 items-center mb-1 max-w-[20rem]`},R=[`value`,`label`],ge=[`value`],_e=[`innerHTML`],ve=_(l({__name:`PluginDetails`,props:{plugin:{}},setup(i){let a=i,c=ee(),l=p(()=>a.plugin.licenseKey&&a.plugin.licenseKeyStatus!==`unknown`),u=p(()=>a.plugin.licenseIssues.map(e=>{switch(e){case`wrong_edition`:return S(`This license is for the {name} edition.`,{name:h(a.plugin.licensedEdition)});case`no_trials`:return S(`Plugin trials are not allowed on this domain.`);case`mismatched`:return S(`This license is tied to another Craft install. Visit {accountLink} to detach it, or buy a new license.`,{accountLink:`console.craftcms.com`,buyUrl:a.plugin.buyUrl});case`astray`:return S(`This license isn’t allowed to run version {version}.`,{version:a.plugin.version});case`required`:return S(`A license key is required.`);default:return S(`Your license key is invalid.`)}}));return(a,ee)=>(n(),f(`div`,E,[d(`div`,D,[d(`div`,O,[d(`span`,{innerHTML:i.plugin.iconSvg},null,8,k),i.plugin.licenseKeyStatus===`valid`||u.value.length>0?(n(),y(T,{key:0,class:`license-key-status`,status:i.plugin.licenseIssues.length===0?`valid`:`invalid`},null,8,[`status`])):x(``,!0)])]),d(`div`,null,[d(`div`,A,[d(`h2`,null,e(i.plugin.name),1),i.plugin.hasMultipleEditions||i.plugin.isTrial?(n(),y(pe,{key:0,url:i.plugin.upgradeAvailable?i.plugin.pluginStoreUrl:null,edition:i.plugin.hasMultipleEditions?i.plugin.edition:null,"is-trial":i.plugin.isTrial,class:`self-center`},null,8,[`url`,`edition`,`is-trial`])):x(``,!0),d(`div`,j,e(i.plugin.version),1)]),i.plugin.description?(n(),f(`div`,M,[d(`p`,null,e(i.plugin.description),1)])):x(``,!0),d(`div`,null,[i.plugin.links.length>0?(n(),f(`ul`,N,[(n(!0),f(g,null,s(i.plugin.links,r=>(n(),f(`li`,null,[d(`a`,{href:r.href,target:`_blank`,rel:`noopener`,class:`flex gap-1 items-center`},[r.icon?(n(),f(`craft-icon`,{key:0,name:r.icon},null,8,F)):x(``,!0),t(` `+e(r.text),1)],8,P)]))),256))])):x(``,!0)]),l.value?(n(),f(`div`,I,[d(`div`,L,[d(`craft-input`,{value:i.plugin.licenseKey,class:`font-mono flex-1`,label:m(S)(`License Key`),"label-sr-only":``,readonly:``,style:o({width:`${i.plugin.licenseKey.length+6}ch`})},[d(`craft-copy-button`,{slot:`suffix`,value:i.plugin.licenseKey},null,8,ge)],12,R),!m(c).props.readOnly&&i.plugin.buyUrl&&i.plugin.licenseKeyStatus===`trial`?(n(),y(ae,{key:0,appearance:`button`,inertia:!1,href:i.plugin.buyUrl,variant:i.plugin.licenseIssues.length>0?`primary`:`default`},{default:r(()=>[t(e(m(S)(`Buy now`)),1)]),_:1},8,[`href`,`variant`])):x(``,!0)]),(n(!0),f(g,null,s(u.value,e=>(n(),f(`craft-callout`,{variant:`danger`,appearance:`plain`,class:`p-0`,innerHTML:e},null,8,_e))),256))])):x(``,!0)])]))}}),[[`__scopeId`,`data-v-af2d9510`]]),ye={key:1,class:`flex gap-1 items-center`},be={key:0},xe={key:2,class:`flex gap-1 items-center`},Se={key:0},Ce=l({__name:`PluginStatus`,props:{plugin:{}},setup(i){return(a,o)=>i.plugin.isEnabled?(n(),y(C,{key:0,variant:`success`},{default:r(()=>[t(e(m(S)(`Installed`)),1)]),_:1})):i.plugin.isInstalled?(n(),f(`div`,ye,[b(C,{variant:`warning`},{default:r(()=>[t(e(m(S)(`Disabled`)),1)]),_:1}),i.plugin.isForceDisabled?(n(),f(`craft-info-icon`,be,e(m(S)(`{plugin} is disabled by the {setting} config setting.`,{plugin:i.plugin.name,setting:`disabledPlugins`})),1)):x(``,!0)])):(n(),f(`div`,xe,[b(C,null,{default:r(()=>[t(e(m(S)(`Not Installed`)),1)]),_:1}),i.plugin.isForceDisabled?(n(),f(`craft-info-icon`,Se,e(m(S)(`{plugin} can’t be installed due to the {setting} config setting.`,{plugin:i.plugin.name,setting:`disabledPlugins`})),1)):x(``,!0)]))}}),z=e=>({url:z.url(e),method:`post`});z.definition={methods:[`post`],url:`/admin/actions/plugins/install-plugin`},z.url=e=>z.definition.url+w(e),z.post=e=>({url:z.url(e),method:`post`});var B=e=>({url:B.url(e),method:`post`});B.definition={methods:[`post`],url:`/admin/actions/plugins/uninstall-plugin`},B.url=e=>B.definition.url+w(e),B.post=e=>({url:B.url(e),method:`post`});var V=e=>({url:V.url(e),method:`post`});V.definition={methods:[`post`],url:`/admin/actions/plugins/switch-edition`},V.url=e=>V.definition.url+w(e),V.post=e=>({url:V.url(e),method:`post`});var H=e=>({url:H.url(e),method:`post`});H.definition={methods:[`post`],url:`/admin/actions/plugins/disable-plugin`},H.url=e=>H.definition.url+w(e),H.post=e=>({url:H.url(e),method:`post`});var U=e=>({url:U.url(e),method:`post`});U.definition={methods:[`post`],url:`/admin/actions/plugins/enable-plugin`},U.url=e=>U.definition.url+w(e),U.post=e=>({url:U.url(e),method:`post`});var W=e=>({url:W.url(e),method:`post`});W.definition={methods:[`post`],url:`/admin/actions/plugins/save-plugin-settings`},W.url=e=>W.definition.url+w(e),W.post=e=>({url:W.url(e),method:`post`});var G=e=>({url:G.url(e),method:`get`});G.definition={methods:[`get`,`head`],url:`/admin/settings/plugins`},G.url=e=>G.definition.url+w(e),G.get=e=>({url:G.url(e),method:`get`}),G.head=e=>({url:G.url(e),method:`head`});var K=(e,t)=>({url:K.url(e,t),method:`get`});K.definition={methods:[`get`,`head`],url:`/admin/settings/plugins/{handle}`},K.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=se(e);let n={handle:e.handle};return K.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+w(t)},K.get=(e,t)=>({url:K.url(e,t),method:`get`}),K.head=(e,t)=>({url:K.url(e,t),method:`head`});var q=e=>({url:q.url(e),method:`post`});q.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove`},q.url=e=>q.definition.url+w(e),q.post=e=>({url:q.url(e),method:`post`});var J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/precheck`},J.url=e=>J.definition.url+w(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/recheck-composer`},Y.url=e=>Y.definition.url+w(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-install`},X.url=e=>X.definition.url+w(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`post`});Z.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-remove`},Z.url=e=>Z.definition.url+w(e),Z.post=e=>({url:Z.url(e),method:`post`});var Q=e=>({url:Q.url(e),method:`post`});Q.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/finish`},Q.url=e=>Q.definition.url+w(e),Q.post=e=>({url:Q.url(e),method:`post`});var we={index:q,precheck:J,recheckComposer:Y,composerInstall:X,composerRemove:Z,finish:Q},Te=l({__name:`PluginActionMenu`,props:{plugin:{}},setup(e){let t=e,r=p(()=>{let e=[{icon:`clipboard`,label:S(`Copy plugin handle`),action:{type:`clipboard`,value:t.plugin.handle},feedback:{success:{message:S(`Copied!`)}}},{icon:`clipboard`,label:S(`Copy package name`),action:{type:`clipboard`,value:t.plugin.packageName},feedback:{success:{message:S(`Copied!`)}}},{type:`hr`}];return t.plugin.isInstalled?t.plugin.isEnabled?(e.push({icon:`circle-dashed`,label:S(`Disable`),action:{type:`http`,url:H().url,body:{pluginHandle:t.plugin.handle}}}),e.push({icon:`xmark`,label:S(`Uninstall`),variant:`danger`,action:{type:`http`,url:B().url,body:{pluginHandle:t.plugin.handle},confirm:S(`Are you sure you want to uninstall {plugin}? You will lose all of its associated data.`,{plugin:t.plugin.name})}})):e.push({icon:`circle`,label:S(`Enable`),action:{type:`http`,url:U().url,body:{pluginHandle:t.plugin.handle}},disabled:t.plugin.isForceDisabled}):(e.push({icon:`plus`,label:S(`Install`),action:{type:`http`,url:z().url,body:{pluginHandle:t.plugin.handle}},disabled:t.plugin.isForceDisabled}),e.push({icon:`minus`,label:S(`Remove`),variant:`danger`,action:{type:`event`,name:`action:remove-plugin`,confirm:S(`Are you sure you want to remove {plugin}?`,{plugin:t.plugin.name}),detail:{packageName:t.plugin.packageName}}})),e});function i(e){let{detail:t}=e;v.post(we.index(),{packageName:t.packageName})}return a(()=>{window.addEventListener(`action:remove-plugin`,i)}),(e,t)=>(n(),y(ce,{actions:r.value},null,8,[`actions`]))}}),Ee=l({__name:`PluginsList`,props:{pluginInfo:{},readOnly:{type:Boolean}},setup(e){let t=e,a=p(()=>Object.entries(t.pluginInfo).map(([e,t])=>({...t,handle:e}))),o=ue(),s=te({state:{get columnVisibility(){return{details:!0,status:!0,actions:!t.readOnly}}},get columns(){return[o.display({id:`details`,header:S(`Plugin`),cell:({row:e})=>i(ve,{plugin:e.original})}),o.display({id:`status`,header:S(`Status`),meta:{trackSize:`minmax(280px, 20%)`},cell:({row:e})=>i(Ce,{plugin:e.original})}),o.actions(({row:e})=>[i(Te,{plugin:e.original})],{meta:{trackSize:`60px`}})]},get data(){return a.value},getCoreRowModel:ie()});function c(e){e.detail?.state===`success`&&e.detail?.actionType===`http`&&v.visit(G(),{only:[`pluginInfo`]})}return(e,t)=>(n(),y(oe,{appearance:`raised`,padding:0},{default:r(()=>[b(re,{table:m(s),"onAction:changeState":c},{"empty-row":r(()=>[b(ne,{icon:`plugin`,label:m(S)(`There are no available plugins.`)},null,8,[`label`])]),_:1},8,[`table`])]),_:1}))}}),$=l({__name:`SettingsPluginsIndexPage`,props:{pluginInfo:{default:()=>({})},readOnly:{type:Boolean,default:!1}},setup(e){return(t,i)=>(n(),y(le,null,{default:r(()=>[b(Ee,{"read-only":e.readOnly,"plugin-info":e.pluginInfo},null,8,[`read-only`,`plugin-info`])]),_:1}))}});export{$ as default}; \ No newline at end of file diff --git a/resources/build/SettingsSectionsEditPage.js b/resources/build/SettingsSectionsEditPage.js index 005de6c9645..6b7146214c9 100644 --- a/resources/build/SettingsSectionsEditPage.js +++ b/resources/build/SettingsSectionsEditPage.js @@ -1,4 +1,4 @@ -import{C as e,F as t,G as n,H as r,I as i,M as a,N as o,O as s,P as c,Q as l,R as u,T as d,W as f,Y as p,Z as m,_ as h,b as g,c as _,ct as v,dt as ee,ft as y,gt as b,ht as x,it as S,j as C,lt as w,m as T,p as E,q as D,rt as O,s as te,st as ne,t as k,v as A,w as j,x as M,y as N,z as P}from"./_plugin-vue_export-helper.js";import{s as F}from"./nav-item-DtQ6Tc_l.js";import{a as re,i as I,o as L,r as ie,s as ae,t as R}from"./AdminTable.js";import{n as z}from"./useAnnouncer.js";import{t as B}from"./Pane.js";import{n as V}from"./dist.js";import{t as H}from"./AppLayout.js";import{t as U}from"./DeleteButton.js";import{t as W}from"./CalloutReadOnly.js";import{n as G,t as K}from"./useEditableTable.js";import{a as q,n as J,t as Y}from"./EntryTypesController.js";import{t as X}from"./CraftInput.js";import{a as oe}from"./SectionsController.js";import{t as Z}from"./useInputGenerator.js";var se=[`.modelValue`,`has-feedback-for`],ce={slot:`feedback`},le={key:0,class:`error-list`},ue=d({name:`CraftInputHandle`,inheritAttrs:!1,__name:`CraftInputHandle`,props:C({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=r(e,`modelValue`);return(n,r)=>(i(),M(`craft-input-handle`,a(n.$attrs,{".modelValue":t.value,onModelValueChanged:r[0]||=e=>t.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[P(n.$slots,`default`),A(`div`,ce,[e.error?(i(),M(`ul`,le,[A(`li`,null,l(e.error),1)])):g(``,!0)])],48,se))}}),de={type:`button`,slot:`invoker`,icon:``,size:`small`,variant:`inherit`,appearance:`plain`},fe=[`name`,`label`],pe={slot:`content`,class:`m-sm`},me=[`id`,`icon`,`onClick`],he=[`id`,`icon`,`variant`,`onClick`],ge=k(d({__name:`ActionMenu`,props:{icon:{default:`ellipsis`},label:{default:F(`Actions`)},actions:{}},setup(e){let t=e,n=h(()=>t.actions.filter(e=>e.variant&&e.variant===`danger`)),r=h(()=>t.actions.filter(e=>!e.variant||e.variant!==`danger`));return(t,a)=>(i(),M(`craft-action-menu`,null,[A(`craft-button`,de,[A(`craft-icon`,{name:e.icon,label:e.label},null,8,fe)]),A(`div`,pe,[(i(!0),M(T,null,u(r.value,(e,t)=>(i(),M(`craft-action-item`,{id:e.id,key:`safe-${t}`,icon:e.icon,onClick:e.onClick},l(e.label),9,me))),128)),a[0]||=A(`hr`,{class:`m-0`},null,-1),(i(!0),M(T,null,u(n.value,(e,t)=>(i(),M(`craft-action-item`,{id:e.id,key:`dangerous-${t}`,icon:e.icon,variant:e.variant,onClick:e.onClick},l(e.label),9,he))),128))])]))}}),[[`__scopeId`,`data-v-b85dcf84`]]),_e=[`id`],ve=[`name`],ye=[`placement`,`for`],be=d({__name:`Tooltip`,props:{id:{default:()=>`tooltip-${Math.random().toString(36).substring(2,9)}`},icon:{default:`circle-info`},placement:{default:`top`}},setup(e){return(t,n)=>(i(),M(T,null,[A(`craft-button`,{type:`button`,id:e.id,appearance:`plain`,size:`zero`,icon:``,variant:`inherit`},[P(t.$slots,`icon`,{},()=>[A(`craft-icon`,{name:e.icon},null,8,ve)])],8,_e),A(`c-tooltip`,{placement:e.placement,for:e.id},[P(t.$slots,`default`)],8,ye)],64))}}),xe=[`data-color`,`data-id`],Se={class:`grid gap-1 justify-items-start`},Ce={class:`flex gap-1`},we={class:`font-bold`},Te={class:`cp-code`},Ee={key:0},De=[`name`,`label`],Oe={slot:`suffix`,class:`flex gap-0.5 items-center`},ke=k(d({__name:`EntryTypeChip`,props:{name:{},id:{},handle:{},color:{},icon:{},description:{},indicators:{},actions:{},draggable:{type:Boolean,default:!1}},emits:[`handle-ref`],setup(t,{emit:r}){let o=r,s=O(null);return n(s,e=>{o(`handle-ref`,e)},{immediate:!0}),(n,r)=>(i(),M(`craft-chip`,{"data-color":t.color?.value??t.color??`white`,"data-id":t.id},[t.icon?(i(),M(`craft-icon`,a({key:0,slot:`icon`},t.icon),null,16)):g(``,!0),A(`div`,Se,[A(`div`,Ce,[A(`div`,we,l(t.name),1),t.description?(i(),N(be,{key:0},{default:D(()=>[e(l(t.description),1)]),_:1})):g(``,!0)]),A(`div`,Te,l(t.handle),1),t.indicators?(i(),M(`div`,Ee,[(i(!0),M(T,null,u(t.indicators,e=>(i(),M(`craft-icon`,{name:e.icon,label:e.label,style:m({color:e.iconColor})},null,12,De))),256))])):g(``,!0)]),A(`div`,Oe,[t.actions?(i(),N(ge,{key:0,actions:t.actions},null,8,[`actions`])):g(``,!0),t.draggable?(i(),M(`span`,{key:1,ref_key:`handleRef`,ref:s,class:`drag-handle`},[P(n.$slots,`drag-handle`,{},()=>[j(re,{variant:`inherit`})],!0)],512)):g(``,!0)])],8,xe))}}),[[`__scopeId`,`data-v-3fa3dea4`]]),Ae=d({__name:`CreateEntryTypeButton`,emits:[`success`],setup(t,{emit:n}){let r=n,a=f(`invoker`);function o(){let e=new Craft.CpScreenSlideout(J[`/admin/settings/entry-types/new`]().url);e.on(`submit`,()=>{r(`success`)}),e.on(`close`,()=>{a.value?.focus()})}function s(){o()}return(t,n)=>(i(),M(`craft-button`,{type:`button`,appearance:`filled`,onClick:s,ref_key:`invoker`,ref:a},[n[0]||=A(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),e(` `+l(v(F)(`Create`)),1)],512))}}),Q=k(d({__name:`DragShadow`,props:{height:{},position:{}},setup(e){return(t,n)=>e.height?(i(),M(`div`,{key:0,class:p([`drag-shadow`,`drag-shadow--${e.position??`bottom`}`]),style:m({height:`${e.height}px`})},null,6)):g(``,!0)}}),[[`__scopeId`,`data-v-a1eaf5b2`]]);function je(e){let r=O(new Map),i=S(new Map),a=O(new Map),s=null,{registerItem:l,getDragState:u,getDropState:d,setupMonitor:f}=ae({onReorder:e.onReorder,axis:e.axis??`vertical`});function p(e,t){e?r.value.set(t,e):r.value.delete(t)}function m(e,t){e?i.value.set(t,e):i.value.delete(t),ne(i)}function h(){return e.enabled?.()??!0}function g(){a.value.forEach(e=>e()),a.value.clear(),h()&&e.getItemIds().forEach((e,t)=>{let n=r.value.get(e),o=i.value.get(e);if(n){let r=l(n,o??null,e,t);a.value.set(e,r)}})}return n(()=>e.getItemIds(),()=>{o(g)},{deep:!0}),n(()=>i.value.size,()=>{o(g)}),c(()=>{s=f(),o(g)}),t(()=>{a.value.forEach(e=>e()),s?.()}),{setItemRef:p,setHandleRef:m,getDragState:u,getDropState:d,refreshRegistrations:g}}var Me={class:`entry-type-list`},Ne={class:`flex gap-2 mt-3 items-center`},Pe={key:0},Fe={type:`button`,slot:`invoker`,appearance:`filled`},Ie={slot:`content`},Le={class:`p-2`},Re={key:0,class:`p-2`},ze=[`onClick`,`icon`,`checked`,`data-color`],Be=k(d({__name:`EntryTypeSelect`,props:{modelValue:{},entryTypes:{},actions:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,a=t,o=O(``),s=h(()=>a.entryTypes?.filter(e=>e.name.includes(o.value)||e.handle.includes(o.value))),{setItemRef:c,setHandleRef:d,getDragState:f,getDropState:m}=je({getItemIds:()=>a.modelValue.map(e=>e.id),onReorder:(e,t)=>{let n=[...a.modelValue],[i]=n.splice(e,1);n.splice(t,0,i),r(`update:modelValue`,n)},enabled:()=>a.modelValue.length>1});function _(e){a.modelValue.find(t=>t.id===e.id)?b(e.id):r(`update:modelValue`,[...a.modelValue,e])}function b(e){r(`update:modelValue`,[...a.modelValue.filter(t=>t.id!==e)])}let x=O(void 0),S=O({});function C(e,{namespace:t=``,id:n=null}){let i=` +import{$ as e,C as t,F as n,G as r,I as i,J as a,K as o,M as s,N as c,O as l,P as u,Q as d,R as f,T as p,X as m,_ as h,_t as g,at as _,b as v,c as y,ct as b,ft as x,g as S,gt as C,it as w,lt as T,p as E,pt as ee,s as D,t as O,ut as te,v as k,w as A,y as j,z as M}from"./_plugin-vue_export-helper.js";import{i as N}from"./nav-item-DCsUKnaY.js";import{a as ne,i as P,o as F,r as I,s as L,t as R}from"./AdminTable.js";import{t as z}from"./Pane.js";import{t as B}from"./CraftInput.js";import{r as V,t as H}from"./AppLayout.js";import{t as U}from"./DeleteButton.js";import{n as W,t as G}from"./useEditableTable.js";import{t as K}from"./useSettingsSave.js";import{a as q,n as J,t as Y}from"./EntryTypesController.js";import{t as X}from"./CraftInputHandle.js";import{t as Z}from"./useInputGenerator.js";import{a as re}from"./SectionsController.js";var ie=[`id`],ae=[`name`],oe=[`placement`,`for`],se=p({__name:`Tooltip`,props:{id:{default:()=>`tooltip-${Math.random().toString(36).substring(2,9)}`},icon:{default:`circle-info`},placement:{default:`top`}},setup(e){return(t,n)=>(i(),v(E,null,[h(`craft-button`,{type:`button`,id:e.id,appearance:`plain`,size:`zero`,icon:``,variant:`inherit`},[M(t.$slots,`icon`,{},()=>[h(`craft-icon`,{name:e.icon},null,8,ae)])],8,ie),h(`c-tooltip`,{placement:e.placement,for:e.id},[M(t.$slots,`default`)],8,oe)],64))}}),ce=[`data-color`,`data-id`],le={class:`grid gap-1 justify-items-start`},ue={class:`flex gap-1`},de={class:`font-bold`},fe={class:`cp-code`},pe={key:0},me=[`name`,`label`],he={slot:`suffix`,class:`flex gap-0.5 items-center`},ge=O(p({__name:`EntryTypeChip`,props:{name:{},id:{},handle:{},color:{},icon:{},description:{},indicators:{},actions:{},draggable:{type:Boolean,default:!1}},emits:[`handle-ref`],setup(n,{emit:r}){let c=r,l=w(null);return o(l,e=>{c(`handle-ref`,e)},{immediate:!0}),(r,o)=>(i(),v(`craft-chip`,{"data-color":n.color?.value??n.color??`white`,"data-id":n.id},[n.icon?(i(),v(`craft-icon`,s({key:0,slot:`icon`},n.icon),null,16)):j(``,!0),h(`div`,le,[h(`div`,ue,[h(`div`,de,e(n.name),1),n.description?(i(),k(se,{key:0},{default:a(()=>[t(e(n.description),1)]),_:1})):j(``,!0)]),h(`div`,fe,e(n.handle),1),n.indicators?(i(),v(`div`,pe,[(i(!0),v(E,null,f(n.indicators,e=>(i(),v(`craft-icon`,{name:e.icon,label:e.label,style:d({color:e.iconColor})},null,12,me))),256))])):j(``,!0)]),h(`div`,he,[n.actions?(i(),k(V,{key:0,actions:n.actions},null,8,[`actions`])):j(``,!0),n.draggable?(i(),v(`span`,{key:1,ref_key:`handleRef`,ref:l,class:`drag-handle`},[M(r.$slots,`drag-handle`,{},()=>[A(ne,{variant:`inherit`})],!0)],512)):j(``,!0)])],8,ce))}}),[[`__scopeId`,`data-v-3fa3dea4`]]),_e=p({__name:`CreateEntryTypeButton`,emits:[`success`],setup(n,{emit:a}){let o=a,s=r(`invoker`);function c(){let e=new Craft.CpScreenSlideout(J[`/admin/settings/entry-types/new`]().url);e.on(`submit`,()=>{o(`success`)}),e.on(`close`,()=>{s.value?.focus()})}function l(){c()}return(n,r)=>(i(),v(`craft-button`,{type:`button`,appearance:`filled`,onClick:l,ref_key:`invoker`,ref:s},[r[0]||=h(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),t(` `+e(T(N)(`Create`)),1)],512))}}),Q=O(p({__name:`DragShadow`,props:{height:{},position:{}},setup(e){return(t,n)=>e.height?(i(),v(`div`,{key:0,class:m([`drag-shadow`,`drag-shadow--${e.position??`bottom`}`]),style:d({height:`${e.height}px`})},null,6)):j(``,!0)}}),[[`__scopeId`,`data-v-a1eaf5b2`]]);function ve(e){let t=w(new Map),r=_(new Map),i=w(new Map),a=null,{registerItem:s,getDragState:l,getDropState:d,setupMonitor:f}=L({onReorder:e.onReorder,axis:e.axis??`vertical`});function p(e,n){e?t.value.set(n,e):t.value.delete(n)}function m(e,t){e?r.value.set(t,e):r.value.delete(t),b(r)}function h(){return e.enabled?.()??!0}function g(){i.value.forEach(e=>e()),i.value.clear(),h()&&e.getItemIds().forEach((e,n)=>{let a=t.value.get(e),o=r.value.get(e);if(a){let t=s(a,o??null,e,n);i.value.set(e,t)}})}return o(()=>e.getItemIds(),()=>{c(g)},{deep:!0}),o(()=>r.value.size,()=>{c(g)}),u(()=>{a=f(),c(g)}),n(()=>{i.value.forEach(e=>e()),a?.()}),{setItemRef:p,setHandleRef:m,getDragState:l,getDropState:d,refreshRegistrations:g}}var ye={class:`entry-type-list`},be={class:`flex gap-2 mt-3 items-center`},xe={key:0},Se={type:`button`,slot:`invoker`,appearance:`filled`},Ce={slot:`content`},we={class:`p-2`},Te={key:0,class:`p-2`},Ee=[`onClick`,`icon`,`checked`,`data-color`],De=O(p({__name:`EntryTypeSelect`,props:{modelValue:{},entryTypes:{},actions:{}},emits:[`update:modelValue`],setup(n,{emit:r}){let o=r,s=n,c=w(``),l=S(()=>s.entryTypes?.filter(e=>e.name.includes(c.value)||e.handle.includes(c.value))),{setItemRef:u,setHandleRef:d,getDragState:p,getDropState:g}=ve({getItemIds:()=>s.modelValue.map(e=>e.id),onReorder:(e,t)=>{let n=[...s.modelValue],[r]=n.splice(e,1);n.splice(t,0,r),o(`update:modelValue`,n)},enabled:()=>s.modelValue.length>1});function _(e){s.modelValue.find(t=>t.id===e.id)?y(e.id):o(`update:modelValue`,[...s.modelValue,e])}function y(e){o(`update:modelValue`,[...s.modelValue.filter(t=>t.id!==e)])}let b=w(void 0),C=w({});function D(e,{namespace:t=``,id:n=null}){let r=`
${t?``:``} @@ -8,8 +8,8 @@ import{C as e,F as t,G as n,H as r,I as i,M as a,N as o,O as s,P as c,Q as l,R a
- ${F(`Close`)} + ${N(`Close`)} - ${F(`Apply`)} + ${N(`Apply`)}
- `,o=new Craft.Slideout(i,{containerElement:`form`,containerAttributes:{action:Y().url,method:`post`,novalidate:``,class:`entry-type-override-settings`}}),s=o.$container[0];if(s)return s.addEventListener(`submit`,async e=>{e.preventDefault();let t=e.target,n=new FormData(t),i={id:n.get(`id`),settingsNamespace:n.get(`settingsNamespace`),settings:new URLSearchParams(n).toString()};try{let{data:e}=await Craft.sendActionRequest(`POST`,Y().url,{data:i});S.value={...S.value,[e.config.id]:e.config},r(`update:modelValue`,a.modelValue.map(t=>t.id===e.entryType.id?{...t,...e.entryType}:t)),o.close()}catch(e){console.error(e)}}),s.querySelectorAll(`[data-action]`).forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target;if(t)switch(t.dataset.action){case`close`:o.close();break}})}),o.on(`close`,()=>{o.destroy()}),o}async function E(e){try{let t=a.modelValue.find(t=>t.id===e),{data:n}=await Craft.sendActionRequest(`POST`,q().url,{data:{id:e,name:t?.name,handle:t?.handle,description:t?.description}}),{settingsHtml:r,headHtml:i,bodyHtml:o,namespace:s}=n;x.value=C(r,{namespace:s,id:e}),i&&await y(i),o&&await ee(o),Craft?.initUiElements(x.value?.$container)}catch(e){throw Craft.cp?.displayError?.(e?.response?.data?.message),e}}return(n,r)=>(i(),M(T,null,[A(`div`,Me,[(i(!0),M(T,null,u(t.modelValue,e=>(i(),M(`div`,{key:e.id,ref_for:!0,ref:t=>v(c)(t,e.id),class:p([`entry-type-item`,{"entry-type-item--dragging":v(f)(e.id).type===`is-dragging`,"entry-type-item--hidden":v(f)(e.id).type===`is-dragging-and-left-self`}])},[v(m)(e.id).type===`is-over`&&v(m)(e.id).closestEdge===`top`?(i(),N(Q,{key:0,height:v(m)(e.id).draggingRect?.height},null,8,[`height`])):g(``,!0),j(ke,{name:e.name,id:e.id,handle:e.handle,color:e.color,icon:e.icon,description:e.description,draggable:t.modelValue.length>1,indicators:e.indicators,actions:[{label:v(F)(`Settings`),icon:`gear`,onClick:()=>E(e.id)},{label:v(F)(`Remove`),variant:`danger`,icon:`x`,onClick:()=>b(e.id)}],onHandleRef:t=>v(d)(t,e.id)},null,8,[`name`,`id`,`handle`,`color`,`icon`,`description`,`draggable`,`indicators`,`actions`,`onHandleRef`]),v(m)(e.id).type===`is-over`&&v(m)(e.id).closestEdge===`bottom`?(i(),N(Q,{key:1,height:v(m)(e.id).draggingRect?.height},null,8,[`height`])):g(``,!0)],2))),128))]),A(`div`,Ne,[t.entryTypes?.length?(i(),M(`craft-action-menu`,Pe,[A(`craft-button`,Fe,[r[2]||=A(`craft-icon`,{name:`chevron-down`,slot:`prefix`},null,-1),e(` `+l(v(F)(`Choose`)),1)]),A(`div`,Ie,[A(`div`,Le,[j(X,{label:v(F)(`Search`),modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,"label-sr-only":``},{default:D(()=>[...r[3]||=[A(`craft-icon`,{name:`search`,slot:`prefix`},null,-1)]]),_:1},8,[`label`,`modelValue`])]),r[4]||=A(`hr`,{class:`m-0`},null,-1),s.value.length<1?(i(),M(`div`,Re,[j(ie,{template:`No entry types match “{query}”`,params:{query:o.value}},null,8,[`params`])])):(i(!0),M(T,{key:1},u(s.value,n=>(i(),M(`craft-action-item`,{key:n.id,onClick:e=>_(n),type:`checkbox`,icon:n.icon??`empty`,checked:t.modelValue.find(e=>e.id===n.id),"data-color":n.color?.value??`white`},[A(`div`,null,[e(l(n.name)+` `,1),A(`pre`,null,l(n.handle),1)])],8,ze))),128))])])):g(``,!0),j(Ae,{onSuccess:r[1]||=e=>v(w).reload({only:[`entryTypes`]})})])],64))}}),[[`__scopeId`,`data-v-437e54b8`]]),Ve=d({__name:`SiteSettingsTable`,props:{modelValue:{},selectedType:{},isMultisite:{type:Boolean,default:!1},isHeadless:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,r=e,a=_(),o=h(()=>a.props.homepageUri),c=h(()=>a.props.templateOptions),l=h(()=>({name:!0,enabled:r.isMultisite,singleHomepage:r.selectedType===`single`,singleUri:r.selectedType===`single`,uriFormat:r.selectedType!==`single`,template:!r.isHeadless,enabledByDefault:r.selectedType!==`single`})),{table:u}=K({data:()=>r.modelValue,key:`handle`,name:`sites`,columnVisibility:()=>l.value,onChange:e=>n(`update:modelValue`,e),columns:({columnHelper:e})=>[e.accessor(`name`,{header:F(`Site`),cell:({getValue:e})=>e(),meta:{cellTag:`th`,trackSize:`0.25fr`}}),e.lightswitch(`enabled`,{header:F(`Enabled`),meta:{trackSize:`80px`,cellClass:`bg-[var(--c-color-neutral-fill-quiet)]`},label:F(`Enabled`)}),e.checkbox(`singleHomepage`,{header:()=>s(`craft-icon`,{name:`home`,label:F(`Homepage`)}),meta:{trackSize:`44px`,cellClass:`text-center`,headerClass:`justify-center`},onChange:(e,{row:t})=>{if(e){let e={...r.modelValue};e[t.original.handle].singleUri=o.value??``,n(`update:modelValue`,e)}else{let e={...r.modelValue};e[t.original.handle].singleUri=``,n(`update:modelValue`,e)}},disabled:e=>!e.original.enabled}),e.text(`singleUri`,{header:F(`URI`),class:`font-mono text-xs`,placeholder:F(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled||e.original.singleHomepage,meta:{headerTip:F(`What the entry URI should be for the site. Leave blank if the entry doesn’t have a URL.`)}}),e.text(`uriFormat`,{header:F(`Entry URI Format`),class:`font-mono text-xs`,placeholder:F(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled,meta:{headerTip:F(`What entry URIs should look like for the site. Leave blank if entries don’t have URLs.`)}}),e.autocomplete(`template`,{header:F(`Template`),class:`w-full flex-1 font-mono text-xs !px-[var(--_cell-spacing)]`,options:c.value,disabled:e=>!e.original.enabled,meta:{headerTip:F(`Which template should be loaded when an entry’s URL is requested.`)}}),e.lightswitch(`enabledByDefault`,{header:F(`Default Status`),meta:{trackSize:`120px`},disabled:e=>!e.original.enabled})]});return(e,t)=>(i(),N(B,{padding:0,appearance:`raised`},{default:D(()=>[j(R,{table:v(u),spacing:v(L).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}))}}),He={key:0,class:`border border-dashed border-neutral-border-quiet rounded-bl-md rounded-br-md border-t-0 p-1 pt-2 -mt-1`},Ue=d({__name:`PreviewTargetsTable`,props:{modelValue:{},name:{default:`previewTargets`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,r=e,{table:a}=K({data:()=>r.modelValue,name:r.name,onChange:e=>n(`update:modelValue`,e),columns:({columnHelper:e})=>[e.text(`label`,{header:F(`Label`),disabled:()=>r.disabled}),e.text(`urlFormat`,{header:F(`URL Format`),class:`font-mono text-xs`,disabled:()=>r.disabled}),e.lightswitch(`refresh`,{header:F(`Auto-Refresh`),disabled:()=>r.disabled}),e.display({id:`actions`,header:F(`Actions`),meta:{headerSrOnly:!0},cell:({row:e})=>s(`div`,{class:`flex justify-end gap-2`},[s(U,{disabled:r.disabled,onClick:()=>{let t=[...r.modelValue];t.splice(e.index,1),n(`update:modelValue`,t)}})])})]});function o(){n(`update:modelValue`,[...r.modelValue,{label:``,urlFormat:``,refresh:!0}])}return(t,n)=>(i(),M(T,null,[j(B,{padding:0,appearance:`raised`},{default:D(()=>[j(R,{table:v(a),spacing:v(L).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}),e.disabled?g(``,!0):(i(),M(`div`,He,[A(`craft-button`,{type:`button`,size:`small`,onClick:o,class:`w-full`,appearance:`plain`},l(v(F)(`Add a target`)),1)]))],64))}}),We={key:0,class:`flex gap-1 items-center text-sm`},Ge={key:1,class:`flex gap-1 items-center text-sm`},Ke={key:0},qe=[`loading`],Je={slot:`content`},Ye={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm`},Xe={class:`grid gap-3 p-5`},Ze={key:0,variant:`danger`,icon:`triangle-exclamation`},Qe={slot:`title`,class:`font-bold`},$e=[`value`],et={slot:`feedback`},tt={key:0,class:`error-list`},nt={slot:`feedback`},rt={key:0,class:`error-list`},it={slot:`input`},at=[`value`],ot={key:0,slot:`after`},st={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},ct={slot:`feedback`},lt={key:0,class:`error-list`},ut={class:`grid gap-3 p-5`},dt={class:`font-bold text-sm`},ft={class:`text-sm text-neutral-500 mb-2`},pt={class:`grid gap-6 p-5`},mt={class:`font-bold text-sm`},ht={class:`text-sm text-neutral-500 mb-2`},gt={slot:`input`},_t=[`value`],vt={key:0,slot:`after`},yt={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},$={class:`grid gap-3 p-5`},bt={slot:`feedback`},xt={key:0,class:`error-list`},St={slot:`input`},Ct=[`value`],wt={class:`grid gap-3 p-5`},Tt={class:`font-bold text-sm`},Et={class:`text-sm text-neutral-500 mb-2`},Dt={class:`grid gap-3 p-5`},Ot={slot:`feedback`},kt={key:0,class:`error-list`},At=d({__name:`SettingsSectionsEditPage`,props:{title:{},crumbs:{},section:{},brandNew:{type:Boolean},typeOptions:{},entryTypes:{},propagationOptions:{},placementOptions:{},siteSettings:{},isMultiSite:{type:Boolean},headlessMode:{type:Boolean},readOnly:{type:Boolean},flash:{},errors:{}},setup(t){let n=t,r=te({sectionId:n.section.id,name:n.section.name??``,handle:n.section.handle??``,type:n.section.type,entryTypes:(n.section.entryTypes??[]).map(({actions:e,...t})=>t),enableVersioning:n.section.enableVersioning,maxAuthors:n.section.maxAuthors??1,maxLevels:n.section.maxLevels??``,propagationMethod:n.section.propagationMethod,defaultPlacement:n.section.defaultPlacement,previewTargets:n.section.previewTargets??[],sites:Object.fromEntries(n.siteSettings.map(e=>[e.handle,{enabled:e.enabled,siteId:e.siteId??null,name:e.name??``,singleHomepage:!1,singleUri:e.uriFormat??``,uriFormat:e.uriFormat??``,template:e.template??``,enabledByDefault:e.enabledByDefault}]))}),a=h(()=>r.type===`structure`),o=h(()=>r.type===`channel`||r.type===`structure`),s=Z(()=>r.name,e=>r.handle=x(e)),c=Z(()=>r.name,e=>{if(!r.sites)return;let t=b(e);r.sites=Object.fromEntries(Object.entries(r.sites).map(([e,n])=>[e,{...n,singleUri:t&&!n.singleHomepage?`${t}`:n.singleUri,uriFormat:t?`${t}/{slug}`:``,template:t?`${t}/_entry.twig`:``}]))});n.brandNew||(s.stop(),c.stop()),V(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),d())});function d(){r.clearErrors().submit(oe())}return(n,c)=>(i(),M(`form`,{onSubmit:E(d,[`prevent`])},[j(H,{title:t.title,debug:{form:v(r),$props:n.$props}},{actions:D(()=>[j(z,null,{default:D(()=>[v(r).recentlySuccessful&&t.flash?.success?(i(),M(`div`,We,[c[12]||=A(`craft-icon`,{name:`circle-check`,style:{color:`var(--c-color-success-fill-loud)`}},null,-1),e(` `+l(t.flash.success),1)])):g(``,!0),v(r).hasErrors?(i(),M(`div`,Ge,[c[13]||=A(`craft-icon`,{name:`triangle-exclamation`,style:{color:`var(--c-color-danger-fill-loud)`}},null,-1),e(` `+l(v(F)(`Could not save settings`)),1)])):g(``,!0)]),_:1}),t.readOnly?g(``,!0):(i(),M(`craft-button-group`,Ke,[A(`craft-button`,{type:`submit`,variant:`primary`,loading:v(r).processing},l(v(F)(`Save`)),9,qe),A(`craft-action-menu`,null,[c[15]||=A(`craft-button`,{slot:`invoker`,variant:`primary`,type:`button`,icon:``},[A(`craft-icon`,{name:`chevron-down`})],-1),A(`div`,Je,[A(`craft-action-item`,{onClick:d},[e(l(v(F)(`Save and continue editing`))+` `,1),c[14]||=A(`craft-shortcut`,{slot:`suffix`,class:`ml-2`},`S`,-1)])])])]))]),default:D(()=>[A(`div`,Ye,[t.readOnly?(i(),N(W,{key:0})):g(``,!0),A(`div`,Xe,[v(r).hasErrors?(i(),M(`craft-callout`,Ze,[A(`div`,Qe,l(v(F)(`Could not save settings`)),1),A(`ul`,null,[(i(!0),M(T,null,u(v(r).errors,(e,t)=>(i(),M(`li`,{key:t},l(e),1))),128))])])):g(``,!0),t.section.id?(i(),M(`input`,{key:1,type:`hidden`,name:`sectionId`,value:t.section.id},null,8,$e)):g(``,!0),j(X,{label:v(F)(`Name`),"help-text":v(F)(`What this section will be called in the control panel.`),id:`name`,name:`name`,modelValue:v(r).name,"onUpdate:modelValue":c[0]||=e=>v(r).name=e,disabled:t.readOnly,"has-feedback-for":v(r).errors?.name?`error`:``,required:``,autofocus:``},{default:D(()=>[A(`div`,et,[v(r).errors?.name?(i(),M(`ul`,tt,[A(`li`,null,l(v(r).errors.name),1)])):g(``,!0)])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`has-feedback-for`]),j(ue,{label:v(F)(`Handle`),"help-text":v(F)(`How you'll refer to this section in the templates.`),id:`handle`,name:`handle`,modelValue:v(r).handle,"onUpdate:modelValue":c[1]||=e=>v(r).handle=e,disabled:t.readOnly,"has-feedback-for":v(r).errors?.handle?`error`:``,required:``,onChange:c[2]||=e=>v(s).markDirty()},{default:D(()=>[A(`div`,nt,[v(r).errors?.handle?(i(),M(`ul`,rt,[A(`li`,null,l(v(r).errors.handle),1)])):g(``,!0)])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`has-feedback-for`]),j(G,{label:v(F)(`Enable versioning for entries in this section`),id:`enableVersioning`,name:`enableVersioning`,disabled:t.readOnly,modelValue:v(r).enableVersioning,"onUpdate:modelValue":c[3]||=e=>v(r).enableVersioning=e},null,8,[`label`,`disabled`,`modelValue`]),j(I,{label:v(F)(`Section Type`),"help-text":v(F)(`What type of section is this?`),id:`type`,name:`type`,modelValue:v(r).type,"onUpdate:modelValue":c[4]||=e=>v(r).type=e,disabled:t.readOnly,"has-feedback-for":v(r).errors?.type?`error`:``},{default:D(()=>[A(`select`,it,[(i(!0),M(T,null,u(t.typeOptions,e=>(i(),M(`option`,{key:e.value,value:e.value},l(e.label),9,at))),128))]),t.section.id&&v(r).type!==`single`?(i(),M(`div`,ot,[A(`craft-callout`,st,l(v(F)(`Changing this may result in data loss.`)),1)])):g(``,!0),A(`div`,ct,[v(r).errors?.type?(i(),M(`ul`,lt,[A(`li`,null,l(v(r).errors.type),1)])):g(``,!0)])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`has-feedback-for`])]),c[17]||=A(`hr`,null,null,-1),A(`div`,ut,[A(`div`,null,[A(`h3`,dt,l(v(F)(`Entry Types`)),1),A(`p`,ft,l(v(F)(`Choose the types of entries that can be included in this section.`)),1),j(Be,{"entry-types":t.entryTypes,modelValue:v(r).entryTypes,"onUpdate:modelValue":c[5]||=e=>v(r).entryTypes=e},null,8,[`entry-types`,`modelValue`])])]),c[18]||=A(`hr`,null,null,-1),A(`div`,pt,[A(`div`,null,[A(`h3`,mt,l(v(F)(`Site settings`)),1),A(`p`,ht,l(v(F)(`Choose which sites this section should be available in, and configure the site-specific settings.`)),1),j(Ve,{"is-multisite":t.isMultiSite,"is-headless":t.headlessMode,"selected-type":v(r).type,modelValue:v(r).sites,"onUpdate:modelValue":c[6]||=e=>v(r).sites=e},null,8,[`is-multisite`,`is-headless`,`selected-type`,`modelValue`])]),t.isMultiSite&&o.value?(i(),N(I,{key:0,label:v(F)(`Propagation Method`),"help-text":v(F)(`Of the enabled sites above, which sites should entries in this section be saved to?`),id:`propagationMethod`,name:`propagationMethod`,modelValue:v(r).propagationMethod,"onUpdate:modelValue":c[7]||=e=>v(r).propagationMethod=e,disabled:t.readOnly},{default:D(()=>[A(`select`,gt,[(i(!0),M(T,null,u(t.propagationOptions,e=>(i(),M(`option`,{key:e.value,value:e.value},l(e.label),9,_t))),128))]),t.section.id&&t.section.propagationMethod!==`none`&&t.siteSettings.length>1?(i(),M(`div`,vt,[A(`craft-callout`,yt,l(v(F)(`Changing this may result in data loss.`)),1)])):g(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])):g(``,!0)]),a.value?(i(),M(T,{key:1},[c[16]||=A(`hr`,null,null,-1),A(`div`,$,[j(X,{label:v(F)(`Max Levels`),"help-text":v(F)(`The maximum number of levels this section can have.`),id:`maxLevels`,name:`maxLevels`,modelValue:v(r).maxLevels,"onUpdate:modelValue":c[8]||=e=>v(r).maxLevels=e,disabled:t.readOnly,inputmode:`numeric`,size:`5`,"has-feedback-for":v(r).errors?.maxLevels?`error`:``},{default:D(()=>[A(`div`,bt,[v(r).errors?.maxLevels?(i(),M(`ul`,xt,[A(`li`,null,l(v(r).errors.maxLevels),1)])):g(``,!0)])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`has-feedback-for`]),j(I,{label:v(F)(`Default {type} Placement`,{type:v(F)(`Entry`)}),"help-text":v(F)(`Where new {type} should be placed by default in the structure.`,{type:v(F)(`entries`)}),id:`defaultPlacement`,name:`defaultPlacement`,modelValue:v(r).defaultPlacement,"onUpdate:modelValue":c[9]||=e=>v(r).defaultPlacement=e,disabled:t.readOnly},{default:D(()=>[A(`select`,St,[(i(!0),M(T,null,u(t.placementOptions,e=>(i(),M(`option`,{key:e.value,value:e.value},l(e.label),9,Ct))),128))])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])])],64)):g(``,!0),c[19]||=A(`hr`,null,null,-1),A(`div`,wt,[A(`div`,null,[A(`h3`,Tt,l(v(F)(`Preview Targets`)),1),A(`p`,Et,l(v(F)(`Locations that should be available for previewing entries in this section.`)),1),j(Ue,{modelValue:v(r).previewTargets,"onUpdate:modelValue":c[10]||=e=>v(r).previewTargets=e,disabled:t.readOnly},null,8,[`modelValue`,`disabled`])])]),c[20]||=A(`hr`,null,null,-1),A(`div`,Dt,[j(X,{label:v(F)(`Max Authors`),"help-text":v(F)(`The maximum number of authors that entries in this section can have.`),id:`maxAuthors`,name:`maxAuthors`,modelValue:v(r).maxAuthors,"onUpdate:modelValue":c[11]||=e=>v(r).maxAuthors=e,disabled:t.readOnly,inputmode:`numeric`,maxlength:`5`,"has-feedback-for":v(r).errors?.maxAuthors?`error`:``},{default:D(()=>[A(`div`,Ot,[v(r).errors?.maxAuthors?(i(),M(`ul`,kt,[A(`li`,null,l(v(r).errors.maxAuthors),1)])):g(``,!0)])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`has-feedback-for`])])])]),_:1},8,[`title`,`debug`])],32))}});export{At as default}; \ No newline at end of file + `,i=new Craft.Slideout(r,{containerElement:`form`,containerAttributes:{action:Y().url,method:`post`,novalidate:``,class:`entry-type-override-settings`}}),a=i.$container[0];if(a)return a.addEventListener(`submit`,async e=>{e.preventDefault();let t=e.target,n=new FormData(t),r={id:n.get(`id`),settingsNamespace:n.get(`settingsNamespace`),settings:new URLSearchParams(n).toString()};try{let{data:e}=await Craft.sendActionRequest(`POST`,Y().url,{data:r});C.value={...C.value,[e.config.id]:e.config},o(`update:modelValue`,s.modelValue.map(t=>t.id===e.entryType.id?{...t,...e.entryType}:t)),i.close()}catch(e){console.error(e)}}),a.querySelectorAll(`[data-action]`).forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target;if(t)switch(t.dataset.action){case`close`:i.close();break}})}),i.on(`close`,()=>{i.destroy()}),i}async function O(e){try{let t=s.modelValue.find(t=>t.id===e),{data:n}=await Craft.sendActionRequest(`POST`,q().url,{data:{id:e,name:t?.name,handle:t?.handle,description:t?.description}}),{settingsHtml:r,headHtml:i,bodyHtml:a,namespace:o}=n;b.value=D(r,{namespace:o,id:e}),i&&await ee(i),a&&await x(a),Craft?.initUiElements(b.value?.$container)}catch(e){throw Craft.cp?.displayError?.(e?.response?.data?.message),e}}return(r,o)=>(i(),v(E,null,[h(`div`,ye,[(i(!0),v(E,null,f(n.modelValue,e=>(i(),v(`div`,{key:e.id,ref_for:!0,ref:t=>T(u)(t,e.id),class:m([`entry-type-item`,{"entry-type-item--dragging":T(p)(e.id).type===`is-dragging`,"entry-type-item--hidden":T(p)(e.id).type===`is-dragging-and-left-self`}])},[T(g)(e.id).type===`is-over`&&T(g)(e.id).closestEdge===`top`?(i(),k(Q,{key:0,height:T(g)(e.id).draggingRect?.height},null,8,[`height`])):j(``,!0),A(ge,{name:e.name,id:e.id,handle:e.handle,color:e.color,icon:e.icon,description:e.description,draggable:n.modelValue.length>1,indicators:e.indicators,actions:[{label:T(N)(`Settings`),icon:`gear`,onClick:()=>O(e.id)},{label:T(N)(`Remove`),variant:`danger`,icon:`x`,onClick:()=>y(e.id)}],onHandleRef:t=>T(d)(t,e.id)},null,8,[`name`,`id`,`handle`,`color`,`icon`,`description`,`draggable`,`indicators`,`actions`,`onHandleRef`]),T(g)(e.id).type===`is-over`&&T(g)(e.id).closestEdge===`bottom`?(i(),k(Q,{key:1,height:T(g)(e.id).draggingRect?.height},null,8,[`height`])):j(``,!0)],2))),128))]),h(`div`,be,[n.entryTypes?.length?(i(),v(`craft-action-menu`,xe,[h(`craft-button`,Se,[o[2]||=h(`craft-icon`,{name:`chevron-down`,slot:`prefix`},null,-1),t(` `+e(T(N)(`Choose`)),1)]),h(`div`,Ce,[h(`div`,we,[A(B,{label:T(N)(`Search`),modelValue:c.value,"onUpdate:modelValue":o[0]||=e=>c.value=e,"label-sr-only":``},{default:a(()=>[...o[3]||=[h(`craft-icon`,{name:`search`,slot:`prefix`},null,-1)]]),_:1},8,[`label`,`modelValue`])]),o[4]||=h(`hr`,{class:`m-0`},null,-1),l.value.length<1?(i(),v(`div`,Te,[A(I,{template:`No entry types match “{query}”`,params:{query:c.value}},null,8,[`params`])])):(i(!0),v(E,{key:1},f(l.value,r=>(i(),v(`craft-action-item`,{key:r.id,onClick:e=>_(r),type:`checkbox`,icon:r.icon??`empty`,checked:n.modelValue.find(e=>e.id===r.id),"data-color":r.color?.value??`white`},[h(`div`,null,[t(e(r.name)+` `,1),h(`pre`,null,e(r.handle),1)])],8,Ee))),128))])])):j(``,!0),A(_e,{onSuccess:o[1]||=e=>T(te).reload({only:[`entryTypes`]})})])],64))}}),[[`__scopeId`,`data-v-437e54b8`]]),Oe=p({__name:`SiteSettingsTable`,props:{modelValue:{},selectedType:{},isMultisite:{type:Boolean,default:!1},isHeadless:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t,r=e,o=y(),s=S(()=>o.props.homepageUri),c=S(()=>o.props.templateOptions),u=S(()=>({name:!0,enabled:r.isMultisite,singleHomepage:r.selectedType===`single`,singleUri:r.selectedType===`single`,uriFormat:r.selectedType!==`single`,template:!r.isHeadless,enabledByDefault:r.selectedType!==`single`})),{table:d}=G({data:()=>r.modelValue,key:`handle`,name:`sites`,columnVisibility:()=>u.value,onChange:e=>n(`update:modelValue`,e),columns:({columnHelper:e})=>[e.accessor(`name`,{header:N(`Site`),cell:({getValue:e})=>e(),meta:{cellTag:`th`,trackSize:`0.25fr`}}),e.lightswitch(`enabled`,{header:N(`Enabled`),meta:{trackSize:`80px`,cellClass:`bg-[var(--c-color-neutral-fill-quiet)]`},label:N(`Enabled`)}),e.checkbox(`singleHomepage`,{header:()=>l(`craft-icon`,{name:`home`,label:N(`Homepage`)}),meta:{trackSize:`44px`,cellClass:`text-center`,headerClass:`justify-center`},onChange:(e,{row:t})=>{if(e){let e={...r.modelValue};e[t.original.handle].singleUri=s.value??``,n(`update:modelValue`,e)}else{let e={...r.modelValue};e[t.original.handle].singleUri=``,n(`update:modelValue`,e)}},disabled:e=>!e.original.enabled}),e.text(`singleUri`,{header:N(`URI`),class:`font-mono text-xs`,placeholder:N(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled||e.original.singleHomepage,meta:{headerTip:N(`What the entry URI should be for the site. Leave blank if the entry doesn’t have a URL.`)}}),e.text(`uriFormat`,{header:N(`Entry URI Format`),class:`font-mono text-xs`,placeholder:N(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled,meta:{headerTip:N(`What entry URIs should look like for the site. Leave blank if entries don’t have URLs.`)}}),e.autocomplete(`template`,{header:N(`Template`),class:`w-full flex-1 font-mono text-xs !px-[var(--_cell-spacing)]`,options:c.value,disabled:e=>!e.original.enabled,meta:{headerTip:N(`Which template should be loaded when an entry’s URL is requested.`)}}),e.lightswitch(`enabledByDefault`,{header:N(`Default Status`),meta:{trackSize:`120px`},disabled:e=>!e.original.enabled})]});return(e,t)=>(i(),k(z,{padding:0,appearance:`raised`},{default:a(()=>[A(R,{table:T(d),spacing:T(F).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}))}}),ke={key:0,class:`border border-dashed border-neutral-border-quiet rounded-bl-md rounded-br-md border-t-0 p-1 pt-2 -mt-1`},Ae=p({__name:`PreviewTargetsTable`,props:{modelValue:{},name:{default:`previewTargets`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,o=t,{table:s}=G({data:()=>o.modelValue,name:o.name,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:e})=>[e.text(`label`,{header:N(`Label`),disabled:()=>o.disabled}),e.text(`urlFormat`,{header:N(`URL Format`),class:`font-mono text-xs`,disabled:()=>o.disabled}),e.lightswitch(`refresh`,{header:N(`Auto-Refresh`),disabled:()=>o.disabled}),e.display({id:`actions`,header:N(`Actions`),meta:{headerSrOnly:!0},cell:({row:e})=>l(`div`,{class:`flex justify-end gap-2`},[l(U,{disabled:o.disabled,onClick:()=>{let t=[...o.modelValue];t.splice(e.index,1),r(`update:modelValue`,t)}})])})]});function c(){r(`update:modelValue`,[...o.modelValue,{label:``,urlFormat:``,refresh:!0}])}return(n,r)=>(i(),v(E,null,[A(z,{padding:0,appearance:`raised`},{default:a(()=>[A(R,{table:T(s),spacing:T(F).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}),t.disabled?j(``,!0):(i(),v(`div`,ke,[h(`craft-button`,{type:`button`,size:`small`,onClick:c,class:`w-full`,appearance:`plain`},e(T(N)(`Add a target`)),1)]))],64))}}),je={class:`grid gap-3`},Me=[`value`],Ne={slot:`input`},Pe=[`value`],Fe={key:0,slot:`after`},Ie={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},Le={class:`grid gap-3`},Re={class:`font-bold text-sm`},ze={class:`text-sm text-neutral-500 mb-2`},Be={class:`grid gap-6`},Ve={class:`font-bold text-sm`},$={class:`text-sm text-neutral-500 mb-2`},He={slot:`input`},Ue=[`value`],We={key:0,slot:`after`},Ge={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},Ke={class:`grid gap-3`},qe={slot:`input`},Je=[`value`],Ye={class:`grid gap-3`},Xe={class:`font-bold text-sm`},Ze={class:`text-sm text-neutral-500 mb-2`},Qe={class:`grid gap-3`},$e=p({__name:`SettingsSectionsEditPage`,props:{title:{},crumbs:{},section:{},brandNew:{type:Boolean},typeOptions:{},entryTypes:{},propagationOptions:{},placementOptions:{},siteSettings:{},isMultiSite:{type:Boolean},headlessMode:{type:Boolean},readOnly:{type:Boolean},flash:{},errors:{}},setup(t){let n=t,r=D({sectionId:n.section.id,name:n.section.name??``,handle:n.section.handle??``,type:n.section.type,entryTypes:(n.section.entryTypes??[]).map(({actions:e,...t})=>t),enableVersioning:n.section.enableVersioning,maxAuthors:n.section.maxAuthors??1,maxLevels:n.section.maxLevels??``,propagationMethod:n.section.propagationMethod,defaultPlacement:n.section.defaultPlacement,previewTargets:n.section.previewTargets??[],sites:Object.fromEntries(n.siteSettings.map(e=>[e.handle,{enabled:e.enabled,siteId:e.siteId??null,name:e.name??``,singleHomepage:!1,singleUri:e.uriFormat??``,uriFormat:e.uriFormat??``,template:e.template??``,enabledByDefault:e.enabledByDefault}]))}),o=S(()=>r.type===`structure`),s=S(()=>r.type===`channel`||r.type===`structure`),c=Z(()=>r.name,e=>r.handle=C(e)),l=Z(()=>r.name,e=>{if(!r.sites)return;let t=g(e);r.sites=Object.fromEntries(Object.entries(r.sites).map(([e,n])=>[e,{...n,singleUri:t&&!n.singleHomepage?`${t}`:n.singleUri,uriFormat:t?`${t}/{slug}`:``,template:t?`${t}/_entry.twig`:``}]))});n.brandNew||(c.stop(),l.stop());let{save:u}=K(r,re);return(n,l)=>(i(),k(H,{title:t.title,debug:{form:T(r),$props:n.$props},form:T(r),onSave:T(u)},{default:a(()=>[A(z,{appearance:`raised`},{default:a(()=>[h(`div`,je,[t.section.id?(i(),v(`input`,{key:0,type:`hidden`,name:`sectionId`,value:t.section.id},null,8,Me)):j(``,!0),A(B,{label:T(N)(`Name`),"help-text":T(N)(`What this section will be called in the control panel.`),id:`name`,name:`name`,modelValue:T(r).name,"onUpdate:modelValue":l[0]||=e=>T(r).name=e,disabled:t.readOnly,error:t.errors?.name,required:``,autofocus:``},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),A(X,{label:T(N)(`Handle`),"help-text":T(N)(`How you'll refer to this section in the templates.`),id:`handle`,name:`handle`,modelValue:T(r).handle,"onUpdate:modelValue":l[1]||=e=>T(r).handle=e,disabled:t.readOnly,error:t.errors?.handle,required:``,onChange:l[2]||=e=>T(c).markDirty()},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),A(W,{label:T(N)(`Enable versioning for entries in this section`),id:`enableVersioning`,name:`enableVersioning`,disabled:t.readOnly,modelValue:T(r).enableVersioning,"onUpdate:modelValue":l[3]||=e=>T(r).enableVersioning=e},null,8,[`label`,`disabled`,`modelValue`]),A(P,{label:T(N)(`Section Type`),"help-text":T(N)(`What type of section is this?`),id:`type`,name:`type`,modelValue:T(r).type,"onUpdate:modelValue":l[4]||=e=>T(r).type=e,disabled:t.readOnly,error:t.errors?.type},{default:a(()=>[h(`select`,Ne,[(i(!0),v(E,null,f(t.typeOptions,t=>(i(),v(`option`,{key:t.value,value:t.value},e(t.label),9,Pe))),128))]),t.section.id&&T(r).type!==`single`?(i(),v(`div`,Fe,[h(`craft-callout`,Ie,e(T(N)(`Changing this may result in data loss.`)),1)])):j(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])]),l[13]||=h(`hr`,{class:`my-6`},null,-1),h(`div`,Le,[h(`div`,null,[h(`h3`,Re,e(T(N)(`Entry Types`)),1),h(`p`,ze,e(T(N)(`Choose the types of entries that can be included in this section.`)),1),A(De,{"entry-types":t.entryTypes,modelValue:T(r).entryTypes,"onUpdate:modelValue":l[5]||=e=>T(r).entryTypes=e},null,8,[`entry-types`,`modelValue`])])]),l[14]||=h(`hr`,{class:`my-6`},null,-1),h(`div`,Be,[h(`div`,null,[h(`h3`,Ve,e(T(N)(`Site settings`)),1),h(`p`,$,e(T(N)(`Choose which sites this section should be available in, and configure the site-specific settings.`)),1),A(Oe,{"is-multisite":t.isMultiSite,"is-headless":t.headlessMode,"selected-type":T(r).type,modelValue:T(r).sites,"onUpdate:modelValue":l[6]||=e=>T(r).sites=e},null,8,[`is-multisite`,`is-headless`,`selected-type`,`modelValue`])]),t.isMultiSite&&s.value?(i(),k(P,{key:0,label:T(N)(`Propagation Method`),"help-text":T(N)(`Of the enabled sites above, which sites should entries in this section be saved to?`),id:`propagationMethod`,name:`propagationMethod`,modelValue:T(r).propagationMethod,"onUpdate:modelValue":l[7]||=e=>T(r).propagationMethod=e,disabled:t.readOnly},{default:a(()=>[h(`select`,He,[(i(!0),v(E,null,f(t.propagationOptions,t=>(i(),v(`option`,{key:t.value,value:t.value},e(t.label),9,Ue))),128))]),t.section.id&&t.section.propagationMethod!==`none`&&t.siteSettings.length>1?(i(),v(`div`,We,[h(`craft-callout`,Ge,e(T(N)(`Changing this may result in data loss.`)),1)])):j(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])):j(``,!0)]),o.value?(i(),v(E,{key:0},[l[12]||=h(`hr`,{class:`my-6`},null,-1),h(`div`,Ke,[A(B,{label:T(N)(`Max Levels`),"help-text":T(N)(`The maximum number of levels this section can have.`),id:`maxLevels`,name:`maxLevels`,modelValue:T(r).maxLevels,"onUpdate:modelValue":l[8]||=e=>T(r).maxLevels=e,disabled:t.readOnly,inputmode:`numeric`,size:`5`,error:t.errors?.maxLevels},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),A(P,{label:T(N)(`Default {type} Placement`,{type:T(N)(`Entry`)}),"help-text":T(N)(`Where new {type} should be placed by default in the structure.`,{type:T(N)(`entries`)}),id:`defaultPlacement`,name:`defaultPlacement`,modelValue:T(r).defaultPlacement,"onUpdate:modelValue":l[9]||=e=>T(r).defaultPlacement=e,disabled:t.readOnly},{default:a(()=>[h(`select`,qe,[(i(!0),v(E,null,f(t.placementOptions,t=>(i(),v(`option`,{key:t.value,value:t.value},e(t.label),9,Je))),128))])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])])],64)):j(``,!0),l[15]||=h(`hr`,{class:`my-6`},null,-1),h(`div`,Ye,[h(`div`,null,[h(`h3`,Xe,e(T(N)(`Preview Targets`)),1),h(`p`,Ze,e(T(N)(`Locations that should be available for previewing entries in this section.`)),1),A(Ae,{modelValue:T(r).previewTargets,"onUpdate:modelValue":l[10]||=e=>T(r).previewTargets=e,disabled:t.readOnly},null,8,[`modelValue`,`disabled`])])]),l[16]||=h(`hr`,{class:`my-6`},null,-1),h(`div`,Qe,[A(B,{label:T(N)(`Max Authors`),"help-text":T(N)(`The maximum number of authors that entries in this section can have.`),id:`maxAuthors`,name:`maxAuthors`,modelValue:T(r).maxAuthors,"onUpdate:modelValue":l[11]||=e=>T(r).maxAuthors=e,disabled:t.readOnly,inputmode:`numeric`,maxlength:`5`,error:t.errors?.maxAuthors},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])])]),_:1})]),_:1},8,[`title`,`debug`,`form`,`onSave`]))}});export{$e as default}; \ No newline at end of file diff --git a/resources/build/SettingsSectionsIndexPage.js b/resources/build/SettingsSectionsIndexPage.js index de1b6e329a6..b8c2fd643fc 100644 --- a/resources/build/SettingsSectionsIndexPage.js +++ b/resources/build/SettingsSectionsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,T as i,ct as a,lt as o,p as s,q as c,rt as l,s as u,v as d,w as f,x as p,y as m}from"./_plugin-vue_export-helper.js";import{s as h}from"./nav-item-DtQ6Tc_l.js";import{c as g,t as _,u as v}from"./AdminTable.js";import{r as y}from"./useAnnouncer.js";import{t as b}from"./Pane.js";import{t as x}from"./AppLayout.js";import{t as S}from"./createCraftColumnHelper.js";import{n as C,r as w,t as T}from"./useServerSort.js";import{i as E,n as D,r as O,t as k}from"./SectionsController.js";var A=[`loading`],j=[`label`],M=i({__name:`DeleteSectionButton`,props:{section:{}},setup(e){let n=e,r=u({id:n.section.id});function i(){confirm(h(`Are you sure you want to delete “{name}” and all its entries?`,{name:n.section.name}))&&r.submit(D())}return(e,n)=>(t(),p(`form`,{onSubmit:s(i,[`prevent`]),method:`post`},[d(`craft-button`,{variant:`danger`,type:`submit`,size:`small`,icon:``,appearance:`plain`,loading:a(r).processing},[d(`craft-icon`,{label:a(h)(`Delete section`),name:`x`},null,8,j)],8,A)],32))}}),N=i({__name:`SettingsSectionsIndexPage`,props:{title:{},data:{},pagination:{},sort:{},searchTerm:{},emptyMessage:{},readOnly:{type:Boolean}},setup(i){let s=i,u=l(s.searchTerm??``),p=S(),D=l([p.accessor(`name`,{header:h(`Name`),cell:({row:e,getValue:t})=>n(`a`,{class:`font-bold`,href:O[`/admin/settings/sections/{section}`](e.original.id).url},t())}),p.accessor(`handle`,{header:h(`Handle`),cell:({getValue:e})=>n(`craft-copy-attribute`,{value:e()},e())}),p.accessor(`type`,{header:h(`Type`)}),p.actions(({row:e})=>[n(M,{section:e.original})])]),{paginationState:A,paginationConfig:j}=w({initialState:s.pagination,onChange:({query:e})=>{o.visit(E({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=T({initialState:s.sort,onChange:({query:e})=>{o.visit(E({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=g({get data(){return s.data},get columns(){return D.value},getCoreRowModel:v(),state:{get pagination(){return A.value},get sorting(){return N.value}},...j,...P});return(n,o)=>(t(),m(x,{title:i.title},{actions:c(()=>[f(y,{as:`craft-button`,variant:`primary`,href:a(k)()},{default:c(()=>[o[1]||=d(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),e(` `+r(a(h)(`New section`)),1)]),_:1},8,[`href`])]),default:c(()=>[f(b,{padding:0,appearance:`raised`},{default:c(()=>[f(_,{spacing:`relaxed`,title:i.title,table:a(F),reorderable:!1,from:i.pagination.from,to:i.pagination.to,total:i.pagination.total,"enable-adjust-page-size":!0},{"search-form":c(()=>[f(C,{action:a(E)(),modelValue:u.value,"onUpdate:modelValue":o[0]||=e=>u.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`title`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,T as a,_ as o,b as s,f as c,it as l,lt as u,s as d,ut as f,v as p,w as m}from"./_plugin-vue_export-helper.js";import{i as h}from"./nav-item-DCsUKnaY.js";import{c as g,t as _,u as v}from"./AdminTable.js";import{a as y}from"./InlineFlash.js";import{t as b}from"./Pane.js";import{t as x}from"./AppLayout.js";import{t as S}from"./createCraftColumnHelper.js";import{n as C,r as w,t as T}from"./useServerSort.js";import{i as E,n as D,r as O,t as k}from"./SectionsController.js";var A=[`loading`],j=[`label`],M=a({__name:`DeleteSectionButton`,props:{section:{}},setup(e){let t=e,r=d({id:t.section.id});function i(){confirm(h(`Are you sure you want to delete “{name}” and all its entries?`,{name:t.section.name}))&&r.submit(D())}return(e,t)=>(n(),s(`form`,{onSubmit:c(i,[`prevent`]),method:`post`},[o(`craft-button`,{variant:`danger`,type:`submit`,size:`small`,icon:``,appearance:`plain`,loading:u(r).processing},[o(`craft-icon`,{label:u(h)(`Delete section`),name:`x`},null,8,j)],8,A)],32))}}),N=a({__name:`SettingsSectionsIndexPage`,props:{title:{},data:{},pagination:{},sort:{},searchTerm:{},emptyMessage:{},readOnly:{type:Boolean}},setup(a){let s=a,c=l(s.searchTerm??``),d=S(),D=l([d.accessor(`name`,{header:h(`Name`),cell:({row:e,getValue:t})=>i(`a`,{class:`font-bold`,href:O[`/admin/settings/sections/{section}`](e.original.id).url},t())}),d.accessor(`handle`,{header:h(`Handle`),cell:({getValue:e})=>i(`craft-copy-attribute`,{value:e()},e())}),d.accessor(`type`,{header:h(`Type`)}),d.actions(({row:e})=>[i(M,{section:e.original})])]),{paginationState:A,paginationConfig:j}=w({initialState:s.pagination,onChange:({query:e})=>{f.visit(E({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=T({initialState:s.sort,onChange:({query:e})=>{f.visit(E({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=g({get data(){return s.data},get columns(){return D.value},getCoreRowModel:v(),state:{get pagination(){return A.value},get sorting(){return N.value}},...j,...P});return(i,s)=>(n(),p(x,{title:a.title},{actions:r(()=>[m(y,{as:`craft-button`,variant:`primary`,href:u(k)()},{default:r(()=>[s[1]||=o(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),t(` `+e(u(h)(`New section`)),1)]),_:1},8,[`href`])]),default:r(()=>[m(b,{padding:0,appearance:`raised`},{default:r(()=>[m(_,{spacing:`relaxed`,title:a.title,table:u(F),reorderable:!1,from:a.pagination.from,to:a.pagination.to,total:a.pagination.total,"enable-adjust-page-size":!0},{"search-form":r(()=>[m(C,{action:u(E)(),modelValue:c.value,"onUpdate:modelValue":s[0]||=e=>c.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`title`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/SettingsSitesEdit.js b/resources/build/SettingsSitesEdit.js index 0df4c4658be..53cfa579bf1 100644 --- a/resources/build/SettingsSitesEdit.js +++ b/resources/build/SettingsSitesEdit.js @@ -1 +1 @@ -import{C as e,I as t,J as n,Q as r,R as i,T as a,W as o,_ as s,b as c,c as l,ct as u,f as d,ht as ee,m as f,mt as te,p,q as m,rt as h,s as g,v as _,w as v,x as y,y as b}from"./_plugin-vue_export-helper.js";import{s as x}from"./nav-item-DtQ6Tc_l.js";import{n as S}from"./useAnnouncer.js";import{n as C}from"./ModalForm.js";import{n as w}from"./dist.js";import{t as T}from"./InputCombobox.js";import{t as E}from"./AppLayout.js";import{t as D}from"./CalloutReadOnly.js";import{t as O}from"./useInputGenerator.js";import{a as k,t as A}from"./DeleteSiteModal.js";var ne={key:0,variant:`danger`,icon:`triangle-exclamation`},re={slot:`title`,class:`tw:font-bold`},ie=[`label`,`help-text`,`.modelValue`],j={slot:`input`},M=[`value`],N={key:0,class:`error-list`,slot:`feedback`},P={key:1,slot:`after`},F={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},I={class:`sr-only`},L=[`label`,`disabled`],R={slot:`after`},z={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},B={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},V={slot:`feedback`},H={key:0,class:`error-list`},U=[`label`,`help-text`,`has-feedback-for`],W={slot:`feedback`},G={key:0,class:`error-list`},K=[`label`,`help-text`,`disabled`,`has-feedback-for`],q={slot:`after`},J=[`innerHTML`],Y={slot:`feedback`},ae={key:0,class:`error-list`},oe=[`label`,`disabled`,`has-feedback-for`],se=[`active`,`checked`,`hint`],ce={class:`inline-flex items-center gap-1`},le=[`variant`],ue={key:0},de={key:1},fe={slot:`after`},pe={key:0,variant:`warning`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},me=[`innerHTML`],he={slot:`feedback`},ge={key:0,class:`error-list`},_e=[`label`,`help-text`,`disabled`,`checked`],ve=[`label`,`disabled`,`checked`],ye=[`label`,`help-text`,`error`,`disabled`],be={slot:`after`},xe={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},Se={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},X=a({__name:`SiteFields`,props:{inertiaForm:{},readOnly:{type:Boolean,default:!1}},setup(a){let p=a,h=l();function g(e){return e.value.startsWith(`$`)||e.value.startsWith(`@`)?{...e,data:{...e.data||{},hint:e.data?.boolean===`1`?x(`Enabled`):x(`Disabled`)}}:e}let b=s(()=>p.inertiaForm),S=s(()=>h.props.isMultisite),C=s(()=>h.props.groupOptions),w=s(()=>h.props.nameSuggestions),E=s(()=>h.props.languageOptions),D=s(()=>h.props.booleanEnvOptions.map(e=>e.type===`optgroup`?{...e,options:e.options.map(g)}:g(e))),k=s(()=>h.props.baseUrlSuggestions),A=s(()=>h.props.site);o(`handle`),o(`baseUrl`);let X=s({get(){return b.value.enabled?`1`:`0`},set(e){b.value.enabled=e}}),Z=O(()=>b.value.name,e=>b.value.handle=ee(e)),Q=O(()=>b.value.name,e=>b.value.baseUrl=te(e,{prefix:`$`,suffix:`_URL`}));return b.value.id&&(Z.stop(),Q.stop()),(o,s)=>(t(),y(f,null,[b.value?.hasErrors?(t(),y(`craft-callout`,ne,[_(`div`,re,r(u(x)(`Could not save settings`)),1),_(`ul`,null,[(t(!0),y(f,null,i(b.value.errors,(e,n)=>(t(),y(`li`,{key:n},r(e),1))),128))])])):c(``,!0),b.value.id?n((t(),y(`input`,{key:1,name:`id`,"onUpdate:modelValue":s[0]||=e=>b.value.id=e,type:`hidden`},null,512)),[[d,b.value.id]]):c(``,!0),_(`craft-select`,{label:u(x)(`Group`),"help-text":u(x)(`Which group should this site belong to?`),name:`group`,id:`group`,".modelValue":b.value.group,onModelValueChanged:s[1]||=e=>b.value.group=e.target?.modelValue},[_(`select`,j,[(t(!0),y(f,null,i(C.value,e=>(t(),y(`option`,{key:e.value,value:e.value},r(e.label),9,M))),128))]),b.value.errors?.group?(t(),y(`ul`,N,[(t(!0),y(f,null,i(b.value.errors?.group,e=>(t(),y(`li`,null,r(e),1))),256))])):c(``,!0),b.value?.id&&S.value?(t(),y(`div`,P,[_(`craft-callout`,F,[_(`span`,I,r(u(x)(`Warning:`)),1),e(` `+r(u(x)(`Changing this may result in data loss.`)),1)])])):c(``,!0)],40,ie),_(`craft-input`,{label:u(x)(`Name`),id:`name`,name:`name`,disabled:a.readOnly},[v(T,{slot:`input`,modelValue:b.value.name,"onUpdate:modelValue":s[2]||=e=>b.value.name=e,options:w.value},null,8,[`modelValue`,`options`]),_(`div`,R,[_(`craft-callout`,z,[e(r(u(x)(`This can begin with an environment variable.`))+` `,1),_(`a`,B,r(u(x)(`Learn more`)),1)])]),_(`div`,V,[b.value.errors?.name?(t(),y(`ul`,H,[_(`li`,null,r(b.value.errors.name),1)])):c(``,!0)])],8,L),n(_(`craft-input-handle`,{label:u(x)(`Handle`),"help-text":u(x)(`How you’ll refer to this site in the templates.`),ref:`handle`,id:`handle`,name:`handle`,"has-feedback-for":b.value.errors?.handle?`error`:``,"onUpdate:modelValue":s[3]||=e=>b.value.handle=e},[_(`div`,W,[b.value.errors?.handle?(t(),y(`ul`,G,[_(`li`,null,r(b.value.errors.handle),1)])):c(``,!0)])],8,U),[[d,b.value.handle]]),_(`craft-input`,{label:u(x)(`Language`),name:`language`,id:`site-language`,"help-text":u(x)(`The language content in this site will use.`),disabled:a.readOnly,"has-feedback-for":b.value.errors?.language?`error`:``},[v(T,{slot:`input`,modelValue:b.value.language,"onUpdate:modelValue":s[4]||=e=>b.value.language=e,options:E.value,"require-option-match":!0},null,8,[`modelValue`,`options`]),_(`div`,q,[_(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:u(x)(`This can be set to an environment variable with a valid language ID ({examples}).`,{examples:`en/en-GB`})},null,8,J)]),_(`div`,Y,[b.value.errors?.language?(t(),y(`ul`,ae,[_(`li`,null,r(b.value.errors.language),1)])):c(``,!0)])],8,K),S.value||!A.value.id?(t(),y(`craft-input`,{key:2,label:u(x)(`Status`),name:`enabled`,id:`enabled`,disabled:a.readOnly,"has-feedback-for":b.value.errors?.enabled?`error`:``},[v(T,{slot:`input`,modelValue:X.value,"onUpdate:modelValue":s[5]||=e=>X.value=e,options:D.value,"require-option-match":!0},{option:m(({active:e,selected:n,option:i})=>[_(`craft-option`,{active:e,checked:n,hint:i.data?.hint},[_(`div`,ce,[_(`craft-indicator`,{variant:i.data?.boolean===`1`?`success`:`empty`},null,8,le),i.label.startsWith(`$`)||i.label.startsWith(`@`)?(t(),y(`code`,ue,r(i.label),1)):(t(),y(`span`,de,r(i.label),1))])],8,se)]),_:1},8,[`modelValue`,`options`]),_(`div`,fe,[A.value.primary?(t(),y(`craft-callout`,pe,r(u(x)(`The primary site cannot be disabled.`)),1)):c(``,!0),_(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:u(x)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,me)]),_(`div`,he,[b.value.errors?.enabled?(t(),y(`ul`,ge,[_(`li`,null,r(b.value.errors.enabled),1)])):c(``,!0)])],8,oe)):c(``,!0),(S.value||!A.value.id)&&!A.value.primary?(t(),y(f,{key:3},[A.value.primary?c(``,!0):(t(),y(`craft-switch`,{key:0,label:u(x)(`Make this the primary site`),"help-text":u(x)(`The primary site will be loaded by default on the front end.`),disabled:a.readOnly,checked:b.value.primary,onCheckedChanged:s[6]||=e=>b.value.primary=e.target?.checked},null,40,_e))],64)):c(``,!0),_(`craft-switch`,{label:u(x)(`This site has its own base URL`),id:`has-urls`,name:`hasUrls`,disabled:a.readOnly,checked:b.value.hasUrls,onCheckedChanged:s[7]||=e=>b.value.hasUrls=e.target?.checked},null,40,ve),b.value.hasUrls?(t(),y(`craft-input`,{key:4,label:u(x)(`Base URL`),"help-text":u(x)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:b.value.errors?.baseUrl,disabled:a.readOnly},[v(T,{slot:`input`,modelValue:b.value.baseUrl,"onUpdate:modelValue":s[8]||=e=>b.value.baseUrl=e,options:k.value},null,8,[`modelValue`,`options`]),_(`div`,be,[_(`craft-callout`,xe,[e(r(u(x)(`This can begin with an environment variable or alias.`))+` `,1),_(`a`,Se,r(u(x)(`Learn more`)),1)])])],8,ye)):c(``,!0)],64))}}),Z={key:0,size:`small`,inline:``},Q={key:0,class:`flex gap-1 items-center text-sm`},Ce={key:1,class:`tw:flex tw:gap-1 tw:items-center tw:text-sm`},$={key:0},we=[`loading`],Te={slot:`content`},Ee={class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm`},De={class:`grid gap-3 p-5`},Oe=a({__name:`SettingsSitesEdit`,props:{title:{},crumbs:{},readOnly:{type:Boolean},site:{},groupId:{},flash:{},errors:{},isMultisite:{type:Boolean}},setup(n){let i=n,a=g({siteId:i.site.id??null,group:i.groupId,name:i.site.nameRaw,handle:i.site.handle,language:i.site.languageRaw,enabled:i.site.enabledRaw,hasUrls:i.site.hasUrls,primary:i.site.primary,baseUrl:i.site.baseUrlRaw??``});w(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),o())});function o(){a.clearErrors().submit(k())}let s=h(!1);return(l,d)=>(t(),y(f,null,[_(`form`,{onSubmit:p(o,[`prevent`])},[v(E,{title:n.title,debug:l.$props},{"title-badge":m(()=>[v(C,{variant:n.site.enabled?`success`:`default`},{default:m(()=>[e(r(n.site.enabled?u(x)(`Enabled`):u(x)(`Disabled`)),1)]),_:1},8,[`variant`]),n.site.primary?(t(),y(`craft-callout`,Z,[_(`span`,null,r(u(x)(`Primary`)),1)])):c(``,!0)]),actions:m(()=>[v(S,null,{default:m(()=>[u(a).recentlySuccessful&&n.flash?.success?(t(),y(`div`,Q,[d[2]||=_(`craft-icon`,{name:`circle-check`,style:{color:`var(--c-color-success-fill-loud)`}},null,-1),e(` `+r(n.flash.success),1)])):c(``,!0),u(a).hasErrors?(t(),y(`div`,Ce,[d[3]||=_(`craft-icon`,{name:`triangle-exclamation`,style:{color:`var(--c-color-danger-fill-loud)`}},null,-1),e(` `+r(u(x)(`Could not save settings`)),1)])):c(``,!0)]),_:1}),n.readOnly?c(``,!0):(t(),y(`craft-button-group`,$,[_(`craft-button`,{type:`submit`,variant:`primary`,loading:u(a).processing},r(u(x)(`Save`)),9,we),_(`craft-action-menu`,null,[d[6]||=_(`craft-button`,{slot:`invoker`,variant:`primary`,type:`button`,icon:``},[_(`craft-icon`,{name:`chevron-down`})],-1),_(`div`,Te,[_(`craft-action-item`,{onClick:o},[e(r(u(x)(`Save and continue editing`))+` `,1),d[4]||=_(`craft-shortcut`,{slot:`suffix`,class:`ml-2`},`S`,-1)]),n.site.id&&!n.site.primary?(t(),y(f,{key:0},[d[5]||=_(`hr`,null,null,-1),_(`craft-action-item`,{onClick:d[0]||=e=>s.value=!0,variant:`danger`},r(u(x)(`Delete site`)),1)],64)):c(``,!0)])])]))]),default:m(()=>[_(`div`,Ee,[n.readOnly?(t(),b(D,{key:0})):c(``,!0),_(`div`,De,[v(X,{"inertia-form":u(a),"read-only":n.readOnly},null,8,[`inertia-form`,`read-only`])])])]),_:1},8,[`title`,`debug`])],32),n.site.primary?c(``,!0):(t(),b(A,{key:0,onClose:d[1]||=e=>s.value=!1,open:s.value,site:i.site},null,8,[`open`,`site`]))],64))}});export{Oe as default}; \ No newline at end of file +import{$ as e,C as t,G as n,I as r,J as i,R as a,T as o,Y as s,_ as c,b as l,c as u,d,g as f,gt as ee,ht as p,it as m,lt as h,p as g,s as _,v,w as y,y as b}from"./_plugin-vue_export-helper.js";import{i as x}from"./nav-item-DCsUKnaY.js";import{t as S}from"./Pane.js";import{t as C}from"./Badge.js";import{t as w}from"./AppLayout.js";import{t as T}from"./CraftCombobox.js";import{t as E}from"./useSettingsSave.js";import{t as te}from"./transformBooleanOptions.js";import{t as D}from"./useInputGenerator.js";import{a as O,t as k}from"./DeleteSiteModal.js";var ne=[`label`,`help-text`,`.modelValue`],re={slot:`input`},A=[`value`],j={key:0,class:`error-list`,slot:`feedback`},M={key:1,slot:`after`},N={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},P={class:`sr-only`},F={slot:`after`},I={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},L={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},R=[`label`,`help-text`,`has-feedback-for`],z={slot:`feedback`},B={key:0,class:`error-list`},V=[`innerHTML`],H={slot:`after`},U={key:0,variant:`warning`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},W=[`innerHTML`],G=[`label`,`help-text`,`disabled`,`checked`],K=[`label`,`disabled`,`checked`],q={slot:`after`},J={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},Y={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},X=o({__name:`SiteFields`,props:{inertiaForm:{},readOnly:{type:Boolean,default:!1}},setup(o){let m=o,_=u(),S=f(()=>m.inertiaForm),C=f(()=>_.props.isMultisite),w=f(()=>_.props.groupOptions),E=f(()=>_.props.nameSuggestions),O=f(()=>_.props.languageOptions),k=f(()=>te(_.props.booleanEnvOptions)),X=f(()=>_.props.baseUrlSuggestions),Z=f(()=>_.props.site);n(`handle`),n(`baseUrl`);let Q=D(()=>S.value.name,e=>S.value.handle=ee(e)),$=D(()=>S.value.name,e=>S.value.baseUrl=p(e,{prefix:`$`,suffix:`_URL`}));return S.value.id&&(Q.stop(),$.stop()),(n,u)=>(r(),l(g,null,[S.value.id?s((r(),l(`input`,{key:0,name:`id`,"onUpdate:modelValue":u[0]||=e=>S.value.id=e,type:`hidden`},null,512)),[[d,S.value.id]]):b(``,!0),c(`craft-select`,{label:h(x)(`Group`),"help-text":h(x)(`Which group should this site belong to?`),name:`group`,id:`group`,".modelValue":S.value.group,onModelValueChanged:u[1]||=e=>S.value.group=e.target?.modelValue},[c(`select`,re,[(r(!0),l(g,null,a(w.value,t=>(r(),l(`option`,{key:t.value,value:t.value},e(t.label),9,A))),128))]),S.value.errors?.group?(r(),l(`ul`,j,[(r(!0),l(g,null,a(S.value.errors?.group,t=>(r(),l(`li`,null,e(t),1))),256))])):b(``,!0),S.value?.id&&C.value?(r(),l(`div`,M,[c(`craft-callout`,N,[c(`span`,P,e(h(x)(`Warning:`)),1),t(` `+e(h(x)(`Changing this may result in data loss.`)),1)])])):b(``,!0)],40,ne),y(T,{modelValue:S.value.name,"onUpdate:modelValue":u[2]||=e=>S.value.name=e,options:E.value,label:h(x)(`Name`),id:`name`,name:`name`,disabled:o.readOnly,error:S.value.errors?.name},{default:i(()=>[c(`div`,F,[c(`craft-callout`,I,[t(e(h(x)(`This can begin with an environment variable.`))+` `,1),c(`a`,L,e(h(x)(`Learn more`)),1)])])]),_:1},8,[`modelValue`,`options`,`label`,`disabled`,`error`]),s(c(`craft-input-handle`,{label:h(x)(`Handle`),"help-text":h(x)(`How you’ll refer to this site in the templates.`),ref:`handle`,id:`handle`,name:`handle`,"has-feedback-for":S.value.errors?.handle?`error`:``,"onUpdate:modelValue":u[3]||=e=>S.value.handle=e},[c(`div`,z,[S.value.errors?.handle?(r(),l(`ul`,B,[c(`li`,null,e(S.value.errors.handle),1)])):b(``,!0)])],8,R),[[d,S.value.handle]]),y(T,{modelValue:S.value.language,"onUpdate:modelValue":u[4]||=e=>S.value.language=e,label:h(x)(`Language`),name:`language`,id:`site-language`,"help-text":h(x)(`The language content in this site will use.`),options:O.value,disabled:o.readOnly,error:S.value.errors?.language,"require-option-match":!0},{after:i(()=>[c(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:h(x)(`This can be set to an environment variable with a valid language ID ({examples}).`,{examples:`en/en-GB`})},null,8,V)]),_:1},8,[`modelValue`,`label`,`help-text`,`options`,`disabled`,`error`]),C.value||!Z.value.id?(r(),v(T,{key:1,label:h(x)(`Status`),name:`enabled`,id:`enabled`,disabled:o.readOnly,modelValue:S.value.enabled,"onUpdate:modelValue":u[5]||=e=>S.value.enabled=e,"require-option-match":!0,options:k.value,error:S.value.errors?.enabled},{default:i(()=>[c(`div`,H,[Z.value.primary?(r(),l(`craft-callout`,U,e(h(x)(`The primary site cannot be disabled.`)),1)):b(``,!0),c(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:h(x)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,W)])]),_:1},8,[`label`,`disabled`,`modelValue`,`options`,`error`])):b(``,!0),(C.value||!Z.value.id)&&!Z.value.primary?(r(),l(g,{key:2},[Z.value.primary?b(``,!0):(r(),l(`craft-switch`,{key:0,label:h(x)(`Make this the primary site`),"help-text":h(x)(`The primary site will be loaded by default on the front end.`),disabled:o.readOnly,checked:S.value.primary,onCheckedChanged:u[6]||=e=>S.value.primary=e.target?.checked},null,40,G))],64)):b(``,!0),c(`craft-switch`,{label:h(x)(`This site has its own base URL`),id:`has-urls`,name:`hasUrls`,disabled:o.readOnly,checked:S.value.hasUrls,onCheckedChanged:u[7]||=e=>S.value.hasUrls=e.target?.checked},null,40,K),S.value.hasUrls?(r(),v(T,{key:3,modelValue:S.value.baseUrl,"onUpdate:modelValue":u[8]||=e=>S.value.baseUrl=e,label:h(x)(`Base URL`),"help-text":h(x)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:S.value.errors?.baseUrl,options:X.value,disabled:o.readOnly},{default:i(()=>[c(`div`,q,[c(`craft-callout`,J,[t(e(h(x)(`This can begin with an environment variable or alias.`))+` `,1),c(`a`,Y,e(h(x)(`Learn more`)),1)])])]),_:1},8,[`modelValue`,`label`,`help-text`,`error`,`options`,`disabled`])):b(``,!0)],64))}}),Z={key:0,size:`small`,inline:``},Q={class:`grid gap-3`},$=o({__name:`SettingsSitesEdit`,props:{title:{},crumbs:{},readOnly:{type:Boolean},site:{},groupId:{},flash:{},errors:{},isMultisite:{type:Boolean}},setup(n){let a=n,o=_({siteId:a.site.id??null,group:a.groupId,name:a.site.nameRaw,handle:a.site.handle,language:a.site.languageRaw,enabled:a.site.enabledRaw,hasUrls:a.site.hasUrls,primary:a.site.primary,baseUrl:a.site.baseUrlRaw??``}),{save:s}=E(o,O),u=m(!1);return(d,f)=>(r(),l(g,null,[y(w,{title:n.title,form:h(o),onSave:h(s)},{"title-badge":i(()=>[y(C,{variant:n.site.enabled?`success`:`default`},{default:i(()=>[t(e(n.site.enabled?h(x)(`Enabled`):h(x)(`Disabled`)),1)]),_:1},8,[`variant`]),n.site.primary?(r(),l(`craft-callout`,Z,[c(`span`,null,e(h(x)(`Primary`)),1)])):b(``,!0)]),default:i(()=>[y(S,{appearance:`raised`},{default:i(()=>[c(`div`,Q,[y(X,{"inertia-form":h(o),"read-only":n.readOnly},null,8,[`inertia-form`,`read-only`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]),n.site.primary?b(``,!0):(r(),v(k,{key:0,onClose:f[0]||=e=>u.value=!1,open:u.value,site:a.site},null,8,[`open`,`site`]))],64))}});export{$ as default}; \ No newline at end of file diff --git a/resources/build/SettingsSitesIndex.js b/resources/build/SettingsSitesIndex.js index 8695fc52d69..57156dc5875 100644 --- a/resources/build/SettingsSitesIndex.js +++ b/resources/build/SettingsSitesIndex.js @@ -1 +1 @@ -import{C as e,G as t,I as n,J as r,N as i,O as a,Q as o,R as ee,T as s,_ as c,b as l,ct as u,f as d,lt as f,m as p,p as m,q as h,r as te,rt as g,s as _,t as v,v as y,w as b,x,y as S}from"./_plugin-vue_export-helper.js";import{s as C}from"./nav-item-DtQ6Tc_l.js";import{c as w,n as ne,t as T,u as E}from"./AdminTable.js";import{r as D}from"./useAnnouncer.js";import{n as O,t as k}from"./ModalForm.js";import{n as A,t as j}from"./wayfinder.js";import{t as re}from"./InputCombobox.js";import{t as ie}from"./createCraftColumnHelper.js";import{t as M}from"./CalloutReadOnly.js";import{t as N}from"./IndexLayout.js";import{i as P,n as F,r as I,t as L}from"./DeleteSiteModal.js";var R=e=>({url:R.url(e),method:`post`});R.definition={methods:[`post`],url:`/admin/settings/site-groups`},R.url=e=>R.definition.url+A(e),R.post=e=>({url:R.url(e),method:`post`});var z=(e,t)=>({url:z.url(e,t),method:`delete`});z.definition={methods:[`delete`],url:`/admin/settings/site-groups/{groupId}`},z.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={groupId:e}),Array.isArray(e)&&(e={groupId:e[0]}),e=j(e);let n={groupId:e.groupId};return z.definition.url.replace(`{groupId}`,n.groupId.toString()).replace(/\/+$/,``)+A(t)},z.delete=(e,t)=>({url:z.url(e,t),method:`delete`});var B=[`disabled`],V=s({__name:`DeleteSiteButton`,props:{site:{}},setup(e){let t=g(!1);return(r,i)=>(n(),x(`div`,null,[y(`craft-button`,{size:`small`,icon:``,type:`button`,variant:`danger`,appearance:`plain`,disabled:e.site.primary,onClick:i[0]||=e=>t.value=!0},[...i[2]||=[y(`craft-icon`,{name:`x`,label:`t('Delete site'`},null,-1)]],8,B),b(L,{site:e.site,open:t.value,onClose:i[1]||=e=>t.value=!1},null,8,[`site`,`open`])]))}}),H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},H.url=e=>H.definition.url+A(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`}),Object.assign(H,H);var U={class:`flex gap-2 items-center`},W={class:`title text-xl`},G={key:0},K={type:`button`,icon:``,size:`small`,slot:`invoker`},q=[`label`],J={slot:`content`},Y=[`disabled`],ae={class:`-mx-2`},oe=[`href`,`active`],se={class:`mt-4 flex gap-2`},ce=[`label`,`help-text`],le={slot:`after`},ue={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},de={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},fe=[`label`,`help-text`,`has-feedback-for`],pe={slot:`after`},me={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},he={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},ge={slot:`feedback`},_e={key:0,class:`error-list`},X=v(s({__name:`SettingsSitesIndex`,props:{readOnly:{type:Boolean},group:{},groups:{},sites:{},nameSuggestions:{},flash:{}},setup(s){let v=s,A=g(!1),j=ie(),L=_({id:v.group?.id??null,name:v.group?.name??``});function B(){L.clearErrors().submit(R(),{onSuccess:()=>{A.value=!1,L.reset()}})}function X(e){e===`create`?(L.name=``,L.id=null):e===`update`&&(L.name=v.group?.rawName??v.group?.name??``,L.id=v.group?.id??null),A.value=!0}let Z=g(v.sites.map(e=>e.id)),Q=c(()=>Z.value.map(e=>v.sites.find(t=>t.id===e)).filter(Boolean));t(Z,(e,t)=>{i(()=>{f.post(P(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{Z.value=t}})})});function ve(e,t){let n=[...Z.value],[r]=n.splice(e,1);n.splice(t,0,r),Z.value=n}let ye=g([j.accessor(`name`,{header:()=>C(`Name`),cell:({row:e,getValue:t})=>a(D,{href:I.url(e.original.id)},()=>a(`div`,{class:`flex gap-2`},[a(`craft-indicator`,{variant:e.original.enabled?`success`:`empty`}),a(`span`,t())]))}),j.accessor(`handle`,{header:()=>C(`Handle`),cell:e=>a(`code`,e.getValue())}),j.accessor(`enabled`,{header:()=>C(`Status`),cell:e=>a(O,{variant:e.getValue()?`success`:`default`},()=>e.getValue()?C(`Enabled`):C(`Disabled`))}),j.accessor(`language`,{header:()=>C(`Language`),cell:e=>a(`code`,e.getValue())}),j.accessor(`primary`,{header:()=>C(`Primary`),cell:e=>e.getValue()?a(`craft-icon`,{name:`check`}):``}),j.accessor(`baseUrl`,{header:()=>C(`Base URL`),cell:e=>a(`code`,e.getValue())}),j.accessor(`group.name`,{id:`group`,header:()=>C(`Group`)}),j.actions(({row:e})=>[a(V,{site:e.original,disabled:e.original.primary,class:`whitespace-normal`})])]),be=w({get data(){return Q.value},get columns(){return ye.value},getCoreRowModel:E(),getRowId:e=>e.id.toString(),enableSorting:!1,defaultColumn:{size:`auto`,minSize:50,maxSize:200}});function xe(){v.group?.id&&confirm(C(`Are you sure you want to delete this group?`))&&f.delete(z({groupId:v.group.id}))}let $=c(()=>v.group?.name?v.group.name:C(`Sites`));return(t,i)=>(n(),x(p,null,[b(N,{debug:{form:u(L),$props:t.$props},"full-width":!0,title:$.value},{title:h(()=>[y(`div`,U,[y(`h1`,W,o($.value),1),s.group?.id?(n(),x(`craft-action-menu`,G,[y(`craft-button`,K,[y(`craft-icon`,{name:`gear`,label:u(C)(`Site group Actions`)},null,8,q)]),y(`div`,J,[y(`craft-action-item`,{onClick:i[0]||=m(e=>X(`update`),[`prevent`])},o(u(C)(`Rename Group`)),1),y(`craft-action-item`,{variant:`danger`,disabled:Q.value.length>0,onClick:m(xe,[`prevent`])},o(u(C)(`Delete Group`)),9,Y)])])):l(``,!0)])]),actions:h(()=>[b(D,{as:`craft-button`,href:u(F)({query:{groupId:s.group?.id}}).url,variant:`primary`,appearance:`button`},{default:h(()=>[i[5]||=y(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),e(` `+o(u(C)(`New Site`)),1)]),_:1},8,[`href`])]),"interior-nav":h(({state:t})=>[y(`nav`,null,[y(`craft-nav-list`,ae,[y(`craft-nav-item`,{href:u(H).url(),active:!s.group},o(u(C)(`All Sites`)),9,oe),(n(!0),x(p,null,ee(s.groups,t=>(n(),S(D,{as:`craft-nav-item`,key:t.id,href:u(H).url({query:{groupId:t.id}}),active:s.group&&t.id===s.group.id,block:``},{default:h(()=>[e(o(t.name),1)]),_:2},1032,[`href`,`active`]))),128))])]),y(`div`,se,[y(`craft-button`,{type:`button`,onClick:i[1]||=e=>X(`create`),size:`small`},[i[6]||=y(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),e(` `+o(u(C)(`New Group`)),1)])])]),default:h(()=>[y(`div`,null,[s.readOnly?(n(),S(M,{key:0})):l(``,!0),b(T,{table:u(be),"read-only":s.readOnly,reorderable:!!s.group?.id,spacing:`relaxed`,onReorder:ve},{"empty-row":h(()=>[b(ne,{icon:`light/earth-americas`,label:u(C)(`No sites exist yet.`)},{default:h(()=>[b(D,{as:`craft-button`,href:u(F)({query:{groupId:s.group?.id}}).url,appearance:`button`},{default:h(()=>[i[7]||=y(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),e(` `+o(u(C)(`New Site`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`,`read-only`,`reorderable`])])]),_:1},8,[`debug`,`title`]),b(k,{"is-active":A.value,onClose:i[4]||=e=>{A.value=!1,u(L).reset()},onSubmit:B,loading:u(L).processing},{default:h(()=>[r(y(`craft-input`,{name:`id`,id:`id`,"onUpdate:modelValue":i[2]||=e=>u(L).id=e,type:`hidden`},null,512),[[d,u(L).id]]),b(u(te),{data:`nameSuggestions`},{fallback:h(()=>[y(`craft-input`,{readonly:``,name:`readonly-name`,label:u(C)(`Group Name`),"help-text":u(C)(`What this group will be called in the control panel.`)},[y(`div`,le,[y(`craft-callout`,ue,[e(o(u(C)(`This can begin with an environment variable.`))+` `,1),y(`a`,de,o(u(C)(`Learn more`)),1)])])],8,ce)]),default:h(()=>[y(`craft-input`,{label:u(C)(`Group Name`),id:`name`,name:`name`,required:``,"help-text":u(C)(`What this group will be called in the control panel.`),"has-feedback-for":u(L).errors?.name?`error`:``},[b(re,{options:s.nameSuggestions,modelValue:u(L).name,"onUpdate:modelValue":i[3]||=e=>u(L).name=e,slot:`input`},null,8,[`options`,`modelValue`]),y(`div`,pe,[y(`craft-callout`,me,[e(o(u(C)(`This can begin with an environment variable.`))+` `,1),y(`a`,he,o(u(C)(`Learn more`)),1)])]),y(`div`,ge,[u(L).errors?.name?(n(),x(`ul`,_e,[y(`li`,null,o(u(L).errors.name),1)])):l(``,!0)])],8,fe)]),_:1})]),_:1},8,[`is-active`,`loading`])],64))}}),[[`__scopeId`,`data-v-d98f00d1`]]);export{X as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,K as i,N as a,O as o,R as ee,T as s,Y as c,_ as l,b as u,d,f,g as p,it as m,lt as h,p as g,r as te,s as _,t as v,ut as y,v as b,w as x,y as S}from"./_plugin-vue_export-helper.js";import{i as C}from"./nav-item-DCsUKnaY.js";import{c as w,n as ne,t as T,u as E}from"./AdminTable.js";import{a as D}from"./InlineFlash.js";import{t as O}from"./Badge.js";import{n as k,t as A}from"./wayfinder.js";import{t as re}from"./InputCombobox.js";import{t as ie}from"./ModalForm.js";import{n as j}from"./AppLayout.js";import{t as M}from"./createCraftColumnHelper.js";import{t as N}from"./IndexLayout.js";import{i as P,n as F,r as I,t as L}from"./DeleteSiteModal.js";var R=e=>({url:R.url(e),method:`post`});R.definition={methods:[`post`],url:`/admin/settings/site-groups`},R.url=e=>R.definition.url+k(e),R.post=e=>({url:R.url(e),method:`post`});var z=(e,t)=>({url:z.url(e,t),method:`delete`});z.definition={methods:[`delete`],url:`/admin/settings/site-groups/{groupId}`},z.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={groupId:e}),Array.isArray(e)&&(e={groupId:e[0]}),e=A(e);let n={groupId:e.groupId};return z.definition.url.replace(`{groupId}`,n.groupId.toString()).replace(/\/+$/,``)+k(t)},z.delete=(e,t)=>({url:z.url(e,t),method:`delete`});var B=[`disabled`],V=s({__name:`DeleteSiteButton`,props:{site:{}},setup(e){let t=m(!1);return(r,i)=>(n(),u(`div`,null,[l(`craft-button`,{size:`small`,icon:``,type:`button`,variant:`danger`,appearance:`plain`,disabled:e.site.primary,onClick:i[0]||=e=>t.value=!0},[...i[2]||=[l(`craft-icon`,{name:`x`,label:`t('Delete site'`},null,-1)]],8,B),x(L,{site:e.site,open:t.value,onClose:i[1]||=e=>t.value=!1},null,8,[`site`,`open`])]))}}),H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},H.url=e=>H.definition.url+k(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`}),Object.assign(H,H);var U={class:`flex gap-2 items-center`},W={class:`title text-xl`},G={key:0},K={type:`button`,icon:``,size:`small`,slot:`invoker`},q=[`label`],J={slot:`content`},Y=[`disabled`],ae={class:`-mx-2`},oe=[`href`,`active`],se={class:`mt-4 flex gap-2`},ce=[`label`,`help-text`],le={slot:`after`},ue={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},de={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},fe=[`label`,`help-text`,`has-feedback-for`],pe={slot:`after`},me={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},he={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},ge={slot:`feedback`},_e={key:0,class:`error-list`},X=v(s({__name:`SettingsSitesIndex`,props:{readOnly:{type:Boolean},group:{},groups:{},sites:{},nameSuggestions:{},flash:{}},setup(s){let v=s,k=m(!1),A=M(),L=_({id:v.group?.id??null,name:v.group?.name??``});function B(){L.clearErrors().submit(R(),{onSuccess:()=>{k.value=!1,L.reset()}})}function X(e){e===`create`?(L.name=``,L.id=null):e===`update`&&(L.name=v.group?.rawName??v.group?.name??``,L.id=v.group?.id??null),k.value=!0}let Z=m(v.sites.map(e=>e.id)),Q=p(()=>Z.value.map(e=>v.sites.find(t=>t.id===e)).filter(Boolean));i(Z,(e,t)=>{a(()=>{y.post(P(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{Z.value=t}})})});function ve(e,t){let n=[...Z.value],[r]=n.splice(e,1);n.splice(t,0,r),Z.value=n}let ye=m([A.accessor(`name`,{header:()=>C(`Name`),cell:({row:e,getValue:t})=>o(D,{href:I.url(e.original.id)},()=>o(`div`,{class:`flex gap-2`},[o(`craft-indicator`,{variant:e.original.enabled?`success`:`empty`}),o(`span`,t())]))}),A.accessor(`handle`,{header:()=>C(`Handle`),cell:e=>o(`code`,e.getValue())}),A.accessor(`enabled`,{header:()=>C(`Status`),cell:e=>o(O,{variant:e.getValue()?`success`:`default`},()=>e.getValue()?C(`Enabled`):C(`Disabled`))}),A.accessor(`language`,{header:()=>C(`Language`),cell:e=>o(`code`,e.getValue())}),A.accessor(`primary`,{header:()=>C(`Primary`),cell:e=>e.getValue()?o(`craft-icon`,{name:`check`}):``}),A.accessor(`baseUrl`,{header:()=>C(`Base URL`),cell:e=>o(`code`,e.getValue())}),A.accessor(`group.name`,{id:`group`,header:()=>C(`Group`)}),A.actions(({row:e})=>[o(V,{site:e.original,disabled:e.original.primary,class:`whitespace-normal`})])]),be=w({get data(){return Q.value},get columns(){return ye.value},getCoreRowModel:E(),getRowId:e=>e.id.toString(),enableSorting:!1,defaultColumn:{size:`auto`,minSize:50,maxSize:200}});function xe(){v.group?.id&&confirm(C(`Are you sure you want to delete this group?`))&&y.delete(z({groupId:v.group.id}))}let $=p(()=>v.group?.name?v.group.name:C(`Sites`));return(i,a)=>(n(),u(g,null,[x(N,{debug:{form:h(L),$props:i.$props},"full-width":!0,title:$.value},{title:r(()=>[l(`div`,U,[l(`h1`,W,e($.value),1),s.group?.id?(n(),u(`craft-action-menu`,G,[l(`craft-button`,K,[l(`craft-icon`,{name:`gear`,label:h(C)(`Site group Actions`)},null,8,q)]),l(`div`,J,[l(`craft-action-item`,{onClick:a[0]||=f(e=>X(`update`),[`prevent`])},e(h(C)(`Rename Group`)),1),l(`craft-action-item`,{variant:`danger`,disabled:Q.value.length>0,onClick:f(xe,[`prevent`])},e(h(C)(`Delete Group`)),9,Y)])])):S(``,!0)])]),actions:r(()=>[x(D,{as:`craft-button`,href:h(F)({query:{groupId:s.group?.id}}).url,variant:`primary`,appearance:`button`},{default:r(()=>[a[5]||=l(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),t(` `+e(h(C)(`New Site`)),1)]),_:1},8,[`href`])]),"interior-nav":r(({state:i})=>[l(`craft-nav-list`,ae,[l(`craft-nav-item`,{href:h(H).url(),active:!s.group},e(h(C)(`All Sites`)),9,oe),(n(!0),u(g,null,ee(s.groups,i=>(n(),b(D,{as:`craft-nav-item`,key:i.id,href:h(H).url({query:{groupId:i.id}}),active:s.group&&i.id===s.group.id,block:``},{default:r(()=>[t(e(i.name),1)]),_:2},1032,[`href`,`active`]))),128))]),l(`div`,se,[l(`craft-button`,{type:`button`,onClick:a[1]||=e=>X(`create`),size:`small`},[a[6]||=l(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),t(` `+e(h(C)(`New Group`)),1)])])]),default:r(()=>[l(`div`,null,[s.readOnly?(n(),b(j,{key:0})):S(``,!0),x(T,{table:h(be),"read-only":s.readOnly,reorderable:!!s.group?.id,spacing:`relaxed`,onReorder:ve},{"empty-row":r(()=>[x(ne,{icon:`light/earth-americas`,label:h(C)(`No sites exist yet.`)},{default:r(()=>[x(D,{as:`craft-button`,href:h(F)({query:{groupId:s.group?.id}}).url,appearance:`button`},{default:r(()=>[a[7]||=l(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),t(` `+e(h(C)(`New Site`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`,`read-only`,`reorderable`])])]),_:1},8,[`debug`,`title`]),x(ie,{"is-active":k.value,onClose:a[4]||=e=>{k.value=!1,h(L).reset()},onSubmit:B,loading:h(L).processing},{default:r(()=>[c(l(`craft-input`,{name:`id`,id:`id`,"onUpdate:modelValue":a[2]||=e=>h(L).id=e,type:`hidden`},null,512),[[d,h(L).id]]),x(h(te),{data:`nameSuggestions`},{fallback:r(()=>[l(`craft-input`,{readonly:``,name:`readonly-name`,label:h(C)(`Group Name`),"help-text":h(C)(`What this group will be called in the control panel.`)},[l(`div`,le,[l(`craft-callout`,ue,[t(e(h(C)(`This can begin with an environment variable.`))+` `,1),l(`a`,de,e(h(C)(`Learn more`)),1)])])],8,ce)]),default:r(()=>[l(`craft-input`,{label:h(C)(`Group Name`),id:`name`,name:`name`,required:``,"help-text":h(C)(`What this group will be called in the control panel.`),"has-feedback-for":h(L).errors?.name?`error`:``},[x(re,{options:s.nameSuggestions,modelValue:h(L).name,"onUpdate:modelValue":a[3]||=e=>h(L).name=e,slot:`input`},null,8,[`options`,`modelValue`]),l(`div`,pe,[l(`craft-callout`,me,[t(e(h(C)(`This can begin with an environment variable.`))+` `,1),l(`a`,he,e(h(C)(`Learn more`)),1)])]),l(`div`,ge,[h(L).errors?.name?(n(),u(`ul`,_e,[l(`li`,null,e(h(L).errors.name),1)])):S(``,!0)])],8,fe)]),_:1})]),_:1},8,[`is-active`,`loading`])],64))}}),[[`__scopeId`,`data-v-2b35804c`]]);export{X as default}; \ No newline at end of file diff --git a/resources/build/SettingsUserGroupsEditPage.js b/resources/build/SettingsUserGroupsEditPage.js new file mode 100644 index 00000000000..d3c2555ef74 --- /dev/null +++ b/resources/build/SettingsUserGroupsEditPage.js @@ -0,0 +1 @@ +import{$ as e,B as t,C as n,I as r,J as i,M as a,Q as o,R as s,T as c,U as l,X as u,_ as d,b as f,g as p,j as m,lt as h,p as g,s as _,t as v,ut as y,v as b,w as x,y as S,z as C}from"./_plugin-vue_export-helper.js";import{i as w}from"./nav-item-DCsUKnaY.js";import{t as T}from"./Pane.js";import{t as E}from"./CraftInput.js";import{t as D}from"./AppLayout.js";import{t as O}from"./useSettingsSave.js";import{t as k}from"./CraftInputHandle.js";import{i as A,n as j}from"./UserGroupsController.js";var M=[`.modelValue`,`has-feedback-for`],N={slot:`feedback`},P={key:0,class:`error-list`},F=c({name:`CraftTextarea`,inheritAttrs:!1,__name:`CraftTextarea`,props:m({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let n=l(t,`modelValue`);return(i,o)=>(r(),f(`craft-textarea`,a(i.$attrs,{".modelValue":n.value,onModelValueChanged:o[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":t.error?`error`:``}),[C(i.$slots,`default`),d(`div`,N,[t.error?(r(),f(`ul`,P,[d(`li`,null,e(t.error),1)])):S(``,!0)])],48,M))}});function I(e){return e.nested&&typeof e.nested==`object`&&!Array.isArray(e.nested)&&Object.keys(e.nested).length>0}function L(e){return!e||!I(e)?[]:Object.values(e.nested).flatMap(e=>[e.key.toLowerCase(),...L(e)])}var R=[`.checked`],z=c({name:`CraftCheckbox`,inheritAttrs:!1,__name:`CraftCheckbox`,props:{modelValue:{type:Boolean},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=l(e,`modelValue`);return(e,n)=>(r(),f(`craft-checkbox`,a(e.$attrs,{".checked":t.value,onModelValueChanged:n[0]||=e=>t.value=e.target?.checked}),[C(e.$slots,`default`)],48,R))}}),B={key:0,slot:`help-text`},V={key:1,class:`flex gap-1 items-center`,"data-color":`warning`},H=v(c({__name:`PermissionList`,props:{modelValue:{default:()=>[]},permissions:{default:()=>({})},disabled:{type:Boolean,default:!1},level:{default:0}},emits:[`update:modelValue`],setup(a,{emit:c}){let l=c,p=a;function m(e){let t=e.toLowerCase();if(p.modelValue.indexOf(t)===-1)l(`update:modelValue`,[...p.modelValue,t]);else{let n=new Set([t,...L(p.permissions[e])]);l(`update:modelValue`,p.modelValue.filter(e=>!n.has(e)))}}return(c,p)=>{let _=t(`PermissionList`,!0);return r(!0),f(g,null,s(a.permissions,(t,s)=>(r(),f(`ul`,{class:`group`,key:s,style:o({"--gap-x":`calc((${a.level} * 1lh) + var(--c-spacing-md))`})},[d(`li`,null,[x(z,{label:t.label,"model-value":a.modelValue.includes(s.toLowerCase()),value:s,disabled:a.disabled,"onUpdate:modelValue":e=>m(s),class:u({"cp-checkbox-indentation":a.level>0})},{default:i(()=>[t.info||t.warning?(r(),f(`div`,B,[t.info?(r(),f(g,{key:0},[n(e(t.info),1)],64)):S(``,!0),t.warning?(r(),f(`div`,V,[p[1]||=d(`craft-icon`,{name:`triangle-exclamation`},null,-1),n(` `+e(t.warning),1)])):S(``,!0)])):S(``,!0)]),_:2},1032,[`label`,`model-value`,`value`,`disabled`,`onUpdate:modelValue`,`class`]),h(I)(t)?(r(),b(_,{key:0,permissions:t.nested,"model-value":a.modelValue,disabled:a.disabled||!a.modelValue.includes(t.key.toLowerCase()),"onUpdate:modelValue":p[0]||=e=>l(`update:modelValue`,e),level:a.level+1},null,8,[`permissions`,`model-value`,`disabled`,`level`])):S(``,!0)])],4))),128)}}}),[[`__scopeId`,`data-v-ebf6e4eb`]]),U={class:`grid gap-3`},W={class:`text-lg mb-3`},G={class:`grid gap-3`},K={class:`flex gap-2 items-center`},q=[`id`],J=[`onClick`],Y=c({__name:`SettingsUserGroupsEditPage`,props:{group:{},permissions:{},formActions:{},redirect:{},toolbar:{},errors:{},readOnly:{type:Boolean},redirectUrl:{}},setup(t){let a=t,o=_({id:a.group.id,redirect:a.redirect,name:a.group.name,handle:a.group.handle,description:a.group.description??``,permissions:a.group.permissions??[]});function c(e){return Object.values(e).flatMap(e=>[e.key,...I(e)?c(e.nested):[]])}let l=p(()=>a.permissions.reduce((e,t)=>(e[t.handle]=c(t.permissions).map(e=>e.toLowerCase()),e),{}));function u(e){if(!e)return!1;let t=new Set(o.permissions);return e.every(e=>t.has(e))}function m(e){let t=l.value[e];if(t)if(u(t)){let e=new Set(t);o.permissions=o.permissions.filter(t=>!e.has(t))}else o.permissions=[...new Set([...o.permissions,...t])]}let{save:v}=O(o,A),S=p(()=>a.readOnly||!a.group.id?[]:[{variant:`danger`,label:w(`Delete group`),onClick:()=>{confirm(w(`Are you sure you want to delete “{name}”?`,{name:a.group.name}))&&y.delete(j({groupId:a.group.id}))}}]);return(a,c)=>(r(),b(D,{form:h(o),"form-actions":S.value,onSave:h(v)},{default:i(()=>[x(T,{appearance:`raised`},{default:i(()=>[d(`div`,U,[x(E,{label:h(w)(`Name`),id:`name`,"data-error-key":`name`,autofocus:!0,required:!0,disabled:t.readOnly,error:t.errors?.name,name:`name`,modelValue:h(o).name,"onUpdate:modelValue":c[0]||=e=>h(o).name=e},null,8,[`label`,`disabled`,`error`,`modelValue`]),x(k,{label:h(w)(`Handle`),id:`handle`,modelValue:h(o).handle,"onUpdate:modelValue":c[1]||=e=>h(o).handle=e,autocorrect:!1,autocapitalize:!1,name:`handle`,error:t.errors?.handle,required:!0,"data-error-key":`handle`,disabled:t.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`]),x(F,{label:h(w)(`Description`),id:`description`,name:`description`,modelValue:h(o).description,"onUpdate:modelValue":c[2]||=e=>h(o).description=e,error:t.errors?.description,"data-error-key":`description`,disabled:t.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`])]),c[4]||=d(`hr`,{class:`my-8`},null,-1),d(`h2`,W,e(h(w)(`Permissions`)),1),d(`div`,G,[(r(!0),f(g,null,s(t.permissions,t=>(r(),f(`div`,{key:t.handle},[d(`div`,K,[d(`h3`,{class:`mb-1 text-base`,id:`content-heading-${t.handle}`},e(t.heading),9,q),d(`craft-button`,{type:`button`,size:`small`,appearance:`plain`,onClick:e=>m(t.handle)},[u(l.value[t.handle])?(r(),f(g,{key:0},[n(e(h(w)(`Deselect all`)),1)],64)):(r(),f(g,{key:1},[n(e(h(w)(`Select all`)),1)],64))],8,J)]),x(H,{permissions:t.permissions,modelValue:h(o).permissions,"onUpdate:modelValue":c[3]||=e=>h(o).permissions=e},null,8,[`permissions`,`modelValue`])]))),128))])]),_:1})]),_:1},8,[`form`,`form-actions`,`onSave`]))}});export{Y as default}; \ No newline at end of file diff --git a/resources/build/SettingsUserGroupsIndexPage.js b/resources/build/SettingsUserGroupsIndexPage.js index b1f6cf5a3f8..2e269e4c05f 100644 --- a/resources/build/SettingsUserGroupsIndexPage.js +++ b/resources/build/SettingsUserGroupsIndexPage.js @@ -1 +1 @@ -import{C as e,I as t,O as n,Q as r,R as i,T as a,ct as o,lt as s,m as c,q as l,v as u,w as d,x as f,y as p}from"./_plugin-vue_export-helper.js";import{s as m}from"./nav-item-DtQ6Tc_l.js";import{c as h,n as g,t as _,u as v}from"./AdminTable.js";import{r as y}from"./useAnnouncer.js";import{n as b,t as x}from"./wayfinder.js";import{t as S}from"./createCraftColumnHelper.js";import{t as C}from"./DeleteButton.js";import{t as w}from"./IndexLayout.js";var T=e=>({url:T.url(e),method:`post`});T.definition={methods:[`post`],url:`/admin/actions/user-settings/save-group`},T.url=e=>T.definition.url+b(e),T.post=e=>({url:T.url(e),method:`post`});var E=e=>({url:E.url(e),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/settings/users`},E.url=e=>E.definition.url+b(e),E.get=e=>({url:E.url(e),method:`get`}),E.head=e=>({url:E.url(e),method:`head`});var D=e=>({url:D.url(e),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/new`},D.url=e=>D.definition.url+b(e),D.get=e=>({url:D.url(e),method:`get`}),D.head=e=>({url:D.url(e),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`delete`});O.definition={methods:[`delete`],url:`/admin/settings/users/groups/{groupId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={groupId:e}),Array.isArray(e)&&(e={groupId:e[0]}),e=x(e);let n={groupId:e.groupId};return O.definition.url.replace(`{groupId}`,n.groupId.toString()).replace(/\/+$/,``)+b(t)},O.delete=(e,t)=>({url:O.url(e,t),method:`delete`});var k=(e,t)=>({url:k.url(e,t),method:`get`});k.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/{userGroup}`},k.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={userGroup:e}),typeof e==`object`&&!Array.isArray(e)&&`id`in e&&(e={userGroup:e.id}),Array.isArray(e)&&(e={userGroup:e[0]}),e=x(e);let n={userGroup:typeof e.userGroup==`object`?e.userGroup.id:e.userGroup};return k.definition.url.replace(`{userGroup}`,n.userGroup.toString()).replace(/\/+$/,``)+b(t)},k.get=(e,t)=>({url:k.url(e,t),method:`get`}),k.head=(e,t)=>({url:k.url(e,t),method:`head`});var A=a({__name:`SettingsUserGroupsIndexPage`,props:{groups:{},subnav:{},readOnly:{type:Boolean}},setup(a){let b=a;function x(e){confirm(m(`Are you sure you want to delete "{name}"?`,{name:e.name}))&&s.delete(O(e.id))}let T=S(),E=h({get columns(){return[T.link(`name`,{header:m(`Name`),props:({row:e})=>({inertia:!1,href:k(e.original.id).url})}),T.handle(`handle`),T.actions(({row:e})=>[n(C,{onClick:()=>x(e.original)})])]},get data(){return b.groups},state:{get columnVisibility(){return{}}},getCoreRowModel:v()});return(n,s)=>(t(),p(w,null,{actions:l(()=>[d(y,{inertia:!1,href:o(D)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`,variant:`primary`},{default:l(()=>[e(r(o(m)(`New user group`)),1)]),_:1},8,[`href`])]),"interior-nav":l(()=>[u(`craft-nav-list`,null,[(t(!0),f(c,null,i(a.subnav,(n,i)=>(t(),p(y,{key:i,as:`craft-nav-item`,active:n.active??!1,href:n.url,inertia:n.inertia??!0,block:``,flush:``},{default:l(()=>[e(r(n.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:l(()=>[d(_,{table:o(E)},{"empty-row":l(()=>[d(g,{icon:`users`,label:o(m)(`No groups exist yet.`)},{default:l(()=>[d(y,{inertia:!1,href:o(D)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`},{default:l(()=>[e(r(o(m)(`New user group`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{A as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,O as i,R as a,T as o,_ as s,b as c,lt as l,p as u,ut as d,v as f,w as p}from"./_plugin-vue_export-helper.js";import{i as m}from"./nav-item-DCsUKnaY.js";import{c as h,n as g,t as _,u as v}from"./AdminTable.js";import{a as y}from"./InlineFlash.js";import{t as b}from"./createCraftColumnHelper.js";import{t as x}from"./DeleteButton.js";import{t as S}from"./IndexLayout.js";import{n as C,r as w,t as T}from"./UserGroupsController.js";var E=o({__name:`SettingsUserGroupsIndexPage`,props:{groups:{},subnav:{},readOnly:{type:Boolean}},setup(o){let E=o;function D(e){confirm(m(`Are you sure you want to delete "{name}"?`,{name:e.name}))&&d.delete(C(e.id))}let O=b(),k=h({get columns(){return[O.link(`name`,{header:m(`Name`),props:({row:e})=>({href:w(e.original.id).url})}),O.handle(`handle`),O.actions(({row:e})=>[i(x,{onClick:()=>D(e.original)})])]},get data(){return E.groups},state:{get columnVisibility(){return{}}},manualPagination:!0,pageCount:1,getCoreRowModel:v()});return(i,d)=>(n(),f(S,null,{actions:r(()=>[p(y,{inertia:!1,href:l(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`,variant:`primary`},{default:r(()=>[t(e(l(m)(`New user group`)),1)]),_:1},8,[`href`])]),"interior-nav":r(()=>[s(`craft-nav-list`,null,[(n(!0),c(u,null,a(o.subnav,(i,a)=>(n(),f(y,{key:a,as:`craft-nav-item`,active:i.active??!1,href:i.url,inertia:i.inertia??!0,block:``,flush:``},{default:r(()=>[t(e(i.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:r(()=>[p(_,{table:l(k)},{"empty-row":r(()=>[p(g,{icon:`users`,label:l(m)(`No groups exist yet.`)},{default:r(()=>[p(y,{inertia:!1,href:l(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`},{default:r(()=>[t(e(l(m)(`New user group`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{E as default}; \ No newline at end of file diff --git a/resources/build/SettingsVolumesIndexPage.js b/resources/build/SettingsVolumesIndexPage.js index 8188c32b83f..01f6f77c4a1 100644 --- a/resources/build/SettingsVolumesIndexPage.js +++ b/resources/build/SettingsVolumesIndexPage.js @@ -1 +1 @@ -import{C as e,G as t,I as n,N as r,O as i,Q as a,R as o,T as s,_ as c,ct as l,lt as u,m as d,q as f,rt as p,v as m,w as h,x as g,y as _}from"./_plugin-vue_export-helper.js";import{s as v}from"./nav-item-DtQ6Tc_l.js";import{c as y,n as b,t as x,u as S}from"./AdminTable.js";import{r as C}from"./useAnnouncer.js";import{t as w}from"./createCraftColumnHelper.js";import{t as T}from"./DeleteButton.js";import{t as E}from"./IndexLayout.js";import{a as D,c as O,i as k,n as A,r as j,t as M}from"./VolumesController.js";var N=s({__name:`SettingsVolumesIndexPage`,props:{title:{},volumes:{},sort:{},readOnly:{type:Boolean}},setup(s){let N=s;function P(e){confirm(v(`Are you sure you want to delete “{name}?`,{name:e.name}))&&u.delete(A(e.id))}let F=p(N.volumes.map(e=>e.id)),I=c(()=>(F.value??[]).map(e=>N.volumes.find(t=>t.id===e)).filter(Boolean));function L(e,t){let n=[...F.value],[r]=n.splice(e,1);n.splice(t,0,r),F.value=n}t(F,(e,t)=>{r(()=>{u.post(D(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{F.value=t}})})});let R=w(),z=c(()=>({name:!0,handle:!0,actions:!N.readOnly})),B=c(()=>[R.link(`name`,{header:v(`Name`),props:({row:e})=>({href:j(e.original.id).url,inertia:!1})}),R.handle(`handle`),R.actions(({row:e})=>[i(T,{onClick:()=>P(e.original)})])]),V=y({get data(){return I.value},get columns(){return B.value},state:{get columnVisibility(){return z.value}},enableSorting:!1,getCoreRowModel:S()}),H=c(()=>({volumes:{label:v(`Volumes`),url:k().url,active:!0},transforms:{label:v(`Image Transforms`),url:O().url}}));return(t,r)=>(n(),_(E,{title:s.title},{actions:f(()=>[h(C,{appearance:`button`,href:l(M)().url,variant:`primary`,inertia:!1,icon:`plus`},{default:f(()=>[e(a(l(v)(`New volume`)),1)]),_:1},8,[`href`])]),"interior-nav":f(()=>[m(`craft-nav-list`,null,[(n(!0),g(d,null,o(H.value,(t,r)=>(n(),_(C,{key:r,as:`craft-nav-item`,active:t.active??!1,href:t.url,block:``,flush:``,inertia:t.inertia??!0},{default:f(()=>[e(a(t.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:f(()=>[h(x,{table:l(V),reorderable:!0,"read-only":s.readOnly,onReorder:L},{"empty-row":f(()=>[h(b,{label:l(v)(`No volumes exist yet.`),icon:`light/files`},null,8,[`label`])]),_:1},8,[`table`,`read-only`])]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,K as i,N as a,O as o,R as s,T as c,_ as l,b as u,g as d,it as f,lt as p,p as m,ut as h,v as g,w as _}from"./_plugin-vue_export-helper.js";import{i as v}from"./nav-item-DCsUKnaY.js";import{c as y,n as b,t as x,u as S}from"./AdminTable.js";import{a as C}from"./InlineFlash.js";import{t as w}from"./createCraftColumnHelper.js";import{t as T}from"./DeleteButton.js";import{t as E}from"./IndexLayout.js";import{a as D,c as O,i as k,n as A,r as j,t as M}from"./VolumesController.js";var N=c({__name:`SettingsVolumesIndexPage`,props:{title:{},volumes:{},sort:{},readOnly:{type:Boolean}},setup(c){let N=c;function P(e){confirm(v(`Are you sure you want to delete “{name}?`,{name:e.name}))&&h.delete(A(e.id))}let F=f(N.volumes.map(e=>e.id)),I=d(()=>(F.value??[]).map(e=>N.volumes.find(t=>t.id===e)).filter(Boolean));function L(e,t){let n=[...F.value],[r]=n.splice(e,1);n.splice(t,0,r),F.value=n}i(F,(e,t)=>{a(()=>{h.post(D(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{F.value=t}})})});let R=w(),z=d(()=>({name:!0,handle:!0,actions:!N.readOnly})),B=d(()=>[R.link(`name`,{header:v(`Name`),props:({row:e})=>({href:j(e.original.id).url,inertia:!1})}),R.handle(`handle`),R.actions(({row:e})=>[o(T,{onClick:()=>P(e.original)})])]),V=y({get data(){return I.value},get columns(){return B.value},state:{get columnVisibility(){return z.value}},enableSorting:!1,getCoreRowModel:S()}),H=d(()=>({volumes:{label:v(`Volumes`),url:k().url,active:!0},transforms:{label:v(`Image Transforms`),url:O().url}}));return(i,a)=>(n(),g(E,{title:c.title},{actions:r(()=>[_(C,{appearance:`button`,href:p(M)().url,variant:`primary`,inertia:!1,icon:`plus`},{default:r(()=>[t(e(p(v)(`New volume`)),1)]),_:1},8,[`href`])]),"interior-nav":r(()=>[l(`craft-nav-list`,null,[(n(!0),u(m,null,s(H.value,(i,a)=>(n(),g(C,{key:a,as:`craft-nav-item`,active:i.active??!1,href:i.url,block:``,flush:``,inertia:i.inertia??!0},{default:r(()=>[t(e(i.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:r(()=>[_(x,{table:p(V),reorderable:!0,"read-only":c.readOnly,onReorder:L},{"empty-row":r(()=>[_(b,{label:p(v)(`No volumes exist yet.`),icon:`light/files`},null,8,[`label`])]),_:1},8,[`table`,`read-only`])]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/Updater.js b/resources/build/Updater.js index f3c2ed7982b..a72ab19ae87 100644 --- a/resources/build/Updater.js +++ b/resources/build/Updater.js @@ -1,5 +1,5 @@ -import{r as e}from"./Queue-C-Z7zpYZ.js";import{G as t,I as n,P as r,Q as i,R as a,T as o,_ as s,a as c,b as l,ct as u,m as d,rt as f,t as p,v as m,w as h,x as g}from"./_plugin-vue_export-helper.js";import{s as _}from"./nav-item-DtQ6Tc_l.js";function v(t,n){let r=f({...n}),i=f(!1),a=s(()=>!!r.value.error),o=s(()=>!!r.value.finished);async function c(n){i.value=!0;try{l((await e.post(`/admin/actions/${t}/${n}`,{data:r.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}})).data)}catch(e){d(e)}i.value=!1}function l(e){e.data&&(r.value.data=e.data),r.value={...r.value,status:e.status,error:e.error,errorDetails:e.errorDetails,options:e.options,finished:e.finished,returnUrl:e.returnUrl??r.value.returnUrl,nextAction:e.nextAction},e.nextAction&&c(e.nextAction)}function u(e){e.nextAction&&(r.value.error=void 0,r.value.errorDetails=void 0,r.value.options=void 0,e.status&&(r.value.status=e.status),e.data&&(r.value.data=e.data),c(e.nextAction))}function d(n){let i=n.response?.data?.message||n.message||`Unknown error`,a=n.response?.statusText||`Error`;r.value.error=_(`A fatal error has occurred:`),r.value.errorDetails=`${_(`Status:`)} ${a}\n\n${_(`Response:`)} ${i}`,r.value.options=[{label:_(`Troubleshoot`),url:`https://craftcms.com/knowledge-base/failed-updates`},{label:_(`Send for help`),email:`support@craftcms.com`}],e.post(`/admin/actions/${t}/finish`,{data:r.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}}).catch(()=>{})}function p(e){let t=encodeURIComponent(e.subject||`Craft update failure`),n=`Describe what happened here.`;return r.value.errorDetails&&(n+=` +import{n as e}from"./progress-B7_TV7MI.js";import{$ as t,I as n,K as r,P as i,R as a,T as o,_ as s,a as c,b as l,g as u,it as d,lt as f,p,t as m,w as h,y as g}from"./_plugin-vue_export-helper.js";import{i as _}from"./nav-item-DCsUKnaY.js";function v(t,n){let r=d({...n}),i=d(!1),a=u(()=>!!r.value.error),o=u(()=>!!r.value.finished);async function s(n){i.value=!0;try{c((await e.post(`/admin/actions/${t}/${n}`,{data:r.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}})).data)}catch(e){f(e)}i.value=!1}function c(e){e.data&&(r.value.data=e.data),r.value={...r.value,status:e.status,error:e.error,errorDetails:e.errorDetails,options:e.options,finished:e.finished,returnUrl:e.returnUrl??r.value.returnUrl,nextAction:e.nextAction},e.nextAction&&s(e.nextAction)}function l(e){e.nextAction&&(r.value.error=void 0,r.value.errorDetails=void 0,r.value.options=void 0,e.status&&(r.value.status=e.status),e.data&&(r.value.data=e.data),s(e.nextAction))}function f(n){let i=n.response?.data?.message||n.message||`Unknown error`,a=n.response?.statusText||`Error`;r.value.error=_(`A fatal error has occurred:`),r.value.errorDetails=`${_(`Status:`)} ${a}\n\n${_(`Response:`)} ${i}`,r.value.options=[{label:_(`Troubleshoot`),url:`https://craftcms.com/knowledge-base/failed-updates`},{label:_(`Send for help`),email:`support@craftcms.com`}],e.post(`/admin/actions/${t}/finish`,{data:r.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}}).catch(()=>{})}function p(e){let t=encodeURIComponent(e.subject||`Craft update failure`),n=`Describe what happened here.`;return r.value.errorDetails&&(n+=` ----------------------------------------------------------- -`+r.value.errorDetails),`mailto:${e.email}?subject=${t}&body=${encodeURIComponent(n)}`}return{state:r,isLoading:i,hasError:a,isFinished:o,executeAction:c,handleOptionClick:u,getEmailLink:p}}var y={class:`updater`},b={class:`updater-graphic`},x={key:0,visible:!0,class:`spinner`},S={key:1,name:`circle-check`,class:`icon-success`},C={key:2,name:`alert-circle`,class:`icon-error`},w={class:`updater-status`},T=[`innerHTML`],E={key:0,class:`error-details`,tabindex:`0`},D=[`innerHTML`],O=[`innerHTML`],k={key:0,class:`updater-options`},A=[`href`,`target`],j=[`onClick`,`variant`],M=p(o({__name:`Updater`,props:{title:{},initialState:{},actionPrefix:{},returnUrl:{}},setup(e){let o=e,{state:s,isLoading:f,hasError:p,isFinished:_,executeAction:M,handleOptionClick:N,getEmailLink:P}=v(o.actionPrefix,o.initialState);function F(e){return e.replace(/\n{2,}/g,`

`).replace(/\n/g,`
`).replace(/`(.*?)`/g,`$1`)}function I(){setTimeout(()=>{window.location.href=s.value.returnUrl||o.returnUrl||`/admin/dashboard`},750)}function L(e){return!!(e.url||e.email)}function R(e){return e.url?e.url:e.email?P(e):`#`}return r(()=>{o.initialState.nextAction&&M(o.initialState.nextAction)}),t(_,e=>{e&&I()}),(t,r)=>(n(),g(d,null,[h(u(c),{title:e.title},null,8,[`title`]),m(`div`,y,[m(`div`,b,[u(f)&&!u(p)?(n(),g(`craft-spinner`,x)):u(_)?(n(),g(`craft-icon`,S)):u(p)?(n(),g(`craft-icon`,C)):l(``,!0)]),m(`div`,w,[u(s).error?(n(),g(d,{key:0},[m(`p`,{class:`error-message`,innerHTML:F(u(s).error)},null,8,T),u(s).errorDetails?(n(),g(`div`,E,[m(`p`,{innerHTML:F(u(s).errorDetails)},null,8,D)])):l(``,!0)],64)):u(s).status?(n(),g(`p`,{key:1,innerHTML:F(u(s).status)},null,8,O)):l(``,!0)]),u(s).options&&!u(f)?(n(),g(`div`,k,[(n(!0),g(d,null,a(u(s).options,e=>(n(),g(d,{key:e.label},[L(e)?(n(),g(`a`,{key:0,href:R(e),target:e.url?`_blank`:void 0,class:`btn big`},i(e.label),9,A)):(n(),g(`craft-button`,{key:1,type:`button`,onClick:t=>u(N)(e),variant:e.submit?`primary`:`default`,size:`lg`},i(e.label),9,j))],64))),128))])):l(``,!0)])],64))}}),[[`__scopeId`,`data-v-5a0085ac`]]);export{M as default}; \ No newline at end of file +`+r.value.errorDetails),`mailto:${e.email}?subject=${t}&body=${encodeURIComponent(n)}`}return{state:r,isLoading:i,hasError:a,isFinished:o,executeAction:s,handleOptionClick:l,getEmailLink:p}}var y={class:`updater`},b={class:`updater-graphic`},x={key:0,visible:!0,class:`spinner`},S={key:1,name:`circle-check`,class:`icon-success`},C={key:2,name:`alert-circle`,class:`icon-error`},w={class:`updater-status`},T=[`innerHTML`],E={key:0,class:`error-details`,tabindex:`0`},D=[`innerHTML`],O=[`innerHTML`],k={key:0,class:`updater-options`},A=[`href`,`target`],j=[`onClick`,`variant`],M=m(o({__name:`Updater`,props:{title:{},initialState:{},actionPrefix:{},returnUrl:{}},setup(e){let o=e,{state:u,isLoading:d,hasError:m,isFinished:_,executeAction:M,handleOptionClick:N,getEmailLink:P}=v(o.actionPrefix,o.initialState);function F(e){return e.replace(/\n{2,}/g,`

`).replace(/\n/g,`
`).replace(/`(.*?)`/g,`$1`)}function I(){setTimeout(()=>{window.location.href=u.value.returnUrl||o.returnUrl||`/admin/dashboard`},750)}function L(e){return!!(e.url||e.email)}function R(e){return e.url?e.url:e.email?P(e):`#`}return i(()=>{o.initialState.nextAction&&M(o.initialState.nextAction)}),r(_,e=>{e&&I()}),(r,i)=>(n(),l(p,null,[h(f(c),{title:e.title},null,8,[`title`]),s(`div`,y,[s(`div`,b,[f(d)&&!f(m)?(n(),l(`craft-spinner`,x)):f(_)?(n(),l(`craft-icon`,S)):f(m)?(n(),l(`craft-icon`,C)):g(``,!0)]),s(`div`,w,[f(u).error?(n(),l(p,{key:0},[s(`p`,{class:`error-message`,innerHTML:F(f(u).error)},null,8,T),f(u).errorDetails?(n(),l(`div`,E,[s(`p`,{innerHTML:F(f(u).errorDetails)},null,8,D)])):g(``,!0)],64)):f(u).status?(n(),l(`p`,{key:1,innerHTML:F(f(u).status)},null,8,O)):g(``,!0)]),f(u).options&&!f(d)?(n(),l(`div`,k,[(n(!0),l(p,null,a(f(u).options,e=>(n(),l(p,{key:e.label},[L(e)?(n(),l(`a`,{key:0,href:R(e),target:e.url?`_blank`:void 0,class:`btn big`},t(e.label),9,A)):(n(),l(`craft-button`,{key:1,type:`button`,onClick:t=>f(N)(e),variant:e.submit?`primary`:`default`,size:`lg`},t(e.label),9,j))],64))),128))])):g(``,!0)])],64))}}),[[`__scopeId`,`data-v-5a0085ac`]]);export{M as default}; \ No newline at end of file diff --git a/resources/build/UserGroupsController.js b/resources/build/UserGroupsController.js new file mode 100644 index 00000000000..101c1913184 --- /dev/null +++ b/resources/build/UserGroupsController.js @@ -0,0 +1 @@ +import{n as e,t}from"./wayfinder.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/settings/users`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/new`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=e=>({url:i.url(e),method:`post`});i.definition={methods:[`post`],url:`/admin/settings/users/groups`},i.url=t=>i.definition.url+e(t),i.post=e=>({url:i.url(e),method:`post`});var a=(e,t)=>({url:a.url(e,t),method:`delete`});a.definition={methods:[`delete`],url:`/admin/settings/users/groups/{groupId}`},a.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={groupId:n}),Array.isArray(n)&&(n={groupId:n[0]}),n=t(n);let i={groupId:n.groupId};return a.definition.url.replace(`{groupId}`,i.groupId.toString()).replace(/\/+$/,``)+e(r)},a.delete=(e,t)=>({url:a.url(e,t),method:`delete`});var o=(e,t)=>({url:o.url(e,t),method:`get`});o.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/{userGroup}`},o.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={userGroup:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={userGroup:n.id}),Array.isArray(n)&&(n={userGroup:n[0]}),n=t(n);let i={userGroup:typeof n.userGroup==`object`?n.userGroup.id:n.userGroup};return o.definition.url.replace(`{userGroup}`,i.userGroup.toString()).replace(/\/+$/,``)+e(r)},o.get=(e,t)=>({url:o.url(e,t),method:`get`}),o.head=(e,t)=>({url:o.url(e,t),method:`head`});export{i,a as n,o as r,r as t}; \ No newline at end of file diff --git a/resources/build/UtilitiesShowPage.js b/resources/build/UtilitiesShowPage.js index ac9bde2f3c7..47ea46ea3af 100644 --- a/resources/build/UtilitiesShowPage.js +++ b/resources/build/UtilitiesShowPage.js @@ -1 +1 @@ -import{C as e,I as t,Q as n,R as r,T as i,b as a,m as o,q as s,v as c,x as l,y as u}from"./_plugin-vue_export-helper.js";import{r as d}from"./useAnnouncer.js";import{t as f}from"./DynamicHtmlRenderer.js";import{t as p}from"./IndexLayout.js";var m={class:`content-pane`},h=i({__name:`UtilitiesShowPage`,props:{id:{},title:{},contentHtml:{},toolbarHtml:{},footerHtml:{},viewData:{},utilities:{},bridgedHeadHtml:{},bridgedBodyHtml:{}},setup(i){return(h,g)=>(t(),u(p,{title:i.title,debug:h.$props},{actions:s(()=>[i.toolbarHtml?(t(),u(f,{key:0,html:i.toolbarHtml},null,8,[`html`])):a(``,!0)]),"interior-nav":s(()=>[c(`craft-nav-list`,null,[(t(!0),l(o,null,r(i.utilities,r=>(t(),u(d,{key:r.id,as:`craft-nav-item`,icon:r.iconPath,href:r.url,active:r.id===i.id,indicator:!!r.badgeCount,block:``,flush:``},{default:s(()=>[e(n(r.displayName),1)]),_:2},1032,[`icon`,`href`,`active`,`indicator`]))),128))])]),default:s(()=>[c(`div`,m,[i.contentHtml?(t(),u(f,{key:0,html:i.contentHtml},null,8,[`html`])):a(``,!0),i.footerHtml?(t(),u(f,{key:1,html:i.footerHtml},null,8,[`html`])):a(``,!0)])]),_:1},8,[`title`,`debug`]))}});export{h as default}; \ No newline at end of file +import{$ as e,C as t,I as n,J as r,R as i,T as a,_ as o,b as s,p as c,v as l,y as u}from"./_plugin-vue_export-helper.js";import{a as d}from"./InlineFlash.js";import{t as f}from"./DynamicHtmlRenderer.js";import{t as p}from"./IndexLayout.js";var m={class:`content-pane`},h=a({__name:`UtilitiesShowPage`,props:{id:{},title:{},contentHtml:{},toolbarHtml:{},footerHtml:{},viewData:{},utilities:{},bridgedHeadHtml:{},bridgedBodyHtml:{}},setup(a){return(h,g)=>(n(),l(p,{title:a.title,debug:h.$props},{actions:r(()=>[a.toolbarHtml?(n(),l(f,{key:0,html:a.toolbarHtml},null,8,[`html`])):u(``,!0)]),"interior-nav":r(()=>[o(`craft-nav-list`,null,[(n(!0),s(c,null,i(a.utilities,i=>(n(),l(d,{key:i.id,as:`craft-nav-item`,icon:i.iconPath,href:i.url,active:i.id===a.id,indicator:!!i.badgeCount,block:``,flush:``},{default:r(()=>[t(e(i.displayName),1)]),_:2},1032,[`icon`,`href`,`active`,`indicator`]))),128))])]),default:r(()=>[o(`div`,m,[a.contentHtml?(n(),l(f,{key:0,html:a.contentHtml},null,8,[`html`])):u(``,!0),a.footerHtml?(n(),l(f,{key:1,html:a.footerHtml},null,8,[`html`])):u(``,!0)])]),_:1},8,[`title`,`debug`]))}});export{h as default}; \ No newline at end of file diff --git a/resources/build/_plugin-vue_export-helper.js b/resources/build/_plugin-vue_export-helper.js index 3b975455965..c62f5182dd0 100644 --- a/resources/build/_plugin-vue_export-helper.js +++ b/resources/build/_plugin-vue_export-helper.js @@ -1,1284 +1,1291 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./bg-BG.js","./bg2.js","./cs-CZ.js","./cs2.js","./de-DE.js","./de2.js","./en-AU.js","./en2.js","./en-GB.js","./en-US.js","./es-ES.js","./es2.js","./fr-FR.js","./fr2.js","./fr-BE.js","./hu-HU.js","./hu2.js","./it-IT.js","./it2.js","./nl-BE.js","./nl2.js","./nl-NL.js","./pl-PL.js","./pl2.js","./ro-RO.js","./ro2.js","./ru-RU.js","./ru2.js","./sk-SK.js","./sk2.js","./tr-TR.js","./tr.js","./uk-UA.js","./uk2.js","./bg-BG2.js","./bg3.js","./cs-CZ2.js","./cs3.js","./de-DE2.js","./de3.js","./en-AU2.js","./en3.js","./en-GB2.js","./en-US2.js","./es-ES2.js","./es3.js","./fr-FR2.js","./fr3.js","./fr-BE2.js","./hu-HU2.js","./hu3.js","./it-IT2.js","./it3.js","./nl-BE2.js","./nl3.js","./nl-NL2.js","./pl-PL2.js","./pl3.js","./ro-RO2.js","./ro3.js","./ru-RU2.js","./ru3.js","./sk-SK2.js","./sk3.js","./uk-UA2.js","./uk3.js"])))=>i.map(i=>d[i]); -import{a as e,c as t,f as n,i as r,l as i,o as a,r as o,s,u as c}from"./Queue-C-Z7zpYZ.js";import{a as l,i as u,n as d,o as f,r as p,s as m}from"./nav-item-DtQ6Tc_l.js";import{t as h}from"./decorate-NVSIGmKd.js";import{a as g,c as _,d as v,f as y,i as b,n as x,p as S,r as C,t as w}from"./lit.js";import{a as T,i as E,o as D,r as O,t as ee}from"./decorators.js";import"./nav-list-CjcRB3Mh.js";var te=``,ne=``;function re(e){te=e}function ie(e=``){if(!te){let e=document.querySelector(`[data-webawesome]`);if(e?.hasAttribute(`data-webawesome`)){let t=new URL(e.getAttribute(`data-webawesome`)??``,window.location.href).pathname;re(t)}else{let e=[...document.getElementsByTagName(`script`)].find(e=>e.src.endsWith(`webawesome.js`)||e.src.endsWith(`webawesome.loader.js`)||e.src.endsWith(`webawesome.ssr-loader.js`));e&&re(String(e.getAttribute(`src`)).split(`/`).slice(0,-1).join(`/`))}}return te.replace(/\/$/,``)+(e?`/${e.replace(/^\//,``)}`:``)}function ae(e){ne=e}function oe(){if(!ne){let e=document.querySelector(`[data-fa-kit-code]`);e&&ae(e.getAttribute(`data-fa-kit-code`)||``)}return ne}var se=`7.0.1`;function ce(e,t,n){let r=oe(),i=r.length>0,a=`solid`;return t===`notdog`?(n===`solid`&&(a=`solid`),n===`duo-solid`&&(a=`duo-solid`),`https://ka-p.fontawesome.com/releases/v${se}/svgs/notdog-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`chisel`?`https://ka-p.fontawesome.com/releases/v${se}/svgs/chisel-regular/${e}.svg?token=${encodeURIComponent(r)}`:t===`etch`?`https://ka-p.fontawesome.com/releases/v${se}/svgs/etch-solid/${e}.svg?token=${encodeURIComponent(r)}`:t===`jelly`?(n===`regular`&&(a=`regular`),n===`duo-regular`&&(a=`duo-regular`),n===`fill-regular`&&(a=`fill-regular`),`https://ka-p.fontawesome.com/releases/v${se}/svgs/jelly-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`slab`?((n===`solid`||n===`regular`)&&(a=`regular`),n===`press-regular`&&(a=`press-regular`),`https://ka-p.fontawesome.com/releases/v${se}/svgs/slab-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`thumbprint`?`https://ka-p.fontawesome.com/releases/v${se}/svgs/thumbprint-light/${e}.svg?token=${encodeURIComponent(r)}`:t===`whiteboard`?`https://ka-p.fontawesome.com/releases/v${se}/svgs/whiteboard-semibold/${e}.svg?token=${encodeURIComponent(r)}`:(t===`classic`&&(n===`thin`&&(a=`thin`),n===`light`&&(a=`light`),n===`regular`&&(a=`regular`),n===`solid`&&(a=`solid`)),t===`sharp`&&(n===`thin`&&(a=`sharp-thin`),n===`light`&&(a=`sharp-light`),n===`regular`&&(a=`sharp-regular`),n===`solid`&&(a=`sharp-solid`)),t===`duotone`&&(n===`thin`&&(a=`duotone-thin`),n===`light`&&(a=`duotone-light`),n===`regular`&&(a=`duotone-regular`),n===`solid`&&(a=`duotone`)),t===`sharp-duotone`&&(n===`thin`&&(a=`sharp-duotone-thin`),n===`light`&&(a=`sharp-duotone-light`),n===`regular`&&(a=`sharp-duotone-regular`),n===`solid`&&(a=`sharp-duotone-solid`)),t===`brands`&&(a=`brands`),i?`https://ka-p.fontawesome.com/releases/v${se}/svgs/${a}/${e}.svg?token=${encodeURIComponent(r)}`:`https://ka-f.fontawesome.com/releases/v${se}/svgs/${a}/${e}.svg`)}var le={name:`default`,resolver:(e,t=`classic`,n=`solid`)=>ce(e,t,n),mutator:(e,t)=>{if(t?.family&&!e.hasAttribute(`data-duotone-initialized`)){let{family:n,variant:r}=t;if(n===`duotone`||n===`sharp-duotone`||n===`notdog`&&r===`duo-solid`||n===`jelly`&&r===`duo-regular`||n===`thumbprint`){let n=[...e.querySelectorAll(`path`)],r=n.find(e=>!e.hasAttribute(`opacity`)),i=n.find(e=>e.hasAttribute(`opacity`));if(!r||!i)return;if(r.setAttribute(`data-duotone-primary`,``),i.setAttribute(`data-duotone-secondary`,``),t.swapOpacity&&r&&i){let e=i.getAttribute(`opacity`)||`0.4`;r.style.setProperty(`--path-opacity`,e),i.style.setProperty(`--path-opacity`,`1`)}e.setAttribute(`data-duotone-initialized`,``)}}}},ue=`modulepreload`,de=function(e,t){return new URL(e,t).href},fe={},k=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=de(t,n),t in fe)return;fe[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ue,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};new MutationObserver(e=>{for(let{addedNodes:t}of e)for(let e of t)e.nodeType===Node.ELEMENT_NODE&&pe(e)});async function pe(e){let t=e instanceof Element?e.tagName.toLowerCase():``,n=t?.startsWith(`wa-`),r=[...e.querySelectorAll(`:not(:defined)`)].map(e=>e.tagName.toLowerCase()).filter(e=>e.startsWith(`wa-`));n&&!customElements.get(t)&&r.push(t);let i=[...new Set(r)],a=await Promise.allSettled(i.map(e=>me(e)));for(let e of a)e.status===`rejected`&&console.warn(e.reason);await new Promise(requestAnimationFrame),e.dispatchEvent(new CustomEvent(`wa-discovery-complete`,{bubbles:!1,cancelable:!1,composed:!0}))}function me(e){if(customElements.get(e))return Promise.resolve();let t=e.replace(/^wa-/i,``),n=ie(`components/${t}/${t}.js`);return new Promise((t,r)=>{k(()=>import(n).then(()=>t()),[],import.meta.url).catch(()=>r(Error(`Unable to autoload <${e}> from ${n}`)))})}var he=new Set,ge=new Map,_e,ve=`ltr`,ye=`en`,be=typeof MutationObserver<`u`&&typeof document<`u`&&document.documentElement!==void 0;if(be){let e=new MutationObserver(Se);ve=document.documentElement.dir||`ltr`,ye=document.documentElement.lang||navigator.language,e.observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`,`lang`]})}function xe(...e){e.map(e=>{let t=e.$code.toLowerCase();ge.has(t)?ge.set(t,Object.assign(Object.assign({},ge.get(t)),e)):ge.set(t,e),_e||=e}),Se()}function Se(){be&&(ve=document.documentElement.dir||`ltr`,ye=document.documentElement.lang||navigator.language),[...he.keys()].map(e=>{typeof e.requestUpdate==`function`&&e.requestUpdate()})}var Ce=class{constructor(e){this.host=e,this.host.addController(this)}hostConnected(){he.add(this.host)}hostDisconnected(){he.delete(this.host)}dir(){return`${this.host.dir||ve}`.toLowerCase()}lang(){return`${this.host.lang||ye}`.toLowerCase()}getTranslationData(e){let t=new Intl.Locale(e.replace(/_/g,`-`)),n=t?.language.toLowerCase(),r=(t?.region)?.toLowerCase()??``;return{locale:t,language:n,region:r,primary:ge.get(`${n}-${r}`),secondary:ge.get(n)}}exists(e,t){let{primary:n,secondary:r}=this.getTranslationData(t.lang??this.lang());return t=Object.assign({includeFallback:!1},t),!!(n&&n[e]||r&&r[e]||t.includeFallback&&_e&&_e[e])}term(e,...t){let{primary:n,secondary:r}=this.getTranslationData(this.lang()),i;if(n&&n[e])i=n[e];else if(r&&r[e])i=r[e];else if(_e&&_e[e])i=_e[e];else return console.error(`No translation found for: ${String(e)}`),String(e);return typeof i==`function`?i(...t):i}date(e,t){return e=new Date(e),new Intl.DateTimeFormat(this.lang(),t).format(e)}number(e,t){return e=Number(e),isNaN(e)?``:new Intl.NumberFormat(this.lang(),t).format(e)}relativeTime(e,t,n){return new Intl.RelativeTimeFormat(this.lang(),n).format(e,t)}},we={$code:`en`,$name:`English`,$dir:`ltr`,carousel:`Carousel`,clearEntry:`Clear entry`,close:`Close`,copied:`Copied`,copy:`Copy`,currentValue:`Current value`,error:`Error`,goToSlide:(e,t)=>`Go to slide ${e} of ${t}`,hidePassword:`Hide password`,loading:`Loading`,nextSlide:`Next slide`,numOptionsSelected:e=>e===0?`No options selected`:e===1?`1 option selected`:`${e} options selected`,pauseAnimation:`Pause animation`,playAnimation:`Play animation`,previousSlide:`Previous slide`,progress:`Progress`,remove:`Remove`,resize:`Resize`,scrollableRegion:`Scrollable region`,scrollToEnd:`Scroll to end`,scrollToStart:`Scroll to start`,selectAColorFromTheScreen:`Select a color from the screen`,showPassword:`Show password`,slideNum:e=>`Slide ${e}`,toggleColorFormat:`Toggle color format`,zoomIn:`Zoom in`,zoomOut:`Zoom out`};xe(we);var Te=we,Ee=class extends Ce{};xe(Te);function De(e){return`data:image/svg+xml,${encodeURIComponent(e)}`}var Oe={solid:{check:``,"chevron-down":``,"chevron-left":``,"chevron-right":``,circle:``,eyedropper:``,"grip-vertical":``,indeterminate:``,minus:``,pause:``,play:``,star:``,user:``,xmark:``},regular:{"circle-question":``,"circle-xmark":``,copy:``,eye:``,"eye-slash":``,star:``}},ke={name:`system`,resolver:(e,t=`classic`,n=`solid`)=>{let r=Oe[n][e]??Oe.regular[e]??Oe.regular[`circle-question`];return r?De(r):``}},Ae=`classic`,je=[le,ke],Me=[];function Ne(e){Me.push(e)}function Pe(e){Me=Me.filter(t=>t!==e)}function Fe(e){return je.find(t=>t.name===e)}function Ie(e,t){Le(e),je.push({name:e,resolver:t.resolver,mutator:t.mutator,spriteSheet:t.spriteSheet}),Me.forEach(t=>{t.library===e&&t.setIcon()})}function Le(e){je=je.filter(t=>t.name!==e)}function Re(){return Ae}var ze=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ve=e=>{throw TypeError(e)},A=(e,t,n,r)=>{for(var i=r>1?void 0:r?Be(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ze(t,n,i),i},He=(e,t,n)=>t.has(e)||Ve(`Cannot `+n),Ue=(e,t,n)=>(He(e,t,`read from private field`),n?n.call(e):t.get(e)),We=(e,t,n)=>t.has(e)?Ve(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),Ge=(e,t,n,r)=>(He(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),Ke={alert:`triangle-exclamation`,asc:`arrow-down-short-wide`,asset:`image`,assets:`image`,circleuarr:`circle-arrow-up`,collapse:`down-left-and-up-right-to-center`,condition:`diamond`,darr:`arrow-down`,date:`calendar`,desc:`arrow-down-wide-short`,disabled:`circle-dashed`,done:`circle-check`,downangle:`angle-down`,draft:`scribble`,edit:`pencil`,enabled:`circle`,expand:`up-right-and-down-left-from-center`,external:`arrow-up-right-from-square`,field:`pen-to-square`,help:`circle-question`,home:`house`,info:`circle-info`,insecure:`unlock`,larr:`arrow-left`,layout:`table-layout`,leftangle:`angle-left`,listrtl:`list-flip`,location:`location-dot`,mail:`envelope`,menu:`bars`,move:`grip-dots`,newstamp:`certificate`,paperplane:`paper-plane`,plugin:`plug`,rarr:`arrow-right`,refresh:`arrows-rotate`,remove:`xmark`,rightangle:`angle-right`,rotate:`rotate-left`,routes:`signs-post`,search:`magnifying-glass`,secure:`lock`,settings:`gear`,shareleft:`share-flip`,shuteye:`eye-slash`,"sidebar-left":`sidebar`,"sidebar-right":`sidebar-flip`,"sidebar-start":`sidebar`,"sidebar-end":`sidebar-flip`,structure:`list-tree`,structurertl:`list-tree-flip`,template:`file-code`,time:`clock`,tool:`wrench`,uarr:`arrow-up`,upangle:`angle-up`,view:`eye`,wand:`wand-magic-sparkles`};function qe(e,t=`classic`,n=`regular`){let r=`solid`,i=n,a=e.endsWith(`.svg`)?e.split(`.svg`)[0]:e;if(e.includes(`/`)){let[t,...n]=e.split(`/`);i=t??i,a=n.join(`/`)}return i===`thin`?r=`thin`:i===`light`?r=`light`:i===`regular`?r=`regular`:i===`solid`&&(r=`solid`),t===`brands`&&(r=`brands`),(t===`custom-icons`||i===`custom-icons`)&&(r=`custom-icons`),a=Ke[a]??a,`/vendor/craft/icons/${r}/${a}.svg`}function Je(){Ie(`default`,{resolver:(e,t=`classic`,n=`solid`)=>qe(e,t,n),mutator:e=>e.setAttribute(`fill`,`currentColor`)})}var Ye=class extends HTMLElement{constructor(...e){super(...e),this.cookieName=null,this.state=`collapsed`,this.expanded=!1,this.handleOpen=()=>{this.trigger?.setAttribute(`aria-expanded`,`true`),this.expanded=!0,this.dispatchEvent(new CustomEvent(`open`)),this.target&&(this.target.dataset.state=`expanded`),this.cookieName&&window.Craft?.setCookie(this.cookieName,`expanded`)},this.handleClose=()=>{this.trigger?.setAttribute(`aria-expanded`,`false`),this.expanded=!1,this.dispatchEvent(new CustomEvent(`close`)),this.target&&(this.target.dataset.state=`collapsed`),this.cookieName&&window.Craft?.setCookie(this.cookieName,`collapsed`)}}get trigger(){return this.querySelector(`button[type="button"]`)}get target(){if(!this.trigger)return console.warn(`No trigger found for disclosure.`),null;let e=this.trigger.getAttribute(`aria-controls`);return e?document.getElementById(e):(console.warn(`No target selector found for disclosure.`),null)}connectedCallback(){if(!this.trigger){console.error(`craft-disclosure elements must include a button`,this);return}if(!this.target){console.error(`No target with id ${this.trigger.getAttribute(`aria-controls`)} found for disclosure. `,this.trigger);return}this.cookieName=this.getAttribute(`cookie-name`),this.state=this.getAttribute(`state`)??`expanded`,this.trigger.setAttribute(`aria-expanded`,this.state===`expanded`?`true`:`false`),this.trigger.addEventListener(`click`,this.toggle.bind(this)),this.state===`expanded`?this.open():this.close()}disconnectedCallback(){this.open(),this.trigger?.removeEventListener(`click`,this.toggle.bind(this))}attributeChangedCallback(e,t,n){e===`state`&&(n===`expanded`?this.handleOpen():this.handleClose())}toggle(){this.expanded?this.close():this.open()}open(){this.setAttribute(`state`,`expanded`)}close(){this.setAttribute(`state`,`collapsed`)}};Ye.observedAttributes=[`state`],customElements.get(`craft-disclosure`)||customElements.define(`craft-disclosure`,Ye);var Xe=new WeakMap;function Ze(e,t){let n=t;for(;n;){if(Xe.get(n)===e)return!0;n=Object.getPrototypeOf(n)}return!1}function Qe(e){return t=>{if(Ze(e,t))return t;let n=e(t);return Xe.set(n,e),n}}var $e=Qe(e=>class extends e{static get properties(){return{disabled:{type:Boolean,reflect:!0}}}constructor(){super(),this._requestedToBeDisabled=!1,this.__isUserSettingDisabled=!0,this.__restoreDisabledTo=!1,this.disabled=!1}makeRequestToBeDisabled(){this._requestedToBeDisabled===!1&&(this._requestedToBeDisabled=!0,this.__restoreDisabledTo=this.disabled,this.__internalSetDisabled(!0))}retractRequestToBeDisabled(){this._requestedToBeDisabled===!0&&(this._requestedToBeDisabled=!1,this.__internalSetDisabled(this.__restoreDisabledTo))}__internalSetDisabled(e){this.__isUserSettingDisabled=!1,this.disabled=e,this.__isUserSettingDisabled=!0}requestUpdate(e,t,n){super.requestUpdate(e,t,n),e===`disabled`&&(this.__isUserSettingDisabled&&(this.__restoreDisabledTo=this.disabled),this.disabled===!1&&this._requestedToBeDisabled===!0&&this.__internalSetDisabled(!0))}click(){this.disabled||super.click()}}),et=Qe(e=>class extends $e(e){static get properties(){return{tabIndex:{type:Number,reflect:!0,attribute:`tabindex`}}}constructor(){super(),this.__isUserSettingTabIndex=!0,this.__restoreTabIndexTo=0,this.__internalSetTabIndex(0)}makeRequestToBeDisabled(){super.makeRequestToBeDisabled(),this._requestedToBeDisabled===!1&&this.tabIndex!=null&&(this.__restoreTabIndexTo=this.tabIndex)}retractRequestToBeDisabled(){super.retractRequestToBeDisabled(),this._requestedToBeDisabled===!0&&this.__internalSetTabIndex(this.__restoreTabIndexTo)}static enabledWarnings=super.enabledWarnings?.filter(e=>e!==`change-in-update`)||[];__internalSetTabIndex(e){this.__isUserSettingTabIndex=!1,this.tabIndex=e,this.__isUserSettingTabIndex=!0}requestUpdate(e,t,n){super.requestUpdate(e,t,n),e===`disabled`&&(this.disabled?this.__internalSetTabIndex(-1):this.__internalSetTabIndex(this.__restoreTabIndexTo)),e===`tabIndex`&&(this.__isUserSettingTabIndex&&this.tabIndex!=null&&(this.__restoreTabIndexTo=this.tabIndex),this.tabIndex!==-1&&this._requestedToBeDisabled===!0&&this.__internalSetTabIndex(-1))}firstUpdated(e){super.firstUpdated(e),this.disabled&&this.__internalSetTabIndex(-1)}}),{I:tt}=g,nt=e=>e===null||typeof e!=`object`&&typeof e!=`function`,rt=(e,t)=>t===void 0?e?._$litType$!==void 0:e?._$litType$===t,it=e=>e.strings===void 0,at=()=>document.createComment(``),ot=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new tt(r.insertBefore(at(),i),r.insertBefore(at(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=e.nextSibling;r.insertBefore(e,i),e=t}}}return n},st=(e,t,n=e)=>(e._$AI(t,n),e),ct={},lt=(e,t=ct)=>e._$AH=t,ut=e=>e._$AH,dt=e=>{e._$AR(),e._$AA.remove()};function ft(e){return e instanceof Node?`node`:rt(e)?`template-result`:!Array.isArray(e)&&typeof e==`object`&&`template`in e?`slot-rerender-object`:null}var pt=Qe(e=>class extends e{get slots(){return{}}constructor(){super(),this.__renderMetaPerSlot=new Map,this.__slotsThatNeedRerender=new Set,this.__slotsProvidedByUserOnFirstConnected=new Set,this.__privateSlots=new Set}connectedCallback(){super.connectedCallback(),this._connectSlotMixin()}__rerenderSlot(e){let t=this.slots[e]();this.__renderTemplateInScopedContext({renderAsDirectHostChild:t.renderAsDirectHostChild,template:t.template,slotName:e}),t.afterRender?.()}update(e){super.update(e);for(let e of this.__slotsThatNeedRerender)this.__rerenderSlot(e)}__renderTemplateInScopedContext({template:e,slotName:t,renderAsDirectHostChild:n}){if(!this.__renderMetaPerSlot.has(t)){let r=!!ShadowRoot.prototype.createElement;this.shadowRoot||console.error(`[SlotMixin] No shadowRoot was found`);let i=(r?this.shadowRoot:document).createElement(`div`),a=document.createComment(`_start_slot_${t}_`),o=document.createComment(`_end_slot_${t}_`);i.appendChild(a),i.appendChild(o);let{creationScope:s,host:c}=this.renderOptions;if(x(e,i,{renderBefore:o,creationScope:s,host:c}),n){let e=Array.from(i.childNodes);this.__appendNodes({nodes:e,renderParent:this,slotName:t})}else i.slot=t,this.appendChild(i);this.__renderMetaPerSlot.set(t,{renderTargetThatRespectsShadowRootScoping:i,renderBefore:o});return}let{renderBefore:r,renderTargetThatRespectsShadowRootScoping:i}=this.__renderMetaPerSlot.get(t),a=n?this:i,{creationScope:o,host:s}=this.renderOptions;x(e,a,{creationScope:o,host:s,renderBefore:r}),n&&r.previousElementSibling&&!r.previousElementSibling.slot&&(r.previousElementSibling.slot=t)}__appendNodes({nodes:e,renderParent:t=this,slotName:n}){for(let r of e)r instanceof Element&&n&&n!==``&&r.setAttribute(`slot`,n),t.appendChild(r)}__initSlots(e){for(let t of e){if(this.__slotsProvidedByUserOnFirstConnected.has(t))continue;let e=this.slots[t]();if(e!==void 0)switch(this.__isConnectedSlotMixin||this.__privateSlots.add(t),ft(e)){case`template-result`:this.__renderTemplateInScopedContext({template:e,renderAsDirectHostChild:!0,slotName:t});break;case`node`:this.__appendNodes({nodes:[e],renderParent:this,slotName:t});break;case`slot-rerender-object`:this.__slotsThatNeedRerender.add(t),e.firstRenderOnConnected&&this.__rerenderSlot(t);break;default:throw Error(`Slot "${t}" configured inside "get slots()" (in prototype) of ${this.constructor.name} may return these types: TemplateResult | Node | {template:TemplateResult, afterRender?:function} | undefined. - You provided: ${e}`)}}}_connectSlotMixin(){if(this.__isConnectedSlotMixin)return;let e=Object.keys(this.slots);for(let t of e)(t===``?Array.from(this.children).find(e=>!e.hasAttribute(`slot`)):Array.from(this.children).find(e=>e.slot===t))&&this.__slotsProvidedByUserOnFirstConnected.add(t);this.__initSlots(e),this.__isConnectedSlotMixin=!0}_isPrivateSlot(e){return this.__privateSlots.has(e)}});function mt(e=`google-chrome`){let t=globalThis.navigator,n=!!t.userAgentData&&t.userAgentData.brands.some(e=>e.brand===`Chromium`);if(e===`chromium`)return n;let r=globalThis.navigator?.vendor,i=globalThis.opr!==void 0,a=globalThis.userAgent?.indexOf(`Edge`)>-1,o=globalThis.userAgent?.match(`CriOS`);if(e===`ios`)return o;if(e===`google-chrome`)return n!=null&&r===`Google Inc.`&&i===!1&&a===!1}var ht={isIE11:/Trident/.test(globalThis.navigator?.userAgent),isChrome:mt(),isIOSChrome:mt(`ios`),isChromium:mt(`chromium`),isFirefox:globalThis.navigator?.userAgent.toLowerCase().indexOf(`firefox`)>-1,isMac:globalThis.navigator?.appVersion?.indexOf(`Mac`)!==-1,isIOS:/iPhone|iPad|iPod/i.test(globalThis.navigator?.userAgent),isMacSafari:globalThis.navigator?.vendor&&globalThis.navigator?.vendor.indexOf(`Apple`)>-1&&globalThis.navigator?.userAgent&&globalThis.navigator?.userAgent.indexOf(`CriOS`)===-1&&globalThis.navigator?.userAgent.indexOf(`FxiOS`)===-1&&globalThis.navigator?.appVersion.indexOf(`Mac`)!==-1};function gt(e=``){return`${e.length>0?`${e}-`:``}${Math.random().toString(36).substr(2,10)}`}var _t=e=>e.key===` `||e.key===`Enter`,vt=e=>e.key===` `,yt=class extends et(w){static get properties(){return{active:{type:Boolean,reflect:!0},type:{type:String,reflect:!0}}}render(){return _`

`}static get styles(){return[y` - :host { - position: relative; - display: inline-flex; - box-sizing: border-box; - vertical-align: middle; - line-height: 24px; - background-color: #eee; /* minimal styling to make it recognizable as btn */ - padding: 8px; /* padding to fix with min-height */ - outline: none; /* focus style handled below */ - cursor: default; /* we should always see the default arrow, never a caret */ - /* TODO: remove, native button also allows selection. Could be usability concern... */ - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - } - - :host::before { - content: ''; - - /* center vertically and horizontally */ - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - - /* Minimum click area to meet [WCAG Success Criterion 2.5.5 Target Size (Enhanced)](https://www.w3.org/TR/WCAG22/#target-size-enhanced) */ - min-height: 44px; - min-width: 44px; - width: 100%; - height: 100%; - } - - .button-content { - display: flex; - align-items: center; - justify-content: center; - } - - /* Show focus styles on keyboard focus. */ - :host(:focus:not([disabled])), - :host(:focus-visible) { - /* if you extend, please overwrite */ - outline: 2px solid #bde4ff; - } - - /* Hide focus styles if they're not needed, for example, - when an element receives focus via the mouse. */ - :host(:focus:not(:focus-visible)) { - outline: 0; - } - - :host(:hover) { - /* if you extend, please overwrite */ - background: #f4f6f7; - } - - :host(:active), /* keep native :active to render quickly where possible */ - :host([active]) /* use custom [active] to fix IE11 */ { - /* if you extend, please overwrite */ - background: gray; - } - - :host([hidden]) { - display: none; - } - - :host([disabled]) { - pointer-events: none; - /* if you extend, please overwrite */ - background: lightgray; - color: #adadad; - fill: #adadad; - } - `]}constructor(){super(),this.type=`button`,this.active=!1,this.__setupEvents()}connectedCallback(){super.connectedCallback(),this.hasAttribute(`role`)||this.setAttribute(`role`,`button`)}updated(e){super.updated(e),e.has(`disabled`)&&(this.disabled?this.setAttribute(`aria-disabled`,`true`):this.getAttribute(`aria-disabled`)!==null&&this.removeAttribute(`aria-disabled`))}__setupEvents(){this.addEventListener(`mousedown`,this.__mousedownHandler),this.addEventListener(`keydown`,this.__keydownHandler),this.addEventListener(`keyup`,this.__keyupHandler)}__mousedownHandler(){this.active=!0;let e=()=>{this.active=!1,document.removeEventListener(`mouseup`,e),this.removeEventListener(`mouseup`,e)};document.addEventListener(`mouseup`,e),this.addEventListener(`mouseup`,e)}__keydownHandler(e){if(this.active||!_t(e)){vt(e)&&e.preventDefault();return}vt(e)&&e.preventDefault(),this.active=!0;let t=e=>{_t(e)&&(this.active=!1,document.removeEventListener(`keyup`,t,!0))};document.addEventListener(`keyup`,t,!0)}__keyupHandler(e){if(_t(e)){if(e.target&&e.target!==this)return;this.click()}}},bt=class extends yt{constructor(){super(),this.type=`reset`,this.__setupDelegationInConstructor(),this.__submitAndResetHelperButton=document.createElement(`button`),this.__preventEventLeakage=this.__preventEventLeakage.bind(this)}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{this._setupSubmitAndResetHelperOnConnected()})}disconnectedCallback(){super.disconnectedCallback(),this._teardownSubmitAndResetHelperOnDisconnected()}__preventEventLeakage(e){e.target===this.__submitAndResetHelperButton&&e.stopImmediatePropagation()}_setupSubmitAndResetHelperOnConnected(){this.appendChild(this.__submitAndResetHelperButton),this._form=this.__submitAndResetHelperButton.form,this.removeChild(this.__submitAndResetHelperButton),this._form&&this._form.addEventListener(`click`,this.__preventEventLeakage)}_teardownSubmitAndResetHelperOnDisconnected(){this._form&&this._form.removeEventListener(`click`,this.__preventEventLeakage)}async __clickDelegationHandler(e){this._form||await this.updateComplete,(this.type===`submit`||this.type===`reset`)&&e.target===this&&this._form&&(this.__submitAndResetHelperButton.type=this.type,this._form.appendChild(this.__submitAndResetHelperButton),this.__submitAndResetHelperButton.click(),this._form.removeChild(this.__submitAndResetHelperButton))}__setupDelegationInConstructor(){this.addEventListener(`click`,this.__clickDelegationHandler,!0)}},xt=new WeakMap;function St(){let e=document.createElement(`button`);return e.tabIndex=-1,e.type=`submit`,e.setAttribute(`aria-hidden`,`true`),e.style.cssText=` - position: absolute; - top: 0; - left: 0; - clip: rect(0 0 0 0); - clip-path: inset(50%); - overflow: hidden; - white-space: nowrap; - height: 1px; - width: 1px; - padding: 0; /* reset default agent styles */ - border: 0; /* reset default agent styles */ - `,e}var Ct=class extends bt{get _nativeButtonNode(){return xt.get(this._form)?.helper||null}constructor(){super(),this.type=`submit`,this.__implicitSubmitHelperButton=null}_setupSubmitAndResetHelperOnConnected(){if(super._setupSubmitAndResetHelperOnConnected(),!this._form||this.type!==`submit`)return;let e=this._form;if(!xt.get(this._form)){let t=St(),n=document.createElement(`div`);n.appendChild(t),xt.set(this._form,{lionButtons:new Set,helper:t,observer:new MutationObserver(()=>{e.appendChild(n)})}),e.appendChild(n),xt.get(e)?.observer.observe(n,{childList:!0})}xt.get(e)?.lionButtons.add(this)}_teardownSubmitAndResetHelperOnDisconnected(){if(super._teardownSubmitAndResetHelperOnDisconnected(),this._form){let e=xt.get(this._form);e&&(e.lionButtons.delete(this),e.lionButtons.size||(this._form.contains(e.helper)&&e.helper.remove(),xt.get(this._form)?.observer.disconnect(),xt.delete(this._form)))}}},wt=y` - :host { - --_size: var(--size, 24px); - } +import{a as e,c as t,d as n,i as r,l as i,n as a,o,p as s,s as c,u as l}from"./progress-B7_TV7MI.js";import{t as u}from"./decorate-CiqoObkL.js";import{a as d,c as f,d as p,f as m,i as h,n as g,p as _,r as v,t as y}from"./lit.js";import{a as b,i as x,o as S,r as C,t as w}from"./decorators.js";import{a as T,i as E,n as D,o as ee,r as te,s as ne}from"./nav-item-DCsUKnaY.js";import"./nav-list-Dy8OA_nL.js";var re=``,ie=``;function ae(e){re=e}function oe(e=``){if(!re){let e=document.querySelector(`[data-webawesome]`);if(e?.hasAttribute(`data-webawesome`)){let t=new URL(e.getAttribute(`data-webawesome`)??``,window.location.href).pathname;ae(t)}else{let e=[...document.getElementsByTagName(`script`)].find(e=>e.src.endsWith(`webawesome.js`)||e.src.endsWith(`webawesome.loader.js`)||e.src.endsWith(`webawesome.ssr-loader.js`));e&&ae(String(e.getAttribute(`src`)).split(`/`).slice(0,-1).join(`/`))}}return re.replace(/\/$/,``)+(e?`/${e.replace(/^\//,``)}`:``)}function se(e){ie=e}function ce(){if(!ie){let e=document.querySelector(`[data-fa-kit-code]`);e&&se(e.getAttribute(`data-fa-kit-code`)||``)}return ie}var le=`7.0.1`;function ue(e,t,n){let r=ce(),i=r.length>0,a=`solid`;return t===`notdog`?(n===`solid`&&(a=`solid`),n===`duo-solid`&&(a=`duo-solid`),`https://ka-p.fontawesome.com/releases/v${le}/svgs/notdog-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`chisel`?`https://ka-p.fontawesome.com/releases/v${le}/svgs/chisel-regular/${e}.svg?token=${encodeURIComponent(r)}`:t===`etch`?`https://ka-p.fontawesome.com/releases/v${le}/svgs/etch-solid/${e}.svg?token=${encodeURIComponent(r)}`:t===`jelly`?(n===`regular`&&(a=`regular`),n===`duo-regular`&&(a=`duo-regular`),n===`fill-regular`&&(a=`fill-regular`),`https://ka-p.fontawesome.com/releases/v${le}/svgs/jelly-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`slab`?((n===`solid`||n===`regular`)&&(a=`regular`),n===`press-regular`&&(a=`press-regular`),`https://ka-p.fontawesome.com/releases/v${le}/svgs/slab-${a}/${e}.svg?token=${encodeURIComponent(r)}`):t===`thumbprint`?`https://ka-p.fontawesome.com/releases/v${le}/svgs/thumbprint-light/${e}.svg?token=${encodeURIComponent(r)}`:t===`whiteboard`?`https://ka-p.fontawesome.com/releases/v${le}/svgs/whiteboard-semibold/${e}.svg?token=${encodeURIComponent(r)}`:(t===`classic`&&(n===`thin`&&(a=`thin`),n===`light`&&(a=`light`),n===`regular`&&(a=`regular`),n===`solid`&&(a=`solid`)),t===`sharp`&&(n===`thin`&&(a=`sharp-thin`),n===`light`&&(a=`sharp-light`),n===`regular`&&(a=`sharp-regular`),n===`solid`&&(a=`sharp-solid`)),t===`duotone`&&(n===`thin`&&(a=`duotone-thin`),n===`light`&&(a=`duotone-light`),n===`regular`&&(a=`duotone-regular`),n===`solid`&&(a=`duotone`)),t===`sharp-duotone`&&(n===`thin`&&(a=`sharp-duotone-thin`),n===`light`&&(a=`sharp-duotone-light`),n===`regular`&&(a=`sharp-duotone-regular`),n===`solid`&&(a=`sharp-duotone-solid`)),t===`brands`&&(a=`brands`),i?`https://ka-p.fontawesome.com/releases/v${le}/svgs/${a}/${e}.svg?token=${encodeURIComponent(r)}`:`https://ka-f.fontawesome.com/releases/v${le}/svgs/${a}/${e}.svg`)}var de={name:`default`,resolver:(e,t=`classic`,n=`solid`)=>ue(e,t,n),mutator:(e,t)=>{if(t?.family&&!e.hasAttribute(`data-duotone-initialized`)){let{family:n,variant:r}=t;if(n===`duotone`||n===`sharp-duotone`||n===`notdog`&&r===`duo-solid`||n===`jelly`&&r===`duo-regular`||n===`thumbprint`){let n=[...e.querySelectorAll(`path`)],r=n.find(e=>!e.hasAttribute(`opacity`)),i=n.find(e=>e.hasAttribute(`opacity`));if(!r||!i)return;if(r.setAttribute(`data-duotone-primary`,``),i.setAttribute(`data-duotone-secondary`,``),t.swapOpacity&&r&&i){let e=i.getAttribute(`opacity`)||`0.4`;r.style.setProperty(`--path-opacity`,e),i.style.setProperty(`--path-opacity`,`1`)}e.setAttribute(`data-duotone-initialized`,``)}}}},fe=`modulepreload`,pe=function(e,t){return new URL(e,t).href},me={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=pe(t,n),t in me)return;me[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:fe,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};new MutationObserver(e=>{for(let{addedNodes:t}of e)for(let e of t)e.nodeType===Node.ELEMENT_NODE&&he(e)});async function he(e){let t=e instanceof Element?e.tagName.toLowerCase():``,n=t?.startsWith(`wa-`),r=[...e.querySelectorAll(`:not(:defined)`)].map(e=>e.tagName.toLowerCase()).filter(e=>e.startsWith(`wa-`));n&&!customElements.get(t)&&r.push(t);let i=[...new Set(r)],a=await Promise.allSettled(i.map(e=>ge(e)));for(let e of a)e.status===`rejected`&&console.warn(e.reason);await new Promise(requestAnimationFrame),e.dispatchEvent(new CustomEvent(`wa-discovery-complete`,{bubbles:!1,cancelable:!1,composed:!0}))}function ge(e){if(customElements.get(e))return Promise.resolve();let t=e.replace(/^wa-/i,``),n=oe(`components/${t}/${t}.js`);return new Promise((t,r)=>{O(()=>import(n).then(()=>t()),[],import.meta.url).catch(()=>r(Error(`Unable to autoload <${e}> from ${n}`)))})}var _e=new Set,ve=new Map,ye,be=`ltr`,xe=`en`,Se=typeof MutationObserver<`u`&&typeof document<`u`&&document.documentElement!==void 0;if(Se){let e=new MutationObserver(we);be=document.documentElement.dir||`ltr`,xe=document.documentElement.lang||navigator.language,e.observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`,`lang`]})}function Ce(...e){e.map(e=>{let t=e.$code.toLowerCase();ve.has(t)?ve.set(t,Object.assign(Object.assign({},ve.get(t)),e)):ve.set(t,e),ye||=e}),we()}function we(){Se&&(be=document.documentElement.dir||`ltr`,xe=document.documentElement.lang||navigator.language),[..._e.keys()].map(e=>{typeof e.requestUpdate==`function`&&e.requestUpdate()})}var Te=class{constructor(e){this.host=e,this.host.addController(this)}hostConnected(){_e.add(this.host)}hostDisconnected(){_e.delete(this.host)}dir(){return`${this.host.dir||be}`.toLowerCase()}lang(){return`${this.host.lang||xe}`.toLowerCase()}getTranslationData(e){let t=new Intl.Locale(e.replace(/_/g,`-`)),n=t?.language.toLowerCase(),r=(t?.region)?.toLowerCase()??``;return{locale:t,language:n,region:r,primary:ve.get(`${n}-${r}`),secondary:ve.get(n)}}exists(e,t){let{primary:n,secondary:r}=this.getTranslationData(t.lang??this.lang());return t=Object.assign({includeFallback:!1},t),!!(n&&n[e]||r&&r[e]||t.includeFallback&&ye&&ye[e])}term(e,...t){let{primary:n,secondary:r}=this.getTranslationData(this.lang()),i;if(n&&n[e])i=n[e];else if(r&&r[e])i=r[e];else if(ye&&ye[e])i=ye[e];else return console.error(`No translation found for: ${String(e)}`),String(e);return typeof i==`function`?i(...t):i}date(e,t){return e=new Date(e),new Intl.DateTimeFormat(this.lang(),t).format(e)}number(e,t){return e=Number(e),isNaN(e)?``:new Intl.NumberFormat(this.lang(),t).format(e)}relativeTime(e,t,n){return new Intl.RelativeTimeFormat(this.lang(),n).format(e,t)}},Ee={$code:`en`,$name:`English`,$dir:`ltr`,carousel:`Carousel`,clearEntry:`Clear entry`,close:`Close`,copied:`Copied`,copy:`Copy`,currentValue:`Current value`,error:`Error`,goToSlide:(e,t)=>`Go to slide ${e} of ${t}`,hidePassword:`Hide password`,loading:`Loading`,nextSlide:`Next slide`,numOptionsSelected:e=>e===0?`No options selected`:e===1?`1 option selected`:`${e} options selected`,pauseAnimation:`Pause animation`,playAnimation:`Play animation`,previousSlide:`Previous slide`,progress:`Progress`,remove:`Remove`,resize:`Resize`,scrollableRegion:`Scrollable region`,scrollToEnd:`Scroll to end`,scrollToStart:`Scroll to start`,selectAColorFromTheScreen:`Select a color from the screen`,showPassword:`Show password`,slideNum:e=>`Slide ${e}`,toggleColorFormat:`Toggle color format`,zoomIn:`Zoom in`,zoomOut:`Zoom out`};Ce(Ee);var De=Ee,Oe=class extends Te{};Ce(De);function ke(e){return`data:image/svg+xml,${encodeURIComponent(e)}`}var Ae={solid:{check:``,"chevron-down":``,"chevron-left":``,"chevron-right":``,circle:``,eyedropper:``,"grip-vertical":``,indeterminate:``,minus:``,pause:``,play:``,star:``,user:``,xmark:``},regular:{"circle-question":``,"circle-xmark":``,copy:``,eye:``,"eye-slash":``,star:``}},je={name:`system`,resolver:(e,t=`classic`,n=`solid`)=>{let r=Ae[n][e]??Ae.regular[e]??Ae.regular[`circle-question`];return r?ke(r):``}},Me=`classic`,Ne=[de,je],Pe=[];function Fe(e){Pe.push(e)}function Ie(e){Pe=Pe.filter(t=>t!==e)}function Le(e){return Ne.find(t=>t.name===e)}function Re(e,t){ze(e),Ne.push({name:e,resolver:t.resolver,mutator:t.mutator,spriteSheet:t.spriteSheet}),Pe.forEach(t=>{t.library===e&&t.setIcon()})}function ze(e){Ne=Ne.filter(t=>t.name!==e)}function Be(){return Me}var Ve=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ue=e=>{throw TypeError(e)},k=(e,t,n,r)=>{for(var i=r>1?void 0:r?He(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Ve(t,n,i),i},We=(e,t,n)=>t.has(e)||Ue(`Cannot `+n),Ge=(e,t,n)=>(We(e,t,`read from private field`),n?n.call(e):t.get(e)),Ke=(e,t,n)=>t.has(e)?Ue(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),qe=(e,t,n,r)=>(We(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),Je={alert:`triangle-exclamation`,asc:`arrow-down-short-wide`,asset:`image`,assets:`image`,circleuarr:`circle-arrow-up`,collapse:`down-left-and-up-right-to-center`,condition:`diamond`,darr:`arrow-down`,date:`calendar`,desc:`arrow-down-wide-short`,disabled:`circle-dashed`,done:`circle-check`,downangle:`angle-down`,draft:`scribble`,edit:`pencil`,enabled:`circle`,expand:`up-right-and-down-left-from-center`,external:`arrow-up-right-from-square`,field:`pen-to-square`,help:`circle-question`,home:`house`,info:`circle-info`,insecure:`unlock`,larr:`arrow-left`,layout:`table-layout`,leftangle:`angle-left`,listrtl:`list-flip`,location:`location-dot`,mail:`envelope`,menu:`bars`,move:`grip-dots`,newstamp:`certificate`,paperplane:`paper-plane`,plugin:`plug`,rarr:`arrow-right`,refresh:`arrows-rotate`,remove:`xmark`,rightangle:`angle-right`,rotate:`rotate-left`,routes:`signs-post`,search:`magnifying-glass`,secure:`lock`,settings:`gear`,shareleft:`share-flip`,shuteye:`eye-slash`,"sidebar-left":`sidebar`,"sidebar-right":`sidebar-flip`,"sidebar-start":`sidebar`,"sidebar-end":`sidebar-flip`,structure:`list-tree`,structurertl:`list-tree-flip`,template:`file-code`,time:`clock`,tool:`wrench`,uarr:`arrow-up`,upangle:`angle-up`,view:`eye`,wand:`wand-magic-sparkles`};function Ye(e,t=`classic`,n=`regular`){let r=`solid`,i=n,a=e.endsWith(`.svg`)?e.split(`.svg`)[0]:e;if(e.includes(`/`)){let[t,...n]=e.split(`/`);i=t??i,a=n.join(`/`)}return i===`thin`?r=`thin`:i===`light`?r=`light`:i===`regular`?r=`regular`:i===`solid`&&(r=`solid`),t===`brands`&&(r=`brands`),(t===`custom-icons`||i===`custom-icons`)&&(r=`custom-icons`),a=Je[a]??a,`/vendor/craft/icons/${r}/${a}.svg`}function Xe(){Re(`default`,{resolver:(e,t=`classic`,n=`solid`)=>Ye(e,t,n),mutator:e=>e.setAttribute(`fill`,`currentColor`)})}var Ze=m` + --_border-width: var( + --c-input-border-width, + var(--c-form-control-border-width) + ); + --_min-height: var(--c-input-height, var(--c-size-control-md)); + font: inherit; + color: var(--c-input-text, var(--c-text-default)); + position: relative; + min-height: calc(var(--_min-height) - 2 * var(--_border-width)); + border-width: var(--_border-width); + border-style: var(--c-input-border-style, var(--c-form-control-border-style)); + border-color: var(--c-input-border-color, var(--c-form-control-border-color)); + border-radius: var(--c-input-radius, var(--c-radius-sm)); + padding-block: 0; + width: 100%; + flex: 1 1 auto; + background-color: var(--c-input-fill, var(--c-form-control-fill)); + box-shadow: var(--c-input-shadow); - .wrapper { - display: inline-flex; - justify-content: center; + /* Detect mobile devices and up the font size of inputs to avoid zoom on focus */ + @media (pointer: none), (pointer: coarse) { + font-size: 1rem; } - - .hidden { - display: none; +`,Qe=m` + :host(:not([label-sr-only])) .form-field__group-one { + margin-block-end: var(--c-spacing-sm); } - @keyframes rotator { - 0% { - transform: rotate(0); - } + :host([has-feedback-for='error']) { + color: var(--c-color-danger-on-normal); - 100% { - transform: rotate(1turn); + ::slotted([slot='input']) { + border-color: var(--c-color-danger-border-loud); } } - .spinner { - display: inline-flex; - align-items: center; - justify-content: center; - width: var(--_size); - height: var(--_size); + ::slotted(label) { + line-height: 1; + font-weight: bold; + font-size: var(--text-sm); } - .spinner:before { - display: block; - content: ''; - font-size: 0; - animation: rotator 0.7s linear infinite; - box-sizing: border-box; - width: 100%; - height: 100%; - border-radius: 50%; - border: 2px solid transparent; - border-inline-end-color: currentcolor; - border-block-end-color: currentcolor; - opacity: 0.8; + .form-field__help-text { + font-size: 1em; + color: var(--c-text-quiet); } -`,Tt=y` - :host { - cursor: pointer; - font: inherit; - display: inline-flex; - justify-content: center; - gap: var(--c-spacing-sm); - align-items: center; - border-radius: var(--c-button-radius, var(--c-form-control-radius)); - padding-inline: var( - --c-button-spacing-inline, - var(--c-form-control-spacing-inline) - ); - padding-block: 0; - width: auto; - min-height: var(--c-button-height, var(--c-size-control-md)); - min-width: var(--c-button-width, var(--c-size-control-md)); - white-space: nowrap; - /* Colorable styles */ - color: var(--c-color-on-loud, var(--c-color-neutral-on-loud)); - border-width: var(--c-button-border-width, 1px); - border-style: var(--c-button-border-style, solid); - border-color: var( - --c-color-border-loud, - var(--c-color-neutral-border-loud) - ); - background-color: var( - --c-color-fill-loud, - var(--c-color-neutral-fill-loud) - ); + .input-group__after { + margin-block-start: var(--c-spacing-sm); } +`,$e=m` + ${Qe} - @media (hover: hover) { - :host(:hover) { - background-color: color-mix( - in oklab, - var(--c-color-fill-loud, var(--c-button-default-fill)), - var(--c-color-mix-hover) - ); - color: var(--c-color-on-loud); - } + ::slotted([slot='input']) { + font: inherit; + padding-block: 0; + border: none; + appearance: none; + padding-inline: var(--c-input-spacing-inline); + background-color: transparent; } - :host(:not(:disabled):not(.loading):active) { - color: var(--c-color-on-loud); - background-color: color-mix( - in oklab, - var(--c-color-fill-loud, var(--c-color-neutral-fill-normal)), - var(--c-color-mix-active) - ); + .input-group__container { + ${Ze} } - /* - Sizes - */ - :host([size~='zero']) { - min-width: 0; - min-height: 0; - padding-inline: 0; + .input-group__prefix, + .input-group__suffix { + padding-inline: var(--c-input-spacing-inline); + display: grid; + place-items: center; } - :host([size~='small']) { - padding-inline: var(--c-spacing-sm); - min-width: var(--c-size-control-sm); - min-height: var(--c-size-control-sm); - font-size: 0.9em; + .input-group__prefix + .input-group__input { + border-radius-start-start: 0; + border-radius-start-end: 0; } - :host([size~='large']) { - padding-inline: var(--c-spacing-lg); - min-height: var(--c-size-control-lg); - min-width: var(--c-size-control-lg); + :host([size~='small']) ::slotted([slot='input']) { + --c-input-height: var(--c-size-control-sm); + --c-input-spacing-inline: var(--c-spacing-sm); } - :host([loading]) { - position: relative; - - .prefix, - .label, - .suffix { - visibility: hidden; - } - - craft-spinner { - --size: 1.25em; - position: absolute; - inset-block-start: calc(50% - var(--size) / 2); - inset-inline-start: calc(50% - var(--size) / 2); - } - } - - /* - Icon - */ - :host([icon]) { - aspect-ratio: 1; - padding-inline: 0; - padding-block: 0; - display: inline-flex; - flex-direction: column; - justify-content: center; - align-items: center; - line-height: 1; + :host([center]) ::slotted([slot='input']) { + text-align: center; } +`,et=new WeakMap;function tt(e,t){let n=t;for(;n;){if(et.get(n)===e)return!0;n=Object.getPrototypeOf(n)}return!1}function nt(e){return t=>{if(tt(e,t))return t;let n=e(t);return et.set(n,e),n}}var rt=window,it=new WeakMap;function at(e){rt.applyFocusVisiblePolyfill&&!it.has(e)&&(rt.applyFocusVisiblePolyfill(e),it.set(e,void 0))}var ot=nt(e=>class extends e{static get properties(){return{focused:{type:Boolean,reflect:!0},focusedVisible:{type:Boolean,reflect:!0,attribute:`focused-visible`},autofocus:{type:Boolean,reflect:!0}}}constructor(){super(),this.focused=!1,this.focusedVisible=!1,this.autofocus=!1}firstUpdated(e){super.firstUpdated(e),this.__registerEventsForFocusMixin(),this.__syncAutofocusToFocusableElement()}disconnectedCallback(){super.disconnectedCallback(),this.__teardownEventsForFocusMixin()}updated(e){super.updated(e),e.has(`autofocus`)&&this.__syncAutofocusToFocusableElement()}__syncAutofocusToFocusableElement(){this._focusableNode&&(this.hasAttribute(`autofocus`)?this._focusableNode.setAttribute(`autofocus`,``):this._focusableNode.removeAttribute(`autofocus`))}focus(){this._focusableNode?.focus()}blur(){this._focusableNode?.blur()}get _focusableNode(){return this._inputNode||document.createElement(`input`)}__onFocus(){if(this.focused=!0,typeof rt.applyFocusVisiblePolyfill==`function`)this.focusedVisible=this._focusableNode.hasAttribute(`data-focus-visible-added`);else try{this.focusedVisible=this._focusableNode.matches(`:focus-visible`)}catch{this.focusedVisible=!1}}__onBlur(){this.focused=!1,this.focusedVisible=!1}__registerEventsForFocusMixin(){at(this.getRootNode()),this.__redispatchFocus=e=>{e.stopPropagation(),this.dispatchEvent(new Event(`focus`))},this._focusableNode.addEventListener(`focus`,this.__redispatchFocus),this.__redispatchBlur=e=>{e.stopPropagation(),this.dispatchEvent(new Event(`blur`))},this._focusableNode.addEventListener(`blur`,this.__redispatchBlur),this.__redispatchFocusin=e=>{e.stopPropagation(),this.__onFocus(),this.dispatchEvent(new Event(`focusin`,{bubbles:!0,composed:!0}))},this._focusableNode.addEventListener(`focusin`,this.__redispatchFocusin),this.__redispatchFocusout=e=>{e.stopPropagation(),this.__onBlur(),this.dispatchEvent(new Event(`focusout`,{bubbles:!0,composed:!0}))},this._focusableNode.addEventListener(`focusout`,this.__redispatchFocusout)}__teardownEventsForFocusMixin(){this._focusableNode&&(this._focusableNode?.removeEventListener(`focus`,this.__redispatchFocus),this._focusableNode?.removeEventListener(`blur`,this.__redispatchBlur),this._focusableNode?.removeEventListener(`focusin`,this.__redispatchFocusin),this._focusableNode?.removeEventListener(`focusout`,this.__redispatchFocusout))}}),st=nt(e=>class extends e{static get properties(){return{disabled:{type:Boolean,reflect:!0}}}constructor(){super(),this._requestedToBeDisabled=!1,this.__isUserSettingDisabled=!0,this.__restoreDisabledTo=!1,this.disabled=!1}makeRequestToBeDisabled(){this._requestedToBeDisabled===!1&&(this._requestedToBeDisabled=!0,this.__restoreDisabledTo=this.disabled,this.__internalSetDisabled(!0))}retractRequestToBeDisabled(){this._requestedToBeDisabled===!0&&(this._requestedToBeDisabled=!1,this.__internalSetDisabled(this.__restoreDisabledTo))}__internalSetDisabled(e){this.__isUserSettingDisabled=!1,this.disabled=e,this.__isUserSettingDisabled=!0}requestUpdate(e,t,n){super.requestUpdate(e,t,n),e===`disabled`&&(this.__isUserSettingDisabled&&(this.__restoreDisabledTo=this.disabled),this.disabled===!1&&this._requestedToBeDisabled===!0&&this.__internalSetDisabled(!0))}click(){this.disabled||super.click()}}),ct=nt(e=>class extends st(e){static get properties(){return{tabIndex:{type:Number,reflect:!0,attribute:`tabindex`}}}constructor(){super(),this.__isUserSettingTabIndex=!0,this.__restoreTabIndexTo=0,this.__internalSetTabIndex(0)}makeRequestToBeDisabled(){super.makeRequestToBeDisabled(),this._requestedToBeDisabled===!1&&this.tabIndex!=null&&(this.__restoreTabIndexTo=this.tabIndex)}retractRequestToBeDisabled(){super.retractRequestToBeDisabled(),this._requestedToBeDisabled===!0&&this.__internalSetTabIndex(this.__restoreTabIndexTo)}static enabledWarnings=super.enabledWarnings?.filter(e=>e!==`change-in-update`)||[];__internalSetTabIndex(e){this.__isUserSettingTabIndex=!1,this.tabIndex=e,this.__isUserSettingTabIndex=!0}requestUpdate(e,t,n){super.requestUpdate(e,t,n),e===`disabled`&&(this.disabled?this.__internalSetTabIndex(-1):this.__internalSetTabIndex(this.__restoreTabIndexTo)),e===`tabIndex`&&(this.__isUserSettingTabIndex&&this.tabIndex!=null&&(this.__restoreTabIndexTo=this.tabIndex),this.tabIndex!==-1&&this._requestedToBeDisabled===!0&&this.__internalSetTabIndex(-1))}firstUpdated(e){super.firstUpdated(e),this.disabled&&this.__internalSetTabIndex(-1)}}),{I:lt}=d,ut=e=>e===null||typeof e!=`object`&&typeof e!=`function`,dt=(e,t)=>t===void 0?e?._$litType$!==void 0:e?._$litType$===t,ft=e=>e.strings===void 0,pt=()=>document.createComment(``),mt=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new lt(r.insertBefore(pt(),i),r.insertBefore(pt(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=e.nextSibling;r.insertBefore(e,i),e=t}}}return n},ht=(e,t,n=e)=>(e._$AI(t,n),e),gt={},_t=(e,t=gt)=>e._$AH=t,vt=e=>e._$AH,yt=e=>{e._$AR(),e._$AA.remove()};function bt(e){return e instanceof Node?`node`:dt(e)?`template-result`:!Array.isArray(e)&&typeof e==`object`&&`template`in e?`slot-rerender-object`:null}var xt=nt(e=>class extends e{get slots(){return{}}constructor(){super(),this.__renderMetaPerSlot=new Map,this.__slotsThatNeedRerender=new Set,this.__slotsProvidedByUserOnFirstConnected=new Set,this.__privateSlots=new Set}connectedCallback(){super.connectedCallback(),this._connectSlotMixin()}__rerenderSlot(e){let t=this.slots[e]();this.__renderTemplateInScopedContext({renderAsDirectHostChild:t.renderAsDirectHostChild,template:t.template,slotName:e}),t.afterRender?.()}update(e){super.update(e);for(let e of this.__slotsThatNeedRerender)this.__rerenderSlot(e)}__renderTemplateInScopedContext({template:e,slotName:t,renderAsDirectHostChild:n}){if(!this.__renderMetaPerSlot.has(t)){let r=!!ShadowRoot.prototype.createElement;this.shadowRoot||console.error(`[SlotMixin] No shadowRoot was found`);let i=(r?this.shadowRoot:document).createElement(`div`),a=document.createComment(`_start_slot_${t}_`),o=document.createComment(`_end_slot_${t}_`);i.appendChild(a),i.appendChild(o);let{creationScope:s,host:c}=this.renderOptions;if(g(e,i,{renderBefore:o,creationScope:s,host:c}),n){let e=Array.from(i.childNodes);this.__appendNodes({nodes:e,renderParent:this,slotName:t})}else i.slot=t,this.appendChild(i);this.__renderMetaPerSlot.set(t,{renderTargetThatRespectsShadowRootScoping:i,renderBefore:o});return}let{renderBefore:r,renderTargetThatRespectsShadowRootScoping:i}=this.__renderMetaPerSlot.get(t),a=n?this:i,{creationScope:o,host:s}=this.renderOptions;g(e,a,{creationScope:o,host:s,renderBefore:r}),n&&r.previousElementSibling&&!r.previousElementSibling.slot&&(r.previousElementSibling.slot=t)}__appendNodes({nodes:e,renderParent:t=this,slotName:n}){for(let r of e)r instanceof Element&&n&&n!==``&&r.setAttribute(`slot`,n),t.appendChild(r)}__initSlots(e){for(let t of e){if(this.__slotsProvidedByUserOnFirstConnected.has(t))continue;let e=this.slots[t]();if(e!==void 0)switch(this.__isConnectedSlotMixin||this.__privateSlots.add(t),bt(e)){case`template-result`:this.__renderTemplateInScopedContext({template:e,renderAsDirectHostChild:!0,slotName:t});break;case`node`:this.__appendNodes({nodes:[e],renderParent:this,slotName:t});break;case`slot-rerender-object`:this.__slotsThatNeedRerender.add(t),e.firstRenderOnConnected&&this.__rerenderSlot(t);break;default:throw Error(`Slot "${t}" configured inside "get slots()" (in prototype) of ${this.constructor.name} may return these types: TemplateResult | Node | {template:TemplateResult, afterRender?:function} | undefined. + You provided: ${e}`)}}}_connectSlotMixin(){if(this.__isConnectedSlotMixin)return;let e=Object.keys(this.slots);for(let t of e)(t===``?Array.from(this.children).find(e=>!e.hasAttribute(`slot`)):Array.from(this.children).find(e=>e.slot===t))&&this.__slotsProvidedByUserOnFirstConnected.add(t);this.__initSlots(e),this.__isConnectedSlotMixin=!0}_isPrivateSlot(e){return this.__privateSlots.has(e)}});function St(e=`google-chrome`){let t=globalThis.navigator,n=!!t.userAgentData&&t.userAgentData.brands.some(e=>e.brand===`Chromium`);if(e===`chromium`)return n;let r=globalThis.navigator?.vendor,i=globalThis.opr!==void 0,a=globalThis.userAgent?.indexOf(`Edge`)>-1,o=globalThis.userAgent?.match(`CriOS`);if(e===`ios`)return o;if(e===`google-chrome`)return n!=null&&r===`Google Inc.`&&i===!1&&a===!1}var Ct={isIE11:/Trident/.test(globalThis.navigator?.userAgent),isChrome:St(),isIOSChrome:St(`ios`),isChromium:St(`chromium`),isFirefox:globalThis.navigator?.userAgent.toLowerCase().indexOf(`firefox`)>-1,isMac:globalThis.navigator?.appVersion?.indexOf(`Mac`)!==-1,isIOS:/iPhone|iPad|iPod/i.test(globalThis.navigator?.userAgent),isMacSafari:globalThis.navigator?.vendor&&globalThis.navigator?.vendor.indexOf(`Apple`)>-1&&globalThis.navigator?.userAgent&&globalThis.navigator?.userAgent.indexOf(`CriOS`)===-1&&globalThis.navigator?.userAgent.indexOf(`FxiOS`)===-1&&globalThis.navigator?.appVersion.indexOf(`Mac`)!==-1};function wt(e=``){return`${e.length>0?`${e}-`:``}${Math.random().toString(36).substr(2,10)}`}function Tt(e,t){return t={exports:{}},e(t,t.exports),t.exports}var Et=`long`,Dt=`short`,Ot=`narrow`,A=`numeric`,kt=`2-digit`,At={number:{decimal:{style:`decimal`},integer:{style:`decimal`,maximumFractionDigits:0},currency:{style:`currency`,currency:`USD`},percent:{style:`percent`},default:{style:`decimal`}},date:{short:{month:A,day:A,year:kt},medium:{month:Dt,day:A,year:A},long:{month:Et,day:A,year:A},full:{month:Et,day:A,year:A,weekday:Et},default:{month:Dt,day:A,year:A}},time:{short:{hour:A,minute:A},medium:{hour:A,minute:A,second:A},long:{hour:A,minute:A,second:A,timeZoneName:Dt},full:{hour:A,minute:A,second:A,timeZoneName:Dt},default:{hour:A,minute:A,second:A}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(e){if(e){var t={},n=e.match(/\b[A-Z]{3}\b/i),r=e.replace(/[^¤]/g,``).length;if(!r&&n&&(r=1),r?(t.style=`currency`,t.currencyDisplay=r===1?`symbol`:r===2?`code`:`name`,t.currency=n?n[0].toUpperCase():`USD`):e.indexOf(`%`)>=0&&(t.style=`percent`),!/[@#0]/.test(e))return t.style?t:void 0;if(t.useGrouping=e.indexOf(`,`)>=0,/E\+?[@#0]+/i.test(e)||e.indexOf(`@`)>=0){var i=e.replace(/E\+?[@#0]+|[^@#0]/gi,``);t.minimumSignificantDigits=Math.min(Math.max(i.replace(/[^@0]/g,``).length,1),21),t.maximumSignificantDigits=Math.min(Math.max(i.length,1),21)}else{for(var a=e.replace(/[^#0.]/g,``).split(`.`),o=a[0],s=o.length-1;o[s]===`0`;)--s;t.minimumIntegerDigits=Math.min(Math.max(o.length-1-s,1),21);var c=a[1]||``;for(s=0;c[s]===`0`;)++s;for(t.minimumFractionDigits=Math.min(Math.max(s,0),20);c[s]===`#`;)++s;t.maximumFractionDigits=Math.min(Math.max(s,0),20)}return t}},parseDatePattern:function(e){if(e){for(var t={},n=0;n0)a=new Intl.PluralRules(t,{type:n});else{var o=jt(t,Ft);a={select:o&&Ft[o][n]||l}}return function(e,t){return(i[`=`+ +e]||i[a.select(e-r)]||i.other)(t)}}function l(){return`other`}function u(e,t){var n=e[2];return function(e,t){return(n[e]||n.other)(t)}}var d={number:a,ordinal:a,spellout:a,duration:o,date:s,time:s,plural:c,selectordinal:c,select:u};t.types=d});It.toParts,It.types;var Lt=Tt(function(e,t){var n=`{`,r=`}`,i=`,`,a=`#`,o=`<`,s=`>`,c=``,u=`'`,d=`offset:`,f=[`number`,`date`,`time`,`ordinal`,`duration`,`spellout`],p=[`plural`,`select`,`selectordinal`];t=e.exports=function(e,t){return m({pattern:String(e),index:0,tagsType:t&&t.tagsType||null,tokens:t&&t.tokens||null},``)};function m(e,t){var n=e.pattern,i=n.length,a=[],o=e.index,s=h(e,t);for(s&&a.push(s),s&&e.tokens&&e.tokens.push([`text`,n.slice(o,e.index)]);e.index=9&&e<=13||e===32||e===133||e===160||e===6158||e>=8192&&e<=8205||e===8232||e===8233||e===8239||e===8287||e===8288||e===12288||e===65279}function _(e){for(var t=e.pattern,n=t.length,r=e.index;e.index=0)u=[s,l,x(e)];else{var p=e.index,m=x(e);_(e),t[e.index]===n&&(e.index=p,m=w(e,l)),u=[s,l,m]}if(_(e),t[e.index]!==r)throw E(e,r);return e.tokens&&e.tokens.push([`syntax`,r]),++e.index,u}function y(e){var t=e.tagsType;if(!(!t||e.pattern[e.index]!==o)){if(e.pattern.slice(e.index,e.index+c.length)===c)throw E(e,null,`closing tag without matching opening tag`);e.tokens&&e.tokens.push([`syntax`,o]),++e.index;var n=b(e,!0);if(!n)throw E(e,`placeholder id`);if(e.tokens&&e.tokens.push([`id`,n]),_(e),e.pattern.slice(e.index,e.index+l.length)===l)return e.tokens&&e.tokens.push([`syntax`,l]),e.index+=l.length,[n,t];if(e.pattern[e.index]!==s)throw E(e,s);e.tokens&&e.tokens.push([`syntax`,s]),++e.index;var r=m(e,t),i=e.index;if(e.pattern.slice(e.index,e.index+c.length)!==c)throw E(e,c+n+s);e.tokens&&e.tokens.push([`syntax`,c]),e.index+=c.length;var a=b(e,!0);if(a&&e.tokens&&e.tokens.push([`id`,a]),n!==a)throw e.index=i,E(e,c+n+s,c+a+s);if(_(e),e.pattern[e.index]!==s)throw E(e,s);return e.tokens&&e.tokens.push([`syntax`,s]),++e.index,[n,t,{children:r}]}}function b(e,t){for(var c=e.pattern,l=c.length,d=``;e.index=48&&e<=57}function w(e,t){for(var n=e.pattern,i=n.length,a={};e.index=0)throw E(e,null,null,`"other" sub-message must be specified in `+t);return a}function T(e,t){if(e.pattern[e.index]!==n)throw E(e,n+` to start sub-message`);e.tokens&&e.tokens.push([`syntax`,n]),++e.index;var i=m(e,t);if(e.pattern[e.index]!==r)throw E(e,r+` to end sub-message`);return e.tokens&&e.tokens.push([`syntax`,r]),++e.index,i}function E(e,t,n,r){var i=e.pattern,a=i.slice(0,e.index).split(/\r?\n/),o=e.index,s=a.length,c=a.slice(-1)[0].length;return n||=e.index>=i.length?`end of message pattern`:b(e)||i[e.index],r||=D(t,n),r+=` in `+i.replace(/\r?\n/g,` +`),new ee(r,t,n,o,s,c)}function D(e,t){return e?`Expected `+e+` but found `+t:`Unexpected `+t+` found`}function ee(e,t,n,r,i,a){Error.call(this,e),this.name=`SyntaxError`,this.message=e,this.expected=t,this.found=n,this.offset=r,this.line=i,this.column=a}ee.prototype=Object.create(Error.prototype),t.SyntaxError=ee});Lt.SyntaxError;var Rt=RegExp(`^(`+Object.keys(Ft).join(`|`)+`)\\b`),zt=new WeakMap;function Bt(e,t,n){if(!(this instanceof Bt)||zt.has(this))throw TypeError(`calling MessageFormat constructor without new is invalid`);var r=Lt(e);zt.set(this,{ast:r,format:It(r,t,n&&n.types),locale:Bt.supportedLocalesOf(t)[0]||`en`,locales:t,options:n})}var Vt=Bt;Object.defineProperties(Bt.prototype,{format:{configurable:!0,get:function(){var e=zt.get(this);if(!e)throw TypeError(`MessageFormat.prototype.format called on value that's not an object initialized as a MessageFormat`);return e.format}},formatToParts:{configurable:!0,writable:!0,value:function(e){var t=zt.get(this);if(!t)throw TypeError(`MessageFormat.prototype.formatToParts called on value that's not an object initialized as a MessageFormat`);return(t.toParts||=It.toParts(t.ast,t.locales,t.options&&t.options.types))(e)}},resolvedOptions:{configurable:!0,writable:!0,value:function(){var e=zt.get(this);if(!e)throw TypeError(`MessageFormat.prototype.resolvedOptions called on value that's not an object initialized as a MessageFormat`);return{locale:e.locale}}}}),typeof Symbol<`u`&&Object.defineProperty(Bt.prototype,Symbol.toStringTag,{value:`Object`}),Object.defineProperties(Bt,{supportedLocalesOf:{configurable:!0,writable:!0,value:function(e){return[].concat(Intl.NumberFormat.supportedLocalesOf(e),Intl.DateTimeFormat.supportedLocalesOf(e),Intl.PluralRules?Intl.PluralRules.supportedLocalesOf(e):[],[].concat(e||[]).filter(function(e){return Rt.test(e)})).filter(function(e,t,n){return n.indexOf(e)===t})}}});function Ht(e){return!!(e&&e.default&&typeof e.default==`object`&&Object.keys(e).length===1)}var Ut=globalThis.document?.documentElement,Wt=class extends EventTarget{formatNumberOptions={returnIfNaN:``,postProcessors:new Map};formatDateOptions={postProcessors:new Map};#e=!1;#t=``;#n=null;__storage={};__namespacePatternsMap=new Map;__namespaceLoadersCache={};__namespaceLoaderPromisesCache={};get locale(){return this.#e?this.#t||``:Ut.lang||``}set locale(e){if(this.#r(e),!this.#e){let t=Ut.lang;this._setHtmlLangAttribute(e),this._onLocaleChanged(e,t);return}let t=this.#t;this.#t=e,this.#n===null&&this._setHtmlLangAttribute(e),this._onLocaleChanged(e,t)}get loadingComplete(){return typeof this.__namespaceLoaderPromisesCache[this.locale]==`object`?Promise.all(Object.values(this.__namespaceLoaderPromisesCache[this.locale])):Promise.resolve()}constructor({allowOverridesForExistingNamespaces:e=!1,autoLoadOnLocaleChange:t=!1,showKeyAsFallback:n=!1,fallbackLocale:r=``}={}){super(),this.__allowOverridesForExistingNamespaces=e,this._autoLoadOnLocaleChange=!!t,this._showKeyAsFallback=n,this._fallbackLocale=r;let i=Ut.getAttribute(`data-localize-lang`);this.#e=!!i,this.#e&&(this.locale=i,this._setupTranslationToolSupport()),Ut.lang||=this.locale||`en-GB`,this._setupHtmlLangAttributeObserver()}addData(e,t,n){if(!this.__allowOverridesForExistingNamespaces&&this._isNamespaceInCache(e,t))throw Error(`Namespace "${t}" has been already added for the locale "${e}".`);this.__storage[e]=this.__storage[e]||{},this.__allowOverridesForExistingNamespaces?this.__storage[e][t]={...this.__storage[e][t],...n}:this.__storage[e][t]=n}setupNamespaceLoader(e,t){this.__namespacePatternsMap.set(e,t)}loadNamespaces(e,{locale:t}={}){return Promise.all(e.map(e=>this.loadNamespace(e,{locale:t})))}loadNamespace(e,{locale:t=this.locale}={locale:this.locale}){let n=typeof e==`object`,r=n?Object.keys(e)[0]:e;return this._isNamespaceInCache(t,r)?Promise.resolve():this._getCachedNamespaceLoaderPromise(t,r)||this._loadNamespaceData(t,e,n,r)}msg(e,t,n={}){let r=n.locale?n.locale:this.locale,i=this._getMessageForKeys(e,r);return i?new Vt(i,r).format(t):``}teardown(){this._teardownHtmlLangAttributeObserver()}reset(){this.__storage={},this.__namespacePatternsMap=new Map,this.__namespaceLoadersCache={},this.__namespaceLoaderPromisesCache={}}setDatePostProcessorForLocale({locale:e,postProcessor:t}){this.formatDateOptions?.postProcessors.set(e,t)}setNumberPostProcessorForLocale({locale:e,postProcessor:t}){this.formatNumberOptions?.postProcessors.set(e,t)}_setupTranslationToolSupport(){this.#n=Ut.lang||null}_setHtmlLangAttribute(e){this._teardownHtmlLangAttributeObserver(),Ut.lang=e,this._setupHtmlLangAttributeObserver()}_setupHtmlLangAttributeObserver(){this._htmlLangAttributeObserver||=new MutationObserver(e=>{e.forEach(e=>{this.#e?Ut.lang===`auto`?(this.#n=null,this._setHtmlLangAttribute(this.locale)):this.#n=document.documentElement.lang:this._onLocaleChanged(document.documentElement.lang,e.oldValue||``)})}),this._htmlLangAttributeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`],attributeOldValue:!0})}_teardownHtmlLangAttributeObserver(){this._htmlLangAttributeObserver&&this._htmlLangAttributeObserver.disconnect()}_isNamespaceInCache(e,t){return!!(this.__storage[e]&&this.__storage[e][t])}_getCachedNamespaceLoaderPromise(e,t){return this.__namespaceLoaderPromisesCache[e]?this.__namespaceLoaderPromisesCache[e][t]:null}_loadNamespaceData(e,t,n,r){let i=this._getNamespaceLoader(t,n,r),a=this._getNamespaceLoaderPromise(i,e,r);return this._cacheNamespaceLoaderPromise(e,r,a),a.then(t=>{if(this.__namespaceLoaderPromisesCache[e]&&this.__namespaceLoaderPromisesCache[e][r]===a){let n=Ht(t)?t.default:t;this.addData(e,r,n)}})}_getNamespaceLoader(e,t,n){let r=this.__namespaceLoadersCache[n];if(r||(t?(r=e[n],this.__namespaceLoadersCache[n]=r):(r=this._lookupNamespaceLoader(n),this.__namespaceLoadersCache[n]=r)),!r)throw Error(`Namespace "${n}" was not properly setup.`);return this.__namespaceLoadersCache[n]=r,r}_getNamespaceLoaderPromise(e,t,n,r=this._fallbackLocale){return e(t,n).catch(()=>{let i=this._getLangFromLocale(t);return e(i,n).catch(()=>{if(r)return this._getNamespaceLoaderPromise(e,r,n,``).catch(()=>{let e=this._getLangFromLocale(r);throw Error(`Data for namespace "${n}" and current locale "${t}" or fallback locale "${r}" could not be loaded. Make sure you have data either for locale "${t}" (and/or generic language "${i}") or for fallback "${r}" (and/or "${e}").`)});throw Error(`Data for namespace "${n}" and locale "${t}" could not be loaded. Make sure you have data for locale "${t}" (and/or generic language "${i}").`)})})}_cacheNamespaceLoaderPromise(e,t,n){this.__namespaceLoaderPromisesCache[e]||(this.__namespaceLoaderPromisesCache[e]={}),this.__namespaceLoaderPromisesCache[e][t]=n}_lookupNamespaceLoader(e){for(let[t,n]of this.__namespacePatternsMap){let r=typeof t==`string`&&t===e,i=typeof t==`object`&&t.constructor.name===`RegExp`&&t.test(e);if(r||i)return n}return null}_getLangFromLocale(e){return e.substring(0,2)}_onLocaleChanged(e,t){this.dispatchEvent(new CustomEvent(`__localeChanging`)),e!==t&&(this._autoLoadOnLocaleChange?(this._loadAllMissing(e,t),this.loadingComplete.then(()=>{this.dispatchEvent(new CustomEvent(`localeChanged`,{detail:{newLocale:e,oldLocale:t}}))})):this.dispatchEvent(new CustomEvent(`localeChanged`,{detail:{newLocale:e,oldLocale:t}})))}_loadAllMissing(e,t){let n=this.__storage[t]||{},r=this.__storage[e]||{};Object.keys(n).forEach(t=>{r[t]||this.loadNamespace(t,{locale:e})})}_getMessageForKeys(e,t){if(typeof e==`string`)return this._getMessageForKey(e,t);let n=Array.from(e).reverse(),r,i;for(;n.length;)if(r=n.pop(),i=this._getMessageForKey(r,t),i)return i}_getMessageForKey(e,t){if(!e||e.indexOf(`:`)===-1)throw Error(`Namespace is missing in the key "${e}". The format for keys is "namespace:name".`);let[n,r]=e.split(`:`),i=this.__storage[t],a=i?i[n]:{},o=r.split(`.`).reduce((e,t)=>typeof e==`object`?e[t]:e,a);return String(o||(this._showKeyAsFallback?e:``))}#r(e){if(!e.includes(`-`))throw Error(` + Locale was set to ${e}. + Language only locales are not allowed, please use the full language locale e.g. 'en-GB' instead of 'en'. + See https://github.com/ing-bank/lion/issues/187 for more information. + `)}get _supportExternalTranslationTools(){return this.#e}set _supportExternalTranslationTools(e){this.#e=e}get _langAttrSetByTranslationTool(){return this.#t}set _langAttrSetByTranslationTool(e){this.#t=e}},Gt=Symbol.for(`lion::SingletonManagerClassStorage`),Kt=globalThis||window,qt=new class{constructor(){this._map=Kt[Gt]?Kt[Gt]:Kt[Gt]=new Map}set(e,t){this.has(e)||this._map.set(e,t)}get(e){return this._map.get(e)}has(e){return this._map.has(e)}};function Jt(){if(qt.has(`@lion/ui::localize::0.x`))return qt.get(`@lion/ui::localize::0.x`);let e=new Wt({autoLoadOnLocaleChange:!0,fallbackLocale:`en-GB`});return qt.set(`@lion/ui::localize::0.x`,e),e}var Yt=(e,t)=>{let n=e._$AN;if(n===void 0)return!1;for(let e of n)e._$AO?.(t,!1),Yt(e,t);return!0},Xt=e=>{let t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while(n?.size===0)},Zt=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),en(t)}};function Qt(e){this._$AN===void 0?this._$AM=e:(Xt(this),this._$AM=e,Zt(this))}function $t(e,t=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let e=n;e{e.type==ne.CHILD&&(e._$AP??=$t,e._$AQ??=Qt)},tn=class extends ee{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Zt(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Yt(this,e),Xt(this))}setValue(e){if(ft(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}},nn=class{constructor(e){this.G=e}disconnect(){this.G=void 0}reconnect(e){this.G=e}deref(){return this.G}},rn=class{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){this.Y??=new Promise((e=>this.Z=e))}resume(){this.Z?.(),this.Y=this.Z=void 0}},an=e=>!ut(e)&&typeof e.then==`function`,on=1073741823,sn=T(class extends tn{constructor(){super(...arguments),this._$Cwt=on,this._$Cbt=[],this._$CK=new nn(this),this._$CX=new rn}render(...e){return e.find((e=>!an(e)))??h}update(e,t){let n=this._$Cbt,r=n.length;this._$Cbt=t;let i=this._$CK,a=this._$CX;this.isConnected||this.disconnected();for(let e=0;ethis._$Cwt);e++){let o=t[e];if(!an(o))return this._$Cwt=e,o;e{for(;a.get();)await a.get();let t=i.deref();if(t!==void 0){let n=t._$Cbt.indexOf(o);n>-1&&nclass extends e{static get localizeNamespaces(){return[]}static get waitForLocalizeNamespaces(){return!0}constructor(){super(),this._localizeManager=Jt(),this.__boundLocalizeOnLocaleChanged=(...e)=>{let t=Array.from(e)[0];this.__localizeOnLocaleChanged(t)},this.__boundLocalizeOnLocaleChanging=()=>{this.__localizeOnLocaleChanging()},this.__localizeStartLoadingNamespaces(),this.localizeNamespacesLoaded&&this.localizeNamespacesLoaded.then(()=>{this.__localizeMessageSync=!0})}async scheduleUpdate(){Object.getPrototypeOf(this).constructor.waitForLocalizeNamespaces&&await this.localizeNamespacesLoaded,super.scheduleUpdate()}connectedCallback(){super.connectedCallback(),this.localizeNamespacesLoaded&&this.localizeNamespacesLoaded.then(()=>this.onLocaleReady()),this._localizeManager.addEventListener(`__localeChanging`,this.__boundLocalizeOnLocaleChanging),this._localizeManager.addEventListener(`localeChanged`,this.__boundLocalizeOnLocaleChanged)}disconnectedCallback(){super.disconnectedCallback(),this._localizeManager.removeEventListener(`__localeChanging`,this.__boundLocalizeOnLocaleChanging),this._localizeManager.removeEventListener(`localeChanged`,this.__boundLocalizeOnLocaleChanged)}msgLit(e,t,n){return this.__localizeMessageSync?this._localizeManager.msg(e,t,n):this.localizeNamespacesLoaded?sn(this.localizeNamespacesLoaded.then(()=>this._localizeManager.msg(e,t,n)),v):``}__getUniqueNamespaces(){let e=[],t=new Set;return Object.getPrototypeOf(this).constructor.localizeNamespaces.forEach(t.add.bind(t)),t.forEach(t=>{e.push(t)}),e}__localizeStartLoadingNamespaces(){this.localizeNamespacesLoaded=this._localizeManager.loadNamespaces(this.__getUniqueNamespaces())}__localizeOnLocaleChanging(){this.__localizeStartLoadingNamespaces()}__localizeOnLocaleChanged(e){this.onLocaleChanged(e.detail.newLocale,e.detail.oldLocale)}onLocaleReady(){this.onLocaleUpdated()}onLocaleChanged(e,t){this.onLocaleUpdated(),this.requestUpdate()}onLocaleUpdated(){}}),ln=`3.0.0`,un=window.scopedElementsVersions||(window.scopedElementsVersions=[]);un.includes(ln)||un.push(ln);var dn=nt(e=>class extends e{static scopedElements;static get scopedElementsVersion(){return ln}static __registry;get registry(){return this.constructor.__registry}set registry(e){this.constructor.__registry=e}attachShadow(e){let{scopedElements:t}=this.constructor;if(!this.registry||this.registry===this.constructor.__registry&&!Object.prototype.hasOwnProperty.call(this.constructor,`__registry`)){this.registry=new CustomElementRegistry;for(let[e,n]of Object.entries(t??{}))this.registry.define(e,n)}return super.attachShadow({...e,customElements:this.registry,registry:this.registry})}}),fn=nt(e=>class extends dn(e){createRenderRoot(){let{shadowRootOptions:e,elementStyles:t}=this.constructor,n=this.attachShadow(e);return this.renderOptions.creationScope=n,p(n,t),this.renderOptions.renderBefore??=n.firstChild,n}});function pn(){return!!(globalThis.ShadowRoot?.prototype.createElement&&globalThis.ShadowRoot?.prototype.importNode)}var mn=nt(e=>class extends fn(e){constructor(){super()}createScopedElement(e){return(pn()?this.shadowRoot:document).createElement(e)}defineScopedElement(e,t){let n=this.registry.get(e),r=n&&n!==t;return!pn()&&r&&console.error([`You are trying to re-register the "${e}" custom element with a different class via ScopedElementsMixin.`,`This is only possible with a CustomElementRegistry.`,`Your browser does not support this feature so you will need to load a polyfill for it.`,`Load "@webcomponents/scoped-custom-element-registry" before you register ANY web component to the global customElements registry.`,`e.g. add " diff --git a/resources/js/components/Plugins/PluginDetails.stories.ts b/resources/js/components/Plugins/PluginDetails.stories.ts index f0c19165c69..0272ae76dad 100644 --- a/resources/js/components/Plugins/PluginDetails.stories.ts +++ b/resources/js/components/Plugins/PluginDetails.stories.ts @@ -72,6 +72,26 @@ export const InvalidLicense: Story = { }, }; +export const Expired: Story = { + render, + args: { + plugin: createPlugin({ + name: 'Formie', + handle: 'formie', + description: 'The most user-friendly forms plugin for Craft.', + iconUrl: 'https://pluginicons.craft-cdn.com/formie.svg', + documentationUrl: 'https://verbb.io/craft-plugins/formie', + packageName: 'verbb/formie', + version: '3.1.21', + licenseKey: 'XXXXXXXXXXXXXXXXXXXXXXXX', + licensedEdition: 'standard', + licenseKeyStatus: 'valid', + expired: true, + renewalUrl: '#', + }), + }, +}; + export const AllLicenseIssues: Story = { render, args: { diff --git a/resources/js/components/Plugins/PluginDetails.vue b/resources/js/components/Plugins/PluginDetails.vue index 4e391af9b1b..96697928f32 100644 --- a/resources/js/components/Plugins/PluginDetails.vue +++ b/resources/js/components/Plugins/PluginDetails.vue @@ -1,68 +1,55 @@