From f50d9b8f1000301bab94bec106e6af940b525841 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Mon, 5 Oct 2026 10:44:50 +0200 Subject: [PATCH] feat(12.1-02): permissioneditor field in radio or checkbox mode - type: permissioneditor with mode radio (1, -1) or checkbox (1); the controller serves the options per request through cabana.PermissionEditorProvider and reads and stores the values - a save answers 422 for a non-object, an unknown code or a value outside the mode's set and 403 for a changed locked code; stored codes that are not offered are kept - record responses carry the stored permissions as an object - SPA: PermissionEditorField with sections by tab, locked rows and a read-only mode for the preview - README, docs, OpenAPI document, TS types and dist updated --- admin/openapi/admin.json | 35 +- admin/src/api/schema.d.ts | 20 +- admin/src/api/types.ts | 1 + admin/src/components/form/control.ts | 21 ++ .../form/fields/PermissionEditorField.vue | 218 +++++++++++ admin/src/components/form/formState.ts | 6 + admin/src/components/form/registry.ts | 8 +- admin/tests/fixtures/roster.form-schema.json | 14 + admin/tests/fixtures/roster.record.json | 2 +- admin/tests/smoke/seams.smoke.test.ts | 190 +++++++++- docs/backend/forms.md | 69 ++++ .../boardwalk/dist/assets/index-B2epb8_Z.css | 1 - .../boardwalk/dist/assets/index-CXbMmgdh.css | 1 + .../boardwalk/dist/assets/index-CvMS0tdW.js | 9 + .../boardwalk/dist/assets/index-DEO3TzjB.js | 9 - modules/boardwalk/dist/index.html | 4 +- modules/cabana/README.md | 3 + modules/cabana/admin_openapi.go | 2 +- modules/cabana/contracts.go | 3 + modules/cabana/crud.go | 15 +- modules/cabana/datepicker_smoke_test.go | 2 +- modules/cabana/datepicker_test.go | 2 +- modules/cabana/example_form_seams_test.go | 54 +++ modules/cabana/field_file.go | 4 +- modules/cabana/field_permission.go | 340 ++++++++++++++++++ modules/cabana/form_schema.go | 5 +- modules/cabana/http.go | 8 + modules/cabana/phase121_fixture_test.go | 65 +++- modules/cabana/phase121_form_test.go | 167 +++++++++ modules/cabana/registry.go | 3 + modules/cabana/relation_form.go | 2 + modules/cabana/schema_types.go | 9 +- modules/cabana/settings.go | 2 +- .../cabana/testdata/roster/lang/en/lang.yaml | 10 + .../cabana/testdata/roster/lang/pl/lang.yaml | 10 + .../testdata/roster/models/person/fields.yaml | 6 + modules/phrasebook/backend/lang/en/lang.yaml | 7 + modules/phrasebook/backend/lang/pl/lang.yaml | 7 + 38 files changed, 1300 insertions(+), 34 deletions(-) create mode 100644 admin/src/components/form/fields/PermissionEditorField.vue delete mode 100644 modules/boardwalk/dist/assets/index-B2epb8_Z.css create mode 100644 modules/boardwalk/dist/assets/index-CXbMmgdh.css create mode 100644 modules/boardwalk/dist/assets/index-CvMS0tdW.js delete mode 100644 modules/boardwalk/dist/assets/index-DEO3TzjB.js create mode 100644 modules/cabana/field_permission.go diff --git a/admin/openapi/admin.json b/admin/openapi/admin.json index c19a822..5a4e71a 100644 --- a/admin/openapi/admin.json +++ b/admin/openapi/admin.json @@ -765,7 +765,7 @@ "type": "string" }, "mode": { - "description": "Mode is the fileupload mode (image or file, default file) or the\ndatepicker mode (date, datetime or time, default datetime).", + "description": "Mode is the fileupload mode (image or file, default file), the\ndatepicker mode (date, datetime or time, default datetime) or the\npermissioneditor mode (radio or checkbox).", "type": "string" }, "multiple": { @@ -787,6 +787,13 @@ "description": "Path names the controller partial of a `type: partial` field: the\ntemplate {ConfigDir}/_{path}.htm (D-09).", "type": "string" }, + "permissionOptions": { + "description": "PermissionOptions are the permissions a `type: permissioneditor` field\noffers the requesting administrator, in display order. They are filled\nper request by the form schema route.", + "items": { + "$ref": "#/components/schemas/cabana.PermissionOption" + }, + "type": "array" + }, "preset": { "allOf": [ { @@ -1454,6 +1461,30 @@ ], "type": "object" }, + "cabana.PermissionOption": { + "properties": { + "code": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "label": { + "type": "string" + }, + "locked": { + "type": "boolean" + }, + "tab": { + "type": "string" + } + }, + "required": [ + "code", + "label" + ], + "type": "object" + }, "cabana.RecordAction": { "properties": { "confirm": { @@ -3314,7 +3345,7 @@ }, "/{vendor}/{plugin}/{controller}/schema/form": { "get": { - "description": "The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it.", + "description": "The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. A `type: permissioneditor` field carries `permissionOptions`, the permissions the controller offers the requesting administrator; its value in a record response and in a save body is an object of permission code to integer (radio mode 1 or -1, checkbox mode 1).", "parameters": [ { "description": "Vendor", diff --git a/admin/src/api/schema.d.ts b/admin/src/api/schema.d.ts index c4bacc7..af3336f 100644 --- a/admin/src/api/schema.d.ts +++ b/admin/src/api/schema.d.ts @@ -1216,7 +1216,7 @@ export interface paths { }; /** * Admin form schema - * @description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. + * @description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. A `type: permissioneditor` field carries `permissionOptions`, the permissions the controller offers the requesting administrator; its value in a record response and in a save body is an object of permission code to integer (radio mode 1 or -1, checkbox mode 1). */ get: { parameters: { @@ -4434,8 +4434,9 @@ export interface components { */ minDate?: string; /** - * @description Mode is the fileupload mode (image or file, default file) or the - * datepicker mode (date, datetime or time, default datetime). + * @description Mode is the fileupload mode (image or file, default file), the + * datepicker mode (date, datetime or time, default datetime) or the + * permissioneditor mode (radio or checkbox). */ mode?: string; multiple?: boolean; @@ -4447,6 +4448,12 @@ export interface components { * template {ConfigDir}/_{path}.htm (D-09). */ path?: string; + /** + * @description PermissionOptions are the permissions a `type: permissioneditor` field + * offers the requesting administrator, in display order. They are filled + * per request by the form schema route. + */ + permissionOptions?: components["schemas"]["cabana.PermissionOption"][]; /** * @description Preset makes a text field follow another field of the form while the * administrator has not edited it, on create only (fields.yaml preset). @@ -4652,6 +4659,13 @@ export interface components { "cabana.PartialView": { nodes: components["schemas"]["cabana.PartialNode"][]; }; + "cabana.PermissionOption": { + code: string; + comment?: string; + label: string; + locked?: boolean; + tab?: string; + }; "cabana.RecordAction": { confirm?: string; label: string; diff --git a/admin/src/api/types.ts b/admin/src/api/types.ts index 91b35c1..eb13d82 100644 --- a/admin/src/api/types.ts +++ b/admin/src/api/types.ts @@ -27,6 +27,7 @@ export type FormRedirects = Schemas['cabana.FormRedirects'] /** A form's preview screen: present when config_form.yaml declares `preview:`. */ export type FormPreview = Schemas['cabana.FormPreview'] export type FieldPreset = Schemas['cabana.FieldPreset'] +export type PermissionOption = Schemas['cabana.PermissionOption'] export type RelationSchema = Schemas['cabana.RelationSchema'] export type RelationMessages = Schemas['cabana.RelationMessages'] export type RelationMutationResult = Schemas['cabana.RelationMutationResult'] diff --git a/admin/src/components/form/control.ts b/admin/src/components/form/control.ts index 77ad8fe..bd92f61 100644 --- a/admin/src/components/form/control.ts +++ b/admin/src/components/form/control.ts @@ -67,3 +67,24 @@ export function toggleOn(value: unknown): boolean { export function toggleValue(current: unknown, on: boolean): boolean | number { return typeof current === 'number' ? (on ? 1 : 0) : on } + +/** + * A permissioneditor value as it may be sent (UI-SPEC S5): only codes the + * field's options offer, with a value of the mode's set. Radio keeps 1 + * (allow) and -1 (deny) and leaves an inherited code out; checkbox keeps 1. + * A stored code that is not offered is never sent: the server keeps it. + */ +export function permissionValues(field: FormField, value: unknown): Record { + const out: Record = {} + if (value === null || typeof value !== 'object' || Array.isArray(value)) { + return out + } + const stored = value as Record + for (const option of field.permissionOptions ?? []) { + const n = Number(stored[option.code]) + if (n === 1 || (field.mode === 'radio' && n === -1)) { + out[option.code] = n + } + } + return out +} diff --git a/admin/src/components/form/fields/PermissionEditorField.vue b/admin/src/components/form/fields/PermissionEditorField.vue new file mode 100644 index 0000000..6067366 --- /dev/null +++ b/admin/src/components/form/fields/PermissionEditorField.vue @@ -0,0 +1,218 @@ + + + diff --git a/admin/src/components/form/formState.ts b/admin/src/components/form/formState.ts index 9c4cf2f..0f841ae 100644 --- a/admin/src/components/form/formState.ts +++ b/admin/src/components/form/formState.ts @@ -1,6 +1,7 @@ // Helpers shared by the record form and the settings form: context // filtering, the save payload, 422 detail mapping and focus. import type { AdminRecord, ErrorBody, FormField } from '../../api/types' +import { permissionValues } from './control' import { isRegistered } from './registry' /** The screen a field is filtered for: the two form modes and the read-only preview (D-11). */ @@ -56,6 +57,11 @@ export function editablePayload(fields: FormField[], values: AdminRecord, mode: if (field.type === 'password' && mode === 'update' && (value === '' || value === null)) { continue } + if (field.type === 'permissioneditor') { + // Sent whenever it is shown, reduced to offered codes and values. + out[field.name] = permissionValues(field, value) + continue + } if (value !== undefined) { out[field.name] = value } diff --git a/admin/src/components/form/registry.ts b/admin/src/components/form/registry.ts index 586b92d..a3a8a27 100644 --- a/admin/src/components/form/registry.ts +++ b/admin/src/components/form/registry.ts @@ -11,7 +11,9 @@ // value either and renders on create and update. The datepicker control is // a plain value field: its string value is part of the save body (D-18). // Phase 12.1 adds the password control: a plain value field whose value the -// server never sends back, so it is empty on load and after every save. +// server never sends back, so it is empty on load and after every save. The +// permissioneditor control is a value field too: an object of permission code +// to value, labelled as a group. import type { Component } from 'vue' import CheckboxField from './fields/CheckboxField.vue' import DatepickerField from './fields/DatepickerField.vue' @@ -20,6 +22,7 @@ import FileuploadField from './fields/FileuploadField.vue' import NumberField from './fields/NumberField.vue' import PartialField from './fields/PartialField.vue' import PasswordField from './fields/PasswordField.vue' +import PermissionEditorField from './fields/PermissionEditorField.vue' import RelationManager from '../relation/RelationManager.vue' import RelationField from './fields/RelationField.vue' import SwitchField from './fields/SwitchField.vue' @@ -56,6 +59,7 @@ const renderers = new Map([ ['fileupload', FileuploadField], ['datepicker', DatepickerField], ['password', PasswordField], + ['permissioneditor', PermissionEditorField], ]) /** Types whose control shows the label itself (toggle cards, relation manager). */ @@ -75,7 +79,7 @@ const valueless = new Set([RELATION_MANAGER, 'widget', 'partial', 'fileu * Types whose control is a group rather than one focusable element: the * visible label is a span the group points at, not a label for an input. */ -const groupLabelledTypes = new Set(['widget', 'partial', 'fileupload']) +const groupLabelledTypes = new Set(['widget', 'partial', 'fileupload', 'permissioneditor']) export function rendererFor(type: string): Component { return renderers.get(type) ?? lazyRenderers.get(type)?.() ?? UnsupportedField diff --git a/admin/tests/fixtures/roster.form-schema.json b/admin/tests/fixtures/roster.form-schema.json index b4bd196..5bd1fef 100644 --- a/admin/tests/fixtures/roster.form-schema.json +++ b/admin/tests/fixtures/roster.form-schema.json @@ -9,6 +9,20 @@ { "name": "password", "type": "password", "label": "Password", "span": "left", "context": ["create", "update"] }, { "name": "password_confirmation", "type": "password", "label": "Repeat the password", "span": "right", "context": ["create", "update"] }, { "name": "notify", "type": "checkbox", "label": "Send a welcome message", "default": true, "context": "create" }, + { + "name": "permissions", + "type": "permissioneditor", + "label": "Permissions", + "tab": "Permissions", + "context": "update", + "mode": "radio", + "permissionOptions": [ + { "code": "posts.edit", "label": "Edit posts", "tab": "Content", "comment": "Change the text of any post." }, + { "code": "posts.publish", "label": "Publish posts", "tab": "Content" }, + { "code": "reports.export", "label": "Export reports", "tab": "Reports", "locked": true }, + { "code": "misc.beta", "label": "Try beta features" } + ] + }, { "name": "joined_ip", "type": "text", "label": "Joined from IP address", "context": "preview" } ], "preview": { "headerPartial": "status" }, diff --git a/admin/tests/fixtures/roster.record.json b/admin/tests/fixtures/roster.record.json index 53128d2..b9cba57 100644 --- a/admin/tests/fixtures/roster.record.json +++ b/admin/tests/fixtures/roster.record.json @@ -1,5 +1,5 @@ { - "data": { "id": 1, "name": "Ada Lovelace", "email": "ada@example.test", "slug": "ada-lovelace", "joined_ip": "203.0.113.7" }, + "data": { "id": 1, "name": "Ada Lovelace", "email": "ada@example.test", "slug": "ada-lovelace", "joined_ip": "203.0.113.7", "permissions": { "legacy.code": 1, "posts.edit": 1, "reports.export": 1 } }, "meta": { "labels": {}, "actions": [ diff --git a/admin/tests/smoke/seams.smoke.test.ts b/admin/tests/smoke/seams.smoke.test.ts index c491883..3d8d027 100644 --- a/admin/tests/smoke/seams.smoke.test.ts +++ b/admin/tests/smoke/seams.smoke.test.ts @@ -1,5 +1,6 @@ // Phase 12.1 form seams in the admin SPA: the password field (UI-SPEC S7, -// D-19) and preset fields (D-27 G7). Fixtures are neutral acme.roster.* data; +// D-19), preset fields (D-27 G7) and the permission editor (UI-SPEC S5, +// D-16). Fixtures are neutral acme.roster.* data; // no application names appear in framework tests. import { afterEach, beforeEach, describe, expect, it } from 'vitest' import { enableAutoUnmount, flushPromises, type VueWrapper } from '@vue/test-utils' @@ -15,6 +16,12 @@ const RECORD = `${LIST}/1` const strings = { 'backend::lang.form.show_password': { other: 'Show password' }, 'backend::lang.form.hide_password': { other: 'Hide password' }, + 'backend::lang.permissioneditor.allow': { other: 'Allow' }, + 'backend::lang.permissioneditor.inherit': { other: 'Inherit' }, + 'backend::lang.permissioneditor.deny': { other: 'Deny' }, + 'backend::lang.permissioneditor.locked': { other: 'You cannot change this permission.' }, + 'backend::lang.permissioneditor.empty': { other: 'No permissions are defined yet.' }, + 'backend::lang.permissioneditor.other': { other: 'Other' }, } function routes(overrides: Record = {}): Record { @@ -202,3 +209,184 @@ describe('preset (D-27 G7)', () => { expect(input(wrapper, 'slug').element.value).toBe('ada-lovelace') }) }) + +describe('permission editor (UI-SPEC S5, D-16)', () => { + const editor = (wrapper: VueWrapper) => wrapper.find('[data-permission-editor]') + const row = (wrapper: VueWrapper, code: string) => wrapper.find(`[data-permission="${code}"]`) + const segment = (wrapper: VueWrapper, code: string, value: string) => row(wrapper, code).find(`[data-segment="${value}"]`) + const checked = (wrapper: VueWrapper, code: string) => row(wrapper, code).find('[data-state="checked"]') + + /** Opens the update form on its Permissions tab. */ + async function open(overrides: Record = {}, schema = rosterFormSchemaFixture) { + const mounted = await mountApp( + '/acme/roster/people/1', + routes({ [`GET ${LIST}/schema/form`]: { body: schema }, ...overrides }), + { attach: true }, + ) + const tab = mounted.wrapper.findAll('[role="tab"]').find((item) => item.text().includes('Permissions')) + await tab!.trigger('click') + await flushPromises() + return mounted + } + + function withField(change: (field: (typeof rosterFormSchemaFixture.data.fields)[number]) => void) { + const schema = clone(rosterFormSchemaFixture) + change(schema.data.fields.find((field) => field.name === 'permissions')!) + return schema + } + + it('groups the options by tab into sections of one list, untabbed ones last', async () => { + const { wrapper } = await open() + expect(editor(wrapper).attributes('role')).toBe('group') + expect(editor(wrapper).attributes('aria-labelledby')).toBe('field-permissions-label') + expect(wrapper.find('#field-permissions-label').text()).toBe('Permissions') + expect(editor(wrapper).classes()).toEqual(expect.arrayContaining(['overflow-hidden', 'rounded-inner', 'border', 'border-border'])) + + const sections = wrapper.findAll('[data-permission-section]') + expect(sections.map((section) => section.find('h3').text())).toEqual(['Content', 'Reports', 'Other']) + expect(sections.map((section) => section.findAll('[data-permission]').map((item) => item.attributes('data-permission')))).toEqual([ + ['posts.edit', 'posts.publish'], + ['reports.export'], + ['misc.beta'], + ]) + // Each section is a group named by its header; there is no inner tablist + // and no inner scroll. + expect(sections[0]!.attributes('aria-labelledby')).toBe(sections[0]!.find('h3').attributes('id')) + expect(editor(wrapper).find('[role="tablist"]').exists()).toBe(false) + expect(editor(wrapper).html()).not.toContain('overflow-y-auto') + expect(editor(wrapper).html()).not.toContain('sticky') + // Label and comment; a radio group of three named segments per row. + expect(row(wrapper, 'posts.edit').text()).toContain('Edit posts') + expect(row(wrapper, 'posts.edit').text()).toContain('Change the text of any post.') + expect(row(wrapper, 'posts.edit').findAll('[role="radio"]').map((item) => item.text())).toEqual(['Allow', 'Inherit', 'Deny']) + expect(row(wrapper, 'posts.edit').find('[role="radiogroup"]').attributes('aria-labelledby')).toBe( + row(wrapper, 'posts.edit').find('span[id$="-label"]').attributes('id'), + ) + // Stored allow shows as Allow; a code with no value shows as Inherit. + expect(checked(wrapper, 'posts.edit').text()).toBe('Allow') + expect(checked(wrapper, 'posts.publish').text()).toBe('Inherit') + expect(checked(wrapper, 'posts.edit').classes()).toEqual( + expect.arrayContaining(['data-[state=checked]:bg-ok-bg', 'data-[state=checked]:text-ok-text']), + ) + // The row wraps below 640px and the control never shrinks. + expect(row(wrapper, 'posts.edit').classes()).toEqual(expect.arrayContaining(['min-h-[56px]', 'max-sm:flex-col'])) + expect(row(wrapper, 'posts.edit').find('[role="radiogroup"]').classes()).toContain('shrink-0') + }) + + it('sends a chosen Deny as -1, leaves inherited codes out and never sends a code that is not offered', async () => { + const { wrapper, calls } = await open({ [`PUT ${RECORD}`]: { body: rosterRecordFixture } }) + await segment(wrapper, 'posts.publish', '-1').trigger('click') + expect(checked(wrapper, 'posts.publish').text()).toBe('Deny') + expect(checked(wrapper, 'posts.publish').classes()).toContain('data-[state=checked]:text-danger') + await save(wrapper) + + const [request] = requestsTo(calls, 'PUT', RECORD) + const body = (await request!.clone().json()) as Record + expect(body.permissions).toEqual({ 'posts.edit': 1, 'posts.publish': -1, 'reports.export': 1 }) + }) + + it('goes back to inherit by leaving the code out', async () => { + const { wrapper, calls } = await open({ [`PUT ${RECORD}`]: { body: rosterRecordFixture } }) + await segment(wrapper, 'posts.edit', '0').trigger('click') + await save(wrapper) + const [request] = requestsTo(calls, 'PUT', RECORD) + const body = (await request!.clone().json()) as Record + expect(body.permissions).toEqual({ 'reports.export': 1 }) + }) + + it('shows a locked row with its stored value, a disabled control, the lock and its text', async () => { + const { wrapper, calls } = await open({ [`PUT ${RECORD}`]: { body: rosterRecordFixture } }) + const locked = row(wrapper, 'reports.export') + expect(locked.attributes('data-locked')).toBeDefined() + expect(locked.find('[data-permission-locked]').text()).toBe('You cannot change this permission.') + expect(locked.find('svg').attributes('aria-hidden')).toBe('true') + expect(checked(wrapper, 'reports.export').text()).toBe('Allow') + for (const item of locked.findAll('[role="radio"]')) { + expect(item.attributes('disabled')).toBeDefined() + } + expect(locked.find('[role="radiogroup"]').attributes('aria-disabled')).toBe('true') + // A click changes nothing, and other rows stay editable. + await segment(wrapper, 'reports.export', '-1').trigger('click') + expect(checked(wrapper, 'reports.export').text()).toBe('Allow') + expect(row(wrapper, 'posts.edit').find('[role="radio"]').attributes('disabled')).toBeUndefined() + expect(row(wrapper, 'posts.edit').find('[data-permission-locked]').exists()).toBe(false) + + await segment(wrapper, 'misc.beta', '1').trigger('click') + await save(wrapper) + const [request] = requestsTo(calls, 'PUT', RECORD) + const body = (await request!.clone().json()) as Record + expect(body.permissions).toEqual({ 'posts.edit': 1, 'reports.export': 1, 'misc.beta': 1 }) + }) + + it('edits allow with a labelled checkbox per row in checkbox mode', async () => { + const schema = withField((field) => (field.mode = 'checkbox')) + const { wrapper, calls } = await open({ [`PUT ${RECORD}`]: { body: rosterRecordFixture } }, schema) + expect(editor(wrapper).attributes('data-mode')).toBe('checkbox') + // The section header carries the column heading. + expect(wrapper.find('[data-permission-section] h3').text()).toContain('Allow') + const box = (code: string) => row(wrapper, code).find('[role="checkbox"]') + expect(box('posts.edit').attributes('aria-checked')).toBe('true') + expect(box('posts.publish').attributes('aria-checked')).toBe('false') + expect(box('posts.edit').classes()).toEqual(expect.arrayContaining(['size-[18px]', 'rounded-checkbox'])) + // The row label is a label for the box. + expect(row(wrapper, 'posts.publish').find('label').attributes('for')).toBe(box('posts.publish').attributes('id')) + expect(box('reports.export').attributes('disabled')).toBeDefined() + + await box('posts.publish').trigger('click') + await box('posts.edit').trigger('click') + await save(wrapper) + const [request] = requestsTo(calls, 'PUT', RECORD) + const body = (await request!.clone().json()) as Record + expect(body.permissions).toEqual({ 'posts.publish': 1, 'reports.export': 1 }) + }) + + it('shows the empty text when the server supplies no options', async () => { + const { wrapper } = await open({}, withField((field) => delete field.permissionOptions)) + expect(editor(wrapper).exists()).toBe(false) + const empty = wrapper.find('[data-permission-empty]') + expect(empty.text()).toBe('No permissions are defined yet.') + expect(empty.classes()).toEqual(expect.arrayContaining(['min-h-input', 'bg-subtle', 'text-muted'])) + }) + + it('renders a 422 on the field error line with a danger border and clears it on a change', async () => { + const refused: Reply = { + status: 422, + body: { + error: { + code: 'validation_failed', + message: 'Validation failed', + details: { permissions: ['The permissions field contains an unknown permission.'] }, + }, + }, + } + const { wrapper } = await open({ [`PUT ${RECORD}`]: refused }) + await segment(wrapper, 'posts.publish', '1').trigger('click') + await save(wrapper) + expect(wrapper.find('[data-field="permissions"]').text()).toContain('The permissions field contains an unknown permission.') + expect(editor(wrapper).classes()).toContain('border-danger') + expect(editor(wrapper).attributes('aria-describedby')).toBe('field-permissions-error') + + await segment(wrapper, 'posts.publish', '0').trigger('click') + expect(editor(wrapper).classes()).toContain('border-border') + expect(wrapper.find('#field-permissions-error').exists()).toBe(false) + }) + + it('is read-only on the preview: every control disabled, no lock icon and no locked text', async () => { + const schema = withField((field) => (field.context = ['update', 'preview'])) + const { wrapper } = await mountApp('/acme/roster/people/1/preview', routes({ [`GET ${LIST}/schema/form`]: { body: schema } })) + await flushPromises() + const tab = wrapper.findAll('[role="tab"]').find((item) => item.text().includes('Permissions')) + await tab!.trigger('click') + await flushPromises() + const shown = wrapper.find('[data-preview-field="permissions"]') + expect(shown.find('[data-permission-editor]').exists()).toBe(true) + const radios = shown.findAll('[role="radio"]') + expect(radios).toHaveLength(12) + for (const item of radios) { + expect(item.attributes('disabled')).toBeDefined() + } + expect(shown.find('[data-permission-locked]').exists()).toBe(false) + expect(shown.find('[data-locked]').exists()).toBe(false) + expect(shown.find('[data-permission="posts.edit"] [data-state="checked"]').text()).toBe('Allow') + }) +}) diff --git a/docs/backend/forms.md b/docs/backend/forms.md index 637fde4..10e910d 100644 --- a/docs/backend/forms.md +++ b/docs/backend/forms.md @@ -95,6 +95,7 @@ for _, f := range form.Fields { | `partial` | A server-rendered template; see [Partials and widgets](partials-and-widgets.md). | | `fileupload` | Uploads for an attachOne or attachMany relation; see [File uploads](#file-uploads). | | `datepicker` | A date, date and time, or time of day; see [Date pickers](#date-pickers). | +| `permissioneditor` | A list of permissions to allow, deny or leave inherited; see [Permission editor](#permission-editor). | | `password` | A masked input with a show and hide button. It is a form-only field: the value is sent with a save and never returned; see [Form-only fields](#form-only-fields). | The WinterCMS widgets that are not in this list (the rich editor, the markdown editor, the code editor, the color picker, the media finder, the repeater, the tag list and the others) are not provided. A field with one of those types stops the start-up. @@ -248,6 +249,74 @@ func (MembersController) FormVirtualFields() []string { - `type: password` is always a form-only field: a password field the controller does not list stops the start-up. The admin SPA shows it empty on every load, leaves an empty password out of an update (empty means unchanged), and clears it after a save. A confirmation is a second `password` field, compared by the `confirmed` rule on the server. - Form-only fields are not available on settings forms or relation forms. +## Permission editor + +`type: permissioneditor` edits a set of permissions on a record: which codes are allowed, and in radio mode which are denied. The field needs a `mode`: + +```yaml +permissions: + label: acme.roster::lang.people.permissions + type: permissioneditor + mode: radio + tab: acme.roster::lang.people.tab_permissions + context: update +``` + +| Mode | Control per permission | Values | +|------|------------------------|--------| +| `radio` | Allow, Inherit, Deny | `1` allows, `-1` denies; an inherited permission has no value. | +| `checkbox` | One checkbox | `1` allows; an unchecked permission has no value. | + +The permissions themselves are not in the YAML. The controller implements `cabana.PermissionEditorProvider` and answers per request, so the list may depend on the signed-in administrator: + +```go src=modules/cabana/example_form_seams_test.go#MembersController.AdminPermissionOptions +// AdminPermissionOptions lists the permissions the `type: permissioneditor` +// field offers, in display order. The principal on ctx decides what is locked. +func (MembersController) AdminPermissionOptions(ctx context.Context, field string) ([]cabana.PermissionOption, error) { + principal, _ := bouncer.User(ctx) + mayExport := cabana.Allows(principal, []string{"acme.roster.manage"}) + return []cabana.PermissionOption{ + {Code: "posts.edit", Label: "acme.roster::lang.permissions.posts_edit", Tab: "acme.roster::lang.permissions.tab_content"}, + {Code: "posts.publish", Label: "acme.roster::lang.permissions.posts_publish", Tab: "acme.roster::lang.permissions.tab_content"}, + {Code: "reports.export", Label: "acme.roster::lang.permissions.reports_export", Tab: "acme.roster::lang.permissions.tab_reports", Locked: !mayExport}, + }, nil +} +``` + +```go src=modules/cabana/example_form_seams_test.go#MembersController.AdminPermissionValues +// AdminPermissionValues reads the permissions stored on the record. +func (MembersController) AdminPermissionValues(_ context.Context, field string, record any) (map[string]int, error) { + values := map[string]int{} + if raw := record.(*Member).Permissions; raw != "" { + if err := json.Unmarshal([]byte(raw), &values); err != nil { + return nil, err + } + } + return values, nil +} +``` + +```go src=modules/cabana/example_form_seams_test.go#MembersController.AdminSetPermissionValues +// AdminSetPermissionValues stores the checked set on the model. The save +// writes the row afterwards, in the same transaction. +func (MembersController) AdminSetPermissionValues(_ context.Context, field string, record any, values map[string]int) error { + raw, err := json.Marshal(values) + if err != nil { + return err + } + record.(*Member).Permissions = string(raw) + return nil +} +``` + +- An option (`cabana.PermissionOption`) has a `Code`, a `Label`, and optionally a `Tab` and a `Comment`; the three texts are translation keys or text. Options with the same `Tab` are shown as one section of the list, in the order the controller returns them, and options without a `Tab` form a last section. The form schema carries them on the field as `permissionOptions`. +- The value travels as a JSON object of code to integer, in a record response and in a save body: `{"posts.edit": 1, "posts.publish": -1}`. A record response always carries the object, empty when nothing is stored. +- A save checks the submitted object inside its transaction, after the Form before-hooks and before the row is written. A value that is not an object of integers, a code the controller does not offer, or a value outside the mode's set is a 422 on the field; a `0` means "no value". The checked set is then handed to `AdminSetPermissionValues`, which decides how it is stored. +- A stored code that is not among the options is kept as it is: an offered code that is left out loses its value, a code that is not offered is never touched and can never be submitted. +- An option with `Locked` set is shown with a disabled control. The server enforces it: a save in which a locked code's value differs from the stored one is answered 403 `forbidden` with a message on the field, and nothing is written. +- A save that does not send the field leaves the stored permissions alone, and the field's `context` applies as for any field. +- The keys `options`, `default`, `nameFrom`, `emptyOption`, `relation` and `preset` are refused on the type. A field without `mode`, or on a controller that does not implement the provider, stops the start-up. The type is not available on settings forms or relation forms. + ## What a save may write The form's writable fields are bound to model columns at boot. A save passes only those fields that are also in the model's `Fillable` list, drops unknown keys, case variants and nested objects, and fills the model with `lagoon.Fill` (see [Models](../database/models.md)). The model's validation rules (a `Rules` method returning `lagoon.Validate` rule strings) and the form's `required` flags are checked in the save's transaction, and a failure is a 422 with messages per field. A value that does not fit its column is also a 422 on that field. A controller implementing `pact.FormRules` supplies its own rule set per operation, which replaces the model's rules for admin saves. diff --git a/modules/boardwalk/dist/assets/index-B2epb8_Z.css b/modules/boardwalk/dist/assets/index-B2epb8_Z.css deleted file mode 100644 index cadda5a..0000000 --- a/modules/boardwalk/dist/assets/index-B2epb8_Z.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--color-white:#fff;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--c-bg);--color-surface:var(--c-surface);--color-subtle:var(--c-subtle);--color-border:var(--c-border);--color-border-strong:var(--c-border-strong);--color-text:var(--c-text);--color-muted:var(--c-muted);--color-placeholder:var(--c-placeholder);--color-primary:var(--c-primary);--color-on-primary:var(--c-on-primary);--color-danger:var(--c-danger);--color-danger-soft:var(--c-danger-soft);--color-ok-bg:var(--c-ok-bg);--color-ok-text:var(--c-ok-text);--color-hover:var(--c-hover);--color-sel:var(--c-sel);--color-skel:var(--c-skel);--color-overlay:var(--c-overlay);--color-side:var(--c-side);--color-side-border:var(--c-side-border);--color-accent:#fcd34d;--color-on-accent:#1b2540;--color-accent-soft:#fcd34d24;--color-side-text:#c3cbda;--color-side-hover:#ffffff14;--radius-control:10px;--radius-card:16px;--radius-modal:20px;--radius-inner:12px;--radius-tab:9px;--radius-checkbox:5px;--radius-pager:8px;--radius-pill:999px;--spacing-button:42px;--spacing-input:44px;--spacing-header:64px;--spacing-nav:40px;--spacing-row:54px;--spacing-row-head:44px;--spacing-pager:34px;--spacing-rail:80px;--spacing-panel:224px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);font-size:14px;line-height:1.5}body{min-height:100vh;margin:0}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--c-ring);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--c-placeholder)}}@layer components{.bg-overlay[data-state=open]{animation:.2s ease-out summer-fade-in}[data-dialog-content][data-state=open],[role=alertdialog][data-state=open]{animation:.2s ease-out summer-dialog-in}.toast-enter-active{transition:opacity .2s ease-out,scale .2s ease-out}.toast-enter-from{opacity:0;scale:.98}.summer-partial{color:var(--c-text);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.summer-partial :where(p,ul,ol){margin:0 0 8px}.summer-partial :where(p,ul,ol):last-child{margin-bottom:0}.summer-partial a{color:var(--c-text);text-decoration:underline}.summer-partial a:focus-visible{outline:3px solid var(--c-ring);outline-offset:2px}.summer-stats{background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--c-shadow-card);border-radius:16px;flex-wrap:wrap;gap:8px 32px;margin:0;padding:16px 20px;display:flex}.summer-stat{flex-direction:column-reverse;gap:4px;min-width:0;display:flex}.summer-stat__label{color:var(--c-muted);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:400;line-height:1.5}.summer-stat__value{color:var(--c-text);font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:600;line-height:1.2}.summer-callout{overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:4px;margin:0;padding:14px 18px;font-size:14px;line-height:1.5;display:flex}.summer-callout--warning{background:var(--c-sel);color:var(--c-text)}.summer-callout--danger{background:var(--c-danger-soft);color:var(--c-danger)}.summer-callout__title{margin:0;font-weight:600}.summer-callout__text{margin:0;font-weight:400}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-\[3px\]{top:3px}.top-full{top:100%}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\[88px\]{bottom:88px}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-\[3px\]{left:3px}.left-\[calc\(var\(--spacing-rail\)\+8px\)\]{left:calc(var(--spacing-rail) + 8px)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-10\!{width:calc(var(--spacing) * 10)!important;height:calc(var(--spacing) * 10)!important}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-40{width:calc(var(--spacing) * 40);height:calc(var(--spacing) * 40)}.size-\[18px\]{width:18px;height:18px}.size-\[22px\]{width:22px;height:22px}.size-\[26px\]{width:26px;height:26px}.size-\[30px\]{width:30px;height:30px}.size-\[34px\]{width:34px;height:34px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing) * 1)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[44px\]{height:44px}.h-\[54px\]{height:54px}.h-\[56px\]{height:56px}.h-\[68px\]{height:68px}.h-\[80px\]{height:80px}.h-\[112px\]{height:112px}.h-button{height:var(--spacing-button)}.h-full{height:100%}.h-header{height:var(--spacing-header)}.h-input{height:var(--spacing-input)}.h-nav{height:var(--spacing-nav)}.h-pager{height:var(--spacing-pager)}.h-px{height:1px}.h-row{height:var(--spacing-row)}.h-row-head{height:var(--spacing-row-head)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[30px\]{min-height:30px}.min-h-\[112px\]{min-height:112px}.min-h-input{min-height:var(--spacing-input)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-24{width:calc(var(--spacing) * 24)}.w-\[52px\]{width:52px}.w-\[56px\]{width:56px}.w-\[68px\]{width:68px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[230px\]{width:230px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[284px\]{width:284px}.w-\[320px\]{width:320px}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-full{width:100%}.w-panel{width:var(--spacing-panel)}.w-rail{width:var(--spacing-rail)}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[120px\]{min-width:120px}.min-w-\[480px\]{min-width:480px}.min-w-\[640px\]{min-width:640px}.min-w-pager{min-width:var(--spacing-pager)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(160px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-start\!{align-items:flex-start!important}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[18px\]{gap:18px}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-\[22px\]{row-gap:22px}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[14px\]{border-radius:14px}.rounded-card{border-radius:var(--radius-card)}.rounded-checkbox{border-radius:var(--radius-checkbox)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e38px}.rounded-inner{border-radius:var(--radius-inner)}.rounded-modal{border-radius:var(--radius-modal)}.rounded-pager{border-radius:var(--radius-pager)}.rounded-pill{border-radius:var(--radius-pill)}.rounded-tab{border-radius:var(--radius-tab)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#c62828\]{border-color:#c62828}.border-\[\#d2d8e2\]{border-color:#d2d8e2}.border-\[\#e0b020\]{border-color:#e0b020}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-danger{border-color:var(--color-danger)}.border-primary{border-color:var(--color-primary)}.border-side-border{border-color:var(--color-side-border)}.border-transparent{border-color:#0000}.bg-\[\#1d2740\]{background-color:#1d2740}.bg-\[\#22304d\]{background-color:#22304d}.bg-\[\#f58a8a\]{background-color:#f58a8a}.bg-\[\#fdf0f0\]{background-color:#fdf0f0}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-border{background-color:var(--color-border)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-hover{background-color:var(--color-hover)}.bg-ok-bg{background-color:var(--color-ok-bg)}.bg-on-primary{background-color:var(--color-on-primary)}.bg-overlay{background-color:var(--color-overlay)}.bg-primary{background-color:var(--color-primary)}.bg-sel{background-color:var(--color-sel)}.bg-side{background-color:var(--color-side)}.bg-skel{background-color:var(--color-skel)}.bg-subtle{background-color:var(--color-subtle)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\!{padding-inline:calc(var(--spacing) * 0)!important}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[18px\]{padding-inline:18px}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1d2740\]{color:#1d2740}.text-\[\#141b2d\]{color:#141b2d}.text-\[\#c3cbda\]{color:#c3cbda}.text-\[\#c62828\]{color:#c62828}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-muted)}.text-ok-text{color:var(--color-ok-text)}.text-on-accent{color:var(--color-on-accent)}.text-on-primary{color:var(--color-on-primary)}.text-side-text{color:var(--color-side-text)}.text-text{color:var(--color-text)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.accent-primary{accent-color:var(--color-primary)}.opacity-50{opacity:.5}.shadow-card{--tw-shadow:var(--c-shadow-card);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-login{--tw-shadow:0 24px 60px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-menu{--tw-shadow:0 16px 40px var(--tw-shadow-color,#141b2d29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-pop{--tw-shadow:0 16px 40px var(--tw-shadow-color,#141b2d2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-tab{--tw-shadow:0 1px 3px var(--tw-shadow-color,#141b2d1f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-toast{--tw-shadow:0 16px 40px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.first\:pl-5:first-child{padding-left:calc(var(--spacing) * 5)}.last\:pr-5:last-child{padding-right:calc(var(--spacing) * 5)}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:shadow-\[0_0_0_3px_var\(--c-ring\)\]:focus-within{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--c-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.hover\:bg-danger-soft:hover{background-color:var(--color-danger-soft)}.hover\:bg-hover:hover{background-color:var(--color-hover)}.hover\:bg-side-hover:hover{background-color:var(--color-side-hover)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text:hover{color:var(--color-text)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-90:hover{opacity:.9}}.focus\:bg-sel:focus{background-color:var(--color-sel)}.focus\:text-text:focus{color:var(--color-text)}.focus-visible\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.has-\[\[data-invalid\]\]\:border-danger:has([data-invalid]){border-color:var(--color-danger)}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:text-placeholder[data-disabled]{color:var(--color-placeholder)}.data-\[disabled\]\:opacity-40[data-disabled]{opacity:.4}@media(hover:hover){.data-\[disabled\]\:hover\:bg-transparent[data-disabled]:hover{background-color:#0000}}.data-\[highlighted\]\:bg-hover[data-highlighted]{background-color:var(--color-hover)}.data-\[outside-view\]\:text-placeholder[data-outside-view],.data-\[placeholder\]\:text-placeholder[data-placeholder]{color:var(--color-placeholder)}.focus\:data-\[placeholder\]\:text-text:focus[data-placeholder]{color:var(--color-text)}.data-\[selected\]\:bg-primary[data-selected]{background-color:var(--color-primary)}.data-\[selected\]\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[selected\]\:text-on-primary[data-selected]{color:var(--color-on-primary)}.data-\[today\]\:font-semibold[data-today]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[today\]\:shadow-\[inset_0_0_0_1px_var\(--c-border-strong\)\][data-today]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--c-border-strong));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[unavailable\]\:cursor-not-allowed[data-unavailable]{cursor:not-allowed}.data-\[unavailable\]\:opacity-40[data-unavailable]{opacity:.4}@media not all and (min-width:1099px){.max-\[1099px\]\:hidden{display:none}}@media(min-width:600px){.min-\[600px\]\:col-start-1{grid-column-start:1}.min-\[600px\]\:col-start-2{grid-column-start:2}.min-\[600px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.min-\[900px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(./dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(./dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(./dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(./dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(./dm-sans-latin-ext-700-normal-BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(./dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(./dm-mono-latin-ext-400-normal-1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(./dm-mono-latin-400-normal--0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-mono-latin-ext-500-normal-BtRyHRi6.woff2)format("woff2"),url(./dm-mono-latin-ext-500-normal-Dw3M13d8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(./dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg:#f4f6f9;--c-surface:#fff;--c-subtle:#f3f5f8;--c-border:#e6e9ef;--c-border-strong:#d2d8e2;--c-text:#141b2d;--c-muted:#566175;--c-placeholder:#6b7588;--c-primary:#22304d;--c-on-primary:#fff;--c-danger:#c62828;--c-danger-soft:#fdf0f0;--c-ok-bg:#e3f4e8;--c-ok-text:#1c6b35;--c-ring:#fcc4288c;--c-hover:#f1f3f7;--c-sel:#fdf3cf;--c-skel:#eceff4;--c-overlay:#141b2d80;--c-side:#1d2740;--c-side-border:transparent;--c-shadow-card:0 1px 2px #141b2d0a, 0 4px 16px #141b2d0d}.dark{color-scheme:dark;--c-bg:#111726;--c-surface:#182033;--c-subtle:#1f283d;--c-border:#29334b;--c-border-strong:#3a4661;--c-text:#eef1f6;--c-muted:#a9b3c6;--c-placeholder:#8a95ab;--c-primary:#fcd34d;--c-on-primary:#1b2540;--c-danger:#f58a8a;--c-danger-soft:#3a1d24;--c-ok-bg:#173826;--c-ok-text:#8fdfa8;--c-ring:#fcd34d73;--c-hover:#212b42;--c-sel:#3a3622;--c-skel:#263049;--c-overlay:#050810b3;--c-side:#0d1320;--c-side-border:#222b40;--c-shadow-card:none}@keyframes summer-fade-in{0%{opacity:0}}@keyframes summer-dialog-in{0%{opacity:0;scale:.98}}@media(prefers-reduced-motion:reduce){.bg-overlay,[data-dialog-content],[role=alertdialog]{animation:none!important}.toast-enter-active{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/modules/boardwalk/dist/assets/index-CXbMmgdh.css b/modules/boardwalk/dist/assets/index-CXbMmgdh.css new file mode 100644 index 0000000..a824ce1 --- /dev/null +++ b/modules/boardwalk/dist/assets/index-CXbMmgdh.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--color-white:#fff;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--c-bg);--color-surface:var(--c-surface);--color-subtle:var(--c-subtle);--color-border:var(--c-border);--color-border-strong:var(--c-border-strong);--color-text:var(--c-text);--color-muted:var(--c-muted);--color-placeholder:var(--c-placeholder);--color-primary:var(--c-primary);--color-on-primary:var(--c-on-primary);--color-danger:var(--c-danger);--color-danger-soft:var(--c-danger-soft);--color-ok-bg:var(--c-ok-bg);--color-ok-text:var(--c-ok-text);--color-hover:var(--c-hover);--color-sel:var(--c-sel);--color-skel:var(--c-skel);--color-overlay:var(--c-overlay);--color-side:var(--c-side);--color-side-border:var(--c-side-border);--color-accent:#fcd34d;--color-on-accent:#1b2540;--color-accent-soft:#fcd34d24;--color-side-text:#c3cbda;--color-side-hover:#ffffff14;--radius-control:10px;--radius-card:16px;--radius-modal:20px;--radius-inner:12px;--radius-tab:9px;--radius-checkbox:5px;--radius-pager:8px;--radius-pill:999px;--spacing-button:42px;--spacing-input:44px;--spacing-header:64px;--spacing-nav:40px;--spacing-row:54px;--spacing-row-head:44px;--spacing-pager:34px;--spacing-rail:80px;--spacing-panel:224px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);font-size:14px;line-height:1.5}body{min-height:100vh;margin:0}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--c-ring);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--c-placeholder)}}@layer components{.bg-overlay[data-state=open]{animation:.2s ease-out summer-fade-in}[data-dialog-content][data-state=open],[role=alertdialog][data-state=open]{animation:.2s ease-out summer-dialog-in}.toast-enter-active{transition:opacity .2s ease-out,scale .2s ease-out}.toast-enter-from{opacity:0;scale:.98}.summer-partial{color:var(--c-text);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.summer-partial :where(p,ul,ol){margin:0 0 8px}.summer-partial :where(p,ul,ol):last-child{margin-bottom:0}.summer-partial a{color:var(--c-text);text-decoration:underline}.summer-partial a:focus-visible{outline:3px solid var(--c-ring);outline-offset:2px}.summer-stats{background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--c-shadow-card);border-radius:16px;flex-wrap:wrap;gap:8px 32px;margin:0;padding:16px 20px;display:flex}.summer-stat{flex-direction:column-reverse;gap:4px;min-width:0;display:flex}.summer-stat__label{color:var(--c-muted);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:400;line-height:1.5}.summer-stat__value{color:var(--c-text);font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:600;line-height:1.2}.summer-callout{overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:4px;margin:0;padding:14px 18px;font-size:14px;line-height:1.5;display:flex}.summer-callout--warning{background:var(--c-sel);color:var(--c-text)}.summer-callout--danger{background:var(--c-danger-soft);color:var(--c-danger)}.summer-callout__title{margin:0;font-weight:600}.summer-callout__text{margin:0;font-weight:400}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-\[3px\]{top:3px}.top-full{top:100%}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\[88px\]{bottom:88px}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-\[3px\]{left:3px}.left-\[calc\(var\(--spacing-rail\)\+8px\)\]{left:calc(var(--spacing-rail) + 8px)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-10\!{width:calc(var(--spacing) * 10)!important;height:calc(var(--spacing) * 10)!important}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-40{width:calc(var(--spacing) * 40);height:calc(var(--spacing) * 40)}.size-\[18px\]{width:18px;height:18px}.size-\[22px\]{width:22px;height:22px}.size-\[26px\]{width:26px;height:26px}.size-\[30px\]{width:30px;height:30px}.size-\[34px\]{width:34px;height:34px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing) * 1)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[44px\]{height:44px}.h-\[54px\]{height:54px}.h-\[56px\]{height:56px}.h-\[68px\]{height:68px}.h-\[80px\]{height:80px}.h-\[112px\]{height:112px}.h-button{height:var(--spacing-button)}.h-full{height:100%}.h-header{height:var(--spacing-header)}.h-input{height:var(--spacing-input)}.h-nav{height:var(--spacing-nav)}.h-pager{height:var(--spacing-pager)}.h-px{height:1px}.h-row{height:var(--spacing-row)}.h-row-head{height:var(--spacing-row-head)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[30px\]{min-height:30px}.min-h-\[56px\]{min-height:56px}.min-h-\[112px\]{min-height:112px}.min-h-input{min-height:var(--spacing-input)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-24{width:calc(var(--spacing) * 24)}.w-\[52px\]{width:52px}.w-\[56px\]{width:56px}.w-\[68px\]{width:68px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[230px\]{width:230px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[284px\]{width:284px}.w-\[320px\]{width:320px}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-full{width:100%}.w-panel{width:var(--spacing-panel)}.w-rail{width:var(--spacing-rail)}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[120px\]{min-width:120px}.min-w-\[480px\]{min-width:480px}.min-w-\[640px\]{min-width:640px}.min-w-pager{min-width:var(--spacing-pager)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(160px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-start\!{align-items:flex-start!important}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[18px\]{gap:18px}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-\[22px\]{row-gap:22px}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[14px\]{border-radius:14px}.rounded-card{border-radius:var(--radius-card)}.rounded-checkbox{border-radius:var(--radius-checkbox)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e38px}.rounded-inner{border-radius:var(--radius-inner)}.rounded-modal{border-radius:var(--radius-modal)}.rounded-pager{border-radius:var(--radius-pager)}.rounded-pill{border-radius:var(--radius-pill)}.rounded-tab{border-radius:var(--radius-tab)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#c62828\]{border-color:#c62828}.border-\[\#d2d8e2\]{border-color:#d2d8e2}.border-\[\#e0b020\]{border-color:#e0b020}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-danger{border-color:var(--color-danger)}.border-primary{border-color:var(--color-primary)}.border-side-border{border-color:var(--color-side-border)}.border-transparent{border-color:#0000}.bg-\[\#1d2740\]{background-color:#1d2740}.bg-\[\#22304d\]{background-color:#22304d}.bg-\[\#f58a8a\]{background-color:#f58a8a}.bg-\[\#fdf0f0\]{background-color:#fdf0f0}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-border{background-color:var(--color-border)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-hover{background-color:var(--color-hover)}.bg-ok-bg{background-color:var(--color-ok-bg)}.bg-on-primary{background-color:var(--color-on-primary)}.bg-overlay{background-color:var(--color-overlay)}.bg-primary{background-color:var(--color-primary)}.bg-sel{background-color:var(--color-sel)}.bg-side{background-color:var(--color-side)}.bg-skel{background-color:var(--color-skel)}.bg-subtle{background-color:var(--color-subtle)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\!{padding-inline:calc(var(--spacing) * 0)!important}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[18px\]{padding-inline:18px}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.align-\[-2px\]{vertical-align:-2px}.font-mono{font-family:var(--font-mono)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1d2740\]{color:#1d2740}.text-\[\#141b2d\]{color:#141b2d}.text-\[\#c3cbda\]{color:#c3cbda}.text-\[\#c62828\]{color:#c62828}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-muted)}.text-ok-text{color:var(--color-ok-text)}.text-on-accent{color:var(--color-on-accent)}.text-on-primary{color:var(--color-on-primary)}.text-side-text{color:var(--color-side-text)}.text-text{color:var(--color-text)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.accent-primary{accent-color:var(--color-primary)}.opacity-50{opacity:.5}.shadow-card{--tw-shadow:var(--c-shadow-card);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-login{--tw-shadow:0 24px 60px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-menu{--tw-shadow:0 16px 40px var(--tw-shadow-color,#141b2d29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-pop{--tw-shadow:0 16px 40px var(--tw-shadow-color,#141b2d2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-tab{--tw-shadow:0 1px 3px var(--tw-shadow-color,#141b2d1f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-toast{--tw-shadow:0 16px 40px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.first\:pl-5:first-child{padding-left:calc(var(--spacing) * 5)}.last\:pr-5:last-child{padding-right:calc(var(--spacing) * 5)}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:shadow-\[0_0_0_3px_var\(--c-ring\)\]:focus-within{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--c-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.hover\:bg-danger-soft:hover{background-color:var(--color-danger-soft)}.hover\:bg-hover:hover{background-color:var(--color-hover)}.hover\:bg-side-hover:hover{background-color:var(--color-side-hover)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text:hover{color:var(--color-text)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-90:hover{opacity:.9}}.focus\:bg-sel:focus{background-color:var(--color-sel)}.focus\:text-text:focus{color:var(--color-text)}.focus-visible\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\:hover\:text-muted:disabled:hover{color:var(--color-muted)}}.has-\[\[data-invalid\]\]\:border-danger:has([data-invalid]){border-color:var(--color-danger)}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:text-placeholder[data-disabled]{color:var(--color-placeholder)}.data-\[disabled\]\:opacity-40[data-disabled]{opacity:.4}@media(hover:hover){.data-\[disabled\]\:hover\:bg-transparent[data-disabled]:hover{background-color:#0000}}.data-\[highlighted\]\:bg-hover[data-highlighted]{background-color:var(--color-hover)}.data-\[outside-view\]\:text-placeholder[data-outside-view],.data-\[placeholder\]\:text-placeholder[data-placeholder]{color:var(--color-placeholder)}.focus\:data-\[placeholder\]\:text-text:focus[data-placeholder]{color:var(--color-text)}.data-\[selected\]\:bg-primary[data-selected]{background-color:var(--color-primary)}.data-\[selected\]\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[selected\]\:text-on-primary[data-selected]{color:var(--color-on-primary)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--color-primary)}.data-\[state\=checked\]\:bg-danger-soft[data-state=checked]{background-color:var(--color-danger-soft)}.data-\[state\=checked\]\:bg-ok-bg[data-state=checked]{background-color:var(--color-ok-bg)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:bg-surface[data-state=checked]{background-color:var(--color-surface)}.data-\[state\=checked\]\:text-\[14px\][data-state=checked]{font-size:14px}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=checked\]\:text-danger[data-state=checked]{color:var(--color-danger)}.data-\[state\=checked\]\:text-ok-text[data-state=checked]{color:var(--color-ok-text)}.data-\[state\=checked\]\:text-on-primary[data-state=checked]{color:var(--color-on-primary)}.data-\[state\=checked\]\:text-text[data-state=checked]{color:var(--color-text)}.data-\[state\=checked\]\:shadow-tab[data-state=checked]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#141b2d1f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[today\]\:font-semibold[data-today]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[today\]\:shadow-\[inset_0_0_0_1px_var\(--c-border-strong\)\][data-today]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--c-border-strong));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[unavailable\]\:cursor-not-allowed[data-unavailable]{cursor:not-allowed}.data-\[unavailable\]\:opacity-40[data-unavailable]{opacity:.4}@media not all and (min-width:1099px){.max-\[1099px\]\:hidden{display:none}}@media not all and (min-width:40rem){.max-sm\:flex-col{flex-direction:column}.max-sm\:items-start{align-items:flex-start}}@media(min-width:600px){.min-\[600px\]\:col-start-1{grid-column-start:1}.min-\[600px\]\:col-start-2{grid-column-start:2}.min-\[600px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.min-\[900px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(./dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(./dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(./dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(./dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(./dm-sans-latin-ext-700-normal-BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(./dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(./dm-mono-latin-ext-400-normal-1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(./dm-mono-latin-400-normal--0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-mono-latin-ext-500-normal-BtRyHRi6.woff2)format("woff2"),url(./dm-mono-latin-ext-500-normal-Dw3M13d8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(./dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg:#f4f6f9;--c-surface:#fff;--c-subtle:#f3f5f8;--c-border:#e6e9ef;--c-border-strong:#d2d8e2;--c-text:#141b2d;--c-muted:#566175;--c-placeholder:#6b7588;--c-primary:#22304d;--c-on-primary:#fff;--c-danger:#c62828;--c-danger-soft:#fdf0f0;--c-ok-bg:#e3f4e8;--c-ok-text:#1c6b35;--c-ring:#fcc4288c;--c-hover:#f1f3f7;--c-sel:#fdf3cf;--c-skel:#eceff4;--c-overlay:#141b2d80;--c-side:#1d2740;--c-side-border:transparent;--c-shadow-card:0 1px 2px #141b2d0a, 0 4px 16px #141b2d0d}.dark{color-scheme:dark;--c-bg:#111726;--c-surface:#182033;--c-subtle:#1f283d;--c-border:#29334b;--c-border-strong:#3a4661;--c-text:#eef1f6;--c-muted:#a9b3c6;--c-placeholder:#8a95ab;--c-primary:#fcd34d;--c-on-primary:#1b2540;--c-danger:#f58a8a;--c-danger-soft:#3a1d24;--c-ok-bg:#173826;--c-ok-text:#8fdfa8;--c-ring:#fcd34d73;--c-hover:#212b42;--c-sel:#3a3622;--c-skel:#263049;--c-overlay:#050810b3;--c-side:#0d1320;--c-side-border:#222b40;--c-shadow-card:none}@keyframes summer-fade-in{0%{opacity:0}}@keyframes summer-dialog-in{0%{opacity:0;scale:.98}}@media(prefers-reduced-motion:reduce){.bg-overlay,[data-dialog-content],[role=alertdialog]{animation:none!important}.toast-enter-active{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/modules/boardwalk/dist/assets/index-CvMS0tdW.js b/modules/boardwalk/dist/assets/index-CvMS0tdW.js new file mode 100644 index 0000000..5fbf03f --- /dev/null +++ b/modules/boardwalk/dist/assets/index-CvMS0tdW.js @@ -0,0 +1,9 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const l of r)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const l={};return r.integrity&&(l.integrity=r.integrity),r.referrerPolicy&&(l.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?l.credentials="include":r.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(r){if(r.ep)return;r.ep=!0;const l=n(r);fetch(r.href,l)}})();function Eu(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const nt={},dr=[],bn=()=>{},gp=()=>!1,Wo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Go=e=>e.startsWith("onUpdate:"),ct=Object.assign,Du=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},_y=Object.prototype.hasOwnProperty,Xe=(e,t)=>_y.call(e,t),qe=Array.isArray,fr=e=>Dl(e)==="[object Map]",bp=e=>Dl(e)==="[object Set]",Wc=e=>Dl(e)==="[object Date]",Ve=e=>typeof e=="function",rt=e=>typeof e=="string",jt=e=>typeof e=="symbol",Ze=e=>e!==null&&typeof e=="object",_p=e=>(Ze(e)||Ve(e))&&Ve(e.then)&&Ve(e.catch),xp=Object.prototype.toString,Dl=e=>xp.call(e),xy=e=>Dl(e).slice(8,-1),wp=e=>Dl(e)==="[object Object]",Yo=e=>rt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qr=Eu(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jo=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},wy=/-\w/g,yt=Jo(e=>e.replace(wy,t=>t.slice(1).toUpperCase())),ky=/\B([A-Z])/g,_a=Jo(e=>e.replace(ky,"-$1").toLowerCase()),Zo=Jo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xr=Jo(e=>e?`on${Zo(e)}`:""),hn=(e,t)=>!Object.is(e,t),vo=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},Ou=e=>{const t=parseFloat(e);return isNaN(t)?e:t},$y=e=>{const t=rt(e)?Number(e):NaN;return isNaN(t)?e:t};let Gc;const Qo=()=>Gc||(Gc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Bn(e){if(qe(e)){const t={};for(let n=0;n{if(n){const a=n.split(Sy);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function _e(e){let t="";if(rt(e))t=e;else if(qe(e))for(let n=0;n!!(e&&e.__v_isRef===!0),M=e=>rt(e)?e:e==null?"":qe(e)||Ze(e)&&(e.toString===xp||!Ve(e.toString))?Cp(e)?M(e.value):JSON.stringify(e,Sp,2):String(e),Sp=(e,t)=>Cp(t)?Sp(e,t.value):fr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,r],l)=>(n[Hs(a,l)+" =>"]=r,n),{})}:bp(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Hs(n))}:jt(t)?Hs(t):Ze(t)&&!qe(t)&&!wp(t)?String(t):t,Hs=(e,t="")=>{var n;return jt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let ft;class Ap{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ft&&(ft.active?(this.parent=ft,this.index=(ft.scopes||(ft.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(ft===this)ft=this.prevScope;else{let t=ft;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n0)return;if(tl){let t=tl;for(tl=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;el;){let t=el;for(el=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(a){e||(e=a)}t=n}}if(e)throw e}function qp(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Tp(e){let t,n=e.depsTail,a=n;for(;a;){const r=a.prevDep;a.version===-1?(a===n&&(n=r),Ru(a),My(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=r}e.deps=t,e.depsTail=n}function Vi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rp(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Rp(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===cl)||(e.globalVersion=cl,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Vi(e))))return;e.flags|=2;const t=e.dep,n=at,a=Qt;at=e,Qt=!0;try{qp(e);const r=e.fn(e._value);(t.version===0||hn(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{at=n,Qt=a,Tp(e),e.flags&=-3}}function Ru(e,t=!1){const{dep:n,prevSub:a,nextSub:r}=e;if(a&&(a.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)Ru(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function My(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qt=!0;const Ip=[];function Vn(){Ip.push(Qt),Qt=!1}function Ln(){const e=Ip.pop();Qt=e===void 0?!0:e}function Yc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t()}finally{at=n}}}let cl=0;class qy{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!at||!Qt||at===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==at)n=this.activeLink=new qy(at,this),at.deps?(n.prevDep=at.depsTail,at.depsTail.nextDep=n,at.depsTail=n):at.deps=at.depsTail=n,Bp(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=at.depsTail,n.nextDep=void 0,at.depsTail.nextDep=n,at.depsTail=n,at.deps===n&&(at.deps=a)}return n}trigger(t){this.version++,cl++,this.notify(t)}notify(t){qu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Tu()}}}function Bp(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let a=t.deps;a;a=a.nextDep)Bp(a)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const xo=new WeakMap,Ra=Symbol(""),Li=Symbol(""),dl=Symbol("");function _t(e,t,n){if(Qt&&at){let a=xo.get(e);a||xo.set(e,a=new Map);let r=a.get(n);r||(a.set(n,r=new Xo),r.map=a,r.key=n),r.track()}}function Pn(e,t,n,a,r,l){const o=xo.get(e);if(!o){cl++;return}const s=i=>{i&&i.trigger()};if(qu(),t==="clear")o.forEach(s);else{const i=qe(e),c=i&&Yo(n);if(i&&n==="length"){const d=Number(a);o.forEach((f,p)=>{(p==="length"||p===dl||!jt(p)&&p>=d)&&s(f)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),c&&s(o.get(dl)),t){case"add":i?c&&s(o.get("length")):(s(o.get(Ra)),fr(e)&&s(o.get(Li)));break;case"delete":i||(s(o.get(Ra)),fr(e)&&s(o.get(Li)));break;case"set":fr(e)&&s(o.get(Ra));break}}Tu()}function Ty(e,t){const n=xo.get(e);return n&&n.get(t)}function Za(e){const t=Je(e);return t===e?t:(_t(t,"iterate",dl),Lt(e)?t:t.map(en))}function es(e){return _t(e=Je(e),"iterate",dl),e}function pn(e,t){return jn(e)?xr(Ia(e)?en(t):t):en(t)}const Ry={__proto__:null,[Symbol.iterator](){return Ws(this,Symbol.iterator,e=>pn(this,e))},concat(...e){return Za(this).concat(...e.map(t=>qe(t)?Za(t):t))},entries(){return Ws(this,"entries",e=>(e[1]=pn(this,e[1]),e))},every(e,t){return Sn(this,"every",e,t,void 0,arguments)},filter(e,t){return Sn(this,"filter",e,t,n=>n.map(a=>pn(this,a)),arguments)},find(e,t){return Sn(this,"find",e,t,n=>pn(this,n),arguments)},findIndex(e,t){return Sn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Sn(this,"findLast",e,t,n=>pn(this,n),arguments)},findLastIndex(e,t){return Sn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Sn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Gs(this,"includes",e)},indexOf(...e){return Gs(this,"indexOf",e)},join(e){return Za(this).join(e)},lastIndexOf(...e){return Gs(this,"lastIndexOf",e)},map(e,t){return Sn(this,"map",e,t,void 0,arguments)},pop(){return Br(this,"pop")},push(...e){return Br(this,"push",e)},reduce(e,...t){return Jc(this,"reduce",e,t)},reduceRight(e,...t){return Jc(this,"reduceRight",e,t)},shift(){return Br(this,"shift")},some(e,t){return Sn(this,"some",e,t,void 0,arguments)},splice(...e){return Br(this,"splice",e)},toReversed(){return Za(this).toReversed()},toSorted(e){return Za(this).toSorted(e)},toSpliced(...e){return Za(this).toSpliced(...e)},unshift(...e){return Br(this,"unshift",e)},values(){return Ws(this,"values",e=>pn(this,e))}};function Ws(e,t,n){const a=es(e),r=a[t]();return a!==e&&!Lt(e)&&(r._next=r.next,r.next=()=>{const l=r._next();return l.done||(l.value=n(l.value)),l}),r}const Iy=Array.prototype;function Sn(e,t,n,a,r,l){const o=es(e),s=o!==e&&!Lt(e),i=o[t];if(i!==Iy[t]){const f=i.apply(e,l);return s?en(f):f}let c=n;o!==e&&(s?c=function(f,p){return n.call(this,pn(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const d=i.call(o,c,a);return s&&r?r(d):d}function Jc(e,t,n,a){const r=es(e),l=r!==e&&!Lt(e);let o=n,s=!1;r!==e&&(l?(s=a.length===0,o=function(c,d,f){return s&&(s=!1,c=pn(e,c)),n.call(this,c,pn(e,d),f,e)}):n.length>3&&(o=function(c,d,f){return n.call(this,c,d,f,e)}));const i=r[t](o,...a);return s?pn(e,i):i}function Gs(e,t,n){const a=Je(e);_t(a,"iterate",dl);const r=a[t](...n);return(r===-1||r===!1)&&as(n[0])?(n[0]=Je(n[0]),a[t](...n)):r}function Br(e,t,n=[]){Vn(),qu();const a=Je(e)[t].apply(e,n);return Tu(),Ln(),a}const By=Eu("__proto__,__v_isRef,__isVue"),Fp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jt));function Fy(e){jt(e)||(e=String(e));const t=Je(this);return _t(t,"has",e),t.hasOwnProperty(e)}class Np{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,a){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return l;if(n==="__v_raw")return a===(r?l?Hp:zp:l?Up:jp).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(a)?t:void 0;const o=qe(t);if(!r){let i;if(o&&(i=Ry[n]))return i;if(n==="hasOwnProperty")return Fy}const s=Reflect.get(t,n,ot(t)?t:a);if((jt(n)?Fp.has(n):By(n))||(r||_t(t,"get",n),l))return s;if(ot(s)){const i=o&&Yo(n)?s:s.value;return r&&Ze(i)?pt(i):i}return Ze(s)?r?pt(s):Xt(s):s}}class Vp extends Np{constructor(t=!1){super(!1,t)}set(t,n,a,r){let l=t[n];const o=qe(t)&&Yo(n);if(!this._isShallow){const c=jn(l);if(!Lt(a)&&!jn(a)&&(l=Je(l),a=Je(a)),!o&&ot(l)&&!ot(a))return c||(l.value=a),!0}const s=o?Number(n)e,Yl=e=>Reflect.getPrototypeOf(e);function Uy(e,t,n){return function(...a){const r=this.__v_raw,l=Je(r),o=fr(l),s=e==="entries"||e===Symbol.iterator&&o,i=e==="keys"&&o,c=r[e](...a),d=n?ji:t?xr:en;return!t&&_t(l,"iterate",i?Li:Ra),ct(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:s?[d(f[0]),d(f[1])]:d(f),done:p}}})}}function Jl(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function zy(e,t){const n={get(r){const l=this.__v_raw,o=Je(l),s=Je(r);e||(hn(r,s)&&_t(o,"get",r),_t(o,"get",s));const{has:i}=Yl(o),c=t?ji:e?xr:en;if(i.call(o,r))return c(l.get(r));if(i.call(o,s))return c(l.get(s));l!==o&&l.get(r)},get size(){const r=this.__v_raw;return!e&&_t(Je(r),"iterate",Ra),r.size},has(r){const l=this.__v_raw,o=Je(l),s=Je(r);return e||(hn(r,s)&&_t(o,"has",r),_t(o,"has",s)),r===s?l.has(r):l.has(r)||l.has(s)},forEach(r,l){const o=this,s=o.__v_raw,i=Je(s),c=t?ji:e?xr:en;return!e&&_t(i,"iterate",Ra),s.forEach((d,f)=>r.call(l,c(d),c(f),o))}};return ct(n,e?{add:Jl("add"),set:Jl("set"),delete:Jl("delete"),clear:Jl("clear")}:{add(r){const l=Je(this),o=Yl(l),s=Je(r),i=!t&&!Lt(r)&&!jn(r)?s:r;return o.has.call(l,i)||hn(r,i)&&o.has.call(l,r)||hn(s,i)&&o.has.call(l,s)||(l.add(i),Pn(l,"add",i,i)),this},set(r,l){!t&&!Lt(l)&&!jn(l)&&(l=Je(l));const o=Je(this),{has:s,get:i}=Yl(o);let c=s.call(o,r);c||(r=Je(r),c=s.call(o,r));const d=i.call(o,r);return o.set(r,l),c?hn(l,d)&&Pn(o,"set",r,l):Pn(o,"add",r,l),this},delete(r){const l=Je(this),{has:o,get:s}=Yl(l);let i=o.call(l,r);i||(r=Je(r),i=o.call(l,r)),s&&s.call(l,r);const c=l.delete(r);return i&&Pn(l,"delete",r,void 0),c},clear(){const r=Je(this),l=r.size!==0,o=r.clear();return l&&Pn(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Uy(r,e,t)}),n}function ts(e,t){const n=zy(e,t);return(a,r,l)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?a:Reflect.get(Xe(n,r)&&r in a?n:a,r,l)}const Hy={get:ts(!1,!1)},Ky={get:ts(!1,!0)},Wy={get:ts(!0,!1)},Gy={get:ts(!0,!0)},jp=new WeakMap,Up=new WeakMap,zp=new WeakMap,Hp=new WeakMap;function Yy(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xt(e){return jn(e)?e:ns(e,!1,Ny,Hy,jp)}function Kp(e){return ns(e,!1,Ly,Ky,Up)}function pt(e){return ns(e,!0,Vy,Wy,zp)}function Qa(e){return ns(e,!0,jy,Gy,Hp)}function ns(e,t,n,a,r){if(!Ze(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=r.get(e);if(l)return l;const o=Yy(xy(e));if(o===0)return e;const s=new Proxy(e,o===2?a:n);return r.set(e,s),s}function Ia(e){return jn(e)?Ia(e.__v_raw):!!(e&&e.__v_isReactive)}function jn(e){return!!(e&&e.__v_isReadonly)}function Lt(e){return!!(e&&e.__v_isShallow)}function as(e){return e?!!e.__v_raw:!1}function Je(e){const t=e&&e.__v_raw;return t?Je(t):e}function wo(e){return!Xe(e,"__v_skip")&&Object.isExtensible(e)&&kp(e,"__v_skip",!0),e}const en=e=>Ze(e)?Xt(e):e,xr=e=>Ze(e)?pt(e):e;function ot(e){return e?e.__v_isRef===!0:!1}function R(e){return Wp(e,!1)}function rs(e){return Wp(e,!0)}function Wp(e,t){return ot(e)?e:new Jy(e,t)}class Jy{constructor(t,n){this.dep=new Xo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Je(t),this._value=n?t:en(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,a=this.__v_isShallow||Lt(t)||jn(t);t=a?t:Je(t),hn(t,n)&&(this._rawValue=t,this._value=a?t:en(t),this.dep.trigger())}}function Zy(e){e.dep&&e.dep.trigger()}function u(e){return ot(e)?e.value:e}function Ot(e){return Ve(e)?e():u(e)}const Qy={get:(e,t,n)=>t==="__v_raw"?e:u(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const r=e[t];return ot(r)&&!ot(n)?(r.value=n,!0):Reflect.set(e,t,n,a)}};function Gp(e){return Ia(e)?e:new Proxy(e,Qy)}class Xy{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Xo,{get:a,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=a,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function eg(e){return new Xy(e)}function Pt(e){const t=qe(e)?new Array(e.length):{};for(const n in e)t[n]=Yp(e,n);return t}class tg{constructor(t,n,a){this._object=t,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._key=jt(n)?n:String(n),this._raw=Je(t);let r=!0,l=t;if(!qe(t)||jt(this._key)||!Yo(this._key))do r=!as(l)||Lt(l);while(r&&(l=l.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=u(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ot(this._raw[this._key])){const n=this._object[this._key];if(ot(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ty(this._raw,this._key)}}class ng{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function ag(e,t,n){return ot(e)?e:Ve(e)?new ng(e):Ze(e)&&arguments.length>1?Yp(e,t,n):R(e)}function Yp(e,t,n){return new tg(e,t,n)}class rg{constructor(t,n,a){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Xo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=cl-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&at!==this)return Mp(this,!0),!0}get value(){const t=this.dep.track();return Rp(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function lg(e,t,n=!1){let a,r;return Ve(e)?a=e:(a=e.get,r=e.set),new rg(a,r,n)}const Zl={},ko=new WeakMap;let Oa;function og(e,t=!1,n=Oa){if(n){let a=ko.get(n);a||ko.set(n,a=[]),a.push(e)}}function sg(e,t,n=nt){const{immediate:a,deep:r,once:l,scheduler:o,augmentJob:s,call:i}=n,c=A=>r?A:Lt(A)||r===!1||r===0?Mn(A,1):Mn(A);let d,f,p,v,m=!1,g=!1;if(ot(e)?(f=()=>e.value,m=Lt(e)):Ia(e)?(f=()=>c(e),m=!0):qe(e)?(g=!0,m=e.some(A=>Ia(A)||Lt(A)),f=()=>e.map(A=>{if(ot(A))return A.value;if(Ia(A))return c(A);if(Ve(A))return i?i(A,2):A()})):Ve(e)?t?f=i?()=>i(e,2):e:f=()=>{if(p){Vn();try{p()}finally{Ln()}}const A=Oa;Oa=d;try{return i?i(e,3,[v]):e(v)}finally{Oa=A}}:f=bn,t&&r){const A=f,N=r===!0?1/0:r;f=()=>Mn(A(),N)}const b=Mu(),y=()=>{d.stop(),b&&b.active&&Du(b.effects,d)};if(l&&t){const A=t;t=(...N)=>{A(...N),y()}}let _=g?new Array(e.length).fill(Zl):Zl;const C=A=>{if(!(!(d.flags&1)||!d.dirty&&!A))if(t){const N=d.run();if(r||m||(g?N.some((G,z)=>hn(G,_[z])):hn(N,_))){p&&p();const G=Oa;Oa=d;try{const z=[N,_===Zl?void 0:g&&_[0]===Zl?[]:_,v];_=N,i?i(t,3,z):t(...z)}finally{Oa=G}}}else d.run()};return s&&s(C),d=new Op(f),d.scheduler=o?()=>o(C,!1):C,v=A=>og(A,!1,d),p=d.onStop=()=>{const A=ko.get(d);if(A){if(i)i(A,4);else for(const N of A)N();ko.delete(d)}},t?a?C(!0):_=d.run():o?o(C.bind(null,!0),!0):d.run(),y.pause=d.pause.bind(d),y.resume=d.resume.bind(d),y.stop=y,y}function Mn(e,t=1/0,n){if(t<=0||!Ze(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ot(e))Mn(e.value,t,n);else if(qe(e))for(let a=0;a{Mn(a,t,n)});else if(wp(e)){for(const a in e)Mn(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&Mn(e[a],t,n)}return e}function Ol(e,t,n,a){try{return a?e(...a):e()}catch(r){ls(r,t,n)}}function Jt(e,t,n,a){if(Ve(e)){const r=Ol(e,t,n,a);return r&&_p(r)&&r.catch(l=>{ls(l,t,n)}),r}if(qe(e)){const r=[];for(let l=0;l>>1,r=At[a],l=fl(r);l=fl(n)?At.push(e):At.splice(ug(t),0,e),e.flags|=1,Zp()}}function Zp(){$o||($o=Jp.then(Xp))}function cg(e){qe(e)?pr.push(...e):ra&&e.id===-1?ra.splice(lr+1,0,e):e.flags&1||(pr.push(e),e.flags|=1),Zp()}function Zc(e,t,n=dn+1){for(;nfl(n)-fl(a));if(pr.length=0,ra){ra.push(...t);return}for(ra=t,lr=0;lre.id==null?e.flags&2?-1:1/0:e.id;function Xp(e){try{for(dn=0;dn{a._d&&Eo(-1);const l=Co(t);let o;try{o=e(...r)}finally{Co(l),a._d&&Eo(1)}return o};return a._n=!0,a._c=!0,a._d=!0,a}function Ba(e,t){if(mt===null)return e;const n=cs(mt),a=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&Ve(t)?t.call(a&&a.proxy):t}}const dg=Symbol.for("v-scx"),fg=()=>st(dg);function tn(e,t){return os(e,null,t)}function tv(e,t){return os(e,null,{flush:"post"})}function Ne(e,t,n){return os(e,t,n)}function os(e,t,n=nt){const{immediate:a,deep:r,flush:l,once:o}=n,s=ct({},n),i=t&&a||!t&&l!=="post";let c;if(ml){if(l==="sync"){const v=fg();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=bn,v.resume=bn,v.pause=bn,v}}const d=xt;s.call=(v,m,g)=>Jt(v,d,m,g);let f=!1;l==="post"?s.scheduler=v=>{St(v,d&&d.suspense)}:l!=="sync"&&(f=!0,s.scheduler=(v,m)=>{m?v():Iu(v)}),s.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,d&&(v.id=d.uid,v.i=d))};const p=sg(e,t,s);return ml&&(c?c.push(p):i&&p()),p}function pg(e,t,n){const a=this.proxy,r=rt(e)?e.includes(".")?nv(a,e):()=>a[e]:e.bind(a,a);let l;Ve(t)?l=t:(l=t.handler,n=t);const o=Pl(this),s=os(r,l.bind(a),n);return o(),s}function nv(e,t){const n=t.split(".");return()=>{let a=e;for(let r=0;re.__isTeleport,Ma=e=>e&&(e.disabled||e.disabled===""),hg=e=>e&&(e.defer||e.defer===""),Qc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Xc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ui=(e,t)=>{const n=e&&e.to;return rt(n)?t?t(n):null:n},mg={name:"Teleport",__isTeleport:!0,process(e,t,n,a,r,l,o,s,i,c){const{mc:d,pc:f,pbc:p,o:{insert:v,querySelector:m,createText:g,createComment:b,parentNode:y}}=c,_=Ma(t.props);let{dynamicChildren:C}=t;const A=(z,H,k)=>{z.shapeFlag&16&&d(z.children,H,k,r,l,o,s,i)},N=(z=t)=>{const H=Ma(z.props),k=z.target=Ui(z.props,m),B=zi(k,z,g,v);k&&(o!=="svg"&&Qc(k)?o="svg":o!=="mathml"&&Xc(k)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(k),H||(A(z,k,B),Wr(z,!1)))},G=z=>{const H=()=>{if(ta.get(z)===H){if(ta.delete(z),Ma(z.props)){const k=y(z.el)||n;A(z,k,z.anchor),Wr(z,!0)}N(z)}};ta.set(z,H),St(H,l)};if(e==null){const z=t.el=g(""),H=t.anchor=g("");if(v(z,n,a),v(H,n,a),hg(t.props)||l&&l.pendingBranch){G(t);return}_&&(A(t,n,H),Wr(t,!0)),N()}else{t.el=e.el;const z=t.anchor=e.anchor,H=ta.get(e);if(H){H.flags|=8,ta.delete(e),G(t);return}t.targetStart=e.targetStart;const k=t.target=e.target,B=t.targetAnchor=e.targetAnchor,Y=Ma(e.props),D=Y?n:k,L=Y?z:B;if(o==="svg"||Qc(k)?o="svg":(o==="mathml"||Xc(k))&&(o="mathml"),C?(p(e.dynamicChildren,C,D,r,l,o,s),Vu(e,t,!0)):i||f(e,t,D,L,r,l,o,s,!1),_)Y?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ql(t,n,z,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const W=t.target=Ui(t.props,m);W&&Ql(t,W,null,c,0)}else Y&&Ql(t,k,B,c,1);Wr(t,_)}},remove(e,t,n,{um:a,o:{remove:r}},l){const{shapeFlag:o,children:s,anchor:i,targetStart:c,targetAnchor:d,target:f,props:p}=e,v=l||!Ma(p),m=ta.get(e);if(m&&(m.flags|=8,ta.delete(e)),f&&(r(c),r(d)),l&&r(i),!m&&o&16)for(let g=0;g{e.isMounted=!0}),It(()=>{e.isUnmounting=!0}),e}const zt=[Function,Array],_g={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:zt,onEnter:zt,onAfterEnter:zt,onEnterCancelled:zt,onBeforeLeave:zt,onLeave:zt,onAfterLeave:zt,onLeaveCancelled:zt,onBeforeAppear:zt,onAppear:zt,onAfterAppear:zt,onAppearCancelled:zt};function xg(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function Hi(e,t,n,a,r){const{appear:l,mode:o,persisted:s=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:v,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:b,onAppear:y,onAfterAppear:_,onAppearCancelled:C}=t,A=String(e.key),N=xg(n,e),G=(k,B)=>{k&&Jt(k,a,9,B)},z=(k,B)=>{const Y=B[1];G(k,B),qe(k)?k.every(D=>D.length<=1)&&Y():k.length<=1&&Y()},H={mode:o,persisted:s,beforeEnter(k){let B=i;if(!n.isMounted)if(l)B=b||i;else return;k[fn]&&k[fn](!0);const Y=N[A];Y&&or(e,Y)&&Y.el[fn]&&Y.el[fn](),G(B,[k])},enter(k){if(N[A]===e)return;let B=c,Y=d,D=f;if(!n.isMounted)if(l)B=y||c,Y=_||d,D=C||f;else return;let L=!1;k[Fr]=V=>{L||(L=!0,V?G(D,[k]):G(Y,[k]),H.delayedLeave&&H.delayedLeave(),k[Fr]=void 0)};const W=k[Fr].bind(null,!1);B?z(B,[k,W]):W()},leave(k,B){const Y=String(e.key);if(k[Fr]&&k[Fr](!0),n.isUnmounting)return B();G(p,[k]);let D=!1;k[fn]=W=>{D||(D=!0,B(),W?G(g,[k]):G(m,[k]),k[fn]=void 0,N[Y]===e&&delete N[Y])};const L=k[fn].bind(null,!1);N[Y]=e,v?z(v,[k,L]):L()},clone(k){return Hi(k,t,n,a)}};return H}function pl(e,t){e.shapeFlag&6&&e.component?(e.transition=t,pl(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rv(e,t=!1,n){let a=[],r=0;for(let l=0;l1)for(let l=0;lnl(g,t&&(qe(t)?t[b]:t),n,a,r));return}if(vr(a)&&!r){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&nl(e,t,n,a.component.subTree);return}const l=a.shapeFlag&4?cs(a.component):a.el,o=r?null:l,{i:s,r:i}=e,c=t&&t.r,d=s.refs===nt?s.refs={}:s.refs,f=s.setupState,p=Je(f),v=f===nt?gp:g=>ed(d,g)?!1:Xe(p,g),m=(g,b)=>!(b&&ed(d,b));if(c!=null&&c!==i){if(td(t),rt(c))d[c]=null,v(c)&&(f[c]=null);else if(ot(c)){const g=t;m(c,g.k)&&(c.value=null),g.k&&(d[g.k]=null)}}if(Ve(i))Ol(i,s,12,[o,d]);else{const g=rt(i),b=ot(i);if(g||b){const y=()=>{if(e.f){const _=g?v(i)?f[i]:d[i]:m()||!e.k?i.value:d[e.k];if(r)qe(_)&&Du(_,l);else if(qe(_))_.includes(l)||_.push(l);else if(g)d[i]=[l],v(i)&&(f[i]=d[i]);else{const C=[l];m(i,e.k)&&(i.value=C),e.k&&(d[e.k]=C)}}else g?(d[i]=o,v(i)&&(f[i]=o)):b&&(m(i,e.k)&&(i.value=o),e.k&&(d[e.k]=o))};if(o){const _=()=>{y(),So.delete(e)};_.id=-1,So.set(e,_),St(_,n)}else td(e),y()}}}function td(e){const t=So.get(e);t&&(t.flags|=8,So.delete(e))}Qo().requestIdleCallback;Qo().cancelIdleCallback;const vr=e=>!!e.type.__asyncLoader,ov=e=>e.type.__isKeepAlive;function sv(e,t){uv(e,"a",t)}function iv(e,t){uv(e,"da",t)}function uv(e,t,n=xt){const a=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ss(t,a,n),n){let r=n.parent;for(;r&&r.parent;)ov(r.parent.vnode)&&kg(a,t,n,r),r=r.parent}}function kg(e,t,n,a){const r=ss(t,e,a,!0);za(()=>{Du(a[t],r)},n)}function ss(e,t,n=xt,a=!1){if(n){const r=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...o)=>{Vn();const s=Pl(n),i=Jt(t,n,e,o);return s(),Ln(),i});return a?r.unshift(l):r.push(l),l}}const Kn=e=>(t,n=xt)=>{(!ml||e==="sp")&&ss(e,(...a)=>t(...a),n)},$g=Kn("bm"),gt=Kn("m"),Cg=Kn("bu"),Bu=Kn("u"),It=Kn("bum"),za=Kn("um"),Sg=Kn("sp"),Ag=Kn("rtg"),Eg=Kn("rtc");function Dg(e,t=xt){ss("ec",e,t)}const Og="components",cv=Symbol.for("v-ndc");function Ut(e){return rt(e)?Pg(Og,e,!1)||e:e||cv}function Pg(e,t,n=!0,a=!1){const r=mt||xt;if(r){const l=r.type;{const s=pb(l,!1);if(s&&(s===t||s===yt(t)||s===Zo(yt(t))))return l}const o=nd(r[e]||l[e],t)||nd(r.appContext[e],t);return!o&&a?l:o}}function nd(e,t){return e&&(e[t]||e[yt(t)]||e[Zo(yt(t))])}function Fe(e,t,n,a){let r;const l=n,o=qe(e);if(o||rt(e)){const s=o&&Ia(e);let i=!1,c=!1;s&&(i=!Lt(e),c=jn(e),e=es(e)),r=new Array(e.length);for(let d=0,f=e.length;dt(s,i,void 0,l));else{const s=Object.keys(e);r=new Array(s.length);for(let i=0,c=s.length;i0;return t!=="default"&&(n.name=t),h(),F(ge,null,[j("slot",n,a&&a())],c?-2:64)}let l=e[t];l&&l._c&&(l._d=!1),h();const o=l&&dv(l(n)),s=n.key||o&&o.key,i=F(ge,{key:(s&&!jt(s)?s:`_${t}`)+(!o&&a?"_fb":"")},o||(a?a():[]),o&&e._===1?64:-2);return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),l&&l._c&&(l._d=!0),i}function dv(e){return e.some(t=>hl(t)?!(t.type===nn||t.type===ge&&!dv(t.children)):!0)?e:null}function fv(e,t){const n={};for(const a in e)n[Xr(a)]=e[a];return n}const Ki=e=>e?Mv(e)?cs(e):Ki(e.parent):null,al=ct(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ki(e.parent),$root:e=>Ki(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>hv(e),$forceUpdate:e=>e.f||(e.f=()=>{Iu(e.update)}),$nextTick:e=>e.n||(e.n=Ke.bind(e.proxy)),$watch:e=>pg.bind(e)}),Ys=(e,t)=>e!==nt&&!e.__isScriptSetup&&Xe(e,t),Mg={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:a,data:r,props:l,accessCache:o,type:s,appContext:i}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return a[t];case 2:return r[t];case 4:return n[t];case 3:return l[t]}else{if(Ys(a,t))return o[t]=1,a[t];if(r!==nt&&Xe(r,t))return o[t]=2,r[t];if(Xe(l,t))return o[t]=3,l[t];if(n!==nt&&Xe(n,t))return o[t]=4,n[t];Gi&&(o[t]=0)}}const c=al[t];let d,f;if(c)return t==="$attrs"&&_t(e.attrs,"get",""),c(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==nt&&Xe(n,t))return o[t]=4,n[t];if(f=i.config.globalProperties,Xe(f,t))return f[t]},set({_:e},t,n){const{data:a,setupState:r,ctx:l}=e;return Ys(r,t)?(r[t]=n,!0):a!==nt&&Xe(a,t)?(a[t]=n,!0):Xe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:r,props:l,type:o}},s){let i;return!!(n[s]||e!==nt&&s[0]!=="$"&&Xe(e,s)||Ys(t,s)||Xe(l,s)||Xe(a,s)||Xe(al,s)||Xe(r.config.globalProperties,s)||(i=o.__cssModules)&&i[s])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Xe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Wi(e){return qe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function pv(e,t){const n=Wi(e);for(const a in t){if(a.startsWith("__skip"))continue;let r=n[a];r?qe(r)||Ve(r)?r=n[a]={type:r,default:t[a]}:r.default=t[a]:r===null&&(r=n[a]={default:t[a]}),r&&t[`__skip_${a}`]&&(r.skipFactory=!0)}return n}let Gi=!0;function qg(e){const t=hv(e),n=e.proxy,a=e.ctx;Gi=!1,t.beforeCreate&&ad(t.beforeCreate,e,"bc");const{data:r,computed:l,methods:o,watch:s,provide:i,inject:c,created:d,beforeMount:f,mounted:p,beforeUpdate:v,updated:m,activated:g,deactivated:b,beforeDestroy:y,beforeUnmount:_,destroyed:C,unmounted:A,render:N,renderTracked:G,renderTriggered:z,errorCaptured:H,serverPrefetch:k,expose:B,inheritAttrs:Y,components:D,directives:L,filters:W}=t;if(c&&Tg(c,a,null),o)for(const ae in o){const ce=o[ae];Ve(ce)&&(a[ae]=ce.bind(n))}if(r){const ae=r.call(n,n);Ze(ae)&&(e.data=Xt(ae))}if(Gi=!0,l)for(const ae in l){const ce=l[ae],te=Ve(ce)?ce.bind(n,n):Ve(ce.get)?ce.get.bind(n,n):bn,ie=!Ve(ce)&&Ve(ce.set)?ce.set.bind(n):bn,le=x({get:te,set:ie});Object.defineProperty(a,ae,{enumerable:!0,configurable:!0,get:()=>le.value,set:re=>le.value=re})}if(s)for(const ae in s)vv(s[ae],a,n,ae);if(i){const ae=Ve(i)?i.call(n):i;Reflect.ownKeys(ae).forEach(ce=>{Dt(ce,ae[ce])})}d&&ad(d,e,"c");function X(ae,ce){qe(ce)?ce.forEach(te=>ae(te.bind(n))):ce&&ae(ce.bind(n))}if(X($g,f),X(gt,p),X(Cg,v),X(Bu,m),X(sv,g),X(iv,b),X(Dg,H),X(Eg,G),X(Ag,z),X(It,_),X(za,A),X(Sg,k),qe(B))if(B.length){const ae=e.exposed||(e.exposed={});B.forEach(ce=>{Object.defineProperty(ae,ce,{get:()=>n[ce],set:te=>n[ce]=te,enumerable:!0})})}else e.exposed||(e.exposed={});N&&e.render===bn&&(e.render=N),Y!=null&&(e.inheritAttrs=Y),D&&(e.components=D),L&&(e.directives=L),k&&lv(e)}function Tg(e,t,n=bn){qe(e)&&(e=Yi(e));for(const a in e){const r=e[a];let l;Ze(r)?"default"in r?l=st(r.from||a,r.default,!0):l=st(r.from||a):l=st(r),ot(l)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>l.value,set:o=>l.value=o}):t[a]=l}}function ad(e,t,n){Jt(qe(e)?e.map(a=>a.bind(t.proxy)):e.bind(t.proxy),t,n)}function vv(e,t,n,a){let r=a.includes(".")?nv(n,a):()=>n[a];if(rt(e)){const l=t[e];Ve(l)&&Ne(r,l)}else if(Ve(e))Ne(r,e.bind(n));else if(Ze(e))if(qe(e))e.forEach(l=>vv(l,t,n,a));else{const l=Ve(e.handler)?e.handler.bind(n):t[e.handler];Ve(l)&&Ne(r,l,e)}}function hv(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:o}}=e.appContext,s=l.get(t);let i;return s?i=s:!r.length&&!n&&!a?i=t:(i={},r.length&&r.forEach(c=>Ao(i,c,o,!0)),Ao(i,t,o)),Ze(t)&&l.set(t,i),i}function Ao(e,t,n,a=!1){const{mixins:r,extends:l}=t;l&&Ao(e,l,n,!0),r&&r.forEach(o=>Ao(e,o,n,!0));for(const o in t)if(!(a&&o==="expose")){const s=Rg[o]||n&&n[o];e[o]=s?s(e[o],t[o]):t[o]}return e}const Rg={data:rd,props:ld,emits:ld,methods:Gr,computed:Gr,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Gr,directives:Gr,watch:Bg,provide:rd,inject:Ig};function rd(e,t){return t?e?function(){return ct(Ve(e)?e.call(this,this):e,Ve(t)?t.call(this,this):t)}:t:e}function Ig(e,t){return Gr(Yi(e),Yi(t))}function Yi(e){if(qe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${yt(t)}Modifiers`]||e[`${_a(t)}Modifiers`];function Lg(e,t,...n){if(e.isUnmounted)return;const a=e.vnode.props||nt;let r=n;const l=t.startsWith("update:"),o=l&&Vg(a,t.slice(7));o&&(o.trim&&(r=n.map(d=>rt(d)?d.trim():d)),o.number&&(r=n.map(Ou)));let s,i=a[s=Xr(t)]||a[s=Xr(yt(t))];!i&&l&&(i=a[s=Xr(_a(t))]),i&&Jt(i,e,6,r);const c=a[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Jt(c,e,6,r)}}const jg=new WeakMap;function yv(e,t,n=!1){const a=n?jg:t.emitsCache,r=a.get(e);if(r!==void 0)return r;const l=e.emits;let o={},s=!1;if(!Ve(e)){const i=c=>{const d=yv(c,t,!0);d&&(s=!0,ct(o,d))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!l&&!s?(Ze(e)&&a.set(e,null),null):(qe(l)?l.forEach(i=>o[i]=null):ct(o,l),Ze(e)&&a.set(e,o),o)}function is(e,t){return!e||!Wo(t)?!1:(t=t.slice(2).replace(/Once$/,""),Xe(e,t[0].toLowerCase()+t.slice(1))||Xe(e,_a(t))||Xe(e,t))}function od(e){const{type:t,vnode:n,proxy:a,withProxy:r,propsOptions:[l],slots:o,attrs:s,emit:i,render:c,renderCache:d,props:f,data:p,setupState:v,ctx:m,inheritAttrs:g}=e,b=Co(e);let y,_;try{if(n.shapeFlag&4){const A=r||a,N=A;y=vn(c.call(N,A,d,f,v,p,m)),_=s}else{const A=t;y=vn(A.length>1?A(f,{attrs:s,slots:o,emit:i}):A(f,null)),_=t.props?s:Ug(s)}}catch(A){rl.length=0,ls(A,e,1),y=j(nn)}let C=y;if(_&&g!==!1){const A=Object.keys(_),{shapeFlag:N}=C;A.length&&N&7&&(l&&A.some(Go)&&(_=zg(_,l)),C=fa(C,_,!1,!0))}return n.dirs&&(C=fa(C,null,!1,!0),C.dirs=C.dirs?C.dirs.concat(n.dirs):n.dirs),n.transition&&pl(C,n.transition),y=C,Co(b),y}const Ug=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wo(n))&&((t||(t={}))[n]=e[n]);return t},zg=(e,t)=>{const n={};for(const a in e)(!Go(a)||!(a.slice(9)in t))&&(n[a]=e[a]);return n};function Hg(e,t,n){const{props:a,children:r,component:l}=e,{props:o,children:s,patchFlag:i}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return a?sd(a,o,c):!!o;if(i&8){const d=t.dynamicProps;for(let f=0;fObject.create(bv),xv=e=>Object.getPrototypeOf(e)===bv;function Wg(e,t,n,a=!1){const r={},l=_v();e.propsDefaults=Object.create(null),wv(e,t,r,l);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=a?r:Kp(r):e.type.props?e.props=r:e.props=l,e.attrs=l}function Gg(e,t,n,a){const{props:r,attrs:l,vnode:{patchFlag:o}}=e,s=Je(r),[i]=e.propsOptions;let c=!1;if((a||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[p,v]=kv(f,t,!0);ct(o,p),v&&s.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!i)return Ze(e)&&a.set(e,dr),dr;if(qe(l))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Nu=e=>qe(e)?e.map(vn):[vn(e)],Jg=(e,t,n)=>{if(t._n)return t;const a=T((...r)=>Nu(t(...r)),n);return a._c=!1,a},$v=(e,t,n)=>{const a=e._ctx;for(const r in e){if(Fu(r))continue;const l=e[r];if(Ve(l))t[r]=Jg(r,l,a);else if(l!=null){const o=Nu(l);t[r]=()=>o}}},Cv=(e,t)=>{const n=Nu(t);e.slots.default=()=>n},Sv=(e,t,n)=>{for(const a in t)(n||!Fu(a))&&(e[a]=t[a])},Zg=(e,t,n)=>{const a=e.slots=_v();if(e.vnode.shapeFlag&32){const r=t._;r?(Sv(a,t,n),n&&kp(a,"_",r,!0)):$v(t,a)}else t&&Cv(e,t)},Qg=(e,t,n)=>{const{vnode:a,slots:r}=e;let l=!0,o=nt;if(a.shapeFlag&32){const s=t._;s?n&&s===1?l=!1:Sv(r,t,n):(l=!t.$stable,$v(t,r)),o=t}else t&&(Cv(e,t),o={default:1});if(l)for(const s in r)!Fu(s)&&o[s]==null&&delete r[s]},St=ab;function Xg(e){return eb(e)}function eb(e,t){const n=Qo();n.__VUE__=!0;const{insert:a,remove:r,patchProp:l,createElement:o,createText:s,createComment:i,setText:c,setElementText:d,parentNode:f,nextSibling:p,setScopeId:v=bn,insertStaticContent:m}=e,g=(w,S,E,J=null,q=null,K=null,oe=void 0,se=null,me=!!S.dynamicChildren)=>{if(w===S)return;w&&!or(w,S)&&(J=Z(w),re(w,q,K,!0),w=null),S.patchFlag===-2&&(me=!1,S.dynamicChildren=null);const{type:fe,ref:Ae,shapeFlag:xe}=S;switch(fe){case us:b(w,S,E,J);break;case nn:y(w,S,E,J);break;case Zs:w==null&&_(S,E,J,oe);break;case ge:D(w,S,E,J,q,K,oe,se,me);break;default:xe&1?N(w,S,E,J,q,K,oe,se,me):xe&6?L(w,S,E,J,q,K,oe,se,me):(xe&64||xe&128)&&fe.process(w,S,E,J,q,K,oe,se,me,de)}Ae!=null&&q?nl(Ae,w&&w.ref,K,S||w,!S):Ae==null&&w&&w.ref!=null&&nl(w.ref,null,K,w,!0)},b=(w,S,E,J)=>{if(w==null)a(S.el=s(S.children),E,J);else{const q=S.el=w.el;S.children!==w.children&&c(q,S.children)}},y=(w,S,E,J)=>{w==null?a(S.el=i(S.children||""),E,J):S.el=w.el},_=(w,S,E,J)=>{[w.el,w.anchor]=m(w.children,S,E,J,w.el,w.anchor)},C=({el:w,anchor:S},E,J)=>{let q;for(;w&&w!==S;)q=p(w),a(w,E,J),w=q;a(S,E,J)},A=({el:w,anchor:S})=>{let E;for(;w&&w!==S;)E=p(w),r(w),w=E;r(S)},N=(w,S,E,J,q,K,oe,se,me)=>{if(S.type==="svg"?oe="svg":S.type==="math"&&(oe="mathml"),w==null)G(S,E,J,q,K,oe,se,me);else{const fe=w.el&&w.el._isVueCE?w.el:null;try{fe&&fe._beginPatch(),k(w,S,q,K,oe,se,me)}finally{fe&&fe._endPatch()}}},G=(w,S,E,J,q,K,oe,se)=>{let me,fe;const{props:Ae,shapeFlag:xe,transition:Se,dirs:Re}=w;if(me=w.el=o(w.type,K,Ae&&Ae.is,Ae),xe&8?d(me,w.children):xe&16&&H(w.children,me,null,J,q,Js(w,K),oe,se),Re&&Ca(w,null,J,"created"),z(me,w,w.scopeId,oe,J),Ae){for(const Ge in Ae)Ge!=="value"&&!Qr(Ge)&&l(me,Ge,null,Ae[Ge],K,J);"value"in Ae&&l(me,"value",null,Ae.value,K),(fe=Ae.onVnodeBeforeMount)&&un(fe,J,w)}Re&&Ca(w,null,J,"beforeMount");const ze=tb(q,Se);ze&&Se.beforeEnter(me),a(me,S,E),((fe=Ae&&Ae.onVnodeMounted)||ze||Re)&&St(()=>{fe&&un(fe,J,w),ze&&Se.enter(me),Re&&Ca(w,null,J,"mounted")},q)},z=(w,S,E,J,q)=>{if(E&&v(w,E),J)for(let K=0;K{for(let fe=me;fe{const se=S.el=w.el;let{patchFlag:me,dynamicChildren:fe,dirs:Ae}=S;me|=w.patchFlag&16;const xe=w.props||nt,Se=S.props||nt;let Re;if(E&&Sa(E,!1),(Re=Se.onVnodeBeforeUpdate)&&un(Re,E,S,w),Ae&&Ca(S,w,E,"beforeUpdate"),E&&Sa(E,!0),(xe.innerHTML&&Se.innerHTML==null||xe.textContent&&Se.textContent==null)&&d(se,""),fe?B(w.dynamicChildren,fe,se,E,J,Js(S,q),K):oe||ce(w,S,se,null,E,J,Js(S,q),K,!1),me>0){if(me&16)Y(se,xe,Se,E,q);else if(me&2&&xe.class!==Se.class&&l(se,"class",null,Se.class,q),me&4&&l(se,"style",xe.style,Se.style,q),me&8){const ze=S.dynamicProps;for(let Ge=0;Ge{Re&&un(Re,E,S,w),Ae&&Ca(S,w,E,"updated")},J)},B=(w,S,E,J,q,K,oe)=>{for(let se=0;se{if(S!==E){if(S!==nt)for(const K in S)!Qr(K)&&!(K in E)&&l(w,K,S[K],null,q,J);for(const K in E){if(Qr(K))continue;const oe=E[K],se=S[K];oe!==se&&K!=="value"&&l(w,K,se,oe,q,J)}"value"in E&&l(w,"value",S.value,E.value,q)}},D=(w,S,E,J,q,K,oe,se,me)=>{const fe=S.el=w?w.el:s(""),Ae=S.anchor=w?w.anchor:s("");let{patchFlag:xe,dynamicChildren:Se,slotScopeIds:Re}=S;Re&&(se=se?se.concat(Re):Re),w==null?(a(fe,E,J),a(Ae,E,J),H(S.children||[],E,Ae,q,K,oe,se,me)):xe>0&&xe&64&&Se&&w.dynamicChildren&&w.dynamicChildren.length===Se.length?(B(w.dynamicChildren,Se,E,q,K,oe,se),(S.key!=null||q&&S===q.subTree)&&Vu(w,S,!0)):ce(w,S,E,Ae,q,K,oe,se,me)},L=(w,S,E,J,q,K,oe,se,me)=>{S.slotScopeIds=se,w==null?S.shapeFlag&512?q.ctx.activate(S,E,J,oe,me):W(S,E,J,q,K,oe,me):V(w,S,me)},W=(w,S,E,J,q,K,oe)=>{const se=w.component=ib(w,J,q);if(ov(w)&&(se.ctx.renderer=de),ub(se,!1,oe),se.asyncDep){if(q&&q.registerDep(se,X,oe),!w.el){const me=se.subTree=j(nn);y(null,me,S,E),w.placeholder=me.el}}else X(se,w,S,E,q,K,oe)},V=(w,S,E)=>{const J=S.component=w.component;if(Hg(w,S,E))if(J.asyncDep&&!J.asyncResolved){ae(J,S,E);return}else J.next=S,J.update();else S.el=w.el,J.vnode=S},X=(w,S,E,J,q,K,oe)=>{const se=()=>{if(w.isMounted){let{next:xe,bu:Se,u:Re,parent:ze,vnode:Ge}=w;{const Mt=Av(w);if(Mt){xe&&(xe.el=Ge.el,ae(w,xe,oe)),Mt.asyncDep.then(()=>{St(()=>{w.isUnmounted||fe()},q)});return}}let He=xe,lt;Sa(w,!1),xe?(xe.el=Ge.el,ae(w,xe,oe)):xe=Ge,Se&&vo(Se),(lt=xe.props&&xe.props.onVnodeBeforeUpdate)&&un(lt,ze,xe,Ge),Sa(w,!0);const it=od(w),wt=w.subTree;w.subTree=it,g(wt,it,f(wt.el),Z(wt),w,q,K),xe.el=it.el,He===null&&Kg(w,it.el),Re&&St(Re,q),(lt=xe.props&&xe.props.onVnodeUpdated)&&St(()=>un(lt,ze,xe,Ge),q)}else{let xe;const{el:Se,props:Re}=S,{bm:ze,m:Ge,parent:He,root:lt,type:it}=w,wt=vr(S);Sa(w,!1),ze&&vo(ze),!wt&&(xe=Re&&Re.onVnodeBeforeMount)&&un(xe,He,S),Sa(w,!0);{lt.ce&<.ce._hasShadowRoot()&<.ce._injectChildStyle(it,w.parent?w.parent.type:void 0);const Mt=w.subTree=od(w);g(null,Mt,E,J,w,q,K),S.el=Mt.el}if(Ge&&St(Ge,q),!wt&&(xe=Re&&Re.onVnodeMounted)){const Mt=S;St(()=>un(xe,He,Mt),q)}(S.shapeFlag&256||He&&vr(He.vnode)&&He.vnode.shapeFlag&256)&&w.a&&St(w.a,q),w.isMounted=!0,S=E=J=null}};w.scope.on();const me=w.effect=new Op(se);w.scope.off();const fe=w.update=me.run.bind(me),Ae=w.job=me.runIfDirty.bind(me);Ae.i=w,Ae.id=w.uid,me.scheduler=()=>Iu(Ae),Sa(w,!0),fe()},ae=(w,S,E)=>{S.component=w;const J=w.vnode.props;w.vnode=S,w.next=null,Gg(w,S.props,J,E),Qg(w,S.children,E),Vn(),Zc(w),Ln()},ce=(w,S,E,J,q,K,oe,se,me=!1)=>{const fe=w&&w.children,Ae=w?w.shapeFlag:0,xe=S.children,{patchFlag:Se,shapeFlag:Re}=S;if(Se>0){if(Se&128){ie(fe,xe,E,J,q,K,oe,se,me);return}else if(Se&256){te(fe,xe,E,J,q,K,oe,se,me);return}}Re&8?(Ae&16&&pe(fe,q,K),xe!==fe&&d(E,xe)):Ae&16?Re&16?ie(fe,xe,E,J,q,K,oe,se,me):pe(fe,q,K,!0):(Ae&8&&d(E,""),Re&16&&H(xe,E,J,q,K,oe,se,me))},te=(w,S,E,J,q,K,oe,se,me)=>{w=w||dr,S=S||dr;const fe=w.length,Ae=S.length,xe=Math.min(fe,Ae);let Se;for(Se=0;SeAe?pe(w,q,K,!0,!1,xe):H(S,E,J,q,K,oe,se,me,xe)},ie=(w,S,E,J,q,K,oe,se,me)=>{let fe=0;const Ae=S.length;let xe=w.length-1,Se=Ae-1;for(;fe<=xe&&fe<=Se;){const Re=w[fe],ze=S[fe]=me?On(S[fe]):vn(S[fe]);if(or(Re,ze))g(Re,ze,E,null,q,K,oe,se,me);else break;fe++}for(;fe<=xe&&fe<=Se;){const Re=w[xe],ze=S[Se]=me?On(S[Se]):vn(S[Se]);if(or(Re,ze))g(Re,ze,E,null,q,K,oe,se,me);else break;xe--,Se--}if(fe>xe){if(fe<=Se){const Re=Se+1,ze=ReSe)for(;fe<=xe;)re(w[fe],q,K,!0),fe++;else{const Re=fe,ze=fe,Ge=new Map;for(fe=ze;fe<=Se;fe++){const Ee=S[fe]=me?On(S[fe]):vn(S[fe]);Ee.key!=null&&Ge.set(Ee.key,fe)}let He,lt=0;const it=Se-ze+1;let wt=!1,Mt=0;const sn=new Array(it);for(fe=0;fe=it){re(Ee,q,K,!0);continue}let Ie;if(Ee.key!=null)Ie=Ge.get(Ee.key);else for(He=ze;He<=Se;He++)if(sn[He-ze]===0&&or(Ee,S[He])){Ie=He;break}Ie===void 0?re(Ee,q,K,!0):(sn[Ie-ze]=fe+1,Ie>=Mt?Mt=Ie:wt=!0,g(Ee,S[Ie],E,null,q,K,oe,se,me),lt++)}const De=wt?nb(sn):dr;for(He=De.length-1,fe=it-1;fe>=0;fe--){const Ee=ze+fe,Ie=S[Ee],kt=S[Ee+1],Ir=Ee+1{const{el:K,type:oe,transition:se,children:me,shapeFlag:fe}=w;if(fe&6){le(w.component.subTree,S,E,J);return}if(fe&128){w.suspense.move(S,E,J);return}if(fe&64){oe.move(w,S,E,de);return}if(oe===ge){a(K,S,E);for(let xe=0;xese.enter(K),q));else{const{leave:xe,delayLeave:Se,afterLeave:Re}=se,ze=()=>{w.ctx.isUnmounted?r(K):a(K,S,E)},Ge=()=>{const He=K._isLeaving||!!K[fn];K._isLeaving&&K[fn](!0),se.persisted&&!He?ze():xe(K,()=>{ze(),Re&&Re()})};Se?Se(K,ze,Ge):Ge()}else a(K,S,E)},re=(w,S,E,J=!1,q=!1)=>{const{type:K,props:oe,ref:se,children:me,dynamicChildren:fe,shapeFlag:Ae,patchFlag:xe,dirs:Se,cacheIndex:Re,memo:ze}=w;if(xe===-2&&(q=!1),se!=null&&(Vn(),nl(se,null,E,w,!0),Ln()),Re!=null&&(S.renderCache[Re]=void 0),Ae&256){S.ctx.deactivate(w);return}const Ge=Ae&1&&Se,He=!vr(w);let lt;if(He&&(lt=oe&&oe.onVnodeBeforeUnmount)&&un(lt,S,w),Ae&6)Ce(w.component,E,J);else{if(Ae&128){w.suspense.unmount(E,J);return}Ge&&Ca(w,null,S,"beforeUnmount"),Ae&64?w.type.remove(w,S,E,de,J):fe&&!fe.hasOnce&&(K!==ge||xe>0&&xe&64)?pe(fe,S,E,!1,!0):(K===ge&&xe&384||!q&&Ae&16)&&pe(me,S,E),J&&we(w)}const it=ze!=null&&Re==null;(He&&(lt=oe&&oe.onVnodeUnmounted)||Ge||it)&&St(()=>{lt&&un(lt,S,w),Ge&&Ca(w,null,S,"unmounted"),it&&(w.el=null)},E)},we=w=>{const{type:S,el:E,anchor:J,transition:q}=w;if(S===ge){ue(E,J);return}if(S===Zs){A(w);return}const K=()=>{r(E),q&&!q.persisted&&q.afterLeave&&q.afterLeave()};if(w.shapeFlag&1&&q&&!q.persisted){const{leave:oe,delayLeave:se}=q,me=()=>oe(E,K);se?se(w.el,K,me):me()}else K()},ue=(w,S)=>{let E;for(;w!==S;)E=p(w),r(w),w=E;r(S)},Ce=(w,S,E)=>{const{bum:J,scope:q,job:K,subTree:oe,um:se,m:me,a:fe}=w;ud(me),ud(fe),J&&vo(J),q.stop(),K&&(K.flags|=8,re(oe,w,S,E)),se&&St(se,S),St(()=>{w.isUnmounted=!0},S)},pe=(w,S,E,J=!1,q=!1,K=0)=>{for(let oe=K;oe{if(w.shapeFlag&6)return Z(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const S=p(w.anchor||w.el),E=S&&S[av];return E?p(E):S};let ve=!1;const ee=(w,S,E)=>{let J;w==null?S._vnode&&(re(S._vnode,null,null,!0),J=S._vnode.component):g(S._vnode||null,w,S,null,null,null,E),S._vnode=w,ve||(ve=!0,Zc(J),Qp(),ve=!1)},de={p:g,um:re,m:le,r:we,mt:W,mc:H,pc:ce,pbc:B,n:Z,o:e};return{render:ee,hydrate:void 0,createApp:Ng(ee)}}function Js({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Sa({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tb(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Vu(e,t,n=!1){const a=e.children,r=t.children;if(qe(a)&&qe(r))for(let l=0;l>1,e[n[s]]0&&(t[a]=n[l-1]),n[l]=a)}}for(l=n.length,o=n[l-1];l-- >0;)n[l]=o,o=t[o];return n}function Av(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Av(t)}function ud(e){if(e)for(let t=0;te.__isSuspense;function ab(e,t){t&&t.pendingBranch?qe(e)?t.effects.push(...e):t.effects.push(e):cg(e)}const ge=Symbol.for("v-fgt"),us=Symbol.for("v-txt"),nn=Symbol.for("v-cmt"),Zs=Symbol.for("v-stc"),rl=[];let Ft=null;function h(e=!1){rl.push(Ft=e?null:[])}function rb(){rl.pop(),Ft=rl[rl.length-1]||null}let vl=1;function Eo(e,t=!1){vl+=e,e<0&&Ft&&t&&(Ft.hasOnce=!0)}function Ov(e){return e.dynamicChildren=vl>0?Ft||dr:null,rb(),vl>0&&Ft&&Ft.push(e),e}function $(e,t,n,a,r,l){return Ov(P(e,t,n,a,r,l,!0))}function F(e,t,n,a,r){return Ov(j(e,t,n,a,r,!0))}function hl(e){return e?e.__v_isVNode===!0:!1}function or(e,t){return e.type===t.type&&e.key===t.key}const Pv=({key:e})=>e??null,ho=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?rt(e)||ot(e)||Ve(e)?{i:mt,r:e,k:t,f:!!n}:e:null);function P(e,t=null,n=null,a=0,r=null,l=e===ge?0:1,o=!1,s=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pv(t),ref:t&&ho(t),scopeId:ev,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:a,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:mt};return s?(Lu(i,n),l&128&&e.normalize(i)):n&&(i.shapeFlag|=rt(n)?8:16),vl>0&&!o&&Ft&&(i.patchFlag>0||l&6)&&i.patchFlag!==32&&Ft.push(i),i}const j=lb;function lb(e,t=null,n=null,a=0,r=null,l=!1){if((!e||e===cv)&&(e=nn),hl(e)){const s=fa(e,t,!0);return n&&Lu(s,n),vl>0&&!l&&Ft&&(s.shapeFlag&6?Ft[Ft.indexOf(e)]=s:Ft.push(s)),s.patchFlag=-2,s}if(vb(e)&&(e=e.__vccOpts),t){t=Ye(t);let{class:s,style:i}=t;s&&!rt(s)&&(t.class=_e(s)),Ze(i)&&(as(i)&&!qe(i)&&(i=ct({},i)),t.style=Bn(i))}const o=rt(e)?1:Dv(e)?128:vg(e)?64:Ze(e)?4:Ve(e)?2:0;return P(e,t,n,a,r,o,l,!0)}function Ye(e){return e?as(e)||xv(e)?ct({},e):e:null}function fa(e,t,n=!1,a=!1){const{props:r,ref:l,patchFlag:o,children:s,transition:i}=e,c=t?Te(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Pv(c),ref:t&&t.ref?n&&l?qe(l)?l.concat(ho(t)):[l,ho(t)]:ho(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&fa(e.ssContent),ssFallback:e.ssFallback&&fa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&a&&pl(d,i.clone(d)),d}function ke(e=" ",t=0){return j(us,null,e,t)}function ne(e="",t=!1){return t?(h(),F(nn,null,e)):j(nn,null,e)}function vn(e){return e==null||typeof e=="boolean"?j(nn):qe(e)?j(ge,null,e.slice()):hl(e)?On(e):j(us,null,String(e))}function On(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:fa(e)}function Lu(e,t){let n=0;const{shapeFlag:a}=e;if(t==null)t=null;else if(qe(t))n=16;else if(typeof t=="object")if(a&65){const r=t.default;r&&(r._c&&(r._d=!1),Lu(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!xv(t)?t._ctx=mt:r===3&&mt&&(mt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ve(t)?(t={default:t,_ctx:mt},n=32):(t=String(t),a&64?(n=16,t=[ke(t)]):n=8);e.children=t,e.shapeFlag|=n}function Te(...e){const t={};for(let n=0;nxt||mt;let Do,Zi;{const e=Qo(),t=(n,a)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(a),l=>{r.length>1?r.forEach(o=>o(l)):r[0](l)}};Do=t("__VUE_INSTANCE_SETTERS__",n=>xt=n),Zi=t("__VUE_SSR_SETTERS__",n=>ml=n)}const Pl=e=>{const t=xt;return Do(e),e.scope.on(),()=>{e.scope.off(),Do(t)}},cd=()=>{xt&&xt.scope.off(),Do(null)};function Mv(e){return e.vnode.shapeFlag&4}let ml=!1;function ub(e,t=!1,n=!1){t&&Zi(t);const{props:a,children:r}=e.vnode,l=Mv(e);Wg(e,a,l,t),Zg(e,r,n||t);const o=l?cb(e,t):void 0;return t&&Zi(!1),o}function cb(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Mg);const{setup:a}=n;if(a){Vn();const r=e.setupContext=a.length>1?fb(e):null,l=Pl(e),o=Ol(a,e,0,[e.props,r]),s=_p(o);if(Ln(),l(),(s||e.sp)&&!vr(e)&&lv(e),s){if(o.then(cd,cd),t)return o.then(i=>{dd(e,i)}).catch(i=>{ls(i,e,0)});e.asyncDep=o}else dd(e,o)}else qv(e)}function dd(e,t,n){Ve(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ze(t)&&(e.setupState=Gp(t)),qv(e)}function qv(e,t,n){const a=e.type;e.render||(e.render=a.render||bn);{const r=Pl(e);Vn();try{qg(e)}finally{Ln(),r()}}}const db={get(e,t){return _t(e,"get",""),e[t]}};function fb(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,db),slots:e.slots,emit:e.emit,expose:t}}function cs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Gp(wo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in al)return al[n](e)},has(t,n){return n in t||n in al}})):e.proxy}function pb(e,t=!0){return Ve(e)?e.displayName||e.name:e.name||t&&e.__name}function vb(e){return Ve(e)&&"__vccOpts"in e}const x=(e,t)=>lg(e,t,ml);function Gt(e,t,n){try{Eo(-1);const a=arguments.length;return a===2?Ze(t)&&!qe(t)?hl(t)?j(e,null,[t]):j(e,t):j(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&hl(n)&&(n=[n]),j(e,t,n))}finally{Eo(1)}}const hb="3.5.35";let Qi;const fd=typeof window<"u"&&window.trustedTypes;if(fd)try{Qi=fd.createPolicy("vue",{createHTML:e=>e})}catch{}const Tv=Qi?e=>Qi.createHTML(e):e=>e,mb="http://www.w3.org/2000/svg",yb="http://www.w3.org/1998/Math/MathML",En=typeof document<"u"?document:null,pd=En&&En.createElement("template"),gb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const r=t==="svg"?En.createElementNS(mb,e):t==="mathml"?En.createElementNS(yb,e):n?En.createElement(e,{is:n}):En.createElement(e);return e==="select"&&a&&a.multiple!=null&&r.setAttribute("multiple",a.multiple),r},createText:e=>En.createTextNode(e),createComment:e=>En.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>En.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,r,l){const o=n?n.previousSibling:t.lastChild;if(r&&(r===l||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===l||!(r=r.nextSibling)););else{pd.innerHTML=Tv(a==="svg"?`${e}`:a==="mathml"?`${e}`:e);const s=pd.content;if(a==="svg"||a==="mathml"){const i=s.firstChild;for(;i.firstChild;)s.appendChild(i.firstChild);s.removeChild(i)}t.insertBefore(s,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qn="transition",Nr="animation",wr=Symbol("_vtc"),Rv={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},bb=ct({},_g,Rv),Aa=(e,t=[])=>{qe(e)?e.forEach(n=>n(...t)):e&&e(...t)},vd=e=>e?qe(e)?e.some(t=>t.length>1):e.length>1:!1;function _b(e){const t={};for(const D in e)D in Rv||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:a,duration:r,enterFromClass:l=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:i=l,appearActiveClass:c=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,m=xb(r),g=m&&m[0],b=m&&m[1],{onBeforeEnter:y,onEnter:_,onEnterCancelled:C,onLeave:A,onLeaveCancelled:N,onBeforeAppear:G=y,onAppear:z=_,onAppearCancelled:H=C}=t,k=(D,L,W,V)=>{D._enterCancelled=V,na(D,L?d:s),na(D,L?c:o),W&&W()},B=(D,L)=>{D._isLeaving=!1,na(D,f),na(D,v),na(D,p),L&&L()},Y=D=>(L,W)=>{const V=D?z:_,X=()=>k(L,D,W);Aa(V,[L,X]),hd(()=>{na(L,D?i:l),cn(L,D?d:s),vd(V)||md(L,a,g,X)})};return ct(t,{onBeforeEnter(D){Aa(y,[D]),cn(D,l),cn(D,o)},onBeforeAppear(D){Aa(G,[D]),cn(D,i),cn(D,c)},onEnter:Y(!1),onAppear:Y(!0),onLeave(D,L){D._isLeaving=!0;const W=()=>B(D,L);cn(D,f),D._enterCancelled?(cn(D,p),Xi(D)):(Xi(D),cn(D,p)),hd(()=>{D._isLeaving&&(na(D,f),cn(D,v),vd(A)||md(D,a,b,W))}),Aa(A,[D,W])},onEnterCancelled(D){k(D,!1,void 0,!0),Aa(C,[D])},onAppearCancelled(D){k(D,!0,void 0,!0),Aa(H,[D])},onLeaveCancelled(D){B(D),Aa(N,[D])}})}function xb(e){if(e==null)return null;if(Ze(e))return[Qs(e.enter),Qs(e.leave)];{const t=Qs(e);return[t,t]}}function Qs(e){return $y(e)}function cn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[wr]||(e[wr]=new Set)).add(t)}function na(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.remove(a));const n=e[wr];n&&(n.delete(t),n.size||(e[wr]=void 0))}function hd(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let wb=0;function md(e,t,n,a){const r=e._endId=++wb,l=()=>{r===e._endId&&a()};if(n!=null)return setTimeout(l,n);const{type:o,timeout:s,propCount:i}=Iv(e,t);if(!o)return a();const c=o+"end";let d=0;const f=()=>{e.removeEventListener(c,p),l()},p=v=>{v.target===e&&++d>=i&&f()};setTimeout(()=>{d(n[m]||"").split(", "),r=a(`${Qn}Delay`),l=a(`${Qn}Duration`),o=yd(r,l),s=a(`${Nr}Delay`),i=a(`${Nr}Duration`),c=yd(s,i);let d=null,f=0,p=0;t===Qn?o>0&&(d=Qn,f=o,p=l.length):t===Nr?c>0&&(d=Nr,f=c,p=i.length):(f=Math.max(o,c),d=f>0?o>c?Qn:Nr:null,p=d?d===Qn?l.length:i.length:0);const v=d===Qn&&/\b(?:transform|all)(?:,|$)/.test(a(`${Qn}Property`).toString());return{type:d,timeout:f,propCount:p,hasTransform:v}}function yd(e,t){for(;e.lengthgd(n)+gd(e[a])))}function gd(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Xi(e){return(e?e.ownerDocument:document).body.offsetHeight}function kb(e,t,n){const a=e[wr];a&&(t=(t?[t,...a]:[...a]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Oo=Symbol("_vod"),Bv=Symbol("_vsh"),eu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Oo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Vr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),Vr(e,!0),a.enter(e)):a.leave(e,()=>{Vr(e,!1)}):Vr(e,t))},beforeUnmount(e,{value:t}){Vr(e,t)}};function Vr(e,t){e.style.display=t?e[Oo]:"none",e[Bv]=!t}const $b=Symbol(""),Cb=/(?:^|;)\s*display\s*:/;function Sb(e,t,n){const a=e.style,r=rt(n);let l=!1;if(n&&!r){if(t)if(rt(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();n[s]==null&&Yr(a,s,"")}else for(const o in t)n[o]==null&&Yr(a,o,"");for(const o in n){o==="display"&&(l=!0);const s=n[o];s!=null?Eb(e,o,!rt(t)&&t?t[o]:void 0,s)||Yr(a,o,s):Yr(a,o,"")}}else if(r){if(t!==n){const o=a[$b];o&&(n+=";"+o),a.cssText=n,l=Cb.test(n)}}else t&&e.removeAttribute("style");Oo in e&&(e[Oo]=l?a.display:"",e[Bv]&&(a.display="none"))}const bd=/\s*!important$/;function Yr(e,t,n){if(qe(n))n.forEach(a=>Yr(e,t,a));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=Ab(e,t);bd.test(n)?e.setProperty(_a(a),n.replace(bd,""),"important"):e[a]=n}}const _d=["Webkit","Moz","ms"],Xs={};function Ab(e,t){const n=Xs[t];if(n)return n;let a=yt(t);if(a!=="filter"&&a in e)return Xs[t]=a;a=Zo(a);for(let r=0;r<_d.length;r++){const l=_d[r]+a;if(l in e)return Xs[t]=l}return t}function Eb(e,t,n,a){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&rt(a)&&n===a}const xd="http://www.w3.org/1999/xlink";function wd(e,t,n,a,r,l=Oy(t)){a&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(xd,t.slice(6,t.length)):e.setAttributeNS(xd,t,n):n==null||l&&!$p(n)?e.removeAttribute(t):e.setAttribute(t,l?"":jt(n)?String(n):n)}function kd(e,t,n,a,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Tv(n):n);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const s=l==="OPTION"?e.getAttribute("value")||"":e.value,i=n==null?e.type==="checkbox"?"on":"":String(n);(s!==i||!("_value"in e))&&(e.value=i),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const s=typeof e[t];s==="boolean"?n=$p(n):n==null&&s==="string"?(n="",o=!0):s==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function sr(e,t,n,a){e.addEventListener(t,n,a)}function Db(e,t,n,a){e.removeEventListener(t,n,a)}const $d=Symbol("_vei");function Ob(e,t,n,a,r=null){const l=e[$d]||(e[$d]={}),o=l[t];if(a&&o)o.value=a;else{const[s,i]=Pb(t);if(a){const c=l[t]=Tb(a,r);sr(e,s,c,i)}else o&&(Db(e,s,o,i),l[t]=void 0)}}const Cd=/(?:Once|Passive|Capture)$/;function Pb(e){let t;if(Cd.test(e)){t={};let a;for(;a=e.match(Cd);)e=e.slice(0,e.length-a[0].length),t[a[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):_a(e.slice(2)),t]}let ei=0;const Mb=Promise.resolve(),qb=()=>ei||(Mb.then(()=>ei=0),ei=Date.now());function Tb(e,t){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;const r=n.value;if(qe(r)){const l=a.stopImmediatePropagation;a.stopImmediatePropagation=()=>{l.call(a),a._stopped=!0};const o=r.slice(),s=[a];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Rb=(e,t,n,a,r,l)=>{const o=r==="svg";t==="class"?kb(e,a,o):t==="style"?Sb(e,n,a):Wo(t)?Go(t)||Ob(e,t,n,a,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ib(e,t,a,o))?(kd(e,t,a),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&wd(e,t,a,o,l,t!=="value")):e._isVueCE&&(Bb(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!rt(a)))?kd(e,yt(t),a,l,t):(t==="true-value"?e._trueValue=a:t==="false-value"&&(e._falseValue=a),wd(e,t,a,o))};function Ib(e,t,n,a){if(a)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sd(t)&&Ve(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Sd(t)&&rt(n)?!1:t in e}function Bb(e,t){const n=e._def.props;if(!n)return!1;const a=yt(t);return Array.isArray(n)?n.some(r=>yt(r)===a):Object.keys(n).some(r=>yt(r)===a)}const Fv=new WeakMap,Nv=new WeakMap,Po=Symbol("_moveCb"),Ad=Symbol("_enterCb"),Fb=e=>(delete e.props.mode,e),Nb=Fb({name:"TransitionGroup",props:ct({},bb,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=$n(),a=bg();let r,l;return Bu(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!zb(r[0].el,n.vnode.el,o)){r=[];return}r.forEach(Lb),r.forEach(jb);const s=r.filter(Ub);Xi(n.vnode.el),s.forEach(i=>{const c=i.el,d=c.style;cn(c,o),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Po]=p=>{p&&p.target!==c||(!p||p.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Po]=null,na(c,o))};c.addEventListener("transitionend",f)}),r=[]}),()=>{const o=Je(e),s=_b(o);let i=o.tag||ge;if(r=[],l)for(let c=0;c{s.split(/\s+/).forEach(i=>i&&a.classList.remove(i))}),n.split(/\s+/).forEach(s=>s&&a.classList.add(s)),a.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(a);const{hasTransform:o}=Iv(a);return l.removeChild(a),o}const Ed=e=>{const t=e.props["onUpdate:modelValue"]||!1;return qe(t)?n=>vo(t,n):t};function Hb(e){e.target.composing=!0}function Dd(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ti=Symbol("_assign");function Od(e,t,n){return t&&(e=e.trim()),n&&(e=Ou(e)),e}const Mo={created(e,{modifiers:{lazy:t,trim:n,number:a}},r){e[ti]=Ed(r);const l=a||r.props&&r.props.type==="number";sr(e,t?"change":"input",o=>{o.target.composing||e[ti](Od(e.value,n,l))}),(n||l)&&sr(e,"change",()=>{e.value=Od(e.value,n,l)}),t||(sr(e,"compositionstart",Hb),sr(e,"compositionend",Dd),sr(e,"change",Dd))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:r,number:l}},o){if(e[ti]=Ed(o),e.composing)return;const s=(l||e.type==="number")&&!/^0\d/.test(e.value)?Ou(e.value):e.value,i=t??"";if(s===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(a&&t===n||r&&e.value.trim()===i)||(e.value=i)}},Kb=["ctrl","shift","alt","meta"],Wb={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Kb.some(n=>e[`${n}Key`]&&!t.includes(n))},ut=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=((r,...l)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=(r=>{if(!("key"in r))return;const l=_a(r.key);if(t.some(o=>o===l||Gb[o]===l))return e(r)}))},Yb=ct({patchProp:Rb},gb);let Pd;function Jb(){return Pd||(Pd=Xg(Yb))}const Zb=((...e)=>{const t=Jb().createApp(...e),{mount:n}=t;return t.mount=a=>{const r=Xb(a);if(!r)return;const l=t._component;!Ve(l)&&!l.render&&!l.template&&(l.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Qb(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Qb(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xb(e){return rt(e)?document.querySelector(e):e}const ir=typeof document<"u";function Lv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function e1(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Lv(e.default)}const Qe=Object.assign;function ni(e,t){const n={};for(const a in t){const r=t[a];n[a]=an(r)?r.map(e):e(r)}return n}const ll=()=>{},an=Array.isArray;function Md(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}const jv=Symbol("");function kr(e,t){return Qe(new Error,{type:e,[jv]:!0},t)}function An(e,t){return e instanceof Error&&jv in e&&(t==null||!!(e.type&t))}const ju=Symbol(""),qd=Symbol(""),ds=Symbol(""),Uu=Symbol(""),tu=Symbol("");function Or(){return st(ds)}function ln(e){return st(Uu)}const Uv=/#/g,t1=/&/g,n1=/\//g,a1=/=/g,r1=/\?/g,zv=/\+/g,l1=/%5B/g,o1=/%5D/g,Hv=/%5E/g,s1=/%60/g,Kv=/%7B/g,i1=/%7C/g,Wv=/%7D/g,u1=/%20/g;function zu(e){return e==null?"":encodeURI(""+e).replace(i1,"|").replace(l1,"[").replace(o1,"]")}function c1(e){return zu(e).replace(Kv,"{").replace(Wv,"}").replace(Hv,"^")}function nu(e){return zu(e).replace(zv,"%2B").replace(u1,"+").replace(Uv,"%23").replace(t1,"%26").replace(s1,"`").replace(Kv,"{").replace(Wv,"}").replace(Hv,"^")}function d1(e){return nu(e).replace(a1,"%3D")}function f1(e){return zu(e).replace(Uv,"%23").replace(r1,"%3F")}function p1(e){return f1(e).replace(n1,"%2F")}function qo(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const v1=/\/$/,h1=e=>e.replace(v1,"");function ai(e,t,n="/"){let a,r={},l="",o="";const s=t.indexOf("#");let i=t.indexOf("?");return i=s>=0&&i>s?-1:i,i>=0&&(a=t.slice(0,i),l=t.slice(i,s>0?s:t.length),r=e(l.slice(1))),s>=0&&(a=a||t.slice(0,s),o=t.slice(s,t.length)),a=b1(a??t,n),{fullPath:a+l+o,path:a,query:r,hash:qo(o)}}function m1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Td(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function y1(e,t,n){const a=t.matched.length-1,r=n.matched.length-1;return a>-1&&a===r&&$r(t.matched[a],n.matched[r])&&Gv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function $r(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Gv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!g1(e[n],t[n]))return!1;return!0}function g1(e,t){return an(e)?Rd(e,t):an(t)?Rd(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Rd(e,t){return an(t)?e.length===t.length&&e.every((n,a)=>n===t[a]):e.length===1&&e[0]===t}function b1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),a=e.split("/"),r=a[a.length-1];(r===".."||r===".")&&a.push("");let l=n.length-1,o,s;for(o=0;o1&&l--;else break;return n.slice(0,l).join("/")+"/"+a.slice(o).join("/")}const Xn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function _1(e){if(!e)if(ir){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),h1(e)}const x1=/^[^#]+#/;function w1(e,t){return e.replace(x1,"#")+t}function k1(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}const fs=()=>({left:window.scrollX,top:window.scrollY});function $1(e){let t;if("el"in e){const n=e.el,a=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=k1(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Id(e,t){return(history.state?history.state.position-t:-1)+e}const au=new Map;function C1(e,t){au.set(e,t)}function S1(e){const t=au.get(e);return au.delete(e),t}function A1(e){return typeof e=="string"||e&&typeof e=="object"}function Yv(e){return typeof e=="string"||typeof e=="symbol"}function E1(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let a=0;ar&&nu(r)):[a&&nu(a)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function D1(e){const t={};for(const n in e){const a=e[n];a!==void 0&&(t[n]=an(a)?a.map(r=>r==null?null:""+r):a==null?a:""+a)}return t}function Lr(){let e=[];function t(a){return e.push(a),()=>{const r=e.indexOf(a);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Jv(e,t,n){const a=e.value;if(!a)return;let r=a;const l=()=>{r[t].delete(n)};za(l),iv(l),sv(()=>{const o=e.value;o&&(r=o),r[t].add(n)}),r[t].add(n)}function O1(e){Jv(st(ju,{}),"leaveGuards",e)}function P1(e){Jv(st(ju,{}),"updateGuards",e)}function la(e,t,n,a,r,l=o=>o()){const o=a&&(a.enterCallbacks[r]=a.enterCallbacks[r]||[]);return()=>new Promise((s,i)=>{const c=p=>{p===!1?i(kr(4,{from:n,to:t})):p instanceof Error?i(p):A1(p)?i(kr(2,{from:t,to:p})):(o&&a.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),s())},d=l(()=>e.call(a&&a.instances[r],t,n,c));let f=Promise.resolve(d);e.length<3&&(f=f.then(c)),f.catch(p=>i(p))})}function ri(e,t,n,a,r=l=>l()){const l=[];for(const o of e)for(const s in o.components){let i=o.components[s];if(!(t!=="beforeRouteEnter"&&!o.instances[s]))if(Lv(i)){const c=(i.__vccOpts||i)[t];c&&l.push(la(c,n,a,o,s,r))}else{let c=i();l.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${s}" at "${o.path}"`);const f=e1(d)?d.default:d;o.mods[s]=d,o.components[s]=f;const p=(f.__vccOpts||f)[t];return p&&la(p,n,a,o,s,r)()}))}}return l}function M1(e,t){const n=[],a=[],r=[],l=Math.max(t.matched.length,e.matched.length);for(let o=0;o$r(c,s))?a.push(s):n.push(s));const i=e.matched[o];i&&(t.matched.find(c=>$r(c,i))||r.push(i))}return[n,a,r]}let q1=()=>location.protocol+"//"+location.host;function Zv(e,t){const{pathname:n,search:a,hash:r}=t,l=e.indexOf("#");if(l>-1){let o=r.includes(e.slice(l))?e.slice(l).length:1,s=r.slice(o);return s[0]!=="/"&&(s="/"+s),Td(s,"")}return Td(n,e)+a+r}function T1(e,t,n,a){let r=[],l=[],o=null;const s=({state:p})=>{const v=Zv(e,location),m=n.value,g=t.value;let b=0;if(p){if(n.value=v,t.value=p,o&&o===m){o=null;return}b=g?p.position-g.position:0}else a(v);r.forEach(y=>{y(n.value,m,{delta:b,type:"pop",direction:b?b>0?"forward":"back":""})})};function i(){o=n.value}function c(p){r.push(p);const v=()=>{const m=r.indexOf(p);m>-1&&r.splice(m,1)};return l.push(v),v}function d(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Qe({},p.state,{scroll:fs()}),"")}}function f(){for(const p of l)p();l=[],window.removeEventListener("popstate",s),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",s),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:i,listen:c,destroy:f}}function Fd(e,t,n,a=!1,r=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:r?fs():null}}function R1(e){const{history:t,location:n}=window,a={value:Zv(e,n)},r={value:t.state};r.value||l(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,c,d){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+i:q1()+e+i;try{t[d?"replaceState":"pushState"](c,"",p),r.value=c}catch(v){console.error(v),n[d?"replace":"assign"](p)}}function o(i,c){l(i,Qe({},t.state,Fd(r.value.back,i,r.value.forward,!0),c,{position:r.value.position}),!0),a.value=i}function s(i,c){const d=Qe({},r.value,t.state,{forward:i,scroll:fs()});l(d.current,d,!0),l(i,Qe({},Fd(a.value,i,null),{position:d.position+1},c),!1),a.value=i}return{location:a,state:r,push:s,replace:o}}function I1(e){e=_1(e);const t=R1(e),n=T1(e,t.state,t.location,t.replace);function a(l,o=!0){o||n.pauseListeners(),history.go(l)}const r=Qe({location:"",base:e,go:a,createHref:w1.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}const B1={type:0,value:""},F1=/[a-zA-Z0-9_]/;function N1(e){if(!e)return[[]];if(e==="/")return[[B1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,a=n;const r=[];let l;function o(){l&&r.push(l),l=[]}let s=0,i,c="",d="";function f(){c&&(n===0?l.push({type:0,value:c}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:c,regexp:d,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Qv(e,t){let n=0;const a=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const z1={strict:!1,end:!0,sensitive:!1};function H1(e,t,n){const a=j1(N1(e.path),n),r=Qe(a,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function K1(e,t){const n=[],a=new Map;t=Md(z1,t);function r(f){return a.get(f)}function l(f,p,v){const m=!v,g=jd(f);g.aliasOf=v&&v.record;const b=Md(t,f),y=[g];if("alias"in f){const A=typeof f.alias=="string"?[f.alias]:f.alias;for(const N of A)y.push(jd(Qe({},g,{components:v?v.record.components:g.components,path:N,aliasOf:v?v.record:g})))}let _,C;for(const A of y){const{path:N}=A;if(p&&N[0]!=="/"){const G=p.record.path,z=G[G.length-1]==="/"?"":"/";A.path=p.record.path+(N&&z+N)}if(_=H1(A,p,b),v?v.alias.push(_):(C=C||_,C!==_&&C.alias.push(_),m&&f.name&&!Ud(_)&&o(f.name)),Xv(_)&&i(_),g.children){const G=g.children;for(let z=0;z{o(C)}:ll}function o(f){if(Yv(f)){const p=a.get(f);p&&(a.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&a.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function s(){return n}function i(f){const p=Y1(f,n);n.splice(p,0,f),f.record.name&&!Ud(f)&&a.set(f.record.name,f)}function c(f,p){let v,m={},g,b;if("name"in f&&f.name){if(v=a.get(f.name),!v)throw kr(1,{location:f});b=v.record.name,m=Qe(Ld(p.params,v.keys.filter(C=>!C.optional).concat(v.parent?v.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),f.params&&Ld(f.params,v.keys.map(C=>C.name))),g=v.stringify(m)}else if(f.path!=null)g=f.path,v=n.find(C=>C.re.test(g)),v&&(m=v.parse(g),b=v.record.name,v.keys.forEach(C=>{C.optional&&!m[C.name]&&delete m[C.name]}));else{if(v=p.name?a.get(p.name):n.find(C=>C.re.test(p.path)),!v)throw kr(1,{location:f,currentLocation:p});b=v.record.name,m=Qe({},p.params,f.params),g=v.stringify(m)}const y=[];let _=v;for(;_;)y.unshift(_.record),_=_.parent;return{name:b,path:g,params:m,matched:y,meta:G1(y)}}e.forEach(f=>l(f));function d(){n.length=0,a.clear()}return{addRoute:l,resolve:c,removeRoute:o,clearRoutes:d,getRoutes:s,getRecordMatcher:r}}function Ld(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function jd(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:W1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function W1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]=typeof n=="object"?n[a]:n;return t}function Ud(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function G1(e){return e.reduce((t,n)=>Qe(t,n.meta),{})}function Y1(e,t){let n=0,a=t.length;for(;n!==a;){const l=n+a>>1;Qv(e,t[l])<0?a=l:n=l+1}const r=J1(e);return r&&(a=t.lastIndexOf(r,a-1)),a}function J1(e){let t=e;for(;t=t.parent;)if(Xv(t)&&Qv(e,t)===0)return t}function Xv({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function zd(e){const t=st(ds),n=st(Uu),a=x(()=>{const i=u(e.to);return t.resolve(i)}),r=x(()=>{const{matched:i}=a.value,{length:c}=i,d=i[c-1],f=n.matched;if(!d||!f.length)return-1;const p=f.findIndex($r.bind(null,d));if(p>-1)return p;const v=Hd(i[c-2]);return c>1&&Hd(d)===v&&f[f.length-1].path!==v?f.findIndex($r.bind(null,i[c-2])):p}),l=x(()=>r.value>-1&&X1(n.params,a.value.params)),o=x(()=>r.value>-1&&r.value===n.matched.length-1&&Gv(n.params,a.value.params));function s(i={}){if(Q1(i)){const c=t[u(e.replace)?"replace":"push"](u(e.to)).catch(ll);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:a,href:x(()=>a.value.href),isActive:l,isExactActive:o,navigate:s}}function Z1(e){return e.length===1?e[0]:e}const _n=Q({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:zd,setup(e,{slots:t}){const n=Xt(zd(e)),{options:a}=st(ds),r=x(()=>({[Kd(e.activeClass,a.linkActiveClass,"router-link-active")]:n.isActive,[Kd(e.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&Z1(t.default(n));return e.custom?l:Gt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},l)}}});function Q1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function X1(e,t){for(const n in t){const a=t[n],r=e[n];if(typeof a=="string"){if(a!==r)return!1}else if(!an(r)||r.length!==a.length||a.some((l,o)=>l.valueOf()!==r[o].valueOf()))return!1}return!0}function Hd(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Kd=(e,t,n)=>e??t??n,e0=Q({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const a=st(tu),r=x(()=>e.route||a.value),l=st(qd,0),o=x(()=>{let c=u(l);const{matched:d}=r.value;let f;for(;(f=d[c])&&!f.components;)c++;return c}),s=x(()=>r.value.matched[o.value]);Dt(qd,x(()=>o.value+1)),Dt(ju,s),Dt(tu,r);const i=R();return Ne(()=>[i.value,s.value,e.name],([c,d,f],[p,v,m])=>{d&&(d.instances[f]=c,v&&v!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=v.leaveGuards),d.updateGuards.size||(d.updateGuards=v.updateGuards))),c&&d&&(!v||!$r(d,v)||!p)&&(d.enterCallbacks[f]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=r.value,d=e.name,f=s.value,p=f&&f.components[d];if(!p)return Wd(n.default,{Component:p,route:c});const v=f.props[d],m=v?v===!0?c.params:typeof v=="function"?v(c):v:null,b=Gt(p,Qe({},m,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[d]=null)},ref:i}));return Wd(n.default,{Component:b,route:c})||b}}});function Wd(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ru=e0;function t0(e){const t=K1(e.routes,e),n=e.parseQuery||E1,a=e.stringifyQuery||Bd,r=e.history,l=Lr(),o=Lr(),s=Lr(),i=rs(Xn);let c=Xn;ir&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=ni.bind(null,Z=>""+Z),f=ni.bind(null,p1),p=ni.bind(null,qo);function v(Z,ve){let ee,de;return Yv(Z)?(ee=t.getRecordMatcher(Z),de=ve):de=Z,t.addRoute(de,ee)}function m(Z){const ve=t.getRecordMatcher(Z);ve&&t.removeRoute(ve)}function g(){return t.getRoutes().map(Z=>Z.record)}function b(Z){return!!t.getRecordMatcher(Z)}function y(Z,ve){if(ve=Qe({},ve||i.value),typeof Z=="string"){const E=ai(n,Z,ve.path),J=t.resolve({path:E.path},ve),q=r.createHref(E.fullPath);return Qe(E,J,{params:p(J.params),redirectedFrom:void 0,href:q})}let ee;if(Z.path!=null)ee=Qe({},Z,{path:ai(n,Z.path,ve.path).path});else{const E=Qe({},Z.params);for(const J in E)E[J]==null&&delete E[J];ee=Qe({},Z,{params:f(E)}),ve.params=f(ve.params)}const de=t.resolve(ee,ve),be=Z.hash||"";de.params=d(p(de.params));const w=m1(a,Qe({},Z,{hash:c1(be),path:de.path})),S=r.createHref(w);return Qe({fullPath:w,hash:be,query:a===Bd?D1(Z.query):Z.query||{}},de,{redirectedFrom:void 0,href:S})}function _(Z){return typeof Z=="string"?ai(n,Z,i.value.path):Qe({},Z)}function C(Z,ve){if(c!==Z)return kr(8,{from:ve,to:Z})}function A(Z){return z(Z)}function N(Z){return A(Qe(_(Z),{replace:!0}))}function G(Z,ve){const ee=Z.matched[Z.matched.length-1];if(ee&&ee.redirect){const{redirect:de}=ee;let be=typeof de=="function"?de(Z,ve):de;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=_(be):{path:be},be.params={}),Qe({query:Z.query,hash:Z.hash,params:be.path!=null?{}:Z.params},be)}}function z(Z,ve){const ee=c=y(Z),de=i.value,be=Z.state,w=Z.force,S=Z.replace===!0,E=G(ee,de);if(E)return z(Qe(_(E),{state:typeof E=="object"?Qe({},be,E.state):be,force:w,replace:S}),ve||ee);const J=ee;J.redirectedFrom=ve;let q;return!w&&y1(a,de,ee)&&(q=kr(16,{to:J,from:de}),le(de,de,!0,!1)),(q?Promise.resolve(q):B(J,de)).catch(K=>An(K)?An(K,2)?K:ie(K):ce(K,J,de)).then(K=>{if(K){if(An(K,2))return z(Qe({replace:S},_(K.to),{state:typeof K.to=="object"?Qe({},be,K.to.state):be,force:w}),ve||J)}else K=D(J,de,!0,S,be);return Y(J,de,K),K})}function H(Z,ve){const ee=C(Z,ve);return ee?Promise.reject(ee):Promise.resolve()}function k(Z){const ve=ue.values().next().value;return ve&&typeof ve.runWithContext=="function"?ve.runWithContext(Z):Z()}function B(Z,ve){let ee;const[de,be,w]=M1(Z,ve);ee=ri(de.reverse(),"beforeRouteLeave",Z,ve);for(const E of de)E.leaveGuards.forEach(J=>{ee.push(la(J,Z,ve))});const S=H.bind(null,Z,ve);return ee.push(S),pe(ee).then(()=>{ee=[];for(const E of l.list())ee.push(la(E,Z,ve));return ee.push(S),pe(ee)}).then(()=>{ee=ri(be,"beforeRouteUpdate",Z,ve);for(const E of be)E.updateGuards.forEach(J=>{ee.push(la(J,Z,ve))});return ee.push(S),pe(ee)}).then(()=>{ee=[];for(const E of w)if(E.beforeEnter)if(an(E.beforeEnter))for(const J of E.beforeEnter)ee.push(la(J,Z,ve));else ee.push(la(E.beforeEnter,Z,ve));return ee.push(S),pe(ee)}).then(()=>(Z.matched.forEach(E=>E.enterCallbacks={}),ee=ri(w,"beforeRouteEnter",Z,ve,k),ee.push(S),pe(ee))).then(()=>{ee=[];for(const E of o.list())ee.push(la(E,Z,ve));return ee.push(S),pe(ee)}).catch(E=>An(E,8)?E:Promise.reject(E))}function Y(Z,ve,ee){s.list().forEach(de=>k(()=>de(Z,ve,ee)))}function D(Z,ve,ee,de,be){const w=C(Z,ve);if(w)return w;const S=ve===Xn,E=ir?history.state:{};ee&&(de||S?r.replace(Z.fullPath,Qe({scroll:S&&E&&E.scroll},be)):r.push(Z.fullPath,be)),i.value=Z,le(Z,ve,ee,S),ie()}let L;function W(){L||(L=r.listen((Z,ve,ee)=>{if(!Ce.listening)return;const de=y(Z),be=G(de,Ce.currentRoute.value);if(be){z(Qe(be,{replace:!0,force:!0}),de).catch(ll);return}c=de;const w=i.value;ir&&C1(Id(w.fullPath,ee.delta),fs()),B(de,w).catch(S=>An(S,12)?S:An(S,2)?(z(Qe(_(S.to),{force:!0}),de).then(E=>{An(E,20)&&!ee.delta&&ee.type==="pop"&&r.go(-1,!1)}).catch(ll),Promise.reject()):(ee.delta&&r.go(-ee.delta,!1),ce(S,de,w))).then(S=>{S=S||D(de,w,!1),S&&(ee.delta&&!An(S,8)?r.go(-ee.delta,!1):ee.type==="pop"&&An(S,20)&&r.go(-1,!1)),Y(de,w,S)}).catch(ll)}))}let V=Lr(),X=Lr(),ae;function ce(Z,ve,ee){ie(Z);const de=X.list();return de.length?de.forEach(be=>be(Z,ve,ee)):console.error(Z),Promise.reject(Z)}function te(){return ae&&i.value!==Xn?Promise.resolve():new Promise((Z,ve)=>{V.add([Z,ve])})}function ie(Z){return ae||(ae=!Z,W(),V.list().forEach(([ve,ee])=>Z?ee(Z):ve()),V.reset()),Z}function le(Z,ve,ee,de){const{scrollBehavior:be}=e;if(!ir||!be)return Promise.resolve();const w=!ee&&S1(Id(Z.fullPath,0))||(de||!ee)&&history.state&&history.state.scroll||null;return Ke().then(()=>be(Z,ve,w)).then(S=>S&&$1(S)).catch(S=>ce(S,Z,ve))}const re=Z=>r.go(Z);let we;const ue=new Set,Ce={currentRoute:i,listening:!0,addRoute:v,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:g,resolve:y,options:e,push:A,replace:N,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:l.add,beforeResolve:o.add,afterEach:s.add,onError:X.add,isReady:te,install(Z){Z.component("RouterLink",_n),Z.component("RouterView",ru),Z.config.globalProperties.$router=Ce,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>u(i)}),ir&&!we&&i.value===Xn&&(we=!0,A(r.location).catch(de=>{}));const ve={};for(const de in Xn)Object.defineProperty(ve,de,{get:()=>i.value[de],enumerable:!0});Z.provide(ds,Ce),Z.provide(Uu,Kp(ve)),Z.provide(tu,i);const ee=Z.unmount;ue.add(Z),Z.unmount=function(){ue.delete(Z),ue.size<1&&(c=Xn,L&&L(),L=null,i.value=Xn,we=!1,ae=!1),ee()}}};function pe(Z){return Z.reduce((ve,ee)=>ve.then(()=>k(ee)),Promise.resolve())}return Ce}const Gd=e=>e==="";const n0=(...e)=>e.filter((t,n,a)=>!!t&&t.trim()!==""&&a.indexOf(t)===n).join(" ").trim();const Yd=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const a0=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,a)=>a?a.toUpperCase():n.toLowerCase());const r0=e=>{const t=a0(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Xa={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const l0=Symbol("lucide-icons");function o0(){return st(l0,{})}const s0=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":a,strokeWidth:r,"stroke-width":l,size:o,color:s,...i},{slots:c})=>{const{size:d,color:f,strokeWidth:p=2,absoluteStrokeWidth:v=!1,class:m=""}=o0(),g=x(()=>{const b=Gd(n)||Gd(a)||n===!0||a===!0||v===!0,y=r||l||p||Xa["stroke-width"];return b?Number(y)*24/Number(o??d??Xa.width):y});return Gt("svg",{...Xa,...i,width:o??d??Xa.width,height:o??d??Xa.height,stroke:s??f??Xa.stroke,"stroke-width":g.value,class:n0("lucide",m,...e?[`lucide-${Yd(r0(e))}-icon`,`lucide-${Yd(e)}`]:["lucide-icon"])},[...t.map(b=>Gt(...b)),...c.default?[c.default()]:[]])};const Oe=(e,t)=>(n,{slots:a,attrs:r})=>Gt(s0,{...r,...n,iconNode:t,name:e},a.default?{default:a.default}:void 0);const i0=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],u0=Oe("archive",i0);const c0=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],eh=Oe("arrow-down",c0);const d0=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],ps=Oe("arrow-left",d0);const f0=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],p0=Oe("arrow-right",f0);const v0=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],th=Oe("arrow-up-right",v0);const h0=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],nh=Oe("arrow-up",h0);const m0=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],y0=Oe("calendar",m0);const g0=[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["circle",{cx:"8",cy:"10",r:"2",key:"1xl4ub"}],["path",{d:"M8 12h8",key:"1wcyev"}],["circle",{cx:"16",cy:"10",r:"2",key:"r14t7q"}],["path",{d:"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3",key:"l01ucn"}]],b0=Oe("cassette-tape",g0);const _0=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Fa=Oe("check",_0);const x0=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ml=Oe("chevron-down",x0);const w0=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],vs=Oe("chevron-left",w0);const k0=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ql=Oe("chevron-right",k0);const $0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Nt=Oe("circle-alert",$0);const C0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],S0=Oe("circle",C0);const A0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],Jd=Oe("clock",A0);const E0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M6 12c0-1.7.7-3.2 1.8-4.2",key:"oqkarx"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M18 12c0 1.7-.7 3.2-1.8 4.2",key:"1eah9h"}]],D0=Oe("disc-3",E0);const O0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],P0=Oe("disc",O0);const M0=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],Zd=Oe("download",M0);const q0=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],T0=Oe("eye-off",q0);const R0=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],I0=Oe("eye",R0);const B0=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Jr=Oe("file-text",B0);const F0=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Qd=Oe("grip-vertical",F0);const N0=[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]],Xd=Oe("image-off",N0);const V0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],L0=Oe("image",V0);const j0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],U0=Oe("info",j0);const z0=[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]],H0=Oe("library",z0);const K0=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],W0=Oe("list",K0);const G0=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],mo=Oe("loader-circle",G0);const Y0=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],J0=Oe("lock",Y0);const Z0=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],ah=Oe("log-out",Z0);const Q0=[["path",{d:"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12",key:"80a601"}],["path",{d:"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5",key:"j0ngtp"}],["circle",{cx:"16",cy:"7",r:"5",key:"d08jfb"}]],X0=Oe("mic-vocal",Q0);const e_=[["path",{d:"M5 12h14",key:"1ays0h"}]],rh=Oe("minus",e_);const t_=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],n_=Oe("palette",t_);const a_=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],lh=Oe("panel-left-close",a_);const r_=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],oh=Oe("panel-left-open",r_);const l_=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],yo=Oe("pencil",l_);const o_=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Hu=Oe("plus",o_);const s_=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],sh=Oe("puzzle",s_);const i_=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],li=Oe("rotate-ccw",i_);const u_=[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],ih=Oe("search-x",u_);const c_=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],hs=Oe("search",c_);const d_=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],uh=Oe("settings",d_);const f_=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],p_=Oe("shield-check",f_);const v_=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],h_=Oe("sliders-horizontal",v_);const m_=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],y_=Oe("square",m_);const g_=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Ku=Oe("sun",g_);const b_=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],__=Oe("tags",b_);const x_=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Tl=Oe("trash-2",x_);const w_=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],oi=Oe("upload",w_);const k_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],ch=Oe("user-minus",k_);const $_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],dh=Oe("user-plus",$_);const C_=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],S_=Oe("user",C_);const A_=[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]],E_=Oe("users-round",A_);const D_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],O_=Oe("users",D_);const P_=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Yt=Oe("x",P_),M_=/\{[^{}]+\}/g,q_=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function T_(){return Math.random().toString(36).slice(2,11)}function R_(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:a=globalThis.fetch,querySerializer:r,bodySerializer:l,pathSerializer:o,headers:s,requestInitExt:i=void 0,...c}={...e};i=q_()?i:void 0,t=nf(t);const d=[];async function f(p,v){const{baseUrl:m,fetch:g=a,Request:b=n,headers:y,params:_={},parseAs:C="json",querySerializer:A,bodySerializer:N=l??B_,pathSerializer:G,body:z,middleware:H=[],...k}=v||{};let B=t;m&&(B=nf(m)??t);let Y=typeof r=="function"?r:ef(r);A&&(Y=typeof A=="function"?A:ef({...typeof r=="object"?r:{},...A}));const D=G||o||I_,L=z===void 0?void 0:N(z,tf(s,y,_.header)),W=tf(L===void 0||L instanceof FormData?{}:{"Content-Type":"application/json"},s,y,_.header),V=[...d,...H],X={redirect:"follow",...c,...k,body:L,headers:W};let ae,ce,te=new b(F_(p,{baseUrl:B,params:_,querySerializer:Y,pathSerializer:D}),X),ie;for(const we in k)we in te||(te[we]=k[we]);if(V.length){ae=T_(),ce=Object.freeze({baseUrl:B,fetch:g,parseAs:C,querySerializer:Y,bodySerializer:N,pathSerializer:D});for(const we of V)if(we&&typeof we=="object"&&typeof we.onRequest=="function"){const ue=await we.onRequest({request:te,schemaPath:p,params:_,options:ce,id:ae});if(ue)if(ue instanceof b)te=ue;else if(ue instanceof Response){ie=ue;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!ie){try{ie=await g(te,i)}catch(we){let ue=we;if(V.length)for(let Ce=V.length-1;Ce>=0;Ce--){const pe=V[Ce];if(pe&&typeof pe=="object"&&typeof pe.onError=="function"){const Z=await pe.onError({request:te,error:ue,schemaPath:p,params:_,options:ce,id:ae});if(Z){if(Z instanceof Response){ue=void 0,ie=Z;break}if(Z instanceof Error){ue=Z;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(ue)throw ue}if(V.length)for(let we=V.length-1;we>=0;we--){const ue=V[we];if(ue&&typeof ue=="object"&&typeof ue.onResponse=="function"){const Ce=await ue.onResponse({request:te,response:ie,schemaPath:p,params:_,options:ce,id:ae});if(Ce){if(!(Ce instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");ie=Ce}}}}const le=ie.headers.get("Content-Length");if(ie.status===204||te.method==="HEAD"||le==="0"&&!ie.headers.get("Transfer-Encoding")?.includes("chunked"))return ie.ok?{data:void 0,response:ie}:{error:void 0,response:ie};if(ie.ok)return{data:await(async()=>{if(C==="stream")return ie.body;if(C==="json"&&!le){const ue=await ie.text();return ue?JSON.parse(ue):void 0}return await ie[C]()})(),response:ie};let re=await ie.text();try{re=JSON.parse(re)}catch{}return{error:re,response:ie}}return{request(p,v,m){return f(v,{...m,method:p.toUpperCase()})},GET(p,v){return f(p,{...v,method:"GET"})},PUT(p,v){return f(p,{...v,method:"PUT"})},POST(p,v){return f(p,{...v,method:"POST"})},DELETE(p,v){return f(p,{...v,method:"DELETE"})},OPTIONS(p,v){return f(p,{...v,method:"OPTIONS"})},HEAD(p,v){return f(p,{...v,method:"HEAD"})},PATCH(p,v){return f(p,{...v,method:"PATCH"})},TRACE(p,v){return f(p,{...v,method:"TRACE"})},use(...p){for(const v of p)if(v){if(typeof v!="object"||!("onRequest"in v||"onResponse"in v||"onError"in v))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");d.push(v)}},eject(...p){for(const v of p){const m=d.indexOf(v);m!==-1&&d.splice(m,1)}}}}function ms(e,t,n){if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function fh(e,t,n){if(!t||typeof t!="object")return"";const a=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if(n.style!=="deepObject"&&n.explode===!1){for(const s in t)a.push(s,n.allowReserved===!0?t[s]:encodeURIComponent(t[s]));const o=a.join(",");switch(n.style){case"form":return`${e}=${o}`;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return o}}for(const o in t){const s=n.style==="deepObject"?`${e}[${o}]`:o;a.push(ms(s,t[o],n))}const l=a.join(r);return n.style==="label"||n.style==="matrix"?`${r}${l}`:l}function ph(e,t,n){if(!Array.isArray(t))return"";if(n.explode===!1){const l={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",o=(n.allowReserved===!0?t:t.map(s=>encodeURIComponent(s))).join(l);switch(n.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return`${e}=${o}`}}const a={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const l of t)n.style==="simple"||n.style==="label"?r.push(n.allowReserved===!0?l:encodeURIComponent(l)):r.push(ms(e,l,n));return n.style==="label"||n.style==="matrix"?`${a}${r.join(a)}`:r.join(a)}function ef(e){return function(n){const a=[];if(n&&typeof n=="object")for(const r in n){const l=n[r];if(l!=null){if(Array.isArray(l)){if(l.length===0)continue;a.push(ph(r,l,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof l=="object"){a.push(fh(r,l,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}a.push(ms(r,l,e))}}return a.join("&")}}function I_(e,t){let n=e;for(const a of e.match(M_)??[]){let r=a.substring(1,a.length-1),l=!1,o="simple";if(r.endsWith("*")&&(l=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(o="label",r=r.substring(1)):r.startsWith(";")&&(o="matrix",r=r.substring(1)),!t||t[r]===void 0||t[r]===null)continue;const s=t[r];if(Array.isArray(s)){n=n.replace(a,ph(r,s,{style:o,explode:l}));continue}if(typeof s=="object"){n=n.replace(a,fh(r,s,{style:o,explode:l}));continue}if(o==="matrix"){n=n.replace(a,`;${ms(r,s)}`);continue}n=n.replace(a,o==="label"?`.${encodeURIComponent(s)}`:encodeURIComponent(s))}return n}function B_(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(e).toString():JSON.stringify(e)}function F_(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let a=t.querySerializer(t.params.query??{});return a.startsWith("?")&&(a=a.substring(1)),a&&(n+=`?${a}`),n}function tf(...e){const t=new Headers;for(const n of e){if(!n||typeof n!="object")continue;const a=n instanceof Headers?n.entries():Object.entries(n);for(const[r,l]of a)if(l===null)t.delete(r);else if(Array.isArray(l))for(const o of l)t.append(r,o);else l!==void 0&&t.set(r,l)}return t}function nf(e){return e.endsWith("/")?e.substring(0,e.length-1):e}const af="/backend",N_="__SUMMER_ADMIN_BASE__";function V_(e=document){const t=e.querySelector('meta[name="summer-admin-base"]')?.content.trim()??"";if(t===""||t===N_||!t.startsWith("/"))return af;const n=t.replace(/\/+$/,"");return n===""?af:n}const rf=V_(),ys={base:rf,api:`${rf}/api/v1`},vh="XMLHttpRequest";let To=null,hh=null,jr=null;const si=new WeakMap;function L_(e){To=e}function j_(){To?.()}function U_(e){hh=e}function z_(e){return new URL(e.url,"http://local").pathname}function lf(e){const t=z_(e);return t.endsWith("/auth/login")||t.endsWith("/auth/refresh")}function Wu(){return jr||(jr=(async()=>{try{const{data:e,response:t}=await Me.POST("/auth/refresh");if(!t.ok||!e)return!1;const n=e.data.expires_in;return hh?.(typeof n=="number"?n:null),!0}catch{return!1}finally{jr=null}})(),jr)}const H_={onRequest({request:e}){return e.headers.set("X-Requested-With",vh),lf(e)||si.set(e,e.clone()),e},async onResponse({request:e,response:t}){if(t.status!==401||lf(e))return t;const n=si.get(e);if(si.delete(e),!n||!await Wu())return To?.(),t;const a=await globalThis.fetch(n);return a.status===401&&To?.(),a}},Me=R_({baseUrl:ys.api,credentials:"same-origin",fetch:e=>globalThis.fetch(e)});Me.use(H_);const Gu=R({}),Yu=R(typeof document>"u"?"pl":document.documentElement.lang||"pl"),yl=pt(Yu);function K_(e,t){Gu.value=e,t&&(Yu.value=t,typeof document<"u"&&(document.documentElement.lang=t))}async function W_(){const{data:e,response:t}=await Me.GET("/lang");!t.ok||!e||K_(e.data,e.meta.locale)}function of(e){const t=e.codePointAt(0);if(t===void 0)return e;const n=String.fromCodePoint(t);return n.toUpperCase()+e.slice(n.length)}function lu(e,t={}){if(e==="")return e;const n=[];for(const[r,l]of Object.entries(t)){const o=r.replace(/^:/,"");if(o==="")continue;const s=String(l);n.push([`:${of(o)}`,of(s)]),n.push([`:${o.toUpperCase()}`,s.toUpperCase()]),n.push([`:${o}`,s])}n.sort((r,l)=>l[0].length-r[0].length);let a=e;for(const[r,l]of n)a=a.split(r).join(l);return a}const sf=new Map;function G_(e,t=Yu.value){let n=sf.get(t);if(n===void 0){try{n=new Intl.PluralRules(t)}catch{n=null}sf.set(t,n)}return n?n.select(e):"other"}function Be(e,t,n={}){if(!e)return"";if(t===void 0)return lu(e.other??"",n);const a=e[G_(t)]??e.other??"";return lu(a,{count:t,...n})}function O(e,t={}){const n=Gu.value[e]?.other;return n===void 0?e:lu(n,t)}function Cr(e,t,n={}){const a=Gu.value[e];return a?Be(a,t,n):e}const uf={archive:u0,"arrow-down":eh,"arrow-left":ps,"arrow-right":p0,"arrow-up":nh,"arrow-up-right":th,"cassette-tape":b0,check:Fa,"chevron-down":Ml,"chevron-left":vs,"chevron-right":ql,circle:S0,"circle-alert":Nt,disc:P0,"disc-3":D0,image:L0,library:H0,list:W0,"log-out":ah,"mic-vocal":X0,minus:rh,palette:n_,"panel-left-close":lh,"panel-left-open":oh,plus:Hu,puzzle:sh,search:hs,"search-x":ih,settings:uh,"shield-check":p_,sun:Ku,tags:__,"trash-2":Tl,user:S_,"user-minus":ch,"user-plus":dh,users:O_,"users-round":E_,x:Yt},Y_={"icon-archive":"archive","icon-circle":"circle","icon-list-ul":"list","icon-tags":"tags","icon-user":"user","icon-search":"search","icon-cog":"settings","icon-users":"users"},cf=y_;function ii(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function gs(e){if(!e)return cf;const t=e.trim();return ii(uf,t)??ii(uf,ii(Y_,t)??"")??cf}const J_=/^[A-Za-z0-9_-]+$/;function bs(e){const t=e.split(".");if(t.length!==3||!t.every(l=>J_.test(l)))return null;const[n,a,r]=t;return{vendor:n,plugin:a,controller:r}}function Un(e){const t=bs(e);return t?`/${t.vendor}/${t.plugin}/${t.controller}`:null}function _s(e){return`${e.vendor}.${e.plugin}.${e.controller}`}function Ju(e){const t=e.replace(/^\/+|\/+$/g,"").split("/");if(t.length<3)return null;const n=t.slice(0,3).join(".");return bs(n)?n:null}function df(e){const t=bs(e);return t?`${t.vendor}.${t.plugin}`:null}const Ro=R([]);async function mh(){const{data:e,response:t}=await Me.GET("/navigation");return Ro.value=t.ok&&e?e.data:[],Ro.value}function Z_(e){Ro.value=e}const Io=x(()=>Ro.value.filter(e=>e.sideMenu.length>0).map((e,t)=>({entry:e,index:t})).sort((e,t)=>e.entry.order-t.entry.order||e.index-t.index).map(({entry:e})=>e));function Zu(e){for(const t of e.sideMenu){const n=Un(t.controller);if(n)return n}return Un(e.controller)}function xs(e,t){const n=`${e}.${t}`;return Io.value.find(a=>df(a.controller)===n||a.sideMenu.some(r=>df(r.controller)===n))??null}function Q_(){for(const e of Io.value){const t=Zu(e);if(t)return t}return null}const Sr=R([]),X_=x(()=>Sr.value.length>0);async function yh(){const{data:e,response:t}=await Me.GET("/settings");return Sr.value=t.ok&&e?e.data:[],Sr.value}function ex(e){Sr.value=e}function ou(e){return Sr.value.find(t=>t.code===e)??null}const ff=x(()=>{const e=Sr.value.map((n,a)=>({entry:n,index:a})).sort((n,a)=>n.entry.order-a.entry.order||n.index-a.index).map(({entry:n})=>n),t=[];for(const n of e){let a=t.find(r=>r.category===n.category);a||(a={category:n.category,entries:[]},t.push(a)),a.entries.push(n)}return t}),gh="summer-admin.sidebar",tx="(max-width: 1099px)",ws=R(!1),ol=R(!1),nx=x(()=>ol.value||ws.value);function bh(){try{return typeof window>"u"?null:window.localStorage}catch{return null}}function ax(){try{return bh()?.getItem(gh)==="true"}catch{return!1}}function _h(e){ws.value=e;try{bh()?.setItem(gh,e?"true":"false")}catch{}}function rx(){if(ws.value=ax(),typeof window>"u"||typeof window.matchMedia!="function")return ol.value=!1,()=>{};const e=window.matchMedia(tx);ol.value=e.matches;const t=n=>{ol.value=n.matches};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}function xh(){return{collapsed:nx,narrow:pt(ol),manual:pt(ws),setCollapsed:_h,watchViewport:rx}}const lx=["id","aria-label"],ox={class:"px-2.5 pt-1 pb-2 text-[14px] font-bold","aria-hidden":"true"},sx=Q({__name:"SectionFlyout",props:{entry:{},id:{}},emits:["escape","leave","navigate"],setup(e,{expose:t,emit:n}){const a=e,r=n,l=ln(),o=R(null),s=x(()=>Ju(l.path)),i=x(()=>a.entry.sideMenu.flatMap(v=>{const m=Un(v.controller);return m?[{item:v,to:m,icon:gs(v.icon),current:s.value===v.controller}]:[]}));function c(){return[...o.value?.querySelectorAll('[role="menuitem"]')??[]]}async function d(){await Ke(),c()[0]?.focus()}function f(v){return!!v&&!!o.value?.contains(v)}function p(v){const m=c(),g=m.indexOf(document.activeElement);switch(v.key){case"ArrowDown":v.preventDefault(),m[(g+1)%m.length]?.focus();break;case"ArrowUp":v.preventDefault(),m[(g-1+m.length)%m.length]?.focus();break;case"Home":v.preventDefault(),m[0]?.focus();break;case"End":v.preventDefault(),m[m.length-1]?.focus();break;case"Escape":v.preventDefault(),r("escape");break;case"Tab":r("leave");break}}return t({focusFirst:d,contains:f}),(v,m)=>(h(),$("div",{id:e.id,ref_key:"root",ref:o,role:"menu","data-section-flyout":"","aria-label":e.entry.label,class:"fixed top-3 left-[calc(var(--spacing-rail)+8px)] z-40 flex w-[230px] flex-col gap-0.5 rounded-[14px] border border-border bg-surface p-2 text-text shadow-pop",onKeydown:p},[P("span",ox,M(e.entry.label),1),(h(!0),$(ge,null,Fe(i.value,g=>(h(),F(u(_n),{key:g.item.code,to:g.to,role:"menuitem",tabindex:"-1","aria-current":g.current?"page":void 0,class:_e([g.current?"bg-sel font-semibold text-text":"font-medium text-muted hover:bg-hover hover:text-text","flex h-[38px] items-center gap-3 rounded-tab px-2.5 no-underline transition-colors duration-150 ease-out"]),onClick:m[0]||(m[0]=b=>r("navigate"))},{default:T(()=>[(h(),F(Ut(g.icon),{size:18,"aria-hidden":"true"})),P("span",null,M(g.item.label),1)]),_:2},1032,["to","aria-current","class"]))),128))],40,lx))}}),ix=["aria-label"],ux={class:"mb-3.5 flex size-10 items-center justify-center rounded-inner bg-accent-soft",title:"SummerCMS"},cx=["aria-label","title"],dx=200,fx=Q({__name:"PluginRail",setup(e){const t=ln(),{collapsed:n,narrow:a,setCollapsed:r}=xh(),l=x(()=>xs(String(t.params.vendor??""),String(t.params.plugin??""))),o=x(()=>t.path==="/settings"||t.path.startsWith("/settings/")),s=x(()=>Io.value.map(H=>({entry:H,to:Zu(H)??"/",icon:gs(H.icon),current:l.value?.code===H.code}))),i=R(null),c=R(null),d=x(()=>Io.value.find(H=>H.code===i.value)??null),f=new Map;let p=null,v=!1;function m(H){return`section-flyout-${H}`}function g(H,k){const B=k?.$el;B instanceof HTMLElement?f.set(H,B):f.delete(H)}function b(){p!==null&&(clearTimeout(p),p=null)}function y(){b(),i.value=null}function _(){b(),p=setTimeout(()=>{p=null;const H=document.activeElement,k=i.value;k!==null&&(f.get(k)===H||c.value?.contains(H))||(i.value=null)},dx)}function C(H){n.value&&(b(),i.value=H)}function A(H){v||C(H)}async function N(H,k){n.value&&(H.key==="Enter"||H.key==="ArrowDown"?(H.preventDefault(),C(k),await Ke(),await c.value?.focusFirst()):H.key==="Escape"&&i.value!==null&&(H.preventDefault(),y()))}function G(){const H=i.value;y(),H!==null&&(v=!0,f.get(H)?.focus(),v=!1)}function z(){r(!1),Ke(()=>document.querySelector("[data-sidebar-collapse]")?.focus())}return Ne(n,H=>{H||y()}),It(b),(H,k)=>(h(),$("nav",{"aria-label":u(O)("backend::lang.nav.plugins"),class:"flex w-rail shrink-0 flex-col items-center gap-1.5 border-r border-side-border bg-side pt-3.5 pb-3"},[P("span",ux,[j(u(Ku),{size:22,class:"text-accent","aria-hidden":"true"})]),(h(!0),$(ge,null,Fe(s.value,B=>(h(),F(u(_n),{key:B.entry.code,ref_for:!0,ref:Y=>g(B.entry.code,Y),to:B.to,"data-rail-item":B.entry.code,"aria-current":B.current?"page":void 0,"aria-haspopup":u(n)?"menu":void 0,"aria-expanded":u(n)?i.value===B.entry.code?"true":"false":void 0,"aria-controls":u(n)&&i.value===B.entry.code?m(B.entry.code):void 0,class:_e([B.current?"bg-accent-soft font-bold text-accent":"text-side-text hover:bg-side-hover hover:text-white","flex w-[68px] flex-col items-center gap-1 rounded-inner px-1.5 py-2 text-center text-[11px] leading-[1.2] tracking-[-0.01em] no-underline transition-colors duration-150 ease-out"]),onMouseenter:Y=>C(B.entry.code),onMouseleave:_,onFocus:Y=>A(B.entry.code),onBlur:_,onKeydown:Y=>N(Y,B.entry.code)},{default:T(()=>[(h(),F(Ut(B.icon),{size:20,"aria-hidden":"true"})),P("span",null,M(B.entry.label),1)]),_:2},1032,["to","data-rail-item","aria-current","aria-haspopup","aria-expanded","aria-controls","class","onMouseenter","onFocus","onKeydown"]))),128)),u(n)&&d.value?(h(),F(sx,{key:0,id:m(d.value.code),ref_key:"flyout",ref:c,entry:d.value,onMouseenter:b,onMouseleave:_,onFocusin:b,onFocusout:_,onEscape:G,onLeave:_,onNavigate:y},null,8,["id","entry"])):ne("",!0),k[0]||(k[0]=P("span",{class:"flex-1","aria-hidden":"true"},null,-1)),u(n)&&!u(a)?(h(),$("button",{key:1,type:"button","data-sidebar-expand":"","aria-label":u(O)("backend::lang.nav.expand"),title:u(O)("backend::lang.nav.expand"),class:"mb-1 flex size-10 items-center justify-center rounded-inner text-side-text transition-colors duration-150 ease-out hover:bg-side-hover hover:text-white",onClick:z},[j(u(oh),{size:20,"aria-hidden":"true"})],8,cx)):ne("",!0),u(X_)?(h(),F(u(_n),{key:2,to:"/settings","data-rail-settings":"","aria-current":o.value?"page":void 0,class:_e([o.value?"bg-accent-soft font-bold text-accent":"text-side-text hover:bg-side-hover hover:text-white","flex w-[68px] flex-col items-center gap-1 rounded-inner px-1.5 py-2 text-center text-[11px] leading-[1.2] tracking-[-0.01em] no-underline transition-colors duration-150 ease-out"])},{default:T(()=>[j(u(uh),{size:20,"aria-hidden":"true"}),P("span",null,M(u(O)("backend::lang.nav.settings")),1)]),_:1},8,["aria-current","class"])):ne("",!0)],8,ix))}}),px=["aria-label"],vx={class:"mb-3.5 flex h-10 items-center justify-between gap-2 pl-2"},hx={class:"truncate text-[16px] font-bold"},mx=["aria-label","title"],yx=Q({__name:"SectionPanel",props:{entry:{}},setup(e){const t=e,n=ln(),a=x(()=>Ju(n.path)),r=x(()=>t.entry.sideMenu.flatMap(o=>{const s=Un(o.controller);return s?[{item:o,to:s,icon:gs(o.icon),current:a.value===o.controller}]:[]}));function l(){_h(!0),Ke(()=>document.querySelector("[data-sidebar-expand]")?.focus())}return(o,s)=>(h(),$("aside",{"aria-label":u(O)("backend::lang.nav.sections"),class:"flex w-panel shrink-0 flex-col gap-0.5 border-r border-border bg-surface px-3 py-3.5"},[P("div",vx,[P("span",hx,M(e.entry.label),1),P("button",{type:"button","data-sidebar-collapse":"","aria-label":u(O)("backend::lang.nav.collapse"),title:u(O)("backend::lang.nav.collapse"),class:"flex size-[30px] shrink-0 items-center justify-center rounded-tab text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:l},[j(u(lh),{size:18,"aria-hidden":"true"})],8,mx)]),(h(!0),$(ge,null,Fe(r.value,i=>(h(),F(u(_n),{key:i.item.code,to:i.to,"aria-current":i.current?"page":void 0,class:_e([i.current?"bg-sel font-semibold text-text":"font-medium text-muted hover:bg-hover hover:text-text","flex h-nav items-center gap-3 rounded-control px-3 no-underline transition-colors duration-150 ease-out"])},{default:T(()=>[(h(),F(Ut(i.icon),{size:18,"aria-hidden":"true"})),P("span",null,M(i.item.label),1)]),_:2},1032,["to","aria-current","class"]))),128))],8,px))}}),Qu=R(""),pf=pt(Qu);function wh(e){Qu.value=e}function kh(){Qu.value=""}const gx=["aria-label"],bx={class:"flex min-w-0 items-center gap-2"},_x=["aria-current"],xx=Q({__name:"Breadcrumbs",setup(e){const t=ln(),n=x(()=>{if(t.name==="settings"||t.name==="settings-form"){const s=[{label:O("backend::lang.nav.settings"),to:"/settings"}],i=t.name==="settings-form"?ou(String(t.params.code??"")):null;return i&&s.push({label:i.label}),s}const a=xs(String(t.params.vendor??""),String(t.params.plugin??""));if(!a)return[];const r=[{label:a.label,to:Zu(a)??void 0}],l=Ju(t.path),o=a.sideMenu.find(s=>s.controller===l)??null;return o&&r.push({label:o.label,to:Un(o.controller)??void 0}),(t.name==="record"||t.name==="create")&&pf.value!==""&&r.push({label:pf.value}),r});return(a,r)=>(h(),$("nav",{"aria-label":u(O)("backend::lang.nav.breadcrumbs"),class:"min-w-0"},[P("ol",bx,[(h(!0),$(ge,null,Fe(n.value,(l,o)=>(h(),$("li",{key:o,"data-crumb":"",class:"flex min-w-0 items-center gap-2"},[o>0?(h(),F(u(ql),{key:0,size:14,class:"shrink-0 text-muted","aria-hidden":"true"})):ne("",!0),o===n.value.length-1||!l.to?(h(),$("span",{key:1,"aria-current":o===n.value.length-1?"page":void 0,class:_e([o===n.value.length-1?"font-semibold text-text":"text-muted","truncate"])},M(l.label),11,_x)):(h(),F(u(_n),{key:2,to:l.to,class:"truncate text-muted no-underline transition-colors duration-150 ease-out hover:text-text"},{default:T(()=>[ke(M(l.label),1)]),_:2},1032,["to"]))]))),128))])],8,gx))}});function vf(e){return typeof e=="string"?`'${e}'`:new kx().serialize(e)}const wx=" _-,;:!?.'\"()[]{}@*/\\&#%`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz",Xl=(function(){const e=new Uint8Array(128);for(let t=0;t<69;t++)e[wx.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function ui(e,t){if(e===t)return 0;const n=Math.min(e.length,t.length);let a=0;for(let r=0;ro?-1:1)}return e.length!==t.length?e.lengththis.compare(o[0],s[0]));let l=`${n}{`;for(let o=0;othis.compare(a,r)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})();function gl(e,t){return e===t||vf(e)===vf(t)}function eo(e,t){let n=e;const a=t.toString(),r=a.indexOf("."),l=r>=0?a.length-r:0;if(l>0){const o=10**l;n=Math.round(n*o)/o}return n}function ci(e,t,n,a){t=Number(t),n=Number(n);const r=(e-(Number.isNaN(t)?0:t))%a;let l=eo(Math.abs(r)*2>=a?e+Math.sign(r)*(a-Math.abs(r)):e-r,a);return Number.isNaN(t)?!Number.isNaN(n)&&l>n&&(l=Math.floor(eo(n/a,a))*a):ln&&(l=t+Math.floor(eo((n-t)/a,a))*a),l=eo(l,a),l}function dt(e,t){const n=typeof e=="string"&&!t?`${e}Context`:t,a=Symbol(n);return[o=>{const s=st(a,o);if(s||s===null)return s;throw new Error(`Injection \`${a.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},o=>(Dt(a,o),o)]}function ht(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Xu(e,t,n){const a=n.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),a.dispatchEvent(r)}function Vt(e){return e==null}function hf(e,t){return Vt(e)?!1:Array.isArray(e)?e.some(n=>gl(n,t)):gl(e,t)}function $x(e,t){var n;const a=rs();return tn(()=>{a.value=e()},{...t,flush:(n=t?.flush)!==null&&n!==void 0?n:"sync"}),pt(a)}function $h(e,t){return Mu()?(Dp(e,t),!0):!1}function Cx(e){let t=!1,n;const a=Ep(!0);return((...r)=>(t||(n=a.run(()=>e(...r)),t=!0),n))}const Wn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Sx=e=>typeof e<"u",Ax=Object.prototype.toString,Ex=e=>Ax.call(e)==="[object Object]",mf=Dx();function Dx(){var e,t,n;return Wn&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function di(e){return Array.isArray(e)?e:[e]}function Ox(e){return $n()}function Ch(e){if(!Wn)return e;let t=0,n,a;const r=()=>{t-=1,a&&t<=0&&(a.stop(),n=void 0,a=void 0)};return((...l)=>(t+=1,a||(a=Ep(!0),n=a.run(()=>e(...l))),$h(r),n))}function Px(e){return Xt(ot(e)?new Proxy({},{get(t,n,a){return u(Reflect.get(e.value,n,a))},set(t,n,a){return ot(e.value[n])&&!ot(a)?e.value[n].value=a:e.value[n]=a,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function Mx(e){return Px(x(e))}function qx(e,...t){const n=t.flat(),a=n[0];return Mx(()=>Object.fromEntries(typeof a=="function"?Object.entries(Pt(e)).filter(([r,l])=>!a(Ot(l),r)):Object.entries(Pt(e)).filter(r=>!n.includes(r[0]))))}function Tx(e,t=1e4){return eg((n,a)=>{let r=Ot(e),l;const o=()=>setTimeout(()=>{r=Ot(e),a()},Ot(t));return $h(()=>{clearTimeout(l)}),{get(){return n(),r},set(s){r=s,a(),clearTimeout(l),l=o()}}})}function Rx(e,t){Ox()&&It(e,t)}function Ix(e,t,n){return Ne(e,t,{...n,immediate:!0})}const ec=Wn?window:void 0;function Ha(e){var t;const n=Ot(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Ar(...e){const t=(a,r,l,o)=>(a.addEventListener(r,l,o),()=>a.removeEventListener(r,l,o)),n=x(()=>{const a=di(Ot(e[0])).filter(r=>r!=null);return a.every(r=>typeof r!="string")?a:void 0});return Ix(()=>{var a,r;return[(a=(r=n.value)===null||r===void 0?void 0:r.map(l=>Ha(l)))!==null&&a!==void 0?a:[ec].filter(l=>l!=null),di(Ot(n.value?e[1]:e[0])),di(u(n.value?e[2]:e[1])),Ot(n.value?e[3]:e[2])]},([a,r,l,o],s,i)=>{if(!a?.length||!r?.length||!l?.length)return;const c=Ex(o)?{...o}:o,d=a.flatMap(f=>r.flatMap(p=>l.map(v=>t(f,p,v,c))));i(()=>{d.forEach(f=>f())})},{flush:"post"})}function Bx(){const e=rs(!1),t=$n();return t&>(()=>{e.value=!0},t),e}function Fx(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Nx(...e){let t,n,a={};e.length===3?(t=e[0],n=e[1],a=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],a=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=ec,eventName:l="keydown",passive:o=!1,dedupe:s=!1}=a,i=Fx(t);return Ar(r,l,d=>{d.repeat&&Ot(s)||i(d)&&n(d)},o)}function Vx(e){return JSON.parse(JSON.stringify(e))}function vt(e,t,n,a={}){var r,l;const{clone:o=!1,passive:s=!1,eventName:i,deep:c=!1,defaultValue:d,shouldEmit:f}=a,p=$n(),v=n||p?.emit||(p==null||(r=p.$emit)===null||r===void 0?void 0:r.bind(p))||(p==null||(l=p.proxy)===null||l===void 0||(l=l.$emit)===null||l===void 0?void 0:l.bind(p?.proxy));let m=i;t||(t="modelValue"),m=m||`update:${t.toString()}`;const g=_=>o?typeof o=="function"?o(_):Vx(_):_,b=()=>Sx(e[t])?g(e[t]):d,y=_=>{f?f(_)&&v(m,_):v(m,_)};if(s){const _=R(b());let C=!1;return Ne(()=>e[t],A=>{C||(C=!0,_.value=g(A),Ke(()=>C=!1))}),Ne(_,A=>{!C&&(A!==e[t]||c)&&y(A)},{deep:c}),_}else return x({get(){return b()},set(_){y(_)}})}function tc(e){return e?e.flatMap(t=>t.type===ge?tc(t.children):[t]):[]}const Lx=["INPUT","TEXTAREA"];function yf(e,t,n,a={}){if(!t||a.enableIgnoredElement&&Lx.includes(t.nodeName))return null;const{arrowKeyOptions:r="both",attributeName:l="[data-reka-collection-item]",itemsArray:o=[],loop:s=!0,dir:i="ltr",preventScroll:c=!0,focus:d=!1}=a,[f,p,v,m,g,b]=[e.key==="ArrowRight",e.key==="ArrowLeft",e.key==="ArrowUp",e.key==="ArrowDown",e.key==="Home",e.key==="End"],y=v||m,_=f||p;if(!g&&!b&&(!y&&!_||r==="vertical"&&_||r==="horizontal"&&y))return null;const C=n?Array.from(n.querySelectorAll(l)):o;if(!C.length)return null;c&&e.preventDefault();let A=null;return _||y?A=Sh(C,t,{goForward:y?m:i==="ltr"?f:p,loop:s}):g?A=C.at(0)||null:b&&(A=C.at(-1)||null),d&&A?.focus(),A}function Sh(e,t,n,a=e.includes(t)?e.length:e.length+1){if(--a===0)return null;const r=e.indexOf(t);let l;if(r===-1?l=n.goForward?0:e.length-1:l=n.goForward?r+1:r-1,!n.loop&&(l<0||l>=e.length))return null;const o=(l+e.length)%e.length,s=e[o];return s?s.hasAttribute("disabled")&&s.getAttribute("disabled")!=="false"?Sh(e,s,n,a):s:null}const[ks]=dt("ConfigProvider");function fi(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function su(e,t,n=".",a){if(!fi(t))return su(e,{},n,a);const r={...t};for(const l of Object.keys(e)){if(l==="__proto__"||l==="constructor")continue;const o=e[l];o!=null&&(a&&a(r,l,o,n)||(Array.isArray(o)&&Array.isArray(r[l])?r[l]=[...o,...r[l]]:fi(o)&&fi(r[l])?r[l]=su(o,r[l],(n?`${n}.`:"")+l.toString(),a):r[l]=o))}return r}function jx(e){return(...t)=>t.reduce((n,a)=>su(n,a,"",e),{})}const Ah=jx(),Ux=Ch(()=>{const e=R(new Map),t=R(),n=x(()=>{for(const o of e.value.values())if(o)return!0;return!1}),a=ks({scrollBody:R(!0)});let r=null;const l=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",mf&&r?.(),t.value=void 0};return Ne(n,(o,s)=>{if(!Wn)return;if(!o){s&&l();return}t.value===void 0&&(t.value=document.body.style.overflow);const i=window.innerWidth-document.documentElement.clientWidth,c={padding:i,margin:0},d=a.scrollBody?.value?typeof a.scrollBody.value=="object"?Ah({padding:a.scrollBody.value.padding===!0?i:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?i:a.scrollBody.value.margin},c):c:{padding:0,margin:0};i>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty("--scrollbar-width",`${i}px`),document.body.style.overflow="hidden"),mf&&(r=Ar(document,"touchmove",f=>zx(f),{passive:!1})),Ke(()=>{n.value&&(document.body.style.pointerEvents="none",document.body.style.overflow="hidden")})},{immediate:!0,flush:"sync"}),e});function nc(e){const t=Math.random().toString(36).substring(2,7),n=Ux();n.value.set(t,e??!1);const a=x({get:()=>n.value.get(t)??!1,set:r=>n.value.set(t,r)});return Rx(()=>{n.value.delete(t)}),a}function Eh(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function mr(e,t){return e-t*Math.floor(e/t)}const Dh=1721426;function Ta(e,t,n,a){t=Rl(e,t);let r=t-1,l=-2;return n<=2?l=0:sa(t)&&(l=-1),Dh-1+365*r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400)+Math.floor((367*n-362)/12+l+a)}function sa(e){return e%4===0&&(e%100!==0||e%400===0)}function Rl(e,t){return e==="BC"?1-t:t}function $s(e){let t="AD";return e<=0&&(t="BC",e=1-e),[t,e]}const Hx={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class rn{fromJulianDay(t){let n=t,a=n-Dh,r=Math.floor(a/146097),l=mr(a,146097),o=Math.floor(l/36524),s=mr(l,36524),i=Math.floor(s/1461),c=mr(s,1461),d=Math.floor(c/365),f=r*400+o*100+i*4+d+(o!==4&&d!==4?1:0),[p,v]=$s(f),m=n-Ta(p,v,1,1),g=2;n0&&t===on()&&!Mh())return new Date(e).getTimezoneOffset()*-6e4;let{year:n,month:a,day:r,hour:l,minute:o,second:s}=Th(e,t);return qh(n,a,r,l,o,s,0)-Math.floor(e/1e3)*1e3}const wf=new Map;function Th(e,t){let n=wf.get(t);n||(n=new Intl.DateTimeFormat("en-US",{timeZone:t,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),wf.set(t,n));let a=n.formatToParts(new Date(e)),r={};for(let l of a)l.type!=="literal"&&(r[l.type]=l.value);return{year:r.era==="BC"||r.era==="B"?-r.year+1:+r.year,month:+r.month,day:+r.day,hour:r.hour==="24"?0:+r.hour,minute:+r.minute,second:+r.second}}const kf=864e5;function Xx(e,t,n,a){return(n===a?[n]:[n,a]).filter(l=>ew(e,t,l))}function ew(e,t,n){let a=Th(n,t);return e.year===a.year&&e.month===a.month&&e.day===a.day&&e.hour===a.hour&&e.minute===a.minute&&e.second===a.second}function qn(e,t,n="compatible"){let a=xn(e);if(t==="UTC")return Er(a);if(t===on()&&n==="compatible"&&!Mh()){a=Tt(a,new rn);let i=new Date,c=Rl(a.era,a.year);return i.setFullYear(c,a.month-1,a.day),i.setHours(a.hour,a.minute,a.second,a.millisecond),i.getTime()}let r=Er(a),l=uu(r-kf,t),o=uu(r+kf,t),s=Xx(a,t,r-l,r-o);if(s.length===1)return s[0];if(s.length>1)switch(n){case"compatible":case"earlier":return s[0];case"later":return s[s.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(n){case"earlier":return Math.min(r-l,r-o);case"compatible":case"later":return Math.max(r-l,r-o);case"reject":throw new RangeError("No such absolute time found")}}function Rh(e,t,n="compatible"){return new Date(qn(e,t,n))}function Tn(e,t){let n=uu(e,t),a=new Date(e+n),r=a.getUTCFullYear(),l=a.getUTCMonth()+1,o=a.getUTCDate(),s=a.getUTCHours(),i=a.getUTCMinutes(),c=a.getUTCSeconds(),d=a.getUTCMilliseconds();return new zn(r<1?"BC":"AD",r<1?-r+1:r,l,o,t,n,s,i,c,d)}function tw(e){return new tt(e.calendar,e.era,e.year,e.month,e.day)}function xn(e,t){let n=0,a=0,r=0,l=0;if("timeZone"in e)({hour:n,minute:a,second:r,millisecond:l}=e);else if("hour"in e&&!t)return e;return t&&({hour:n,minute:a,second:r,millisecond:l}=t),new ha(e.calendar,e.era,e.year,e.month,e.day,n,a,r,l)}function Tt(e,t){if(rc(e.calendar,t))return e;let n=t.fromJulianDay(e.calendar.toJulianDay(e)),a=e.copy();return a.calendar=t,a.era=n.era,a.year=n.year,a.month=n.month,a.day=n.day,Na(a),a}function lc(e,t,n){if(e instanceof zn)return e.timeZone===t?e:Ss(e,t);let a=qn(e,t,n);return Tn(a,t)}function nw(e){let t=Er(e)-e.offset;return new Date(t)}function Ss(e,t){let n=Er(e)-e.offset;return Tt(Tn(n,t),e.calendar)}const Ur=36e5;function As(e,t){let n=e.copy(),a="hour"in n?Nh(n,t):0;cu(n,t.years||0),n.calendar.balanceYearMonth&&n.calendar.balanceYearMonth(n,e),n.month+=t.months||0,du(n),Ih(n),n.day+=(t.weeks||0)*7,n.day+=t.days||0,n.day+=a,aw(n),n.calendar.balanceDate&&n.calendar.balanceDate(n),n.year<1&&(n.year=1,n.month=1,n.day=1);let r=n.calendar.getYearsInEra(n);if(n.year>r){let o=n.calendar.isInverseEra?.(n);n.year=r,n.month=o?1:n.calendar.getMonthsInYear(n),n.day=o?1:n.calendar.getDaysInMonth(n)}n.month<1&&(n.month=1,n.day=1);let l=n.calendar.getMonthsInYear(n);return n.month>l&&(n.month=l,n.day=n.calendar.getDaysInMonth(n)),n.day=Math.max(1,Math.min(n.calendar.getDaysInMonth(n),n.day)),n}function cu(e,t){e.calendar.isInverseEra?.(e)&&(t=-t),e.year+=t}function du(e){for(;e.month<1;)cu(e,-1),e.month+=e.calendar.getMonthsInYear(e);let t=0;for(;e.month>(t=e.calendar.getMonthsInYear(e));)e.month-=t,cu(e,1)}function aw(e){for(;e.day<1;)e.month--,du(e),e.day+=e.calendar.getDaysInMonth(e);for(;e.day>e.calendar.getDaysInMonth(e);)e.day-=e.calendar.getDaysInMonth(e),e.month++,du(e)}function Ih(e){e.month=Math.max(1,Math.min(e.calendar.getMonthsInYear(e),e.month)),e.day=Math.max(1,Math.min(e.calendar.getDaysInMonth(e),e.day))}function Na(e){e.calendar.constrainDate&&e.calendar.constrainDate(e),e.year=Math.max(1,Math.min(e.calendar.getYearsInEra(e),e.year)),Ih(e)}function oc(e){let t={};for(let n in e)typeof e[n]=="number"&&(t[n]=-e[n]);return t}function Bh(e,t){return As(e,oc(t))}function sc(e,t){let n=e.copy();return t.era!=null&&(n.era=t.era),t.year!=null&&(n.year=t.year),t.month!=null&&(n.month=t.month),t.day!=null&&(n.day=t.day),Na(n),n}function bl(e,t){let n=e.copy();return t.hour!=null&&(n.hour=t.hour),t.minute!=null&&(n.minute=t.minute),t.second!=null&&(n.second=t.second),t.millisecond!=null&&(n.millisecond=t.millisecond),Fh(n),n}function rw(e){e.second+=Math.floor(e.millisecond/1e3),e.millisecond=to(e.millisecond,1e3),e.minute+=Math.floor(e.second/60),e.second=to(e.second,60),e.hour+=Math.floor(e.minute/60),e.minute=to(e.minute,60);let t=Math.floor(e.hour/24);return e.hour=to(e.hour,24),t}function Fh(e){e.millisecond=Math.max(0,Math.min(e.millisecond,999)),e.second=Math.max(0,Math.min(e.second,59)),e.minute=Math.max(0,Math.min(e.minute,59)),e.hour=Math.max(0,Math.min(e.hour,23))}function to(e,t){let n=e%t;return n<0&&(n+=t),n}function Nh(e,t){return e.hour+=t.hours||0,e.minute+=t.minutes||0,e.second+=t.seconds||0,e.millisecond+=t.milliseconds||0,rw(e)}function Vh(e,t){let n=e.copy();return Nh(n,t),n}function lw(e,t){return Vh(e,oc(t))}function ic(e,t,n,a){let r=e.copy();switch(t){case"era":{let l=e.calendar.getEras(),o=l.indexOf(e.era);if(o<0)throw new Error("Invalid era: "+e.era);o=Rn(o,n,0,l.length-1,a?.round),r.era=l[o],Na(r);break}case"year":r.calendar.isInverseEra?.(r)&&(n=-n),r.year=Rn(e.year,n,-1/0,9999,a?.round),r.year===-1/0&&(r.year=1),r.calendar.balanceYearMonth&&r.calendar.balanceYearMonth(r,e);break;case"month":r.month=Rn(e.month,n,1,e.calendar.getMonthsInYear(e),a?.round);break;case"day":r.day=Rn(e.day,n,1,e.calendar.getDaysInMonth(e),a?.round);break;default:throw new Error("Unsupported field "+t)}return e.calendar.balanceDate&&e.calendar.balanceDate(r),Na(r),r}function uc(e,t,n,a){let r=e.copy();switch(t){case"hour":{let l=e.hour,o=0,s=23;if(a?.hourCycle===12){let i=l>=12;o=i?12:0,s=i?23:11}r.hour=Rn(l,n,o,s,a?.round);break}case"minute":r.minute=Rn(e.minute,n,0,59,a?.round);break;case"second":r.second=Rn(e.second,n,0,59,a?.round);break;case"millisecond":r.millisecond=Rn(e.millisecond,n,0,999,a?.round);break;default:throw new Error("Unsupported field "+t)}return r}function Rn(e,t,n,a,r=!1){if(r){e+=Math.sign(t),e0?e=Math.ceil(e/l)*l:e=Math.floor(e/l)*l,e>a&&(e=n)}else e+=t,ea&&(e=n+(e-a-1));return e}function Lh(e,t){let n;if(t.years!=null&&t.years!==0||t.months!=null&&t.months!==0||t.weeks!=null&&t.weeks!==0||t.days!=null&&t.days!==0){let r=As(xn(e),{years:t.years,months:t.months,weeks:t.weeks,days:t.days});n=qn(r,e.timeZone)}else n=Er(e)-e.offset;n+=t.milliseconds||0,n+=(t.seconds||0)*1e3,n+=(t.minutes||0)*6e4,n+=(t.hours||0)*36e5;let a=Tn(n,e.timeZone);return Tt(a,e.calendar)}function ow(e,t){return Lh(e,oc(t))}function sw(e,t,n,a){switch(t){case"hour":{let r=0,l=23;if(a?.hourCycle===12){let m=e.hour>=12;r=m?12:0,l=m?23:11}let o=xn(e),s=Tt(bl(o,{hour:r}),new rn),i=[qn(s,e.timeZone,"earlier"),qn(s,e.timeZone,"later")].filter(m=>Tn(m,e.timeZone).day===s.day)[0],c=Tt(bl(o,{hour:l}),new rn),d=[qn(c,e.timeZone,"earlier"),qn(c,e.timeZone,"later")].filter(m=>Tn(m,e.timeZone).day===c.day).pop(),f=Er(e)-e.offset,p=Math.floor(f/Ur),v=f%Ur;return f=Rn(p,n,Math.floor(i/Ur),Math.floor(d/Ur),a?.round)*Ur+v,Tt(Tn(f,e.timeZone),e.calendar)}case"minute":case"second":case"millisecond":return uc(e,t,n,a);case"era":case"year":case"month":case"day":{let r=ic(xn(e),t,n,a),l=qn(r,e.timeZone);return Tt(Tn(l,e.timeZone),e.calendar)}default:throw new Error("Unsupported field "+t)}}function iw(e,t,n){let a=xn(e),r=bl(sc(a,t),t);if(r.compare(a)===0)return e;let l=qn(r,e.timeZone,n);return Tt(Tn(l,e.timeZone),e.calendar)}const uw=/^(\d{2})(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?$/,cw=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/,jh=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;function dw(e){let t=e.match(uw);if(!t)throw new Error("Invalid ISO 8601 time string: "+e);return new mn(bt(t[1],0,23),t[2]?bt(t[2],0,59):0,t[3]?bt(t[3],0,59):0,t[4]?bt(t[4],0,1/0)*1e3:0)}function Uh(e){let t=e.match(cw);if(!t)throw jh.test(e)?new Error(`Invalid ISO 8601 date string: ${e}. Use parseAbsolute() instead.`):new Error("Invalid ISO 8601 date string: "+e);let n=new tt(bt(t[1],0,9999),bt(t[2],1,12),1);return n.day=bt(t[3],1,n.calendar.getDaysInMonth(n)),n}function $f(e,t){let n=e.match(jh);if(!n)throw new Error("Invalid ISO 8601 date time string: "+e);let a=bt(n[1],-9999,9999),r=a<1?"BC":"AD",l=new zn(r,a<1?-a+1:a,bt(n[2],1,12),1,t,0,n[4]?bt(n[4],0,23):0,n[5]?bt(n[5],0,59):0,n[6]?bt(n[6],0,59):0,n[7]?bt(n[7],0,1/0)*1e3:0);return l.day=bt(n[3],0,l.calendar.getDaysInMonth(l)),n[8]&&(l.offset=bt(n[8],-23,23)*36e5+bt(n[9]??"0",0,59)*6e4),Ss(l,t)}function bt(e,t,n){let a=Number(e);if(an)throw new RangeError(`Value out of range: ${t} <= ${a} <= ${n}`);return a}function zh(e){return`${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${e.millisecond?String(e.millisecond/1e3).slice(1):""}`}function Hh(e){let t=Tt(e,new rn),n;return t.era==="BC"?n=t.year===1?"0000":"-"+String(Math.abs(1-t.year)).padStart(6,"00"):n=String(t.year).padStart(4,"0"),`${n}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`}function Kh(e){return`${Hh(e)}T${zh(e)}`}function fw(e){let t=Math.sign(e)<0?"-":"+";e=Math.abs(e);let n=Math.floor(e/36e5),a=Math.floor(e%36e5/6e4),r=Math.floor(e%36e5%6e4/1e3),l=`${t}${String(n).padStart(2,"0")}:${String(a).padStart(2,"0")}`;return r!==0&&(l+=`:${String(r).padStart(2,"0")}`),l}function pw(e){return`${Kh(e)}${fw(e.offset)}[${e.timeZone}]`}function cc(e){let t=typeof e[0]=="object"?e.shift():new rn,n;if(typeof e[0]=="string")n=e.shift();else{let o=t.getEras();n=o[o.length-1]}let a=e.shift(),r=e.shift(),l=e.shift();return[t,n,a,r,l]}class tt{#e;constructor(...t){let[n,a,r,l,o]=cc(t);this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,Na(this)}copy(){return this.era?new tt(this.calendar,this.era,this.year,this.month,this.day):new tt(this.calendar,this.year,this.month,this.day)}add(t){return As(this,t)}subtract(t){return Bh(this,t)}set(t){return sc(this,t)}cycle(t,n,a){return ic(this,t,n,a)}toDate(t){return Rh(this,t)}toString(){return Hh(this)}compare(t){return Oh(this,t)}}class mn{#e;constructor(t=0,n=0,a=0,r=0){this.hour=t,this.minute=n,this.second=a,this.millisecond=r,Fh(this)}copy(){return new mn(this.hour,this.minute,this.second,this.millisecond)}add(t){return Vh(this,t)}subtract(t){return lw(this,t)}set(t){return bl(this,t)}cycle(t,n,a){return uc(this,t,n,a)}toString(){return zh(this)}compare(t){return Ph(this,t)}}class ha{#e;constructor(...t){let[n,a,r,l,o]=cc(t);this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Na(this)}copy(){return this.era?new ha(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new ha(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(t){return As(this,t)}subtract(t){return Bh(this,t)}set(t){return sc(bl(this,t),t)}cycle(t,n,a){switch(t){case"era":case"year":case"month":case"day":return ic(this,t,n,a);default:return uc(this,t,n,a)}}toDate(t,n){return Rh(this,t,n)}toString(){return Kh(this)}compare(t){let n=Oh(this,t);return n===0?Ph(this,xn(t)):n}}class zn{#e;constructor(...t){let[n,a,r,l,o]=cc(t),s=t.shift(),i=t.shift();this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,this.timeZone=s,this.offset=i,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Na(this)}copy(){return this.era?new zn(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new zn(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(t){return Lh(this,t)}subtract(t){return ow(this,t)}set(t,n){return iw(this,t,n)}cycle(t,n,a){return sw(this,t,n,a)}toDate(){return nw(this)}toString(){return pw(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(t){return this.toDate().getTime()-lc(t,this.timeZone).toDate().getTime()}}const gr=[[1868,9,8],[1912,7,30],[1926,12,25],[1989,1,8],[2019,5,1]],vw=[[1912,7,29],[1926,12,24],[1989,1,7],[2019,4,30]],go=[1867,1911,1925,1988,2018],oa=["meiji","taisho","showa","heisei","reiwa"];function Cf(e){const t=gr.findIndex(([n,a,r])=>e.year=0){let[,r,l]=gr[n];t.month=Math.max(r,t.month),t.month===r&&(t.day=Math.max(l,t.day))}}getEras(){return oa}getYearsInEra(t){let n=oa.indexOf(t.era),a=gr[n],r=gr[n+1];if(r==null)return 9999-a[0]+1;let l=r[0]-a[0];return(t.month0?["minguo",t]:["before_minguo",1-t]}class yw extends rn{fromJulianDay(t){let n=super.fromJulianDay(t),a=Rl(n.era,n.year),[r,l]=Ef(a);return new tt(this,r,l,n.month,n.day)}toJulianDay(t){return super.toJulianDay(Df(t))}getEras(){return["before_minguo","minguo"]}balanceDate(t){let[n,a]=Ef(Gh(t));t.era=n,t.year=a}isInverseEra(t){return t.era==="before_minguo"}getDaysInMonth(t){return super.getDaysInMonth(Df(t))}getYearsInEra(t){return t.era==="before_minguo"?9999:9999-Bo}constructor(...t){super(...t),this.identifier="roc"}}function Df(e){let[t,n]=$s(Gh(e));return new tt(t,n,e.month,e.day)}const Of=1948320,Pf=[0,31,62,93,124,155,186,216,246,276,306,336];class gw{fromJulianDay(t){let n=t-Of,a=1+Math.floor((33*n+3)/12053),r=365*(a-1)+Math.floor((8*a+21)/33),l=n-r,o=l<216?Math.floor(l/31):Math.floor((l-6)/30),s=l-Pf[o]+1;return new tt(this,a,o+1,s)}toJulianDay(t){let n=Of-1+365*(t.year-1)+Math.floor((8*t.year+21)/33);return n+=Pf[t.month-1],n+=t.day,n}getMonthsInYear(){return 12}getDaysInMonth(t){return t.month<=6?31:t.month<=11||mr(25*t.year+11,33)<8?30:29}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getEras(){return["AP"]}getYearsInEra(){return 9377}constructor(){this.identifier="persian"}}const mi=78,Mf=80;class bw extends rn{fromJulianDay(t){let n=super.fromJulianDay(t),a=n.year-mi,r=t-Ta(n.era,n.year,1,1),l;r=8&&(o+=(t.month-7)*30),o+=t.day-1,o)}getDaysInMonth(t){return t.month===1&&sa(t.year+mi)||t.month>=2&&t.month<=6?31:30}getYearsInEra(){return 9919}getEras(){return["saka"]}balanceDate(){}constructor(...t){super(...t),this.identifier="indian"}}const Fo=1948440,qf=1948439,Ht=1300,er=1600,_w=460322;function No(e,t,n,a){return a+Math.ceil(29.5*(n-1))+(t-1)*354+Math.floor((3+11*t)/30)+e-1}function Yh(e,t,n){let a=Math.floor((30*(n-t)+10646)/10631),r=Math.min(12,Math.ceil((n-(29+No(t,a,1,1)))/29.5)+1),l=n-No(t,a,r,1)+1;return new tt(e,a,r,l)}function Tf(e){return(14+11*e)%30<11}class dc{fromJulianDay(t){return Yh(this,Fo,t)}toJulianDay(t){return No(Fo,t.year,t.month,t.day)}getDaysInMonth(t){let n=29+t.month%2;return t.month===12&&Tf(t.year)&&n++,n}getMonthsInYear(){return 12}getDaysInYear(t){return Tf(t.year)?355:354}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 30}getYearsInEra(){return 9665}getEras(){return["AH"]}constructor(){this.identifier="islamic-civil"}}class xw extends dc{fromJulianDay(t){return Yh(this,qf,t)}toJulianDay(t){return No(qf,t.year,t.month,t.day)}constructor(...t){super(...t),this.identifier="islamic-tbla"}}const ww="qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=";let fu,br;function bo(e){return _w+br[e-Ht]}function Zr(e,t){let n=e-Ht,a=1<<11-(t-1);return(fu[n]&a)===0?29:30}function Rf(e,t){let n=bo(e);for(let a=1;at.charCodeAt(0)).buffer)),!br){br=new Uint32Array(er-Ht+1);let t=0;for(let n=Ht;n<=er;n++){br[n-Ht]=t;for(let a=1;a<=12;a++)t+=Zr(n,a)}}}fromJulianDay(t){let n=t-Fo,a=bo(Ht),r=bo(er);if(nr)return super.fromJulianDay(t);{let l=Ht-1,o=1,s=1;for(;s>0;){l++,s=n-bo(l)+1;let i=If(l);if(s===i){o=12;break}else if(sc;)s-=c,o++,c=Zr(l,o);break}}return new tt(this,l,o,n-Rf(l,o)+1)}}toJulianDay(t){return t.yearer?super.toJulianDay(t):Fo+Rf(t.year,t.month)+(t.day-1)}getDaysInMonth(t){return t.yearer?super.getDaysInMonth(t):Zr(t.year,t.month)}getDaysInYear(t){return t.yearer?super.getDaysInYear(t):If(t.year)}}const Bf=347997,Jh=1080,Zh=24*Jh,$w=29,Cw=12*Jh+793,Sw=$w*Zh+Cw;function qa(e){return mr(e*7+1,19)<7}function _o(e){let t=Math.floor((235*e-234)/19),n=12084+13753*t,a=t*29+Math.floor(n/25920);return mr(3*(a+1),7)<3&&(a+=1),a}function Aw(e){let t=_o(e-1),n=_o(e);return _o(e+1)-n===356?2:n-t===382?1:0}function sl(e){return _o(e)+Aw(e)}function Qh(e){return sl(e+1)-sl(e)}function Ew(e){let t=Qh(e);switch(t>380&&(t-=30),t){case 353:return 0;case 354:return 1;case 355:return 2}}function no(e,t){if(t>=6&&!qa(e)&&t++,t===4||t===7||t===9||t===11||t===13)return 29;let n=Ew(e);return t===2?n===2?30:29:t===3?n===0?29:30:t===6?qa(e)?30:0:30}class Dw{fromJulianDay(t){let n=t-Bf,a=n*Zh/Sw,r=Math.floor((19*a+234)/235)+1,l=sl(r),o=Math.floor(n-l);for(;o<1;)r--,l=sl(r),o=Math.floor(n-l);let s=1,i=0;for(;i6?t.month--:!qa(n.year)&&qa(t.year)&&n.month>6&&t.month++)}constructor(){this.identifier="hebrew"}}const pu=1723856,Ff=1824665,vu=5500;function il(e,t,n,a){return e+365*t+Math.floor(t/4)+30*(n-1)+a-1}function fc(e,t){let n=Math.floor(4*(t-e)/1461);t>=il(e,n+1,1,1)&&n++;let a=1+Math.floor((t-il(e,n,1,1))/30),r=t+1-il(e,n,a,1);return[n,a,r]}function Xh(e){return Math.floor(e%4/3)}function em(e,t){return t%13!==0?30:Xh(e)+5}class pc{fromJulianDay(t){let[n,a,r]=fc(pu,t),l="AM";return n<=0&&(l="AA",n+=vu),new tt(this,l,n,a,r)}toJulianDay(t){let n=t.year;return t.era==="AA"&&(n-=vu),il(pu,n,t.month,t.day)}getDaysInMonth(t){return em(t.year,t.month)}getMonthsInYear(){return 13}getDaysInYear(t){return 365+Xh(t.year)}getMaximumMonthsInYear(){return 13}getMaximumDaysInMonth(){return 30}getYearsInEra(t){return t.era==="AA"?9999:9991}getEras(){return["AA","AM"]}constructor(){this.identifier="ethiopic"}}class Ow extends pc{fromJulianDay(t){let[n,a,r]=fc(pu,t);return n+=vu,new tt(this,"AA",n,a,r)}getEras(){return["AA"]}getYearsInEra(){return 9999}constructor(...t){super(...t),this.identifier="ethioaa"}}class Pw extends pc{fromJulianDay(t){let[n,a,r]=fc(Ff,t),l="CE";return n<=0&&(l="BCE",n=1-n),new tt(this,l,n,a,r)}toJulianDay(t){let n=t.year;return t.era==="BCE"&&(n=1-n),il(Ff,n,t.month,t.day)}getDaysInMonth(t){let n=t.year;return t.era==="BCE"&&(n=1-n),em(n,t.month)}isInverseEra(t){return t.era==="BCE"}balanceDate(t){t.year<=0&&(t.era=t.era==="BCE"?"CE":"BCE",t.year=1-t.year)}getEras(){return["BCE","CE"]}getYearsInEra(t){return t.era==="BCE"?9999:9715}constructor(...t){super(...t),this.identifier="coptic"}}function Mw(e){switch(e){case"buddhist":return new mw;case"ethiopic":return new pc;case"ethioaa":return new Ow;case"coptic":return new Pw;case"hebrew":return new Dw;case"indian":return new bw;case"islamic-civil":return new dc;case"islamic-tbla":return new xw;case"islamic-umalqura":return new kw;case"japanese":return new hw;case"persian":return new gw;case"roc":return new yw;default:return new rn}}let yi=new Map;class Zt{constructor(t,n={}){this.formatter=tm(t,n),this.options=n}format(t){return this.formatter.format(t)}formatToParts(t){return this.formatter.formatToParts(t)}formatRange(t,n){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(t,n);if(n= start date");return`${this.formatter.format(t)} – ${this.formatter.format(n)}`}formatRangeToParts(t,n){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(t,n);if(n= start date");let a=this.formatter.formatToParts(t),r=this.formatter.formatToParts(n);return[...a.map(l=>({...l,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...r.map(l=>({...l,source:"endRange"}))]}resolvedOptions(){let t=this.formatter.resolvedOptions();return Rw()&&(this.resolvedHourCycle||(this.resolvedHourCycle=Iw(t.locale,this.options)),t.hourCycle=this.resolvedHourCycle,t.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),t.calendar==="ethiopic-amete-alem"&&(t.calendar="ethioaa"),t}}const qw={true:{ja:"h11"},false:{}};function tm(e,t={}){if(typeof t.hour12=="boolean"&&Tw()){t={...t};let r=qw[String(t.hour12)][e.split("-")[0]],l=t.hour12?"h12":"h23";t.hourCycle=r??l,delete t.hour12}let n=e+(t?Object.entries(t).sort((r,l)=>r[0]l.type==="hour").value,10),r=parseInt(n.formatToParts(new Date(2020,2,3,23)).find(l=>l.type==="hour").value,10);if(a===0&&r===23)return"h23";if(a===24&&r===23)return"h24";if(a===0&&r===11)return"h11";if(a===12&&r===11)return"h12";throw new Error("Unexpected hour cycle result")}function Kt(e,t=on()){return _l(e)?e.toDate():e.toDate(t)}function Bw(e){return e instanceof ha}function _l(e){return e instanceof zn}function hu(e){return Bw(e)||_l(e)}function da(e){if(e instanceof Date){const t=e.getFullYear(),n=e.getMonth()+1;return new Date(t,n,0).getDate()}else return e.set({day:100}).day}function ia(e,t){return e.compare(t)<0}function _i(e,t){return e.compare(t)>0}function Fw(e,t,n){const a=Cs(e,n,"sun");return t>a?e.subtract({days:a+7-t}):t===a?e:e.subtract({days:a-t})}function Nw(e,t,n){const a=Cs(e,n,"sun"),r=t===0?6:t-1;return a===r?e:a>r?e.add({days:7-a+r}):e.add({days:r-a})}function vc(e){const{defaultValue:t,defaultPlaceholder:n,granularity:a="day",locale:r="en"}=e;if(Array.isArray(t)&&t.length)return t.at(-1).copy();if(t&&!Array.isArray(t))return t.copy();if(n)return n.copy();const l=new Date,o=l.getFullYear(),s=l.getMonth()+1,i=l.getDate(),c=["hour","minute","second"],d=new Zt(r),f=Mw(d.resolvedOptions().calendar);return c.includes(a??"day")?Tt(new ha(o,s,i,0,0,0),f):Tt(new tt(o,s,i),f)}function Vw(e){const{defaultValue:t,defaultPlaceholder:n}=e;return t?t.copy():n?n.copy():new mn(0,0,0)}function Lw(e,t){const n=[];for(let a=0;at.set({day:y+1})),s=iu(t),i=_f(t),c=Fw(s,n,r),d=Nw(i,n,r),f=Nf(c.subtract({days:1}),s),p=Nf(i,d.add({days:1})),v=f.length+o.length+p.length;if(a&&v<42){const b=42-v;let y=p.at(-1);y||(y=_f(t));const _=Array.from({length:b},(C,A)=>{const N=A+1;return y.add({days:N})});p.push(..._)}const m=f.concat(o,p),g=Lw(m,7);return{value:t,cells:m,rows:g}}function Ea(e){const{numberOfMonths:t,dateObj:n,...a}=e,r=[];if(!t||t===1)return r.push(wi({...a,dateObj:n})),r;r.push(wi({...a,dateObj:n}));for(let l=1;l({label:i(Kt(b.set({month:_}))),value:_}))}function d(b,y={}){return new Zt(n.value,{...t,year:"numeric",...y}).format(b)}function f(b,y){return _l(b)?new Zt(n.value,{...t,...y,timeZone:b.timeZone}).formatToParts(Kt(b)):new Zt(n.value,{...t,...y}).formatToParts(Kt(b))}function p(b,y="narrow"){return new Zt(n.value,{...t,weekday:y}).format(b)}function v(b){const _=new Zt(n.value,{...t,hour:"numeric",minute:"numeric"}).formatToParts(b).find(C=>C.type==="dayPeriod")?.value;return _==="PM"||_==="pm"||_==="p.m."?"PM":"AM"}const m={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"};function g(b,y,_={}){const C={...m,..._},N=f(b,C).find(G=>G.type===y);return N?N.value:""}return{setLocale:r,getLocale:a,fullMonth:i,fullYear:d,fullMonthAndYear:s,toParts:f,custom:l,part:g,dayPeriod:v,selectedDate:o,dayOfWeek:p,getMonths:c}}function xa(e){const t=ks({dir:R("ltr")});return x(()=>e?.value||t.dir?.value||"ltr")}function Pr(e){const t=$n(),n=t?.type.emits,a={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(r=>{a[Xr(yt(r))]=(...l)=>e(r,...l)}),a}let ki=0;function om(){tn(e=>{if(!Wn)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??Vf()),document.body.insertAdjacentElement("beforeend",t[1]??Vf()),ki++,e(()=>{ki===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),ki--})})}function Vf(){const e=document.createElement("span");return e.setAttribute("data-reka-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function mc(e){return x(()=>Ot(e)?!!Ha(e)?.closest("form"):!0)}function je(){const e=$n(),t=R(),n=x(()=>a());Bu(()=>{n.value!==a()&&Zy(t)});function a(){return t.value&&"$el"in t.value&&["#text","#comment"].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:Ha(t)}const r=Object.assign({},e.exposed),l={};for(const s in e.props)Object.defineProperty(l,s,{enumerable:!0,configurable:!0,get:()=>e.props[s]});if(Object.keys(r).length>0)for(const s in r)Object.defineProperty(l,s,{enumerable:!0,configurable:!0,get:()=>r[s]});Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=l;function o(s){if(t.value=s,!!s&&(Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>s instanceof Element?s:s.$el}),!(s instanceof Element)&&!Object.hasOwn(s,"$el"))){const i=s.$.exposed,c=Object.assign({},l);for(const d in i)Object.defineProperty(c,d,{enumerable:!0,configurable:!0,get:()=>i[d]});e.exposed=c}}return{forwardRef:o,currentRef:t,currentElement:n}}function sm(e){const t=$n(),n=Object.keys(t?.type.props??{}).reduce((r,l)=>{const o=(t?.type.props[l]).default;return o!==void 0&&(r[l]=o),r},{}),a=ag(e);return x(()=>{const r={},l=t?.vnode.props??{};return Object.keys(l).forEach(o=>{r[yt(o)]=l[o]}),Object.keys({...n,...r}).reduce((o,s)=>(a.value[s]!==void 0&&(o[s]=a.value[s]),o),{})})}function Gn(e,t){const n=sm(e),a=t?Pr(t):{};return x(()=>({...n.value,...a}))}var zw=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},tr=new WeakMap,ao=new WeakMap,ro={},$i=0,im=function(e){return e&&(e.host||im(e.parentNode))},Hw=function(e,t){return t.map(function(n){if(e.contains(n))return n;var a=im(n);return a&&e.contains(a)?a:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Kw=function(e,t,n,a){var r=Hw(t,Array.isArray(e)?e:[e]);ro[n]||(ro[n]=new WeakMap);var l=ro[n],o=[],s=new Set,i=new Set(r),c=function(f){!f||s.has(f)||(s.add(f),c(f.parentNode))};r.forEach(c);var d=function(f){!f||i.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))d(p);else try{var v=p.getAttribute(a),m=v!==null&&v!=="false",g=(tr.get(p)||0)+1,b=(l.get(p)||0)+1;tr.set(p,g),l.set(p,b),o.push(p),g===1&&m&&ao.set(p,!0),b===1&&p.setAttribute(n,"true"),m||p.setAttribute(a,"true")}catch(y){console.error("aria-hidden: cannot operate on ",p,y)}})};return d(t),s.clear(),$i++,function(){o.forEach(function(f){var p=tr.get(f)-1,v=l.get(f)-1;tr.set(f,p),l.set(f,v),p||(ao.has(f)||f.removeAttribute(a),ao.delete(f)),v||f.removeAttribute(n)}),$i--,$i||(tr=new WeakMap,tr=new WeakMap,ao=new WeakMap,ro={})}},Ww=function(e,t,n){n===void 0&&(n="data-aria-hidden");var a=Array.from(Array.isArray(e)?e:[e]),r=zw(e);return r?(a.push.apply(a,Array.from(r.querySelectorAll("[aria-live], script"))),Kw(a,r,n,"aria-hidden")):function(){return null}};function yc(e){let t;Ne(()=>Ha(e),n=>{let a=!1;try{a=!!n?.closest("[popover]:not(:popover-open)")}catch{}n&&!a?t=Ww(n):t&&t()}),za(()=>{t&&t()})}function Va(e,t="reka"){let n;const a=ks({useId:void 0});return a.useId?n=a.useId():n=wg?.(),t?`${t}-${n}`:n}function Mr(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}function Es(e){const t=ks({locale:R("en")});return x(()=>e?.value||t.locale?.value||"en")}function Gw(e){const t=R(),n=x(()=>t.value?.width??0),a=x(()=>t.value?.height??0);return gt(()=>{const r=Ha(e);if(r){t.value={width:r.offsetWidth,height:r.offsetHeight};const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let i,c;if("borderBoxSize"in s){const d=s.borderBoxSize,f=Array.isArray(d)?d[0]:d;i=f.inlineSize,c=f.blockSize}else i=r.offsetWidth,c=r.offsetHeight;t.value={width:i,height:c}});return l.observe(r,{box:"border-box"}),()=>l.unobserve(r)}else t.value=void 0}),{width:n,height:a}}function Yw(e,t){const n=R(e);function a(l){return t[n.value][l]??n.value}return{state:n,dispatch:l=>{n.value=a(l)}}}function Jw(e){const t=Tx("",1e3);return{search:t,handleTypeaheadSearch:(r,l)=>{t.value=t.value+r;{const o=ht(),s=l.map(p=>({...p,textValue:p.value?.textValue??p.ref.textContent?.trim()??""})),i=s.find(p=>p.ref===o),c=s.map(p=>p.textValue),d=Qw(c,t.value,i?.textValue),f=s.find(p=>p.textValue===d);return f&&f.ref.focus(),f?.ref}},resetTypeahead:()=>{t.value=""}}}function Zw(e,t){return e.map((n,a)=>e[(t+a)%e.length])}function Qw(e,t,n){const r=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,l=n?e.indexOf(n):-1;let o=Zw(e,Math.max(l,0));r.length===1&&(o=o.filter(c=>c!==n));const i=o.find(c=>c.toLowerCase().startsWith(r.toLowerCase()));return i!==n?i:void 0}function Xw(e,t){const n=R({}),a=R("none"),r=R(e),l=e.value?"mounted":"unmounted";let o;const s=t.value?.ownerDocument.defaultView??ec,{state:i,dispatch:c}=Yw(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=b=>{if(Wn){const y=new CustomEvent(b,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(y)}};Ne(e,async(b,y)=>{const _=y!==b;if(await Ke(),_){const C=a.value,A=lo(t.value);b?(c("MOUNT"),d("enter"),A==="none"&&d("after-enter")):A==="none"||A==="undefined"||n.value?.display==="none"?(c("UNMOUNT"),d("leave"),d("after-leave")):y&&C!==A?(c("ANIMATION_OUT"),d("leave")):(c("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=b=>{const y=lo(t.value),_=y.includes(CSS.escape(b.animationName)),C=i.value==="mounted"?"enter":"leave";if(b.target===t.value&&_&&(d(`after-${C}`),c("ANIMATION_END"),!r.value)){const A=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",o=s?.setTimeout(()=>{t.value?.style.animationFillMode==="forwards"&&(t.value.style.animationFillMode=A)})}b.target===t.value&&y==="none"&&c("ANIMATION_END")},p=b=>{b.target===t.value&&(a.value=lo(t.value))},v=Ne(t,(b,y)=>{b?(n.value=getComputedStyle(b),b.addEventListener("animationstart",p),b.addEventListener("animationcancel",f),b.addEventListener("animationend",f)):(c("ANIMATION_END"),o!==void 0&&s?.clearTimeout(o),y?.removeEventListener("animationstart",p),y?.removeEventListener("animationcancel",f),y?.removeEventListener("animationend",f))},{immediate:!0}),m=Ne(i,()=>{const b=lo(t.value);a.value=i.value==="mounted"?b:"none"});return za(()=>{v(),m()}),{isPresent:x(()=>["mounted","unmountSuspended"].includes(i.value))}}function lo(e){return e&&getComputedStyle(e).animationName||"none"}var Bl=Q({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){const{present:a,forceMount:r}=Pt(e),l=R(),{isPresent:o}=Xw(a,l);n({present:o});let s=t.default({present:o.value});s=tc(s||[]);const i=$n();if(s&&s?.length>1){const c=i?.parent?.type.name?`<${i.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>r.value||a.value||o.value?Gt(t.default({present:o.value})[0],{ref:c=>{const d=Ha(c);return typeof d?.hasAttribute>"u"||(d?.hasAttribute("data-reka-popper-content-wrapper")?l.value=d.firstElementChild:l.value=d),d}}):null}});const mu=Q({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;const a=tc(n.default()),r=a.findIndex(i=>i.type!==nn);if(r===-1)return a;const l=a[r];delete l.props?.ref;const o=l.props?Te(t,l.props):t,s=fa({...l,props:{}},o);return a.length===1?s:(a[r]=s,a)}}}),ek=["area","img","input"],Ue=Q({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const a=e.asChild?"template":e.as;return typeof a=="string"&&ek.includes(a)?()=>Gt(a,t):a!=="template"?()=>Gt(e.as,t,{default:n.default}):()=>Gt(mu,t,{default:n.default})}});function La(){const e=R(),t=x(()=>["#text","#comment"].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:Ha(e));return{primitiveElement:e,currentElement:t}}const[Yn,tk]=dt("DialogRoot");var nk=Q({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,r=vt(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),l=R(),o=R(),{modal:s}=Pt(n);return tk({open:r,modal:s,openModal:()=>{r.value=!0},onOpenChange:i=>{r.value=i},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:l,contentElement:o}),(i,c)=>he(i.$slots,"default",{open:u(r),close:()=>r.value=!1})}}),Fl=nk,ak=Q({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;je();const n=Yn();return(a,r)=>(h(),F(u(Ue),Te(t,{type:a.as==="button"?"button":void 0,onClick:r[0]||(r[0]=l=>u(n).onOpenChange(!1))}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["type"]))}}),Dr=ak;const rk="dismissableLayer.pointerDownOutside",lk="dismissableLayer.focusOutside";function um(e,t){if(!(t instanceof Element))return!1;const n=t.closest("[data-dismissable-layer]"),a=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),r=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(a===n||r.indexOf(a){});return tn(o=>{if(!Wn||!Ot(n))return;const s=async c=>{const d=c.target;if(!(!t?.value||!d)){if(um(t.value,d)){r.value=!1;return}if(c.target&&!r.value){let v=function(){Xu(rk,e,p)};var f=v;const p={originalEvent:c};c.pointerType==="touch"?(a.removeEventListener("click",l.value),l.value=v,a.addEventListener("click",l.value,{once:!0})):v()}else a.removeEventListener("click",l.value);r.value=!1}},i=window.setTimeout(()=>{a.addEventListener("pointerdown",s)},0);o(()=>{window.clearTimeout(i),a.removeEventListener("pointerdown",s),a.removeEventListener("click",l.value)})}),{onPointerDownCapture:()=>{Ot(n)&&(r.value=!0)}}}function sk(e,t,n=!0){const a=t?.value?.ownerDocument??globalThis?.document,r=R(!1);return tn(l=>{if(!Wn||!Ot(n))return;const o=async s=>{if(!t?.value)return;await Ke(),await Ke();const i=s.target;!t.value||!i||um(t.value,i)||s.target&&!r.value&&Xu(lk,e,{originalEvent:s})};a.addEventListener("focusin",o),l(()=>a.removeEventListener("focusin",o))}),{onFocusCapture:()=>{Ot(n)&&(r.value=!0)},onBlurCapture:()=>{Ot(n)&&(r.value=!1)}}}const Bt=Xt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var ik=Q({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=je(),o=x(()=>l.value?.ownerDocument??globalThis.document),s=x(()=>Bt.layersRoot),i=x(()=>l.value?Array.from(s.value).indexOf(l.value):-1),c=x(()=>Bt.layersWithOutsidePointerEventsDisabled.size>0),d=x(()=>{const v=Array.from(s.value),[m]=[...Bt.layersWithOutsidePointerEventsDisabled].slice(-1),g=v.indexOf(m);return i.value>=g}),f=ok(async v=>{const m=[...Bt.branches].some(g=>g?.contains(v.target));!d.value||m||(a("pointerDownOutside",v),a("interactOutside",v),await Ke(),v.defaultPrevented||a("dismiss"))},l),p=sk(v=>{[...Bt.branches].some(g=>g?.contains(v.target))||(a("focusOutside",v),a("interactOutside",v),v.defaultPrevented||a("dismiss"))},l);return Nx("Escape",v=>{i.value===s.value.size-1&&(a("escapeKeyDown",v),v.defaultPrevented||a("dismiss"))}),Ne([l,()=>n.disableOutsidePointerEvents],([v,m],g,b)=>{v&&(m&&(Bt.layersWithOutsidePointerEventsDisabled.size===0&&(Bt.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents="none"),Bt.layersWithOutsidePointerEventsDisabled.add(v),b(()=>{Bt.layersWithOutsidePointerEventsDisabled.delete(v),Bt.layersWithOutsidePointerEventsDisabled.size===0&&!Vt(Bt.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Bt.originalBodyPointerEvents)})),s.value.add(v))},{immediate:!0}),tn(v=>{v(()=>{l.value&&(s.value.delete(l.value),Bt.layersWithOutsidePointerEventsDisabled.delete(l.value))})}),(v,m)=>(h(),F(u(Ue),{ref:u(r),"as-child":v.asChild,as:v.as,"data-dismissable-layer":"",style:Bn({pointerEvents:c.value?d.value?"auto":"none":void 0}),onFocusCapture:u(p).onFocusCapture,onBlurCapture:u(p).onBlurCapture,onPointerdownCapture:u(f).onPointerDownCapture},{default:T(()=>[he(v.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),gc=ik;const uk=Cx(()=>R([]));function ck(){const e=uk();return{add(t){const n=e.value[0];t!==n&&n?.pause(),e.value=Lf(e.value,t),e.value.unshift(t)},remove(t){e.value=Lf(e.value,t),e.value[0]?.resume()}}}function Lf(e,t){const n=[...e],a=n.indexOf(t);return a!==-1&&n.splice(a,1),n}const Ci="focusScope.autoFocusOnMount",Si="focusScope.autoFocusOnUnmount",jf={bubbles:!1,cancelable:!0};function dk(e,{select:t=!1}={}){const n=ht();for(const a of e)if(aa(a,{select:t}),ht()!==n)return!0}function fk(e){const t=cm(e),n=Uf(t,e),a=Uf(t.reverse(),e);return[n,a]}function cm(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const r=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||r?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Uf(e,t){for(const n of e)if(!pk(n,{upTo:t}))return n}function pk(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function vk(e){return e instanceof HTMLInputElement&&"select"in e}function aa(e,{select:t=!1}={}){if(e&&e.focus){const n=ht();e.focus({preventScroll:!0}),e!==n&&vk(e)&&t&&e.select()}}var hk=Q({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,a=t,{currentRef:r,currentElement:l}=je(),o=R(null),s=ck(),i=Xt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});tn(d=>{if(!Wn)return;const f=l.value;if(!n.trapped)return;function p(b){if(i.paused||!f)return;const y=b.target;f.contains(y)?o.value=y:aa(o.value,{select:!0})}function v(b){if(i.paused||!f)return;const y=b.relatedTarget;y!==null&&(f.contains(y)||aa(o.value,{select:!0}))}function m(b){const y=o.value;if(y===null||!b.some(A=>A.removedNodes.length>0))return;f.contains(y)||aa(f)}document.addEventListener("focusin",p),document.addEventListener("focusout",v);const g=new MutationObserver(m);f&&g.observe(f,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",v),g.disconnect()})}),tn(async d=>{const f=l.value;if(await Ke(),!f)return;s.add(i);const p=ht();if(!f.contains(p)){const m=new CustomEvent(Ci,jf);f.addEventListener(Ci,g=>a("mountAutoFocus",g)),f.dispatchEvent(m),m.defaultPrevented||(dk(cm(f),{select:!0}),ht()===p&&aa(f))}d(()=>{f.removeEventListener(Ci,b=>a("mountAutoFocus",b));const m=new CustomEvent(Si,jf),g=b=>{a("unmountAutoFocus",b)};f.addEventListener(Si,g),f.dispatchEvent(m),f.setAttribute("data-focus-scope-unmounting",""),setTimeout(()=>{m.defaultPrevented||aa(p??document.body,{select:!0}),f.removeEventListener(Si,g),s.remove(i),f.removeAttribute("data-focus-scope-unmounting")},0)})});function c(d){if(!n.loop&&!n.trapped||i.paused)return;const f=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,p=ht();if(f&&p){const v=d.currentTarget,[m,g]=fk(v);m&&g?!d.shiftKey&&p===g?(d.preventDefault(),n.loop&&aa(m,{select:!0})):d.shiftKey&&p===m&&(d.preventDefault(),n.loop&&aa(g,{select:!0})):p===v&&d.preventDefault()}}return(d,f)=>(h(),F(u(Ue),{ref_key:"currentRef",ref:r,tabindex:"-1","as-child":d.asChild,as:d.as,onKeydown:c},{default:T(()=>[he(d.$slots,"default")]),_:3},8,["as-child","as"]))}}),bc=hk;const mk="menu.itemSelect",yu=["Enter"," "],yk=["ArrowDown","PageUp","Home"],dm=["ArrowUp","PageDown","End"],gk=[...yk,...dm];[...yu],[...yu];function fm(e){return e?"open":"closed"}function bk(e){const t=ht();for(const n of e)if(n===t||(n.focus(),ht()!==t))return}function _k(e,t){const{x:n,y:a}=e;let r=!1;for(let l=0,o=t.length-1;la!=d>a&&n<(c-s)*(a-i)/(d-i)+s&&(r=!r)}return r}function xk(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return _k(n,t)}function Vo(e){return e.pointerType==="mouse"}var wk=Q({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),{forwardRef:l,currentElement:o}=je();return r.titleId||=Va(void 0,"reka-dialog-title"),r.descriptionId||=Va(void 0,"reka-dialog-description"),gt(()=>{r.contentElement=o,ht()!==document.body&&(r.triggerElement.value=ht())}),(s,i)=>(h(),F(u(bc),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:i[5]||(i[5]=c=>a("openAutoFocus",c)),onUnmountAutoFocus:i[6]||(i[6]=c=>a("closeAutoFocus",c))},{default:T(()=>[j(u(gc),Te({id:u(r).contentId,ref:u(l),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":u(r).descriptionId,"aria-labelledby":u(r).titleId,"data-state":u(fm)(u(r).open.value)},s.$attrs,{onDismiss:i[0]||(i[0]=c=>u(r).onOpenChange(!1)),onEscapeKeyDown:i[1]||(i[1]=c=>a("escapeKeyDown",c)),onFocusOutside:i[2]||(i[2]=c=>a("focusOutside",c)),onInteractOutside:i[3]||(i[3]=c=>a("interactOutside",c)),onPointerDownOutside:i[4]||(i[4]=c=>a("pointerDownOutside",c))}),{default:T(()=>[he(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),pm=wk,kk=Q({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),l=Pr(a),{forwardRef:o,currentElement:s}=je();return yc(s),(i,c)=>(h(),F(pm,Te({...n,...u(l)},{ref:u(o),"trap-focus":u(r).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:c[0]||(c[0]=d=>{d.defaultPrevented||(d.preventDefault(),u(r).triggerElement.value?.focus())}),onPointerDownOutside:c[1]||(c[1]=d=>{const f=d.detail.originalEvent,p=f.button===0&&f.ctrlKey===!0;(f.button===2||p)&&d.preventDefault()}),onFocusOutside:c[2]||(c[2]=d=>{d.preventDefault()})}),{default:T(()=>[he(i.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),$k=kk,Ck=Q({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=Pr(t);je();const l=Yn(),o=R(!1),s=R(!1);return(i,c)=>(h(),F(pm,Te({...n,...u(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{d.defaultPrevented||(o.value||u(l).triggerElement.value?.focus(),d.preventDefault()),o.value=!1,s.value=!1}),onInteractOutside:c[1]||(c[1]=d=>{d.defaultPrevented||(o.value=!0,d.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const f=d.target;u(l).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&s.value&&d.preventDefault()})}),{default:T(()=>[he(i.$slots,"default")]),_:3},16))}}),Sk=Ck,Ak=Q({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),l=Pr(a),{forwardRef:o}=je();return(s,i)=>(h(),F(u(Bl),{present:s.forceMount||u(r).open.value},{default:T(()=>[u(r).modal.value?(h(),F($k,Te({key:0,ref:u(o)},{...n,...u(l),...s.$attrs}),{default:T(()=>[he(s.$slots,"default")]),_:3},16)):(h(),F(Sk,Te({key:1,ref:u(o)},{...n,...u(l),...s.$attrs}),{default:T(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Nl=Ak,Ek=Q({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;je();const n=Yn();return(a,r)=>(h(),F(u(Ue),Te(t,{id:u(n).descriptionId}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["id"]))}}),wl=Ek,Dk=Q({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Yn();return nc(!0),je(),(n,a)=>(h(),F(u(Ue),{as:n.as,"as-child":n.asChild,"data-state":u(t).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:a[0]||(a[0]=ut(()=>{},["left","self","prevent"]))},{default:T(()=>[he(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),Ok=Dk,Pk=Q({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Yn(),{forwardRef:n}=je();return(a,r)=>u(t)?.modal.value?(h(),F(u(Bl),{key:0,present:a.forceMount||u(t).open.value},{default:T(()=>[j(Ok,Te(a.$attrs,{ref:u(n),as:a.as,"as-child":a.asChild}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):ne("v-if",!0)}}),Vl=Pk,Mk=Q({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=Bx();return(n,a)=>u(t)||n.forceMount?(h(),F(gg,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[he(n.$slots,"default")],8,["to","disabled","defer"])):ne("v-if",!0)}}),Ds=Mk,qk=Q({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ds),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),Os=qk,Tk=Q({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e,n=Yn();return je(),(a,r)=>(h(),F(u(Ue),Te(t,{id:u(n).titleId}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["id"]))}}),Ll=Tk;const[Rk,Ik]=dt("AlertDialogContent");var Bk=Q({__name:"AlertDialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=Pr(t);je();const l=R();return Ik({onCancelElementChange:o=>{l.value=o}}),(o,s)=>(h(),F(u(Nl),Te({...n,...u(r)},{role:"alertdialog",onPointerDownOutside:s[0]||(s[0]=ut(()=>{},["prevent"])),onInteractOutside:s[1]||(s[1]=ut(()=>{},["prevent"])),onOpenAutoFocus:s[2]||(s[2]=()=>{Ke(()=>{l.value?.focus({preventScroll:!0})})})}),{default:T(()=>[he(o.$slots,"default")]),_:3},16))}}),Fk=Bk,Nk=Q({__name:"AlertDialogCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Rk(),{forwardRef:a,currentElement:r}=je();return gt(()=>{n.onCancelElementChange(r.value)}),(l,o)=>(h(),F(u(Dr),Te(t,{ref:u(a)}),{default:T(()=>[he(l.$slots,"default")]),_:3},16))}}),Vk=Nk,Lk=Q({__name:"AlertDialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;return je(),(n,a)=>(h(),F(u(wl),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),jk=Lk,Uk=Q({__name:"AlertDialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return je(),(n,a)=>(h(),F(u(Vl),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),zk=Uk,Hk=Q({__name:"AlertDialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ds),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),Kk=Hk,Wk=Q({__name:"AlertDialogRoot",props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:["update:open"],setup(e,{emit:t}){const r=Gn(e,t);return je(),(l,o)=>(h(),F(u(Fl),Te(u(r),{modal:!0}),{default:T(s=>[he(l.$slots,"default",We(Ye(s)))]),_:3},16))}}),Gk=Wk,Yk=Q({__name:"AlertDialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e;return je(),(n,a)=>(h(),F(u(Ll),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),Jk=Yk;const zf="data-reka-collection-item";function _c(e={}){const{key:t="",isProvider:n=!1}=e,a=`${t}CollectionProvider`;let r;n?(r={collectionRef:R(),itemMap:R(new Map)},Dt(a,r)):r=st(a);const l=(d=!1)=>{const f=r.collectionRef.value;if(!f)return[];const p=Array.from(f.querySelectorAll(`[${zf}]`)),m=Array.from(r.itemMap.value.values()).sort((g,b)=>p.indexOf(g.ref)-p.indexOf(b.ref));return d?m:m.filter(g=>g.ref.dataset.disabled!=="")},o=Q({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:p}){const{primitiveElement:v,currentElement:m}=La();return Ne(m,()=>{r.collectionRef.value=m.value}),()=>Gt(mu,{ref:v,...p},f)}}),s=Q({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:p}){const{primitiveElement:v,currentElement:m}=La();return tn(g=>{if(m.value){const b=wo(m.value);r.itemMap.value.set(b,{ref:m.value,value:d.value}),g(()=>r.itemMap.value.delete(b))}}),()=>Gt(mu,{...p,[zf]:"",ref:v},f)}}),i=x(()=>Array.from(r.itemMap.value.values())),c=x(()=>r.itemMap.value.size);return{getItems:l,reactiveItems:i,itemMapSize:c,CollectionSlot:o,CollectionItem:s}}var Zk=Q({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),F(u(Ue),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:T(()=>[he(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),xc=Zk,Qk=Q({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,{primitiveElement:n,currentElement:a}=La(),r=x(()=>t.checked??t.value);return Ne(r,(l,o)=>{if(!a.value)return;const s=a.value,i=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(i,"value").set;if(d&&l!==o){const f=new Event("input",{bubbles:!0}),p=new Event("change",{bubbles:!0});d.call(s,l),s.dispatchEvent(f),s.dispatchEvent(p)}}),(l,o)=>(h(),F(xc,Te({ref_key:"primitiveElement",ref:n},{...t,...l.$attrs},{as:"input"}),null,16))}}),Hf=Qk,Xk=Q({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,n=x(()=>typeof t.value=="object"&&Array.isArray(t.value)&&t.value.length===0&&t.required),a=x(()=>typeof t.value=="string"||typeof t.value=="number"||typeof t.value=="boolean"||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value=="object"&&Array.isArray(t.value)?t.value.flatMap((r,l)=>typeof r=="object"?Object.entries(r).map(([o,s])=>({name:`${t.name}[${l}][${o}]`,value:s})):{name:`${t.name}[${l}]`,value:r}):t.value!==null&&typeof t.value=="object"&&!Array.isArray(t.value)?Object.entries(t.value).map(([r,l])=>({name:`${t.name}[${r}]`,value:l})):[]);return(r,l)=>(h(),$(ge,null,[ne(" We render single input if it's required "),n.value?(h(),F(Hf,Te({key:r.name},{...t,...r.$attrs},{name:r.name,value:r.value}),null,16,["name","value"])):(h(!0),$(ge,{key:1},Fe(a.value,o=>(h(),F(Hf,Te({key:o.name},{ref_for:!0},{...t,...r.$attrs},{name:o.name,value:o.value}),null,16,["name","value"]))),128))],2112))}}),wc=Xk;const e$="rovingFocusGroup.onEntryFocus",t$={bubbles:!1,cancelable:!0},n$={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function a$(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function r$(e,t,n){const a=a$(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(a))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(a)))return n$[a]}function vm(e,t=!1){const n=ht();for(const a of e)if(a===n||(a.focus({preventScroll:t}),ht()!==n))return}function l$(e,t){return e.map((n,a)=>e[(t+a)%e.length])}const[hm,o$]=dt("PopperRoot");var s$=Q({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=R();return o$({anchor:t,onAnchorChange:n=>t.value=n}),(n,a)=>he(n.$slots,"default")}}),mm=s$,i$=Q({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n,currentElement:a}=je(),r=hm();return tv(()=>{r.onAnchorChange(t.reference??a.value)}),(l,o)=>(h(),F(u(Ue),{ref:u(n),as:l.as,"as-child":l.asChild},{default:T(()=>[he(l.$slots,"default")]),_:3},8,["as","as-child"]))}}),ym=i$;function u$(e){return e!==null}function c$(e){return{name:"transformOrigin",options:e,fn(t){const{placement:n,rects:a,middlewareData:r}=t,o=r.arrow?.centerOffset!==0,s=o?0:e.arrowWidth,i=o?0:e.arrowHeight,[c,d]=gu(n),f={start:"0%",center:"50%",end:"100%"}[d],p=(r.arrow?.x??0)+s/2,v=(r.arrow?.y??0)+i/2;let m="",g="";return c==="bottom"?(m=o?f:`${p}px`,g=`${-i}px`):c==="top"?(m=o?f:`${p}px`,g=`${a.floating.height+i}px`):c==="right"?(m=`${-i}px`,g=o?f:`${v}px`):c==="left"&&(m=`${a.floating.width+i}px`,g=o?f:`${v}px`),{data:{x:m,y:g}}}}}function gu(e){const[t,n="center"]=e.split("-");return[t,n]}const d$=["top","right","bottom","left"],ma=Math.min,Fn=Math.max,Lo=Math.round,oo=Math.floor,Nn=e=>({x:e,y:e}),f$={left:"right",right:"left",bottom:"top",top:"bottom"};function gm(e,t,n){return Fn(e,ma(t,n))}function Hn(e,t){return typeof e=="function"?e(t):e}function ya(e){return e.split("-")[0]}function qr(e){return e.split("-")[1]}function kc(e){return e==="x"?"y":"x"}function $c(e){return e==="y"?"height":"width"}function yn(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Cc(e){return kc(yn(e))}function p$(e,t,n){n===void 0&&(n=!1);const a=qr(e),r=Cc(e),l=$c(r);let o=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(o=jo(o)),[o,jo(o)]}function v$(e){const t=jo(e);return[bu(e),t,bu(t)]}function bu(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Kf=["left","right"],Wf=["right","left"],h$=["top","bottom"],m$=["bottom","top"];function y$(e,t,n){switch(e){case"top":case"bottom":return n?t?Wf:Kf:t?Kf:Wf;case"left":case"right":return t?h$:m$;default:return[]}}function g$(e,t,n,a){const r=qr(e);let l=y$(ya(e),n==="start",a);return r&&(l=l.map(o=>o+"-"+r),t&&(l=l.concat(l.map(bu)))),l}function jo(e){const t=ya(e);return f$[t]+e.slice(t.length)}function b$(e){var t,n,a,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(a=e.bottom)!=null?a:0,left:(r=e.left)!=null?r:0}}function bm(e){return typeof e!="number"?b$(e):{top:e,right:e,bottom:e,left:e}}function Uo(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function Gf(e,t,n){let{reference:a,floating:r}=e;const l=yn(t),o=Cc(t),s=$c(o),i=ya(t),c=l==="y",d=a.x+a.width/2-r.width/2,f=a.y+a.height/2-r.height/2,p=a[s]/2-r[s]/2;let v;switch(i){case"top":v={x:d,y:a.y-r.height};break;case"bottom":v={x:d,y:a.y+a.height};break;case"right":v={x:a.x+a.width,y:f};break;case"left":v={x:a.x-r.width,y:f};break;default:v={x:a.x,y:a.y}}const m=qr(t);return m&&(v[o]+=p*(m==="end"?1:-1)*(n&&c?-1:1)),v}async function _$(e,t){var n;t===void 0&&(t={});const{x:a,y:r,platform:l,rects:o,elements:s,strategy:i}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:v=0}=Hn(t,e),m=bm(v),b=s[p?f==="floating"?"reference":"floating":f],y=Uo(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(b)))==null||n?b:b.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:i})),_=f==="floating"?{x:a,y:r,width:o.floating.width,height:o.floating.height}:o.reference,C=await(l.getOffsetParent==null?void 0:l.getOffsetParent(s.floating)),A=await(l.isElement==null?void 0:l.isElement(C))&&await(l.getScale==null?void 0:l.getScale(C))||{x:1,y:1},N=Uo(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:_,offsetParent:C,strategy:i}):_);return{top:(y.top-N.top+m.top)/A.y,bottom:(N.bottom-y.bottom+m.bottom)/A.y,left:(y.left-N.left+m.left)/A.x,right:(N.right-y.right+m.right)/A.x}}const x$=50,w$=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:l=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:_$},i=await(o.isRTL==null?void 0:o.isRTL(t));let c=await o.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=Gf(c,a,i),p=a,v=0;const m={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:l,platform:o,elements:s,middlewareData:i}=t,{element:c,padding:d=0}=Hn(e,t)||{};if(c==null)return{};const f=bm(d),p={x:n,y:a},v=Cc(r),m=$c(v),g=await o.getDimensions(c),b=v==="y",y=b?"top":"left",_=b?"bottom":"right",C=b?"clientHeight":"clientWidth",A=l.reference[m]+l.reference[v]-p[v]-l.floating[m],N=p[v]-l.reference[v],G=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c));let z=G?G[C]:0;(!z||!await(o.isElement==null?void 0:o.isElement(G)))&&(z=s.floating[C]||l.floating[m]);const H=A/2-N/2,k=z/2-g[m]/2-1,B=ma(f[y],k),Y=ma(f[_],k),D=z-g[m]-Y,L=z/2-g[m]/2+H,W=gm(B,L,D),V=!i.arrow&&qr(r)!=null&&L!==W&&l.reference[m]/2-(LW<=0)){var Y,D;const W=(((Y=l.flip)==null?void 0:Y.index)||0)+1,V=z[W];if(V&&(!(f==="alignment"?_!==yn(V):!1)||B.every(ce=>yn(ce.placement)===_?ce.overflows[0]>0:!0)))return{data:{index:W,overflows:B},reset:{placement:V}};let X=(D=B.filter(ae=>ae.overflows[0]<=0).sort((ae,ce)=>ae.overflows[1]-ce.overflows[1])[0])==null?void 0:D.placement;if(!X)switch(v){case"bestFit":{var L;const ae=(L=B.filter(ce=>{if(G){const te=yn(ce.placement);return te===_||te==="y"}return!0}).map(ce=>[ce.placement,ce.overflows.filter(te=>te>0).reduce((te,ie)=>te+ie,0)]).sort((ce,te)=>ce[1]-te[1])[0])==null?void 0:L[0];ae&&(X=ae);break}case"initialPlacement":X=s;break}if(r!==X)return{reset:{placement:X}}}return{}}}};function Yf(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Jf(e){return d$.some(t=>e[t]>=0)}const C$=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:a}=t,{strategy:r="referenceHidden",...l}=Hn(e,t);switch(r){case"referenceHidden":{const o=await a.detectOverflow(t,{...l,elementContext:"reference"}),s=Yf(o,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:Jf(s)}}}case"escaped":{const o=await a.detectOverflow(t,{...l,altBoundary:!0}),s=Yf(o,n.floating);return{data:{escapedOffsets:s,escaped:Jf(s)}}}default:return{}}}}},_m=new Set(["left","top"]);async function S$(e,t){const{placement:n,platform:a,elements:r}=e,l=await(a.isRTL==null?void 0:a.isRTL(r.floating)),o=ya(n),s=qr(n),i=yn(n)==="y",c=_m.has(o)?-1:1,d=l&&i?-1:1,f=Hn(t,e);let{mainAxis:p,crossAxis:v,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return s&&typeof m=="number"&&(v=s==="end"?m*-1:m),i?{x:v*d,y:p*c}:{x:p*c,y:v*d}}const A$=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:l,placement:o,middlewareData:s}=t,i=await S$(t,e);return o===((n=s.offset)==null?void 0:n.placement)&&(a=s.arrow)!=null&&a.alignmentOffset?{}:{x:r+i.x,y:l+i.y,data:{...i,placement:o}}}}},E$=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r,platform:l}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:i={fn:_=>{let{x:C,y:A}=_;return{x:C,y:A}}},...c}=Hn(e,t),d={x:n,y:a},f=await l.detectOverflow(t,c),p=yn(r),v=kc(p);let m=d[v],g=d[p];const b=(_,C)=>gm(C+f[_==="y"?"top":"left"],C,C-f[_==="y"?"bottom":"right"]);o&&(m=b(v,m)),s&&(g=b(p,g));const y=i.fn({...t,[v]:m,[p]:g});return{...y,data:{x:y.x-n,y:y.y-a,enabled:{[v]:o,[p]:s}}}}}},D$=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,a;const{x:r,y:l,placement:o,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:d=!0,crossAxis:f=!0}=Hn(e,t),p={x:r,y:l},v=yn(o),m=kc(v);let g=p[m],b=p[v];const y=Hn(c,t),_=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:(n=y.mainAxis)!=null?n:0,crossAxis:(a=y.crossAxis)!=null?a:0};if(d){const N=m==="y"?"height":"width",G=s.reference[m]-s.floating[N]+_.mainAxis,z=s.reference[m]+s.reference[N]-_.mainAxis;gz&&(g=z)}if(f){var C,A;const N=m==="y"?"width":"height",G=_m.has(ya(o)),z=s.reference[v]-s.floating[N]+(G&&((C=i.offset)==null?void 0:C[v])||0)+(G?0:_.crossAxis),H=s.reference[v]+s.reference[N]+(G?0:((A=i.offset)==null?void 0:A[v])||0)-(G?_.crossAxis:0);bH&&(b=H)}return{[m]:g,[v]:b}}}},O$=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:a,platform:r,elements:l}=t,{apply:o=()=>{},...s}=Hn(e,t),i=await r.detectOverflow(t,s),c=ya(n),d=qr(n),f=yn(n)==="y",{width:p,height:v}=a.floating;let m,g;c==="top"||c==="bottom"?(m=c,g=d===(await(r.isRTL==null?void 0:r.isRTL(l.floating))?"start":"end")?"left":"right"):(g=c,m=d==="end"?"top":"bottom");const b=v-i.top-i.bottom,y=p-i.left-i.right,_=ma(v-i[m],b),C=ma(p-i[g],y),A=t.middlewareData.shift,N=!A;let G=_,z=C;A!=null&&A.enabled.x&&(z=y),A!=null&&A.enabled.y&&(G=b),N&&!d&&(f?z=p-2*Fn(i.left,i.right):G=v-2*Fn(i.top,i.bottom)),await o({...t,availableWidth:z,availableHeight:G});const H=await r.getDimensions(l.floating);return p!==H.width||v!==H.height?{reset:{rects:!0}}:{}}}};function Ps(){return typeof window<"u"}function Ka(e){return Sc(e)?(e.nodeName||"").toLowerCase():"#document"}function Rt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jn(e){var t;return(t=(Sc(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Sc(e){return Ps()?e instanceof Node||e instanceof Rt(e).Node:!1}function wn(e){return Ps()?e instanceof Element||e instanceof Rt(e).Element:!1}function wa(e){return Ps()?e instanceof HTMLElement||e instanceof Rt(e).HTMLElement:!1}function Zf(e){return!Ps()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Rt(e).ShadowRoot}function Ms(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=kn(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&r!=="inline"&&r!=="contents"}function P$(e){return/^(table|td|th)$/.test(Ka(e))}function qs(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const M$=/transform|translate|scale|rotate|perspective|filter/,q$=/paint|layout|strict|content/,Da=e=>!!e&&e!=="none";let Ai;function Ac(e){const t=wn(e)?kn(e):e;return Da(t.transform)||Da(t.translate)||Da(t.scale)||Da(t.rotate)||Da(t.perspective)||!Ec()&&(Da(t.backdropFilter)||Da(t.filter))||M$.test(t.willChange||"")||q$.test(t.contain||"")}function T$(e){let t=ja(e);for(;wa(t)&&!kl(t);){if(Ac(t))return t;if(qs(t))return null;t=ja(t)}return null}function Ec(){return Ai==null&&(Ai=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ai}function kl(e){return/^(html|body|#document)$/.test(Ka(e))}function kn(e){return Rt(e).getComputedStyle(e)}function Ts(e){return wn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ja(e){if(Ka(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Zf(e)&&e.host||Jn(e);return Zf(t)?t.host:t}function xm(e){const t=ja(e);return kl(t)?(e.ownerDocument||e).body:wa(t)&&Ms(t)?t:xm(t)}function $l(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=xm(e),l=r===((a=e.ownerDocument)==null?void 0:a.body),o=Rt(r);if(l){const s=_u(o);return t.concat(o,o.visualViewport||[],Ms(r)?r:[],s&&n?$l(s):[])}else return t.concat(r,$l(r,[],n))}function _u(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function wm(e){const t=kn(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=wa(e),l=r?e.offsetWidth:n,o=r?e.offsetHeight:a,s=Lo(n)!==l||Lo(a)!==o;return s&&(n=l,a=o),{width:n,height:a,$:s}}function Dc(e){return wn(e)?e:e.contextElement}function _r(e){const t=Dc(e);if(!wa(t))return Nn(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:l}=wm(t);let o=(l?Lo(n.width):n.width)/a,s=(l?Lo(n.height):n.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const R$=Nn(0);function km(e){const t=Rt(e);return!Ec()||!t.visualViewport?R$:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function I$(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Rt(e)}function Ua(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),l=Dc(e);let o=Nn(1);t&&(a?wn(a)&&(o=_r(a)):o=_r(e));const s=I$(l,n,a)?km(l):Nn(0);let i=(r.left+s.x)/o.x,c=(r.top+s.y)/o.y,d=r.width/o.x,f=r.height/o.y;if(l&&a){const p=Rt(l),v=wn(a)?Rt(a):a;let m=p,g=_u(m);for(;g&&v!==m;){const b=_r(g),y=g.getBoundingClientRect(),_=kn(g),C=y.left+(g.clientLeft+parseFloat(_.paddingLeft))*b.x,A=y.top+(g.clientTop+parseFloat(_.paddingTop))*b.y;i*=b.x,c*=b.y,d*=b.x,f*=b.y,i+=C,c+=A,m=Rt(g),g=_u(m)}}return Uo({width:d,height:f,x:i,y:c})}function Rs(e,t){const n=Ts(e).scrollLeft;return t?t.left+n:Ua(Jn(e)).left+n}function $m(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Rs(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function B$(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const l=r==="fixed",o=Jn(a),s=t?qs(t.floating):!1;if(a===o||s&&l)return n;let i={scrollLeft:0,scrollTop:0},c=Nn(1);const d=Nn(0),f=wa(a);if((f||!l)&&((Ka(a)!=="body"||Ms(o))&&(i=Ts(a)),f)){const v=Ua(a);c=_r(a),d.x=v.x+a.clientLeft,d.y=v.y+a.clientTop}const p=o&&!f&&!l?$m(o,i):Nn(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-i.scrollLeft*c.x+d.x+p.x,y:n.y*c.y-i.scrollTop*c.y+d.y+p.y}}function F$(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function N$(e){const t=Ts(e),n=e.ownerDocument.body,a=Fn(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=Fn(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let l=-t.scrollLeft+Rs(e);const o=-t.scrollTop;return kn(n).direction==="rtl"&&(l+=Fn(e.clientWidth,n.clientWidth)-a),{width:a,height:r,x:l,y:o}}const V$=25;function L$(e,t,n){n===void 0&&(n="viewport");const a=n==="layoutViewport",r=Rt(e),l=Jn(e),o=r.visualViewport;let s=l.clientWidth,i=l.clientHeight,c=0,d=0;if(o){const p=!Ec()||t==="fixed";a?p||(c=-o.offsetLeft,d=-o.offsetTop):(s=o.width,i=o.height,p&&(c=o.offsetLeft,d=o.offsetTop))}if(Rs(l)<=0){const p=l.ownerDocument,v=p.body,m=getComputedStyle(v),g=p.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,b=Math.abs(l.clientWidth-v.clientWidth-g),y=getComputedStyle(l).scrollbarGutter==="stable both-edges"?b/2:b;y<=V$&&(s-=y)}return{width:s,height:i,x:c,y:d}}function j$(e,t){const n=Ua(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,l=_r(e),o=e.clientWidth*l.x,s=e.clientHeight*l.y,i=r*l.x,c=a*l.y;return{width:o,height:s,x:i,y:c}}function Qf(e,t,n){let a;if(t==="viewport"||t==="layoutViewport")a=L$(e,n,t);else if(t==="document")a=N$(Jn(e));else if(wn(t))a=j$(t,n);else{const r=km(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Uo(a)}function U$(e,t){const n=t.get(e);if(n)return n;let a=$l(e,[],!1).filter(s=>wn(s)&&Ka(s)!=="body"),r=null;const l=kn(e).position==="fixed";let o=l?ja(e):e;for(;wn(o)&&!kl(o);){const s=kn(o),i=Ac(o),c=r?r.position:l?"fixed":"";!i&&(c==="fixed"||c==="absolute"&&s.position==="static")?a=a.filter(f=>f!==o):r=s,o=ja(o)}return t.set(e,a),a}function z$(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const o=[...n==="clippingAncestors"?qs(t)?[]:U$(t,this._c):[].concat(n),a],s=Qf(t,o[0],r);let i=s.top,c=s.right,d=s.bottom,f=s.left;for(let p=1;p{s(!1,1e-7)},1e3)}z=!1}try{a=new IntersectionObserver(H,{...G,root:l.ownerDocument})}catch{a=new IntersectionObserver(H,G)}a.observe(e)}const i=Rt(e),c=()=>s(n);return i.addEventListener("resize",c),s(!0),()=>{i.removeEventListener("resize",c),o()}}function Z$(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:r=!0,ancestorResize:l=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:i=!1}=a,c=Dc(e),d=r||l?[...c?$l(c):[],...t?$l(t):[]]:[];d.forEach(y=>{r&&y.addEventListener("scroll",n),l&&y.addEventListener("resize",n)});const f=c&&s?J$(c,n,l):null;let p=-1,v=null;o&&(v=new ResizeObserver(y=>{let[_]=y;_&&_.target===c&&v&&t&&(v.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var C;(C=v)==null||C.observe(t)})),n()}),c&&!i&&v.observe(c),t&&v.observe(t));let m,g=i?Ua(e):null;i&&b();function b(){const y=Ua(e);g&&!Sm(g,y)&&n(),g=y,m=requestAnimationFrame(b)}return n(),()=>{var y;d.forEach(_=>{r&&_.removeEventListener("scroll",n),l&&_.removeEventListener("resize",n)}),f?.(),(y=v)==null||y.disconnect(),v=null,i&&cancelAnimationFrame(m)}}const Q$=A$,X$=E$,ep=$$,e2=O$,t2=C$,n2=k$,a2=D$,r2=(e,t,n)=>{const a=new Map,r=n??{},l={...Y$,...r.platform,_c:a};return w$(e,t,{...r,platform:l})};function l2(e){return e!=null&&typeof e=="object"&&"$el"in e}function xu(e){if(l2(e)){const t=e.$el;return Sc(t)&&Ka(t)==="#comment"?null:t}return e}function ur(e){return typeof e=="function"?e():u(e)}function o2(e){return{name:"arrow",options:e,fn(t){const n=xu(ur(e.element));return n==null?{}:n2({element:n,padding:e.padding}).fn(t)}}}function Am(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function tp(e,t){const n=Am(e);return Math.round(t*n)/n}function s2(e,t,n){n===void 0&&(n={});const a=n.whileElementsMounted,r=x(()=>{var z;return(z=ur(n.open))!=null?z:!0}),l=x(()=>ur(n.middleware)),o=x(()=>{var z;return(z=ur(n.placement))!=null?z:"bottom"}),s=x(()=>{var z;return(z=ur(n.strategy))!=null?z:"absolute"}),i=x(()=>{var z;return(z=ur(n.transform))!=null?z:!0}),c=x(()=>xu(e.value)),d=x(()=>xu(t.value)),f=R(0),p=R(0),v=R(s.value),m=R(o.value),g=rs({}),b=R(!1),y=x(()=>{const z={position:v.value,left:"0",top:"0"};if(!d.value)return z;const H=tp(d.value,f.value),k=tp(d.value,p.value);return i.value?{...z,transform:"translate("+H+"px, "+k+"px)",...Am(d.value)>=1.5&&{willChange:"transform"}}:{position:v.value,left:H+"px",top:k+"px"}});let _;function C(){if(c.value==null||d.value==null)return;const z=r.value;r2(c.value,d.value,{middleware:l.value,placement:o.value,strategy:s.value}).then(H=>{f.value=H.x,p.value=H.y,v.value=H.strategy,m.value=H.placement,g.value=H.middlewareData,b.value=z!==!1})}function A(){typeof _=="function"&&(_(),_=void 0)}function N(){if(A(),a===void 0){C();return}if(c.value!=null&&d.value!=null){_=a(c.value,d.value,C);return}}function G(){r.value||(b.value=!1)}return Ne([l,o,s,r],C,{flush:"sync"}),Ne([c,d],N,{flush:"sync"}),Ne(r,G,{flush:"sync"}),Mu()&&Dp(A),{x:Qa(f),y:Qa(p),strategy:Qa(v),placement:Qa(m),middlewareData:Qa(g),isPositioned:Qa(b),floatingStyles:y,update:C}}const Em={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[pT,i2]=dt("PopperContent");var u2=Q({inheritAttrs:!1,__name:"PopperContent",props:pv({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Em}),emits:["placed"],setup(e,{emit:t}){const n=e,a=t,r=hm(),{forwardRef:l,currentElement:o}=je(),s=R(),i=R(),{width:c,height:d}=Gw(i),f=x(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),p=x(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),v=x(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),m=x(()=>({padding:p.value,boundary:v.value.filter(u$),altBoundary:v.value.length>0})),g=x(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),b=$x(()=>[Q$({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&ep({...m.value,...g.value}),n.avoidCollisions&&X$({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?a2():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&ep({...m.value,...g.value}),e2({...m.value,apply:({elements:D,rects:L,availableWidth:W,availableHeight:V})=>{const{width:X,height:ae}=L.reference,ce=D.floating.style;ce.setProperty("--reka-popper-available-width",`${W}px`),ce.setProperty("--reka-popper-available-height",`${V}px`),ce.setProperty("--reka-popper-anchor-width",`${X}px`),ce.setProperty("--reka-popper-anchor-height",`${ae}px`)}}),i.value&&o2({element:i.value,padding:n.arrowPadding}),c$({arrowWidth:c.value,arrowHeight:d.value}),n.hideWhenDetached&&t2({strategy:"referenceHidden",...m.value})]),y=x(()=>n.reference??r.anchor.value),{floatingStyles:_,placement:C,isPositioned:A,middlewareData:N}=s2(y,s,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...D)=>Z$(...D,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:b}),G=x(()=>gu(C.value)[0]),z=x(()=>gu(C.value)[1]);tv(()=>{A.value&&a("placed")});const H=x(()=>{const D=N.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&D}),k=R("");tn(()=>{o.value&&(k.value=window.getComputedStyle(o.value).zIndex)});const B=x(()=>N.value.arrow?.x??0),Y=x(()=>N.value.arrow?.y??0);return i2({placedSide:G,onArrowChange:D=>i.value=D,arrowX:B,arrowY:Y,shouldHideArrow:H}),(D,L)=>(h(),$("div",{ref_key:"floatingRef",ref:s,"data-reka-popper-content-wrapper":"",style:Bn({...u(_),transform:u(A)?u(_).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:k.value,"--reka-popper-transform-origin":[u(N).transformOrigin?.x,u(N).transformOrigin?.y].join(" "),...u(N).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[j(u(Ue),Te({ref:u(l)},D.$attrs,{"as-child":n.asChild,as:D.as,"data-side":G.value,"data-align":z.value,style:{animation:u(A)?void 0:"none"}}),{default:T(()=>[he(D.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),Dm=u2;const Oc=["day","month","year"],Pc=["hour","minute","second","dayPeriod"],Om=[...Oc,...Pc];function c2(e){return Oc.includes(e)}function Pm(e){return Om.includes(e)}const d2=["ach","af","am","an","ar","ast","az","be","bg","bn","br","bs","ca","cak","ckb","cs","cy","da","de","dsb","el","en","eo","es","et","eu","fa","ff","fi","fr","fy","ga","gd","gl","he","hr","hsb","hu","ia","id","it","ja","ka","kk","kn","ko","lb","lo","lt","lv","meh","ml","ms","nl","nn","no","oc","pl","pt","rm","ro","ru","sc","scn","sk","sl","sr","sv","szl","tg","th","tr","uk","zh-CN","zh-TW"],f2=["year","month","day"],Di={ach:{year:"mwaka",month:"dwe",day:"nino"},af:{year:"jjjj",month:"mm",day:"dd"},am:{year:"ዓዓዓዓ",month:"ሚሜ",day:"ቀቀ"},an:{year:"aaaa",month:"mm",day:"dd"},ar:{year:"سنة",month:"شهر",day:"يوم"},ast:{year:"aaaa",month:"mm",day:"dd"},az:{year:"iiii",month:"aa",day:"gg"},be:{year:"гггг",month:"мм",day:"дд"},bg:{year:"гггг",month:"мм",day:"дд"},bn:{year:"yyyy",month:"মিমি",day:"dd"},br:{year:"bbbb",month:"mm",day:"dd"},bs:{year:"gggg",month:"mm",day:"dd"},ca:{year:"aaaa",month:"mm",day:"dd"},cak:{year:"jjjj",month:"ii",day:"q'q'"},ckb:{year:"ساڵ",month:"مانگ",day:"ڕۆژ"},cs:{year:"rrrr",month:"mm",day:"dd"},cy:{year:"bbbb",month:"mm",day:"dd"},da:{year:"åååå",month:"mm",day:"dd"},de:{year:"jjjj",month:"mm",day:"tt"},dsb:{year:"llll",month:"mm",day:"źź"},el:{year:"εεεε",month:"μμ",day:"ηη"},en:{year:"yyyy",month:"mm",day:"dd"},eo:{year:"jjjj",month:"mm",day:"tt"},es:{year:"aaaa",month:"mm",day:"dd"},et:{year:"aaaa",month:"kk",day:"pp"},eu:{year:"uuuu",month:"hh",day:"ee"},fa:{year:"سال",month:"ماه",day:"روز"},ff:{year:"hhhh",month:"ll",day:"ññ"},fi:{year:"vvvv",month:"kk",day:"pp"},fr:{year:"aaaa",month:"mm",day:"jj"},fy:{year:"jjjj",month:"mm",day:"dd"},ga:{year:"bbbb",month:"mm",day:"ll"},gd:{year:"bbbb",month:"mm",day:"ll"},gl:{year:"aaaa",month:"mm",day:"dd"},he:{year:"שנה",month:"חודש",day:"יום"},hr:{year:"gggg",month:"mm",day:"dd"},hsb:{year:"llll",month:"mm",day:"dd"},hu:{year:"éééé",month:"hh",day:"nn"},ia:{year:"aaaa",month:"mm",day:"dd"},id:{year:"tttt",month:"bb",day:"hh"},it:{year:"aaaa",month:"mm",day:"gg"},ja:{year:" 年 ",month:"月",day:"日"},ka:{year:"წწწწ",month:"თთ",day:"რრ"},kk:{year:"жжжж",month:"аа",day:"кк"},kn:{year:"ವವವವ",month:"ಮಿಮೀ",day:"ದಿದಿ"},ko:{year:"연도",month:"월",day:"일"},lb:{year:"jjjj",month:"mm",day:"dd"},lo:{year:"ປປປປ",month:"ດດ",day:"ວວ"},lt:{year:"mmmm",month:"mm",day:"dd"},lv:{year:"gggg",month:"mm",day:"dd"},meh:{year:"aaaa",month:"mm",day:"dd"},ml:{year:"വർഷം",month:"മാസം",day:"തീയതി"},ms:{year:"tttt",month:"mm",day:"hh"},nl:{year:"jjjj",month:"mm",day:"dd"},nn:{year:"åååå",month:"mm",day:"dd"},no:{year:"åååå",month:"mm",day:"dd"},oc:{year:"aaaa",month:"mm",day:"jj"},pl:{year:"rrrr",month:"mm",day:"dd"},pt:{year:"aaaa",month:"mm",day:"dd"},rm:{year:"oooo",month:"mm",day:"dd"},ro:{year:"aaaa",month:"ll",day:"zz"},ru:{year:"гггг",month:"мм",day:"дд"},sc:{year:"aaaa",month:"mm",day:"dd"},scn:{year:"aaaa",month:"mm",day:"jj"},sk:{year:"rrrr",month:"mm",day:"dd"},sl:{year:"llll",month:"mm",day:"dd"},sr:{year:"гггг",month:"мм",day:"дд"},sv:{year:"åååå",month:"mm",day:"dd"},szl:{year:"rrrr",month:"mm",day:"dd"},tg:{year:"сссс",month:"мм",day:"рр"},th:{year:"ปปปป",month:"ดด",day:"วว"},tr:{year:"yyyy",month:"aa",day:"gg"},uk:{year:"рррр",month:"мм",day:"дд"},"zh-CN":{year:"年",month:"月",day:"日"},"zh-TW":{year:"年",month:"月",day:"日"}};function p2(e){if(np(e))return Di[e];{const t=y2(e);return np(t)?Di[t]:Di.en}}function Oi(e,t,n){return v2(e)?p2(n)[e]:m2(e)?t:h2(e)?"––":""}function np(e){return d2.includes(e)}function v2(e){return f2.includes(e)}function h2(e){return e==="hour"||e==="minute"||e==="second"}function m2(e){return e==="era"||e==="dayPeriod"}function y2(e){return Intl.Locale?new Intl.Locale(e).language:e.split("-")[0]}const g2=["hour","minute","second"];function wu(e){return Object.fromEntries(Pc.map(t=>t==="dayPeriod"?[t,e.formatter.dayPeriod(Kt(e.value))]:[t,e.value[t]]))}function ap(e){const{formatter:t}=e,n=Oc.map(a=>[a,e.value[a]]);if("hour"in e.value){const a=wu({value:e.value,formatter:t});return{...Object.fromEntries(n),...a}}return Object.fromEntries(n)}function b2(e){return Object.fromEntries(Pc.map(t=>t==="dayPeriod"?[t,"AM"]:[t,null]).filter(([t])=>!(t==="literal"||t===null||e==="minute"&&t==="second"||e==="hour"&&(t==="second"||t==="minute"))))}function _2(e){const t=Om.map(n=>n==="dayPeriod"?[n,"AM"]:[n,null]).filter(([n])=>n==="literal"||n===null||e==="minute"&&n==="second"||e==="hour"&&(n==="second"||n==="minute")?!1:e==="day"?!g2.includes(n)&&n!=="dayPeriod":!0);return Object.fromEntries(t)}function x2(e){const{segmentValues:t,formatter:n,locale:a}=e;function r(o){if("hour"in t){const s=t[o];return s!==null?o==="day"?n.part(e.dateRef.set({[o]:s,month:t.month??1}),o,{hourCycle:xl(e.hourCycle)}):n.part(e.dateRef.set({[o]:s}),o,{hourCycle:xl(e.hourCycle)}):Oi(o,"",a.value)}else{if(c2(o)){const s=t[o];return s!==null?o==="day"?n.part(e.dateRef.set({[o]:s,month:t.month??1}),o):n.part(e.dateRef.set({[o]:s}),o):Oi(o,"",a.value)}return""}}return Object.keys(t).reduce((o,s)=>{if(!Pm(s))return o;if("hour"in t&&s==="dayPeriod"){const i=t[s];i!==null?o[s]=i:o[s]=Oi(s,"AM",a.value)}else o[s]=r(s);return o},{})}function w2(e){const{granularity:t,formatter:n,contentObj:a,hideTimeZone:r,hourCycle:l,isTimeValue:o}=e;return n.toParts(e.dateRef,jw(t,l,o)).map(c=>["literal","timeZoneName",null].includes(c.type)||!Pm(c.type)?{part:c.type,value:c.value}:{part:c.type,value:a[c.type]}).filter(c=>!(c.part===null||c.value===null||c.part==="timeZoneName"&&(!_l(e.dateRef)||r)||(!_l(e.dateRef)||r)&&c.part==="literal"&&["[","]"].includes(c.value.trim())))}function Mm(e){const t=x2(e),n=w2({contentObj:t,...e});return{obj:t,arr:n}}function Dn(e){const t=Mr();return e===t.ARROW_RIGHT||e===t.ARROW_LEFT}function Pa(e){return!Number.isNaN(Number.parseInt(e))}function ea(e){const t=Mr();return!!([t.ENTER,t.ARROW_UP,t.ARROW_DOWN,t.ARROW_LEFT,t.ARROW_RIGHT,t.BACKSPACE,t.SPACE,"a","A","p","P"].includes(e)||Pa(e))}function rp(e){return Array.from(e.querySelectorAll("[data-reka-date-field-segment]")).filter(t=>t.getAttribute("data-reka-date-field-segment")!=="literal")}function lp(e){return Array.from(e.querySelectorAll("[data-reka-time-field-segment]")).filter(t=>t.getAttribute("data-reka-time-field-segment")!=="literal")}const k2=/^\d$/;function ka(e){return{role:"spinbutton",contenteditable:!0,tabindex:e.disabled?void 0:0,spellcheck:!1,inputmode:"numeric",autocorrect:"off",enterkeyhint:"next",style:"caret-color: transparent;"}}function $2(e){const{segmentValues:t,placeholder:n}=e,a=t.day===null,r={};t.day&&(r.day=t.day),t.month&&(r.month=t.month);const l=Object.keys(r).length>0?n.set(r):n,o=l.day,s=1,i=da(l),c=a?"Empty":`${o}`;return{...ka(e),"aria-label":"day,","aria-valuemin":s,"aria-valuemax":i,"aria-valuenow":o,"aria-valuetext":c,"data-placeholder":a?"":void 0}}function C2(e){const{segmentValues:t,placeholder:n,formatter:a}=e,r=t.month===null,l=t.month?n.set({month:t.month}):n,o=l.month,s=1,i=12,c=r?"Empty":`${o} - ${a.fullMonth(Kt(l))}`;return{...ka(e),"aria-label":"month, ",contenteditable:!0,"aria-valuemin":s,"aria-valuemax":i,"aria-valuenow":o,"aria-valuetext":c,"data-placeholder":r?"":void 0}}function S2(e){const{segmentValues:t,placeholder:n}=e,a=t.year===null,r=t.year?n.set({year:t.year}):n,l=1,o=9999,s=r.year,i=a?"Empty":`${s}`;return{...ka(e),"aria-label":"year, ","aria-valuemin":l,"aria-valuemax":o,"aria-valuenow":s,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function A2(e){const{segmentValues:t,hourCycle:n,placeholder:a}=e;if(!("hour"in t)||!("hour"in a))return{};const r=t.hour===null,l=t.hour?a.set({hour:t.hour}):a,o=n===12?1:0,s=n===12?12:23,i=l.hour,c=r?"Empty":`${i} ${t.dayPeriod??""}`;return{...ka(e),"aria-label":"hour, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":i,"aria-valuetext":c,"data-placeholder":r?"":void 0}}function E2(e){const{segmentValues:t,placeholder:n}=e;if(!("minute"in t)||!("minute"in n))return{};const a=t.minute===null,l=(t.minute?n.set({minute:t.minute}):n).minute,o=0,s=59,i=a?"Empty":`${l}`;return{...ka(e),"aria-label":"minute, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":l,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function D2(e){const{segmentValues:t,placeholder:n}=e;if(!("second"in t)||!("second"in n))return{};const a=t.second===null,l=(t.second?n.set({second:t.second}):n).second,o=0,s=59,i=a?"Empty":`${l}`;return{...ka(e),"aria-label":"second, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":l,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function O2(e){const{segmentValues:t}=e;if(!("dayPeriod"in t))return{};const n=0,a=12,r=t.hour?t.hour>12?t.hour-12:t.hour:0,l=t.dayPeriod??"AM";return{...ka(e),inputmode:"text","aria-label":"AM/PM","aria-valuemin":n,"aria-valuemax":a,"aria-valuenow":r,"aria-valuetext":l}}function P2(e){return{"aria-hidden":!0,"data-segment":"literal"}}function M2(e){return{role:"textbox","aria-label":"timezone, ","data-readonly":!0,"data-segment":"timeZoneName",tabindex:e.disabled?void 0:0,style:"caret-color: transparent;"}}function q2(e){const{segmentValues:t,placeholder:n}=e,a=0,r=0,l=0,o="era"in t?t.era:n.era;return{...ka(e),"aria-label":"era","aria-valuemin":a,"aria-valuemax":r,"aria-valuenow":l,"aria-valuetext":o}}const T2={day:{attrs:$2},month:{attrs:C2},year:{attrs:S2},hour:{attrs:A2},minute:{attrs:E2},second:{attrs:D2},dayPeriod:{attrs:O2},literal:{attrs:P2},timeZoneName:{attrs:M2},era:{attrs:q2}};function qm(e){const t=Mr();function n({e:k,part:B,dateRef:Y,prevValue:D}){const L=e.step.value[B]??1,W=k.key===t.ARROW_UP?L:-L,V=0,X=59;if(D===null)return W>0?V:X;const ae=[B,W];return Y.set({[B]:D}).cycle(...ae)[B]}function a(k){if(e.hasLeftFocus.value=!1,k===null)return k;const B=k.toString();return B.length===1?(e.modelValue.value=void 0,null):Number.parseInt(B.slice(0,-1))}function r({e:k,part:B,dateRef:Y,prevValue:D}){const L=e.step.value[B]??1,W=k.key===t.ARROW_UP?L:-L;if(D===null)return Y[B];if(B==="hour"&&"hour"in Y){const X=[B,W];return Y.set({[B]:D}).cycle(...X)[B]}const V=[B,W];return B==="day"?Y.set({[B]:D,month:e.segmentValues.value.month??1}).cycle(...V)[B]:Y.set({[B]:D}).cycle(...V)[B]}function l(k,B,Y){let D=!1;const L=Math.floor(k/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,Y=null),Y===null)return B===0?(e.lastKeyZero.value=!0,{value:null,moveToNext:D}):((e.lastKeyZero.value||B>L)&&(D=!0),e.lastKeyZero.value=!1,{value:B,moveToNext:D});const W=Y.toString().length,V=Number.parseInt(Y.toString()+B.toString());return W===2||V>k?((B>L||V>k)&&(D=!0),{value:B,moveToNext:D}):(D=!0,{value:V,moveToNext:D})}function o(k,B){let D=!1;const L=Math.floor(59/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,B=null),B===null)return k===0?(e.lastKeyZero.value=!0,{value:0,moveToNext:D}):((e.lastKeyZero.value||k>L)&&(D=!0),e.lastKeyZero.value=!1,{value:k,moveToNext:D});const W=B.toString().length,V=Number.parseInt(B.toString()+k.toString());return W===2||V>59?(k>L&&(D=!0),{value:k,moveToNext:D}):(D=!0,{value:V,moveToNext:D})}function s(k,B,Y){let D=!1;const L=Math.floor(k/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,Y=null),Y===null)return B===0?(e.lastKeyZero.value=!0,{value:0,moveToNext:D}):((e.lastKeyZero.value||B>L)&&(D=!0),e.lastKeyZero.value=!1,{value:B,moveToNext:D});const W=Y.toString().length,V=Number.parseInt(Y.toString()+B.toString());return W===2||V>k?(B>L&&(D=!0),{value:B,moveToNext:D}):(D=!0,{value:V,moveToNext:D})}function i(k,B){let Y=!1;if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,B=null),B===null)return{value:k===0?1:k,moveToNext:Y};const D=B.toString()+k.toString();return D.length>4?{value:k===0?1:k,moveToNext:Y}:(D.length===4&&(Y=!0),{value:Number.parseInt(D),moveToNext:Y})}const c=x(()=>T2[e.part]?.attrs({disabled:e.disabled.value,placeholder:e.placeholder.value,hourCycle:e.hourCycle,segmentValues:e.segmentValues.value,formatter:e.formatter})??{});function d(k){if(!ea(k.key)||Dn(k.key))return;const B=e.segmentValues.value.day;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.day=r({e:k,part:"day",dateRef:e.placeholder.value,prevValue:B});return}if(Pa(k.key)){const Y=Number.parseInt(k.key),D=e.segmentValues.value.month,L=D?da(e.placeholder.value.set({month:D})):31,{value:W,moveToNext:V}=l(L,Y,B);e.segmentValues.value.day=W,V&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.day=a(B))}function f(k){if(!ea(k.key)||Dn(k.key))return;const B=e.segmentValues.value.month;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.month=r({e:k,part:"month",dateRef:e.placeholder.value,prevValue:B});return}if(Pa(k.key)){const Y=Number.parseInt(k.key),{value:D,moveToNext:L}=l(12,Y,B);e.segmentValues.value.month=D,L&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.month=a(B))}function p(k){if(!ea(k.key)||Dn(k.key))return;const B=e.segmentValues.value.year;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.year=r({e:k,part:"year",dateRef:e.placeholder.value,prevValue:B});return}if(Pa(k.key)){const Y=Number.parseInt(k.key),{value:D,moveToNext:L}=i(Y,B);e.segmentValues.value.year=D,L&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.year=a(B))}function v(k){const B=new Zt(k,{hour:"numeric"}).resolvedOptions().hourCycle;return B==="h11"||B==="h12"}function m(k){const B=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("hour"in B)||!("hour"in e.segmentValues.value))return;const Y=e.segmentValues.value.hour;if(k.key===t.ARROW_UP||k.key===t.ARROW_DOWN){const D=r({e:k,part:"hour",dateRef:e.placeholder.value,prevValue:Y});e.segmentValues.value.hour=D,"dayPeriod"in e.segmentValues.value&&D!==null&&(e.segmentValues.value.dayPeriod=D>=12?"PM":"AM");return}if(Pa(k.key)){const D=Number.parseInt(k.key),L=e.hourCycle!==void 0?e.hourCycle===12:v(e.formatter.getLocale()),W=L?12:24;let V=Y;L&&Y!==null&&(V=Y%12===0?0:Y>12?Y-12:Y);const{value:X,moveToNext:ae}=s(W,D,V);let ce=X;if(L&&X!==null){const te=e.segmentValues.value.dayPeriod||"AM";X===12?ce=te==="AM"?0:12:ce=te==="PM"?X+12:X}e.segmentValues.value.hour=ce,ae&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.hour=a(Y))}function g(k){const B=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("minute"in B)||!("minute"in e.segmentValues.value))return;const Y=e.segmentValues.value.minute;if((k.key===t.ARROW_UP||k.key===t.ARROW_DOWN)&&(e.segmentValues.value.minute=n({e:k,part:"minute",dateRef:e.placeholder.value,prevValue:Y})),Pa(k.key)){const D=Number.parseInt(k.key),{value:L,moveToNext:W}=o(D,Y);e.segmentValues.value.minute=L,W&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.minute=a(Y))}function b(k){const B=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("second"in B)||!("second"in e.segmentValues.value))return;const Y=e.segmentValues.value.second;if((k.key===t.ARROW_UP||k.key===t.ARROW_DOWN)&&(e.segmentValues.value.second=n({e:k,part:"second",dateRef:e.placeholder.value,prevValue:Y})),Pa(k.key)){const D=Number.parseInt(k.key),{value:L,moveToNext:W}=o(D,Y);e.segmentValues.value.second=L,W&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.second=a(Y))}function y(k){if(!((!ea(k.key)||Dn(k.key))&&k.key!=="a"&&k.key!=="p"||!("hour"in e.placeholder.value)||!("dayPeriod"in e.segmentValues.value))){if(k.key===t.ARROW_UP||k.key===t.ARROW_DOWN){if(e.segmentValues.value.dayPeriod==="AM"){e.segmentValues.value.dayPeriod="PM",e.segmentValues.value.hour=e.segmentValues.value.hour+12;return}e.segmentValues.value.dayPeriod="AM",e.segmentValues.value.hour=e.segmentValues.value.hour-12;return}if(["a","A"].includes(k.key)&&e.segmentValues.value.dayPeriod!=="AM"){e.segmentValues.value.dayPeriod="AM",e.segmentValues.value.hour=e.segmentValues.value.hour-12;return}["p","P"].includes(k.key)&&e.segmentValues.value.dayPeriod!=="PM"&&(e.segmentValues.value.dayPeriod="PM",e.segmentValues.value.hour=e.segmentValues.value.hour+12)}}function _(k){e.disabled.value&&k.preventDefault()}function C(k){if(k.isComposing||k.key==="Process")return;const B=e.disabled.value,Y=e.readonly.value;if(B||Y)return;if(k.key!==t.TAB&&k.preventDefault(),{day:d,month:f,year:p,hour:m,minute:g,second:b,dayPeriod:y,timeZoneName:()=>{}}[e.part](k),![t.ARROW_LEFT,t.ARROW_RIGHT].includes(k.key)&&k.key!==t.TAB&&k.key!==t.SHIFT&&ea(k.key)&&Object.values(e.segmentValues.value).every(L=>L!==null)){const L={...e.segmentValues.value},W=e.placeholder.value.set(L);e.modelValue.value=W.copy()}}function A(){if(e.stepSnapping?.value&&(e.part==="hour"&&"hour"in e.segmentValues.value&&e.segmentValues.value.hour!==null&&e.step.value.hour&&e.step.value.hour>1?(e.segmentValues.value.hour=ci(e.segmentValues.value.hour,0,23,e.step.value.hour),"dayPeriod"in e.segmentValues.value&&(e.segmentValues.value.hour<12?e.segmentValues.value.dayPeriod="AM":e.segmentValues.value.hour&&(e.segmentValues.value.dayPeriod="PM"))):e.part==="minute"&&"minute"in e.segmentValues.value&&e.segmentValues.value.minute!==null&&e.step.value.minute&&e.step.value.minute>1?e.segmentValues.value.minute=ci(e.segmentValues.value.minute,0,59,e.step.value.minute):e.part==="second"&&"second"in e.segmentValues.value&&e.segmentValues.value.second!==null&&e.step.value.second&&e.step.value.second>1&&(e.segmentValues.value.second=ci(e.segmentValues.value.second,0,59,e.step.value.second)),Object.values(e.segmentValues.value).every(k=>k!==null))){const k=e.placeholder.value.set({...e.segmentValues.value});e.modelValue.value=k.copy()}}let N=null;function G(k){k.isComposing||k.preventDefault()}function z(k){const B=k.target;N=Array.from(B.childNodes,Y=>({node:Y,value:Y.nodeValue}))}function H(k){const B=k.target,Y=N;if(N=null,Y){for(const{node:L,value:W}of Y)L.nodeValue=W;B.replaceChildren(...Y.map(L=>L.node))}const D=k.data;if(D)for(const L of D){if(!k2.test(L))continue;const W=ht();if(!(W instanceof HTMLElement))break;W.dispatchEvent(new KeyboardEvent("keydown",{key:L,bubbles:!0,cancelable:!0}))}}return{handleSegmentClick:_,handleSegmentKeydown:C,handleSegmentBeforeInput:G,handleSegmentCompositionStart:z,handleSegmentCompositionEnd:H,handleSegmentFocusOut:A,attributes:c}}function R2(e){function t(l){return Array.isArray(e.date.value)?e.date.value.some(o=>va(o,l)):e.date.value?va(e.date.value,l):!1}const n=x(()=>{if(Array.isArray(e.date.value)){if(!e.date.value.length)return!1;for(const l of e.date.value)if(e.isDateDisabled?.(l)||e.isDateUnavailable?.(l))return!0}else{if(!e.date.value)return!1;if(e.isDateDisabled?.(e.date.value)||e.isDateUnavailable?.(e.date.value))return!0}return!1}),a=x(()=>Array.isArray(e.date.value)?e.date.value.length>0:!!e.date.value),r=x(()=>Array.isArray(e.date.value)?e.date.value.length?e.date.value.some(l=>e.isDateDisabled?.(l)):!1:e.date.value?!!e.isDateDisabled?.(e.date.value):!1);return{isDateSelected:t,isInvalid:n,hasSelectedDate:a,isSelectedDateDisabled:r}}function I2(e,t){const n=t(e),a=n.compare(e),r={};return a>=7&&(r.day=1),a>=da(e)&&(r.month=1),n.set({...r})}function B2(e,t){const n=t(e),a=e.compare(n),r={};return a>=7&&(r.day=35),a>=da(e)&&(r.month=13),n.set({...r})}function F2(e,t){return t(e)}function N2(e,t){return t(e)}function V2(e){const t=hc(e.locale.value),n=x(()=>{const y={calendar:e.placeholder.value.calendar.identifier};return e.placeholder.value.calendar.identifier==="gregory"&&e.placeholder.value.era==="BC"&&(y.era="short"),y}),a=R(Ea({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})),r=x(()=>a.value.map(y=>y.value));function l(y){return!r.value.some(_=>gf(y,_))}const o=y=>{if(!e.maxValue.value||!a.value.length)return!1;if(e.disabled.value)return!0;const _=a.value.at(-1).value;if(!y&&!e.nextPage.value){const A=_.add({months:1}).set({day:1});return _i(A,e.maxValue.value)}const C=I2(_,y||e.nextPage.value);return _i(C,e.maxValue.value)},s=y=>{if(!e.minValue.value||!a.value.length)return!1;if(e.disabled.value)return!0;const _=a.value[0].value;if(!y&&!e.prevPage.value){const A=_.subtract({months:1}).set({day:35});return ia(A,e.minValue.value)}const C=B2(_,y||e.prevPage.value);return ia(C,e.minValue.value)};function i(y){return!!(e.isDateDisabled?.(y)||e.disabled.value||e.maxValue.value&&_i(y,e.maxValue.value)||e.minValue.value&&ia(y,e.minValue.value))}const c=y=>!!e.isDateUnavailable?.(y),d=x(()=>a.value.length?a.value[0].rows[0].map(y=>t.dayOfWeek(Kt(y),e.weekdayFormat.value)):[]),f=y=>{const _=a.value[0].value;if(!y&&!e.nextPage.value){const G=_.add({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),z=Ea({dateObj:G,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=z,e.placeholder.value=z[0].value.set({day:1});return}const C=F2(_,y||e.nextPage.value),A=Ea({dateObj:C,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=A;const N={};if(!y){const G=A[0].value.compare(_);G>=da(_)&&(N.day=1),G>=365&&(N.month=1)}e.placeholder.value=A[0].value.set({...N})},p=y=>{const _=a.value[0].value;if(!y&&!e.prevPage.value){const G=_.subtract({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),z=Ea({dateObj:G,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=z,e.placeholder.value=z[0].value.set({day:1});return}const C=N2(_,y||e.prevPage.value),A=Ea({dateObj:C,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=A;const N={};if(!y){const G=_.compare(A[0].value);G>=da(_)&&(N.day=1),G>=365&&(N.month=1)}e.placeholder.value=A[0].value.set({...N})};Ne(e.placeholder,y=>{r.value.some(_=>gf(_,y))||(a.value=Ea({dateObj:y,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value}))}),Ne([e.locale,e.weekStartsOn,e.fixedWeeks,e.numberOfMonths],()=>{a.value=Ea({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})});const v=x(()=>{if(!a.value.length)return"";if(e.locale.value!==t.getLocale()&&t.setLocale(e.locale.value),a.value.length===1){const H=a.value[0].value;return`${t.fullMonthAndYear(Kt(H),n.value)}`}const y=Kt(a.value[0].value),_=Kt(a.value.at(-1).value),C=t.fullMonth(y,n.value),A=t.fullMonth(_,n.value),N=t.fullYear(y,n.value),G=t.fullYear(_,n.value);return N===G?`${C} - ${A} ${G}`:`${C} ${N} - ${A} ${G}`}),m=x(()=>`${e.calendarLabel.value??"Event Date"}, ${v.value}`),g=x(()=>!(i(e.placeholder.value)||c(e.placeholder.value)||l(e.placeholder.value))),b=x(()=>{for(const y of a.value){if(e.minValue.value&&ia(y.value,e.minValue.value))continue;const _=da(y.value),C=e.minValue.value&&ac(e.minValue.value,y.value)?e.minValue.value.day:1;for(let A=C;A<=_;A++){const N=y.value.set({day:A});if(!(i(N)||c(N)))return N}}});return{isDateDisabled:i,isDateUnavailable:c,isNextButtonDisabled:o,isPrevButtonDisabled:s,grid:a,weekdays:d,visibleView:r,isOutsideVisibleView:l,formatter:t,nextPage:f,prevPage:p,headingValue:v,fullCalendarLabel:m,isPlaceholderFocusable:g,firstFocusableDate:b}}const L2={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},j2={role:"heading","aria-level":"2"},[Tr,U2]=dt("CalendarRoot");var z2=Q({__name:"CalendarRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},calendarLabel:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1,default:1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},isDateUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(e,{emit:t}){const n=e,a=t,{disabled:r,readonly:l,initialFocus:o,pagedNavigation:s,weekdayFormat:i,fixedWeeks:c,multiple:d,minValue:f,maxValue:p,numberOfMonths:v,preventDeselect:m,isDateDisabled:g,isDateUnavailable:b,calendarLabel:y,defaultValue:_,nextPage:C,prevPage:A,dir:N,locale:G,disableDaysOutsideCurrentView:z}=Pt(n),{primitiveElement:H,currentElement:k}=La(),B=Es(G),Y=xa(N),D=x(()=>n.weekStartsOn??lm(B.value)),L=vt(n,"modelValue",a,{defaultValue:_.value,passive:n.modelValue===void 0}),W=vc({defaultPlaceholder:n.placeholder,defaultValue:L.value,locale:n.locale}),V=vt(n,"placeholder",a,{defaultValue:n.defaultPlaceholder??W.copy(),passive:n.placeholder===void 0});function X(q){V.value=q.copy()}const{fullCalendarLabel:ae,headingValue:ce,isDateDisabled:te,isDateUnavailable:ie,isNextButtonDisabled:le,isPrevButtonDisabled:re,weekdays:we,isOutsideVisibleView:ue,nextPage:Ce,prevPage:pe,formatter:Z,grid:ve,isPlaceholderFocusable:ee,firstFocusableDate:de}=V2({locale:B,placeholder:V,weekStartsOn:D,fixedWeeks:c,numberOfMonths:v,minValue:f,maxValue:p,disabled:r,weekdayFormat:i,pagedNavigation:s,isDateDisabled:g.value,isDateUnavailable:b.value,calendarLabel:y,nextPage:C,prevPage:A}),{isInvalid:be,isDateSelected:w,hasSelectedDate:S,isSelectedDateDisabled:E}=R2({date:L,isDateDisabled:te,isDateUnavailable:ie});Ne(L,q=>{if(Array.isArray(q)&&q.length){const K=q.at(-1);K&&!yr(V.value,K)&&X(K)}else!Array.isArray(q)&&q&&!yr(V.value,q)&&X(q)});function J(q){if(d.value){if(!L.value)L.value=[q.copy()];else if(Array.isArray(L.value)){if(L.value.findIndex(oe=>va(oe,q))===-1)L.value=[...L.value,q];else if(!m.value){const oe=L.value.filter(se=>!va(se,q));if(!oe.length){V.value=q.copy(),L.value=void 0;return}L.value=oe.map(se=>se.copy())}}}else{if(!L.value){L.value=q.copy();return}!m.value&&yr(L.value,q)?(V.value=q.copy(),L.value=void 0):L.value=q.copy()}}return gt(()=>{o.value&&am(k.value)}),U2({isDateUnavailable:ie,dir:Y,isDateDisabled:te,locale:B,formatter:Z,modelValue:L,placeholder:V,disabled:r,initialFocus:o,pagedNavigation:s,grid:ve,weekDays:we,weekStartsOn:D,weekdayFormat:i,fixedWeeks:c,multiple:d,numberOfMonths:v,readonly:l,preventDeselect:m,fullCalendarLabel:ae,headingValue:ce,isInvalid:be,isDateSelected:w,isNextButtonDisabled:le,isPrevButtonDisabled:re,isOutsideVisibleView:ue,nextPage:Ce,prevPage:pe,parentElement:k,onPlaceholderChange:X,onDateChange:J,disableDaysOutsideCurrentView:z,minValue:f,maxValue:p,isPlaceholderFocusable:ee,firstFocusableDate:de,hasSelectedDate:S,isSelectedDateDisabled:E}),(q,K)=>(h(),F(u(Ue),{ref_key:"primitiveElement",ref:H,as:q.as,"as-child":q.asChild,"aria-label":u(ae),"data-readonly":u(l)?"":void 0,"data-disabled":u(r)?"":void 0,"data-invalid":u(be)?"":void 0,dir:u(Y)},{default:T(()=>[he(q.$slots,"default",{date:u(V),grid:u(ve),weekDays:u(we),weekStartsOn:D.value,locale:u(B),fixedWeeks:u(c),modelValue:u(L)}),P("div",L2,[P("div",j2,M(u(ae)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),H2=z2,K2=Q({__name:"CalendarCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=Tr();return(n,a)=>(h(),F(u(Ue),{as:n.as,"as-child":n.asChild,role:"gridcell","aria-selected":u(t).isDateSelected(n.date)?!0:void 0,"aria-disabled":u(t).isDateDisabled(n.date)||u(t).isDateUnavailable?.(n.date)||u(t).disableDaysOutsideCurrentView.value,"data-disabled":u(t).isDateDisabled(n.date)||u(t).disableDaysOutsideCurrentView.value?"":void 0},{default:T(()=>[he(n.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),W2=K2,G2=Q({__name:"CalendarCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,n=Mr(),a=Tr(),{primitiveElement:r}=La(),l=x(()=>t.day.day.toLocaleString(a.locale.value)),o=x(()=>a.formatter.custom(Kt(t.day),{weekday:"long",month:"long",day:"numeric",year:"numeric"})),s=x(()=>a.isDateUnavailable?.(t.day)??!1),i=x(()=>Wx(t.day,on())),c=x(()=>!ac(t.day,t.month)),d=x(()=>a.isOutsideVisibleView(t.day)),f=x(()=>a.isDateDisabled(t.day)||a.disableDaysOutsideCurrentView.value&&c.value),p=x(()=>c.value||f.value?!1:!a.disabled.value&&a.isPlaceholderFocusable.value&&va(t.day,a.placeholder.value)?!0:(!a.hasSelectedDate.value||a.isSelectedDateDisabled.value)&&!a.isPlaceholderFocusable.value?a.firstFocusableDate.value&&va(t.day,a.firstFocusableDate.value):!1),v=x(()=>a.isDateSelected(t.day));function m(y){a.readonly.value||a.isDateDisabled(y)||a.isDateUnavailable?.(y)||a.onDateChange(y)}function g(){f.value||m(t.day)}function b(y){if(f.value)return;y.preventDefault(),y.stopPropagation();const _=a.parentElement.value,C=7,A=a.dir.value==="rtl"?-1:1;switch(y.code){case n.ARROW_RIGHT:N(t.day,A);break;case n.ARROW_LEFT:N(t.day,-A);break;case n.ARROW_UP:N(t.day,-C);break;case n.ARROW_DOWN:N(t.day,C);break;case n.ENTER:case n.SPACE_CODE:m(t.day)}function N(G,z){const H=G.add({days:z});if(a.minValue.value&&H.compare(a.minValue.value)<0||a.maxValue.value&&H.compare(a.maxValue.value)>0)return;const k=_.querySelector(`[data-value='${H.toString()}']:not([data-outside-view])`);if(!k){if(z>0){if(a.isNextButtonDisabled())return;a.nextPage()}else{if(a.isPrevButtonDisabled())return;a.prevPage()}Ke(()=>{N(G,z)});return}if(k&&k.hasAttribute("data-disabled"))return N(H,z);a.onPlaceholderChange(H),k?.focus()}}return(y,_)=>(h(),F(u(Ue),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-calendar-cell-trigger":"","aria-disabled":f.value||s.value?!0:void 0,"data-selected":v.value?!0:void 0,"data-value":y.day.toString(),"data-disabled":f.value?"":void 0,"data-unavailable":s.value?"":void 0,"data-today":i.value?"":void 0,"data-outside-view":c.value?"":void 0,"data-outside-visible-view":d.value?"":void 0,"data-focused":p.value?"":void 0,tabindex:p.value?0:c.value||f.value?void 0:-1,onClick:g,onKeydown:[pa(b,["up","down","left","right","space","enter"]),_[0]||(_[0]=pa(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[he(y.$slots,"default",{dayValue:l.value,disabled:f.value,today:i.value,selected:v.value,outsideView:c.value,outsideVisibleView:d.value,unavailable:s.value},()=>[ke(M(l.value),1)])]),_:3},8,["as","as-child","aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-outside-view","data-outside-visible-view","data-focused","tabindex"]))}}),Y2=G2,J2=Q({__name:"CalendarGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,n=Tr(),a=x(()=>n.disabled.value?!0:void 0),r=x(()=>n.readonly.value?!0:void 0);return(l,o)=>(h(),F(u(Ue),Te(t,{tabindex:"-1",role:"application","aria-readonly":r.value,"aria-disabled":a.value,"data-readonly":r.value&&"","data-disabled":a.value&&""}),{default:T(()=>[he(l.$slots,"default")]),_:3},16,["aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),Z2=J2,Q2=Q({__name:"CalendarGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),X2=Q2,eC=Q({__name:"CalendarGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"thead"}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),Te(t,{"aria-hidden":"true"}),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),tC=eC,nC=Q({__name:"CalendarGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),aC=nC,rC=Q({__name:"CalendarHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"th"}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),lC=rC,oC=Q({__name:"CalendarHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),sC=oC,iC=Q({__name:"CalendarHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,n=Tr();return(a,r)=>(h(),F(u(Ue),Te(t,{"data-disabled":u(n).disabled.value?"":void 0}),{default:T(()=>[he(a.$slots,"default",{headingValue:u(n).headingValue.value},()=>[ke(M(u(n).headingValue.value),1)])]),_:3},16,["data-disabled"]))}}),uC=iC,cC=Q({__name:"CalendarNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=x(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage)),a=Tr();function r(){n.value||a.nextPage(t.nextPage)}return(l,o)=>(h(),F(u(Ue),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[he(l.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=ke(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),dC=cC,fC=Q({__name:"CalendarPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=x(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage)),a=Tr();function r(){n.value||a.prevPage(t.prevPage)}return(l,o)=>(h(),F(u(Ue),{"aria-label":"Previous page",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[he(l.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=ke(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),pC=fC;const[vC,hC]=dt("RovingFocusGroup");var mC=Q({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:t,emit:n}){const a=e,r=n,{loop:l,orientation:o,dir:s}=Pt(a),i=xa(s),c=vt(a,"currentTabStopId",r,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),d=R(!1),f=R(!1),p=R(0),{getItems:v,CollectionSlot:m}=_c({isProvider:!0});function g(y){const _=!f.value;if(y.currentTarget&&y.target===y.currentTarget&&_&&!d.value){const C=new CustomEvent(e$,t$);if(y.currentTarget.dispatchEvent(C),r("entryFocus",C),!C.defaultPrevented){const A=v().map(k=>k.ref).filter(k=>k.dataset.disabled!==""),N=A.find(k=>k.getAttribute("data-active")===""),G=A.find(k=>k.getAttribute("data-highlighted")===""),z=A.find(k=>k.id===c.value),H=[N,G,z,...A].filter(Boolean);vm(H,a.preventScrollOnEntryFocus)}}f.value=!1}function b(){setTimeout(()=>{f.value=!1},1)}return t({getItems:v}),hC({loop:l,dir:i,orientation:o,currentTabStopId:c,onItemFocus:y=>{c.value=y},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(y,_)=>(h(),F(u(m),null,{default:T(()=>[j(u(Ue),{tabindex:d.value||p.value===0?-1:0,"data-orientation":u(o),as:y.as,"as-child":y.asChild,dir:u(i),style:{outline:"none"},onMousedown:_[0]||(_[0]=C=>f.value=!0),onMouseup:b,onFocus:g,onBlur:_[1]||(_[1]=C=>d.value=!1)},{default:T(()=>[he(y.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Tm=mC,yC=Q({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=vC(),a=Va(),r=x(()=>t.tabStopId||a),l=x(()=>n.currentTabStopId.value===r.value),{getItems:o,CollectionItem:s}=_c();gt(()=>{t.focusable&&n.onFocusableItemAdd()}),za(()=>{t.focusable&&n.onFocusableItemRemove()});function i(c){if(c.key==="Tab"&&c.shiftKey){n.onItemShiftTab();return}if(c.target!==c.currentTarget)return;const d=r$(c,n.orientation.value,n.dir.value);if(d!==void 0){if(c.metaKey||c.ctrlKey||c.altKey||!t.allowShiftKey&&c.shiftKey)return;c.preventDefault();let f=[...o().map(p=>p.ref).filter(p=>p.dataset.disabled!=="")];if(d==="last")f.reverse();else if(d==="prev"||d==="next"){d==="prev"&&f.reverse();const p=f.indexOf(c.currentTarget);f=n.loop.value?l$(f,p+1):f.slice(p+1)}Ke(()=>vm(f))}}return(c,d)=>(h(),F(u(s),null,{default:T(()=>[j(u(Ue),{tabindex:l.value?0:-1,"data-orientation":u(n).orientation.value,"data-active":c.active?"":void 0,"data-disabled":c.focusable?void 0:"",as:c.as,"as-child":c.asChild,onMousedown:d[0]||(d[0]=f=>{c.focusable?u(n).onItemFocus(r.value):f.preventDefault()}),onFocus:d[1]||(d[1]=f=>u(n).onItemFocus(r.value)),onKeydown:i},{default:T(()=>[he(c.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),Rm=yC;const[gC]=dt("CheckboxGroupRoot");function Mc(e){return e==="indeterminate"}function Im(e){return Mc(e)?"indeterminate":e?"checked":"unchecked"}const[bC,_C]=dt("CheckboxRoot");var xC=Q({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=je(),o=gC(null),s=vt(n,"modelValue",a,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),i=x(()=>o?.disabled.value||n.disabled),c=x(()=>gl(s.value,n.trueValue)),d=x(()=>Vt(o?.modelValue.value)?s.value==="indeterminate"?"indeterminate":c.value:hf(o.modelValue.value,n.value));function f(){if(Vt(o?.modelValue.value))s.value==="indeterminate"?s.value=n.trueValue:s.value=c.value?n.falseValue:n.trueValue;else{const m=[...o.modelValue.value||[]];if(hf(m,n.value)){const g=m.findIndex(b=>gl(b,n.value));m.splice(g,1)}else m.push(n.value);o.modelValue.value=m}}const p=mc(l),v=x(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return _C({disabled:i,state:d}),(m,g)=>(h(),F(Ut(u(o)?.rovingFocus.value?u(Rm):u(Ue)),Te(m.$attrs,{id:m.id,ref:u(r),role:"checkbox","as-child":m.asChild,as:m.as,type:m.as==="button"?"button":void 0,"aria-checked":u(Mc)(d.value)?"mixed":d.value,"aria-required":m.required,"aria-label":m.$attrs["aria-label"]||v.value,"data-state":u(Im)(d.value),"data-disabled":i.value?"":void 0,disabled:i.value,focusable:u(o)?.rovingFocus.value?!i.value:void 0,onKeydown:pa(ut(()=>{},["prevent"]),["enter"]),onClick:f}),{default:T(()=>[he(m.$slots,"default",{modelValue:u(s),state:d.value}),u(p)&&m.name&&!u(o)?(h(),F(u(wc),{key:0,type:"checkbox",checked:!!d.value,name:m.name,value:m.value,disabled:i.value,required:m.required},null,8,["checked","name","value","disabled","required"])):ne("v-if",!0)]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"]))}}),wC=xC,kC=Q({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const{forwardRef:t}=je(),n=bC();return(a,r)=>(h(),F(u(Bl),{present:a.forceMount||u(Mc)(u(n).state.value)||u(n).state.value===!0},{default:T(()=>[j(u(Ue),Te({ref:u(t),"data-state":u(Im)(u(n).state.value),"data-disabled":u(n).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":a.asChild,as:a.as},a.$attrs),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),$C=kC,CC=Q({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(ym),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),SC=CC;function AC(){const e=R(!1);return gt(()=>{Ar("keydown",()=>{e.value=!0},{capture:!0,passive:!0}),Ar(["pointerdown","pointermove"],()=>{e.value=!1},{capture:!0,passive:!0})}),e}const EC=Ch(AC),[Is,DC]=dt(["MenuRoot","MenuSub"],"MenuContext"),[qc,OC]=dt("MenuRoot");var PC=Q({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{modal:r,dir:l}=Pt(n),o=xa(l),s=vt(n,"open",a),i=R(),c=EC();return DC({open:s,onOpenChange:d=>{s.value=d},content:i,onContentChange:d=>{i.value=d}}),OC({onClose:()=>{s.value=!1},isUsingKeyboardRef:c,dir:o,modal:r}),(d,f)=>(h(),F(u(mm),null,{default:T(()=>[he(d.$slots,"default")]),_:3}))}}),MC=PC;const[Bm,qC]=dt("MenuContent");var TC=Q({__name:"MenuContentImpl",props:pv({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Em}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(e,{emit:t}){const n=e,a=t,r=Is(),l=qc(),{trapFocus:o,disableOutsidePointerEvents:s,loop:i}=Pt(n);om(),nc(s.value);const c=R(""),d=R(0),f=R(0),p=R(null),v=R("right"),m=R(0),g=R(null),b=R(),{forwardRef:y,currentElement:_}=je(),{handleTypeaheadSearch:C}=Jw(),A=R();function N(V){const X=yf(V,A.value||ht(),_.value,{loop:i.value,arrowKeyOptions:"vertical",dir:l?.dir.value,focus:!1,attributeName:"[data-reka-collection-item]:not([data-disabled])"});X&&(A.value=X,X.scrollIntoView({block:"nearest"}))}function G(){A.value&&A.value.click()}const z=R(),H=R();Ne(A,V=>{H.value&&(V===void 0||V!==H.value.trigger.value)&&(H.value.onOpenChange(!1),H.value=void 0)}),Ne(_,V=>{r.onContentChange(V)}),za(()=>{window.clearTimeout(d.value)});function k(V){return v.value===p.value?.side&&xk(V,p.value?.area)}async function B(V){a("openAutoFocus",V),!V.defaultPrevented&&(V.preventDefault(),_.value?.focus({preventScroll:!0}))}function Y(V){if(V.defaultPrevented)return;const X=V.target,ae=X.closest("[data-reka-menu-content]")===V.currentTarget,ce=["input","textarea"].includes(X.tagName.toLowerCase()),te=V.ctrlKey||V.altKey||V.metaKey,ie=V.key.length===1,le=yf(V,ht(),_.value,{loop:i.value,arrowKeyOptions:"vertical",dir:l?.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(le)return le?.focus();if(V.code==="Space")return;const re=b.value?.getItems()??[];if(ae&&(V.key==="Tab"&&V.preventDefault(),!te&&ie&&!ce&&C(V.key,re)),V.target!==_.value||!gk.includes(V.key))return;V.preventDefault();const we=[...re.map(ue=>ue.ref)];dm.includes(V.key)&&we.reverse(),bk(we)}function D(V){V?.currentTarget?.contains?.(V.target)||(window.clearTimeout(d.value),c.value="")}function L(V){if(!Vo(V))return;const X=V.target,ae=m.value!==V.clientX;if(V?.currentTarget?.contains(X)&&ae){const ce=V.clientX>m.value?"right":"left";v.value=ce,m.value=V.clientX}}function W(V){Vo(V)&&z.value&&z.value.focus()}return qC({onItemEnter:V=>!!k(V),onItemLeave:V=>k(V)?!0:(["INPUT","TEXTAREA"].includes(ht()?.tagName||"")||_.value?.focus(),g.value=null,!1),onTriggerLeave:V=>!!k(V),searchRef:c,highlightedElement:A,onKeydownNavigation:N,onKeydownEnter:G,filterElement:z,onFilterElementChange:V=>{z.value=V},activeSubmenuContext:H,pointerGraceTimerRef:f,onPointerGraceIntentChange:V=>{p.value=V}}),(V,X)=>(h(),F(u(bc),{"as-child":"",trapped:u(o),onMountAutoFocus:B,onUnmountAutoFocus:X[7]||(X[7]=ae=>a("closeAutoFocus",ae))},{default:T(()=>[j(u(gc),{"as-child":"","disable-outside-pointer-events":u(s),onEscapeKeyDown:X[2]||(X[2]=ae=>a("escapeKeyDown",ae)),onPointerDownOutside:X[3]||(X[3]=ae=>a("pointerDownOutside",ae)),onFocusOutside:X[4]||(X[4]=ae=>a("focusOutside",ae)),onInteractOutside:X[5]||(X[5]=ae=>a("interactOutside",ae)),onDismiss:X[6]||(X[6]=ae=>a("dismiss"))},{default:T(()=>[j(u(Tm),{ref_key:"rovingFocusGroupRef",ref:b,"current-tab-stop-id":g.value,"onUpdate:currentTabStopId":X[0]||(X[0]=ae=>g.value=ae),"as-child":"",orientation:"vertical",dir:u(l).dir.value,loop:u(i),onEntryFocus:X[1]||(X[1]=ae=>{a("entryFocus",ae),u(l).isUsingKeyboardRef.value||ae.preventDefault()})},{default:T(()=>[j(u(Dm),{ref:u(y),role:"menu",as:V.as,"as-child":V.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":u(fm)(u(r).open.value),dir:u(l).dir.value,side:V.side,"side-offset":V.sideOffset,align:V.align,"align-offset":V.alignOffset,"avoid-collisions":V.avoidCollisions,"collision-boundary":V.collisionBoundary,"collision-padding":V.collisionPadding,"arrow-padding":V.arrowPadding,"prioritize-position":V.prioritizePosition,"position-strategy":V.positionStrategy,"update-position-strategy":V.updatePositionStrategy,sticky:V.sticky,"hide-when-detached":V.hideWhenDetached,reference:V.reference,onKeydown:Y,onBlur:D,onPointermove:L,onPointerenter:W},{default:T(()=>[he(V.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),Fm=TC,RC=Q({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=Bm(),{forwardRef:a,currentElement:r}=je(),{CollectionItem:l}=_c(),o=R(!1),s=x(()=>o.value||r.value!=null&&n.highlightedElement.value===r.value);async function i(d){if(!(d.defaultPrevented||!Vo(d))){if(t.disabled)n.onItemLeave(d);else if(!n.onItemEnter(d)){const p=d.currentTarget;n.highlightedElement.value=p,["INPUT","TEXTAREA"].includes(ht()?.tagName||"")||p.focus({preventScroll:!0})}}}async function c(d){if(await Ke(),d.defaultPrevented||!Vo(d)||n.highlightedElement.value!==r.value)return;!n.onItemLeave(d)&&n.highlightedElement.value===r.value&&(n.highlightedElement.value=void 0)}return(d,f)=>(h(),F(u(l),{value:{textValue:d.textValue}},{default:T(()=>[j(u(Ue),Te({ref:u(a),role:"menuitem",tabindex:"-1"},d.$attrs,{as:d.as,"as-child":d.asChild,"aria-disabled":d.disabled||void 0,"data-disabled":d.disabled?"":void 0,"data-highlighted":s.value?"":void 0,onPointermove:i,onPointerleave:c,onFocus:f[0]||(f[0]=async p=>{await Ke(),!(p.defaultPrevented||d.disabled)&&(o.value=!0,u(n).highlightedElement.value=p.currentTarget)}),onBlur:f[1]||(f[1]=async p=>{await Ke(),!p.defaultPrevented&&(o.value=!1)})}),{default:T(()=>[he(d.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),IC=RC,BC=Q({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=je(),o=qc(),s=Bm(),i=R(!1);async function c(){const d=l.value;if(!n.disabled&&d){const f=new CustomEvent(mk,{bubbles:!0,cancelable:!0});a("select",f),await Ke(),f.defaultPrevented?i.value=!1:o.onClose()}}return(d,f)=>(h(),F(IC,Te(n,{ref:u(r),onClick:c,onPointerdown:f[0]||(f[0]=()=>{i.value=!0}),onPointerup:f[1]||(f[1]=async p=>{await Ke(),!p.defaultPrevented&&(i.value||p.currentTarget?.click())}),onKeydown:f[2]||(f[2]=async p=>{const v=u(s).searchRef.value!=="";d.disabled||v&&p.key===" "||u(yu).includes(p.key)&&(p.currentTarget?.click(),p.preventDefault())})}),{default:T(()=>[he(d.$slots,"default")]),_:3},16))}}),FC=BC,NC=Q({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Gn(n,a),l=Is(),{forwardRef:o,currentElement:s}=je();return yc(s),(i,c)=>(h(),F(Fm,Te(u(r),{ref:u(o),"trap-focus":u(l).open.value,"disable-outside-pointer-events":u(l).open.value,"disable-outside-scroll":!0,onDismiss:c[0]||(c[0]=d=>u(l).onOpenChange(!1)),onFocusOutside:c[1]||(c[1]=ut(d=>a("focusOutside",d),["prevent"]))}),{default:T(()=>[he(i.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),VC=NC,LC=Q({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t),l=Is();return(o,s)=>(h(),F(Fm,Te(u(r),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:s[0]||(s[0]=i=>u(l).onOpenChange(!1))}),{default:T(()=>[he(o.$slots,"default")]),_:3},16))}}),jC=LC,UC=Q({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t),l=Is(),o=qc();return(s,i)=>(h(),F(u(Bl),{present:s.forceMount||u(l).open.value},{default:T(()=>[u(o).modal.value?(h(),F(VC,We(Te({key:0},{...s.$attrs,...u(r)})),{default:T(()=>[he(s.$slots,"default")]),_:3},16)):(h(),F(jC,We(Te({key:1},{...s.$attrs,...u(r)})),{default:T(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),zC=UC,HC=Q({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ds),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),KC=HC,WC=Q({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ue),Te(t,{role:"separator","aria-orientation":"horizontal"}),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),GC=WC;const[YC,JC]=dt("DateFieldRoot");var ZC=Q({inheritAttrs:!1,__name:"DateFieldRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},modelValue:{type:null,required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},isDateUnavailable:{type:Function,required:!1,default:void 0},id:{type:String,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:placeholder"],setup(e,{expose:t,emit:n}){const a=e,r=n,{disabled:l,readonly:o,isDateUnavailable:s,granularity:i,defaultValue:c,dir:d,locale:f}=Pt(a),p=Es(f),v=xa(d),m=hc(p.value,{hourCycle:xl(a.hourCycle)}),{primitiveElement:g,currentElement:b}=La(),y=R(new Set);gt(()=>{rp(b.value).forEach(ue=>y.value.add(ue))});const _=vt(a,"modelValue",r,{defaultValue:c.value,passive:a.modelValue===void 0}),C=vc({defaultPlaceholder:a.placeholder,granularity:i.value,defaultValue:_.value,locale:a.locale}),A=vt(a,"placeholder",r,{defaultValue:a.defaultPlaceholder??C.copy(),passive:a.placeholder===void 0}),N=x(()=>nm(a)),G=x(()=>a.granularity?hu(A.value)?a.granularity:"day":hu(A.value)?"minute":"day"),z=x(()=>_.value?!!(s.value?.(_.value)||a.minValue&&ia(_.value,a.minValue)||a.maxValue&&ia(a.maxValue,_.value)):!1),H=_2(G.value),k=R(_.value?{...ap({value:_.value,formatter:m})}:{...H}),B=x(()=>Mm({granularity:G.value,dateRef:A.value,formatter:m,hideTimeZone:a.hideTimeZone,hourCycle:a.hourCycle,segmentValues:k.value,locale:p})),Y=x(()=>B.value.arr),D=x(()=>Y.value.filter(({part:ue})=>ue!=="literal"));Ne(p,ue=>{m.getLocale()!==ue&&(m.setLocale(ue),Ke(()=>{y.value.clear(),rp(b.value).forEach(Ce=>y.value.add(Ce))}))}),Ne(_,ue=>{!Vt(ue)&&A.value.compare(ue)!==0&&(A.value=ue.copy())}),Ne([_,p],([ue])=>{Vt(ue)?Object.values(k.value).every(Ce=>Ce!==null)&&Vt(ue)&&(k.value={...H}):k.value={...ap({value:ue,formatter:m})}});const L=R(null),W=x(()=>Array.from(y.value).findIndex(ue=>ue.getAttribute("data-reka-date-field-segment")===L.value?.getAttribute("data-reka-date-field-segment"))),V=x(()=>{const ue=v.value==="rtl"?-1:1;return(ue<0?W.value<0:W.value>y.value.size-1)?null:Array.from(y.value)[W.value+ue]}),X=x(()=>{const ue=v.value==="rtl"?-1:1;return(ue>0?W.value<0:W.value>y.value.size-1)?null:Array.from(y.value)[W.value-ue]}),ae=x(()=>rm(G.value)),ce=x(()=>xi(_.value,G.value)),te=x(()=>a.maxValue?xi(a.maxValue,G.value):void 0),ie=x(()=>a.minValue?xi(a.minValue,G.value):void 0),le=Mr();function re(ue){ue.isComposing||Dn(ue.key)&&(ue.key===le.ARROW_LEFT&&X.value?.focus(),ue.key===le.ARROW_RIGHT&&V.value?.focus())}function we(ue){L.value=ue}return JC({isDateUnavailable:s.value,locale:p,modelValue:_,placeholder:A,disabled:l,formatter:m,hourCycle:a.hourCycle,step:N,readonly:o,segmentValues:k,isInvalid:z,segmentContents:D,elements:y,setFocusedElement:we,focusNext(){V.value?.focus()}}),t({setFocusedElement:we}),(ue,Ce)=>(h(),F(u(Ue),Te(ue.$attrs,{ref_key:"primitiveElement",ref:g,role:"group","aria-disabled":u(l)?!0:void 0,"data-disabled":u(l)?"":void 0,"data-readonly":u(o)?"":void 0,"data-invalid":z.value?"":void 0,dir:u(v),onKeydown:pa(re,["left","right"])}),{default:T(()=>[he(ue.$slots,"default",{modelValue:u(_),segments:Y.value,isInvalid:z.value}),j(u(xc),{id:ue.id,as:"input",type:ae.value,feature:"focusable",tabindex:"-1",value:ce.value,name:ue.name,disabled:u(l),required:ue.required,max:te.value,min:ie.value,onFocus:Ce[0]||(Ce[0]=pe=>Array.from(y.value)?.[0]?.focus())},null,8,["id","type","value","name","disabled","required","max","min"])]),_:3},16,["aria-disabled","data-disabled","data-readonly","data-invalid","dir"]))}}),QC=ZC,XC=Q({__name:"DateFieldInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=YC(),a=R(!0),r=R(!1),{handleSegmentClick:l,handleSegmentKeydown:o,handleSegmentBeforeInput:s,handleSegmentCompositionStart:i,handleSegmentCompositionEnd:c,attributes:d}=qm({hasLeftFocus:a,lastKeyZero:r,placeholder:n.placeholder,hourCycle:n.hourCycle,step:n.step,segmentValues:n.segmentValues,formatter:n.formatter,part:t.part,disabled:n.disabled,readonly:n.readonly,focusNext:n.focusNext,modelValue:n.modelValue}),f=x(()=>n.disabled.value),p=x(()=>n.readonly.value),v=x(()=>n.isInvalid.value);return(m,g)=>(h(),F(u(Ue),Te({as:m.as,"as-child":m.asChild},u(d),{contenteditable:f.value||p.value?!1:m.part!=="literal","data-reka-date-field-segment":m.part,"aria-disabled":f.value?!0:void 0,"aria-readonly":p.value?!0:void 0,"data-disabled":f.value?"":void 0,"data-invalid":v.value?"":void 0,"aria-invalid":v.value?!0:void 0},fv(m.part!=="literal"?{mousedown:u(l),keydown:u(o),beforeinput:u(s),compositionstart:u(i),compositionend:u(c),focusout:()=>{a.value=!0},focusin:b=>{u(n).setFocusedElement(b.target)}}:{})),{default:T(()=>[he(m.$slots,"default")]),_:3},16,["as","as-child","contenteditable","data-reka-date-field-segment","aria-disabled","aria-readonly","data-disabled","data-invalid","aria-invalid"]))}}),eS=XC;const[jl,tS]=dt("PopoverRoot");var nS=Q({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{modal:r}=Pt(n),l=vt(n,"open",a,{defaultValue:n.defaultOpen,passive:n.open===void 0});return tS({contentId:"",triggerId:"",modal:r,open:l,onOpenChange:i=>{l.value=i},onOpenToggle:()=>{l.value=!l.value},triggerElement:R(),hasCustomAnchor:R(!1)}),(i,c)=>(h(),F(u(mm),null,{default:T(()=>[he(i.$slots,"default",{open:u(l),close:()=>l.value=!1})]),_:3}))}}),aS=nS;const[Tc,rS]=dt("DatePickerRoot");var lS=Q({inheritAttrs:!1,__name:"DatePickerRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},modelValue:{type:null,required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},isDateUnavailable:{type:Function,required:!1,default:void 0},id:{type:String,required:!1},dir:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},fixedWeeks:{type:Boolean,required:!1,default:!1},numberOfMonths:{type:Number,required:!1,default:1},preventDeselect:{type:Boolean,required:!1,default:!1},closeOnSelect:{type:Boolean,required:!1,default:!1}},emits:["update:open","update:modelValue","update:placeholder"],setup(e,{emit:t}){const n=e,a=t,{locale:r,disabled:l,readonly:o,pagedNavigation:s,weekdayFormat:i,fixedWeeks:c,numberOfMonths:d,preventDeselect:f,isDateDisabled:p,isDateUnavailable:v,defaultOpen:m,modal:g,id:b,name:y,required:_,minValue:C,maxValue:A,granularity:N,hideTimeZone:G,hourCycle:z,defaultValue:H,dir:k,step:B,closeOnSelect:Y}=Pt(n),D=xa(k),L=Es(r),W=x(()=>n.weekStartsOn??lm(L.value)),V=vt(n,"modelValue",a,{defaultValue:H.value,passive:n.modelValue===void 0}),X=x(()=>vc({defaultPlaceholder:n.placeholder,granularity:n.granularity,defaultValue:V.value,locale:L.value})),ae=vt(n,"placeholder",a,{defaultValue:n.defaultPlaceholder??X.value.copy(),passive:n.placeholder===void 0}),ce=vt(n,"open",a,{defaultValue:m.value,passive:n.open===void 0}),te=R();function ie(le){return"hour"in le?le.set({hour:0,minute:0,second:0,millisecond:0}):le}return Ne(V,le=>{le&&le.compare(ae.value)!==0?ae.value=le.copy():!le&&"hour"in ae.value&&(ae.value=ie(ae.value)),Y.value&&(ce.value=!1)}),rS({isDateUnavailable:v.value,isDateDisabled:p.value,locale:L,disabled:l,pagedNavigation:s,weekStartsOn:W,weekdayFormat:i,fixedWeeks:c,numberOfMonths:d,readonly:o,preventDeselect:f,modelValue:V,placeholder:ae,defaultOpen:m,modal:g,open:ce,id:b,name:y,required:_,minValue:C,maxValue:A,granularity:N,hideTimeZone:G,hourCycle:z,dateFieldRef:te,dir:D,step:B,onDateChange(le){le?V.value&&!f.value&&le&&V.value.compare(le)===0?V.value=void 0:V.value=le.copy():V.value=void 0},onPlaceholderChange(le){ae.value=le.copy()},closeOnSelect:Y}),(le,re)=>(h(),F(u(aS),{open:u(ce),"onUpdate:open":re[0]||(re[0]=we=>ot(ce)?ce.value=we:null),"default-open":u(m),modal:u(g)},{default:T(()=>[he(le.$slots,"default")]),_:3},8,["open","default-open","modal"]))}}),oS=lS,sS=Q({__name:"DatePickerCalendar",setup(e){const t=Tc();return(n,a)=>(h(),F(u(H2),Te({isDateDisabled:u(t).isDateDisabled,isDateUnavailable:u(t).isDateUnavailable,minValue:u(t).minValue.value,maxValue:u(t).maxValue.value,locale:u(t).locale.value,disabled:u(t).disabled.value,pagedNavigation:u(t).pagedNavigation.value,weekStartsOn:u(t).weekStartsOn.value,weekdayFormat:u(t).weekdayFormat.value,fixedWeeks:u(t).fixedWeeks.value,numberOfMonths:u(t).numberOfMonths.value,readonly:u(t).readonly.value,preventDeselect:u(t).preventDeselect.value,dir:u(t).dir.value},{"model-value":u(t).modelValue.value,placeholder:u(t).placeholder.value,multiple:!1,"onUpdate:modelValue":a[0]||(a[0]=r=>{r&&u(t).modelValue.value&&u(yr)(r,u(t).modelValue.value)||u(t).onDateChange(r)}),"onUpdate:placeholder":a[1]||(a[1]=r=>{u(yr)(r,u(t).placeholder.value)||u(t).onPlaceholderChange(r)})}),{default:T(({weekDays:r,grid:l,date:o,weekStartsOn:s,locale:i,fixedWeeks:c})=>[he(n.$slots,"default",{date:o,grid:l,weekDays:r,weekStartsOn:s,locale:i,fixedWeeks:c})]),_:3},16,["model-value","placeholder"]))}}),iS=sS,uS=Q({__name:"DatePickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(W2),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),cS=uS,dS=Q({__name:"DatePickerCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Y2),We(Ye(t)),{default:T(r=>[he(n.$slots,"default",We(Ye(r)))]),_:3},16))}}),fS=dS,pS=Q({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=sm(qx(n,"trapFocus","disableOutsidePointerEvents")),{forwardRef:l}=je(),o=jl();return om(),(s,i)=>(h(),F(u(bc),{"as-child":"",loop:"",trapped:s.trapFocus,onMountAutoFocus:i[5]||(i[5]=c=>a("openAutoFocus",c)),onUnmountAutoFocus:i[6]||(i[6]=c=>a("closeAutoFocus",c))},{default:T(()=>[j(u(gc),{"as-child":"","disable-outside-pointer-events":s.disableOutsidePointerEvents,onPointerDownOutside:i[0]||(i[0]=c=>a("pointerDownOutside",c)),onInteractOutside:i[1]||(i[1]=c=>a("interactOutside",c)),onEscapeKeyDown:i[2]||(i[2]=c=>a("escapeKeyDown",c)),onFocusOutside:i[3]||(i[3]=c=>a("focusOutside",c)),onDismiss:i[4]||(i[4]=c=>u(o).onOpenChange(!1))},{default:T(()=>[j(u(Dm),Te(u(r),{id:u(o).contentId,ref:u(l),"data-state":u(o).open.value?"open":"closed","aria-labelledby":u(o).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:T(()=>[he(s.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),Nm=pS,vS=Q({__name:"PopoverContentModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=jl(),l=R(!1);nc(!0);const o=Gn(n,a),{forwardRef:s,currentElement:i}=je();return yc(i),(c,d)=>(h(),F(Nm,Te(u(o),{ref:u(s),"trap-focus":u(r).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=ut(f=>{a("closeAutoFocus",f),l.value||u(r).triggerElement.value?.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=f=>{a("pointerDownOutside",f);const p=f.detail.originalEvent,v=p.button===0&&p.ctrlKey===!0,m=p.button===2||v;l.value=m}),onFocusOutside:d[2]||(d[2]=ut(()=>{},["prevent"]))}),{default:T(()=>[he(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),hS=vS,mS=Q({__name:"PopoverContentNonModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=jl(),l=R(!1),o=R(!1),s=Gn(n,a);return(i,c)=>(h(),F(Nm,Te(u(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{a("closeAutoFocus",d),d.defaultPrevented||(l.value||u(r).triggerElement.value?.focus(),d.preventDefault()),l.value=!1,o.value=!1}),onInteractOutside:c[1]||(c[1]=async d=>{a("interactOutside",d),d.defaultPrevented||(l.value=!0,d.detail.originalEvent.type==="pointerdown"&&(o.value=!0));const f=d.target;u(r).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&o.value&&d.preventDefault()})}),{default:T(()=>[he(i.$slots,"default")]),_:3},16))}}),yS=mS,gS=Q({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=jl(),l=Gn(n,a),{forwardRef:o}=je();return r.contentId||=Va(void 0,"reka-popover-content"),(s,i)=>(h(),F(u(Bl),{present:s.forceMount||u(r).open.value},{default:T(()=>[u(r).modal.value?(h(),F(hS,Te({key:0},u(l),{ref:u(o)}),{default:T(()=>[he(s.$slots,"default")]),_:3},16)):(h(),F(yS,Te({key:1},u(l),{ref:u(o)}),{default:T(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),bS=gS,_S=Q({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Ds),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),xS=_S,wS=Q({__name:"DatePickerContent",props:{portal:{type:Object,required:!1},forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>({...n,portal:void 0})),l=Gn(r,a);return(o,s)=>(h(),F(u(xS),We(Ye(o.portal)),{default:T(()=>[j(u(bS),Te({...u(l),...o.$attrs},{onOpenAutoFocus:s[0]||(s[0]=i=>{a("openAutoFocus",i),!i.defaultPrevented&&i.target&&(u(am)(i.target),i.preventDefault())})}),{default:T(()=>[he(o.$slots,"default")]),_:3},16)]),_:3},16))}}),kS=wS,$S=Q({__name:"DatePickerField",setup(e){const t=Tc();return(n,a)=>(h(),F(u(QC),Te({ref:u(t).dateFieldRef,"model-value":u(t).modelValue.value,placeholder:u(t).placeholder.value},{id:u(t).id.value,name:u(t).name.value,disabled:u(t).disabled.value,minValue:u(t).minValue.value,maxValue:u(t).maxValue.value,readonly:u(t).readonly.value,hourCycle:u(t).hourCycle.value,granularity:u(t).granularity.value,hideTimeZone:u(t).hideTimeZone.value,locale:u(t).locale.value,isDateUnavailable:u(t).isDateUnavailable,required:u(t).required.value,dir:u(t).dir.value,step:u(t).step.value},{"onUpdate:modelValue":a[0]||(a[0]=r=>{r&&u(t).modelValue.value&&r.compare(u(t).modelValue.value)===0||u(t).onDateChange(r)}),"onUpdate:placeholder":a[1]||(a[1]=r=>{r.compare(u(t).placeholder.value)!==0&&u(t).onPlaceholderChange(r)})}),{default:T(({segments:r,modelValue:l})=>[he(n.$slots,"default",{segments:r,modelValue:l})]),_:3},16,["model-value","placeholder"]))}}),CS=$S,SS=Q({__name:"DatePickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(Z2),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),AS=SS,ES=Q({__name:"DatePickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(X2),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),DS=ES,OS=Q({__name:"DatePickerGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(tC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),PS=OS,MS=Q({__name:"DatePickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(aC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),op=MS,qS=Q({__name:"DatePickerHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(lC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),TS=qS,RS=Q({__name:"DatePickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(sC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),IS=RS,BS=Q({__name:"DatePickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(uC),We(Ye(t)),{default:T(({headingValue:r})=>[he(n.$slots,"default",{headingValue:r},()=>[ke(M(r),1)])]),_:3},16))}}),FS=BS,NS=Q({__name:"DatePickerInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(eS),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),VS=NS,LS=Q({__name:"DatePickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(dC),We(Ye(t)),{default:T(r=>[he(n.$slots,"default",We(Ye(r)))]),_:3},16))}}),jS=LS,US=Q({__name:"DatePickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(pC),We(Ye(t)),{default:T(r=>[he(n.$slots,"default",We(Ye(r)))]),_:3},16))}}),zS=US,HS=Q({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=jl(),{forwardRef:a,currentElement:r}=je();return n.triggerId||=Va(void 0,"reka-popover-trigger"),gt(()=>{n.triggerElement.value=r.value}),(l,o)=>(h(),F(Ut(u(n).hasCustomAnchor.value?u(Ue):u(ym)),{"as-child":""},{default:T(()=>[j(u(Ue),{id:u(n).triggerId,ref:u(a),type:l.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":u(n).open.value,"aria-controls":u(n).contentId,"data-state":u(n).open.value?"open":"closed",as:l.as,"as-child":t.asChild,onClick:u(n).onOpenToggle},{default:T(()=>[he(l.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),KS=HS,WS=Q({__name:"DatePickerTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=Tc();return(a,r)=>(h(),F(u(KS),Te({"data-reka-date-field-segment":"trigger"},t,{disabled:u(n).disabled.value,onFocusin:r[0]||(r[0]=l=>{u(n).dateFieldRef.value?.setFocusedElement(l.target)})}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["disabled"]))}}),GS=WS;const[Vm,YS]=dt("DropdownMenuRoot");var JS=Q({__name:"DropdownMenuRoot",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t;je();const r=vt(n,"open",a,{defaultValue:n.defaultOpen,passive:n.open===void 0}),l=R(),{modal:o,dir:s}=Pt(n),i=xa(s);return YS({open:r,onOpenChange:c=>{r.value=c},onOpenToggle:()=>{r.value=!r.value},triggerId:"",triggerElement:l,contentId:"",modal:o,dir:i}),(c,d)=>(h(),F(u(MC),{open:u(r),"onUpdate:open":d[0]||(d[0]=f=>ot(r)?r.value=f:null),dir:u(i),modal:u(o)},{default:T(()=>[he(c.$slots,"default",{open:u(r)})]),_:3},8,["open","dir","modal"]))}}),Lm=JS,ZS=Q({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t);je();const l=Vm(),o=R(!1);function s(i){i.defaultPrevented||(o.value||setTimeout(()=>{l.triggerElement.value?.focus()},0),o.value=!1,i.preventDefault())}return l.contentId||=Va(void 0,"reka-dropdown-menu-content"),(i,c)=>(h(),F(u(zC),Te(u(r),{id:u(l).contentId,"aria-labelledby":u(l)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-dropdown-menu-content-available-width":"var(--reka-popper-available-width)","--reka-dropdown-menu-content-available-height":"var(--reka-popper-available-height)","--reka-dropdown-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-dropdown-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:s,onInteractOutside:c[0]||(c[0]=d=>{if(d.defaultPrevented)return;const f=d.detail.originalEvent,p=f.button===0&&f.ctrlKey===!0,v=f.button===2||p;(!u(l).modal.value||v)&&(o.value=!0),u(l).triggerElement.value?.contains(d.target)&&d.preventDefault()})}),{default:T(()=>[he(i.$slots,"default")]),_:3},16,["id","aria-labelledby"]))}}),jm=ZS,QS=Q({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,r=Pr(t);return je(),(l,o)=>(h(),F(u(FC),We(Ye({...n,...u(r)})),{default:T(()=>[he(l.$slots,"default")]),_:3},16))}}),Um=QS,XS=Q({__name:"DropdownMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),F(u(KC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),zm=XS,eA=Q({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return je(),(n,a)=>(h(),F(u(GC),We(Ye(t)),{default:T(()=>[he(n.$slots,"default")]),_:3},16))}}),tA=eA,nA=Q({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Vm(),{forwardRef:a,currentElement:r}=je();return gt(()=>{n.triggerElement=r}),n.triggerId||=Va(void 0,"reka-dropdown-menu-trigger"),(l,o)=>(h(),F(u(SC),{"as-child":""},{default:T(()=>[j(u(Ue),{id:u(n).triggerId,ref:u(a),type:l.as==="button"?"button":void 0,"as-child":t.asChild,as:l.as,"aria-haspopup":"menu","aria-expanded":u(n).open.value,"aria-controls":u(n).open.value?u(n).contentId:void 0,"data-disabled":l.disabled?"":void 0,disabled:l.disabled,"data-state":u(n).open.value?"open":"closed",onClick:o[0]||(o[0]=async s=>{!l.disabled&&s.button===0&&s.ctrlKey===!1&&(u(n)?.onOpenToggle(),await Ke(),u(n).open.value&&s.preventDefault())}),onKeydown:o[1]||(o[1]=pa(s=>{l.disabled||(["Enter"," "].includes(s.key)&&u(n).onOpenToggle(),s.key==="ArrowDown"&&u(n).onOpenChange(!0),["Enter"," ","ArrowDown"].includes(s.key)&&s.preventDefault())},["enter","space","arrow-down"]))},{default:T(()=>[he(l.$slots,"default")]),_:3},8,["id","type","as-child","as","aria-expanded","aria-controls","data-disabled","disabled","data-state"])]),_:3}))}}),Hm=nA;const Cl=100,[aA,rA]=dt("ProgressRoot"),zo=e=>typeof e=="number";function lA(e,t){return Vt(e)||zo(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Cl} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`),null)}function oA(e){return zo(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Cl}\`.`),Cl)}var sA=Q({__name:"ProgressRoot",props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:Cl},getValueLabel:{type:Function,required:!1,default:(e,t)=>zo(e)?`${Math.round(e/t*Cl)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue","update:max"],setup(e,{emit:t}){const n=e,a=t;je();const r=vt(n,"modelValue",a,{passive:n.modelValue===void 0}),l=vt(n,"max",a,{passive:n.max===void 0});Ne(()=>r.value,async s=>{const i=lA(s,n.max);i!==s&&(await Ke(),r.value=i)},{immediate:!0}),Ne(()=>n.max,s=>{const i=oA(n.max);i!==s&&(l.value=i)},{immediate:!0});const o=x(()=>Vt(r.value)?"indeterminate":r.value===l.value?"complete":"loading");return rA({modelValue:r,max:l,progressState:o}),(s,i)=>(h(),F(u(Ue),{"as-child":s.asChild,as:s.as,"aria-valuemax":u(l),"aria-valuemin":0,"aria-valuenow":zo(u(r))?u(r):void 0,"aria-valuetext":s.getValueText?.(u(r),u(l)),"aria-label":s.getValueLabel(u(r),u(l)),role:"progressbar","data-state":o.value,"data-value":u(r)??void 0,"data-max":u(l)},{default:T(()=>[he(s.$slots,"default",{modelValue:u(r)})]),_:3},8,["as-child","as","aria-valuemax","aria-valuenow","aria-valuetext","aria-label","data-state","data-value","data-max"]))}}),Pi=sA,iA=Q({__name:"ProgressIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=aA();return je(),(a,r)=>(h(),F(u(Ue),Te(t,{"data-state":u(n).progressState.value,"data-value":u(n).modelValue?.value??void 0,"data-max":u(n).max.value}),{default:T(()=>[he(a.$slots,"default")]),_:3},16,["data-state","data-value","data-max"]))}}),Mi=iA;const uA="radio.select";function cA(e,t,n){Xu(uA,n,{originalEvent:e,value:t})}var dA=Q({__name:"Radio",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},checked:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:checked","select"],setup(e,{emit:t}){const n=e,a=t,r=vt(n,"checked",a,{passive:n.checked===void 0}),{value:l}=Pt(n),{forwardRef:o,currentElement:s}=je(),i=mc(s),c=x(()=>n.id&&s.value?document.querySelector(`[for="${n.id}"]`)?.innerText??n.value:void 0);function d(f){n.disabled||cA(f,n.value,p=>{a("select",p),!p?.defaultPrevented&&(r.value=!0,i.value&&p.stopPropagation())})}return(f,p)=>(h(),F(u(Ue),Te(f.$attrs,{id:f.id,ref:u(o),role:"radio",type:f.as==="button"?"button":void 0,as:f.as,"aria-checked":u(r),"aria-label":c.value,"as-child":f.asChild,disabled:f.disabled?"":void 0,"data-state":u(r)?"checked":"unchecked","data-disabled":f.disabled?"":void 0,value:u(l),required:f.required,name:f.name,onClick:ut(d,["stop"])}),{default:T(()=>[he(f.$slots,"default",{checked:u(r)}),u(i)&&f.name?(h(),F(u(wc),{key:0,type:"radio",tabindex:"-1",value:u(l),checked:!!u(r),name:f.name,disabled:f.disabled,required:f.required},null,8,["value","checked","name","disabled","required"])):ne("v-if",!0)]),_:3},16,["id","type","as","aria-checked","aria-label","as-child","disabled","data-state","data-disabled","value","required","name"]))}}),fA=dA;const[pA,vA]=dt("RadioGroupRoot");var hA=Q({__name:"RadioGroupRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=je(),o=vt(n,"modelValue",a,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),{disabled:s,loop:i,orientation:c,name:d,required:f,dir:p}=Pt(n),v=xa(p),m=mc(l);return vA({modelValue:o,changeModelValue:g=>{o.value=g},disabled:s,loop:i,orientation:c,name:d?.value,required:f}),(g,b)=>(h(),F(u(Tm),{"as-child":"",orientation:u(c),dir:u(v),loop:u(i)},{default:T(()=>[j(u(Ue),{ref:u(r),role:"radiogroup","data-disabled":u(s)?"":void 0,"as-child":g.asChild,as:g.as,"aria-orientation":u(c),"aria-required":u(f),dir:u(v)},{default:T(()=>[he(g.$slots,"default",{modelValue:u(o)}),u(m)&&u(d)?(h(),F(u(wc),{key:0,required:u(f),disabled:u(s),value:u(o),name:u(d)},null,8,["required","disabled","value","name"])):ne("v-if",!0)]),_:3},8,["data-disabled","as-child","as","aria-orientation","aria-required","dir"])]),_:3},8,["orientation","dir","loop"]))}}),mA=hA;const[vT,yA]=dt("RadioGroupItem");var gA=Q({inheritAttrs:!1,__name:"RadioGroupItem",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=je(),o=pA(),s=x(()=>o.disabled.value||n.disabled),i=x(()=>o.required.value||n.required),c=x(()=>gl(o.modelValue?.value,n.value));yA({disabled:s,checked:c});const d=R(!1),f=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];Ar("keydown",v=>{f.includes(v.key)&&(d.value=!0)}),Ar("keyup",()=>{d.value=!1});function p(){setTimeout(()=>{d.value&&l.value?.click()},0)}return(v,m)=>(h(),F(u(Rm),{checked:c.value,disabled:s.value,"as-child":"",focusable:!s.value,active:c.value},{default:T(()=>[j(fA,Te({...v.$attrs,...n},{ref:u(r),checked:c.value,required:i.value,disabled:s.value,"onUpdate:checked":m[0]||(m[0]=g=>u(o).changeModelValue(v.value)),onSelect:m[1]||(m[1]=g=>a("select",g)),onKeydown:m[2]||(m[2]=pa(ut(()=>{},["prevent"]),["enter"])),onFocus:p}),{default:T(()=>[he(v.$slots,"default",{checked:c.value,required:i.value,disabled:s.value})]),_:3},16,["checked","required","disabled"])]),_:3},8,["checked","disabled","focusable","active"]))}}),bA=gA;const[_A,xA]=dt("TimeFieldRoot");function so(e,t=Il(on())){return e&&"day"in e?e:xn(t,e)}var wA=Q({inheritAttrs:!1,__name:"TimeFieldRoot",props:{defaultValue:{type:Object,required:!1,default:void 0},defaultPlaceholder:{type:Object,required:!1},placeholder:{type:Object,required:!1,default:void 0},modelValue:{type:[Object,null],required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},stepSnapping:{type:Boolean,required:!1,default:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:Object,required:!1},minValue:{type:Object,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},id:{type:String,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:placeholder"],setup(e,{expose:t,emit:n}){const a=e,r=n,{disabled:l,readonly:o,granularity:s,defaultValue:i,minValue:c,maxValue:d,stepSnapping:f,dir:p,locale:v}=Pt(a),m=Es(v),g=xa(p),b=hc(m.value,{hourCycle:xl(a.hourCycle)}),{primitiveElement:y,currentElement:_}=La(),C=R(new Set),A=x(()=>nm(a)),N=x(()=>c.value?so(c.value):void 0),G=x(()=>d.value?so(d.value):void 0);gt(()=>{lp(_.value).forEach(pe=>C.value.add(pe))});const z=vt(a,"modelValue",r,{defaultValue:i.value,passive:a.modelValue===void 0}),H=x({get(){return Vt(z.value)?z.value:so(z.value)},set(pe){return pe?z.value=z.value&&"day"in z.value?pe:new mn(pe.hour,pe.minute,pe.second,z.value?.millisecond):z.value=pe,pe}}),k=Vw({defaultPlaceholder:a.placeholder,defaultValue:z.value}),B=vt(a,"placeholder",r,{defaultValue:a.defaultPlaceholder??k.copy(),passive:a.placeholder===void 0}),Y=x({get(){return so(B.value)},set(pe){return pe&&(B.value="day"in B.value?pe.copy():new mn(pe.hour,pe.minute,pe.second,B.value?.millisecond)),pe}}),D=x(()=>s.value?s.value:"minute"),L=x(()=>z.value?!!(N.value&&ia(H.value,N.value)||G.value&&ia(G.value,H.value)):!1),W=b2(D.value),V=R(z.value?{...wu({value:H.value,formatter:b})}:{...W}),X=x(()=>Mm({granularity:D.value,dateRef:Y.value,formatter:b,hideTimeZone:a.hideTimeZone,hourCycle:a.hourCycle,segmentValues:V.value,locale:m,isTimeValue:!0})),ae=x(()=>{const pe=X.value.arr;return a.hourCycle===12?pe.map(Z=>{if(Z.part==="hour"&&"hour"in V.value){const ve=V.value.hour;if(ve!==null){const ee=ve===0?12:ve>12?ve-12:ve;return{...Z,value:ee.toString()}}}return Z}):pe}),ce=x(()=>ae.value.filter(({part:pe})=>pe!=="literal"));Ne(m,pe=>{b.getLocale()!==pe&&(b.setLocale(pe),Ke(()=>{C.value.clear(),lp(_.value).forEach(Z=>C.value.add(Z))}))}),Ne(H,pe=>{!Vt(pe)&&(!yr(Y.value,pe)||Y.value.compare(pe)!==0)&&(B.value=pe.copy())}),Ne([H,m],([pe])=>{Vt(pe)?Object.values(V.value).every(Z=>Z!==null)&&Vt(pe)&&(V.value={...W}):V.value={...wu({value:pe,formatter:b})}});const te=R(null),ie=x(()=>Array.from(C.value).findIndex(pe=>pe.getAttribute("data-reka-time-field-segment")===te.value?.getAttribute("data-reka-time-field-segment"))),le=x(()=>{const pe=g.value==="rtl"?-1:1;return(pe<0?ie.value<0:ie.value>C.value.size-1)?null:Array.from(C.value)[ie.value+pe]}),re=x(()=>{const pe=g.value==="rtl"?-1:1;return(pe>0?ie.value<0:ie.value>C.value.size-1)?null:Array.from(C.value)[ie.value-pe]}),we=Mr();function ue(pe){pe.isComposing||Dn(pe.key)&&(pe.key===we.ARROW_LEFT&&re.value?.focus(),pe.key===we.ARROW_RIGHT&&le.value?.focus())}function Ce(pe){te.value=pe}return xA({locale:m,modelValue:H,placeholder:Y,disabled:l,formatter:b,hourCycle:a.hourCycle,step:A,stepSnapping:f,readonly:o,segmentValues:V,isInvalid:L,segmentContents:ce,elements:C,setFocusedElement:Ce,focusNext(){le.value?.focus()}}),t({setFocusedElement:Ce}),(pe,Z)=>(h(),F(u(Ue),Te(pe.$attrs,{ref_key:"primitiveElement",ref:y,role:"group","aria-disabled":u(l)?!0:void 0,"data-disabled":u(l)?"":void 0,"data-readonly":u(o)?"":void 0,"data-invalid":L.value?"":void 0,dir:u(g),onKeydown:pa(ue,["left","right"])}),{default:T(()=>[he(pe.$slots,"default",{modelValue:u(z),segments:ae.value,isInvalid:L.value}),j(u(xc),{id:pe.id,as:"input",feature:"focusable",tabindex:"-1",value:u(z)?u(z).toString():"",name:pe.name,disabled:u(l),required:pe.required,onFocus:Z[0]||(Z[0]=ve=>Array.from(C.value)?.[0]?.focus())},null,8,["id","value","name","disabled","required"])]),_:3},16,["aria-disabled","data-disabled","data-readonly","data-invalid","dir"]))}}),sp=wA,kA=Q({__name:"TimeFieldInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=_A(),a=R(!0),r=R(!1),{handleSegmentClick:l,handleSegmentKeydown:o,handleSegmentBeforeInput:s,handleSegmentCompositionStart:i,handleSegmentCompositionEnd:c,handleSegmentFocusOut:d,attributes:f}=qm({hasLeftFocus:a,lastKeyZero:r,placeholder:n.placeholder,hourCycle:n.hourCycle,step:n.step,stepSnapping:n.stepSnapping,segmentValues:n.segmentValues,formatter:n.formatter,part:t.part,disabled:n.disabled,readonly:n.readonly,focusNext:n.focusNext,modelValue:n.modelValue}),p=x(()=>n.disabled.value),v=x(()=>n.readonly.value),m=x(()=>n.isInvalid.value);return(g,b)=>(h(),F(u(Ue),Te({as:g.as,"as-child":g.asChild},u(f),{contenteditable:p.value||v.value?!1:g.part!=="literal","data-reka-time-field-segment":g.part,"aria-disabled":p.value?!0:void 0,"aria-readonly":v.value?!0:void 0,"data-disabled":p.value?"":void 0,"data-invalid":m.value?"":void 0,"aria-invalid":m.value?!0:void 0},fv(g.part!=="literal"?{mousedown:u(l),keydown:u(o),beforeinput:u(s),compositionstart:u(i),compositionend:u(c),focusout:()=>{a.value=!0,u(d)()},focusin:y=>{u(n).setFocusedElement(y.target)}}:{})),{default:T(()=>[he(g.$slots,"default")]),_:3},16,["as","as-child","contenteditable","data-reka-time-field-segment","aria-disabled","aria-readonly","data-disabled","data-invalid","aria-invalid"]))}}),ip=kA;const Ho=R(null),Km=R(null);let ul=null;function Wm(e){Gm(),Km.value=e,!(e===null||e<=0)&&(ul=setTimeout(()=>{ul=null,Wu()},e*800))}function Gm(){ul!==null&&(clearTimeout(ul),ul=null)}U_(Wm);const cr=pt(Ho);async function $A(e,t){const{data:n,response:a}=await Me.POST("/auth/login",{body:{login:e,password:t}});return!a.ok||!n?!1:(Wm(typeof n.data.expires_in=="number"?n.data.expires_in:null),!0)}async function Ym(){const{data:e,response:t}=await Me.GET("/auth/me");return Ho.value=t.ok&&e?e.data:null,Ho.value}function Jm(){Gm(),Ho.value=null,Km.value=null}async function CA(e){try{await Me.POST("/auth/logout")}catch{}finally{Jm(),Z_([]),ex([])}e&&await e.replace({name:"login"}).catch(()=>{})}const SA={class:"flex size-[34px] shrink-0 items-center justify-center rounded-full bg-accent text-[13px] font-bold text-on-accent","aria-hidden":"true","data-user-initials":""},AA={class:"flex flex-col leading-tight max-[1099px]:hidden","data-user-identity":""},EA={class:"font-semibold"},DA={key:0,class:"text-[12px] text-muted","data-user-role":""},OA={class:"flex items-center gap-3 px-2 py-2"},PA={class:"flex size-10 shrink-0 items-center justify-center rounded-full bg-accent text-[14px] font-bold text-on-accent","aria-hidden":"true"},MA={class:"flex min-w-0 flex-col leading-tight"},qA={class:"truncate font-bold"},TA={class:"truncate text-[13px] text-muted"},RA=Q({__name:"UserMenu",setup(e){const t=Or(),n=x(()=>{const o=cr.value;if(!o)return"";const s=`${o.first_name} ${o.last_name}`.trim();return s===""?o.login:s}),a=x(()=>{const o=cr.value;if(!o)return"";const s=[o.first_name,o.last_name].map(i=>i.trim()).filter(Boolean);return s.length>0?s.slice(0,2).map(i=>i.charAt(0).toUpperCase()).join(""):o.login.slice(0,2).toUpperCase()}),r=x(()=>cr.value?.role?.name??"");async function l(){await CA(t)}return(o,s)=>(h(),F(u(Lm),{modal:!1},{default:T(()=>[j(u(Hm),{"data-user-menu":"",disabled:!u(cr),"aria-label":`${u(O)("backend::lang.nav.user_menu")}: ${n.value}`,class:"flex h-input items-center gap-2.5 rounded-inner px-2 text-left transition-colors duration-150 ease-out hover:bg-hover"},{default:T(()=>[P("span",SA,M(a.value),1),P("span",AA,[P("span",EA,M(n.value),1),r.value?(h(),$("span",DA,M(r.value),1)):ne("",!0)]),j(u(Ml),{size:16,class:"text-muted","aria-hidden":"true"})]),_:1},8,["disabled","aria-label"]),j(u(zm),null,{default:T(()=>[j(u(jm),{"data-user-menu-content":"",align:"end","side-offset":8,class:"z-50 flex w-[280px] flex-col rounded-[14px] border border-border bg-surface p-2 text-text shadow-menu"},{default:T(()=>[P("div",OA,[P("span",PA,M(a.value),1),P("span",MA,[P("span",qA,M(n.value),1),P("span",TA,M(u(cr)?.email),1)])]),j(u(tA),{class:"my-1 h-px bg-border"}),j(u(Um),{"data-action":"logout",class:"flex h-10 cursor-pointer items-center gap-2.5 rounded-control px-3 font-medium outline-none transition-colors duration-150 ease-out data-[highlighted]:bg-hover",onSelect:l},{default:T(()=>[j(u(ah),{size:18,"aria-hidden":"true"}),P("span",null,M(u(O)("backend::lang.auth.logout")),1)]),_:1})]),_:1})]),_:1})]),_:1}))}}),IA=4e3,Sl=R([]),ku=new Map;let BA=1;const FA=pt(Sl);function Pe(e,t="success"){const n=BA++;return Sl.value=[{id:n,text:e,tone:t},...Sl.value],ku.set(n,setTimeout(()=>Zm(n),IA)),n}function Zm(e){const t=ku.get(e);t!==void 0&&(clearTimeout(t),ku.delete(e)),Sl.value=Sl.value.filter(n=>n.id!==e)}const NA=["role","data-tone"],VA={class:"font-medium"},LA=["aria-label","onClick"],jA=Q({__name:"Toast",setup(e){return(t,n)=>(h(),F(Vb,{tag:"div",name:"toast",class:"pointer-events-none fixed inset-x-0 bottom-[88px] z-50 flex flex-col items-center gap-2 px-4"},{default:T(()=>[(h(!0),$(ge,null,Fe(u(FA),a=>(h(),$("div",{key:a.id,role:a.tone==="danger"?"alert":"status","data-tone":a.tone,class:"pointer-events-auto flex max-w-[560px] items-center gap-3 rounded-[14px] bg-[#1d2740] py-3 pr-2.5 pl-3.5 text-white shadow-toast"},[P("span",{class:_e([a.tone==="danger"?"bg-[#f58a8a] text-[#1d2740]":"bg-accent text-on-accent","flex size-[26px] shrink-0 items-center justify-center rounded-full"]),"aria-hidden":"true"},[a.tone==="danger"?(h(),F(u(Nt),{key:0,size:16})):(h(),F(u(Fa),{key:1,size:16}))],2),P("span",VA,M(a.text),1),P("button",{type:"button","aria-label":u(O)("backend::lang.form.close"),class:"flex size-8 items-center justify-center rounded-pager text-[#c3cbda] transition-colors duration-150 ease-out hover:bg-side-hover hover:text-white",onClick:r=>u(Zm)(a.id)},[j(u(Yt),{size:16,"aria-hidden":"true"})],8,LA)],8,NA))),128))]),_:1}))}}),UA={class:"flex min-h-screen bg-bg text-text"},zA={class:"flex min-w-0 flex-1 flex-col"},HA={class:"flex h-header shrink-0 items-center justify-between gap-4 border-b border-border bg-surface pr-6 pl-8"},KA={class:"min-w-0 flex-1 px-8 py-7"},WA=Q({__name:"AppShell",setup(e){const t=ln(),{collapsed:n,watchViewport:a}=xh(),r=a();It(r);const l=x(()=>xs(String(t.params.vendor??""),String(t.params.plugin??"")));return(o,s)=>(h(),$("div",UA,[j(fx),l.value&&!u(n)?(h(),F(yx,{key:0,entry:l.value},null,8,["entry"])):ne("",!0),P("div",zA,[P("header",HA,[j(xx),j(RA)]),P("main",KA,[he(o.$slots,"default")])]),j(jA)]))}}),GA=Q({__name:"App",setup(e){const t=ln(),n=x(()=>t.meta.shell===!0);return(a,r)=>n.value?(h(),F(WA,{key:0},{default:T(()=>[j(u(ru),null,{default:T(({Component:l,route:o})=>[(h(),F(Ut(l),{key:o.path}))]),_:1})]),_:1})):(h(),F(u(ru),{key:1}))}}),YA="data-summer-controller",qi=new Map,$u=new Map;let Cu="";function Qm(){return`${ys.base}/assets/`}function Xm(e){if(!e.startsWith(Qm())||e.includes("\\"))return!1;for(const n of e){const a=n.codePointAt(0)??0;if(a<=32||a===127)return!1}return!(e.split(/[?#]/,1)[0]??"").split("/").some(n=>{const a=n.toLowerCase().replaceAll("%2e",".");return a==="."||a===".."})}function JA(e){if(!Xm(e))return Promise.reject(new Error(`plugin script outside ${Qm()}: ${e}`));const t=qi.get(e);if(t)return t;const n=new Promise((a,r)=>{const l=document.createElement("script");l.type="module",l.addEventListener("load",()=>a(),{once:!0}),l.addEventListener("error",()=>{qi.delete(e),l.remove(),r(new Error(`plugin script failed to load: ${e}`))},{once:!0}),l.src=e,document.head.appendChild(l)});return qi.set(e,n),n}function ZA(e,t){for(const n of t){const a=`${e} +${n}`;if(!Xm(n)||$u.has(a))continue;const r=document.createElement("link");r.rel="stylesheet",r.setAttribute(YA,e),r.disabled=e!==Cu,r.href=n,$u.set(a,{owner:e,link:r}),document.head.appendChild(r)}}function QA(e){Cu=e;for(const{owner:t,link:n}of $u.values())n.disabled=t!==Cu}async function Rc(e,t){ZA(e,t?.styles??[]);const n=t?.scripts??[],a=await Promise.allSettled(n.map(r=>JA(r)));return n.filter((r,l)=>a[l]?.status==="rejected")}const XA={class:"flex min-h-screen items-center justify-center px-4",style:{background:"radial-gradient(ellipse at 50% 35%, #2b3a5c 0%, #1d2740 60%)"}},e3={class:"flex w-full max-w-[400px] flex-col gap-6"},t3={class:"flex items-center justify-center gap-3"},n3={class:"flex size-[34px] items-center justify-center rounded-full bg-accent-soft"},a3={class:"text-[22px] font-bold tracking-[-0.02em]"},r3={class:"flex flex-col gap-1.5"},l3={class:"font-semibold"},o3={class:"flex flex-col gap-1.5"},s3={class:"font-semibold"},i3=["aria-invalid"],u3={key:0,role:"alert",class:"flex items-center gap-2.5 rounded-control bg-[#fdf0f0] px-3.5 py-3 text-[#c62828]"},c3=["disabled"],d3=Q({__name:"LoginView",setup(e){const t=ln(),n=Or(),a=R(""),r=R(""),l=R(!1),o=R(!1);async function s(){if(!o.value){o.value=!0,l.value=!1;try{if(!await $A(a.value.trim(),r.value)||!await Ym()){l.value=!0;return}r.value="",await Promise.all([mh(),yh().catch(()=>[])]),await n.replace(my(t.query.redirect)??"/")}finally{o.value=!1}}}return(i,c)=>(h(),$("main",XA,[P("div",e3,[P("div",t3,[P("span",n3,[j(u(Ku),{size:20,class:"text-accent","aria-hidden":"true"})]),c[2]||(c[2]=P("span",{class:"text-[18px] font-bold text-white"},[ke("Summer"),P("span",{class:"text-accent"},"CMS")],-1))]),P("form",{class:"flex flex-col gap-[18px] rounded-card bg-white p-8 text-[#141b2d] shadow-login",novalidate:"",onSubmit:ut(s,["prevent"])},[P("h1",a3,M(u(O)("backend::lang.auth.title")),1),P("label",r3,[P("span",l3,M(u(O)("backend::lang.auth.login")),1),Ba(P("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>a.value=d),name:"login",type:"text",autocomplete:"username",required:"",class:"h-input rounded-control border border-[#d2d8e2] bg-white px-3.5"},null,512),[[Mo,a.value]])]),P("label",o3,[P("span",s3,M(u(O)("backend::lang.auth.password")),1),Ba(P("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>r.value=d),name:"password",type:"password",autocomplete:"current-password",required:"","aria-invalid":l.value?"true":void 0,class:_e([l.value?"border-[#c62828]":"border-[#d2d8e2]","h-input rounded-control border bg-white px-3.5"])},null,10,i3),[[Mo,r.value]])]),l.value?(h(),$("div",u3,[j(u(Nt),{size:18,"aria-hidden":"true"}),P("span",null,M(u(O)("backend::lang.auth.invalid")),1)])):ne("",!0),P("button",{type:"submit",disabled:o.value,class:"h-input rounded-control bg-[#22304d] font-semibold text-white disabled:opacity-60"},M(u(O)("backend::lang.auth.submit")),9,c3)],32)])]))}}),f3=/^filter\[(.+)\]$/,p3=/^[1-9]\d*$/;function nr(e){const t=Array.isArray(e)?e[e.length-1]:e;return typeof t=="string"?t:""}function up(e){return p3.test(e)?Number(e):void 0}function v3(e){const t={},n=nr(e.search).trim();n!==""&&(t.search=n);const a=nr(e.sort).trim();if(a!==""){t.sort=a;const s=nr(e.dir);t.dir=s==="desc"?"desc":"asc"}const r=up(nr(e.page));r!==void 0&&(t.page=r);const l=up(nr(e.per_page));l!==void 0&&(t.per_page=l);const o={};for(const s of Object.keys(e).sort()){const i=f3.exec(s)?.[1],c=nr(e[s]);i&&c!==""&&(o[i]=c)}return Object.keys(o).length>0&&(t.filter=o),t}function ey(e){const t={};e.search&&(t.search=e.search),e.sort&&(t.sort=e.sort,t.dir=e.dir==="desc"?"desc":"asc"),e.page!==void 0&&e.page>1&&(t.page=String(e.page)),e.per_page!==void 0&&(t.per_page=String(e.per_page));for(const n of Object.keys(e.filter??{}).sort()){const a=e.filter?.[n];a!==void 0&&a!==""&&(t[`filter[${n}]`]=a)}return t}function h3(e){return JSON.stringify(ey(e))}const cp=/^\d+$/;function ty(e,t,n){const a=bs(t),r=Un(t);if(!a||!r)return"/";const o=((e??"").trim().split(/[?#]/,1)[0]??"").split("/").filter(d=>d!==""),s=[a.vendor,a.plugin,a.controller];if(!s.every((d,f)=>o[f]?.toLowerCase()===d.toLowerCase()))return r;const c=o.slice(s.length);if(c.length===0)return r;if(c.length===1&&c[0]==="create")return`${r}/create`;if(c.length===2&&c[0]==="update"){const d=c[1]===":id"?String(n??""):c[1]??"";return cp.test(d)?`${r}/${d}`:r}if(c.length===2&&c[0]==="preview"){const d=c[1]===":id"?String(n??""):c[1]??"";return cp.test(d)?`${r}/${d}/preview`:r}return r}const m3={key:0,"data-switch":"true",class:"inline-flex h-6 items-center gap-1 rounded-pill bg-ok-bg px-2.5 text-[12px] font-semibold text-ok-text"},y3={key:1,"data-switch":"false",class:"inline-flex h-6 items-center rounded-pill border border-border-strong px-2.5 text-[12px] font-semibold text-muted"},g3={key:1,class:"text-muted","data-empty":""},b3={key:2,class:"text-[13px] text-muted tabular-nums"},ar=Q({__name:"CellValue",props:{column:{},value:{}},setup(e){const t=e;function n(f){return f==null||f===""}function a(f){return n(f)?"":Array.isArray(f)?f.map(a).filter(p=>p!=="").join(", "):typeof f=="boolean"?O(f?"backend::lang.list.column_switch_true":"backend::lang.list.column_switch_false"):typeof f=="object"?"":String(f)}function r(f){return String(f).padStart(2,"0")}function l(f){if(typeof f!="string"&&typeof f!="number")return"";const p=new Date(f);return Number.isNaN(p.getTime())?String(f):`${p.getFullYear()}-${r(p.getMonth()+1)}-${r(p.getDate())} ${r(p.getHours())}:${r(p.getMinutes())}`}function o(f){if(typeof f!="string")return"";const p=/^\d{4}-\d{2}-\d{2}/.exec(f.trim());return p?p[0]:f.trim()}function s(f){if(typeof f!="string")return"";const p=/(\d{2}):(\d{2})/.exec(f);return p?`${p[1]}:${p[2]}`:f.trim()}function i(f){return typeof f=="string"?f!==""&&f!=="0"&&f.toLowerCase()!=="false":!!f}const c=x(()=>t.column.type==="switch"?"switch":t.column.type==="datetime"?"datetime":t.column.type==="date"?"date":t.column.type==="time"?"time":"text"),d=x(()=>{switch(c.value){case"datetime":return l(t.value);case"date":return o(t.value);case"time":return s(t.value);default:return a(t.value)}});return(f,p)=>c.value==="switch"&&!n(e.value)?(h(),$(ge,{key:0},[i(e.value)?(h(),$("span",m3,[j(u(th),{size:14,"aria-hidden":"true"}),ke(M(u(O)("backend::lang.list.column_switch_true")),1)])):(h(),$("span",y3,M(u(O)("backend::lang.list.column_switch_false")),1))],64)):d.value===""?(h(),$("span",g3,"—")):c.value==="datetime"||c.value==="date"||c.value==="time"?(h(),$("span",b3,M(d.value),1)):(h(),$(ge,{key:3},[ke(M(d.value),1)],64))}}),_3={key:0,class:"flex shrink-0 gap-2"},x3=["data-row-state"],w3=Q({__name:"RowStateBadges",props:{states:{},labels:{}},setup(e){const t=e,n={deleted:"border border-border-strong text-muted",negative:"bg-danger-soft text-danger",disabled:"bg-subtle text-muted"},a=["deleted","negative","disabled"],r=x(()=>a.filter(l=>t.states.includes(l)));return(l,o)=>r.value.length>0?(h(),$("span",_3,[(h(!0),$(ge,null,Fe(r.value,s=>(h(),$("span",{key:s,"data-row-state":s,class:_e([n[s],"inline-flex h-6 shrink-0 items-center rounded-pill px-2.5 text-[12px] font-semibold whitespace-nowrap"])},M(e.labels[s]??s),11,x3))),128))])):ne("",!0)}}),k3={class:"overflow-x-auto"},$3={class:"sticky top-0 z-10"},C3={class:"h-row-head border-y border-border bg-subtle"},S3={key:0,scope:"col","data-select":"",class:"w-[52px] pl-5"},A3=["aria-checked","aria-label","disabled"],E3=["aria-sort"],D3=["data-sort","onClick"],O3={key:1,class:"w-[56px] pr-5"},P3=["aria-busy"],M3={key:0,class:"pl-5"},q3={key:1,class:"pr-5"},T3={key:1},R3=["colspan"],I3={class:"text-muted"},B3=["aria-selected","data-row-states","onClick"],F3={key:0,"data-select":"",class:"pl-5"},N3=["aria-checked","aria-label","onClick"],V3={key:0,class:"flex items-center gap-3"},L3={"data-avatar":"",class:"flex size-[30px] shrink-0 items-center justify-center rounded-full bg-subtle text-[12px] font-bold text-text","aria-hidden":"true"},j3=["onClick"],U3={key:1,class:"flex items-center gap-2"},z3={key:1,"data-trailing":"",class:"w-[56px] pr-5"},ny=Q({__name:"DataTable",props:{columns:{},rows:{},loading:{type:Boolean,default:!1},rowLink:{type:Function,default:void 0},selectable:{type:Boolean,default:!1},selected:{default:()=>[]},sortable:{type:Boolean,default:!1},sort:{default:null},variant:{default:"list"},openable:{type:Boolean,default:!1},trailing:{type:Boolean,default:!1},rowStates:{default:()=>({})},stateLabels:{default:()=>({})}},emits:["update:selected","sort","open"],setup(e,{emit:t}){const n=e,a=t,r=Or();function l(D){const L=D.id;return typeof L=="number"||typeof L=="string"?L:null}function o(D,L){const W=l(D);return W===null?`row-${L}`:String(W)}function s(D){return n.rowLink?n.rowLink(D):null}function i(D,L){if(D.target?.closest("a, button, input, label, select"))return;if(n.openable){const X=D.currentTarget?.querySelector("[data-row-open]")??null;a("open",L,X);return}const V=s(L);V&&r.push(V)}const c=x(()=>n.rows.map(l).filter(D=>D!==null)),d=x(()=>new Set(n.selected.map(String))),f=x(()=>{const D=c.value,L=D.filter(W=>d.value.has(String(W))).length;return L===0?"false":L===D.length?"true":"mixed"});function p(D){const L=l(D);return L!==null&&d.value.has(String(L))}function v(){a("update:selected",f.value==="true"?[]:[...c.value])}function m(D){const L=l(D);L!==null&&(d.value.has(String(L))?a("update:selected",n.selected.filter(W=>String(W)!==String(L))):a("update:selected",[...n.selected,L]))}function g(D){if(n.sort?.column===D.key)return n.sort.dir==="desc"?"descending":"ascending"}function b(D){return n.sortable&&D.sortable}const y=x(()=>n.variant==="relation"),_=x(()=>y.value?"h-[56px]":"h-row"),C=x(()=>y.value?3:8);function A(D){return(typeof D=="string"||typeof D=="number"?String(D):"").split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(W=>W.charAt(0).toUpperCase()).join("")}const N=["deleted","negative","disabled"];function G(D){const L=l(D),W=L===null?void 0:n.rowStates[String(L)];return Array.isArray(W)?N.filter(V=>W.includes(V)):[]}function z(D,L,W=[]){const V=W.includes("deleted")||W.includes("disabled");return L===0?V?"font-semibold text-muted":"font-semibold":V||y.value||D.relation?"text-muted":""}function H(D){return["min-w-0 truncate",D.includes("deleted")?"line-through":"no-underline",D.includes("negative")?"text-danger":D.includes("deleted")||D.includes("disabled")?"text-muted":"text-text"]}const k=x(()=>Math.max(n.columns.length+(n.selectable?1:0)+(n.trailing?1:0),1));function B(D,L){a("open",L,D.currentTarget)}const Y=["w-3/5","w-2/5","w-1/2","w-3/4","w-1/3","w-2/3","w-1/2","w-2/5"];return(D,L)=>(h(),$("div",k3,[P("table",{class:_e([y.value?"min-w-[480px]":"min-w-[640px]","w-full border-collapse text-left"])},[P("thead",$3,[P("tr",C3,[e.selectable?(h(),$("th",S3,[P("button",{type:"button",role:"checkbox","aria-checked":f.value,"aria-label":u(O)("backend::lang.list.select_all"),disabled:e.loading||c.value.length===0,class:_e([f.value==="false"?"border-border-strong bg-surface":"border-primary bg-primary text-on-primary","flex size-[18px] items-center justify-center rounded-checkbox border disabled:opacity-60"]),onClick:v},[f.value==="mixed"?(h(),F(u(rh),{key:0,size:14,"aria-hidden":"true"})):f.value==="true"?(h(),F(u(Fa),{key:1,size:14,"aria-hidden":"true"})):ne("",!0)],10,A3)])):ne("",!0),(h(!0),$(ge,null,Fe(e.columns,W=>(h(),$("th",{key:W.key,scope:"col","aria-sort":b(W)?g(W)??"none":void 0,class:_e([g(W)?"text-text":"text-muted","px-3.5 text-[12px] font-semibold first:pl-5 last:pr-5"])},[b(W)?(h(),$("button",{key:0,type:"button","data-sort":W.key,class:"inline-flex items-center gap-1 font-semibold",onClick:V=>a("sort",W.key)},[ke(M(W.label)+" ",1),g(W)==="ascending"?(h(),F(u(nh),{key:0,size:14,"aria-hidden":"true"})):g(W)==="descending"?(h(),F(u(eh),{key:1,size:14,"aria-hidden":"true"})):ne("",!0)],8,D3)):(h(),$(ge,{key:1},[ke(M(W.label),1)],64))],10,E3))),128)),e.trailing?(h(),$("td",O3)):ne("",!0)])]),P("tbody",{"aria-busy":e.loading?"true":void 0},[e.loading?(h(!0),$(ge,{key:0},Fe(C.value,W=>(h(),$("tr",{key:`skeleton-${W}`,"data-skeleton":"",class:_e([_.value,"border-b border-border"])},[e.selectable?(h(),$("td",M3,[...L[0]||(L[0]=[P("span",{class:"block size-[18px] rounded-checkbox bg-skel"},null,-1)])])):ne("",!0),(h(!0),$(ge,null,Fe(e.columns,V=>(h(),$("td",{key:V.key,class:"px-3.5 first:pl-5 last:pr-5"},[P("span",{class:_e([Y[(W-1)%Y.length],"block h-3 rounded-[6px] bg-skel"])},null,2)]))),128)),e.trailing?(h(),$("td",q3)):ne("",!0)],2))),128)):e.rows.length===0?(h(),$("tr",T3,[P("td",{colspan:k.value,class:"px-5 py-20 text-center"},[he(D.$slots,"empty",{},()=>[P("span",I3,M(u(O)("backend::lang.list.no_records")),1)])],8,R3)])):(h(!0),$(ge,{key:2},Fe(e.rows,(W,V)=>(h(),$("tr",{key:o(W,V),class:_e([[_.value,p(W)?"bg-sel":s(W)||e.openable?"hover:bg-hover":"",s(W)||e.openable?"cursor-pointer":""],"border-b border-border transition-colors duration-150 ease-out"]),"aria-selected":e.selectable?p(W)?"true":"false":void 0,"data-row-states":G(W).length>0?G(W).join(" "):void 0,onClick:X=>i(X,W)},[e.selectable?(h(),$("td",F3,[P("button",{type:"button",role:"checkbox","aria-checked":p(W)?"true":"false","aria-label":u(O)("backend::lang.list.select_row"),class:_e([p(W)?"border-primary bg-primary text-on-primary":"border-border-strong bg-surface","flex size-[18px] items-center justify-center rounded-checkbox border"]),onClick:X=>m(W)},[p(W)?(h(),F(u(Fa),{key:0,size:14,"aria-hidden":"true"})):ne("",!0)],10,N3)])):ne("",!0),(h(!0),$(ge,null,Fe(e.columns,(X,ae)=>(h(),$("td",{key:X.key,class:_e([z(X,ae,G(W)),"px-3.5 first:pl-5 last:pr-5"])},[y.value&&ae===0?(h(),$("span",V3,[P("span",L3,M(A(W[X.key])),1),e.openable?(h(),$("button",{key:0,type:"button","data-row-open":"",class:"min-w-0 truncate text-left font-semibold text-text",onClick:ce=>B(ce,W)},[j(ar,{column:X,value:W[X.key]},null,8,["column","value"])],8,j3)):(h(),F(ar,{key:1,column:X,value:W[X.key]},null,8,["column","value"]))])):ae===0&&G(W).length>0?(h(),$("span",U3,[s(W)?(h(),F(u(_n),{key:0,to:s(W),class:_e(H(G(W)))},{default:T(()=>[j(ar,{column:X,value:W[X.key]},null,8,["column","value"])]),_:2},1032,["to","class"])):(h(),$("span",{key:1,class:_e(H(G(W)))},[j(ar,{column:X,value:W[X.key]},null,8,["column","value"])],2)),j(w3,{states:G(W),labels:e.stateLabels},null,8,["states","labels"])])):ae===0&&s(W)?(h(),F(u(_n),{key:2,to:s(W),class:"text-text no-underline"},{default:T(()=>[j(ar,{column:X,value:W[X.key]},null,8,["column","value"])]),_:2},1032,["to"])):(h(),F(ar,{key:3,column:X,value:W[X.key]},null,8,["column","value"]))],2))),128)),e.trailing?(h(),$("td",z3,[he(D.$slots,"trailing",{row:W})])):ne("",!0)],10,B3))),128))],8,P3)],2)]))}}),H3=["aria-label"],K3={key:0,class:"flex flex-col gap-1 text-[13px]"},W3={class:"font-semibold text-muted"},G3=["data-filter","value","onChange"],Y3=["value"],J3={key:1,class:"flex flex-col gap-1 text-[13px]"},Z3={class:"mb-1 font-semibold text-muted"},Q3={class:"flex items-center gap-2"},X3=["data-filter","aria-label","value","onChange"],eE=["data-filter","aria-label","value","onChange"],tE={key:2,class:"flex flex-col gap-1 text-[13px]"},nE={class:"font-semibold text-muted"},aE=["data-filter","value","onChange"],rE=["value"],zr="",io="h-button rounded-control border border-border-strong bg-surface px-3 text-text",lE=Q({__name:"FilterBar",props:{filters:{},values:{},source:{}},emits:["update"],setup(e,{emit:t}){const n=e,a=t;function r(f){if(f.options&&f.options.length>0)return f.options.map(v=>({value:JSON.stringify(v.value),label:v.label}));const p=[];return f.trueValue!==void 0&&p.push({value:JSON.stringify(f.trueValue),label:O("backend::lang.list.column_switch_true")}),f.falseValue!==void 0&&p.push({value:JSON.stringify(f.falseValue),label:O("backend::lang.list.column_switch_false")}),p}const l=R({});async function o(f){const{data:p}=await Me.GET("/{vendor}/{plugin}/{controller}/filters/{scope}/options",{params:{path:{...n.source,scope:f.name}}});l.value={...l.value,[f.name]:p?.data??[]}}gt(()=>{for(const f of n.filters)f.type==="scope"&&o(f)});const s=Xt({});function i(){for(const f of n.filters){if(f.type!=="daterange")continue;const[p="",v=""]=(n.values[f.name]??"").split(".."),m=s[f.name];(!m||n.values[f.name]!==void 0||m.from!==""&&m.to!=="")&&(s[f.name]={from:p,to:v})}}Ne(()=>n.values,i,{immediate:!0,deep:!0});function c(f,p,v){const m={...s[f.name]??{from:"",to:""},[p]:v};s[f.name]=m,m.from!==""&&m.to!==""?a("update",f.name,`${m.from}..${m.to}`):(m.from===""&&m.to===""||n.values[f.name]!==void 0)&&a("update",f.name,null)}function d(f,p){a("update",f.name,p===zr?null:p)}return(f,p)=>(h(),$("div",{role:"group","aria-label":u(O)("backend::lang.list.filters"),"data-filter-bar":"",class:"flex flex-wrap items-end gap-4 border-t border-border px-5 py-3.5"},[(h(!0),$(ge,null,Fe(e.filters,v=>(h(),$(ge,{key:v.name},[v.type==="switch"?(h(),$("label",K3,[P("span",W3,M(v.label||v.name),1),P("select",{"data-filter":v.name,value:e.values[v.name]??zr,class:_e(io),onChange:m=>d(v,m.target.value)},[P("option",{value:zr},M(u(O)("backend::lang.list.filter_all")),1),(h(!0),$(ge,null,Fe(r(v),m=>(h(),$("option",{key:m.value,value:m.value},M(m.label),9,Y3))),128))],40,G3)])):v.type==="daterange"?(h(),$("fieldset",J3,[P("legend",Z3,M(v.label||v.name),1),P("div",Q3,[P("input",{type:"date","data-filter":`${v.name}-from`,"aria-label":u(O)("backend::lang.list.filter_from"),value:s[v.name]?.from??"",class:_e(io),onChange:m=>c(v,"from",m.target.value)},null,40,X3),p[0]||(p[0]=P("span",{"aria-hidden":"true"},"–",-1)),P("input",{type:"date","data-filter":`${v.name}-to`,"aria-label":u(O)("backend::lang.list.filter_to"),value:s[v.name]?.to??"",class:_e(io),onChange:m=>c(v,"to",m.target.value)},null,40,eE)])])):v.type==="scope"?(h(),$("label",tE,[P("span",nE,M(v.label||v.name),1),(h(),$("select",{key:`${v.name}-${l.value[v.name]?.length??-1}`,"data-filter":v.name,value:e.values[v.name]??zr,class:_e(io),onChange:m=>d(v,m.target.value)},[P("option",{value:zr},M(u(O)("backend::lang.list.filter_all")),1),(h(!0),$(ge,null,Fe(l.value[v.name]??[],m=>(h(),$("option",{key:m.value,value:m.value},M(m.label),9,rE))),128))],40,aE))])):ne("",!0)],64))),128))],8,H3))}}),oE=["type","disabled"],et=Q({__name:"Button",props:{variant:{default:"outline"},size:{default:"md"},type:{default:"button"},disabled:{type:Boolean,default:!1},icon:{default:void 0},to:{default:void 0}},setup(e){const t=e,n={primary:"bg-primary text-on-primary hover:opacity-90",outline:"border border-border-strong bg-surface text-text hover:bg-hover",ghost:"text-muted hover:bg-hover hover:text-text",danger:"border border-danger bg-surface text-danger hover:bg-danger-soft"},a=x(()=>["inline-flex shrink-0 items-center justify-center gap-2 rounded-control px-4 font-semibold whitespace-nowrap no-underline transition-colors duration-150 ease-out disabled:cursor-not-allowed disabled:opacity-60",t.size==="sm"?"h-[38px]":"h-button",n[t.variant]]);return(r,l)=>e.to!==void 0?(h(),F(u(_n),{key:0,to:e.to,class:_e(a.value)},{default:T(()=>[e.icon?(h(),F(Ut(e.icon),{key:0,size:16,"aria-hidden":"true"})):ne("",!0),he(r.$slots,"default")]),_:3},8,["to","class"])):(h(),$("button",{key:1,type:e.type,disabled:e.disabled,class:_e(a.value)},[e.icon?(h(),F(Ut(e.icon),{key:0,size:16,"aria-hidden":"true"})):ne("",!0),he(r.$slots,"default")],10,oE))}}),sE=Q({__name:"BulkActionsMenu",props:{actions:{},disabled:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:n}){const a=n,r=R(null);function l(){const o=r.value?.$el;o instanceof HTMLElement&&o.focus()}return t({focus:l}),(o,s)=>(h(),F(u(Lm),{modal:!1},{default:T(()=>[j(u(Hm),{"as-child":"",disabled:e.disabled},{default:T(()=>[j(et,{ref_key:"trigger",ref:r,variant:"outline",size:"md","data-action":"bulk-actions",disabled:e.disabled},{default:T(()=>[ke(M(u(O)("backend::lang.list.bulk_actions"))+" ",1),j(u(Ml),{size:16,class:"text-muted","aria-hidden":"true"})]),_:1},8,["disabled"])]),_:1},8,["disabled"]),j(u(zm),null,{default:T(()=>[j(u(jm),{"data-bulk-menu":"",align:"end","side-offset":8,class:"z-50 flex w-[240px] max-w-[320px] flex-col rounded-[14px] border border-border bg-surface p-2 text-text shadow-menu"},{default:T(()=>[(h(!0),$(ge,null,Fe(e.actions,i=>(h(),F(u(Um),{key:i.name,"data-bulk-action":i.name,class:"flex min-h-10 cursor-pointer items-center rounded-control px-3 py-2 outline-none transition-colors duration-150 ease-out data-[highlighted]:bg-hover",onSelect:c=>a("select",i.name)},{default:T(()=>[ke(M(i.label),1)]),_:2},1032,["data-bulk-action","onSelect"]))),128))]),_:1})]),_:1})]),_:1}))}}),iE={class:"flex flex-wrap items-center justify-between gap-3 px-5 py-4"},uE={key:0,class:"relative block w-[320px] max-w-full"},cE={class:"sr-only"},dE=["value","placeholder"],fE={key:1},pE={class:"flex flex-wrap items-center justify-end gap-2.5"},vE={key:0,"data-selected-pill":"",class:"inline-flex h-8 items-center gap-1.5 rounded-pill bg-sel px-3 text-[13px] font-semibold"},hE=Q({__name:"ListToolbar",props:{showSearch:{type:Boolean},search:{},searchPrompt:{},buttons:{},selectedCount:{},selectedLabel:{},deleteLabel:{},actions:{default:()=>[]},busyAction:{default:null},bulkActions:{default:()=>[]},bulkBusy:{type:Boolean,default:!1}},emits:["update:search","delete","action","bulk"],setup(e,{expose:t,emit:n}){const a=e,r=n,l=x(()=>new Map(a.actions.map(i=>[i.name,i.label]))),o=R(null);function s(){o.value?.focus()}return t({focusBulk:s}),(i,c)=>(h(),$("div",iE,[e.showSearch?(h(),$("label",uE,[P("span",cE,M(u(O)("backend::lang.list.search")),1),j(u(hs),{size:18,class:"pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"}),P("input",{type:"search","data-list-search":"",value:e.search,placeholder:e.searchPrompt,class:"h-button w-full rounded-control border border-transparent bg-subtle pr-3.5 pl-10",onInput:c[0]||(c[0]=d=>r("update:search",d.target.value))},null,40,dE)])):(h(),$("span",fE)),P("div",pE,[e.selectedCount>0?(h(),$("span",vE,[j(u(Fa),{size:14,"aria-hidden":"true"}),ke(M(e.selectedLabel),1)])):ne("",!0),e.bulkActions.length>0?(h(),F(sE,{key:1,ref_key:"bulkMenu",ref:o,actions:e.bulkActions,disabled:e.selectedCount===0||e.bulkBusy,onSelect:c[1]||(c[1]=d=>r("bulk",d))},null,8,["actions","disabled"])):ne("",!0),(h(!0),$(ge,null,Fe(e.buttons,d=>(h(),$(ge,{key:d},[d==="delete"?(h(),F(et,{key:0,"data-action":"delete",variant:e.selectedCount>0?"danger":"outline",icon:u(Tl),disabled:e.selectedCount===0,onClick:c[2]||(c[2]=f=>r("delete"))},{default:T(()=>[ke(M(e.deleteLabel),1)]),_:1},8,["variant","icon","disabled"])):l.value.has(d)?(h(),F(et,{key:1,variant:"outline",size:"md","data-action":d,disabled:e.busyAction===d,"aria-busy":e.busyAction===d?"true":void 0,onClick:f=>r("action",d)},{default:T(()=>[ke(M(l.value.get(d)),1)]),_:2},1032,["data-action","disabled","aria-busy","onClick"])):ne("",!0)],64))),128))])]))}}),mE={class:"flex flex-wrap items-center gap-x-6 gap-y-3 border-t border-border px-5 py-3.5 text-[13px] text-muted"},yE={"data-range":""},gE={key:0,class:"flex items-center gap-2"},bE=["value"],_E=["value"],xE=["aria-label"],wE=["disabled"],kE={key:0,"aria-hidden":"true",class:"px-1"},$E=["data-page","aria-current","onClick"],CE=["disabled"],Ti="inline-flex h-pager min-w-pager items-center justify-center gap-1 rounded-pager border border-border px-2.5 text-[13px] text-text disabled:cursor-not-allowed disabled:opacity-60 hover:bg-hover",ay=Q({__name:"Pagination",props:{meta:{},loading:{type:Boolean},perPageOptions:{},perPage:{}},emits:["page","perPage"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.meta?.total??0),l=x(()=>n.meta?.page??1),o=x(()=>Math.max(n.meta?.last_page??1,1)),s=x(()=>{const d=n.meta;if(!d||d.total===0)return Cr("backend::lang.list.results",0);const f=(d.page-1)*d.per_page+1,p=Math.min(d.page*d.per_page,d.total);return O("backend::lang.list.pagination_range",{from:f,to:p,total:d.total})}),i=x(()=>{const d=o.value,f=l.value,p=new Set([1,d,f-1,f,f+1].filter(g=>g>=1&&g<=d));f<=3&&[2,3].forEach(g=>g<=d&&p.add(g)),f>=d-2&&[d-1,d-2].forEach(g=>g>=1&&p.add(g));const v=[...p].sort((g,b)=>g-b),m=[];return v.forEach((g,b)=>{const y=v[b-1];y!==void 0&&g-y>1&&m.push(null),m.push(g)}),m});function c(d){const f=Number(d.target.value);Number.isFinite(f)&&f>0&&a("perPage",f)}return(d,f)=>(h(),$("footer",mE,[P("span",yE,M(e.loading?u(O)("backend::lang.list.loading"):s.value),1),e.perPageOptions.length>1?(h(),$("label",gE,[P("span",null,M(u(O)("backend::lang.list.records_per_page")),1),P("select",{"data-per-page":"",value:String(e.perPage),class:"h-pager rounded-pager border border-border-strong bg-surface px-2 text-text",onChange:c},[(h(!0),$(ge,null,Fe(e.perPageOptions,p=>(h(),$("option",{key:p,value:String(p)},M(p),9,_E))),128))],40,bE)])):ne("",!0),!e.loading&&r.value>0?(h(),$("nav",{key:1,"aria-label":u(O)("backend::lang.list.pagination"),class:"ml-auto flex items-center gap-1.5"},[P("button",{type:"button","data-page":"prev",class:_e(Ti),disabled:l.value<=1,onClick:f[0]||(f[0]=p=>a("page",l.value-1))},[j(u(vs),{size:14,"aria-hidden":"true"}),ke(M(u(O)("backend::lang.list.prev_page")),1)],8,wE),(h(!0),$(ge,null,Fe(i.value,(p,v)=>(h(),$(ge,{key:p??`gap-${v}`},[p===null?(h(),$("span",kE,"…")):(h(),$("button",{key:1,type:"button","data-page":p,"aria-current":p===l.value?"page":void 0,class:_e([Ti,p===l.value?"border-transparent bg-sel font-bold":""]),onClick:m=>p!==l.value&&a("page",p)},M(p),11,$E))],64))),128)),P("button",{type:"button","data-page":"next",class:_e(Ti),disabled:l.value>=o.value,onClick:f[1]||(f[1]=p=>a("page",l.value+1))},[ke(M(u(O)("backend::lang.list.next_page")),1),j(u(ql),{size:14,"aria-hidden":"true"})],8,CE)],8,xE)):ne("",!0)]))}}),SE={role:"alert","data-extension-failure":"",class:"flex min-h-input items-center rounded-control border-[1.5px] border-dashed border-border-strong bg-subtle px-3.5 py-2.5 text-[13px] text-muted"},AE={class:"flex min-w-0 items-start gap-2.5"},EE={class:"min-w-0 [overflow-wrap:anywhere]"},Ic=Q({__name:"ExtensionFailure",props:{text:{}},setup(e){return(t,n)=>(h(),$("div",SE,[P("span",AE,[j(u(Nt),{size:16,class:"mt-0.5 shrink-0 text-danger","aria-hidden":"true"}),P("span",EE,M(e.text),1)])]))}}),DE=new Set(["div","span","p","strong","em","b","i","u","s","small","mark","code","pre","br","hr","ul","ol","li","dl","dt","dd","h2","h3","h4","h5","h6","table","thead","tbody","tfoot","tr","th","td","caption","section","header","footer","figure","figcaption","blockquote","q","abbr","time","data","meter","progress","sup","sub","a","img"]),OE=new Set(["script","style","template","iframe","object","embed","noscript","textarea","title","xmp","svg","math","form","input","button","select","link","meta","base"]),PE=32,ME=2e3,qE=new Set(["class","title","lang","dir","role"]),TE={a:new Set(["href"]),img:new Set(["src","alt","width","height"]),td:new Set(["colspan","rowspan","scope"]),th:new Set(["colspan","rowspan","scope"]),time:new Set(["datetime"]),data:new Set(["value"]),meter:new Set(["value","min","max","low","high","optimum"]),progress:new Set(["value","max"])},RE=/^(aria|data)-[a-z0-9_-]+$/;function IE(e,t){if(e==="")return!1;for(const n of e){const a=n.codePointAt(0)??0;if(a<=32||a===127)return!1}return e.startsWith("#")?t:e.startsWith("/")?e.length===1||e[1]!=="/"&&e[1]!=="\\":!1}function BE(e,t,n){return qE.has(t)||TE[e]?.has(t)===!0||RE.test(t)?e==="a"&&t==="href"||e==="img"&&t==="src"?IE(n,e==="a"):!0:!1}function FE(e,t){const n={};for(const[a,r]of Object.entries(t??{})){const l=a.toLowerCase();typeof r=="string"&&BE(e,l,r)&&(n[l]=r)}return n}function Su(e,t,n){const a=[];for(const r of e??[]){if(n.left<=0)break;if(r.tag===void 0||r.tag===""){typeof r.text=="string"&&r.text!==""&&(n.left-=1,a.push(r.text));continue}const l=r.tag.toLowerCase();if(OE.has(l))continue;if(!DE.has(l)){a.push(...Su(r.children,t,n));continue}if(t+1>PE)continue;n.left-=1;const o=Su(r.children,t+1,n);a.push(Gt(l,FE(l,r.attrs),o.length>0?o:void 0))}return a}function NE(e){return Su(e,0,{left:ME})}const VE={key:1,"data-partial-loading":"","aria-busy":"true"},LE=["data-partial","aria-busy"],Bc=Q({__name:"PartialHost",props:{source:{},name:{},recordId:{default:null},variant:{},reloadKey:{default:0},hint:{type:Boolean,default:!1}},setup(e){const t=e,n=R(null),a=R(!1),r=R(!1);let l=0;const o=i=>NE(i.nodes);o.props=["nodes"];async function s(){const i=++l;r.value=!0;let c=null;try{c=(await Me.GET("/{vendor}/{plugin}/{controller}/partials/{name}",{params:{path:{...t.source,name:t.name},query:t.recordId!=null?{id:t.recordId}:void 0}})).data?.data.nodes??null}catch{c=null}i===l&&(r.value=!1,a.value=c===null,n.value=c)}return Ne(()=>t.reloadKey,()=>{s()}),s(),(i,c)=>a.value?(h(),F(Ic,{key:0,"data-partial-failed":"",text:u(O)("backend::lang.extension.partial_failed")},null,8,["text"])):n.value===null?(h(),$("div",VE,[P("div",{"data-partial-skeleton":"",class:_e([e.hint?"h-[68px] w-full rounded-inner":e.variant==="header"?"h-[80px] w-full rounded-card":"h-[44px] w-full rounded-control","bg-skel"]),"aria-hidden":"true"},null,2)])):n.value.length>0?(h(),$("div",{key:2,class:"summer-partial","data-partial":e.variant,"aria-busy":r.value?"true":void 0},[j(o,{nodes:n.value},null,8,["nodes"])],8,LE)):ne("",!0)}}),jE={class:"flex gap-2.5"},UE=["disabled","aria-busy"],Wa=Q({__name:"ConfirmDialog",props:{open:{type:Boolean},message:{},title:{default:void 0},confirmLabel:{default:void 0},cancelLabel:{default:void 0},danger:{type:Boolean,default:!1},busy:{type:Boolean,default:!1}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,a=t;function r(o){!o&&n.busy||(a("update:open",o),o||a("cancel"))}function l(){n.busy||(a("confirm"),a("update:open",!1))}return(o,s)=>(h(),F(u(Gk),{open:e.open,"onUpdate:open":r},{default:T(()=>[j(u(Kk),null,{default:T(()=>[j(u(zk),{class:"pointer-events-auto fixed inset-0 z-[80] bg-overlay"}),j(u(Fk),{"data-confirm-dialog":"",class:"pointer-events-auto fixed top-1/2 left-1/2 z-[90] flex w-[calc(100%-32px)] max-w-[440px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-modal bg-surface p-6 text-text shadow-pop"},{default:T(()=>[j(u(Jk),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:T(()=>[ke(M(e.title??u(O)("backend::lang.form.confirm")),1)]),_:1}),j(u(jk),{class:"text-muted"},{default:T(()=>[ke(M(e.message),1)]),_:1}),P("div",jE,[j(u(Vk),{"data-action":"cancel",disabled:e.busy,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60"},{default:T(()=>[ke(M(e.cancelLabel??u(O)("backend::lang.form.cancel")),1)]),_:1},8,["disabled"]),P("button",{type:"button","data-action":"confirm",disabled:e.busy,"aria-busy":e.busy?"true":void 0,class:_e([e.danger?"bg-danger text-white":"bg-primary text-on-primary","inline-flex h-button flex-1 items-center justify-center gap-2 rounded-control font-semibold hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"]),onClick:ut(l,["prevent"])},[e.busy?(h(),F(u(mo),{key:0,size:16,class:"animate-spin","aria-hidden":"true"})):ne("",!0),ke(" "+M(e.confirmLabel??u(O)("backend::lang.form.confirm")),1)],10,UE)])]),_:1})]),_:1})]),_:1},8,["open"]))}});function Ga(){const e=R(null),t=R(!1);let n=null,a=null;function r(i){const c=n;n=null,a=null,e.value=null,c?.(i)}function l(i,c){return r(!1),e.value=i,a=c??null,new Promise(d=>{n=d})}async function o(){if(t.value)return;const i=a;if(i){t.value=!0;try{await i()}finally{t.value=!1}}r(!0)}function s(){t.value||r(!1)}return{request:e,busy:t,ask:l,confirm:o,cancel:s}}const zE={class:"flex flex-col gap-5"},HE={class:"flex flex-wrap items-end justify-between gap-4"},KE={class:"flex flex-col"},WE={class:"text-[26px] font-bold tracking-[-0.02em]"},GE={key:0,"data-record-count":"",class:"text-muted"},YE={key:0,class:"flex items-center gap-2.5"},JE={class:"overflow-hidden rounded-card border border-border bg-surface shadow-card"},ZE={key:2,role:"alert",class:"border-t border-border px-5 py-4 text-danger"},QE={key:0,"data-empty-search":"",class:"flex flex-col items-center gap-3"},XE={class:"flex size-14 items-center justify-center rounded-full bg-subtle text-muted"},eD={class:"text-[17px] font-bold"},tD={class:"max-w-[420px] text-muted"},nD={key:1,"data-empty-list":"",class:"text-muted"},aD=300,rD=Q({__name:"ListView",setup(e){const t=ln(),n=Or(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=_s(a),l=Un(r)??"/",o=R(null),s=R([]),i=R(null),c=R(!0),d=R(!1),f=R(!1),p=x(()=>d.value||f.value),v=R([]),m=R(!1),g=R(0),b=Ga(),y=x(()=>v3(t.query)),_=R(y.value.search??""),C=x(()=>o.value?.messages),A=x(()=>o.value?.title?o.value.title:xs(a.vendor,a.plugin)?.sideMenu.find(J=>J.controller===r)?.label??r),N=x(()=>i.value?Be(C.value?.recordCount,i.value.total):""),G=x(()=>o.value?.toolbarButtons??[]),z=x(()=>G.value.filter(E=>E==="create")),H=x(()=>o.value?.toolbarActions??[]),k=x(()=>G.value.filter(E=>E==="delete"||H.value.some(J=>J.name===E))),B=R(null),Y=x(()=>i.value?.row_states??{}),D=x(()=>({deleted:Be(C.value?.rowStateDeleted),negative:Be(C.value?.rowStateNegative),disabled:Be(C.value?.rowStateDisabled)})),L=x(()=>(o.value?.bulkActions??[]).filter(E=>E.name!=="delete")),W=R(!1),V=R(null),X=x(()=>{const E=o.value?.perPageOptions??[];return E.length>0?E:[o.value?.recordsPerPage||20]}),ae=x(()=>y.value.per_page??i.value?.per_page??o.value?.recordsPerPage??20),ce=x(()=>y.value.sort?{column:y.value.sort,dir:y.value.dir==="desc"?"desc":"asc"}:null);function te(E){const J=o.value?.recordUrl,q=E.id;return!J||typeof q!="number"&&typeof q!="string"?null:ty(J,r,q)}function ie(E){n.replace({path:t.path,query:ey(E)})}let le=0;async function re(){const E=++le;c.value=!0,f.value=!1;const J=await Me.GET("/{vendor}/{plugin}/{controller}",{params:{path:a,query:y.value}});E===le&&(s.value=J.data?.data??[],i.value=J.data?.meta??null,f.value=!J.data,c.value=!1)}async function we(){const E=await Me.GET("/{vendor}/{plugin}/{controller}/schema/list",{params:{path:a}});o.value=E.data?.data??null,d.value=!o.value,o.value&&Rc(r,o.value.assets)}we(),Ne(()=>h3(y.value),()=>{v.value=[],_.value=y.value.search??"",re()},{immediate:!0});let ue=null;function Ce(E){_.value=E,ue!==null&&clearTimeout(ue),ue=setTimeout(()=>{ue=null;const J=E.trim();ie({...y.value,search:J===""?void 0:J,page:void 0})},aD)}It(()=>{ue!==null&&clearTimeout(ue)});function pe(){_.value="",ie({...y.value,search:void 0,page:void 0})}function Z(E){const J=ce.value;J?.column!==E?ie({...y.value,sort:E,dir:"asc",page:void 0}):J.dir==="asc"?ie({...y.value,sort:E,dir:"desc",page:void 0}):ie({...y.value,sort:void 0,dir:void 0,page:void 0})}function ve(E){ie({...y.value,page:E})}function ee(E){ie({...y.value,per_page:E,page:void 0})}function de(E,J){const q={...y.value.filter??{}};J===null?delete q[E]:q[E]=J,ie({...y.value,filter:q,page:void 0})}async function be(){const E=v.value.map(Number).filter(q=>Number.isInteger(q)&&q>0);if(!(E.length===0||m.value||!await b.ask({message:Be(C.value?.deleteConfirm,E.length),confirmLabel:O("backend::lang.form.delete"),danger:!0}))){m.value=!0;try{const q=await Me.POST("/{vendor}/{plugin}/{controller}/bulk-delete",{params:{path:a},body:{ids:E}});if(q.data){Pe(Be(C.value?.deleted,q.data.data.deleted)),v.value=[],await re(),g.value+=1;return}Pe(q.error?.error.message||O("backend::lang.list.delete_failed"),"danger")}catch{Pe(O("backend::lang.list.delete_failed"),"danger")}finally{m.value=!1}}}async function w(E){const J=L.value.find(xe=>xe.name===E),q=v.value.map(Number).filter(xe=>Number.isInteger(xe)&&xe>0);if(!J||q.length===0||W.value)return;const K=J.label??E;let oe=0,se=null,me="";const fe=await b.ask({message:J.confirm||Cr("backend::lang.list.bulk_confirm",q.length,{action:K}),confirmLabel:K,danger:!1},async()=>{W.value=!0;try{const xe=await Me.POST("/{vendor}/{plugin}/{controller}/bulk/{action}",{params:{path:{...a,action:E}},body:{ids:q}});oe=xe.response.status,se=xe.data?.data??null,me=xe.error?.error.message??""}catch{oe=0}finally{W.value=!1}});if(await new Promise(xe=>setTimeout(xe,0)),V.value?.focusBulk(),!fe)return;const Ae=se;if(Ae){Pe(Ae.message||Cr("backend::lang.list.bulk_done",Ae.affected)),v.value=[],await re(),g.value+=1;return}if(oe===409){Pe(O("backend::lang.list.bulk_stale"),"danger"),v.value=[],await re();return}if(oe===403){Pe(me||O("backend::lang.list.action_forbidden"),"danger");return}Pe(me||O("backend::lang.extension.action_failed"),"danger")}async function S(E){if(B.value===null){B.value=E;try{const J=await Me.POST("/{vendor}/{plugin}/{controller}/toolbar/{action}",{params:{path:{...a,action:E}},body:{}});if(J.data){J.data.data.message&&Pe(J.data.data.message),await re(),g.value+=1;return}Pe(J.error?.error.message||O("backend::lang.extension.action_failed"),"danger")}catch{Pe(O("backend::lang.extension.action_failed"),"danger")}finally{B.value=null}}}return(E,J)=>(h(),$("section",zE,[P("header",HE,[P("div",KE,[P("h1",WE,M(A.value),1),N.value?(h(),$("p",GE,M(N.value),1)):ne("",!0)]),z.value.length>0?(h(),$("div",YE,[(h(!0),$(ge,null,Fe(z.value,q=>(h(),F(et,{key:q,"data-action":"create",variant:"primary",icon:u(Hu),to:`${u(l)}/create`},{default:T(()=>[ke(M(u(Be)(C.value?.create)),1)]),_:1},8,["icon","to"]))),128))])):ne("",!0)]),o.value?.headerPartial?(h(),F(Bc,{key:0,variant:"header",source:a,name:o.value.headerPartial,"reload-key":g.value},null,8,["name","reload-key"])):ne("",!0),P("div",JE,[o.value?(h(),F(hE,{key:0,ref_key:"toolbar",ref:V,"show-search":o.value.showSearch,search:_.value,"search-prompt":u(Be)(C.value?.searchPrompt),buttons:k.value,"selected-count":v.value.length,"selected-label":u(Be)(C.value?.selected,v.value.length),"delete-label":u(Be)(C.value?.deleteSelected,v.value.length),actions:H.value,"busy-action":B.value,"bulk-actions":L.value,"bulk-busy":W.value,"onUpdate:search":Ce,onDelete:be,onAction:S,onBulk:w},null,8,["show-search","search","search-prompt","buttons","selected-count","selected-label","delete-label","actions","busy-action","bulk-actions","bulk-busy"])):ne("",!0),o.value&&o.value.filters.length>0?(h(),F(lE,{key:1,filters:o.value.filters,values:y.value.filter??{},source:a,onUpdate:de},null,8,["filters","values"])):ne("",!0),p.value&&!c.value?(h(),$("p",ZE,M(u(O)("backend::lang.list.load_failed")),1)):(h(),F(ny,{key:3,columns:o.value?.columns??[],rows:s.value,loading:c.value||!o.value,"row-link":te,selectable:o.value?.showCheckboxes??!1,selected:v.value,sortable:o.value?.showSorting??!1,sort:ce.value,"row-states":Y.value,"state-labels":D.value,"onUpdate:selected":J[0]||(J[0]=q=>v.value=q),onSort:Z},{empty:T(()=>[y.value.search?(h(),$("div",QE,[P("span",XE,[j(u(ih),{size:24,"aria-hidden":"true"})]),P("p",eD,M(u(Be)(C.value?.emptySearch,void 0,{term:y.value.search})),1),P("p",tD,M(u(Be)(C.value?.emptySearchHint,void 0,{term:y.value.search})),1),j(et,{"data-action":"clear-search",onClick:pe},{default:T(()=>[ke(M(u(O)("backend::lang.list.clear_search")),1)]),_:1})])):(h(),$("p",nD,M(u(Be)(C.value?.empty)||o.value?.noRecordsMessage||u(O)("backend::lang.list.no_records")),1))]),_:1},8,["columns","rows","loading","selectable","selected","sortable","sort","row-states","state-labels"])),j(ay,{meta:i.value,loading:c.value||!o.value,"per-page-options":X.value,"per-page":ae.value,onPage:ve,onPerPage:ee},null,8,["meta","loading","per-page-options","per-page"])]),j(Wa,{open:u(b).request.value!==null,message:u(b).request.value?.message??"","confirm-label":u(b).request.value?.confirmLabel,danger:u(b).request.value?.danger,busy:u(b).busy.value,onConfirm:u(b).confirm,onCancel:u(b).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])]))}}),ga="X-Session-Key",ry="X-Child-Session-Key",lD=32;function Al(){const e=new Uint8Array(lD);globalThis.crypto.getRandomValues(e);let t="";for(const n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}const oD="X-Upload-Id";async function ua(e){try{const t=await e();return{data:t.data?t.data.data:null,status:t.response.status,error:t.error?.error??null}}catch{return{data:null,status:0,error:null}}}async function Ko(e){try{const t=await e();return t.response.ok&&t.data instanceof Blob?t.data:null}catch{return null}}function In(e){return encodeURIComponent(String(e))}function ly(e){return`${ys.api}/${In(e.vendor)}/${In(e.plugin)}/${In(e.controller)}`}function sD(e){try{return e===""?null:JSON.parse(e)}catch{return null}}function oy(e){if(!e)return"";for(const t of Object.values(e.details??{})){const n=Array.isArray(t)?t.find(a=>typeof a=="string"&&a!==""):t;if(typeof n=="string"&&n!=="")return n}return e.message??""}function iD(e,t){const n=t;if((e===200||e===201)&&n?.data)return{ok:!0,item:n.data};const a=oy(n?.error);return e===413?{ok:!1,reason:"too_large",status:e,message:a}:e===422?{ok:!1,reason:"invalid",status:e,message:a}:e===0?{ok:!1,reason:"network",status:e,message:a}:{ok:!1,reason:"failed",status:e,message:a}}function sy(e,t,n,a,r){let l=null,o=!1;const s=()=>new Promise(c=>{const d=new XMLHttpRequest;l=d,d.open("POST",e),d.setRequestHeader("X-Requested-With",vh),d.setRequestHeader("Accept","application/json");for(const[p,v]of Object.entries(n))d.setRequestHeader(p,v);r&&d.setRequestHeader(oD,r),d.upload.onprogress=p=>{p.lengthComputable&&a?.(p.loaded,p.total)},d.onload=()=>c({status:d.status,body:sD(d.responseText)}),d.onerror=()=>c("network"),d.ontimeout=()=>c("network"),d.onabort=()=>c("aborted");const f=new FormData;f.append("file_data",t,t.name),d.send(f)});return{promise:(async()=>{let c=await s();return typeof c=="object"&&c.status===401&&!o&&(await Wu()&&(c=o?"aborted":await s()),typeof c=="object"&&c.status===401&&j_()),c==="aborted"||o?{ok:!1,reason:"aborted",status:0,message:""}:c==="network"?{ok:!1,reason:"network",status:0,message:""}:iD(c.status,c.body)})(),abort(){o=!0,l?.abort()}}}function iy(e,t,n,a){const r={...e,id:t,field:n},l={[ga]:a},o=`${ly(e)}/${In(t)}/files/${In(n)}`;return{list:()=>ua(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}",{params:{path:r,header:l}})),upload:(s,i,c)=>sy(o,s,{...l},i,c),update:(s,i)=>ua(()=>Me.PUT("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}",{params:{path:{...r,file:s},header:l},body:i})),remove:s=>ua(()=>Me.DELETE("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}",{params:{path:{...r,file:s},header:l}})),reorder:s=>ua(()=>Me.POST("/{vendor}/{plugin}/{controller}/{id}/files/{field}/reorder",{params:{path:r,header:l},body:{ids:s}})),download:s=>Ko(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}/download",{params:{path:{...r,file:s},header:l},parseAs:"blob"})),thumb:s=>Ko(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}/thumb",{params:{path:{...r,file:s},header:l},parseAs:"blob"}))}}function uD(e,t,n,a,r,l,o){const s={...e,id:t,name:n,child:a,field:r},i={[ga]:l,[ry]:o},c=`${ly(e)}/${In(t)}/relations/${In(n)}/records/${In(a)}/files/${In(r)}`;return{list:()=>ua(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}",{params:{path:s,header:i}})),upload:(d,f,p)=>sy(c,d,{...i},f,p),update:(d,f)=>ua(()=>Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}",{params:{path:{...s,file:d},header:i},body:f})),remove:d=>ua(()=>Me.DELETE("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}",{params:{path:{...s,file:d},header:i}})),reorder:d=>ua(()=>Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/reorder",{params:{path:s,header:i},body:{ids:d}})),download:d=>Ko(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}/download",{params:{path:{...s,file:d},header:i},parseAs:"blob"})),thumb:d=>Ko(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}/thumb",{params:{path:{...s,file:d},header:i},parseAs:"blob"}))}}const cD={key:0,role:"alert","data-forbidden-banner":"",class:"flex items-start gap-3 rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},dD={class:"flex min-w-0 flex-col gap-1"},fD={class:"[overflow-wrap:anywhere]"},pD={key:1,role:"alert","data-error-banner":"",class:"flex items-start gap-3 rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},vD={class:"flex flex-col gap-1"},Ul=Q({__name:"FormErrorBanner",props:{errors:{},fieldNames:{},forbidden:{default:null}},setup(e){const t=e,n=x(()=>Object.keys(t.errors).length),a=x(()=>Object.entries(t.errors).filter(([r])=>!t.fieldNames.includes(r)).flatMap(([,r])=>r));return(r,l)=>e.forbidden?(h(),$("div",cD,[j(u(Nt),{size:20,class:"mt-px shrink-0","aria-hidden":"true"}),P("div",dD,[P("p",fD,M(e.forbidden),1),(h(!0),$(ge,null,Fe(a.value,(o,s)=>(h(),$("p",{key:s,class:"text-[13px] [overflow-wrap:anywhere]"},M(o),1))),128))])])):n.value>0?(h(),$("div",pD,[j(u(Nt),{size:20,class:"mt-px shrink-0","aria-hidden":"true"}),P("div",vD,[P("p",null,[P("strong",null,M(u(O)("backend::lang.form.error_title")),1),ke(" "+M(u(Cr)("backend::lang.form.error_fields",n.value)),1)]),(h(!0),$(ge,null,Fe(a.value,(o,s)=>(h(),$("p",{key:s,class:"text-[13px]"},M(o),1))),128))])])):ne("",!0)}}),hD=new Set(["readonly","placeholder","maxlength","minlength","min","max","step","autocomplete","spellcheck","pattern"]);function zl(e){const t={};for(const[n,a]of Object.entries(e.attributes??{})){const r=n.toLowerCase();!hD.has(r)||a===null||a===!1||(t[r]=a)}return t}function ba(e){return["w-full rounded-control border bg-surface px-3.5 text-text transition-colors duration-150 ease-out",e?"border-danger":"border-border-strong"].join(" ")}function Fc(e){return typeof e=="string"?e!==""&&e!=="0"&&e.toLowerCase()!=="false":!!e}function uy(e,t){return typeof e=="number"?t?1:0:t}function cy(e,t){const n={};if(t===null||typeof t!="object"||Array.isArray(t))return n;const a=t;for(const r of e.permissionOptions??[]){const l=Number(a[r.code]);(l===1||e.mode==="radio"&&l===-1)&&(n[r.code]=l)}return n}const mD={class:"flex min-w-0 flex-col"},yD=["for"],gD={key:0,class:"text-danger","aria-hidden":"true"},bD=["id"],_D=["id","name","checked","aria-invalid","aria-describedby"],xD=Q({__name:"CheckboxField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>Fc(n.modelValue));function l(o){a("update:modelValue",uy(n.modelValue,o.target.checked))}return(o,s)=>(h(),$("div",{class:_e([e.invalid?"border-danger":"border-border","flex items-center justify-between gap-4 rounded-inner border px-4 py-3.5"]),"data-toggle-card":""},[P("div",mD,[P("label",{for:e.controlId,class:"font-semibold"},[ke(M(e.field.label||e.field.name),1),e.field.required?(h(),$("span",gD," *")):ne("",!0)],8,yD),e.field.comment?(h(),$("p",{key:0,id:`${e.controlId}-comment`,class:"text-[13px] text-muted"},M(e.field.comment),9,bD)):ne("",!0)]),P("input",{id:e.controlId,type:"checkbox",name:e.field.name,checked:r.value,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"size-5 shrink-0 rounded-[6px] accent-primary",onChange:l},null,40,_D)],2))}});function wD(e){return e==="date"||e==="time"?e:"datetime"}function qt(e,t=2){return String(e).padStart(t,"0")}const kD=/(Z|[+-]\d{2}:?\d{2})$/i;function $D(e,t,n=!1){if(typeof t!="string"||t.trim()==="")return null;const a=t.trim();try{if(e==="date")return Uh(a.slice(0,10));if(e==="time"){const l=/(\d{2}:\d{2}(:\d{2})?)/.exec(a.includes("T")?a.slice(a.indexOf("T")):a);return l?dw(l[1]):null}const r=kD.test(a)?a.replace(" ","T"):`${a.replace(" ","T")}Z`;return n?xn($f(r,"UTC")):$f(r,on())}catch{return null}}function Ri(e){return`${qt(e.year,4)}-${qt(e.month)}-${qt(e.day)}`}function Ii(e){return`${qt(e.hour)}:${qt(e.minute)}:${qt(e.second)}`}function dp(e,t,n=!1){if(!t)return null;if(e==="time")return"hour"in t?Ii(t):null;if(!("year"in t))return null;if(e==="date")return Ri(t);if(n){const l=t instanceof zn?xn(t):t,o="hour"in l?Ii(l):"00:00:00";return`${Ri(l)}T${o}Z`}const a=t instanceof zn?t:lc(t instanceof tt?xn(t):t,on()),r=Ss(a,"UTC");return`${Ri(r)}T${Ii(r)}Z`}const CD={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm",time:"HH:mm"},SD=/\[([^\]]*)\]|YYYY|YY|MMMM|MMM|MM|M|dddd|ddd|DD|D|HH|H|hh|h|mm|ss|A|a/g;function AD(e){return"year"in e?new tt(e.year,e.month,e.day):null}function Bi(e,t,n,a){return new Zt(e,{...n,timeZone:"UTC"}).formatToParts(t.toDate("UTC")).find(l=>l.type===a)?.value??""}function ED(e,t,n,a){if(!e)return"";const r=n||CD[t],l=AD(e),o="hour"in e?e:null,s=/D/.test(r.replace(/\[[^\]]*\]/g,""));return r.replace(SD,(i,c)=>{if(c!==void 0)return c;switch(i){case"YYYY":return l?qt(l.year,4):"";case"YY":return l?qt(l.year%100):"";case"MMMM":case"MMM":{if(!l)return"";const d=i==="MMMM"?"long":"short";return s?Bi(a,l,{day:"numeric",month:d},"month"):Bi(a,l,{month:d},"month")}case"MM":return l?qt(l.month):"";case"M":return l?String(l.month):"";case"dddd":case"ddd":return l?Bi(a,l,{weekday:i==="dddd"?"long":"short"},"weekday"):"";case"DD":return l?qt(l.day):"";case"D":return l?String(l.day):"";case"HH":return o?qt(o.hour):"";case"H":return o?String(o.hour):"";case"hh":return o?qt(o.hour%12||12):"";case"h":return o?String(o.hour%12||12):"";case"mm":return o?qt(o.minute):"";case"ss":return o?qt(o.second):"";case"A":return o?o.hour<12?"AM":"PM":"";case"a":return o?o.hour<12?"am":"pm":"";default:return i}})}const DD=new tt(2026,10,4);function OD(e,t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=6)return t;try{return(7-Cs(DD,e))%7}catch{return 1}}function fp(e){if(e)try{return Uh(e.slice(0,10))}catch{return}}function PD(e,t=Il(on())){const n=fp(e.minDate),a=fp(e.maxDate);if(n||a)return{min:n,max:a};const r=e.yearRange??[];return r.length===1&&typeof r[0]=="number"?{min:new tt(t.year-r[0],1,1),max:new tt(t.year+r[0],12,31)}:r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"?{min:new tt(r[0],1,1),max:new tt(r[1],12,31)}:{}}function Au(e,t,n,a){if(!e||t==="time")return;if(t==="date")return e;const r=new ha(e.year,e.month,e.day,a?23:0,a?59:0,a?59:0);return n?r:Ss(lc(r,"UTC"),on())}function MD(e,t){const n=Il(on());return Au(n,e==="time"?"datetime":e,t,!1)??n}const qD=["id","aria-describedby"],TD={key:0},RD={key:1,class:"text-muted","data-empty":""},ID=["aria-label"],BD={class:"flex size-8 shrink-0 items-center justify-center text-muted","aria-hidden":"true"},FD=["data-mode"],ND=["aria-label"],VD={key:0,"data-datepicker-time":"",class:"mt-3 flex items-center gap-2 border-t border-border pt-3"},Hr="flex size-8 shrink-0 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",LD=Q({__name:"DatepickerField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>wD(n.field.mode)),l=x(()=>r.value==="datetime"&&!!n.field.ignoreTimezone),o=x(()=>yl.value||"pl"),s=x(()=>{const re=n.field.attributes?.readonly;return!!n.field.readOnly||re!=null&&re!==!1}),i=x(()=>$D(r.value,n.modelValue,l.value)),c=x(()=>r.value==="time"?null:i.value),d=x(()=>r.value==="time"?i.value:null),f=x(()=>PD(n.field)),p=x(()=>Au(f.value.min,r.value,l.value,!1)),v=x(()=>Au(f.value.max,r.value,l.value,!0)),m=MD(r.value,l.value),g=x(()=>OD(o.value,n.field.firstDay)),b=x(()=>n.field.twelveHour?12:24),y=x(()=>r.value==="date"?"day":"minute"),_=x(()=>ED(i.value,r.value,n.field.displayFormat,o.value)),C=x(()=>!n.field.required&&i.value!==null&&!s.value),A=x(()=>{const re=c.value;return re?!!p.value&&re.compare(p.value)<0||!!v.value&&re.compare(v.value)>0:!1}),N=new Set(["day","month","year","hour","minute","second"]),G=R(null),z=R(!1);function H(){const re=G.value;if(!re){z.value=!1;return}const we=Array.from(re.querySelectorAll("[data-reka-date-field-segment], [data-reka-time-field-segment]")).filter(Ce=>N.has(Ce.dataset.rekaDateFieldSegment??Ce.dataset.rekaTimeFieldSegment??"")),ue=we.filter(Ce=>!Ce.hasAttribute("data-placeholder")).length;z.value=ue>0&&ue!!n.invalid||A.value||z.value),Y=x(()=>dp(r.value,i.value,l.value));function D(re){const we=dp(r.value,re??null,l.value);k(),!(we===Y.value&&(we!==null||n.modelValue===null))&&a("update:modelValue",we)}function L(re){if(!re||r.value!=="datetime"){D(re);return}const we=c.value,ue=X.value,Ce=!we||we.year!==re.year||we.month!==re.month||we.day!==re.day,pe=!("hour"in re)||re.hour!==ue.hour||re.minute!==ue.minute;Ce&&pe&&(re=ae(re,ue)),V.value=re,D(re)}function W(){a("update:modelValue",null),k()}const V=R(null);Ne(c,re=>{V.value=re},{immediate:!0});const X=x(()=>{const re=V.value??c.value;return re&&"hour"in re?new mn(re.hour,re.minute):new mn(0,0)});function ae(re,we){return"hour"in re?re.set({hour:we.hour,minute:we.minute,second:0,millisecond:0}):new ha(re.year,re.month,re.day,we.hour,we.minute)}function ce(re){if(!re)return;const we=re instanceof mn?re:new mn(re.hour,re.minute),ue=V.value??c.value??m,Ce=ae(ue,we);V.value=Ce,D(Ce)}function te(re){return re.charAt(0).toLocaleUpperCase(o.value)+re.slice(1)}const ie=x(()=>[ba(B.value),"h-input flex min-w-0 items-center gap-1 pl-3.5 pr-1.5","focus-within:border-primary focus-within:shadow-[0_0_0_3px_var(--c-ring)]","has-[[data-invalid]]:border-danger"]);function le(re){return re==="literal"?"text-muted":re==="timeZoneName"?"ml-2 min-w-0 truncate text-[13px] text-muted":"rounded-[4px] px-0.5 tabular-nums outline-none focus:bg-sel focus:text-text focus-visible:outline-none data-[placeholder]:text-placeholder focus:data-[placeholder]:text-text"}return(re,we)=>s.value?(h(),$("p",{key:0,id:e.controlId,"data-datepicker-readonly":"","aria-describedby":e.describedBy||void 0,class:"flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 tabular-nums"},[_.value!==""?(h(),$("span",TD,M(_.value),1)):(h(),$("span",RD,"—"))],8,qD)):r.value==="time"?(h(),$("div",{key:1,ref_key:"container",ref:G,"data-datepicker":"","data-mode":"time",class:_e(ie.value),onKeyup:k,onFocusout:k},[j(u(sp),{id:e.controlId,"model-value":d.value,locale:o.value,"hour-cycle":b.value,granularity:"minute",name:e.field.name,required:e.field.required||void 0,"aria-invalid":B.value?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"flex min-w-0 flex-1 items-center","onUpdate:modelValue":D},{default:T(({segments:ue})=>[(h(!0),$(ge,null,Fe(ue,Ce=>(h(),F(u(ip),{key:Ce.part,part:Ce.part,class:_e(le(Ce.part))},{default:T(()=>[ke(M(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["id","model-value","locale","hour-cycle","name","required","aria-invalid","aria-describedby"]),C.value?(h(),$("button",{key:0,type:"button","data-action":"clear","aria-label":u(O)("backend::lang.datepicker.clear"),class:_e(Hr),onClick:W},[j(u(Yt),{size:16,"aria-hidden":"true"})],8,ID)):ne("",!0),P("span",BD,[j(u(Jd),{size:16})])],34)):(h(),F(u(oS),{key:2,id:e.controlId,"model-value":c.value,"default-placeholder":u(m),locale:o.value,granularity:y.value,"hour-cycle":b.value,"hide-time-zone":r.value!=="datetime"||l.value,"min-value":p.value,"max-value":v.value,"week-starts-on":g.value,name:e.field.name,required:e.field.required||void 0,"close-on-select":r.value==="date","prevent-deselect":"","onUpdate:modelValue":L},{default:T(()=>[P("div",{ref_key:"container",ref:G,"data-datepicker":"","data-mode":r.value,class:_e(ie.value),onKeyup:k,onFocusout:k},[j(u(CS),{"aria-invalid":B.value?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"flex min-w-0 flex-1 items-center overflow-hidden"},{default:T(({segments:ue})=>[(h(!0),$(ge,null,Fe(ue,Ce=>(h(),F(u(VS),{key:Ce.part,part:Ce.part,class:_e(le(Ce.part))},{default:T(()=>[ke(M(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["aria-invalid","aria-describedby"]),C.value?(h(),$("button",{key:0,type:"button","data-action":"clear","aria-label":u(O)("backend::lang.datepicker.clear"),class:_e(Hr),onClick:W},[j(u(Yt),{size:16,"aria-hidden":"true"})],8,ND)):ne("",!0),j(u(GS),{"data-action":"open-calendar","aria-label":u(O)("backend::lang.datepicker.open_calendar"),class:_e(Hr)},{default:T(()=>[j(u(y0),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])],42,FD),j(u(kS),{"data-datepicker-calendar":"","side-offset":4,align:"end",class:"z-50 w-[284px] rounded-inner border border-border bg-surface p-4 text-text shadow-menu"},{default:T(()=>[j(u(iS),null,{default:T(({weekDays:ue,grid:Ce})=>[j(u(IS),{class:"flex h-9 items-center justify-between"},{default:T(()=>[j(u(zS),{"aria-label":u(O)("backend::lang.datepicker.prev_month"),class:_e(Hr)},{default:T(()=>[j(u(vs),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"]),j(u(FS),{class:"font-semibold"},{default:T(({headingValue:pe})=>[ke(M(te(pe)),1)]),_:1}),j(u(jS),{"aria-label":u(O)("backend::lang.datepicker.next_month"),class:_e(Hr)},{default:T(()=>[j(u(ql),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])]),_:1}),(h(!0),$(ge,null,Fe(Ce,pe=>(h(),F(u(AS),{key:pe.value.toString(),class:"mt-2 w-full border-collapse select-none"},{default:T(()=>[j(u(PS),null,{default:T(()=>[j(u(op),{class:"flex"},{default:T(()=>[(h(!0),$(ge,null,Fe(ue,Z=>(h(),F(u(TS),{key:Z,class:"flex h-9 w-9 items-center justify-center text-[13px] font-normal text-muted"},{default:T(()=>[ke(M(Z),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024),j(u(DS),null,{default:T(()=>[(h(!0),$(ge,null,Fe(pe.rows,(Z,ve)=>(h(),F(u(op),{key:`week-${ve}`,class:"flex"},{default:T(()=>[(h(!0),$(ge,null,Fe(Z,ee=>(h(),F(u(cS),{key:ee.toString(),date:ee,class:"p-0"},{default:T(()=>[j(u(fS),{day:ee,month:pe.value,class:"flex size-9 items-center justify-center rounded-pager tabular-nums text-text transition-colors duration-150 ease-out hover:bg-hover data-[outside-view]:text-placeholder data-[today]:font-semibold data-[today]:shadow-[inset_0_0_0_1px_var(--c-border-strong)] data-[selected]:bg-primary data-[selected]:font-semibold data-[selected]:text-on-primary data-[disabled]:cursor-not-allowed data-[disabled]:text-placeholder data-[disabled]:opacity-40 data-[disabled]:hover:bg-transparent data-[unavailable]:cursor-not-allowed data-[unavailable]:opacity-40"},null,8,["day","month"])]),_:2},1032,["date"]))),128))]),_:2},1024))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1}),r.value==="datetime"?(h(),$("div",VD,[j(u(Jd),{size:16,class:"shrink-0 text-muted","aria-hidden":"true"}),j(u(sp),{"model-value":X.value,locale:o.value,"hour-cycle":b.value,granularity:"minute","hide-time-zone":"",class:"flex min-w-0 items-center","onUpdate:modelValue":ce},{default:T(({segments:ue})=>[(h(!0),$(ge,null,Fe(ue,Ce=>(h(),F(u(ip),{key:Ce.part,part:Ce.part,class:_e(le(Ce.part))},{default:T(()=>[ke(M(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["model-value","locale","hour-cycle"])])):ne("",!0)]),_:1})]),_:1},8,["id","model-value","default-placeholder","locale","granularity","hour-cycle","hide-time-zone","min-value","max-value","week-starts-on","name","required","close-on-select"]))}}),jD={class:"relative"},UD=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],zD=["value"],uo="empty",co="placeholder",HD=Q({__name:"DropdownField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.field.options??[]);function l(c,d){return c==null||d===null||d===void 0?c===d||c==null&&d==null:String(c)===String(d)}const o=x(()=>{const c=r.value.findIndex(d=>l(d.value,n.modelValue));return c>=0?String(c):n.field.emptyOption!==void 0&&(n.modelValue===null||n.modelValue===void 0||n.modelValue==="")?uo:co}),s=x(()=>o.value===uo||o.value===co);function i(c){const d=c.target.value;if(d===uo){a("update:modelValue",null);return}const f=r.value[Number(d)];f&&a("update:modelValue",f.value)}return(c,d)=>(h(),$("div",jD,[P("select",{id:e.controlId,name:e.field.name,value:o.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:_e([[u(ba)(e.invalid),s.value?"text-muted":""],"h-input appearance-none pr-10"]),onChange:i},[e.field.emptyOption!==void 0?(h(),$("option",{key:0,value:uo,class:"text-muted"},M(e.field.emptyOption),1)):ne("",!0),o.value===co?(h(),$("option",{key:1,value:co,disabled:""},M(u(O)("backend::lang.form.select_placeholder")),1)):ne("",!0),(h(!0),$(ge,null,Fe(r.value,(f,p)=>(h(),$("option",{key:p,value:String(p),class:"text-text"},M(f.label),9,zD))),128))],42,UD),j(u(Ml),{size:16,class:"pointer-events-none absolute top-1/2 right-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"})]))}}),Nc=Symbol("summer.form.values"),Vc=Symbol("summer.form.patch"),dy=Symbol("summer.form.locale"),fy=Symbol("summer.form.assets");function Lc(){const e=R(0);return{activeUploads:e,beginUpload(){e.value++;let t=!1;return()=>{t||(t=!0,e.value>0&&e.value--)}}}}const Rr=Symbol("summer.form.session"),pp="summer-action",KD=5e3,WD={class:"flex items-start gap-3"},GD={class:"flex min-w-0 flex-1 flex-col gap-1"},YD={key:0,class:"flex items-center gap-4"},JD=["src"],ZD={key:1,class:"flex size-16 shrink-0 items-center justify-center rounded-inner bg-subtle","aria-hidden":"true"},QD=["title"],XD={class:"flex flex-col gap-1.5"},eO=["for"],tO=["id","disabled","aria-invalid","aria-describedby"],nO=["id"],aO={class:"flex flex-col gap-1.5"},rO=["for"],lO=["id","disabled","aria-invalid","aria-describedby"],oO=["id"],sO={class:"flex gap-2.5"},iO=["disabled"],uO=["disabled"],cO=Q({__name:"FileCaptionModal",props:{open:{type:Boolean},file:{},routes:{},preview:{},idPrefix:{}},emits:["update:open","saved","closed"],setup(e,{emit:t}){const n=e,a=t,r=R(""),l=R(""),o=R({}),s=R(!1),i=Ga();function c(b){const y={};for(const[_,C]of Object.entries(b??{})){const A=(Array.isArray(C)?C:[C]).filter(N=>typeof N=="string"&&N!=="");A.length>0&&(y[_]=A)}return y}const d=x(()=>`${n.idPrefix}-caption-title`),f=x(()=>`${n.idPrefix}-caption-description`),p=x(()=>!!n.file&&(r.value!==n.file.title||l.value!==n.file.description));Ne(()=>n.open,b=>{b&&n.file&&(r.value=n.file.title??"",l.value=n.file.description??"",o.value={},s.value=!1)},{immediate:!0});async function v(b){if(b){a("update:open",!0);return}s.value||p.value&&!await i.ask({message:O("backend::lang.form.unsaved_confirm"),confirmLabel:O("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function m(){if(!(s.value||!n.file||!n.routes)){s.value=!0;try{const b=await n.routes.update(n.file.id,{title:r.value,description:l.value});if(b.data){o.value={},a("saved",b.data),a("update:open",!1),Pe(O("backend::lang.fileupload.details_saved"));return}if(b.status===422){o.value=c(b.error?.details),Object.keys(o.value).length===0&&(o.value={title:[oy(b.error)||O("backend::lang.form.error_generic")]});return}Pe(b.error?.message||O("backend::lang.form.error_generic"),"danger")}finally{s.value=!1}}}function g(b){b.preventDefault(),a("closed")}return(b,y)=>(h(),$(ge,null,[j(u(Fl),{open:e.open,"onUpdate:open":v},{default:T(()=>[j(u(Os),null,{default:T(()=>[j(u(Vl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),j(u(Nl),{"data-caption-modal":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 overflow-y-auto rounded-modal bg-surface p-6 text-text shadow-pop",onCloseAutoFocus:g},{default:T(()=>[P("div",WD,[P("div",GD,[j(u(Ll),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.attachment")),1)]),_:1}),j(u(wl),{class:"text-muted"},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.help")),1)]),_:1})]),j(u(Dr),{"data-action":"close","aria-label":u(O)("backend::lang.form.close"),disabled:s.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:T(()=>[j(u(Yt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),e.file?(h(),$("div",YD,[e.preview?(h(),$("img",{key:0,src:e.preview,alt:"",class:"size-16 shrink-0 rounded-inner object-cover"},null,8,JD)):(h(),$("span",ZD,[j(u(Jr),{size:16,class:"text-muted"})])),P("span",{class:"min-w-0 truncate text-[13px] text-muted",title:e.file.file_name},M(e.file.file_name),9,QD)])):ne("",!0),P("form",{class:"flex flex-col gap-4",novalidate:"",onSubmit:ut(m,["prevent"])},[P("div",XD,[P("label",{for:d.value,class:"font-semibold"},M(u(O)("backend::lang.fileupload.title_label")),9,eO),Ba(P("input",{id:d.value,"onUpdate:modelValue":y[0]||(y[0]=_=>r.value=_),type:"text","data-caption-title":"",disabled:s.value,"aria-invalid":o.value.title?"true":void 0,"aria-describedby":o.value.title?`${d.value}-error`:void 0,class:_e([u(ba)(!!o.value.title),"h-input"])},null,10,tO),[[Mo,r.value]]),o.value.title?(h(),$("p",{key:0,id:`${d.value}-error`,class:"flex items-center gap-1.5 text-[13px] text-danger"},[j(u(Nt),{size:14,class:"shrink-0","aria-hidden":"true"}),P("span",null,M(o.value.title.join(" ")),1)],8,nO)):ne("",!0)]),P("div",aO,[P("label",{for:f.value,class:"font-semibold"},M(u(O)("backend::lang.fileupload.description_label")),9,rO),Ba(P("textarea",{id:f.value,"onUpdate:modelValue":y[1]||(y[1]=_=>l.value=_),rows:"3","data-caption-description":"",disabled:s.value,"aria-invalid":o.value.description?"true":void 0,"aria-describedby":o.value.description?`${f.value}-error`:void 0,class:_e([u(ba)(!!o.value.description),"min-h-input resize-y py-2.5"])},null,10,lO),[[Mo,l.value]]),o.value.description?(h(),$("p",{key:0,id:`${f.value}-error`,class:"flex items-center gap-1.5 text-[13px] text-danger"},[j(u(Nt),{size:14,class:"shrink-0","aria-hidden":"true"}),P("span",null,M(o.value.description.join(" ")),1)],8,oO)):ne("",!0)]),P("div",sO,[P("button",{type:"button","data-action":"cancel",disabled:s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:y[2]||(y[2]=_=>v(!1))},M(u(O)("backend::lang.form.cancel")),9,iO),P("button",{type:"submit","data-action":"save-caption",disabled:s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"},M(s.value?u(O)("backend::lang.form.saving"):u(O)("backend::lang.fileupload.details_submit")),9,uO)])],32)]),_:1})]),_:1})]),_:1},8,["open"]),j(Wa,{open:u(i).request.value!==null,message:u(i).request.value?.message??"","confirm-label":u(i).request.value?.confirmLabel,danger:u(i).request.value?.danger,onConfirm:u(i).confirm,onCancel:u(i).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),dO=["id","data-field-name","aria-labelledby","aria-describedby","aria-busy"],fO={key:0,"data-fileupload-loading":"",class:"h-[112px] rounded-control bg-skel","aria-hidden":"true"},pO={key:1,role:"alert","data-fileupload-failed":"",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},vO={key:0,"data-fileupload-empty":"",class:"flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 text-muted"},hO={key:1,"data-fileupload-grid":"",class:"grid grid-cols-[repeat(auto-fill,minmax(160px,1fr))] gap-4"},mO=["data-file-item","data-state","onDragover","onDrop"],yO={class:"relative flex aspect-square items-center justify-center bg-subtle"},gO=["href","aria-label"],bO=["src","alt","onError"],_O=["aria-label","onClick"],xO=["src","alt"],wO={key:2,"data-preview-unavailable":"",class:"flex flex-col items-center gap-2 text-[13px] text-muted"},kO=["data-handle","aria-label","onKeydown","onDragstart"],$O={key:5,class:"absolute top-2 right-2 flex gap-1"},CO=["data-caption","aria-label","onClick"],SO=["aria-label","onClick"],AO=["aria-label","onClick"],EO={class:"flex flex-col gap-1 p-2"},DO=["title"],OO={class:"flex items-center gap-2 text-[13px] text-muted tabular-nums"},PO={key:0},MO={key:1},qO={key:2},TO={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},RO={key:1,"data-file-error":"",class:"text-[13px] text-danger"},IO={class:"sr-only"},BO={key:2,"data-fileupload-single":"",class:"flex flex-col gap-2"},FO=["data-file-item","data-state"],NO=["src","alt","onError"],VO={key:3,"data-preview-unavailable":"",class:"flex flex-col items-center gap-2 text-[13px] text-muted"},LO={class:"flex min-w-0 flex-1 flex-col gap-1"},jO=["title"],UO={class:"flex items-center gap-2 text-[13px] text-muted tabular-nums"},zO={key:0},HO={key:1},KO={key:2},WO={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},GO={key:1,"data-file-error":"",class:"text-[13px] text-danger"},YO={class:"sr-only"},JO={key:2,class:"mt-1 flex flex-wrap gap-2"},ZO={key:3,"data-fileupload-rows":"",class:"flex flex-col gap-2"},QO=["data-file-item","data-state","onDragover","onDrop"],XO={class:"flex items-center gap-3"},eP=["data-handle","aria-label","onKeydown","onDragstart"],tP={class:"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-pager bg-subtle"},nP=["src","onError"],aP={class:"flex min-w-0 flex-1 flex-col leading-tight"},rP=["title"],lP=["title"],oP=["title"],sP={class:"flex shrink-0 items-center gap-2 text-[13px] text-muted tabular-nums"},iP={key:0},uP={key:1},cP={key:2},dP={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},fP={class:"flex shrink-0 items-center gap-1"},pP=["href","aria-label"],vP=["aria-label","onClick"],hP=["data-caption","aria-label","onClick"],mP=["aria-label","onClick"],yP=["aria-label","onClick"],gP={key:1,"data-file-error":"",class:"text-[13px] text-danger"},bP={class:"sr-only"},_P=["aria-describedby"],xP={class:"flex size-10 items-center justify-center rounded-full bg-surface","aria-hidden":"true"},wP={class:"text-text"},kP={key:0,"data-fileupload-limits":"",class:"text-[13px] text-muted tabular-nums"},$P={key:5,"data-fileupload-limits":"",class:"text-[13px] text-muted tabular-nums"},CP={key:6,role:"alert","data-fileupload-too-many":"",class:"flex items-center gap-1.5 text-[13px] text-danger"},SP=["accept","multiple"],AP={class:"sr-only","aria-live":"polite","data-fileupload-live":""},EP=1<<20,DP=400,Fi="inline-flex size-8 items-center justify-center rounded-pager border border-border bg-surface text-muted hover:text-text",OP="inline-flex size-8 items-center justify-center rounded-pager border border-border bg-surface text-muted hover:bg-danger-soft hover:text-danger",rr="inline-flex size-8 shrink-0 items-center justify-center rounded-pager text-muted hover:bg-hover hover:text-text",PP=Q({__name:"FileuploadField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Rr,null),a=["jpg","jpeg","png","gif","webp"],r=["image/jpeg","image/png","image/gif","image/webp"];let l=1;const o=R([]),s=R("loading"),i=R(!1),c=R(0),d=R(""),f=R(null),p=R(null),v=R(null),m=R(null),g=R(null),b=R(!1),y=R({}),_=R(new Set),C=new Set,A=[],N=n?n.routes(t.field.name):null;let G=null,z=null,H=!1,k=null,B=0,Y=!1;const D=x(()=>{const I=t.field.attributes?.readonly;return!!t.field.readOnly||I!=null&&I!==!1}),L=x(()=>t.field.multiple===!0),W=x(()=>t.field.mode==="image"),V=x(()=>L.value?t.field.maxFiles:1),X=x(()=>(n?.recordId??0)!==0),ae=x(()=>o.value.filter(I=>I.state!=="failed")),ce=x(()=>{if(L.value)return o.value;const I=ae.value,ye=I[I.length-1];return o.value.filter(U=>U.state==="failed"||U===ye)}),te=x(()=>ce.value.filter(I=>I.state!=="failed").length),ie=x(()=>D.value||s.value!=="ready"?!1:L.value?V.value===void 0||V.value===null||ae.value.lengthL.value&&!D.value&&typeof V.value=="number"&&ae.value.length>=V.value),re=x(()=>t.field.fileTypes?.length?t.field.fileTypes.map(I=>I.toLowerCase()):W.value&&!t.field.mimeTypes?.length?a:null),we=x(()=>(t.field.fileTypes?.length?t.field.fileTypes:t.field.mimeTypes??[]).join(", ")),ue=x(()=>{const I=[];for(const ye of t.field.fileTypes??[])I.push(`.${ye.toLowerCase()}`);for(const ye of t.field.mimeTypes??[])I.push(ye.includes("/")?ye:`.${ye.toLowerCase()}`);return I.length===0&&W.value&&I.push(...r),I.length>0?I.join(","):void 0}),Ce=x(()=>t.field.prompt||O(L.value?"backend::lang.fileupload.default_prompt_many":"backend::lang.fileupload.default_prompt"));function pe(I,ye){return new Intl.NumberFormat(yl.value,{minimumFractionDigits:ye,maximumFractionDigits:ye}).format(I)}function Z(I){const ye=["B","kB","MB","GB"];let U=I,$e=0;for(;U>=1e3&&$e{const I=t.field.maxFilesize;return typeof I=="number"?`${new Intl.NumberFormat(yl.value).format(I)} MB`:""}),ee=x(()=>{const I=[];return we.value!==""&&I.push(O("backend::lang.fileupload.limits_types",{types:we.value})),ve.value!==""&&I.push(O("backend::lang.fileupload.limits_size",{size:ve.value})),L.value&&typeof V.value=="number"&&I.push(O("backend::lang.fileupload.limits_count",{current:ae.value.length,max:V.value})),I.join(" · ")});function de(I){const ye=I.lastIndexOf(".");return ye<0?"":I.slice(ye+1).toLowerCase()}function be(I){const ye=t.field.mimeTypes??[];if(ye.length===0||I.type==="")return!0;const U=I.type.toLowerCase(),$e=de(I.name);return ye.some(Le=>{const $t=Le.toLowerCase();return $t.includes("/")?$t.endsWith("/*")?U.startsWith($t.slice(0,-1)):U===$t:$t===$e})}function w(I){const ye=re.value;if(ye&&!ye.includes(de(I.name)))return O("backend::lang.fileupload.wrong_type",{name:I.name,types:ye.join(", ")});if(!be(I))return O("backend::lang.fileupload.wrong_type",{name:I.name,types:we.value});const U=t.field.maxFilesize;return typeof U=="number"&&I.size>Math.ceil(U*EP)?O("backend::lang.fileupload.too_large",{name:I.name,size:ve.value}):""}function S(I){return Xt({uid:l++,name:I.file_name,size:I.file_size,state:"done",progress:100,error:"",retryable:!1,file:I,source:null,handle:null,uploadId:""})}function E(){return globalThis.crypto?.randomUUID?.()??`u${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}function J(I,ye){return Xt({uid:l++,name:I.name,size:I.size,state:ye===""?"queued":"failed",progress:0,error:ye,retryable:!1,file:null,source:wo(I),handle:null,uploadId:E()})}function q(I){return o.value.find(ye=>ye.uid===I)}async function K(I){if(!N){s.value="failed";return}I&&(s.value="loading");const ye=await N.list();if(Y)return;if(!ye.data){I&&(s.value="failed");return}const U=o.value.filter($e=>$e.state!=="done");for(const $e of o.value)$e.state==="done"&&Vs($e.uid);o.value=[...ye.data.map(S),...U],s.value="ready"}function oe(){D.value||f.value?.click()}function se(I){if(I.length===0||D.value)return;if(c.value=0,!L.value)for(const Le of[...o.value])Le.state!=="failed"&&(Le.state!=="done"||Le.file?.pending)&&He(Le);let ye=L.value?typeof V.value=="number"?Math.max(V.value-ae.value.length,0):Number.POSITIVE_INFINITY:1,U=0;const $e=[];for(const Le of I.slice(0,L.value?I.length:1)){const $t=w(Le);if($t===""&&ye<=0){U++;continue}$t===""&&ye--,$e.push(J(Le,$t))}o.value=[...o.value,...$e],c.value=U,Se()}function me(I){const ye=I.target;se(Array.from(ye.files??[])),ye.value=""}function fe(I){return v.value===null&&Array.from(I.dataTransfer?.types??[]).includes("Files")}function Ae(I){fe(I)&&(I.preventDefault(),i.value=!0)}function xe(I){fe(I)&&(I.preventDefault(),i.value=!1,se(Array.from(I.dataTransfer?.files??[])))}function Se(){if(!N||o.value.some(ye=>ye.state==="uploading"))return;const I=o.value.find(ye=>ye.state==="queued");I&&Re(I)}async function Re(I){if(!N||!I.source)return;I.state="uploading",I.progress=0,I.error="",I.retryable=!1;const ye=new Set(o.value.filter($e=>$e.file).map($e=>$e.file.id)),U=n?.beginUpload();try{const $e=N.upload(I.source,(Zn,Ja)=>{I.progress=Ja>0?Math.min(100,Math.round(Zn/Ja*100)):0},I.uploadId||void 0);I.handle=wo($e);const Le=await $e.promise;I.handle=null;const $t=!!q(I.uid);if(Le.ok)!$t||Y?N.remove(Le.item.id):(I.state="done",I.progress=100,I.file=Le.item,I.name=Le.item.file_name,I.size=Le.item.file_size,n?.markDirty());else if(Le.reason==="aborted"||Le.reason==="network"){const Zn=await ze(ye);if(Le.reason==="aborted"){for(const Ja of Zn)N.remove(Ja.id);o.value=o.value.filter(Ja=>Ja.uid!==I.uid),Vs(I.uid)}else $t&&Zn[0]&&Zn.length===1?(I.state="done",I.progress=100,I.file=Zn[0],I.name=Zn[0].file_name,I.size=Zn[0].file_size,n?.markDirty()):(I.state="failed",I.error=O("backend::lang.fileupload.upload_failed"),I.retryable=!0)}else if($t)switch(I.state="failed",Le.reason){case"too_large":I.error=ve.value?O("backend::lang.fileupload.too_large",{name:I.name,size:ve.value}):Le.message||O("backend::lang.fileupload.upload_failed");break;case"invalid":I.error=Le.message||O("backend::lang.fileupload.upload_failed");break;default:I.error=Le.message||O("backend::lang.fileupload.upload_failed"),I.retryable=Le.status>=500}}finally{U?.(),Y||Se()}}async function ze(I){if(!N)return[];const ye=await N.list();return ye.data?ye.data.filter(U=>U.pending&&!I.has(U.id)):[]}function Ge(I){I.state!=="failed"||!I.source||(I.state="queued",I.error="",I.retryable=!1,Se())}async function He(I){const ye=o.value.findIndex($e=>$e.uid===I.uid);if(ye<0)return;switch(o.value=o.value.filter($e=>$e.uid!==I.uid),Vs(I.uid),I.state){case"uploading":I.handle?.abort(),n?.markDirty(),Se();return;case"queued":case"failed":return}if(!N||!I.file)return;n?.markDirty();const U=await N.remove(I.file.id);if(!U.data&&!Y){const $e=[...o.value];$e.splice(Math.min(ye,$e.length),0,I),o.value=$e,Pe(U.error?.message||O("backend::lang.form.error_generic"),"danger")}}function lt(){return o.value.map(I=>I.uid)}function it(I){const ye=new Map(o.value.map(Le=>[Le.uid,Le])),U=I.map(Le=>ye.get(Le)).filter(Le=>!!Le),$e=o.value.filter(Le=>!I.includes(Le.uid));o.value=[...U,...$e]}function wt(){G!==null&&clearTimeout(G),G=setTimeout(()=>{G=null,sn()},DP)}function Mt(){return o.value.filter(I=>I.state==="done"&&I.file).map(I=>I.file.id)}async function sn(){if(!N)return;const I=Mt();if(H){k=I;return}const ye=z;z=null;const U=++B;H=!0;try{const $e=await N.reorder(I);if(k)return;!$e.data&&!Y&&U===B&&(ye&&it(ye),Pe(O("backend::lang.fileupload.reorder_failed"),"danger"))}finally{H=!1,k&&(k=null,sn())}}function De(I,ye){const U=o.value.findIndex($t=>$t.uid===I);if(U<0||ye<0||ye>=o.value.length||ye===U)return!1;z===null&&(z=lt());const $e=[...o.value],[Le]=$e.splice(U,1);return $e.splice(ye,0,Le),o.value=$e,d.value=O("backend::lang.fileupload.moved",{name:Le.name,position:ye+1,total:$e.length}),wt(),!0}async function Ee(I,ye){const U=o.value.findIndex(Le=>Le.uid===ye.uid);let $e;switch(I.key){case"ArrowUp":case"ArrowLeft":$e=U-1;break;case"ArrowDown":case"ArrowRight":$e=U+1;break;default:return}I.preventDefault(),De(ye.uid,$e)&&(await Ke(),p.value?.querySelector(`[data-handle="${ye.uid}"]`)?.focus())}function Ie(I,ye){v.value=ye.uid,I.dataTransfer&&(I.dataTransfer.effectAllowed="move",I.dataTransfer.setData("text/plain",ye.name))}function kt(I,ye){v.value!==null&&(I.preventDefault(),m.value=ye.uid)}function Ir(I,ye){v.value!==null&&(I.preventDefault(),De(v.value,o.value.findIndex(U=>U.uid===ye.uid)),Ns())}function Ns(){v.value=null,m.value=null}function zc(I){const ye=I.file?.content_type??I.source?.type??"";return r.includes(ye.toLowerCase())}function Cn(I){return!I.file||!zc(I)||_.value.has(I.uid)?null:t.field.protected?y.value[I.uid]??null:I.file.thumb_url||I.file.url||null}function Hc(){return typeof URL.revokeObjectURL=="function"}function Vs(I){const ye=y.value[I];if(ye!==void 0){Hc()&&URL.revokeObjectURL(ye);const U={...y.value};delete U[I],y.value=U}C.delete(I)}async function yy(I){if(!N||!I.file||C.has(I.uid)||typeof URL.createObjectURL!="function")return;C.add(I.uid);const ye=await N.thumb(I.file.id);if(!(Y||!q(I.uid)||!C.has(I.uid))){if(!ye){_.value=new Set([..._.value,I.uid]);return}y.value={...y.value,[I.uid]:URL.createObjectURL(ye)}}}Ne(()=>o.value.map(I=>`${I.uid}:${I.state}`).join(","),()=>{if(t.field.protected)for(const I of o.value)I.state==="done"&&zc(I)&&yy(I)});function Ls(I){_.value=new Set([..._.value,I.uid])}async function Kc(I,ye){if(!N||!I.file||typeof URL.createObjectURL!="function")return;const U=await N.download(I.file.id);if(!U){Pe(O("backend::lang.form.error_generic"),"danger");return}const $e=URL.createObjectURL(U);A.push($e);const Le=document.createElement("a");Le.href=$e,Le.rel="noopener",ye?Le.download=I.file.file_name:Le.target="_blank",Le.click()}function $a(I){return t.field.useCaption&&I.file?.title?I.file.title:I.name}function js(I){return X.value&&!!I.file?.pending}const Gl=x(()=>g.value===null?void 0:q(g.value));function Us(I){g.value=I.uid,b.value=!0}function gy(I){const ye=Gl.value;ye&&(ye.file=I)}function by(){const I=g.value;g.value=null,I!==null&&p.value?.querySelector(`[data-caption="${I}"]`)?.focus()}const zs=x(()=>{const I=t.field.thumbOptions?.mode;return I==="fit"||I==="auto"?"object-contain":"object-cover"});return gt(()=>{K(!0)}),n&&Ne(n.revision,()=>{K(!1)}),It(()=>{Y=!0,G!==null&&(clearTimeout(G),G=null);for(const I of o.value)I.handle?.abort();if(Hc()){for(const I of Object.values(y.value))URL.revokeObjectURL(I);for(const I of A)URL.revokeObjectURL(I)}}),(I,ye)=>(h(),$("div",{id:e.controlId,ref_key:"root",ref:p,role:"group","data-fileupload":"","data-field-name":e.field.name,"aria-labelledby":e.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0,"aria-busy":s.value==="loading"?"true":void 0,class:"flex min-w-0 flex-col gap-4"},[s.value==="loading"?(h(),$("span",fO)):s.value==="failed"?(h(),$("p",pO,M(u(O)("backend::lang.fileupload.load_failed")),1)):(h(),$(ge,{key:2},[D.value&&ce.value.length===0?(h(),$("p",vO,M(u(O)("backend::lang.fileupload.empty")),1)):W.value&&L.value&&ce.value.length>0?(h(),$("ul",hO,[(h(!0),$(ge,null,Fe(ce.value,U=>(h(),$("li",{key:U.uid,"data-file-item":U.uid,"data-state":U.state,class:_e([[U.state==="failed"?"border-danger":"border-border",v.value===U.uid?"opacity-50":"",m.value===U.uid&&v.value!==U.uid?"border-2 border-dashed border-primary bg-sel":""],"relative overflow-hidden rounded-inner border bg-surface"]),onDragover:$e=>kt($e,U),onDrop:$e=>Ir($e,U)},[P("div",yO,[U.state==="uploading"?(h(),F(u(mo),{key:0,size:20,class:"animate-spin text-muted","aria-hidden":"true"})):U.state==="failed"?(h(),F(u(Nt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):U.state==="done"?(h(),$(ge,{key:2},[Cn(U)&&!e.field.protected&&U.file?.url?(h(),$("a",{key:0,href:U.file.url,target:"_blank",rel:"noopener",class:"block size-full","aria-label":u(O)("backend::lang.fileupload.open_preview",{name:U.name})},[P("img",{src:Cn(U)??void 0,alt:$a(U),class:_e([zs.value,"size-full"]),onError:$e=>Ls(U)},null,42,bO)],8,gO)):Cn(U)?(h(),$("button",{key:1,type:"button",class:"block size-full","aria-label":u(O)("backend::lang.fileupload.open_preview",{name:U.name}),onClick:$e=>Kc(U,!1)},[P("img",{src:Cn(U)??void 0,alt:$a(U),class:_e([zs.value,"size-full"])},null,10,xO)],8,_O)):_.value.has(U.uid)?(h(),$("span",wO,[j(u(Xd),{size:20,"aria-hidden":"true"}),ke(" "+M(u(O)("backend::lang.fileupload.preview_unavailable")),1)])):(h(),F(u(Jr),{key:3,size:20,class:"text-muted","aria-hidden":"true"}))],64)):(h(),F(u(Jr),{key:3,size:20,class:"text-muted","aria-hidden":"true"})),!D.value&&U.state==="done"?(h(),$("button",{key:4,type:"button",draggable:"true","data-handle":U.uid,"aria-label":u(O)("backend::lang.fileupload.move",{name:U.name}),class:_e([Fi,"absolute top-2 left-2 cursor-grab"]),onKeydown:$e=>Ee($e,U),onDragstart:$e=>Ie($e,U),onDragend:Ns},[j(u(Qd),{size:16,"aria-hidden":"true"})],40,kO)):ne("",!0),D.value?ne("",!0):(h(),$("div",$O,[e.field.useCaption&&U.state==="done"?(h(),$("button",{key:0,type:"button","data-caption":U.uid,"aria-label":u(O)("backend::lang.fileupload.edit_details",{name:U.name}),class:_e(Fi),onClick:$e=>Us(U)},[j(u(yo),{size:16,"aria-hidden":"true"})],8,CO)):ne("",!0),U.state==="failed"&&U.retryable?(h(),$("button",{key:1,type:"button","data-action":"retry","aria-label":u(O)("backend::lang.fileupload.retry"),class:_e(Fi),onClick:$e=>Ge(U)},[j(u(li),{size:16,"aria-hidden":"true"})],8,SO)):ne("",!0),P("button",{type:"button","data-action":"remove-file","aria-label":U.state==="uploading"||U.state==="queued"?u(O)("backend::lang.fileupload.cancel_upload",{name:U.name}):u(O)("backend::lang.form.remove_item",{name:U.name}),class:_e(OP),onClick:$e=>He(U)},[j(u(Yt),{size:16,"aria-hidden":"true"})],8,AO)]))]),P("div",EO,[P("span",{class:"truncate text-[13px]",title:$a(U)},M($a(U)),9,DO),P("span",OO,[U.state==="queued"?(h(),$("span",PO,M(u(O)("backend::lang.fileupload.queued")),1)):U.state==="uploading"?(h(),$("span",MO,M(u(O)("backend::lang.fileupload.uploading",{percent:U.progress})),1)):(h(),$("span",qO,M(Z(U.size)),1)),js(U)?(h(),$("span",TO,M(u(O)("backend::lang.fileupload.unsaved")),1)):ne("",!0)]),U.state==="uploading"?(h(),F(u(Pi),{key:0,"model-value":U.progress,max:100,"aria-label":u(O)("backend::lang.fileupload.uploading",{percent:U.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:T(()=>[j(u(Mi),{class:"h-full bg-primary",style:Bn({width:`${U.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ne("",!0),U.state==="failed"?(h(),$("p",RO,[P("span",IO,M(u(O)("backend::lang.fileupload.upload_error"))+": ",1),ke(M(U.error),1)])):ne("",!0)])],42,mO))),128))])):W.value&&!L.value&&ce.value.length>0?(h(),$("div",BO,[(h(!0),$(ge,null,Fe(ce.value,U=>(h(),$("div",{key:U.uid,"data-file-item":U.uid,"data-state":U.state,class:"flex items-start gap-4"},[P("div",{class:_e([U.state==="failed"?"border-danger":"border-border","flex size-40 shrink-0 items-center justify-center overflow-hidden rounded-inner border bg-subtle"])},[U.state==="uploading"?(h(),F(u(mo),{key:0,size:20,class:"animate-spin text-muted","aria-hidden":"true"})):U.state==="failed"?(h(),F(u(Nt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):Cn(U)?(h(),$("img",{key:2,src:Cn(U)??void 0,alt:$a(U),class:_e([zs.value,"size-full"]),onError:$e=>Ls(U)},null,42,NO)):_.value.has(U.uid)?(h(),$("span",VO,[j(u(Xd),{size:20,"aria-hidden":"true"}),ke(" "+M(u(O)("backend::lang.fileupload.preview_unavailable")),1)])):(h(),F(u(Jr),{key:4,size:20,class:"text-muted","aria-hidden":"true"}))],2),P("div",LO,[P("span",{class:"truncate font-semibold",title:$a(U)},M($a(U)),9,jO),P("span",UO,[U.state==="queued"?(h(),$("span",zO,M(u(O)("backend::lang.fileupload.queued")),1)):U.state==="uploading"?(h(),$("span",HO,M(u(O)("backend::lang.fileupload.uploading",{percent:U.progress})),1)):(h(),$("span",KO,M(Z(U.size)),1)),js(U)?(h(),$("span",WO,M(u(O)("backend::lang.fileupload.unsaved")),1)):ne("",!0)]),U.state==="uploading"?(h(),F(u(Pi),{key:0,"model-value":U.progress,max:100,"aria-label":u(O)("backend::lang.fileupload.uploading",{percent:U.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:T(()=>[j(u(Mi),{class:"h-full bg-primary",style:Bn({width:`${U.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ne("",!0),U.state==="failed"?(h(),$("p",GO,[P("span",YO,M(u(O)("backend::lang.fileupload.upload_error"))+": ",1),ke(M(U.error),1)])):ne("",!0),D.value?ne("",!0):(h(),$("div",JO,[U.state!=="failed"?(h(),F(et,{key:0,size:"sm",variant:"outline","data-action":"replace-file",icon:u(oi),onClick:oe},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.replace_file")),1)]),_:1},8,["icon"])):ne("",!0),U.state==="failed"&&U.retryable?(h(),F(et,{key:1,size:"sm",variant:"outline","data-action":"retry",icon:u(li),onClick:$e=>Ge(U)},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.retry")),1)]),_:1},8,["icon","onClick"])):ne("",!0),e.field.useCaption&&U.state==="done"?(h(),F(et,{key:2,size:"sm",variant:"outline","data-caption":U.uid,icon:u(yo),onClick:$e=>Us(U)},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.details_submit")),1)]),_:1},8,["data-caption","icon","onClick"])):ne("",!0),j(et,{size:"sm",variant:"danger","data-action":"remove-file",icon:u(Yt),onClick:$e=>He(U)},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.remove_file")),1)]),_:1},8,["icon","onClick"])]))])],8,FO))),128))])):ce.value.length>0?(h(),$("ul",ZO,[(h(!0),$(ge,null,Fe(ce.value,U=>(h(),$("li",{key:U.uid,"data-file-item":U.uid,"data-state":U.state,class:_e([[U.state==="failed"?"border-danger":"border-border",v.value===U.uid?"opacity-50":"",m.value===U.uid&&v.value!==U.uid?"border-2 border-dashed border-primary bg-sel":""],"flex min-h-14 flex-col justify-center gap-1 rounded-inner border bg-surface px-3 py-2"]),onDragover:$e=>kt($e,U),onDrop:$e=>Ir($e,U)},[P("div",XO,[L.value&&!D.value&&U.state==="done"?(h(),$("button",{key:0,type:"button",draggable:"true","data-handle":U.uid,"aria-label":u(O)("backend::lang.fileupload.move",{name:U.name}),class:_e([rr,"cursor-grab"]),onKeydown:$e=>Ee($e,U),onDragstart:$e=>Ie($e,U),onDragend:Ns},[j(u(Qd),{size:16,"aria-hidden":"true"})],40,eP)):ne("",!0),P("span",tP,[U.state==="uploading"?(h(),F(u(mo),{key:0,size:16,class:"animate-spin text-muted","aria-hidden":"true"})):U.state==="failed"?(h(),F(u(Nt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):Cn(U)?(h(),$("img",{key:2,src:Cn(U)??void 0,alt:"",class:"size-8 object-cover",onError:$e=>Ls(U)},null,40,nP)):(h(),F(u(Jr),{key:3,size:16,class:"text-muted","aria-hidden":"true"}))]),P("span",aP,[e.field.useCaption&&U.file?.title?(h(),$(ge,{key:0},[P("span",{class:"truncate font-semibold",title:U.file.title},M(U.file.title),9,rP),P("span",{class:"truncate text-[13px] text-muted",title:U.name},M(U.name),9,lP)],64)):(h(),$("span",{key:1,class:"truncate",title:U.name},M(U.name),9,oP))]),P("span",sP,[U.state==="queued"?(h(),$("span",iP,M(u(O)("backend::lang.fileupload.queued")),1)):U.state==="uploading"?(h(),$("span",uP,M(u(O)("backend::lang.fileupload.uploading",{percent:U.progress})),1)):(h(),$("span",cP,M(Z(U.size)),1)),js(U)?(h(),$("span",dP,M(u(O)("backend::lang.fileupload.unsaved")),1)):ne("",!0)]),!L.value&&!D.value&&U.state!=="failed"?(h(),F(et,{key:1,size:"sm",variant:"outline","data-action":"replace-file",icon:u(oi),onClick:oe},{default:T(()=>[ke(M(u(O)("backend::lang.fileupload.replace_file")),1)]),_:1},8,["icon"])):ne("",!0),P("span",fP,[U.state==="done"&&U.file?(h(),$(ge,{key:0},[!e.field.protected&&U.file.url?(h(),$("a",{key:0,href:U.file.url,download:"",target:"_blank",rel:"noopener","aria-label":u(O)("backend::lang.fileupload.download",{name:U.name}),class:_e(rr)},[j(u(Zd),{size:16,"aria-hidden":"true"})],8,pP)):e.field.protected?(h(),$("button",{key:1,type:"button","data-action":"download","aria-label":u(O)("backend::lang.fileupload.download",{name:U.name}),class:_e(rr),onClick:$e=>Kc(U,!0)},[j(u(Zd),{size:16,"aria-hidden":"true"})],8,vP)):ne("",!0),e.field.useCaption&&!D.value?(h(),$("button",{key:2,type:"button","data-caption":U.uid,"aria-label":u(O)("backend::lang.fileupload.edit_details",{name:U.name}),class:_e(rr),onClick:$e=>Us(U)},[j(u(yo),{size:16,"aria-hidden":"true"})],8,hP)):ne("",!0)],64)):ne("",!0),U.state==="failed"&&U.retryable?(h(),$("button",{key:1,type:"button","data-action":"retry","aria-label":u(O)("backend::lang.fileupload.retry"),class:_e(rr),onClick:$e=>Ge(U)},[j(u(li),{size:16,"aria-hidden":"true"})],8,mP)):ne("",!0),D.value?ne("",!0):(h(),$("button",{key:2,type:"button","data-action":"remove-file","aria-label":U.state==="uploading"||U.state==="queued"?u(O)("backend::lang.fileupload.cancel_upload",{name:U.name}):u(O)("backend::lang.form.remove_item",{name:U.name}),class:_e([rr,"hover:bg-danger-soft hover:text-danger"]),onClick:$e=>He(U)},[j(u(Yt),{size:16,"aria-hidden":"true"})],8,yP))])]),U.state==="uploading"?(h(),F(u(Pi),{key:0,"model-value":U.progress,max:100,"aria-label":u(O)("backend::lang.fileupload.uploading",{percent:U.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:T(()=>[j(u(Mi),{class:"h-full bg-primary",style:Bn({width:`${U.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ne("",!0),U.state==="failed"?(h(),$("p",gP,[P("span",bP,M(u(O)("backend::lang.fileupload.upload_error"))+": ",1),ke(M(U.error),1)])):ne("",!0)],42,QO))),128))])):ne("",!0),ie.value?(h(),$("button",{key:4,type:"button","data-fileupload-dropzone":"","aria-describedby":e.describedBy||void 0,class:_e([[i.value?"border-solid border-primary bg-sel":e.invalid?"border-dashed border-danger bg-subtle":"border-dashed border-border-strong bg-subtle"],"flex min-h-[112px] w-full flex-col items-center justify-center gap-2 rounded-control border-[1.5px] px-4 py-6 text-center transition-colors duration-150 ease-out hover:bg-hover"]),onClick:oe,onDragover:Ae,onDragleave:ye[0]||(ye[0]=U=>i.value=!1),onDrop:xe},[P("span",xP,[j(u(oi),{size:20,class:"text-muted"})]),P("span",wP,M(Ce.value),1),ee.value!==""?(h(),$("span",kP,M(ee.value),1)):ne("",!0)],42,_P)):le.value&&ee.value!==""?(h(),$("p",$P,M(ee.value),1)):ne("",!0),c.value>0?(h(),$("p",CP,[j(u(Nt),{size:14,class:"shrink-0","aria-hidden":"true"}),P("span",null,M(u(Cr)("backend::lang.fileupload.too_many",c.value,{max:V.value??0})),1)])):ne("",!0)],64)),P("input",{ref_key:"input",ref:f,type:"file",hidden:"",tabindex:"-1","data-fileupload-input":"",accept:ue.value,multiple:L.value||void 0,onChange:me},null,40,SP),P("p",AP,M(d.value),1),e.field.useCaption?(h(),F(cO,{key:3,open:b.value,"onUpdate:open":ye[1]||(ye[1]=U=>b.value=U),file:Gl.value?.file??null,routes:u(N),preview:Gl.value?Cn(Gl.value):null,"id-prefix":e.controlId,onSaved:gy,onClosed:by},null,8,["open","file","routes","preview","id-prefix"])):ne("",!0)],8,dO))}}),MP=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],qP=Q({__name:"NumberField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),l=x(()=>zl(n.field));function o(s){const i=s.target.value.trim();if(i===""){a("update:modelValue",null);return}const c=Number(i);a("update:modelValue",Number.isFinite(c)?c:null)}return(s,i)=>(h(),$("input",Te({id:e.controlId},l.value,{name:e.field.name,type:"number",inputmode:"decimal",value:r.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ba)(e.invalid),"h-input tabular-nums"],onInput:o}),null,16,MP))}}),TP=["id","aria-labelledby","aria-describedby"],RP=Q({__name:"PartialField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e;return(n,a)=>(h(),$("div",{id:e.controlId,role:"group","data-partial-field":"","aria-labelledby":t.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0},[e.source?(h(),F(Bc,{key:0,variant:"field",source:e.source,name:t.field.path||t.field.name,"record-id":e.recordId??null},null,8,["source","name","record-id"])):(h(),F(Ic,{key:1,"data-partial-failed":"",text:u(O)("backend::lang.extension.partial_failed")},null,8,["text"]))],8,TP))}}),IP={class:"relative"},BP=["id","name","type","value","required","aria-required","aria-invalid","aria-describedby"],FP=["aria-pressed","aria-label"],NP=Q({__name:"PasswordField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=R(!1),l=x(()=>typeof n.modelValue=="string"?n.modelValue:""),o=x(()=>zl(n.field)),s=st(Rr,null);return s&&Ne(s.revision,()=>{r.value=!1}),(i,c)=>(h(),$("div",IP,[P("input",Te({id:e.controlId,autocomplete:"new-password",spellcheck:"false"},o.value,{name:e.field.name,type:r.value?"text":"password",value:l.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ba)(e.invalid),"h-input pr-12"],onInput:c[0]||(c[0]=d=>a("update:modelValue",d.target.value))}),null,16,BP),P("button",{type:"button","data-password-toggle":"","aria-pressed":r.value?"true":"false","aria-label":u(O)(r.value?"backend::lang.form.hide_password":"backend::lang.form.show_password"),class:"absolute top-1/2 right-1.5 flex size-8 -translate-y-1/2 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:c[1]||(c[1]=d=>r.value=!r.value)},[(h(),F(Ut(r.value?u(T0):u(I0)),{size:16,"aria-hidden":"true"}))],8,FP)]))}}),VP=["id"],LP=["id","aria-labelledby","aria-label","aria-describedby","data-mode"],jP=["aria-labelledby"],UP=["id"],zP={class:"min-w-0 [overflow-wrap:anywhere]"},HP={key:0,class:"shrink-0 text-[12px] font-semibold text-muted","aria-hidden":"true"},KP=["data-permission","data-locked"],WP={class:"flex min-w-0 flex-col"},GP=["id"],YP=["id"],JP=Q({__name:"PermissionEditorField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.field.permissionOptions??[]),l=x(()=>n.field.mode==="radio"),o=x(()=>!!n.field.readOnly||!!zl(n.field).readonly),s=x(()=>cy(n.field,n.modelValue)),i=x(()=>{const b=[],y=[];for(const _ of r.value){if(!_.tab){y.push(_);continue}let C=b.find(A=>A.label===_.tab);C||(C={key:`tab:${_.tab}`,label:_.tab,options:[]},b.push(C)),C.options.push(_)}return y.length>0&&b.push({key:"other",label:O("backend::lang.permissioneditor.other"),options:y}),b}),c=[{value:"1",label:"backend::lang.permissioneditor.allow",checked:"data-[state=checked]:bg-ok-bg data-[state=checked]:text-ok-text"},{value:"0",label:"backend::lang.permissioneditor.inherit",checked:"data-[state=checked]:bg-surface data-[state=checked]:text-text data-[state=checked]:shadow-tab"},{value:"-1",label:"backend::lang.permissioneditor.deny",checked:"data-[state=checked]:bg-danger-soft data-[state=checked]:text-danger"}],d=x(()=>`${n.controlId}-label`);function f(b,y){return`${n.controlId}-${b}-${y}`}function p(b){return o.value||!!b.locked}function v(b){return!!b.locked&&!o.value}function m(b){return s.value[b.code]??0}function g(b,y){if(p(b))return;const _={...s.value};y===1||l.value&&y===-1?_[b.code]=y:delete _[b.code],a("update:modelValue",_)}return(b,y)=>r.value.length===0?(h(),$("div",{key:0,id:e.controlId,"data-permission-empty":"",class:"flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 text-muted"},M(u(O)("backend::lang.permissioneditor.empty")),9,VP)):(h(),$("div",{key:1,id:e.controlId,role:"group","aria-labelledby":e.field.label?d.value:void 0,"aria-label":e.field.label?void 0:e.field.name,"aria-describedby":e.describedBy||void 0,class:_e([e.invalid?"border-danger":"border-border","overflow-hidden rounded-inner border"]),"data-permission-editor":"","data-mode":l.value?"radio":"checkbox"},[(h(!0),$(ge,null,Fe(i.value,(_,C)=>(h(),$("div",{key:_.key,role:"group","aria-labelledby":`${e.controlId}-section-${C}`,"data-permission-section":""},[P("h3",{id:`${e.controlId}-section-${C}`,class:_e([C>0?"border-t border-border":"","flex h-row-head items-center justify-between gap-4 bg-subtle px-4 font-semibold"])},[P("span",zP,M(_.label),1),l.value?ne("",!0):(h(),$("span",HP,M(u(O)("backend::lang.permissioneditor.allow")),1))],10,UP),(h(!0),$(ge,null,Fe(_.options,(A,N)=>(h(),$("div",{key:A.code,"data-permission":A.code,"data-locked":v(A)?"":void 0,class:"flex min-h-[56px] items-center justify-between gap-x-4 gap-y-2 border-t border-border px-4 py-3 max-sm:flex-col max-sm:items-start"},[P("div",WP,[(h(),F(Ut(l.value?"span":"label"),{id:`${f(C,N)}-label`,for:l.value?void 0:f(C,N),class:"[overflow-wrap:anywhere]"},{default:T(()=>[ke(M(A.label||A.code)+" ",1),v(A)?(h(),F(u(J0),{key:0,size:14,class:"ml-1 inline-block align-[-2px] text-muted","aria-hidden":"true"})):ne("",!0)]),_:2},1032,["id","for"])),v(A)?(h(),$("p",{key:0,id:`${f(C,N)}-note`,class:"text-[13px] text-muted [overflow-wrap:anywhere]","data-permission-locked":""},M(u(O)("backend::lang.permissioneditor.locked")),9,GP)):A.comment?(h(),$("p",{key:1,id:`${f(C,N)}-note`,class:"text-[13px] text-muted [overflow-wrap:anywhere]"},M(A.comment),9,YP)):ne("",!0)]),l.value?(h(),F(u(mA),{key:0,orientation:"horizontal","model-value":String(m(A)),disabled:p(A),"aria-disabled":p(A)?"true":void 0,"aria-labelledby":`${f(C,N)}-label`,"aria-describedby":v(A)||A.comment?`${f(C,N)}-note`:void 0,class:"inline-flex shrink-0 gap-1 rounded-inner border border-border bg-subtle p-1","onUpdate:modelValue":G=>g(A,Number(G))},{default:T(()=>[(h(),$(ge,null,Fe(c,G=>j(u(bA),{key:G.value,value:G.value,"data-segment":G.value,class:_e([G.checked,"inline-flex h-pager items-center rounded-tab px-4 text-[13px] whitespace-nowrap text-muted transition-colors duration-150 ease-out hover:text-text disabled:cursor-not-allowed disabled:hover:text-muted data-[state=checked]:text-[14px] data-[state=checked]:font-semibold"])},{default:T(()=>[ke(M(u(O)(G.label)),1)]),_:2},1032,["value","data-segment","class"])),64))]),_:1},8,["model-value","disabled","aria-disabled","aria-labelledby","aria-describedby","onUpdate:modelValue"])):(h(),F(u(wC),{key:1,id:f(C,N),"model-value":m(A)===1,disabled:p(A),"aria-disabled":p(A)?"true":void 0,"aria-labelledby":`${f(C,N)}-label`,"aria-describedby":v(A)||A.comment?`${f(C,N)}-note`:void 0,class:"flex size-[18px] shrink-0 items-center justify-center rounded-checkbox border border-border-strong bg-surface disabled:cursor-not-allowed disabled:opacity-60 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-on-primary","onUpdate:modelValue":G=>g(A,G===!0?1:0)},{default:T(()=>[j(u($C),null,{default:T(()=>[j(u(Fa),{size:14,"aria-hidden":"true"})]),_:1})]),_:1},8,["id","model-value","disabled","aria-disabled","aria-labelledby","aria-describedby","onUpdate:modelValue"]))],8,KP))),128))],8,jP))),128))],10,LP))}}),Et="default";function gn(e){return e.tab?`tab:${e.tab}`:Et}function El(e,t){return`${e}-tab-${t}`}function Bs(e,t){return`${e}-panel-${t}`}function Fs(e,t){const n=e.context;if(n==null)return!0;const a=Array.isArray(n)?n:[n];return a.length===0||a.includes(t)}function Wt(e,t,n="create"){const a={};for(const r of e){if(r.readOnly||!W4(r.type))continue;const l=t[r.name];if(!(r.type==="password"&&n==="update"&&(l===""||l===null))){if(r.type==="permissioneditor"){a[r.name]=cy(r,l);continue}l!==void 0&&(a[r.name]=l)}}return a}function ZP(e,t){const n=typeof t=="string"||typeof t=="number"?String(t):"";return e!=="slug"?n:n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function jc(e){const t={};for(const n of e)n.default!==void 0?t[n.name]=n.default:n.type==="switch"||n.type==="checkbox"?t[n.name]=!1:n.type==="relation"&&n.multiple&&(t[n.name]=[]);return t}function Hl(e){const t={};for(const[n,a]of Object.entries(e??{})){const r=Array.isArray(a)?a.filter(l=>typeof l=="string"&&l!==""):typeof a=="string"&&a!==""?[a]:[];r.length>0&&(t[n]=r)}return t}function ca(e){return JSON.stringify(Object.keys(e).sort().map(t=>[t,e[t]]))}function Kl(e,t){const n=document.getElementById(`${e}-${t}`);return n?(n.matches("input, select, textarea, button, [tabindex]")||n.setAttribute("tabindex","-1"),n.focus(),!0):!1}const QP={role:"tablist",class:"inline-flex gap-1 rounded-inner border border-border bg-subtle p-1"},XP=["id","data-tab","aria-selected","aria-controls","tabindex","onClick","onKeydown"],eM=["aria-label"],Uc=Q({__name:"FormTabs",props:{tabs:{},modelValue:{},idPrefix:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t;function r(l,o){const s=l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0;if(s===0)return;l.preventDefault();const i=(o+s+n.tabs.length)%n.tabs.length,c=n.tabs[i];c&&(a("update:modelValue",c.key),document.getElementById(El(n.idPrefix,i))?.focus())}return(l,o)=>(h(),$("div",QP,[(h(!0),$(ge,null,Fe(e.tabs,(s,i)=>(h(),$("button",{id:u(El)(e.idPrefix,i),key:s.key,type:"button",role:"tab","data-tab":s.key,"aria-selected":s.key===e.modelValue?"true":"false","aria-controls":u(Bs)(e.idPrefix,i),tabindex:s.key===e.modelValue?0:-1,class:_e([s.key===e.modelValue?"bg-surface text-text shadow-tab":"text-muted hover:text-text","inline-flex h-[34px] items-center gap-2 rounded-tab px-4 font-semibold transition-colors duration-150 ease-out"]),onClick:c=>a("update:modelValue",s.key),onKeydown:c=>r(c,i)},[ke(M(s.label)+" ",1),s.errors>0?(h(),$("span",{key:0,"data-tab-errors":"","aria-label":u(Cr)("backend::lang.form.tab_errors",s.errors),class:"inline-flex h-5 min-w-5 items-center justify-center rounded-pill bg-danger px-1.5 text-[11px] font-bold text-white"},M(s.errors),9,eM)):ne("",!0)],42,XP))),128))]))}}),tM={class:"flex items-start gap-3 p-6 pb-4"},nM={key:0,"data-child-loading":"","aria-hidden":"true",class:"grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},aM={key:1,role:"alert","data-child-load-failed":"",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},rM=["id","role","aria-labelledby"],lM=["disabled"],oM={class:"flex items-center gap-2.5 border-t border-border px-6 py-4"},sM={class:"ml-auto flex gap-2.5"},iM=Q({__name:"RelationChildModal",props:{open:{type:Boolean},source:{},ownerId:{},relation:{},schema:{},mode:{},childId:{},sessionKey:{},canDelete:{type:Boolean}},emits:["update:open","changed","gone","closed"],setup(e,{emit:t}){const n=e,a=t,r=R({}),l=R({}),o=R({}),s=R(!1),i=R(!1),c=R(!1),d=R(""),f=R(Et),p=R(Al()),v=R(0),m=R(0),{activeUploads:g,beginUpload:b}=Lc(),y=R(null),_=Ga();let C=0;const A=x(()=>`child-${n.relation}`),N=x(()=>n.mode==="preview"),G=x(()=>n.mode==="create"?"create":"update"),z=x(()=>{const de=((N.value?n.schema.viewForm:n.schema.manageForm)??[]).filter(be=>Fs(be,G.value));return N.value?de.map(be=>({...be,readOnly:!0,attributes:{...be.attributes??{},readonly:!0}})):de}),H=x(()=>z.value.map(ee=>ee.name)),k=x(()=>{if(!z.value.some(de=>de.tab))return[];const ee=[];for(const de of z.value){const be=gn(de);let w=ee.find(S=>S.key===be);w||(w={key:be,label:de.tab||O("backend::lang.form.tab_default"),errors:0},be===Et?ee.unshift(w):ee.push(w)),o.value[de.name]&&(w.errors+=1)}return ee}),B=x(()=>Math.max(k.value.findIndex(ee=>ee.key===f.value),0)),Y=x(()=>{if(k.value.length===0)return z.value;const ee=k.value[B.value]?.key??Et;return z.value.filter(de=>gn(de)===ee)}),D=x(()=>{const ee=n.schema.messages;return n.mode==="create"?Be(ee.createTitle):Be(N.value?ee.previewTitle:ee.updateTitle)}),L=x(()=>Be(n.mode==="create"?n.schema.messages.createSubmit:n.schema.messages.updateSubmit)),W=x(()=>!N.value&&!s.value&&!i.value&&(v.value>0||g.value>0||ca(Wt(z.value,r.value))!==d.value));function V(){return{[ga]:n.sessionKey,[ry]:p.value}}function X(){return{...n.source,id:n.ownerId,name:n.relation}}Dt(Rr,{get key(){return n.sessionKey},get childKey(){return p.value},get recordId(){return n.childId??0},routes:ee=>uD(n.source,n.ownerId,n.relation,n.childId??0,ee,n.sessionKey,p.value),markDirty:()=>{v.value++},pendingChanges:pt(v),revision:pt(m),beginUpload:b,activeUploads:pt(g)}),Dt(Nc,x(()=>r.value)),Dt(Vc,ce);function ce(ee,de){if(r.value={...r.value,[ee]:de},o.value[ee]){const be={...o.value};delete be[ee],o.value=be}}function te(ee,de){r.value={...ee},l.value=de?.labels??{},d.value=ca(Wt(z.value,r.value))}async function ie(){await Ke(),y.value?.querySelector('input:not([type="hidden"]):not([tabindex="-1"]), select, textarea, button, [contenteditable="true"], [tabindex="0"]')?.focus()}function le(){a("update:open",!1),Pe(O("backend::lang.relation.child_gone"),"danger"),a("gone")}async function re(){const ee=++C;if(o.value={},i.value=!1,c.value=!1,v.value=0,p.value=Al(),f.value=Et,n.mode==="create"||n.childId===null){s.value=!1,te(jc(z.value)),f.value=k.value[0]?.key??Et,await ie();return}s.value=!0;try{const de=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}",{params:{path:{...X(),child:n.childId},header:V()}});if(ee!==C)return;if(de.data)te(de.data.data,de.data.meta),f.value=k.value[0]?.key??Et;else if(de.response.status===404){le();return}else i.value=!0}catch{ee===C&&(i.value=!0)}finally{ee===C&&(s.value=!1)}ee===C&&await ie()}Ne(()=>n.open,ee=>{ee?re():C++},{immediate:!0});async function we(ee){if(ee){a("update:open",!0);return}c.value||W.value&&!await _.ask({message:O("backend::lang.form.unsaved_confirm"),confirmLabel:O("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function ue(ee){o.value=Hl(ee);const de=z.value.filter(w=>o.value[w.name]),be=de.find(w=>gn(w)===f.value)??de[0];be&&(k.value.length>0&&(f.value=gn(be)),await Ke(),Kl(A.value,be.name))}async function Ce(){if(!(c.value||N.value||s.value||i.value||g.value>0)){c.value=!0;try{const ee=Wt(z.value,r.value),de=n.mode==="create"||n.childId===null?await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records",{params:{path:X(),header:V()},body:ee}):await Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}",{params:{path:{...X(),child:n.childId},header:V()},body:ee});if(de.data){const w=n.mode==="create"?"created":"updated";o.value={},v.value=0,a("update:open",!1),Pe(Be(w==="created"?n.schema.messages.created:n.schema.messages.updated)),a("changed",w);return}const be=de.response.status;be===422?await ue(de.error?.error.details):be===404?le():Pe(de.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}}async function pe(){if(c.value||n.childId===null)return;const ee=n.childId;if(await _.ask({message:Be(n.schema.messages.deleteOneConfirm),confirmLabel:O("backend::lang.form.delete"),danger:!0})){c.value=!0;try{const be=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/delete",{params:{path:X(),header:{[ga]:n.sessionKey}},body:{ids:[ee]}});if(be.data){v.value=0,a("update:open",!1),Pe(Be(n.schema.messages.deleted,be.data.data.deleted||1)),a("changed","deleted");return}if(be.response.status===404){le();return}Pe(be.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}}function Z(ee){ee.preventDefault()}function ve(ee){ee.preventDefault(),a("closed")}return(ee,de)=>(h(),$(ge,null,[j(u(Fl),{open:e.open,"onUpdate:open":we},{default:T(()=>[j(u(Os),null,{default:T(()=>[j(u(Vl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),j(u(Nl),{"data-relation-child-modal":"","data-dialog-content":"","data-mode":e.mode,"aria-modal":"true","aria-describedby":void 0,class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[720px] -translate-x-1/2 -translate-y-1/2 flex-col rounded-modal bg-surface text-text shadow-pop",onOpenAutoFocus:Z,onCloseAutoFocus:ve},{default:T(()=>[P("div",tM,[j(u(Ll),{class:"min-w-0 flex-1 text-[20px] font-bold tracking-[-0.01em]"},{default:T(()=>[ke(M(D.value),1)]),_:1}),j(u(Dr),{"data-action":"close","aria-label":u(O)("backend::lang.form.close"),disabled:c.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:T(()=>[j(u(Yt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),P("div",{ref_key:"body",ref:y,"data-child-body":"",class:"flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 pb-6"},[s.value?(h(),$("div",nM,[(h(),$(ge,null,Fe(6,be=>P("div",{key:be,class:"flex flex-col gap-1.5"},[...de[3]||(de[3]=[P("span",{class:"block h-3 w-24 rounded-[6px] bg-skel"},null,-1),P("span",{class:"block h-input rounded-control bg-skel"},null,-1)])])),64))])):i.value?(h(),$("p",aM,M(u(O)("backend::lang.relation.child_load_failed")),1)):(h(),$(ge,{key:2},[j(Ul,{errors:o.value,"field-names":H.value},null,8,["errors","field-names"]),k.value.length>0?(h(),F(Uc,{key:0,modelValue:f.value,"onUpdate:modelValue":de[0]||(de[0]=be=>f.value=be),tabs:k.value,"id-prefix":A.value,class:"self-start"},null,8,["modelValue","tabs","id-prefix"])):ne("",!0),P("form",{id:k.value.length>0?u(Bs)(A.value,B.value):void 0,role:k.value.length>0?"tabpanel":void 0,"aria-labelledby":k.value.length>0?u(El)(A.value,B.value):void 0,novalidate:"",onSubmit:ut(Ce,["prevent"])},[P("fieldset",{disabled:c.value||N.value,class:"m-0 min-w-0 border-0 p-0"},[j(Wl,{fields:Y.value,values:r.value,errors:o.value,labels:l.value,source:e.source,"record-id":e.childId,"id-prefix":A.value,onUpdate:ce},null,8,["fields","values","errors","labels","source","record-id","id-prefix"])],8,lM)],40,rM)],64))],512),P("div",oM,[e.mode==="update"&&e.canDelete&&!s.value&&!i.value?(h(),F(et,{key:0,variant:"danger","data-action":"delete-child",icon:u(Tl),disabled:c.value,onClick:pe},{default:T(()=>[ke(M(u(O)("backend::lang.form.delete")),1)]),_:1},8,["icon","disabled"])):ne("",!0),P("div",sM,[N.value?(h(),F(et,{key:0,variant:"outline","data-action":"cancel",onClick:de[1]||(de[1]=be=>we(!1))},{default:T(()=>[ke(M(u(O)("backend::lang.form.close")),1)]),_:1})):(h(),$(ge,{key:1},[j(et,{variant:"ghost","data-action":"cancel",disabled:c.value,onClick:de[2]||(de[2]=be=>we(!1))},{default:T(()=>[ke(M(u(O)("backend::lang.form.cancel")),1)]),_:1},8,["disabled"]),i.value?ne("",!0):(h(),F(et,{key:0,variant:"primary","data-action":"save-child",disabled:c.value||s.value||u(g)>0,onClick:Ce},{default:T(()=>[ke(M(c.value?u(O)("backend::lang.form.saving"):L.value),1)]),_:1},8,["disabled"]))],64))])])]),_:1},8,["data-mode"])]),_:1})]),_:1},8,["open"]),j(Wa,{open:u(_).request.value!==null,message:u(_).request.value?.message??"","confirm-label":u(_).request.value?.confirmLabel,danger:u(_).request.value?.danger,onConfirm:u(_).confirm,onCancel:u(_).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),uM={class:"flex items-start gap-3"},cM={class:"flex min-w-0 flex-1 flex-col gap-1"},dM=["title"],fM={key:0,class:"truncate text-[13px] text-muted"},pM=["disabled"],vM={class:"relative block"},hM={class:"sr-only"},mM=["value","placeholder"],yM=["aria-multiselectable","aria-label","aria-busy"],gM=["data-candidate","aria-selected","onClick","onKeydown"],bM={class:"flex size-8 shrink-0 items-center justify-center rounded-full bg-subtle text-[12px] font-bold","aria-hidden":"true"},_M={class:"flex min-w-0 flex-1 flex-col leading-tight"},xM={class:"truncate font-semibold"},wM={key:0,class:"truncate text-[13px] text-muted"},kM={key:0,class:"block size-2.5 rounded-full bg-primary"},$M={key:0,role:"presentation",class:"px-1 py-3 text-[13px] text-muted"},CM={key:1,role:"presentation","data-candidates-empty":"",class:"px-1 py-3 text-[13px] text-muted"},SM=["aria-label"],AM={"data-candidates-range":"",class:"flex-1"},EM=["aria-label","disabled"],DM=["aria-label","disabled"],OM={class:"flex gap-2.5"},PM=["disabled"],MM=["disabled"],qM=["disabled","aria-busy"],TM=5,RM=300,vp="inline-flex size-[34px] items-center justify-center rounded-tab border border-border text-text hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",IM=Q({__name:"RelationPickerModal",props:{open:{type:Boolean},source:{},recordId:{},relation:{},schema:{},sessionKey:{}},emits:["update:open","linked","closed"],setup(e,{emit:t}){const n=e,a=t,r=R(""),l=R(1),o=R([]),s=R(null),i=R(!1),c=R(!1),d=R(new Set),f=R(null),p=R(1),v=R(null),m=R({}),g=R({}),b=R(null);let y=0,_=null;const C=x(()=>n.schema.manage.list.columns),A=x(()=>C.value[0]?.key??""),N=x(()=>C.value[1]?.key??""),G=x(()=>d.value.size),z=`relation-${n.relation}-candidates`,H=x(()=>n.schema.pivotForm??[]),k=x(()=>H.value.map(w=>w.name)),B=x(()=>H.value.length>0),Y=x(()=>`link-${n.relation}`);function D(){return n.sessionKey?{[ga]:n.sessionKey}:void 0}const L=x(()=>{const w=s.value;if(!w||w.total===0)return"";const S=(w.page-1)*w.per_page+1,E=Math.min(w.page*w.per_page,w.total);return O("backend::lang.relation.candidates_range",{from:S,to:E,total:w.total})}),W=x(()=>Math.max(s.value?.last_page??1,1));function V(w){const S=w.id;return typeof S=="number"&&Number.isInteger(S)?S:typeof S=="string"&&/^\d+$/.test(S)?Number(S):null}function X(w,S){const E=S===""?void 0:w[S];return typeof E=="string"||typeof E=="number"?String(E):""}function ae(w){return w.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(S=>S.charAt(0).toUpperCase()).join("")}async function ce(){const w=++y;i.value=!0;try{const S=r.value.trim(),{data:E}=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/candidates",{params:{path:{...n.source,id:n.recordId,name:n.relation},query:{search:S===""?void 0:S,page:l.value,per_page:TM},header:D()}});if(w!==y)return;o.value=E?.data??[],s.value=E?.meta??null}catch{w===y&&(o.value=[],s.value=null)}finally{w===y&&(i.value=!1)}}function te(){_!==null&&(clearTimeout(_),_=null),y++,r.value="",l.value=1,o.value=[],s.value=null,i.value=!1,d.value=new Set,p.value=1,v.value=null,m.value={},g.value={}}Ne(()=>n.open,w=>{w?(te(),ce()):te()},{immediate:!0});function ie(w){r.value=w.target.value,_!==null&&clearTimeout(_),_=setTimeout(()=>{_=null,l.value=1,ce()},RM)}function le(w){w<1||w>W.value||w===l.value||(l.value=w,ce())}function re(w){const S=V(w);return S!==null&&d.value.has(S)}function we(w){const S=V(w);if(S===null)return;if(B.value){d.value=new Set([S]),v.value=w;return}const E=new Set(d.value);E.has(S)?E.delete(S):E.add(S),d.value=E}async function ue(){!B.value||d.value.size===0||!v.value||(p.value=2,m.value=jc(H.value),g.value={},await Ke(),b.value?.querySelector('input, select, textarea, button, [contenteditable="true"]')?.focus())}async function Ce(){if(c.value)return;p.value=1,g.value={},await Ke(),(document.querySelector(`#${z} [aria-selected="true"]`)??f.value)?.focus()}function pe(w,S){if(m.value={...m.value,[w]:S},g.value[w]){const E={...g.value};delete E[w],g.value=E}}function Z(w,S,E){switch(w.key){case" ":w.preventDefault(),we(S);break;case"Enter":w.preventDefault(),we(S),B.value&&ue();break;case"ArrowDown":case"ArrowUp":{w.preventDefault();const J=w.currentTarget.parentElement?.querySelectorAll('[role="option"]'),q=w.key==="ArrowDown"?1:-1;J?.[Math.min(Math.max(E+q,0),J.length-1)]?.focus();break}}}function ve(w){a("update:open",w)}async function ee(){const w=[...d.value];if(c.value||w.length===0)return;const S=B.value;c.value=!0;try{const E=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/link",{params:{path:{...n.source,id:n.recordId,name:n.relation},header:D()},body:S?{ids:w.slice(0,1),pivot:Wt(H.value,m.value)}:{ids:w}});if(E.data){ve(!1),a("linked",E.data.data.linked??w.length);return}const J=E.response.status;if(S&&J===422){g.value=Hl(E.error?.error.details);const q=H.value.find(K=>g.value[K.name]);q&&(await Ke(),Kl(Y.value,q.name));return}if(S&&J===404){Pe(O("backend::lang.relation.child_gone"),"danger"),d.value=new Set,v.value=null,p.value=1,ce();return}if(S){Pe(O("backend::lang.form.error_generic"),"danger");return}Pe(E.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}function de(w){w.preventDefault(),f.value?.focus()}function be(w){w.preventDefault(),a("closed")}return It(()=>{_!==null&&clearTimeout(_)}),(w,S)=>(h(),F(u(Fl),{open:e.open,"onUpdate:open":ve},{default:T(()=>[j(u(Os),null,{default:T(()=>[j(u(Vl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),j(u(Nl),{"data-relation-picker":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-modal bg-surface p-6 text-text shadow-pop",onOpenAutoFocus:de,onCloseAutoFocus:be},{default:T(()=>[P("div",uM,[P("div",cM,[j(u(Ll),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:T(()=>[ke(M(p.value===2?u(Be)(e.schema.messages.pivotTitle):u(Be)(e.schema.messages.link)),1)]),_:1}),p.value===1?(h(),F(u(wl),{key:0,class:"text-muted"},{default:T(()=>[ke(M(u(Be)(e.schema.messages.linkHint)),1)]),_:1})):(h(),F(u(wl),{key:1,class:"flex min-w-0 flex-col","data-chosen-record":""},{default:T(()=>[P("span",{class:"truncate font-semibold text-text",title:X(v.value??{},A.value)},M(X(v.value??{},A.value)),9,dM),N.value?(h(),$("span",fM,M(X(v.value??{},N.value)),1)):ne("",!0)]),_:1}))]),j(u(Dr),{"data-action":"close","aria-label":u(O)("backend::lang.form.close"),class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:T(()=>[j(u(Yt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])]),p.value===2?(h(),$("div",{key:0,ref_key:"stepTwo",ref:b,"data-pivot-step":"",class:"flex min-h-0 flex-col gap-4 overflow-y-auto"},[j(Ul,{errors:g.value,"field-names":k.value},null,8,["errors","field-names"]),P("form",{novalidate:"",onSubmit:ut(ee,["prevent"])},[P("fieldset",{disabled:c.value,class:"m-0 min-w-0 border-0 p-0"},[j(Wl,{fields:H.value,values:m.value,errors:g.value,source:e.source,"record-id":null,"id-prefix":Y.value,onUpdate:pe},null,8,["fields","values","errors","source","id-prefix"])],8,pM)],32)],512)):ne("",!0),Ba(P("label",vM,[P("span",hM,M(u(O)("backend::lang.list.search")),1),j(u(hs),{size:18,class:"pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"}),P("input",{ref_key:"searchInput",ref:f,type:"search","data-candidate-search":"",value:r.value,placeholder:u(Be)(e.schema.messages.candidateSearch),"aria-controls":z,class:"h-input w-full rounded-control border border-border-strong bg-surface pr-3.5 pl-10",onInput:ie},null,40,mM)],512),[[eu,p.value===1]]),Ba(P("ul",{id:z,role:"listbox","aria-multiselectable":B.value?"false":"true","aria-label":u(Be)(e.schema.messages.link),"aria-busy":i.value?"true":void 0,class:"flex min-h-0 flex-col gap-2 overflow-y-auto"},[(h(!0),$(ge,null,Fe(o.value,(E,J)=>(h(),$("li",{key:V(E)??`row-${J}`,role:"option",tabindex:"0","data-candidate":V(E)??void 0,"aria-selected":re(E)?"true":"false",class:_e([re(E)?"border-[#e0b020] bg-sel":"border-border hover:bg-hover","flex h-[54px] cursor-pointer items-center gap-3 rounded-inner border px-3 transition-colors duration-150 ease-out"]),onClick:q=>we(E),onKeydown:q=>Z(q,E,J)},[P("span",bM,M(ae(X(E,A.value))),1),P("span",_M,[P("span",xM,M(X(E,A.value)),1),N.value?(h(),$("span",wM,M(X(E,N.value)),1)):ne("",!0)]),B.value?(h(),$("span",{key:0,"data-radio":"",class:_e([re(E)?"border-primary":"border-border-strong bg-surface","flex size-[18px] shrink-0 items-center justify-center rounded-full border"]),"aria-hidden":"true"},[re(E)?(h(),$("span",kM)):ne("",!0)],2)):(h(),$("span",{key:1,class:_e([re(E)?"border-primary bg-primary text-on-primary":"border-border-strong bg-surface","flex size-[18px] shrink-0 items-center justify-center rounded-checkbox border"]),"aria-hidden":"true"},[re(E)?(h(),F(u(Fa),{key:0,size:14})):ne("",!0)],2))],42,gM))),128)),i.value&&o.value.length===0?(h(),$("li",$M,M(u(O)("backend::lang.list.loading")),1)):!i.value&&o.value.length===0?(h(),$("li",CM,M(u(O)("backend::lang.relation.no_candidates")),1)):ne("",!0)],8,yM),[[eu,p.value===1]]),p.value===1&&s.value&&s.value.total>0?(h(),$("nav",{key:1,"aria-label":u(O)("backend::lang.list.pagination"),class:"flex items-center gap-2 text-[13px] text-muted"},[P("span",AM,M(L.value),1),P("button",{type:"button","data-page":"prev","aria-label":u(O)("backend::lang.list.prev_page"),class:_e(vp),disabled:i.value||l.value<=1,onClick:S[0]||(S[0]=E=>le(l.value-1))},[j(u(vs),{size:16,"aria-hidden":"true"})],8,EM),P("button",{type:"button","data-page":"next","aria-label":u(O)("backend::lang.list.next_page"),class:_e(vp),disabled:i.value||l.value>=W.value,onClick:S[1]||(S[1]=E=>le(l.value+1))},[j(u(ql),{size:16,"aria-hidden":"true"})],8,DM)],8,SM)):ne("",!0),P("div",OM,[p.value===2?(h(),$("button",{key:0,type:"button","data-action":"back",disabled:c.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:Ce},M(u(O)("backend::lang.relation.back")),9,PM)):(h(),F(u(Dr),{key:1,"data-action":"cancel",class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover"},{default:T(()=>[ke(M(u(O)("backend::lang.form.cancel")),1)]),_:1})),B.value&&p.value===1?(h(),$("button",{key:2,type:"button","data-action":"next",disabled:G.value===0,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:ue},M(u(O)("backend::lang.relation.next")),9,MM)):(h(),$("button",{key:3,type:"button","data-action":"confirm-link",disabled:c.value||G.value===0,"aria-busy":c.value?"true":void 0,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:ee},[B.value?(h(),$(ge,{key:0},[ke(M(c.value?u(O)("backend::lang.form.saving"):u(Be)(e.schema.messages.linkSubmit)),1)],64)):(h(),$(ge,{key:1},[ke(M(u(O)("backend::lang.relation.add_count",{count:G.value})),1)],64))],8,qM))])]),_:1})]),_:1})]),_:1},8,["open"]))}}),BM={class:"flex items-start gap-3"},FM={class:"flex min-w-0 flex-1 flex-col gap-1"},NM={key:0,"data-pivot-loading":"","aria-hidden":"true",class:"flex flex-col gap-1.5"},VM={key:1,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},LM=["disabled"],jM={class:"flex gap-2.5"},UM=["disabled"],zM=["disabled"],HM=Q({__name:"RelationPivotModal",props:{open:{type:Boolean},source:{},ownerId:{},relation:{},schema:{},childId:{},childName:{},sessionKey:{}},emits:["update:open","saved","gone","closed"],setup(e,{emit:t}){const n=e,a=t,r=R({}),l=R({}),o=R(!1),s=R(!1),i=R(!1),c=R(""),d=Ga();let f=0;const p=x(()=>`pivot-${n.relation}`),v=x(()=>n.schema.pivotForm??[]),m=x(()=>v.value.map(H=>H.name)),g=x(()=>!o.value&&!s.value&&ca(Wt(v.value,r.value))!==c.value);function b(){return{[ga]:n.sessionKey}}function y(H){return{...n.source,id:n.ownerId,name:n.relation,child:H}}function _(H,k){if(r.value={...r.value,[H]:k},l.value[H]){const B={...l.value};delete B[H],l.value=B}}function C(){a("update:open",!1),Pe(O("backend::lang.relation.child_gone"),"danger"),a("gone")}async function A(){const H=++f;if(l.value={},s.value=!1,i.value=!1,r.value={},c.value=ca({}),n.childId!==null){o.value=!0;try{const k=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/pivot/{child}",{params:{path:y(n.childId),header:b()}});if(H!==f)return;k.data?(r.value={...k.data.data},c.value=ca(Wt(v.value,r.value))):k.response.status===404?C():s.value=!0}catch{H===f&&(s.value=!0)}finally{H===f&&(o.value=!1)}}}Ne(()=>n.open,H=>{H?A():f++},{immediate:!0});async function N(H){if(H){a("update:open",!0);return}i.value||g.value&&!await d.ask({message:O("backend::lang.form.unsaved_confirm"),confirmLabel:O("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function G(){if(!(i.value||o.value||s.value||n.childId===null)){i.value=!0;try{const H=await Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/pivot/{child}",{params:{path:y(n.childId),header:b()},body:Wt(v.value,r.value)});if(H.data){l.value={},c.value=ca(Wt(v.value,r.value)),a("update:open",!1),Pe(Be(n.schema.messages.pivotSaved)),a("saved");return}const k=H.response.status;if(k===422){l.value=Hl(H.error?.error.details);const B=v.value.find(Y=>l.value[Y.name]);B&&(await Ke(),Kl(p.value,B.name))}else k===404?C():Pe(O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{i.value=!1}}}function z(H){H.preventDefault(),a("closed")}return(H,k)=>(h(),$(ge,null,[j(u(Fl),{open:e.open,"onUpdate:open":N},{default:T(()=>[j(u(Os),null,{default:T(()=>[j(u(Vl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),j(u(Nl),{"data-relation-pivot-modal":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 overflow-y-auto rounded-modal bg-surface p-6 text-text shadow-pop",onCloseAutoFocus:z},{default:T(()=>[P("div",BM,[P("div",FM,[j(u(Ll),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:T(()=>[ke(M(u(Be)(e.schema.messages.pivotTitle)),1)]),_:1}),j(u(wl),{class:"truncate text-muted",title:e.childName},{default:T(()=>[ke(M(e.childName),1)]),_:1},8,["title"])]),j(u(Dr),{"data-action":"close","aria-label":u(O)("backend::lang.form.close"),disabled:i.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:T(()=>[j(u(Yt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),o.value?(h(),$("div",NM,[...k[1]||(k[1]=[P("span",{class:"block h-3 w-24 rounded-[6px] bg-skel"},null,-1),P("span",{class:"block h-input rounded-control bg-skel"},null,-1)])])):s.value?(h(),$("p",VM,M(u(O)("backend::lang.relation.child_load_failed")),1)):(h(),$("form",{key:2,class:"flex flex-col gap-4",novalidate:"",onSubmit:ut(G,["prevent"])},[j(Ul,{errors:l.value,"field-names":m.value},null,8,["errors","field-names"]),P("fieldset",{disabled:i.value,class:"m-0 min-w-0 border-0 p-0"},[j(Wl,{fields:v.value,values:r.value,errors:l.value,source:e.source,"record-id":null,"id-prefix":p.value,onUpdate:_},null,8,["fields","values","errors","source","id-prefix"])],8,LM)],32)),P("div",jM,[P("button",{type:"button","data-action":"cancel",disabled:i.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:k[0]||(k[0]=B=>N(!1))},M(u(O)("backend::lang.form.cancel")),9,UM),P("button",{type:"button","data-action":"save-pivot",disabled:i.value||o.value||s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:G},M(i.value?u(O)("backend::lang.form.saving"):u(Be)(e.schema.messages.pivotSubmit)),9,zM)])]),_:1})]),_:1})]),_:1},8,["open"]),j(Wa,{open:u(d).request.value!==null,message:u(d).request.value?.message??"","confirm-label":u(d).request.value?.confirmLabel,danger:u(d).request.value?.danger,onConfirm:u(d).confirm,onCancel:u(d).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),KM=["id","data-relation-name","data-deferred","aria-labelledby","aria-describedby"],WM={class:"flex flex-col gap-2"},GM={class:"flex flex-wrap items-center gap-3"},YM={class:"flex min-w-0 flex-1 flex-col"},JM=["id"],ZM=["id"],QM={key:0,class:"relative block w-[220px] max-w-full"},XM={class:"sr-only"},e4=["value","placeholder"],t4={key:0,"data-relation-pending":"",class:"flex items-center gap-2 text-[13px] text-muted"},n4={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},a4={key:1,class:"overflow-hidden rounded-inner border border-border"},r4={"data-relation-empty":"",class:"text-muted"},l4=["aria-label","onClick"],o4=300,s4=Q({__name:"RelationManager",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Rr,null),a=x(()=>t.field.relation||t.field.name),r=x(()=>typeof t.recordId=="number"?t.recordId:n&&n.recordId===0&&t.field.deferrable?0:null),l=x(()=>r.value===0),o=x(()=>t.source!=null&&r.value!==null),s=n?.key??Al(),i=R(null),c=R([]),d=R(null),f=R(!0),p=R(!1),v=R(""),m=R(1),g=R(null),b=R([]),y=R(!1),_=R(!1),C=R(!1),A=R("create"),N=R(null),G=R(!1),z=R(null),H=R("");let k=null,B=null,Y=null;const D=Ga();let L=0,W=null;const V=x(()=>i.value?.view.list.columns??[]),X=x(()=>i.value?.view.toolbarButtons??[]),ae=x(()=>i.value?.messages),ce=x(()=>`${t.controlId}-heading`),te=x(()=>`${t.controlId}-comment`),ie=x(()=>X.value.includes("create")&&(i.value?.manageForm?.length??0)>0),le=x(()=>X.value.includes("update")&&(i.value?.manageForm?.length??0)>0),re=x(()=>i.value?.kind==="belongsToMany"&&(i.value?.pivotForm?.length??0)>0&&(X.value.includes("link")||X.value.includes("update"))),we=x(()=>(i.value?.viewForm?.length??0)>0),ue=x(()=>le.value?"update":re.value?"pivot":we.value?"preview":null),Ce=x(()=>le.value&&re.value),pe=x(()=>X.value.includes("unlink")||X.value.includes("delete"));function Z(){return l.value?{[ga]:s}:void 0}function ve(){return{...t.source,id:r.value,name:a.value}}function ee(){l.value&&n?.markDirty()}async function de(){const{data:De}=await Me.GET("/{vendor}/{plugin}/{controller}/schema/relation/{name}",{params:{path:{...t.source,name:a.value}}});i.value=De?.data??null}async function be(){const De=++L;f.value=!0,p.value=!1;try{const Ee=v.value.trim(),Ie={page:m.value};Ee!==""&&(Ie.search=Ee),g.value&&(Ie.sort=g.value.column,Ie.dir=g.value.dir);const{data:kt}=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}",{params:{path:ve(),query:Ie,header:Z()}});if(De!==L)return;c.value=kt?.data??[],d.value=kt?.meta??null,p.value=!kt}catch{De===L&&(c.value=[],d.value=null,p.value=!0)}finally{De===L&&(f.value=!1)}}async function w(){if(o.value){try{await de()}catch{i.value=null}if(!i.value){f.value=!1,p.value=!0;return}await be()}}function S(De){v.value=De.target.value,W!==null&&clearTimeout(W),W=setTimeout(()=>{W=null,m.value=1,b.value=[],be()},o4)}function E(De){m.value=De,b.value=[],be()}function J(De){const Ee=g.value;Ee?.column!==De?g.value={column:De,dir:"asc"}:Ee.dir==="asc"?g.value={column:De,dir:"desc"}:g.value=null,m.value=1,b.value=[],be()}function q(){return b.value.map(Number).filter(De=>Number.isInteger(De)&&De>0)}function K(De){const Ee=De.id;return typeof Ee=="number"&&Number.isInteger(Ee)?Ee:typeof Ee=="string"&&/^\d+$/.test(Ee)?Number(Ee):null}function oe(De){const Ee=V.value[0]?.key,Ie=Ee?De[Ee]:void 0;return typeof Ie=="string"||typeof Ie=="number"?String(Ie):""}async function se(){const De=q();if(!(y.value||De.length===0||!i.value||!await D.ask({message:Be(ae.value?.unlinkConfirm,De.length),confirmLabel:Be(ae.value?.unlinkSelected),danger:!0}))){y.value=!0;try{const Ie=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/unlink",{params:{path:ve(),header:Z()},body:{ids:De}});if(Ie.data){b.value=[],ee(),Pe(Be(ae.value?.unlinked,Ie.data.data.removed??De.length)),await be();return}Pe(Ie.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{y.value=!1}}}async function me(De){y.value=!0;try{const Ee=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/delete",{params:{path:ve(),header:Z()},body:{ids:De}});if(Ee.data){b.value=[],ee(),Pe(Be(ae.value?.deleted,Ee.data.data.deleted||De.length)),await be();return}Pe(Ee.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{y.value=!1}}async function fe(){const De=q();y.value||De.length===0||!i.value||await D.ask({message:Be(ae.value?.deleteConfirm,De.length),confirmLabel:Be(ae.value?.deleteSelected),danger:!0},()=>me(De))}async function Ae(De){ee(),Pe(Be(ae.value?.linked,De)),b.value=[],await be()}function xe(De){k=De.currentTarget??Y,A.value="create",N.value=null,C.value=!0}function Se(De,Ee){const Ie=K(De);Ie!==null&&(k=Ee,z.value=Ie,H.value=oe(De),G.value=!0)}function Re(De,Ee){const Ie=ue.value,kt=K(De);if(!(Ie===null||kt===null)){if(Ie==="pivot"){Se(De,Ee);return}k=Ee,A.value=Ie,N.value=kt,C.value=!0}}async function ze(){ee(),b.value=[],await be()}async function Ge(){ee(),await be()}async function He(){b.value=[],await be()}function lt(){const De=k&&k.isConnected?k:null;k=null,De?.focus()}function it(){B?.focus()}function wt(De){const Ee=De?.$el;return Ee instanceof HTMLElement?Ee:null}function Mt(De){B=wt(De)}function sn(De){Y=wt(De)}return It(()=>{W!==null&&clearTimeout(W)}),w(),(De,Ee)=>o.value?(h(),$("section",{key:0,id:e.controlId,"data-relation-manager":"","data-relation-name":a.value,"data-deferred":l.value?"true":void 0,"aria-labelledby":ce.value,"aria-describedby":e.field.comment?te.value:void 0,tabindex:"-1",class:"flex flex-col gap-4"},[P("div",WM,[P("header",GM,[P("div",YM,[P("h2",{id:ce.value,class:"text-[17px] font-bold tracking-[-0.01em]"},M(i.value?.label||e.field.label||a.value),9,JM),e.field.comment?(h(),$("p",{key:0,id:te.value,class:"text-[13px] text-muted"},M(e.field.comment),9,ZM)):ne("",!0)]),i.value?.view.showSearch?(h(),$("label",QM,[P("span",XM,M(u(O)("backend::lang.list.search")),1),j(u(hs),{size:16,class:"pointer-events-none absolute top-1/2 left-3 -translate-y-1/2 text-muted","aria-hidden":"true"}),P("input",{type:"search","data-relation-search":"",value:v.value,placeholder:u(O)("backend::lang.list.search_prompt"),class:"h-[38px] w-full rounded-control border border-transparent bg-subtle pr-3 pl-9",onInput:S,onKeydown:Ee[0]||(Ee[0]=pa(ut(()=>{},["prevent"]),["enter"]))},null,40,e4)])):ne("",!0),(h(!0),$(ge,null,Fe(X.value,Ie=>(h(),$(ge,{key:Ie},[Ie==="create"&&ie.value?(h(),F(et,{key:0,ref_for:!0,ref:sn,"data-action":"create",size:"sm",variant:"primary",icon:u(Hu),disabled:y.value||!i.value,"aria-haspopup":"dialog",onClick:xe},{default:T(()=>[ke(M(u(Be)(ae.value?.create)),1)]),_:1},8,["icon","disabled"])):Ie==="link"?(h(),F(et,{key:1,ref_for:!0,ref:Mt,"data-action":"link",size:"sm",variant:ie.value?"outline":"primary",icon:u(dh),disabled:y.value||!i.value,"aria-haspopup":"dialog",onClick:Ee[1]||(Ee[1]=kt=>_.value=!0)},{default:T(()=>[ke(M(u(Be)(ae.value?.link)),1)]),_:1},8,["variant","icon","disabled"])):Ie==="delete"?(h(),F(et,{key:2,"data-action":"delete",size:"sm",variant:"danger",icon:u(Tl),disabled:y.value||b.value.length===0,onClick:fe},{default:T(()=>[ke(M(u(Be)(ae.value?.deleteSelected)),1)]),_:1},8,["icon","disabled"])):Ie==="unlink"?(h(),F(et,{key:3,"data-action":"unlink",size:"sm",variant:"danger",icon:u(ch),disabled:y.value||b.value.length===0,onClick:se},{default:T(()=>[ke(M(u(Be)(ae.value?.unlinkSelected)),1)]),_:1},8,["icon","disabled"])):ne("",!0)],64))),128))]),l.value?(h(),$("p",t4,[j(u(U0),{size:14,class:"shrink-0","aria-hidden":"true"}),P("span",null,M(u(O)("backend::lang.relation.pending_note")),1)])):ne("",!0)]),p.value&&!f.value?(h(),$("p",n4,M(u(O)("backend::lang.relation.load_failed")),1)):(h(),$("div",a4,[j(ny,{selected:b.value,"onUpdate:selected":Ee[2]||(Ee[2]=Ie=>b.value=Ie),variant:"relation",columns:V.value,rows:c.value,loading:f.value,selectable:pe.value,sortable:!0,sort:g.value,openable:ue.value!==null,trailing:Ce.value,onSort:J,onOpen:Re},{empty:T(()=>[P("span",r4,M(u(Be)(ae.value?.empty)),1)]),trailing:T(({row:Ie})=>[P("button",{type:"button","data-action":"edit-pivot","aria-label":u(Be)(ae.value?.editPivot,void 0,{name:oe(Ie)}),class:"flex size-8 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:kt=>Se(Ie,kt.currentTarget)},[j(u(h_),{size:16,"aria-hidden":"true"})],8,l4)]),_:1},8,["selected","columns","rows","loading","selectable","sort","openable","trailing"]),d.value&&d.value.last_page>1?(h(),F(ay,{key:0,meta:d.value,loading:f.value,"per-page-options":[],"per-page":d.value.per_page,onPage:E},null,8,["meta","loading","per-page"])):ne("",!0)])),i.value&&X.value.includes("link")?(h(),F(IM,{key:2,open:_.value,"onUpdate:open":Ee[3]||(Ee[3]=Ie=>_.value=Ie),source:e.source,"record-id":r.value,relation:a.value,schema:i.value,"session-key":l.value?u(s):null,onLinked:Ae,onClosed:it},null,8,["open","source","record-id","relation","schema","session-key"])):ne("",!0),i.value&&(ie.value||ue.value==="update"||ue.value==="preview")?(h(),F(iM,{key:3,open:C.value,"onUpdate:open":Ee[4]||(Ee[4]=Ie=>C.value=Ie),source:e.source,"owner-id":r.value,relation:a.value,schema:i.value,mode:A.value,"child-id":N.value,"session-key":u(s),"can-delete":X.value.includes("delete"),onChanged:ze,onGone:He,onClosed:lt},null,8,["open","source","owner-id","relation","schema","mode","child-id","session-key","can-delete"])):ne("",!0),i.value&&re.value?(h(),F(HM,{key:4,open:G.value,"onUpdate:open":Ee[5]||(Ee[5]=Ie=>G.value=Ie),source:e.source,"owner-id":r.value,relation:a.value,schema:i.value,"child-id":z.value,"child-name":H.value,"session-key":u(s),onSaved:Ge,onGone:He,onClosed:lt},null,8,["open","source","owner-id","relation","schema","child-id","child-name","session-key"])):ne("",!0),j(Wa,{open:u(D).request.value!==null,message:u(D).request.value?.message??"","confirm-label":u(D).request.value?.confirmLabel,danger:u(D).request.value?.danger,busy:u(D).busy.value,onConfirm:u(D).confirm,onCancel:u(D).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])],8,KM)):ne("",!0)}}),i4=["id","aria-describedby"],u4=["data-relation"],c4={class:"flex size-[22px] items-center justify-center rounded-full bg-primary text-[10px] font-bold text-on-primary","aria-hidden":"true"},d4={class:"font-semibold"},f4=["aria-label","onClick"],p4=["id","aria-expanded","aria-controls","aria-activedescendant","aria-required","aria-invalid","aria-describedby","value","placeholder"],v4={key:1,class:"relative"},h4=["id","aria-expanded","aria-controls","aria-activedescendant","aria-required","aria-invalid","aria-describedby","value","placeholder"],m4=["id"],y4=["id","data-value","aria-selected","onMousedown"],g4={key:0,role:"presentation",class:"px-3 py-2 text-[13px] text-muted"},b4={key:1,role:"presentation",class:"px-3 py-2 text-[13px] text-muted"},_4={key:2,role:"presentation",class:"p-1"},x4=20,w4=300,k4=Q({__name:"RelationField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.field.readOnly?"readonly":n.field.multiple?"multiple":"single"),l=x(()=>`${n.controlId}-listbox`),o=R({});Ne(()=>n.labels,te=>{const ie={...o.value};for(const le of te??[])ie[le.value]=le.label;o.value=ie},{immediate:!0});function s(te){return typeof te=="number"&&Number.isInteger(te)?te:typeof te=="string"&&/^\d+$/.test(te)?Number(te):null}const i=x(()=>s(n.modelValue)),c=x(()=>Array.isArray(n.modelValue)?n.modelValue.map(s).filter(te=>te!==null):[]);function d(te){return o.value[te]??String(te)}function f(te){return te.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(ie=>ie.charAt(0).toUpperCase()).join("")}const p=x(()=>{const te=n.labels?.[0]?.label;return te||(n.field.emptyOption??"—")}),v=R(!1),m=R(""),g=R([]),b=R(0),y=R(0),_=R(!1),C=R(-1);let A=0,N=null;const G=x(()=>b.value{const te=[];r.value==="single"&&n.field.emptyOption!==void 0&&te.push({key:"empty",label:n.field.emptyOption,value:null,muted:!0});const ie=new Set(c.value);for(const le of g.value)r.value==="multiple"&&ie.has(le.value)||te.push({key:`option-${le.value}`,label:le.label,value:le.value,muted:!1});return te});function k(te){return`${l.value}-${te}`}function B(){v.value||(v.value=!0,C.value=-1,z(1,!1))}function Y(){v.value=!1,m.value="",C.value=-1,N!==null&&(clearTimeout(N),N=null)}function D(te){m.value=te.target.value,v.value=!0,C.value=-1,N!==null&&clearTimeout(N),N=setTimeout(()=>{N=null,z(1,!1)},w4)}function L(){G.value&&!_.value&&z(b.value+1,!0)}function W(te){const ie=te.target;ie.scrollTop+ie.clientHeight>=ie.scrollHeight-24&&L()}function V(te){r.value==="multiple"?te.value!==null&&!c.value.includes(te.value)&&a("update:modelValue",[...c.value,te.value]):a("update:modelValue",te.value),Y()}function X(te){a("update:modelValue",c.value.filter(ie=>ie!==te))}function ae(te){switch(te.key){case"ArrowDown":te.preventDefault(),v.value?C.value=Math.min(C.value+1,H.value.length-1):B();break;case"ArrowUp":te.preventDefault(),C.value=Math.max(C.value-1,0);break;case"Enter":if(v.value){te.preventDefault();const ie=H.value[C.value];ie&&V(ie)}break;case"Escape":v.value&&(te.preventDefault(),Y());break;case"Backspace":r.value==="multiple"&&m.value===""&&c.value.length>0&&X(c.value[c.value.length-1]);break}}const ce=x(()=>i.value!==null?d(i.value):n.field.emptyOption??"");return It(()=>{N!==null&&clearTimeout(N)}),(te,ie)=>r.value==="readonly"?(h(),$("div",{key:0,id:e.controlId,"data-relation-readonly":"","aria-describedby":e.describedBy||void 0,class:_e([e.labels?.[0]?.label?"text-text":"text-muted","flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5"])},M(p.value),11,i4)):(h(),$("div",{key:1,class:"relative","data-relation":r.value},[r.value==="multiple"?(h(),$("div",{key:0,class:_e([e.invalid?"border-danger":"border-border-strong","flex min-h-input flex-wrap items-center gap-1.5 rounded-control border bg-surface p-1.5"])},[(h(!0),$(ge,null,Fe(c.value,le=>(h(),$("span",{key:le,"data-chip":"",class:"inline-flex h-[30px] items-center gap-1.5 rounded-pill bg-subtle pr-1 pl-1"},[P("span",c4,M(f(d(le))),1),P("span",d4,M(d(le)),1),P("button",{type:"button","aria-label":u(O)("backend::lang.form.remove_item",{name:d(le)}),class:"flex size-6 items-center justify-center rounded-full text-muted hover:bg-hover hover:text-text",onClick:re=>X(le)},[j(u(Yt),{size:14,"aria-hidden":"true"})],8,f4)]))),128)),P("input",{id:e.controlId,type:"text",role:"combobox",autocomplete:"off","aria-expanded":v.value?"true":"false","aria-controls":l.value,"aria-autocomplete":"list","aria-activedescendant":v.value&&C.value>=0?k(C.value):void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,value:m.value,placeholder:u(O)("backend::lang.form.add_item"),class:"h-[30px] min-w-[120px] flex-1 border-0 bg-transparent px-2 focus-visible:shadow-none",onClick:B,onInput:D,onKeydown:ae,onBlur:Y},null,40,p4)],2)):(h(),$("div",v4,[P("input",{id:e.controlId,type:"text",role:"combobox",autocomplete:"off","aria-expanded":v.value?"true":"false","aria-controls":l.value,"aria-autocomplete":"list","aria-activedescendant":v.value&&C.value>=0?k(C.value):void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,value:v.value?m.value:ce.value,placeholder:v.value&&ce.value||u(O)("backend::lang.form.select_placeholder"),class:_e([[e.invalid?"border-danger":"border-border-strong",!v.value&&i.value===null?"text-muted":"text-text"],"h-input w-full rounded-control border bg-surface pr-10 pl-3.5"]),onClick:B,onInput:D,onKeydown:ae,onBlur:Y},null,42,h4),j(u(Ml),{size:16,class:"pointer-events-none absolute top-1/2 right-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"})])),Ba(P("ul",{id:l.value,role:"listbox",class:"absolute inset-x-0 top-full z-20 mt-1 max-h-64 overflow-y-auto rounded-inner border border-border bg-surface p-1 shadow-menu",onScroll:W},[(h(!0),$(ge,null,Fe(H.value,(le,re)=>(h(),$("li",{id:k(re),key:le.key,role:"option","data-value":le.value??"empty","aria-selected":r.value==="single"&&le.value===i.value?"true":"false",class:_e([[le.muted?"text-muted":"text-text",re===C.value?"bg-hover":""],"flex h-10 cursor-pointer items-center rounded-control px-3 hover:bg-hover"]),onMousedown:ut(we=>V(le),["prevent"])},M(le.label),43,y4))),128)),_.value?(h(),$("li",g4,M(u(O)("backend::lang.form.loading_options")),1)):H.value.filter(le=>le.value!==null).length===0?(h(),$("li",b4,M(u(O)("backend::lang.form.no_options")),1)):ne("",!0),G.value&&!_.value?(h(),$("li",_4,[P("button",{type:"button","data-action":"more-options",class:"h-8 w-full rounded-control text-[13px] font-semibold text-muted hover:bg-hover hover:text-text",onMousedown:ut(L,["prevent"])},M(u(O)("backend::lang.form.more_options")),33)])):ne("",!0)],40,m4),[[eu,v.value]])],8,u4))}}),$4={class:"flex min-w-0 flex-col"},C4=["for"],S4={key:0,class:"text-danger","aria-hidden":"true"},A4=["id"],E4=["id","aria-checked","aria-invalid","aria-describedby"],D4=Q({__name:"SwitchField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>Fc(n.modelValue));function l(){a("update:modelValue",uy(n.modelValue,!r.value))}return(o,s)=>(h(),$("div",{class:_e([e.invalid?"border-danger":"border-border","flex items-center justify-between gap-4 rounded-inner border px-4 py-3.5"]),"data-toggle-card":""},[P("div",$4,[P("label",{for:e.controlId,class:"font-semibold"},[ke(M(e.field.label||e.field.name),1),e.field.required?(h(),$("span",S4," *")):ne("",!0)],8,C4),e.field.comment?(h(),$("p",{key:0,id:`${e.controlId}-comment`,class:"text-[13px] text-muted"},M(e.field.comment),9,A4)):ne("",!0)]),P("button",{id:e.controlId,type:"button",role:"switch","aria-checked":r.value?"true":"false","aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:_e([r.value?"bg-primary":"bg-border-strong","relative h-[26px] w-11 shrink-0 rounded-pill transition-colors duration-150 ease-out"]),onClick:l},[P("span",{class:_e([r.value?"translate-x-[18px] bg-on-primary":"translate-x-0 bg-white","absolute top-[3px] left-[3px] size-5 rounded-full shadow-tab transition-transform duration-150 ease-out"]),"aria-hidden":"true"},null,2)],10,E4)],2))}}),O4=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],P4=Q({__name:"TextField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),l=x(()=>zl(n.field));return(o,s)=>(h(),$("input",Te({id:e.controlId},l.value,{name:e.field.name,type:"text",value:r.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ba)(e.invalid),"h-input"],onInput:s[0]||(s[0]=i=>a("update:modelValue",i.target.value))}),null,16,O4))}}),M4=["id","name","rows","value","required","aria-required","aria-invalid","aria-describedby"],q4=Q({__name:"TextareaField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r={tiny:2,small:4,large:8,huge:12,giant:18},l=x(()=>r[n.field.size??""]??5),o=x(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),s=x(()=>zl(n.field));return(i,c)=>(h(),$("textarea",Te({id:e.controlId},s.value,{name:e.field.name,rows:l.value,value:o.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ba)(e.invalid),"min-h-input resize-y py-2.5"],onInput:c[0]||(c[0]=d=>a("update:modelValue",d.target.value))}),null,16,M4))}}),T4=["id","aria-describedby"],R4={key:0},I4={class:"font-mono text-text"},B4={key:1},F4={class:"font-mono text-text"},fo="\0",N4=Q({__name:"UnsupportedField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=x(()=>{const[r="",l=""]=O("backend::lang.form.unsupported_field",{type:fo}).split(fo);return{before:r,after:l}}),a=x(()=>O("backend::lang.form.unsupported_field",{type:fo}).includes(fo));return(r,l)=>(h(),$("div",{id:e.controlId,"data-unsupported-field":"","aria-describedby":e.describedBy||void 0,class:"flex min-h-input items-center gap-2.5 rounded-control border-[1.5px] border-dashed border-border-strong bg-subtle px-3.5 text-[13px] text-muted"},[j(u(sh),{size:16,"aria-hidden":"true"}),a.value?(h(),$("span",R4,[ke(M(n.value.before),1),P("code",I4,M(t.field.type),1),ke(M(n.value.after),1)])):(h(),$("span",B4,[ke(M(u(O)("backend::lang.form.unsupported_field"))+" ",1),P("code",F4,M(t.field.type),1)]))],8,T4))}}),V4=["id","aria-labelledby","aria-describedby","aria-busy"],L4={key:0,"data-widget-skeleton":"",class:"h-[42px] w-[160px] rounded-control bg-skel","aria-hidden":"true"},j4=Q({__name:"WidgetField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Nc,null),a=st(Vc,()=>{}),r=st(dy,null),l=st(fy,()=>Promise.resolve([])),o=R("loading"),s=R(null);let i=null,c=!1,d=!1;function f(){const C=n?.value??{},A={};for(const N of t.field.fill??[])C[N]!==void 0&&(A[N]=C[N]);return A}const p=x(()=>JSON.stringify(f())),v=x(()=>r?.value||yl.value);function m(C){let A;return{promise:new Promise((G,z)=>{A=setTimeout(()=>z(new Error("widget element was not defined in time")),C)}),cancel:()=>clearTimeout(A)}}async function g(C){const A=await l();if(customElements.get(C))return;if(A.length>0)throw new Error(`plugin script failed: ${A.join(", ")}`);const N=m(KD);try{await Promise.race([customElements.whenDefined(C),N.promise])}finally{N.cancel()}}function b(C){Pe(C||O("backend::lang.extension.action_failed"),"danger"),i?.setAttribute("state","error")}async function y(){const C=t.source;if(!(!i||c||!C)){c=!0,i.setAttribute("busy",""),i.removeAttribute("state");try{const A=await Me.POST("/{vendor}/{plugin}/{controller}/widgets/{field}",{params:{path:{...C,field:t.field.name}},body:{record_id:t.recordId??void 0,values:f()}});if(A.data){const N=A.data.data.fill??{};for(const G of t.field.fill??[])Object.hasOwn(N,G)&&a(G,N[G]);A.data.data.message&&Pe(A.data.data.message)}else b(A.error?.error.message)}catch{b()}finally{c=!1,i?.removeAttribute("busy")}}}function _(){y()}return gt(async()=>{const C=t.field.widget??"";try{if(C===""||!t.source)throw new Error("widget field without a tag or controller");if(await g(C),d||!s.value)return;const A=document.createElement(C);A.setAttribute("record-id",t.recordId==null?"":String(t.recordId)),A.setAttribute("field-name",t.field.name),A.setAttribute("locale",v.value),A.setAttribute("fill-values",p.value),A.setAttribute("label",t.field.actionLabel||t.field.label||t.field.name),A.setAttribute("busy-label",O("backend::lang.extension.busy")),A.addEventListener(pp,_),s.value.append(A),i=A,o.value="ready"}catch{d||(o.value="failed")}}),Ne(p,C=>i?.setAttribute("fill-values",C)),Ne(v,C=>i?.setAttribute("locale",C)),It(()=>{d=!0,i?.removeEventListener(pp,_),i=null}),(C,A)=>o.value==="failed"?(h(),F(Ic,{key:0,id:e.controlId,"data-widget-failed":"","aria-describedby":e.describedBy||void 0,text:u(O)("backend::lang.extension.widget_failed")},null,8,["id","aria-describedby","text"])):(h(),$("div",{key:1,id:e.controlId,role:"group","data-widget-host":"","aria-labelledby":e.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0,"aria-busy":o.value==="loading"?"true":void 0,class:"flex min-h-input items-center"},[o.value==="loading"?(h(),$("span",L4)):ne("",!0),P("div",{ref_key:"mountPoint",ref:s,class:"contents"},null,512)],8,V4))}}),Ya="relation-manager",py=new Map([[Ya,()=>s4]]),vy=new Map([["text",P4],["textarea",q4],["number",qP],["dropdown",HD],["switch",D4],["checkbox",xD],["relation",k4],["widget",j4],["partial",RP],["fileupload",PP],["datepicker",LD],["password",NP],["permissioneditor",JP]]),U4=new Set(["switch","checkbox",Ya]),z4=new Set([Ya]),H4=new Set([Ya,"widget","partial","fileupload"]),K4=new Set(["widget","partial","fileupload","permissioneditor"]);function hy(e){return vy.get(e)??py.get(e)?.()??N4}function W4(e){return(vy.has(e)||py.has(e))&&!H4.has(e)}function G4(e){return z4.has(e)}function Y4(e){return U4.has(e)}function J4(e){return K4.has(e)}const Z4=Q({__name:"FieldRenderer",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>hy(n.field.type));return(l,o)=>(h(),F(Ut(r.value),{field:e.field,"model-value":e.modelValue,"control-id":e.controlId,invalid:e.invalid,"described-by":e.describedBy,labels:e.labels,source:e.source,"record-id":e.recordId,"onUpdate:modelValue":o[0]||(o[0]=s=>a("update:modelValue",s))},null,8,["field","model-value","control-id","invalid","described-by","labels","source","record-id"]))}}),Q4=["data-field"],X4=["id"],eq={key:0,class:"text-danger","aria-hidden":"true"},tq=["for"],nq={key:0,class:"text-danger","aria-hidden":"true"},aq=["id"],rq=["id"],lq=Q({__name:"FormField",props:{field:{},modelValue:{},errors:{},labels:{},source:{},recordId:{},idPrefix:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=x(()=>`${n.idPrefix??"field"}-${n.field.name}`),l=x(()=>r.value),o=x(()=>`${r.value}-comment`),s=x(()=>`${r.value}-error`),i=x(()=>(n.errors?.length??0)>0),c=x(()=>Y4(n.field.type)),d=x(()=>J4(n.field.type)),f=x(()=>!c.value&&!!n.field.comment),p=x(()=>[f.value||c.value&&n.field.comment?o.value:"",i.value?s.value:""].filter(Boolean).join(" "));return(v,m)=>(h(),$("div",{class:"flex min-w-0 flex-col gap-1.5","data-field":e.field.name},[d.value&&e.field.label?(h(),$("span",{key:0,id:`${l.value}-label`,class:"font-semibold"},[ke(M(e.field.label),1),e.field.required?(h(),$("span",eq," *")):ne("",!0)],8,X4)):!c.value&&!d.value?(h(),$("label",{key:1,for:l.value,class:"font-semibold"},[ke(M(e.field.label||e.field.name),1),e.field.required?(h(),$("span",nq," *")):ne("",!0)],8,tq)):ne("",!0),j(Z4,{field:e.field,"model-value":e.modelValue,"control-id":l.value,invalid:i.value,"described-by":p.value,labels:e.labels,source:e.source,"record-id":e.recordId,"onUpdate:modelValue":m[0]||(m[0]=g=>a("update:modelValue",g))},null,8,["field","model-value","control-id","invalid","described-by","labels","source","record-id"]),f.value?(h(),$("p",{key:2,id:o.value,class:"text-[13px] text-muted"},M(e.field.comment),9,aq)):ne("",!0),i.value?(h(),$("div",{key:3,id:s.value,class:"flex flex-col gap-0.5 text-[13px] text-danger"},[(h(!0),$(ge,null,Fe(e.errors,(g,b)=>(h(),$("p",{key:b,class:"flex items-center gap-1.5"},[j(u(Nt),{size:14,class:"shrink-0","aria-hidden":"true"}),P("span",null,M(g),1)]))),128))],8,rq)):ne("",!0)],8,Q4))}}),oq={class:"grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},Wl=Q({__name:"FormGrid",props:{fields:{},values:{},errors:{},labels:{},source:{},recordId:{},idPrefix:{}},emits:["update"],setup(e,{emit:t}){const n=t;function a(r){if(r.type===Ya)return"col-span-full";switch(r.span){case"left":return"min-[600px]:col-start-1";case"right":return"min-[600px]:col-start-2";case"auto":case"row":return"";default:return"col-span-full"}}return(r,l)=>(h(),$("div",oq,[(h(!0),$(ge,null,Fe(e.fields,o=>(h(),F(lq,{key:o.name,class:_e(a(o)),field:o,"model-value":e.values[o.name],errors:e.errors[o.name],labels:e.labels?.[o.name],source:e.source,"record-id":e.recordId,"id-prefix":e.idPrefix,"onUpdate:modelValue":s=>n("update",o.name,s)},null,8,["class","field","model-value","errors","labels","source","record-id","id-prefix","onUpdate:modelValue"]))),128))]))}}),sq={class:"flex w-full flex-col gap-5 pb-24"},iq={class:"flex flex-wrap items-center gap-4"},uq={class:"flex min-w-0 flex-1 flex-col"},cq={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},dq={key:0,class:"text-muted"},fq={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},pq=["id","role","aria-labelledby"],vq={class:"fixed inset-x-0 bottom-0 z-30 flex items-center gap-2.5 border-t border-border bg-surface px-8 py-3.5"},hq={class:"ml-auto flex items-center gap-2.5"},Kr="field",hp=Q({__name:"FormView",setup(e){const t=ln(),n=Or(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=_s(a),l=Un(r)??"/",o=t.name==="create"?"create":"update",s=o==="update"?Number(t.params.id):null,i=R(null),c=R({}),d=R({}),f=R({}),p=R(null),v=R(!0),m=R(!1),g=R(!1),b=R(""),y=R(Et),_=Ga();let C=!1,A=Promise.resolve([]);const N=Al(),G={[ga]:N},z=R(0),H=R(0),{activeUploads:k,beginUpload:B}=Lc(),Y=x(()=>(i.value?.fields??[]).filter(q=>Fs(q,o)&&(o==="update"||!G4(q.type)||q.type===Ya&&!!q.deferrable))),D=x(()=>Y.value.map(q=>q.name)),L=x(()=>{if(!Y.value.some(K=>K.tab))return[];const q=[];for(const K of Y.value){const oe=gn(K);let se=q.find(me=>me.key===oe);se||(se={key:oe,label:K.tab||O("backend::lang.form.tab_default"),errors:0},oe===Et?q.unshift(se):q.push(se)),f.value[K.name]&&(se.errors+=1)}return q}),W=x(()=>Math.max(L.value.findIndex(q=>q.key===y.value),0)),V=x(()=>{if(L.value.length===0)return Y.value;const q=L.value[W.value]?.key??Et;return Y.value.filter(K=>gn(K)===q)}),X=x(()=>{const q=i.value?.fields.find(oe=>oe.type==="text"),K=q?c.value[q.name]:void 0;return typeof K=="string"||typeof K=="number"?String(K).trim():""}),ae=x(()=>{if(o==="update"&&X.value!=="")return X.value;const q=o==="create"?i.value?.messages.create:i.value?.messages.update;return Be(q,void 0,{name:X.value})}),ce=x(()=>o==="update"?Be(i.value?.messages.update,void 0,{name:X.value}):""),te=x(()=>o==="update"&&!!i.value?.preview),ie=x(()=>te.value?`${l}/${s}/preview`:l),le=x(()=>!v.value&&(z.value>0||k.value>0||ca(Wt(Y.value,c.value,o))!==b.value));function re(q){q&&(c.value={...q.data},d.value=q.meta.labels??{}),b.value=ca(Wt(Y.value,c.value,o))}async function we(){v.value=!0,m.value=!1;const q={path:a},[K,oe]=await Promise.all([Me.GET("/{vendor}/{plugin}/{controller}/schema/form",{params:q}),s!==null?Me.GET("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s}}}):Promise.resolve(null)]);i.value=K.data?.data??null,m.value=!K.data||oe!==null&&!oe.data,i.value&&(A=Rc(r,i.value.assets)),i.value&&o==="create"&&(c.value=jc(Y.value)),re(oe?.data),y.value=L.value[0]?.key??Et,v.value=!1}const ue=new Set;function Ce(q,K){const oe={...c.value,[q]:K};if(ue.add(q),o==="create")for(const se of Y.value)se.preset?.field===q&&se.type==="text"&&!ue.has(se.name)&&(oe[se.name]=ZP(se.preset.type,K));if(c.value=oe,f.value[q]){const se={...f.value};delete se[q],f.value=se}}Dt(Nc,x(()=>c.value)),Dt(Vc,Ce),Dt(dy,x(()=>i.value?.meta.locale||yl.value)),Dt(fy,()=>A),Dt(Rr,{key:N,recordId:s??0,routes:q=>iy(a,s??0,q,N),markDirty:()=>{z.value++},pendingChanges:pt(z),revision:pt(H),beginUpload:B,activeUploads:pt(k)});async function pe(q){f.value=Hl(q?.details);const K=Y.value.filter(se=>f.value[se.name]),oe=K.find(se=>gn(se)===y.value)??K[0];oe&&(L.value.length>0&&(y.value=gn(oe)),await Ke(),Kl(Kr,oe.name))}function Z(q,K){const oe=i.value?.redirects,se=(oe?.[o]?.[q]||oe?.default)??"";return ty(se,r,typeof K=="number"||typeof K=="string"?K:null)}async function ve(){if(g.value||!i.value||k.value>0)return null;g.value=!0,p.value=null;try{const q=Wt(Y.value,c.value,o),K=s===null?await Me.POST("/{vendor}/{plugin}/{controller}",{params:{path:a,header:G},body:q}):await Me.PUT("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s},header:G},body:q});return K.data?(f.value={},re(K.data),z.value=0,H.value++,Pe(Be(i.value.messages.saved,void 0,{name:X.value})),K.data):(K.response.status===422?await pe(K.error?.error):K.response.status===403?(p.value=K.error?.error.message||O("backend::lang.form.forbidden"),await pe(K.error?.error)):Pe(K.error?.error.message||O("backend::lang.form.error_generic"),"danger"),null)}catch{return Pe(O("backend::lang.form.error_generic"),"danger"),null}finally{g.value=!1}}async function ee(q){C=!0;try{await n.push(q)}finally{C=!1}}async function de(){const q=await ve();q&&o==="create"&&await ee(Z("redirect",q.data.id))}async function be(){const q=await ve();q&&await ee(Z("redirectClose",q.data.id))}async function w(){if(!(s===null||g.value||!i.value||!await _.ask({message:Be(i.value.messages.deleteConfirm,void 0,{name:X.value}),confirmLabel:O("backend::lang.form.delete"),danger:!0}))){g.value=!0;try{const K=await Me.DELETE("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s}}});if(K.data){Pe(Be(i.value.messages.deleted,void 0,{name:X.value})),await ee(l);return}const oe=K.response.status===403?"backend::lang.list.action_forbidden":"backend::lang.form.error_generic";Pe(K.error?.error.message||O(oe),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{g.value=!1}}}async function S(){return C||!le.value?!0:_.ask({message:O("backend::lang.form.unsaved_confirm"),confirmLabel:O("backend::lang.form.discard"),danger:!0})}async function E(){le.value&&!await _.ask({message:O("backend::lang.form.unsaved_confirm"),confirmLabel:O("backend::lang.form.discard"),danger:!0})||await ee(ie.value)}O1(S),P1(S);function J(q){le.value&&(q.preventDefault(),q.returnValue="")}return gt(()=>window.addEventListener("beforeunload",J)),It(()=>window.removeEventListener("beforeunload",J)),tn(()=>wh(v.value?"":ae.value)),It(kh),we(),(q,K)=>(h(),$("section",sq,[P("header",iq,[j(et,{variant:"outline","data-action":"back","aria-label":u(O)(te.value?"backend::lang.form.return_to_preview":"backend::lang.form.return_to_list"),class:"size-10! px-0!",onClick:E},{default:T(()=>[j(u(ps),{size:18,"aria-hidden":"true"})]),_:1},8,["aria-label"]),P("div",uq,[P("h1",cq,M(v.value?"":ae.value),1),ce.value?(h(),$("p",dq,M(ce.value),1)):ne("",!0)]),L.value.length>0?(h(),F(Uc,{key:0,modelValue:y.value,"onUpdate:modelValue":K[0]||(K[0]=oe=>y.value=oe),tabs:L.value,"id-prefix":Kr},null,8,["modelValue","tabs"])):ne("",!0)]),m.value&&!v.value?(h(),$("p",fq,M(u(O)("backend::lang.form.load_failed")),1)):i.value?(h(),$(ge,{key:1},[j(Ul,{errors:f.value,"field-names":D.value,forbidden:p.value},null,8,["errors","field-names","forbidden"]),P("form",{id:L.value.length>0?u(Bs)(Kr,W.value):void 0,role:L.value.length>0?"tabpanel":void 0,"aria-labelledby":L.value.length>0?u(El)(Kr,W.value):void 0,class:"rounded-card border border-border bg-surface p-7 shadow-card",novalidate:"",onSubmit:ut(de,["prevent"])},[j(Wl,{fields:V.value,values:c.value,errors:f.value,labels:d.value,source:a,"record-id":u(s),"id-prefix":Kr,onUpdate:Ce},null,8,["fields","values","errors","labels","record-id"])],40,pq)],64)):ne("",!0),P("footer",vq,[u(o)==="update"?(h(),F(et,{key:0,variant:"danger","data-action":"delete",icon:u(Tl),disabled:g.value||v.value||!i.value,onClick:w},{default:T(()=>[ke(M(u(O)("backend::lang.form.delete")),1)]),_:1},8,["icon","disabled"])):ne("",!0),P("div",hq,[j(et,{variant:"ghost","data-action":"cancel",onClick:E},{default:T(()=>[ke(M(u(O)("backend::lang.form.cancel")),1)]),_:1}),j(et,{variant:"outline","data-action":"save-close",disabled:g.value||v.value||!i.value||u(k)>0,onClick:be},{default:T(()=>[ke(M(u(O)("backend::lang.form.save_and_close")),1)]),_:1},8,["disabled"]),j(et,{variant:"primary","data-action":"save",disabled:g.value||v.value||!i.value||u(k)>0,onClick:de},{default:T(()=>[ke(M(g.value?u(O)("backend::lang.form.saving"):u(O)("backend::lang.form.save")),1)]),_:1},8,["disabled"])])]),j(Wa,{open:u(_).request.value!==null,message:u(_).request.value?.message??"","confirm-label":u(_).request.value?.confirmLabel,danger:u(_).request.value?.danger,onConfirm:u(_).confirm,onCancel:u(_).cancel,"onUpdate:open":K[1]||(K[1]=oe=>{oe||u(_).cancel()})},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])]))}}),mq=["data-preview-field"],yq=["id"],gq={class:"m-0 min-w-0"},bq={key:0,"data-switch":"true",class:"inline-flex h-6 items-center rounded-pill bg-ok-bg px-2.5 text-[12px] font-semibold text-ok-text"},_q={key:1,"data-switch":"false",class:"inline-flex h-6 items-center rounded-pill border border-border-strong px-2.5 text-[12px] font-semibold text-muted"},xq={class:"flex size-[22px] shrink-0 items-center justify-center rounded-full bg-primary text-[10px] font-bold text-on-primary","aria-hidden":"true"},wq={class:"font-semibold"},kq={key:0,class:"px-2 text-muted","data-empty":""},$q={key:0},Cq={key:1,class:"text-muted","data-empty":""},Sq={key:0},Aq={key:1,class:"text-muted","data-empty":""},Ni="flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 [overflow-wrap:anywhere]",Eq=Q({__name:"PreviewField",props:{field:{},value:{},labels:{},source:{},recordId:{},idPrefix:{}},setup(e){const t=e,n=new Set(["datepicker","fileupload","partial","permissioneditor"]),a=x(()=>`${t.idPrefix??"preview"}-${t.field.name}`),r=x(()=>`${a.value}-label`),l=x(()=>{const v=t.field.type;return n.has(v)?"control":v==="checkbox"||v==="switch"?"toggle":v==="relation"?t.field.multiple?"chips":"relation":v==="textarea"?"textarea":"text"}),o=x(()=>({...t.field,readOnly:!0})),s=x(()=>hy(t.field.type));function i(v){return v==null||v===""}const c=x(()=>{const v=t.value;if(i(v)||typeof v=="object")return"";if(t.field.type==="dropdown"){const m=(t.field.options??[]).find(g=>String(g.value)===String(v));return m?m.label:String(v)}return String(v)}),d=x(()=>t.labels?.[0]?.label??""),f=x(()=>Array.isArray(t.value)?t.labels??[]:[]);function p(v){return v.trim().split(/\s+/).filter(Boolean).slice(0,2).map(g=>g.charAt(0).toUpperCase()).join("")}return(v,m)=>(h(),$("div",{class:"flex min-w-0 flex-col gap-1.5","data-preview-field":e.field.name},[P("dt",{id:r.value,class:"font-semibold"},M(e.field.label||e.field.name),9,yq),P("dd",gq,[l.value==="control"?(h(),F(Ut(s.value),{key:0,field:o.value,"model-value":e.value,"control-id":a.value,labels:e.labels,source:e.source,"record-id":e.recordId},null,8,["field","model-value","control-id","labels","source","record-id"])):l.value==="toggle"?(h(),$(ge,{key:1},[u(Fc)(e.value)?(h(),$("span",bq,M(u(O)("backend::lang.list.column_switch_true")),1)):(h(),$("span",_q,M(u(O)("backend::lang.list.column_switch_false")),1))],64)):l.value==="chips"?(h(),$("div",{key:2,"data-preview-value":"",class:_e([Ni,"flex-wrap gap-1.5 p-1.5"])},[(h(!0),$(ge,null,Fe(f.value,g=>(h(),$("span",{key:String(g.value),"data-chip":"",class:"inline-flex min-h-[30px] items-center gap-1.5 rounded-pill bg-surface pr-3 pl-1"},[P("span",xq,M(p(g.label)),1),P("span",wq,M(g.label),1)]))),128)),f.value.length===0?(h(),$("span",kq,M(u(O)("backend::lang.list.empty_value")),1)):ne("",!0)])):l.value==="relation"?(h(),$("div",{key:3,"data-preview-value":"",class:_e(Ni)},[d.value!==""?(h(),$("span",$q,M(d.value),1)):(h(),$("span",Cq,M(e.field.emptyOption||u(O)("backend::lang.list.empty_value")),1))])):(h(),$("div",{key:4,"data-preview-value":"",class:_e([Ni,l.value==="textarea"?"items-start! py-3 whitespace-pre-wrap":""])},[c.value!==""?(h(),$("span",Sq,M(c.value),1)):(h(),$("span",Aq,M(u(O)("backend::lang.list.empty_value")),1))],2))])],8,mq))}}),Dq=Q({__name:"RecordActions",props:{source:{},recordId:{},actions:{},disabled:{type:Boolean,default:!1}},emits:["busy","done","stale","gone"],setup(e,{emit:t}){const n=e,a=t,r=Ga(),l=R(!1);async function o(s){if(l.value||n.disabled)return;let i=0,c=!1,d="";if(await r.ask({message:s.confirm||O("backend::lang.form.action_confirm",{action:s.label}),confirmLabel:s.label,danger:!1},async()=>{l.value=!0,a("busy",!0);try{const p=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/actions/{action}",{params:{path:{...n.source,id:n.recordId,action:s.name}},body:{}});i=p.response.status,c=!!p.data,d=p.data?.data.message??p.error?.error.message??""}catch{i=0}finally{l.value=!1,a("busy",!1)}})){if(c){a("done",d||O("backend::lang.form.action_done"));return}if(i===409){Pe(O("backend::lang.form.action_stale"),"danger"),a("stale");return}if(i===404){a("gone");return}if(i===403){Pe(d||O("backend::lang.list.action_forbidden"),"danger");return}Pe(d||O("backend::lang.extension.action_failed"),"danger")}}return(s,i)=>e.actions.length>0?(h(),$(ge,{key:0},[(h(!0),$(ge,null,Fe(e.actions,c=>(h(),F(et,{key:c.name,variant:"outline",size:"md","data-record-action":c.name,disabled:e.disabled||l.value,onClick:d=>o(c)},{default:T(()=>[ke(M(c.label),1)]),_:2},1032,["data-record-action","disabled","onClick"]))),128)),j(Wa,{open:u(r).request.value!==null,message:u(r).request.value?.message??"","confirm-label":u(r).request.value?.confirmLabel,danger:u(r).request.value?.danger,busy:u(r).busy.value,onConfirm:u(r).confirm,onCancel:u(r).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])],64)):ne("",!0)}}),Oq={class:"flex w-full flex-col gap-5 pb-24","data-preview":""},Pq={class:"flex flex-wrap items-center gap-4"},Mq={class:"flex min-w-0 flex-1 flex-col"},qq={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},Tq={key:0,class:"text-muted"},Rq={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},Iq=["id","role","aria-labelledby"],Bq={class:"m-0 grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},Fq={class:"fixed inset-x-0 bottom-0 z-30 flex flex-wrap items-center gap-2.5 border-t border-border bg-surface px-8 py-3.5"},Nq={class:"ml-auto flex flex-wrap items-center gap-2.5"},po="preview",Vq=Q({__name:"PreviewView",setup(e){const t=ln(),n=Or(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=_s(a),l=Un(r)??"/",o=Number(t.params.id),s=`${l}/${o}`,i=R(null),c=R({}),d=R({}),f=R([]),p=R(!0),v=R(!1),m=R(!1),g=R(Et),b=R(0),y=new Set(["password","widget",Ya]),_=x(()=>(i.value?.fields??[]).filter(te=>Fs(te,"preview")&&!y.has(te.type))),C=x(()=>{if(!_.value.some(ie=>ie.tab))return[];const te=[];for(const ie of _.value){const le=gn(ie);if(te.some(we=>we.key===le))continue;const re={key:le,label:ie.tab||O("backend::lang.form.tab_default"),errors:0};le===Et?te.unshift(re):te.push(re)}return te}),A=x(()=>Math.max(C.value.findIndex(te=>te.key===g.value),0)),N=x(()=>{if(C.value.length===0)return _.value;const te=C.value[A.value]?.key??Et;return _.value.filter(ie=>gn(ie)===te)}),G=x(()=>{const te=i.value?.fields.find(le=>le.type==="text"),ie=te?c.value[te.name]:void 0;return typeof ie=="string"||typeof ie=="number"?String(ie).trim():""}),z=x(()=>Be(i.value?.messages.preview,void 0,{name:G.value})),H=x(()=>i.value?.preview?.headerPartial??""),k=x(()=>!p.value&&!v.value&&i.value!==null);function B(te){switch(te.span){case"left":return"min-[600px]:col-start-1";case"right":return"min-[600px]:col-start-2";case"auto":case"row":return"";default:return"col-span-full"}}async function Y(){try{const te=await Me.GET("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:o}}});return te.data?(c.value={...te.data.data},d.value=te.data.meta.labels??{},f.value=te.data.meta.actions??[],!0):!1}catch{return!1}}async function D(){p.value=!0,v.value=!1;const[te,ie]=await Promise.all([Me.GET("/{vendor}/{plugin}/{controller}/schema/form",{params:{path:a}}).catch(()=>null),Y()]),le=te?.data?.data??null;if(le&&!le.preview){await n.replace(s);return}i.value=le,v.value=!le||!ie,le&&Rc(r,le.assets),g.value=C.value[0]?.key??Et,p.value=!1}async function L(){b.value++,await Y()||(v.value=!0)}async function W(te){Pe(te),await L()}function V(){v.value=!0}const{activeUploads:X,beginUpload:ae}=Lc(),ce=Al();return Dt(Rr,{key:ce,recordId:o,routes:te=>iy(a,o,te,ce),markDirty:()=>{},pendingChanges:pt(R(0)),revision:pt(R(0)),beginUpload:ae,activeUploads:pt(X)}),tn(()=>wh(p.value?"":G.value)),It(kh),D(),(te,ie)=>(h(),$("section",Oq,[P("header",Pq,[j(et,{variant:"outline","data-action":"back",to:u(l),"aria-label":u(O)("backend::lang.form.return_to_list"),class:"size-10! px-0!"},{default:T(()=>[j(u(ps),{size:18,"aria-hidden":"true"})]),_:1},8,["to","aria-label"]),P("div",Mq,[P("h1",qq,M(p.value?"":G.value),1),k.value&&z.value?(h(),$("p",Tq,M(z.value),1)):ne("",!0)]),k.value&&C.value.length>0?(h(),F(Uc,{key:0,modelValue:g.value,"onUpdate:modelValue":ie[0]||(ie[0]=le=>g.value=le),tabs:C.value,"id-prefix":po},null,8,["modelValue","tabs"])):ne("",!0)]),v.value&&!p.value?(h(),$("p",Rq,M(u(O)("backend::lang.form.load_failed")),1)):k.value?(h(),$(ge,{key:1},[H.value!==""?(h(),F(Bc,{key:0,variant:"header",hint:"",source:a,name:H.value,"record-id":u(o),"reload-key":b.value},null,8,["name","record-id","reload-key"])):ne("",!0),P("div",{id:C.value.length>0?u(Bs)(po,A.value):void 0,role:C.value.length>0?"tabpanel":void 0,"aria-labelledby":C.value.length>0?u(El)(po,A.value):void 0,class:"rounded-card border border-border bg-surface p-7 shadow-card"},[P("dl",Bq,[(h(!0),$(ge,null,Fe(N.value,le=>(h(),F(Eq,{key:le.name,class:_e(B(le)),field:le,value:c.value[le.name],labels:d.value?.[le.name],source:a,"record-id":u(o),"id-prefix":po},null,8,["class","field","value","labels","record-id"]))),128))])],8,Iq)],64)):ne("",!0),P("footer",Fq,[P("div",Nq,[k.value?(h(),F(Dq,{key:0,source:a,"record-id":u(o),actions:f.value,disabled:m.value,onBusy:ie[1]||(ie[1]=le=>m.value=le),onDone:W,onStale:L,onGone:V},null,8,["record-id","actions","disabled"])):ne("",!0),v.value?ne("",!0):(h(),F(et,{key:1,variant:"primary","data-action":"edit",icon:u(yo),disabled:p.value||m.value,onClick:ie[2]||(ie[2]=le=>u(n).push(s))},{default:T(()=>[ke(M(u(Be)(i.value?.messages.edit)),1)]),_:1},8,["icon","disabled"]))])])]))}}),Lq={class:"flex w-full flex-col gap-5 pb-24"},jq={class:"flex items-center gap-4"},Uq={class:"flex min-w-0 flex-col"},zq={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},Hq={key:0,class:"text-muted"},Kq={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},Wq={class:"fixed inset-x-0 bottom-0 z-30 flex items-center justify-end gap-2.5 border-t border-border bg-surface px-8 py-3.5"},mp="setting",Gq=Q({__name:"SettingsFormView",setup(e){const t=ln(),n=String(t.params.code??""),a=R(null),r=R({}),l=R({}),o=R(!0),s=R(!1),i=R(!1),c=x(()=>(a.value?.fields??[]).filter(b=>Fs(b,"update"))),d=x(()=>c.value.map(b=>b.name)),f=x(()=>ou(n)?.label||a.value?.name||n),p=x(()=>ou(n)?.description??"");async function v(){const b={path:{code:n}},[y,_]=await Promise.all([Me.GET("/settings/{code}/schema",{params:b}),Me.GET("/settings/{code}",{params:b})]);a.value=y.data?.data??null,r.value={..._.data?.data.data??{}},s.value=!y.data||!_.data,o.value=!1}function m(b,y){if(r.value={...r.value,[b]:y},l.value[b]){const _={...l.value};delete _[b],l.value=_}}async function g(){if(!(i.value||!a.value)){i.value=!0;try{const b=await Me.PUT("/settings/{code}",{params:{path:{code:n}},body:Wt(c.value,r.value)});if(b.data){l.value={},r.value={...b.data.data.data},Pe(O("backend::lang.settings.saved"));return}if(b.response.status===422){l.value=Hl(b.error?.error.details);const y=c.value.find(_=>l.value[_.name]);await Ke(),y&&Kl(mp,y.name);return}Pe(b.error?.error.message||O("backend::lang.form.error_generic"),"danger")}catch{Pe(O("backend::lang.form.error_generic"),"danger")}finally{i.value=!1}}}return v(),(b,y)=>(h(),$("section",Lq,[P("header",jq,[j(et,{variant:"outline","data-action":"back",to:"/settings","aria-label":u(O)("backend::lang.settings.back"),class:"size-10! px-0!"},{default:T(()=>[j(u(ps),{size:18,"aria-hidden":"true"})]),_:1},8,["aria-label"]),P("div",Uq,[P("h1",zq,M(f.value),1),p.value?(h(),$("p",Hq,M(p.value),1)):ne("",!0)])]),s.value&&!o.value?(h(),$("p",Kq,M(u(O)("backend::lang.form.load_failed")),1)):a.value?(h(),$(ge,{key:1},[j(Ul,{errors:l.value,"field-names":d.value},null,8,["errors","field-names"]),P("form",{class:"rounded-card border border-border bg-surface p-7 shadow-card",novalidate:"",onSubmit:ut(g,["prevent"])},[j(Wl,{fields:c.value,values:r.value,errors:l.value,source:null,"id-prefix":mp,onUpdate:m},null,8,["fields","values","errors"])],32)],64)):ne("",!0),P("footer",Wq,[j(et,{variant:"ghost",to:"/settings"},{default:T(()=>[ke(M(u(O)("backend::lang.form.cancel")),1)]),_:1}),j(et,{variant:"primary","data-action":"save",disabled:i.value||o.value||!a.value,onClick:g},{default:T(()=>[ke(M(i.value?u(O)("backend::lang.form.saving"):u(O)("backend::lang.form.save")),1)]),_:1},8,["disabled"])])]))}}),Yq={class:"flex flex-col gap-5"},Jq={class:"text-[26px] font-bold tracking-[-0.02em]"},Zq={key:0,class:"text-muted"},Qq={key:0,class:"text-[13px] font-semibold tracking-[0.02em] text-muted uppercase"},Xq={class:"grid grid-cols-1 gap-3 min-[900px]:grid-cols-2"},eT={class:"flex size-10 shrink-0 items-center justify-center rounded-inner bg-subtle text-muted"},tT={class:"flex min-w-0 flex-col"},nT={class:"font-semibold"},aT={key:0,class:"text-[13px] text-muted"},rT=Q({__name:"SettingsIndexView",setup(e){return(t,n)=>(h(),$("section",Yq,[P("header",null,[P("h1",Jq,M(u(O)("backend::lang.settings.title")),1)]),u(ff).length===0?(h(),$("p",Zq,M(u(O)("backend::lang.settings.empty")),1)):ne("",!0),(h(!0),$(ge,null,Fe(u(ff),a=>(h(),$("section",{key:a.category,"data-settings-group":"",class:"flex flex-col gap-3"},[a.category?(h(),$("h2",Qq,M(a.category),1)):ne("",!0),P("div",Xq,[(h(!0),$(ge,null,Fe(a.entries,r=>(h(),F(u(_n),{key:r.code,to:`/settings/${encodeURIComponent(r.code)}`,"data-settings":r.code,class:"flex items-start gap-3.5 rounded-card border border-border bg-surface p-5 text-text no-underline shadow-card hover:bg-hover"},{default:T(()=>[P("span",eT,[(h(),F(Ut(u(gs)(r.icon)),{size:20,"aria-hidden":"true"}))]),P("span",tT,[P("span",nT,M(r.label),1),r.description?(h(),$("span",aT,M(r.description),1)):ne("",!0)])]),_:2},1032,["to","data-settings"]))),128))])]))),128))]))}}),lT={class:"flex flex-col items-center gap-2 py-20 text-center"},oT={class:"text-[17px] font-bold"},yp=Q({__name:"NotFoundView",props:{home:{type:Boolean}},setup(e){return(t,n)=>(h(),$("section",lT,[P("h1",oT,M(e.home?u(O)("backend::lang.nav.empty"):u(O)("backend::lang.page.not_found")),1)]))}});function my(e){return typeof e!="string"||e.length===0||!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")?null:e}const sT=new Set(["list","create","record","preview"]);function iT(e){if(typeof e.name!="string"||!sT.has(e.name))return"";const{vendor:t,plugin:n,controller:a}=e.params;return typeof t!="string"||typeof n!="string"||typeof a!="string"?"":_s({vendor:t,plugin:n,controller:a})}function uT(e=I1(ys.base)){const t=t0({history:e,routes:[{path:"/login",name:"login",component:d3,meta:{public:!0}},{path:"/",name:"home",component:yp,props:{home:!0},meta:{shell:!0},beforeEnter:()=>Q_()??!0},{path:"/settings",name:"settings",component:rT,meta:{shell:!0}},{path:"/settings/:code",name:"settings-form",component:Gq,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller",name:"list",component:rD,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/create",name:"create",component:hp,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/:id(\\d+)",name:"record",component:hp,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/:id(\\d+)/preview",name:"preview",component:Vq,meta:{shell:!0}},{path:"/:pathMatch(.*)*",name:"not-found",component:yp,meta:{shell:!0}}]});return t.beforeEach(n=>{const a=cr.value!==null;return n.meta.public?a&&n.name==="login"?my(n.query.redirect)??"/":!0:a?!0:{name:"login",query:{redirect:n.fullPath}}}),t.afterEach((n,a,r)=>{r||QA(iT(n))}),t}const cT="(prefers-color-scheme: dark)";function dT(e=window){const t=e.document.documentElement;if(typeof e.matchMedia!="function")return t.classList.remove("dark"),()=>{};const n=e.matchMedia(cT),a=l=>{t.classList.toggle("dark",l)};a(n.matches);const r=l=>a(l.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)}async function fT(){dT(),await W_().catch(()=>{}),await Ym().catch(()=>null)&&await Promise.all([mh().catch(()=>[]),yh().catch(()=>[])]);const t=uT();L_(()=>{Jm();const a=t.currentRoute.value;a.name!=="login"&&t.push({name:"login",query:{redirect:a.fullPath}})});const n=Zb(GA);n.use(t),await t.isReady(),n.mount("#app")}fT(); diff --git a/modules/boardwalk/dist/assets/index-DEO3TzjB.js b/modules/boardwalk/dist/assets/index-DEO3TzjB.js deleted file mode 100644 index 3ae8712..0000000 --- a/modules/boardwalk/dist/assets/index-DEO3TzjB.js +++ /dev/null @@ -1,9 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const l of r)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const l={};return r.integrity&&(l.integrity=r.integrity),r.referrerPolicy&&(l.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?l.credentials="include":r.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(r){if(r.ep)return;r.ep=!0;const l=n(r);fetch(r.href,l)}})();function Cu(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const nt={},lr=[],bn=()=>{},op=()=>!1,Uo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),zo=e=>e.startsWith("onUpdate:"),ut=Object.assign,Su=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},oy=Object.prototype.hasOwnProperty,Xe=(e,t)=>oy.call(e,t),Te=Array.isArray,or=e=>El(e)==="[object Map]",sp=e=>El(e)==="[object Set]",Bc=e=>El(e)==="[object Date]",Be=e=>typeof e=="function",rt=e=>typeof e=="string",Vt=e=>typeof e=="symbol",Ze=e=>e!==null&&typeof e=="object",ip=e=>(Ze(e)||Be(e))&&Be(e.then)&&Be(e.catch),up=Object.prototype.toString,El=e=>up.call(e),sy=e=>El(e).slice(8,-1),cp=e=>El(e)==="[object Object]",Ho=e=>rt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Zr=Cu(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ko=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},iy=/-\w/g,ht=Ko(e=>e.replace(iy,t=>t.slice(1).toUpperCase())),uy=/\B([A-Z])/g,ba=Ko(e=>e.replace(uy,"-$1").toLowerCase()),Wo=Ko(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qr=Ko(e=>e?`on${Wo(e)}`:""),vn=(e,t)=>!Object.is(e,t),io=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},Eu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},cy=e=>{const t=rt(e)?Number(e):NaN;return isNaN(t)?e:t};let Nc;const Go=()=>Nc||(Nc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fn(e){if(Te(e)){const t={};for(let n=0;n{if(n){const a=n.split(fy);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function xe(e){let t="";if(rt(e))t=e;else if(Te(e))for(let n=0;n!!(e&&e.__v_isRef===!0),R=e=>rt(e)?e:e==null?"":Te(e)||Ze(e)&&(e.toString===up||!Be(e.toString))?pp(e)?R(e.value):JSON.stringify(e,vp,2):String(e),vp=(e,t)=>pp(t)?vp(e,t.value):or(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,r],l)=>(n[Us(a,l)+" =>"]=r,n),{})}:sp(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Us(n))}:Vt(t)?Us(t):Ze(t)&&!Te(t)&&!cp(t)?String(t):t,Us=(e,t="")=>{var n;return Vt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let ct;class hp{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n0)return;if(el){let t=el;for(el=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Xr;){let t=Xr;for(Xr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(a){e||(e=a)}t=n}}if(e)throw e}function xp(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function wp(e){let t,n=e.depsTail,a=n;for(;a;){const r=a.prevDep;a.version===-1?(a===n&&(n=r),Mu(a),gy(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=r}e.deps=t,e.depsTail=n}function Fi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(kp(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function kp(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ul)||(e.globalVersion=ul,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Fi(e))))return;e.flags|=2;const t=e.dep,n=at,a=Jt;at=e,Jt=!0;try{xp(e);const r=e.fn(e._value);(t.version===0||vn(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{at=n,Jt=a,wp(e),e.flags&=-3}}function Mu(e,t=!1){const{dep:n,prevSub:a,nextSub:r}=e;if(a&&(a.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)Mu(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function gy(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Jt=!0;const $p=[];function Vn(){$p.push(Jt),Jt=!1}function Ln(){const e=$p.pop();Jt=e===void 0?!0:e}function Vc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t()}finally{at=n}}}let ul=0;class by{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Yo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!at||!Jt||at===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==at)n=this.activeLink=new by(at,this),at.deps?(n.prevDep=at.depsTail,at.depsTail.nextDep=n,at.depsTail=n):at.deps=at.depsTail=n,Cp(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=at.depsTail,n.nextDep=void 0,at.depsTail.nextDep=n,at.depsTail=n,at.deps===n&&(at.deps=a)}return n}trigger(t){this.version++,ul++,this.notify(t)}notify(t){Pu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ou()}}}function Cp(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let a=t.deps;a;a=a.nextDep)Cp(a)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,Ta=Symbol(""),Bi=Symbol(""),cl=Symbol("");function yt(e,t,n){if(Jt&&at){let a=mo.get(e);a||mo.set(e,a=new Map);let r=a.get(n);r||(a.set(n,r=new Yo),r.map=a,r.key=n),r.track()}}function On(e,t,n,a,r,l){const o=mo.get(e);if(!o){ul++;return}const s=i=>{i&&i.trigger()};if(Pu(),t==="clear")o.forEach(s);else{const i=Te(e),c=i&&Ho(n);if(i&&n==="length"){const d=Number(a);o.forEach((f,p)=>{(p==="length"||p===cl||!Vt(p)&&p>=d)&&s(f)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),c&&s(o.get(cl)),t){case"add":i?c&&s(o.get("length")):(s(o.get(Ta)),or(e)&&s(o.get(Bi)));break;case"delete":i||(s(o.get(Ta)),or(e)&&s(o.get(Bi)));break;case"set":or(e)&&s(o.get(Ta));break}}Ou()}function _y(e,t){const n=mo.get(e);return n&&n.get(t)}function Ha(e){const t=Je(e);return t===e?t:(yt(t,"iterate",cl),Nt(e)?t:t.map(Qt))}function Jo(e){return yt(e=Je(e),"iterate",cl),e}function fn(e,t){return jn(e)?hr(Ra(e)?Qt(t):t):Qt(t)}const xy={__proto__:null,[Symbol.iterator](){return Hs(this,Symbol.iterator,e=>fn(this,e))},concat(...e){return Ha(this).concat(...e.map(t=>Te(t)?Ha(t):t))},entries(){return Hs(this,"entries",e=>(e[1]=fn(this,e[1]),e))},every(e,t){return Sn(this,"every",e,t,void 0,arguments)},filter(e,t){return Sn(this,"filter",e,t,n=>n.map(a=>fn(this,a)),arguments)},find(e,t){return Sn(this,"find",e,t,n=>fn(this,n),arguments)},findIndex(e,t){return Sn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Sn(this,"findLast",e,t,n=>fn(this,n),arguments)},findLastIndex(e,t){return Sn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Sn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ks(this,"includes",e)},indexOf(...e){return Ks(this,"indexOf",e)},join(e){return Ha(this).join(e)},lastIndexOf(...e){return Ks(this,"lastIndexOf",e)},map(e,t){return Sn(this,"map",e,t,void 0,arguments)},pop(){return Ir(this,"pop")},push(...e){return Ir(this,"push",e)},reduce(e,...t){return Lc(this,"reduce",e,t)},reduceRight(e,...t){return Lc(this,"reduceRight",e,t)},shift(){return Ir(this,"shift")},some(e,t){return Sn(this,"some",e,t,void 0,arguments)},splice(...e){return Ir(this,"splice",e)},toReversed(){return Ha(this).toReversed()},toSorted(e){return Ha(this).toSorted(e)},toSpliced(...e){return Ha(this).toSpliced(...e)},unshift(...e){return Ir(this,"unshift",e)},values(){return Hs(this,"values",e=>fn(this,e))}};function Hs(e,t,n){const a=Jo(e),r=a[t]();return a!==e&&!Nt(e)&&(r._next=r.next,r.next=()=>{const l=r._next();return l.done||(l.value=n(l.value)),l}),r}const wy=Array.prototype;function Sn(e,t,n,a,r,l){const o=Jo(e),s=o!==e&&!Nt(e),i=o[t];if(i!==wy[t]){const f=i.apply(e,l);return s?Qt(f):f}let c=n;o!==e&&(s?c=function(f,p){return n.call(this,fn(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const d=i.call(o,c,a);return s&&r?r(d):d}function Lc(e,t,n,a){const r=Jo(e),l=r!==e&&!Nt(e);let o=n,s=!1;r!==e&&(l?(s=a.length===0,o=function(c,d,f){return s&&(s=!1,c=fn(e,c)),n.call(this,c,fn(e,d),f,e)}):n.length>3&&(o=function(c,d,f){return n.call(this,c,d,f,e)}));const i=r[t](o,...a);return s?fn(e,i):i}function Ks(e,t,n){const a=Je(e);yt(a,"iterate",cl);const r=a[t](...n);return(r===-1||r===!1)&&Xo(n[0])?(n[0]=Je(n[0]),a[t](...n)):r}function Ir(e,t,n=[]){Vn(),Pu();const a=Je(e)[t].apply(e,n);return Ou(),Ln(),a}const ky=Cu("__proto__,__v_isRef,__isVue"),Sp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vt));function $y(e){Vt(e)||(e=String(e));const t=Je(this);return yt(t,"has",e),t.hasOwnProperty(e)}class Ep{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,a){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return l;if(n==="__v_raw")return a===(r?l?Tp:Mp:l?Op:Pp).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(a)?t:void 0;const o=Te(t);if(!r){let i;if(o&&(i=xy[n]))return i;if(n==="hasOwnProperty")return $y}const s=Reflect.get(t,n,ot(t)?t:a);if((Vt(n)?Sp.has(n):ky(n))||(r||yt(t,"get",n),l))return s;if(ot(s)){const i=o&&Ho(n)?s:s.value;return r&&Ze(i)?dt(i):i}return Ze(s)?r?dt(s):Zt(s):s}}class Ap extends Ep{constructor(t=!1){super(!1,t)}set(t,n,a,r){let l=t[n];const o=Te(t)&&Ho(n);if(!this._isShallow){const c=jn(l);if(!Nt(a)&&!jn(a)&&(l=Je(l),a=Je(a)),!o&&ot(l)&&!ot(a))return c||(l.value=a),!0}const s=o?Number(n)e,Hl=e=>Reflect.getPrototypeOf(e);function Dy(e,t,n){return function(...a){const r=this.__v_raw,l=Je(r),o=or(l),s=e==="entries"||e===Symbol.iterator&&o,i=e==="keys"&&o,c=r[e](...a),d=n?Ni:t?hr:Qt;return!t&&yt(l,"iterate",i?Bi:Ta),ut(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:s?[d(f[0]),d(f[1])]:d(f),done:p}}})}}function Kl(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Py(e,t){const n={get(r){const l=this.__v_raw,o=Je(l),s=Je(r);e||(vn(r,s)&&yt(o,"get",r),yt(o,"get",s));const{has:i}=Hl(o),c=t?Ni:e?hr:Qt;if(i.call(o,r))return c(l.get(r));if(i.call(o,s))return c(l.get(s));l!==o&&l.get(r)},get size(){const r=this.__v_raw;return!e&&yt(Je(r),"iterate",Ta),r.size},has(r){const l=this.__v_raw,o=Je(l),s=Je(r);return e||(vn(r,s)&&yt(o,"has",r),yt(o,"has",s)),r===s?l.has(r):l.has(r)||l.has(s)},forEach(r,l){const o=this,s=o.__v_raw,i=Je(s),c=t?Ni:e?hr:Qt;return!e&&yt(i,"iterate",Ta),s.forEach((d,f)=>r.call(l,c(d),c(f),o))}};return ut(n,e?{add:Kl("add"),set:Kl("set"),delete:Kl("delete"),clear:Kl("clear")}:{add(r){const l=Je(this),o=Hl(l),s=Je(r),i=!t&&!Nt(r)&&!jn(r)?s:r;return o.has.call(l,i)||vn(r,i)&&o.has.call(l,r)||vn(s,i)&&o.has.call(l,s)||(l.add(i),On(l,"add",i,i)),this},set(r,l){!t&&!Nt(l)&&!jn(l)&&(l=Je(l));const o=Je(this),{has:s,get:i}=Hl(o);let c=s.call(o,r);c||(r=Je(r),c=s.call(o,r));const d=i.call(o,r);return o.set(r,l),c?vn(l,d)&&On(o,"set",r,l):On(o,"add",r,l),this},delete(r){const l=Je(this),{has:o,get:s}=Hl(l);let i=o.call(l,r);i||(r=Je(r),i=o.call(l,r)),s&&s.call(l,r);const c=l.delete(r);return i&&On(l,"delete",r,void 0),c},clear(){const r=Je(this),l=r.size!==0,o=r.clear();return l&&On(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Dy(r,e,t)}),n}function Zo(e,t){const n=Py(e,t);return(a,r,l)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?a:Reflect.get(Xe(n,r)&&r in a?n:a,r,l)}const Oy={get:Zo(!1,!1)},My={get:Zo(!1,!0)},Ty={get:Zo(!0,!1)},Ry={get:Zo(!0,!0)},Pp=new WeakMap,Op=new WeakMap,Mp=new WeakMap,Tp=new WeakMap;function qy(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Zt(e){return jn(e)?e:Qo(e,!1,Cy,Oy,Pp)}function Rp(e){return Qo(e,!1,Ey,My,Op)}function dt(e){return Qo(e,!0,Sy,Ty,Mp)}function Ka(e){return Qo(e,!0,Ay,Ry,Tp)}function Qo(e,t,n,a,r){if(!Ze(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=r.get(e);if(l)return l;const o=qy(sy(e));if(o===0)return e;const s=new Proxy(e,o===2?a:n);return r.set(e,s),s}function Ra(e){return jn(e)?Ra(e.__v_raw):!!(e&&e.__v_isReactive)}function jn(e){return!!(e&&e.__v_isReadonly)}function Nt(e){return!!(e&&e.__v_isShallow)}function Xo(e){return e?!!e.__v_raw:!1}function Je(e){const t=e&&e.__v_raw;return t?Je(t):e}function yo(e){return!Xe(e,"__v_skip")&&Object.isExtensible(e)&&dp(e,"__v_skip",!0),e}const Qt=e=>Ze(e)?Zt(e):e,hr=e=>Ze(e)?dt(e):e;function ot(e){return e?e.__v_isRef===!0:!1}function T(e){return qp(e,!1)}function es(e){return qp(e,!0)}function qp(e,t){return ot(e)?e:new Iy(e,t)}class Iy{constructor(t,n){this.dep=new Yo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Je(t),this._value=n?t:Qt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,a=this.__v_isShallow||Nt(t)||jn(t);t=a?t:Je(t),vn(t,n)&&(this._rawValue=t,this._value=a?t:Qt(t),this.dep.trigger())}}function Fy(e){e.dep&&e.dep.trigger()}function u(e){return ot(e)?e.value:e}function Tt(e){return Be(e)?e():u(e)}const By={get:(e,t,n)=>t==="__v_raw"?e:u(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const r=e[t];return ot(r)&&!ot(n)?(r.value=n,!0):Reflect.set(e,t,n,a)}};function Ip(e){return Ra(e)?e:new Proxy(e,By)}class Ny{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Yo,{get:a,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=a,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Vy(e){return new Ny(e)}function Lt(e){const t=Te(e)?new Array(e.length):{};for(const n in e)t[n]=Fp(e,n);return t}class Ly{constructor(t,n,a){this._object=t,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._key=Vt(n)?n:String(n),this._raw=Je(t);let r=!0,l=t;if(!Te(t)||Vt(this._key)||!Ho(this._key))do r=!Xo(l)||Nt(l);while(r&&(l=l.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=u(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ot(this._raw[this._key])){const n=this._object[this._key];if(ot(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return _y(this._raw,this._key)}}class jy{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Uy(e,t,n){return ot(e)?e:Be(e)?new jy(e):Ze(e)&&arguments.length>1?Fp(e,t,n):T(e)}function Fp(e,t,n){return new Ly(e,t,n)}class zy{constructor(t,n,a){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Yo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ul-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&at!==this)return _p(this,!0),!0}get value(){const t=this.dep.track();return kp(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hy(e,t,n=!1){let a,r;return Be(e)?a=e:(a=e.get,r=e.set),new zy(a,r,n)}const Wl={},go=new WeakMap;let Aa;function Ky(e,t=!1,n=Aa){if(n){let a=go.get(n);a||go.set(n,a=[]),a.push(e)}}function Wy(e,t,n=nt){const{immediate:a,deep:r,once:l,scheduler:o,augmentJob:s,call:i}=n,c=A=>r?A:Nt(A)||r===!1||r===0?Mn(A,1):Mn(A);let d,f,p,v,m=!1,g=!1;if(ot(e)?(f=()=>e.value,m=Nt(e)):Ra(e)?(f=()=>c(e),m=!0):Te(e)?(g=!0,m=e.some(A=>Ra(A)||Nt(A)),f=()=>e.map(A=>{if(ot(A))return A.value;if(Ra(A))return c(A);if(Be(A))return i?i(A,2):A()})):Be(e)?t?f=i?()=>i(e,2):e:f=()=>{if(p){Vn();try{p()}finally{Ln()}}const A=Aa;Aa=d;try{return i?i(e,3,[v]):e(v)}finally{Aa=A}}:f=bn,t&&r){const A=f,V=r===!0?1/0:r;f=()=>Mn(A(),V)}const _=Du(),y=()=>{d.stop(),_&&_.active&&Su(_.effects,d)};if(l&&t){const A=t;t=(...V)=>{A(...V),y()}}let x=g?new Array(e.length).fill(Wl):Wl;const S=A=>{if(!(!(d.flags&1)||!d.dirty&&!A))if(t){const V=d.run();if(r||m||(g?V.some((J,U)=>vn(J,x[U])):vn(V,x))){p&&p();const J=Aa;Aa=d;try{const U=[V,x===Wl?void 0:g&&x[0]===Wl?[]:x,v];x=V,i?i(t,3,U):t(...U)}finally{Aa=J}}}else d.run()};return s&&s(S),d=new gp(f),d.scheduler=o?()=>o(S,!1):S,v=A=>Ky(A,!1,d),p=d.onStop=()=>{const A=go.get(d);if(A){if(i)i(A,4);else for(const V of A)V();go.delete(d)}},t?a?S(!0):x=d.run():o?o(S.bind(null,!0),!0):d.run(),y.pause=d.pause.bind(d),y.resume=d.resume.bind(d),y.stop=y,y}function Mn(e,t=1/0,n){if(t<=0||!Ze(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ot(e))Mn(e.value,t,n);else if(Te(e))for(let a=0;a{Mn(a,t,n)});else if(cp(e)){for(const a in e)Mn(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&Mn(e[a],t,n)}return e}function Al(e,t,n,a){try{return a?e(...a):e()}catch(r){ts(r,t,n)}}function Gt(e,t,n,a){if(Be(e)){const r=Al(e,t,n,a);return r&&ip(r)&&r.catch(l=>{ts(l,t,n)}),r}if(Te(e)){const r=[];for(let l=0;l>>1,r=Et[a],l=dl(r);l=dl(n)?Et.push(e):Et.splice(Yy(t),0,e),e.flags|=1,Np()}}function Np(){bo||(bo=Bp.then(Lp))}function Jy(e){Te(e)?sr.push(...e):ra&&e.id===-1?ra.splice(Xa+1,0,e):e.flags&1||(sr.push(e),e.flags|=1),Np()}function jc(e,t,n=cn+1){for(;ndl(n)-dl(a));if(sr.length=0,ra){ra.push(...t);return}for(ra=t,Xa=0;Xae.id==null?e.flags&2?-1:1/0:e.id;function Lp(e){try{for(cn=0;cn{a._d&&ko(-1);const l=_o(t);let o;try{o=e(...r)}finally{_o(l),a._d&&ko(1)}return o};return a._n=!0,a._c=!0,a._d=!0,a}function qa(e,t){if(vt===null)return e;const n=os(vt),a=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&Be(t)?t.call(a&&a.proxy):t}}const Zy=Symbol.for("v-scx"),Qy=()=>st(Zy);function Xt(e,t){return ns(e,null,t)}function Up(e,t){return ns(e,null,{flush:"post"})}function Fe(e,t,n){return ns(e,t,n)}function ns(e,t,n=nt){const{immediate:a,deep:r,flush:l,once:o}=n,s=ut({},n),i=t&&a||!t&&l!=="post";let c;if(hl){if(l==="sync"){const v=Qy();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=bn,v.resume=bn,v.pause=bn,v}}const d=gt;s.call=(v,m,g)=>Gt(v,d,m,g);let f=!1;l==="post"?s.scheduler=v=>{St(v,d&&d.suspense)}:l!=="sync"&&(f=!0,s.scheduler=(v,m)=>{m?v():Tu(v)}),s.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,d&&(v.id=d.uid,v.i=d))};const p=Wy(e,t,s);return hl&&(c?c.push(p):i&&p()),p}function Xy(e,t,n){const a=this.proxy,r=rt(e)?e.includes(".")?zp(a,e):()=>a[e]:e.bind(a,a);let l;Be(t)?l=t:(l=t.handler,n=t);const o=Dl(this),s=ns(r,l.bind(a),n);return o(),s}function zp(e,t){const n=t.split(".");return()=>{let a=e;for(let r=0;re.__isTeleport,Pa=e=>e&&(e.disabled||e.disabled===""),tg=e=>e&&(e.defer||e.defer===""),Uc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,zc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Vi=(e,t)=>{const n=e&&e.to;return rt(n)?t?t(n):null:n},ng={name:"Teleport",__isTeleport:!0,process(e,t,n,a,r,l,o,s,i,c){const{mc:d,pc:f,pbc:p,o:{insert:v,querySelector:m,createText:g,createComment:_,parentNode:y}}=c,x=Pa(t.props);let{dynamicChildren:S}=t;const A=(U,H,k)=>{U.shapeFlag&16&&d(U.children,H,k,r,l,o,s,i)},V=(U=t)=>{const H=Pa(U.props),k=U.target=Vi(U.props,m),I=Li(k,U,g,v);k&&(o!=="svg"&&Uc(k)?o="svg":o!=="mathml"&&zc(k)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(k),H||(A(U,k,I),Kr(U,!1)))},J=U=>{const H=()=>{if(ta.get(U)===H){if(ta.delete(U),Pa(U.props)){const k=y(U.el)||n;A(U,k,U.anchor),Kr(U,!0)}V(U)}};ta.set(U,H),St(H,l)};if(e==null){const U=t.el=g(""),H=t.anchor=g("");if(v(U,n,a),v(H,n,a),tg(t.props)||l&&l.pendingBranch){J(t);return}x&&(A(t,n,H),Kr(t,!0)),V()}else{t.el=e.el;const U=t.anchor=e.anchor,H=ta.get(e);if(H){H.flags|=8,ta.delete(e),J(t);return}t.targetStart=e.targetStart;const k=t.target=e.target,I=t.targetAnchor=e.targetAnchor,G=Pa(e.props),D=G?n:k,N=G?U:I;if(o==="svg"||Uc(k)?o="svg":(o==="mathml"||zc(k))&&(o="mathml"),S?(p(e.dynamicChildren,S,D,r,l,o,s),Fu(e,t,!0)):i||f(e,t,D,N,r,l,o,s,!1),x)G?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Gl(t,n,U,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const W=t.target=Vi(t.props,m);W&&Gl(t,W,null,c,0)}else G&&Gl(t,k,I,c,1);Kr(t,x)}},remove(e,t,n,{um:a,o:{remove:r}},l){const{shapeFlag:o,children:s,anchor:i,targetStart:c,targetAnchor:d,target:f,props:p}=e,v=l||!Pa(p),m=ta.get(e);if(m&&(m.flags|=8,ta.delete(e)),f&&(r(c),r(d)),l&&r(i),!m&&o&16)for(let g=0;g{e.isMounted=!0}),qt(()=>{e.isUnmounting=!0}),e}const jt=[Function,Array],og={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:jt,onEnter:jt,onAfterEnter:jt,onEnterCancelled:jt,onBeforeLeave:jt,onLeave:jt,onAfterLeave:jt,onLeaveCancelled:jt,onBeforeAppear:jt,onAppear:jt,onAfterAppear:jt,onAppearCancelled:jt};function sg(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function ji(e,t,n,a,r){const{appear:l,mode:o,persisted:s=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:v,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:_,onAppear:y,onAfterAppear:x,onAppearCancelled:S}=t,A=String(e.key),V=sg(n,e),J=(k,I)=>{k&&Gt(k,a,9,I)},U=(k,I)=>{const G=I[1];J(k,I),Te(k)?k.every(D=>D.length<=1)&&G():k.length<=1&&G()},H={mode:o,persisted:s,beforeEnter(k){let I=i;if(!n.isMounted)if(l)I=_||i;else return;k[dn]&&k[dn](!0);const G=V[A];G&&er(e,G)&&G.el[dn]&&G.el[dn](),J(I,[k])},enter(k){if(V[A]===e)return;let I=c,G=d,D=f;if(!n.isMounted)if(l)I=y||c,G=x||d,D=S||f;else return;let N=!1;k[Fr]=B=>{N||(N=!0,B?J(D,[k]):J(G,[k]),H.delayedLeave&&H.delayedLeave(),k[Fr]=void 0)};const W=k[Fr].bind(null,!1);I?U(I,[k,W]):W()},leave(k,I){const G=String(e.key);if(k[Fr]&&k[Fr](!0),n.isUnmounting)return I();J(p,[k]);let D=!1;k[dn]=W=>{D||(D=!0,I(),W?J(g,[k]):J(m,[k]),k[dn]=void 0,V[G]===e&&delete V[G])};const N=k[dn].bind(null,!1);V[G]=e,v?U(v,[k,N]):N()},clone(k){return ji(k,t,n,a)}};return H}function fl(e,t){e.shapeFlag&6&&e.component?(e.transition=t,fl(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Kp(e,t=!1,n){let a=[],r=0;for(let l=0;l1)for(let l=0;ltl(g,t&&(Te(t)?t[_]:t),n,a,r));return}if(ir(a)&&!r){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&tl(e,t,n,a.component.subTree);return}const l=a.shapeFlag&4?os(a.component):a.el,o=r?null:l,{i:s,r:i}=e,c=t&&t.r,d=s.refs===nt?s.refs={}:s.refs,f=s.setupState,p=Je(f),v=f===nt?op:g=>Hc(d,g)?!1:Xe(p,g),m=(g,_)=>!(_&&Hc(d,_));if(c!=null&&c!==i){if(Kc(t),rt(c))d[c]=null,v(c)&&(f[c]=null);else if(ot(c)){const g=t;m(c,g.k)&&(c.value=null),g.k&&(d[g.k]=null)}}if(Be(i))Al(i,s,12,[o,d]);else{const g=rt(i),_=ot(i);if(g||_){const y=()=>{if(e.f){const x=g?v(i)?f[i]:d[i]:m()||!e.k?i.value:d[e.k];if(r)Te(x)&&Su(x,l);else if(Te(x))x.includes(l)||x.push(l);else if(g)d[i]=[l],v(i)&&(f[i]=d[i]);else{const S=[l];m(i,e.k)&&(i.value=S),e.k&&(d[e.k]=S)}}else g?(d[i]=o,v(i)&&(f[i]=o)):_&&(m(i,e.k)&&(i.value=o),e.k&&(d[e.k]=o))};if(o){const x=()=>{y(),xo.delete(e)};x.id=-1,xo.set(e,x),St(x,n)}else Kc(e),y()}}}function Kc(e){const t=xo.get(e);t&&(t.flags|=8,xo.delete(e))}Go().requestIdleCallback;Go().cancelIdleCallback;const ir=e=>!!e.type.__asyncLoader,Gp=e=>e.type.__isKeepAlive;function Yp(e,t){Zp(e,"a",t)}function Jp(e,t){Zp(e,"da",t)}function Zp(e,t,n=gt){const a=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(as(t,a,n),n){let r=n.parent;for(;r&&r.parent;)Gp(r.parent.vnode)&&ug(a,t,n,r),r=r.parent}}function ug(e,t,n,a){const r=as(t,e,a,!0);Er(()=>{Su(a[t],r)},n)}function as(e,t,n=gt,a=!1){if(n){const r=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...o)=>{Vn();const s=Dl(n),i=Gt(t,n,e,o);return s(),Ln(),i});return a?r.unshift(l):r.push(l),l}}const Kn=e=>(t,n=gt)=>{(!hl||e==="sp")&&as(e,(...a)=>t(...a),n)},cg=Kn("bm"),_t=Kn("m"),dg=Kn("bu"),Ru=Kn("u"),qt=Kn("bum"),Er=Kn("um"),fg=Kn("sp"),pg=Kn("rtg"),vg=Kn("rtc");function hg(e,t=gt){as("ec",e,t)}const mg="components",Qp=Symbol.for("v-ndc");function en(e){return rt(e)?yg(mg,e,!1)||e:e||Qp}function yg(e,t,n=!0,a=!1){const r=vt||gt;if(r){const l=r.type;{const s=Xg(l,!1);if(s&&(s===t||s===ht(t)||s===Wo(ht(t))))return l}const o=Wc(r[e]||l[e],t)||Wc(r.appContext[e],t);return!o&&a?l:o}}function Wc(e,t){return e&&(e[t]||e[ht(t)]||e[Wo(ht(t))])}function Ne(e,t,n,a){let r;const l=n,o=Te(e);if(o||rt(e)){const s=o&&Ra(e);let i=!1,c=!1;s&&(i=!Nt(e),c=jn(e),e=Jo(e)),r=new Array(e.length);for(let d=0,f=e.length;dt(s,i,void 0,l));else{const s=Object.keys(e);r=new Array(s.length);for(let i=0,c=s.length;i0;return t!=="default"&&(n.name=t),h(),j(_e,null,[z("slot",n,a&&a())],c?-2:64)}let l=e[t];l&&l._c&&(l._d=!1),h();const o=l&&Xp(l(n)),s=n.key||o&&o.key,i=j(_e,{key:(s&&!Vt(s)?s:`_${t}`)+(!o&&a?"_fb":"")},o||(a?a():[]),o&&e._===1?64:-2);return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),l&&l._c&&(l._d=!0),i}function Xp(e){return e.some(t=>vl(t)?!(t.type===tn||t.type===_e&&!Xp(t.children)):!0)?e:null}function ev(e,t){const n={};for(const a in e)n[Qr(a)]=e[a];return n}const Ui=e=>e?_v(e)?os(e):Ui(e.parent):null,nl=ut(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ui(e.parent),$root:e=>Ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>av(e),$forceUpdate:e=>e.f||(e.f=()=>{Tu(e.update)}),$nextTick:e=>e.n||(e.n=ze.bind(e.proxy)),$watch:e=>Xy.bind(e)}),Ws=(e,t)=>e!==nt&&!e.__isScriptSetup&&Xe(e,t),gg={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:a,data:r,props:l,accessCache:o,type:s,appContext:i}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return a[t];case 2:return r[t];case 4:return n[t];case 3:return l[t]}else{if(Ws(a,t))return o[t]=1,a[t];if(r!==nt&&Xe(r,t))return o[t]=2,r[t];if(Xe(l,t))return o[t]=3,l[t];if(n!==nt&&Xe(n,t))return o[t]=4,n[t];Hi&&(o[t]=0)}}const c=nl[t];let d,f;if(c)return t==="$attrs"&&yt(e.attrs,"get",""),c(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==nt&&Xe(n,t))return o[t]=4,n[t];if(f=i.config.globalProperties,Xe(f,t))return f[t]},set({_:e},t,n){const{data:a,setupState:r,ctx:l}=e;return Ws(r,t)?(r[t]=n,!0):a!==nt&&Xe(a,t)?(a[t]=n,!0):Xe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:r,props:l,type:o}},s){let i;return!!(n[s]||e!==nt&&s[0]!=="$"&&Xe(e,s)||Ws(t,s)||Xe(l,s)||Xe(a,s)||Xe(nl,s)||Xe(r.config.globalProperties,s)||(i=o.__cssModules)&&i[s])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Xe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function zi(e){return Te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function tv(e,t){const n=zi(e);for(const a in t){if(a.startsWith("__skip"))continue;let r=n[a];r?Te(r)||Be(r)?r=n[a]={type:r,default:t[a]}:r.default=t[a]:r===null&&(r=n[a]={default:t[a]}),r&&t[`__skip_${a}`]&&(r.skipFactory=!0)}return n}let Hi=!0;function bg(e){const t=av(e),n=e.proxy,a=e.ctx;Hi=!1,t.beforeCreate&&Gc(t.beforeCreate,e,"bc");const{data:r,computed:l,methods:o,watch:s,provide:i,inject:c,created:d,beforeMount:f,mounted:p,beforeUpdate:v,updated:m,activated:g,deactivated:_,beforeDestroy:y,beforeUnmount:x,destroyed:S,unmounted:A,render:V,renderTracked:J,renderTriggered:U,errorCaptured:H,serverPrefetch:k,expose:I,inheritAttrs:G,components:D,directives:N,filters:W}=t;if(c&&_g(c,a,null),o)for(const ne in o){const ce=o[ne];Be(ce)&&(a[ne]=ce.bind(n))}if(r){const ne=r.call(n,n);Ze(ne)&&(e.data=Zt(ne))}if(Hi=!0,l)for(const ne in l){const ce=l[ne],te=Be(ce)?ce.bind(n,n):Be(ce.get)?ce.get.bind(n,n):bn,ie=!Be(ce)&&Be(ce.set)?ce.set.bind(n):bn,le=w({get:te,set:ie});Object.defineProperty(a,ne,{enumerable:!0,configurable:!0,get:()=>le.value,set:re=>le.value=re})}if(s)for(const ne in s)nv(s[ne],a,n,ne);if(i){const ne=Be(i)?i.call(n):i;Reflect.ownKeys(ne).forEach(ce=>{Dt(ce,ne[ce])})}d&&Gc(d,e,"c");function Q(ne,ce){Te(ce)?ce.forEach(te=>ne(te.bind(n))):ce&&ne(ce.bind(n))}if(Q(cg,f),Q(_t,p),Q(dg,v),Q(Ru,m),Q(Yp,g),Q(Jp,_),Q(hg,H),Q(vg,J),Q(pg,U),Q(qt,x),Q(Er,A),Q(fg,k),Te(I))if(I.length){const ne=e.exposed||(e.exposed={});I.forEach(ce=>{Object.defineProperty(ne,ce,{get:()=>n[ce],set:te=>n[ce]=te,enumerable:!0})})}else e.exposed||(e.exposed={});V&&e.render===bn&&(e.render=V),G!=null&&(e.inheritAttrs=G),D&&(e.components=D),N&&(e.directives=N),k&&Wp(e)}function _g(e,t,n=bn){Te(e)&&(e=Ki(e));for(const a in e){const r=e[a];let l;Ze(r)?"default"in r?l=st(r.from||a,r.default,!0):l=st(r.from||a):l=st(r),ot(l)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>l.value,set:o=>l.value=o}):t[a]=l}}function Gc(e,t,n){Gt(Te(e)?e.map(a=>a.bind(t.proxy)):e.bind(t.proxy),t,n)}function nv(e,t,n,a){let r=a.includes(".")?zp(n,a):()=>n[a];if(rt(e)){const l=t[e];Be(l)&&Fe(r,l)}else if(Be(e))Fe(r,e.bind(n));else if(Ze(e))if(Te(e))e.forEach(l=>nv(l,t,n,a));else{const l=Be(e.handler)?e.handler.bind(n):t[e.handler];Be(l)&&Fe(r,l,e)}}function av(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:o}}=e.appContext,s=l.get(t);let i;return s?i=s:!r.length&&!n&&!a?i=t:(i={},r.length&&r.forEach(c=>wo(i,c,o,!0)),wo(i,t,o)),Ze(t)&&l.set(t,i),i}function wo(e,t,n,a=!1){const{mixins:r,extends:l}=t;l&&wo(e,l,n,!0),r&&r.forEach(o=>wo(e,o,n,!0));for(const o in t)if(!(a&&o==="expose")){const s=xg[o]||n&&n[o];e[o]=s?s(e[o],t[o]):t[o]}return e}const xg={data:Yc,props:Jc,emits:Jc,methods:Wr,computed:Wr,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Wr,directives:Wr,watch:kg,provide:Yc,inject:wg};function Yc(e,t){return t?e?function(){return ut(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function wg(e,t){return Wr(Ki(e),Ki(t))}function Ki(e){if(Te(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${ba(t)}Modifiers`];function Eg(e,t,...n){if(e.isUnmounted)return;const a=e.vnode.props||nt;let r=n;const l=t.startsWith("update:"),o=l&&Sg(a,t.slice(7));o&&(o.trim&&(r=n.map(d=>rt(d)?d.trim():d)),o.number&&(r=n.map(Eu)));let s,i=a[s=Qr(t)]||a[s=Qr(ht(t))];!i&&l&&(i=a[s=Qr(ba(t))]),i&&Gt(i,e,6,r);const c=a[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Gt(c,e,6,r)}}const Ag=new WeakMap;function lv(e,t,n=!1){const a=n?Ag:t.emitsCache,r=a.get(e);if(r!==void 0)return r;const l=e.emits;let o={},s=!1;if(!Be(e)){const i=c=>{const d=lv(c,t,!0);d&&(s=!0,ut(o,d))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!l&&!s?(Ze(e)&&a.set(e,null),null):(Te(l)?l.forEach(i=>o[i]=null):ut(o,l),Ze(e)&&a.set(e,o),o)}function rs(e,t){return!e||!Uo(t)?!1:(t=t.slice(2).replace(/Once$/,""),Xe(e,t[0].toLowerCase()+t.slice(1))||Xe(e,ba(t))||Xe(e,t))}function Zc(e){const{type:t,vnode:n,proxy:a,withProxy:r,propsOptions:[l],slots:o,attrs:s,emit:i,render:c,renderCache:d,props:f,data:p,setupState:v,ctx:m,inheritAttrs:g}=e,_=_o(e);let y,x;try{if(n.shapeFlag&4){const A=r||a,V=A;y=pn(c.call(V,A,d,f,v,p,m)),x=s}else{const A=t;y=pn(A.length>1?A(f,{attrs:s,slots:o,emit:i}):A(f,null)),x=t.props?s:Dg(s)}}catch(A){al.length=0,ts(A,e,1),y=z(tn)}let S=y;if(x&&g!==!1){const A=Object.keys(x),{shapeFlag:V}=S;A.length&&V&7&&(l&&A.some(zo)&&(x=Pg(x,l)),S=fa(S,x,!1,!0))}return n.dirs&&(S=fa(S,null,!1,!0),S.dirs=S.dirs?S.dirs.concat(n.dirs):n.dirs),n.transition&&fl(S,n.transition),y=S,_o(_),y}const Dg=e=>{let t;for(const n in e)(n==="class"||n==="style"||Uo(n))&&((t||(t={}))[n]=e[n]);return t},Pg=(e,t)=>{const n={};for(const a in e)(!zo(a)||!(a.slice(9)in t))&&(n[a]=e[a]);return n};function Og(e,t,n){const{props:a,children:r,component:l}=e,{props:o,children:s,patchFlag:i}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return a?Qc(a,o,c):!!o;if(i&8){const d=t.dynamicProps;for(let f=0;fObject.create(sv),uv=e=>Object.getPrototypeOf(e)===sv;function Tg(e,t,n,a=!1){const r={},l=iv();e.propsDefaults=Object.create(null),cv(e,t,r,l);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=a?r:Rp(r):e.type.props?e.props=r:e.props=l,e.attrs=l}function Rg(e,t,n,a){const{props:r,attrs:l,vnode:{patchFlag:o}}=e,s=Je(r),[i]=e.propsOptions;let c=!1;if((a||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[p,v]=dv(f,t,!0);ut(o,p),v&&s.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!i)return Ze(e)&&a.set(e,lr),lr;if(Te(l))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Iu=e=>Te(e)?e.map(pn):[pn(e)],Ig=(e,t,n)=>{if(t._n)return t;const a=F((...r)=>Iu(t(...r)),n);return a._c=!1,a},fv=(e,t,n)=>{const a=e._ctx;for(const r in e){if(qu(r))continue;const l=e[r];if(Be(l))t[r]=Ig(r,l,a);else if(l!=null){const o=Iu(l);t[r]=()=>o}}},pv=(e,t)=>{const n=Iu(t);e.slots.default=()=>n},vv=(e,t,n)=>{for(const a in t)(n||!qu(a))&&(e[a]=t[a])},Fg=(e,t,n)=>{const a=e.slots=iv();if(e.vnode.shapeFlag&32){const r=t._;r?(vv(a,t,n),n&&dp(a,"_",r,!0)):fv(t,a)}else t&&pv(e,t)},Bg=(e,t,n)=>{const{vnode:a,slots:r}=e;let l=!0,o=nt;if(a.shapeFlag&32){const s=t._;s?n&&s===1?l=!1:vv(r,t,n):(l=!t.$stable,fv(t,r)),o=t}else t&&(pv(e,t),o={default:1});if(l)for(const s in r)!qu(s)&&o[s]==null&&delete r[s]},St=Ug;function Ng(e){return Vg(e)}function Vg(e,t){const n=Go();n.__VUE__=!0;const{insert:a,remove:r,patchProp:l,createElement:o,createText:s,createComment:i,setText:c,setElementText:d,parentNode:f,nextSibling:p,setScopeId:v=bn,insertStaticContent:m}=e,g=(b,C,E,Y=null,M=null,K=null,oe=void 0,se=null,me=!!C.dynamicChildren)=>{if(b===C)return;b&&!er(b,C)&&(Y=Z(b),re(b,M,K,!0),b=null),C.patchFlag===-2&&(me=!1,C.dynamicChildren=null);const{type:fe,ref:Ee,shapeFlag:be}=C;switch(fe){case ls:_(b,C,E,Y);break;case tn:y(b,C,E,Y);break;case Ys:b==null&&x(C,E,Y,oe);break;case _e:D(b,C,E,Y,M,K,oe,se,me);break;default:be&1?V(b,C,E,Y,M,K,oe,se,me):be&6?N(b,C,E,Y,M,K,oe,se,me):(be&64||be&128)&&fe.process(b,C,E,Y,M,K,oe,se,me,de)}Ee!=null&&M?tl(Ee,b&&b.ref,K,C||b,!C):Ee==null&&b&&b.ref!=null&&tl(b.ref,null,K,b,!0)},_=(b,C,E,Y)=>{if(b==null)a(C.el=s(C.children),E,Y);else{const M=C.el=b.el;C.children!==b.children&&c(M,C.children)}},y=(b,C,E,Y)=>{b==null?a(C.el=i(C.children||""),E,Y):C.el=b.el},x=(b,C,E,Y)=>{[b.el,b.anchor]=m(b.children,C,E,Y,b.el,b.anchor)},S=({el:b,anchor:C},E,Y)=>{let M;for(;b&&b!==C;)M=p(b),a(b,E,Y),b=M;a(C,E,Y)},A=({el:b,anchor:C})=>{let E;for(;b&&b!==C;)E=p(b),r(b),b=E;r(C)},V=(b,C,E,Y,M,K,oe,se,me)=>{if(C.type==="svg"?oe="svg":C.type==="math"&&(oe="mathml"),b==null)J(C,E,Y,M,K,oe,se,me);else{const fe=b.el&&b.el._isVueCE?b.el:null;try{fe&&fe._beginPatch(),k(b,C,M,K,oe,se,me)}finally{fe&&fe._endPatch()}}},J=(b,C,E,Y,M,K,oe,se)=>{let me,fe;const{props:Ee,shapeFlag:be,transition:Se,dirs:Re}=b;if(me=b.el=o(b.type,K,Ee&&Ee.is,Ee),be&8?d(me,b.children):be&16&&H(b.children,me,null,Y,M,Gs(b,K),oe,se),Re&&ka(b,null,Y,"created"),U(me,b,b.scopeId,oe,Y),Ee){for(const We in Ee)We!=="value"&&!Zr(We)&&l(me,We,null,Ee[We],K,Y);"value"in Ee&&l(me,"value",null,Ee.value,K),(fe=Ee.onVnodeBeforeMount)&&sn(fe,Y,b)}Re&&ka(b,null,Y,"beforeMount");const je=Lg(M,Se);je&&Se.beforeEnter(me),a(me,C,E),((fe=Ee&&Ee.onVnodeMounted)||je||Re)&&St(()=>{fe&&sn(fe,Y,b),je&&Se.enter(me),Re&&ka(b,null,Y,"mounted")},M)},U=(b,C,E,Y,M)=>{if(E&&v(b,E),Y)for(let K=0;K{for(let fe=me;fe{const se=C.el=b.el;let{patchFlag:me,dynamicChildren:fe,dirs:Ee}=C;me|=b.patchFlag&16;const be=b.props||nt,Se=C.props||nt;let Re;if(E&&$a(E,!1),(Re=Se.onVnodeBeforeUpdate)&&sn(Re,E,C,b),Ee&&ka(C,b,E,"beforeUpdate"),E&&$a(E,!0),(be.innerHTML&&Se.innerHTML==null||be.textContent&&Se.textContent==null)&&d(se,""),fe?I(b.dynamicChildren,fe,se,E,Y,Gs(C,M),K):oe||ce(b,C,se,null,E,Y,Gs(C,M),K,!1),me>0){if(me&16)G(se,be,Se,E,M);else if(me&2&&be.class!==Se.class&&l(se,"class",null,Se.class,M),me&4&&l(se,"style",be.style,Se.style,M),me&8){const je=C.dynamicProps;for(let We=0;We{Re&&sn(Re,E,C,b),Ee&&ka(C,b,E,"updated")},Y)},I=(b,C,E,Y,M,K,oe)=>{for(let se=0;se{if(C!==E){if(C!==nt)for(const K in C)!Zr(K)&&!(K in E)&&l(b,K,C[K],null,M,Y);for(const K in E){if(Zr(K))continue;const oe=E[K],se=C[K];oe!==se&&K!=="value"&&l(b,K,se,oe,M,Y)}"value"in E&&l(b,"value",C.value,E.value,M)}},D=(b,C,E,Y,M,K,oe,se,me)=>{const fe=C.el=b?b.el:s(""),Ee=C.anchor=b?b.anchor:s("");let{patchFlag:be,dynamicChildren:Se,slotScopeIds:Re}=C;Re&&(se=se?se.concat(Re):Re),b==null?(a(fe,E,Y),a(Ee,E,Y),H(C.children||[],E,Ee,M,K,oe,se,me)):be>0&&be&64&&Se&&b.dynamicChildren&&b.dynamicChildren.length===Se.length?(I(b.dynamicChildren,Se,E,M,K,oe,se),(C.key!=null||M&&C===M.subTree)&&Fu(b,C,!0)):ce(b,C,E,Ee,M,K,oe,se,me)},N=(b,C,E,Y,M,K,oe,se,me)=>{C.slotScopeIds=se,b==null?C.shapeFlag&512?M.ctx.activate(C,E,Y,oe,me):W(C,E,Y,M,K,oe,me):B(b,C,me)},W=(b,C,E,Y,M,K,oe)=>{const se=b.component=Gg(b,Y,M);if(Gp(b)&&(se.ctx.renderer=de),Yg(se,!1,oe),se.asyncDep){if(M&&M.registerDep(se,Q,oe),!b.el){const me=se.subTree=z(tn);y(null,me,C,E),b.placeholder=me.el}}else Q(se,b,C,E,M,K,oe)},B=(b,C,E)=>{const Y=C.component=b.component;if(Og(b,C,E))if(Y.asyncDep&&!Y.asyncResolved){ne(Y,C,E);return}else Y.next=C,Y.update();else C.el=b.el,Y.vnode=C},Q=(b,C,E,Y,M,K,oe)=>{const se=()=>{if(b.isMounted){let{next:be,bu:Se,u:Re,parent:je,vnode:We}=b;{const Pt=hv(b);if(Pt){be&&(be.el=We.el,ne(b,be,oe)),Pt.asyncDep.then(()=>{St(()=>{b.isUnmounted||fe()},M)});return}}let Ue=be,lt;$a(b,!1),be?(be.el=We.el,ne(b,be,oe)):be=We,Se&&io(Se),(lt=be.props&&be.props.onVnodeBeforeUpdate)&&sn(lt,je,be,We),$a(b,!0);const it=Zc(b),wt=b.subTree;b.subTree=it,g(wt,it,f(wt.el),Z(wt),b,M,K),be.el=it.el,Ue===null&&Mg(b,it.el),Re&&St(Re,M),(lt=be.props&&be.props.onVnodeUpdated)&&St(()=>sn(lt,je,be,We),M)}else{let be;const{el:Se,props:Re}=C,{bm:je,m:We,parent:Ue,root:lt,type:it}=b,wt=ir(C);$a(b,!1),je&&io(je),!wt&&(be=Re&&Re.onVnodeBeforeMount)&&sn(be,Ue,C),$a(b,!0);{lt.ce&<.ce._hasShadowRoot()&<.ce._injectChildStyle(it,b.parent?b.parent.type:void 0);const Pt=b.subTree=Zc(b);g(null,Pt,E,Y,b,M,K),C.el=Pt.el}if(We&&St(We,M),!wt&&(be=Re&&Re.onVnodeMounted)){const Pt=C;St(()=>sn(be,Ue,Pt),M)}(C.shapeFlag&256||Ue&&ir(Ue.vnode)&&Ue.vnode.shapeFlag&256)&&b.a&&St(b.a,M),b.isMounted=!0,C=E=Y=null}};b.scope.on();const me=b.effect=new gp(se);b.scope.off();const fe=b.update=me.run.bind(me),Ee=b.job=me.runIfDirty.bind(me);Ee.i=b,Ee.id=b.uid,me.scheduler=()=>Tu(Ee),$a(b,!0),fe()},ne=(b,C,E)=>{C.component=b;const Y=b.vnode.props;b.vnode=C,b.next=null,Rg(b,C.props,Y,E),Bg(b,C.children,E),Vn(),jc(b),Ln()},ce=(b,C,E,Y,M,K,oe,se,me=!1)=>{const fe=b&&b.children,Ee=b?b.shapeFlag:0,be=C.children,{patchFlag:Se,shapeFlag:Re}=C;if(Se>0){if(Se&128){ie(fe,be,E,Y,M,K,oe,se,me);return}else if(Se&256){te(fe,be,E,Y,M,K,oe,se,me);return}}Re&8?(Ee&16&&pe(fe,M,K),be!==fe&&d(E,be)):Ee&16?Re&16?ie(fe,be,E,Y,M,K,oe,se,me):pe(fe,M,K,!0):(Ee&8&&d(E,""),Re&16&&H(be,E,Y,M,K,oe,se,me))},te=(b,C,E,Y,M,K,oe,se,me)=>{b=b||lr,C=C||lr;const fe=b.length,Ee=C.length,be=Math.min(fe,Ee);let Se;for(Se=0;SeEe?pe(b,M,K,!0,!1,be):H(C,E,Y,M,K,oe,se,me,be)},ie=(b,C,E,Y,M,K,oe,se,me)=>{let fe=0;const Ee=C.length;let be=b.length-1,Se=Ee-1;for(;fe<=be&&fe<=Se;){const Re=b[fe],je=C[fe]=me?Pn(C[fe]):pn(C[fe]);if(er(Re,je))g(Re,je,E,null,M,K,oe,se,me);else break;fe++}for(;fe<=be&&fe<=Se;){const Re=b[be],je=C[Se]=me?Pn(C[Se]):pn(C[Se]);if(er(Re,je))g(Re,je,E,null,M,K,oe,se,me);else break;be--,Se--}if(fe>be){if(fe<=Se){const Re=Se+1,je=ReSe)for(;fe<=be;)re(b[fe],M,K,!0),fe++;else{const Re=fe,je=fe,We=new Map;for(fe=je;fe<=Se;fe++){const Ae=C[fe]=me?Pn(C[fe]):pn(C[fe]);Ae.key!=null&&We.set(Ae.key,fe)}let Ue,lt=0;const it=Se-je+1;let wt=!1,Pt=0;const on=new Array(it);for(fe=0;fe=it){re(Ae,M,K,!0);continue}let qe;if(Ae.key!=null)qe=We.get(Ae.key);else for(Ue=je;Ue<=Se;Ue++)if(on[Ue-je]===0&&er(Ae,C[Ue])){qe=Ue;break}qe===void 0?re(Ae,M,K,!0):(on[qe-je]=fe+1,qe>=Pt?Pt=qe:wt=!0,g(Ae,C[qe],E,null,M,K,oe,se,me),lt++)}const De=wt?jg(on):lr;for(Ue=De.length-1,fe=it-1;fe>=0;fe--){const Ae=je+fe,qe=C[Ae],kt=C[Ae+1],qr=Ae+1{const{el:K,type:oe,transition:se,children:me,shapeFlag:fe}=b;if(fe&6){le(b.component.subTree,C,E,Y);return}if(fe&128){b.suspense.move(C,E,Y);return}if(fe&64){oe.move(b,C,E,de);return}if(oe===_e){a(K,C,E);for(let be=0;bese.enter(K),M));else{const{leave:be,delayLeave:Se,afterLeave:Re}=se,je=()=>{b.ctx.isUnmounted?r(K):a(K,C,E)},We=()=>{const Ue=K._isLeaving||!!K[dn];K._isLeaving&&K[dn](!0),se.persisted&&!Ue?je():be(K,()=>{je(),Re&&Re()})};Se?Se(K,je,We):We()}else a(K,C,E)},re=(b,C,E,Y=!1,M=!1)=>{const{type:K,props:oe,ref:se,children:me,dynamicChildren:fe,shapeFlag:Ee,patchFlag:be,dirs:Se,cacheIndex:Re,memo:je}=b;if(be===-2&&(M=!1),se!=null&&(Vn(),tl(se,null,E,b,!0),Ln()),Re!=null&&(C.renderCache[Re]=void 0),Ee&256){C.ctx.deactivate(b);return}const We=Ee&1&&Se,Ue=!ir(b);let lt;if(Ue&&(lt=oe&&oe.onVnodeBeforeUnmount)&&sn(lt,C,b),Ee&6)Ce(b.component,E,Y);else{if(Ee&128){b.suspense.unmount(E,Y);return}We&&ka(b,null,C,"beforeUnmount"),Ee&64?b.type.remove(b,C,E,de,Y):fe&&!fe.hasOnce&&(K!==_e||be>0&&be&64)?pe(fe,C,E,!1,!0):(K===_e&&be&384||!M&&Ee&16)&&pe(me,C,E),Y&&we(b)}const it=je!=null&&Re==null;(Ue&&(lt=oe&&oe.onVnodeUnmounted)||We||it)&&St(()=>{lt&&sn(lt,C,b),We&&ka(b,null,C,"unmounted"),it&&(b.el=null)},E)},we=b=>{const{type:C,el:E,anchor:Y,transition:M}=b;if(C===_e){ue(E,Y);return}if(C===Ys){A(b);return}const K=()=>{r(E),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(b.shapeFlag&1&&M&&!M.persisted){const{leave:oe,delayLeave:se}=M,me=()=>oe(E,K);se?se(b.el,K,me):me()}else K()},ue=(b,C)=>{let E;for(;b!==C;)E=p(b),r(b),b=E;r(C)},Ce=(b,C,E)=>{const{bum:Y,scope:M,job:K,subTree:oe,um:se,m:me,a:fe}=b;ed(me),ed(fe),Y&&io(Y),M.stop(),K&&(K.flags|=8,re(oe,b,C,E)),se&&St(se,C),St(()=>{b.isUnmounted=!0},C)},pe=(b,C,E,Y=!1,M=!1,K=0)=>{for(let oe=K;oe{if(b.shapeFlag&6)return Z(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const C=p(b.anchor||b.el),E=C&&C[Hp];return E?p(E):C};let ve=!1;const X=(b,C,E)=>{let Y;b==null?C._vnode&&(re(C._vnode,null,null,!0),Y=C._vnode.component):g(C._vnode||null,b,C,null,null,null,E),C._vnode=b,ve||(ve=!0,jc(Y),Vp(),ve=!1)},de={p:g,um:re,m:le,r:we,mt:W,mc:H,pc:ce,pbc:I,n:Z,o:e};return{render:X,hydrate:void 0,createApp:Cg(X)}}function Gs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function $a({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Lg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Fu(e,t,n=!1){const a=e.children,r=t.children;if(Te(a)&&Te(r))for(let l=0;l>1,e[n[s]]0&&(t[a]=n[l-1]),n[l]=a)}}for(l=n.length,o=n[l-1];l-- >0;)n[l]=o,o=t[o];return n}function hv(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hv(t)}function ed(e){if(e)for(let t=0;te.__isSuspense;function Ug(e,t){t&&t.pendingBranch?Te(e)?t.effects.push(...e):t.effects.push(e):Jy(e)}const _e=Symbol.for("v-fgt"),ls=Symbol.for("v-txt"),tn=Symbol.for("v-cmt"),Ys=Symbol.for("v-stc"),al=[];let Ft=null;function h(e=!1){al.push(Ft=e?null:[])}function zg(){al.pop(),Ft=al[al.length-1]||null}let pl=1;function ko(e,t=!1){pl+=e,e<0&&Ft&&t&&(Ft.hasOnce=!0)}function gv(e){return e.dynamicChildren=pl>0?Ft||lr:null,zg(),pl>0&&Ft&&Ft.push(e),e}function $(e,t,n,a,r,l){return gv(O(e,t,n,a,r,l,!0))}function j(e,t,n,a,r){return gv(z(e,t,n,a,r,!0))}function vl(e){return e?e.__v_isVNode===!0:!1}function er(e,t){return e.type===t.type&&e.key===t.key}const bv=({key:e})=>e??null,uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?rt(e)||ot(e)||Be(e)?{i:vt,r:e,k:t,f:!!n}:e:null);function O(e,t=null,n=null,a=0,r=null,l=e===_e?0:1,o=!1,s=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&bv(t),ref:t&&uo(t),scopeId:jp,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:a,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:vt};return s?(Bu(i,n),l&128&&e.normalize(i)):n&&(i.shapeFlag|=rt(n)?8:16),pl>0&&!o&&Ft&&(i.patchFlag>0||l&6)&&i.patchFlag!==32&&Ft.push(i),i}const z=Hg;function Hg(e,t=null,n=null,a=0,r=null,l=!1){if((!e||e===Qp)&&(e=tn),vl(e)){const s=fa(e,t,!0);return n&&Bu(s,n),pl>0&&!l&&Ft&&(s.shapeFlag&6?Ft[Ft.indexOf(e)]=s:Ft.push(s)),s.patchFlag=-2,s}if(eb(e)&&(e=e.__vccOpts),t){t=Ge(t);let{class:s,style:i}=t;s&&!rt(s)&&(t.class=xe(s)),Ze(i)&&(Xo(i)&&!Te(i)&&(i=ut({},i)),t.style=Fn(i))}const o=rt(e)?1:yv(e)?128:eg(e)?64:Ze(e)?4:Be(e)?2:0;return O(e,t,n,a,r,o,l,!0)}function Ge(e){return e?Xo(e)||uv(e)?ut({},e):e:null}function fa(e,t,n=!1,a=!1){const{props:r,ref:l,patchFlag:o,children:s,transition:i}=e,c=t?Ve(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&bv(c),ref:t&&t.ref?n&&l?Te(l)?l.concat(uo(t)):[l,uo(t)]:uo(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&fa(e.ssContent),ssFallback:e.ssFallback&&fa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&a&&fl(d,i.clone(d)),d}function $e(e=" ",t=0){return z(ls,null,e,t)}function ae(e="",t=!1){return t?(h(),j(tn,null,e)):z(tn,null,e)}function pn(e){return e==null||typeof e=="boolean"?z(tn):Te(e)?z(_e,null,e.slice()):vl(e)?Pn(e):z(ls,null,String(e))}function Pn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:fa(e)}function Bu(e,t){let n=0;const{shapeFlag:a}=e;if(t==null)t=null;else if(Te(t))n=16;else if(typeof t=="object")if(a&65){const r=t.default;r&&(r._c&&(r._d=!1),Bu(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!uv(t)?t._ctx=vt:r===3&&vt&&(vt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Be(t)?(t={default:t,_ctx:vt},n=32):(t=String(t),a&64?(n=16,t=[$e(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ve(...e){const t={};for(let n=0;ngt||vt;let $o,Gi;{const e=Go(),t=(n,a)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(a),l=>{r.length>1?r.forEach(o=>o(l)):r[0](l)}};$o=t("__VUE_INSTANCE_SETTERS__",n=>gt=n),Gi=t("__VUE_SSR_SETTERS__",n=>hl=n)}const Dl=e=>{const t=gt;return $o(e),e.scope.on(),()=>{e.scope.off(),$o(t)}},td=()=>{gt&>.scope.off(),$o(null)};function _v(e){return e.vnode.shapeFlag&4}let hl=!1;function Yg(e,t=!1,n=!1){t&&Gi(t);const{props:a,children:r}=e.vnode,l=_v(e);Tg(e,a,l,t),Fg(e,r,n||t);const o=l?Jg(e,t):void 0;return t&&Gi(!1),o}function Jg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gg);const{setup:a}=n;if(a){Vn();const r=e.setupContext=a.length>1?Qg(e):null,l=Dl(e),o=Al(a,e,0,[e.props,r]),s=ip(o);if(Ln(),l(),(s||e.sp)&&!ir(e)&&Wp(e),s){if(o.then(td,td),t)return o.then(i=>{nd(e,i)}).catch(i=>{ts(i,e,0)});e.asyncDep=o}else nd(e,o)}else xv(e)}function nd(e,t,n){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ze(t)&&(e.setupState=Ip(t)),xv(e)}function xv(e,t,n){const a=e.type;e.render||(e.render=a.render||bn);{const r=Dl(e);Vn();try{bg(e)}finally{Ln(),r()}}}const Zg={get(e,t){return yt(e,"get",""),e[t]}};function Qg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Zg),slots:e.slots,emit:e.emit,expose:t}}function os(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ip(yo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in nl)return nl[n](e)},has(t,n){return n in t||n in nl}})):e.proxy}function Xg(e,t=!0){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function eb(e){return Be(e)&&"__vccOpts"in e}const w=(e,t)=>Hy(e,t,hl);function Kt(e,t,n){try{ko(-1);const a=arguments.length;return a===2?Ze(t)&&!Te(t)?vl(t)?z(e,null,[t]):z(e,t):z(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&vl(n)&&(n=[n]),z(e,t,n))}finally{ko(1)}}const tb="3.5.35";let Yi;const ad=typeof window<"u"&&window.trustedTypes;if(ad)try{Yi=ad.createPolicy("vue",{createHTML:e=>e})}catch{}const wv=Yi?e=>Yi.createHTML(e):e=>e,nb="http://www.w3.org/2000/svg",ab="http://www.w3.org/1998/Math/MathML",An=typeof document<"u"?document:null,rd=An&&An.createElement("template"),rb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const r=t==="svg"?An.createElementNS(nb,e):t==="mathml"?An.createElementNS(ab,e):n?An.createElement(e,{is:n}):An.createElement(e);return e==="select"&&a&&a.multiple!=null&&r.setAttribute("multiple",a.multiple),r},createText:e=>An.createTextNode(e),createComment:e=>An.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>An.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,r,l){const o=n?n.previousSibling:t.lastChild;if(r&&(r===l||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===l||!(r=r.nextSibling)););else{rd.innerHTML=wv(a==="svg"?`${e}`:a==="mathml"?`${e}`:e);const s=rd.content;if(a==="svg"||a==="mathml"){const i=s.firstChild;for(;i.firstChild;)s.appendChild(i.firstChild);s.removeChild(i)}t.insertBefore(s,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qn="transition",Br="animation",mr=Symbol("_vtc"),kv={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},lb=ut({},og,kv),Ca=(e,t=[])=>{Te(e)?e.forEach(n=>n(...t)):e&&e(...t)},ld=e=>e?Te(e)?e.some(t=>t.length>1):e.length>1:!1;function ob(e){const t={};for(const D in e)D in kv||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:a,duration:r,enterFromClass:l=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:i=l,appearActiveClass:c=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,m=sb(r),g=m&&m[0],_=m&&m[1],{onBeforeEnter:y,onEnter:x,onEnterCancelled:S,onLeave:A,onLeaveCancelled:V,onBeforeAppear:J=y,onAppear:U=x,onAppearCancelled:H=S}=t,k=(D,N,W,B)=>{D._enterCancelled=B,na(D,N?d:s),na(D,N?c:o),W&&W()},I=(D,N)=>{D._isLeaving=!1,na(D,f),na(D,v),na(D,p),N&&N()},G=D=>(N,W)=>{const B=D?U:x,Q=()=>k(N,D,W);Ca(B,[N,Q]),od(()=>{na(N,D?i:l),un(N,D?d:s),ld(B)||sd(N,a,g,Q)})};return ut(t,{onBeforeEnter(D){Ca(y,[D]),un(D,l),un(D,o)},onBeforeAppear(D){Ca(J,[D]),un(D,i),un(D,c)},onEnter:G(!1),onAppear:G(!0),onLeave(D,N){D._isLeaving=!0;const W=()=>I(D,N);un(D,f),D._enterCancelled?(un(D,p),Ji(D)):(Ji(D),un(D,p)),od(()=>{D._isLeaving&&(na(D,f),un(D,v),ld(A)||sd(D,a,_,W))}),Ca(A,[D,W])},onEnterCancelled(D){k(D,!1,void 0,!0),Ca(S,[D])},onAppearCancelled(D){k(D,!0,void 0,!0),Ca(H,[D])},onLeaveCancelled(D){I(D),Ca(V,[D])}})}function sb(e){if(e==null)return null;if(Ze(e))return[Js(e.enter),Js(e.leave)];{const t=Js(e);return[t,t]}}function Js(e){return cy(e)}function un(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[mr]||(e[mr]=new Set)).add(t)}function na(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.remove(a));const n=e[mr];n&&(n.delete(t),n.size||(e[mr]=void 0))}function od(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ib=0;function sd(e,t,n,a){const r=e._endId=++ib,l=()=>{r===e._endId&&a()};if(n!=null)return setTimeout(l,n);const{type:o,timeout:s,propCount:i}=$v(e,t);if(!o)return a();const c=o+"end";let d=0;const f=()=>{e.removeEventListener(c,p),l()},p=v=>{v.target===e&&++d>=i&&f()};setTimeout(()=>{d(n[m]||"").split(", "),r=a(`${Qn}Delay`),l=a(`${Qn}Duration`),o=id(r,l),s=a(`${Br}Delay`),i=a(`${Br}Duration`),c=id(s,i);let d=null,f=0,p=0;t===Qn?o>0&&(d=Qn,f=o,p=l.length):t===Br?c>0&&(d=Br,f=c,p=i.length):(f=Math.max(o,c),d=f>0?o>c?Qn:Br:null,p=d?d===Qn?l.length:i.length:0);const v=d===Qn&&/\b(?:transform|all)(?:,|$)/.test(a(`${Qn}Property`).toString());return{type:d,timeout:f,propCount:p,hasTransform:v}}function id(e,t){for(;e.lengthud(n)+ud(e[a])))}function ud(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ji(e){return(e?e.ownerDocument:document).body.offsetHeight}function ub(e,t,n){const a=e[mr];a&&(t=(t?[t,...a]:[...a]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Co=Symbol("_vod"),Cv=Symbol("_vsh"),Zi={name:"show",beforeMount(e,{value:t},{transition:n}){e[Co]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Nr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),Nr(e,!0),a.enter(e)):a.leave(e,()=>{Nr(e,!1)}):Nr(e,t))},beforeUnmount(e,{value:t}){Nr(e,t)}};function Nr(e,t){e.style.display=t?e[Co]:"none",e[Cv]=!t}const cb=Symbol(""),db=/(?:^|;)\s*display\s*:/;function fb(e,t,n){const a=e.style,r=rt(n);let l=!1;if(n&&!r){if(t)if(rt(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();n[s]==null&&Gr(a,s,"")}else for(const o in t)n[o]==null&&Gr(a,o,"");for(const o in n){o==="display"&&(l=!0);const s=n[o];s!=null?vb(e,o,!rt(t)&&t?t[o]:void 0,s)||Gr(a,o,s):Gr(a,o,"")}}else if(r){if(t!==n){const o=a[cb];o&&(n+=";"+o),a.cssText=n,l=db.test(n)}}else t&&e.removeAttribute("style");Co in e&&(e[Co]=l?a.display:"",e[Cv]&&(a.display="none"))}const cd=/\s*!important$/;function Gr(e,t,n){if(Te(n))n.forEach(a=>Gr(e,t,a));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=pb(e,t);cd.test(n)?e.setProperty(ba(a),n.replace(cd,""),"important"):e[a]=n}}const dd=["Webkit","Moz","ms"],Zs={};function pb(e,t){const n=Zs[t];if(n)return n;let a=ht(t);if(a!=="filter"&&a in e)return Zs[t]=a;a=Wo(a);for(let r=0;rQs||(gb.then(()=>Qs=0),Qs=Date.now());function _b(e,t){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;const r=n.value;if(Te(r)){const l=a.stopImmediatePropagation;a.stopImmediatePropagation=()=>{l.call(a),a._stopped=!0};const o=r.slice(),s=[a];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xb=(e,t,n,a,r,l)=>{const o=r==="svg";t==="class"?ub(e,a,o):t==="style"?fb(e,n,a):Uo(t)?zo(t)||mb(e,t,n,a,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wb(e,t,a,o))?(vd(e,t,a),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&pd(e,t,a,o,l,t!=="value")):e._isVueCE&&(kb(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!rt(a)))?vd(e,ht(t),a,l,t):(t==="true-value"?e._trueValue=a:t==="false-value"&&(e._falseValue=a),pd(e,t,a,o))};function wb(e,t,n,a){if(a)return!!(t==="innerHTML"||t==="textContent"||t in e&&yd(t)&&Be(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yd(t)&&rt(n)?!1:t in e}function kb(e,t){const n=e._def.props;if(!n)return!1;const a=ht(t);return Array.isArray(n)?n.some(r=>ht(r)===a):Object.keys(n).some(r=>ht(r)===a)}const Sv=new WeakMap,Ev=new WeakMap,So=Symbol("_moveCb"),gd=Symbol("_enterCb"),$b=e=>(delete e.props.mode,e),Cb=$b({name:"TransitionGroup",props:ut({},lb,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=$n(),a=lg();let r,l;return Ru(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Pb(r[0].el,n.vnode.el,o)){r=[];return}r.forEach(Eb),r.forEach(Ab);const s=r.filter(Db);Ji(n.vnode.el),s.forEach(i=>{const c=i.el,d=c.style;un(c,o),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[So]=p=>{p&&p.target!==c||(!p||p.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[So]=null,na(c,o))};c.addEventListener("transitionend",f)}),r=[]}),()=>{const o=Je(e),s=ob(o);let i=o.tag||_e;if(r=[],l)for(let c=0;c{s.split(/\s+/).forEach(i=>i&&a.classList.remove(i))}),n.split(/\s+/).forEach(s=>s&&a.classList.add(s)),a.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(a);const{hasTransform:o}=$v(a);return l.removeChild(a),o}const bd=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Te(t)?n=>io(t,n):t};function Ob(e){e.target.composing=!0}function _d(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Xs=Symbol("_assign");function xd(e,t,n){return t&&(e=e.trim()),n&&(e=Eu(e)),e}const Eo={created(e,{modifiers:{lazy:t,trim:n,number:a}},r){e[Xs]=bd(r);const l=a||r.props&&r.props.type==="number";tr(e,t?"change":"input",o=>{o.target.composing||e[Xs](xd(e.value,n,l))}),(n||l)&&tr(e,"change",()=>{e.value=xd(e.value,n,l)}),t||(tr(e,"compositionstart",Ob),tr(e,"compositionend",_d),tr(e,"change",_d))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:r,number:l}},o){if(e[Xs]=bd(o),e.composing)return;const s=(l||e.type==="number")&&!/^0\d/.test(e.value)?Eu(e.value):e.value,i=t??"";if(s===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(a&&t===n||r&&e.value.trim()===i)||(e.value=i)}},Mb=["ctrl","shift","alt","meta"],Tb={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Mb.some(n=>e[`${n}Key`]&&!t.includes(n))},pt=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=((r,...l)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=(r=>{if(!("key"in r))return;const l=ba(r.key);if(t.some(o=>o===l||Rb[o]===l))return e(r)}))},qb=ut({patchProp:xb},rb);let wd;function Ib(){return wd||(wd=Ng(qb))}const Fb=((...e)=>{const t=Ib().createApp(...e),{mount:n}=t;return t.mount=a=>{const r=Nb(a);if(!r)return;const l=t._component;!Be(l)&&!l.render&&!l.template&&(l.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Bb(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Bb(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Nb(e){return rt(e)?document.querySelector(e):e}const nr=typeof document<"u";function Dv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Vb(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Dv(e.default)}const Qe=Object.assign;function ei(e,t){const n={};for(const a in t){const r=t[a];n[a]=nn(r)?r.map(e):e(r)}return n}const rl=()=>{},nn=Array.isArray;function kd(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}const Pv=Symbol("");function gr(e,t){return Qe(new Error,{type:e,[Pv]:!0},t)}function En(e,t){return e instanceof Error&&Pv in e&&(t==null||!!(e.type&t))}const Nu=Symbol(""),$d=Symbol(""),ss=Symbol(""),Vu=Symbol(""),Qi=Symbol("");function Ar(){return st(ss)}function rn(e){return st(Vu)}const Ov=/#/g,Lb=/&/g,jb=/\//g,Ub=/=/g,zb=/\?/g,Mv=/\+/g,Hb=/%5B/g,Kb=/%5D/g,Tv=/%5E/g,Wb=/%60/g,Rv=/%7B/g,Gb=/%7C/g,qv=/%7D/g,Yb=/%20/g;function Lu(e){return e==null?"":encodeURI(""+e).replace(Gb,"|").replace(Hb,"[").replace(Kb,"]")}function Jb(e){return Lu(e).replace(Rv,"{").replace(qv,"}").replace(Tv,"^")}function Xi(e){return Lu(e).replace(Mv,"%2B").replace(Yb,"+").replace(Ov,"%23").replace(Lb,"%26").replace(Wb,"`").replace(Rv,"{").replace(qv,"}").replace(Tv,"^")}function Zb(e){return Xi(e).replace(Ub,"%3D")}function Qb(e){return Lu(e).replace(Ov,"%23").replace(zb,"%3F")}function Xb(e){return Qb(e).replace(jb,"%2F")}function Ao(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const e1=/\/$/,t1=e=>e.replace(e1,"");function ti(e,t,n="/"){let a,r={},l="",o="";const s=t.indexOf("#");let i=t.indexOf("?");return i=s>=0&&i>s?-1:i,i>=0&&(a=t.slice(0,i),l=t.slice(i,s>0?s:t.length),r=e(l.slice(1))),s>=0&&(a=a||t.slice(0,s),o=t.slice(s,t.length)),a=l1(a??t,n),{fullPath:a+l+o,path:a,query:r,hash:Ao(o)}}function n1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Cd(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function a1(e,t,n){const a=t.matched.length-1,r=n.matched.length-1;return a>-1&&a===r&&br(t.matched[a],n.matched[r])&&Iv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function br(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Iv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!r1(e[n],t[n]))return!1;return!0}function r1(e,t){return nn(e)?Sd(e,t):nn(t)?Sd(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Sd(e,t){return nn(t)?e.length===t.length&&e.every((n,a)=>n===t[a]):e.length===1&&e[0]===t}function l1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),a=e.split("/"),r=a[a.length-1];(r===".."||r===".")&&a.push("");let l=n.length-1,o,s;for(o=0;o1&&l--;else break;return n.slice(0,l).join("/")+"/"+a.slice(o).join("/")}const Xn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function o1(e){if(!e)if(nr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),t1(e)}const s1=/^[^#]+#/;function i1(e,t){return e.replace(s1,"#")+t}function u1(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}const is=()=>({left:window.scrollX,top:window.scrollY});function c1(e){let t;if("el"in e){const n=e.el,a=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=u1(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ed(e,t){return(history.state?history.state.position-t:-1)+e}const eu=new Map;function d1(e,t){eu.set(e,t)}function f1(e){const t=eu.get(e);return eu.delete(e),t}function p1(e){return typeof e=="string"||e&&typeof e=="object"}function Fv(e){return typeof e=="string"||typeof e=="symbol"}function v1(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let a=0;ar&&Xi(r)):[a&&Xi(a)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function h1(e){const t={};for(const n in e){const a=e[n];a!==void 0&&(t[n]=nn(a)?a.map(r=>r==null?null:""+r):a==null?a:""+a)}return t}function Vr(){let e=[];function t(a){return e.push(a),()=>{const r=e.indexOf(a);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bv(e,t,n){const a=e.value;if(!a)return;let r=a;const l=()=>{r[t].delete(n)};Er(l),Jp(l),Yp(()=>{const o=e.value;o&&(r=o),r[t].add(n)}),r[t].add(n)}function m1(e){Bv(st(Nu,{}),"leaveGuards",e)}function y1(e){Bv(st(Nu,{}),"updateGuards",e)}function la(e,t,n,a,r,l=o=>o()){const o=a&&(a.enterCallbacks[r]=a.enterCallbacks[r]||[]);return()=>new Promise((s,i)=>{const c=p=>{p===!1?i(gr(4,{from:n,to:t})):p instanceof Error?i(p):p1(p)?i(gr(2,{from:t,to:p})):(o&&a.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),s())},d=l(()=>e.call(a&&a.instances[r],t,n,c));let f=Promise.resolve(d);e.length<3&&(f=f.then(c)),f.catch(p=>i(p))})}function ni(e,t,n,a,r=l=>l()){const l=[];for(const o of e)for(const s in o.components){let i=o.components[s];if(!(t!=="beforeRouteEnter"&&!o.instances[s]))if(Dv(i)){const c=(i.__vccOpts||i)[t];c&&l.push(la(c,n,a,o,s,r))}else{let c=i();l.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${s}" at "${o.path}"`);const f=Vb(d)?d.default:d;o.mods[s]=d,o.components[s]=f;const p=(f.__vccOpts||f)[t];return p&&la(p,n,a,o,s,r)()}))}}return l}function g1(e,t){const n=[],a=[],r=[],l=Math.max(t.matched.length,e.matched.length);for(let o=0;obr(c,s))?a.push(s):n.push(s));const i=e.matched[o];i&&(t.matched.find(c=>br(c,i))||r.push(i))}return[n,a,r]}let b1=()=>location.protocol+"//"+location.host;function Nv(e,t){const{pathname:n,search:a,hash:r}=t,l=e.indexOf("#");if(l>-1){let o=r.includes(e.slice(l))?e.slice(l).length:1,s=r.slice(o);return s[0]!=="/"&&(s="/"+s),Cd(s,"")}return Cd(n,e)+a+r}function _1(e,t,n,a){let r=[],l=[],o=null;const s=({state:p})=>{const v=Nv(e,location),m=n.value,g=t.value;let _=0;if(p){if(n.value=v,t.value=p,o&&o===m){o=null;return}_=g?p.position-g.position:0}else a(v);r.forEach(y=>{y(n.value,m,{delta:_,type:"pop",direction:_?_>0?"forward":"back":""})})};function i(){o=n.value}function c(p){r.push(p);const v=()=>{const m=r.indexOf(p);m>-1&&r.splice(m,1)};return l.push(v),v}function d(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Qe({},p.state,{scroll:is()}),"")}}function f(){for(const p of l)p();l=[],window.removeEventListener("popstate",s),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",s),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:i,listen:c,destroy:f}}function Dd(e,t,n,a=!1,r=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:r?is():null}}function x1(e){const{history:t,location:n}=window,a={value:Nv(e,n)},r={value:t.state};r.value||l(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,c,d){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+i:b1()+e+i;try{t[d?"replaceState":"pushState"](c,"",p),r.value=c}catch(v){console.error(v),n[d?"replace":"assign"](p)}}function o(i,c){l(i,Qe({},t.state,Dd(r.value.back,i,r.value.forward,!0),c,{position:r.value.position}),!0),a.value=i}function s(i,c){const d=Qe({},r.value,t.state,{forward:i,scroll:is()});l(d.current,d,!0),l(i,Qe({},Dd(a.value,i,null),{position:d.position+1},c),!1),a.value=i}return{location:a,state:r,push:s,replace:o}}function w1(e){e=o1(e);const t=x1(e),n=_1(e,t.state,t.location,t.replace);function a(l,o=!0){o||n.pauseListeners(),history.go(l)}const r=Qe({location:"",base:e,go:a,createHref:i1.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}const k1={type:0,value:""},$1=/[a-zA-Z0-9_]/;function C1(e){if(!e)return[[]];if(e==="/")return[[k1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,a=n;const r=[];let l;function o(){l&&r.push(l),l=[]}let s=0,i,c="",d="";function f(){c&&(n===0?l.push({type:0,value:c}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:c,regexp:d,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Vv(e,t){let n=0;const a=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const P1={strict:!1,end:!0,sensitive:!1};function O1(e,t,n){const a=A1(C1(e.path),n),r=Qe(a,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function M1(e,t){const n=[],a=new Map;t=kd(P1,t);function r(f){return a.get(f)}function l(f,p,v){const m=!v,g=Td(f);g.aliasOf=v&&v.record;const _=kd(t,f),y=[g];if("alias"in f){const A=typeof f.alias=="string"?[f.alias]:f.alias;for(const V of A)y.push(Td(Qe({},g,{components:v?v.record.components:g.components,path:V,aliasOf:v?v.record:g})))}let x,S;for(const A of y){const{path:V}=A;if(p&&V[0]!=="/"){const J=p.record.path,U=J[J.length-1]==="/"?"":"/";A.path=p.record.path+(V&&U+V)}if(x=O1(A,p,_),v?v.alias.push(x):(S=S||x,S!==x&&S.alias.push(x),m&&f.name&&!Rd(x)&&o(f.name)),Lv(x)&&i(x),g.children){const J=g.children;for(let U=0;U{o(S)}:rl}function o(f){if(Fv(f)){const p=a.get(f);p&&(a.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&a.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function s(){return n}function i(f){const p=q1(f,n);n.splice(p,0,f),f.record.name&&!Rd(f)&&a.set(f.record.name,f)}function c(f,p){let v,m={},g,_;if("name"in f&&f.name){if(v=a.get(f.name),!v)throw gr(1,{location:f});_=v.record.name,m=Qe(Md(p.params,v.keys.filter(S=>!S.optional).concat(v.parent?v.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),f.params&&Md(f.params,v.keys.map(S=>S.name))),g=v.stringify(m)}else if(f.path!=null)g=f.path,v=n.find(S=>S.re.test(g)),v&&(m=v.parse(g),_=v.record.name,v.keys.forEach(S=>{S.optional&&!m[S.name]&&delete m[S.name]}));else{if(v=p.name?a.get(p.name):n.find(S=>S.re.test(p.path)),!v)throw gr(1,{location:f,currentLocation:p});_=v.record.name,m=Qe({},p.params,f.params),g=v.stringify(m)}const y=[];let x=v;for(;x;)y.unshift(x.record),x=x.parent;return{name:_,path:g,params:m,matched:y,meta:R1(y)}}e.forEach(f=>l(f));function d(){n.length=0,a.clear()}return{addRoute:l,resolve:c,removeRoute:o,clearRoutes:d,getRoutes:s,getRecordMatcher:r}}function Md(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function Td(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:T1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function T1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]=typeof n=="object"?n[a]:n;return t}function Rd(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function R1(e){return e.reduce((t,n)=>Qe(t,n.meta),{})}function q1(e,t){let n=0,a=t.length;for(;n!==a;){const l=n+a>>1;Vv(e,t[l])<0?a=l:n=l+1}const r=I1(e);return r&&(a=t.lastIndexOf(r,a-1)),a}function I1(e){let t=e;for(;t=t.parent;)if(Lv(t)&&Vv(e,t)===0)return t}function Lv({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qd(e){const t=st(ss),n=st(Vu),a=w(()=>{const i=u(e.to);return t.resolve(i)}),r=w(()=>{const{matched:i}=a.value,{length:c}=i,d=i[c-1],f=n.matched;if(!d||!f.length)return-1;const p=f.findIndex(br.bind(null,d));if(p>-1)return p;const v=Id(i[c-2]);return c>1&&Id(d)===v&&f[f.length-1].path!==v?f.findIndex(br.bind(null,i[c-2])):p}),l=w(()=>r.value>-1&&N1(n.params,a.value.params)),o=w(()=>r.value>-1&&r.value===n.matched.length-1&&Iv(n.params,a.value.params));function s(i={}){if(B1(i)){const c=t[u(e.replace)?"replace":"push"](u(e.to)).catch(rl);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:a,href:w(()=>a.value.href),isActive:l,isExactActive:o,navigate:s}}function F1(e){return e.length===1?e[0]:e}const _n=ee({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:qd,setup(e,{slots:t}){const n=Zt(qd(e)),{options:a}=st(ss),r=w(()=>({[Fd(e.activeClass,a.linkActiveClass,"router-link-active")]:n.isActive,[Fd(e.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&F1(t.default(n));return e.custom?l:Kt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},l)}}});function B1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function N1(e,t){for(const n in t){const a=t[n],r=e[n];if(typeof a=="string"){if(a!==r)return!1}else if(!nn(r)||r.length!==a.length||a.some((l,o)=>l.valueOf()!==r[o].valueOf()))return!1}return!0}function Id(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Fd=(e,t,n)=>e??t??n,V1=ee({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const a=st(Qi),r=w(()=>e.route||a.value),l=st($d,0),o=w(()=>{let c=u(l);const{matched:d}=r.value;let f;for(;(f=d[c])&&!f.components;)c++;return c}),s=w(()=>r.value.matched[o.value]);Dt($d,w(()=>o.value+1)),Dt(Nu,s),Dt(Qi,r);const i=T();return Fe(()=>[i.value,s.value,e.name],([c,d,f],[p,v,m])=>{d&&(d.instances[f]=c,v&&v!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=v.leaveGuards),d.updateGuards.size||(d.updateGuards=v.updateGuards))),c&&d&&(!v||!br(d,v)||!p)&&(d.enterCallbacks[f]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=r.value,d=e.name,f=s.value,p=f&&f.components[d];if(!p)return Bd(n.default,{Component:p,route:c});const v=f.props[d],m=v?v===!0?c.params:typeof v=="function"?v(c):v:null,_=Kt(p,Qe({},m,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[d]=null)},ref:i}));return Bd(n.default,{Component:_,route:c})||_}}});function Bd(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const tu=V1;function L1(e){const t=M1(e.routes,e),n=e.parseQuery||v1,a=e.stringifyQuery||Ad,r=e.history,l=Vr(),o=Vr(),s=Vr(),i=es(Xn);let c=Xn;nr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=ei.bind(null,Z=>""+Z),f=ei.bind(null,Xb),p=ei.bind(null,Ao);function v(Z,ve){let X,de;return Fv(Z)?(X=t.getRecordMatcher(Z),de=ve):de=Z,t.addRoute(de,X)}function m(Z){const ve=t.getRecordMatcher(Z);ve&&t.removeRoute(ve)}function g(){return t.getRoutes().map(Z=>Z.record)}function _(Z){return!!t.getRecordMatcher(Z)}function y(Z,ve){if(ve=Qe({},ve||i.value),typeof Z=="string"){const E=ti(n,Z,ve.path),Y=t.resolve({path:E.path},ve),M=r.createHref(E.fullPath);return Qe(E,Y,{params:p(Y.params),redirectedFrom:void 0,href:M})}let X;if(Z.path!=null)X=Qe({},Z,{path:ti(n,Z.path,ve.path).path});else{const E=Qe({},Z.params);for(const Y in E)E[Y]==null&&delete E[Y];X=Qe({},Z,{params:f(E)}),ve.params=f(ve.params)}const de=t.resolve(X,ve),ge=Z.hash||"";de.params=d(p(de.params));const b=n1(a,Qe({},Z,{hash:Jb(ge),path:de.path})),C=r.createHref(b);return Qe({fullPath:b,hash:ge,query:a===Ad?h1(Z.query):Z.query||{}},de,{redirectedFrom:void 0,href:C})}function x(Z){return typeof Z=="string"?ti(n,Z,i.value.path):Qe({},Z)}function S(Z,ve){if(c!==Z)return gr(8,{from:ve,to:Z})}function A(Z){return U(Z)}function V(Z){return A(Qe(x(Z),{replace:!0}))}function J(Z,ve){const X=Z.matched[Z.matched.length-1];if(X&&X.redirect){const{redirect:de}=X;let ge=typeof de=="function"?de(Z,ve):de;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=x(ge):{path:ge},ge.params={}),Qe({query:Z.query,hash:Z.hash,params:ge.path!=null?{}:Z.params},ge)}}function U(Z,ve){const X=c=y(Z),de=i.value,ge=Z.state,b=Z.force,C=Z.replace===!0,E=J(X,de);if(E)return U(Qe(x(E),{state:typeof E=="object"?Qe({},ge,E.state):ge,force:b,replace:C}),ve||X);const Y=X;Y.redirectedFrom=ve;let M;return!b&&a1(a,de,X)&&(M=gr(16,{to:Y,from:de}),le(de,de,!0,!1)),(M?Promise.resolve(M):I(Y,de)).catch(K=>En(K)?En(K,2)?K:ie(K):ce(K,Y,de)).then(K=>{if(K){if(En(K,2))return U(Qe({replace:C},x(K.to),{state:typeof K.to=="object"?Qe({},ge,K.to.state):ge,force:b}),ve||Y)}else K=D(Y,de,!0,C,ge);return G(Y,de,K),K})}function H(Z,ve){const X=S(Z,ve);return X?Promise.reject(X):Promise.resolve()}function k(Z){const ve=ue.values().next().value;return ve&&typeof ve.runWithContext=="function"?ve.runWithContext(Z):Z()}function I(Z,ve){let X;const[de,ge,b]=g1(Z,ve);X=ni(de.reverse(),"beforeRouteLeave",Z,ve);for(const E of de)E.leaveGuards.forEach(Y=>{X.push(la(Y,Z,ve))});const C=H.bind(null,Z,ve);return X.push(C),pe(X).then(()=>{X=[];for(const E of l.list())X.push(la(E,Z,ve));return X.push(C),pe(X)}).then(()=>{X=ni(ge,"beforeRouteUpdate",Z,ve);for(const E of ge)E.updateGuards.forEach(Y=>{X.push(la(Y,Z,ve))});return X.push(C),pe(X)}).then(()=>{X=[];for(const E of b)if(E.beforeEnter)if(nn(E.beforeEnter))for(const Y of E.beforeEnter)X.push(la(Y,Z,ve));else X.push(la(E.beforeEnter,Z,ve));return X.push(C),pe(X)}).then(()=>(Z.matched.forEach(E=>E.enterCallbacks={}),X=ni(b,"beforeRouteEnter",Z,ve,k),X.push(C),pe(X))).then(()=>{X=[];for(const E of o.list())X.push(la(E,Z,ve));return X.push(C),pe(X)}).catch(E=>En(E,8)?E:Promise.reject(E))}function G(Z,ve,X){s.list().forEach(de=>k(()=>de(Z,ve,X)))}function D(Z,ve,X,de,ge){const b=S(Z,ve);if(b)return b;const C=ve===Xn,E=nr?history.state:{};X&&(de||C?r.replace(Z.fullPath,Qe({scroll:C&&E&&E.scroll},ge)):r.push(Z.fullPath,ge)),i.value=Z,le(Z,ve,X,C),ie()}let N;function W(){N||(N=r.listen((Z,ve,X)=>{if(!Ce.listening)return;const de=y(Z),ge=J(de,Ce.currentRoute.value);if(ge){U(Qe(ge,{replace:!0,force:!0}),de).catch(rl);return}c=de;const b=i.value;nr&&d1(Ed(b.fullPath,X.delta),is()),I(de,b).catch(C=>En(C,12)?C:En(C,2)?(U(Qe(x(C.to),{force:!0}),de).then(E=>{En(E,20)&&!X.delta&&X.type==="pop"&&r.go(-1,!1)}).catch(rl),Promise.reject()):(X.delta&&r.go(-X.delta,!1),ce(C,de,b))).then(C=>{C=C||D(de,b,!1),C&&(X.delta&&!En(C,8)?r.go(-X.delta,!1):X.type==="pop"&&En(C,20)&&r.go(-1,!1)),G(de,b,C)}).catch(rl)}))}let B=Vr(),Q=Vr(),ne;function ce(Z,ve,X){ie(Z);const de=Q.list();return de.length?de.forEach(ge=>ge(Z,ve,X)):console.error(Z),Promise.reject(Z)}function te(){return ne&&i.value!==Xn?Promise.resolve():new Promise((Z,ve)=>{B.add([Z,ve])})}function ie(Z){return ne||(ne=!Z,W(),B.list().forEach(([ve,X])=>Z?X(Z):ve()),B.reset()),Z}function le(Z,ve,X,de){const{scrollBehavior:ge}=e;if(!nr||!ge)return Promise.resolve();const b=!X&&f1(Ed(Z.fullPath,0))||(de||!X)&&history.state&&history.state.scroll||null;return ze().then(()=>ge(Z,ve,b)).then(C=>C&&c1(C)).catch(C=>ce(C,Z,ve))}const re=Z=>r.go(Z);let we;const ue=new Set,Ce={currentRoute:i,listening:!0,addRoute:v,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:g,resolve:y,options:e,push:A,replace:V,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:l.add,beforeResolve:o.add,afterEach:s.add,onError:Q.add,isReady:te,install(Z){Z.component("RouterLink",_n),Z.component("RouterView",tu),Z.config.globalProperties.$router=Ce,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>u(i)}),nr&&!we&&i.value===Xn&&(we=!0,A(r.location).catch(de=>{}));const ve={};for(const de in Xn)Object.defineProperty(ve,de,{get:()=>i.value[de],enumerable:!0});Z.provide(ss,Ce),Z.provide(Vu,Rp(ve)),Z.provide(Qi,i);const X=Z.unmount;ue.add(Z),Z.unmount=function(){ue.delete(Z),ue.size<1&&(c=Xn,N&&N(),N=null,i.value=Xn,we=!1,ne=!1),X()}}};function pe(Z){return Z.reduce((ve,X)=>ve.then(()=>k(X)),Promise.resolve())}return Ce}const Nd=e=>e==="";const j1=(...e)=>e.filter((t,n,a)=>!!t&&t.trim()!==""&&a.indexOf(t)===n).join(" ").trim();const Vd=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const U1=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,a)=>a?a.toUpperCase():n.toLowerCase());const z1=e=>{const t=U1(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Wa={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const H1=Symbol("lucide-icons");function K1(){return st(H1,{})}const W1=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":a,strokeWidth:r,"stroke-width":l,size:o,color:s,...i},{slots:c})=>{const{size:d,color:f,strokeWidth:p=2,absoluteStrokeWidth:v=!1,class:m=""}=K1(),g=w(()=>{const _=Nd(n)||Nd(a)||n===!0||a===!0||v===!0,y=r||l||p||Wa["stroke-width"];return _?Number(y)*24/Number(o??d??Wa.width):y});return Kt("svg",{...Wa,...i,width:o??d??Wa.width,height:o??d??Wa.height,stroke:s??f??Wa.stroke,"stroke-width":g.value,class:j1("lucide",m,...e?[`lucide-${Vd(z1(e))}-icon`,`lucide-${Vd(e)}`]:["lucide-icon"])},[...t.map(_=>Kt(..._)),...c.default?[c.default()]:[]])};const Pe=(e,t)=>(n,{slots:a,attrs:r})=>Kt(W1,{...r,...n,iconNode:t,name:e},a.default?{default:a.default}:void 0);const G1=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],Y1=Pe("archive",G1);const J1=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],jv=Pe("arrow-down",J1);const Z1=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],us=Pe("arrow-left",Z1);const Q1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],X1=Pe("arrow-right",Q1);const e0=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],Uv=Pe("arrow-up-right",e0);const t0=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],zv=Pe("arrow-up",t0);const n0=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],a0=Pe("calendar",n0);const r0=[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["circle",{cx:"8",cy:"10",r:"2",key:"1xl4ub"}],["path",{d:"M8 12h8",key:"1wcyev"}],["circle",{cx:"16",cy:"10",r:"2",key:"r14t7q"}],["path",{d:"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3",key:"l01ucn"}]],l0=Pe("cassette-tape",r0);const o0=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],_r=Pe("check",o0);const s0=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Pl=Pe("chevron-down",s0);const i0=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],cs=Pe("chevron-left",i0);const u0=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ol=Pe("chevron-right",u0);const c0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Bt=Pe("circle-alert",c0);const d0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],f0=Pe("circle",d0);const p0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],Ld=Pe("clock",p0);const v0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M6 12c0-1.7.7-3.2 1.8-4.2",key:"oqkarx"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M18 12c0 1.7-.7 3.2-1.8 4.2",key:"1eah9h"}]],h0=Pe("disc-3",v0);const m0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],y0=Pe("disc",m0);const g0=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],jd=Pe("download",g0);const b0=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],_0=Pe("eye-off",b0);const x0=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],w0=Pe("eye",x0);const k0=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Yr=Pe("file-text",k0);const $0=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Ud=Pe("grip-vertical",$0);const C0=[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]],zd=Pe("image-off",C0);const S0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],E0=Pe("image",S0);const A0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],D0=Pe("info",A0);const P0=[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]],O0=Pe("library",P0);const M0=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],T0=Pe("list",M0);const R0=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],co=Pe("loader-circle",R0);const q0=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Hv=Pe("log-out",q0);const I0=[["path",{d:"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12",key:"80a601"}],["path",{d:"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5",key:"j0ngtp"}],["circle",{cx:"16",cy:"7",r:"5",key:"d08jfb"}]],F0=Pe("mic-vocal",I0);const B0=[["path",{d:"M5 12h14",key:"1ays0h"}]],Kv=Pe("minus",B0);const N0=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],V0=Pe("palette",N0);const L0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],Wv=Pe("panel-left-close",L0);const j0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],Gv=Pe("panel-left-open",j0);const U0=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],fo=Pe("pencil",U0);const z0=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ju=Pe("plus",z0);const H0=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],Yv=Pe("puzzle",H0);const K0=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],ai=Pe("rotate-ccw",K0);const W0=[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],Jv=Pe("search-x",W0);const G0=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],ds=Pe("search",G0);const Y0=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Zv=Pe("settings",Y0);const J0=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Z0=Pe("shield-check",J0);const Q0=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],X0=Pe("sliders-horizontal",Q0);const e_=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],t_=Pe("square",e_);const n_=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Uu=Pe("sun",n_);const a_=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],r_=Pe("tags",a_);const l_=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Ml=Pe("trash-2",l_);const o_=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],ri=Pe("upload",o_);const s_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],Qv=Pe("user-minus",s_);const i_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],Xv=Pe("user-plus",i_);const u_=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],c_=Pe("user",u_);const d_=[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]],f_=Pe("users-round",d_);const p_=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],v_=Pe("users",p_);const h_=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Wt=Pe("x",h_),m_=/\{[^{}]+\}/g,y_=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function g_(){return Math.random().toString(36).slice(2,11)}function b_(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:a=globalThis.fetch,querySerializer:r,bodySerializer:l,pathSerializer:o,headers:s,requestInitExt:i=void 0,...c}={...e};i=y_()?i:void 0,t=Wd(t);const d=[];async function f(p,v){const{baseUrl:m,fetch:g=a,Request:_=n,headers:y,params:x={},parseAs:S="json",querySerializer:A,bodySerializer:V=l??x_,pathSerializer:J,body:U,middleware:H=[],...k}=v||{};let I=t;m&&(I=Wd(m)??t);let G=typeof r=="function"?r:Hd(r);A&&(G=typeof A=="function"?A:Hd({...typeof r=="object"?r:{},...A}));const D=J||o||__,N=U===void 0?void 0:V(U,Kd(s,y,x.header)),W=Kd(N===void 0||N instanceof FormData?{}:{"Content-Type":"application/json"},s,y,x.header),B=[...d,...H],Q={redirect:"follow",...c,...k,body:N,headers:W};let ne,ce,te=new _(w_(p,{baseUrl:I,params:x,querySerializer:G,pathSerializer:D}),Q),ie;for(const we in k)we in te||(te[we]=k[we]);if(B.length){ne=g_(),ce=Object.freeze({baseUrl:I,fetch:g,parseAs:S,querySerializer:G,bodySerializer:V,pathSerializer:D});for(const we of B)if(we&&typeof we=="object"&&typeof we.onRequest=="function"){const ue=await we.onRequest({request:te,schemaPath:p,params:x,options:ce,id:ne});if(ue)if(ue instanceof _)te=ue;else if(ue instanceof Response){ie=ue;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!ie){try{ie=await g(te,i)}catch(we){let ue=we;if(B.length)for(let Ce=B.length-1;Ce>=0;Ce--){const pe=B[Ce];if(pe&&typeof pe=="object"&&typeof pe.onError=="function"){const Z=await pe.onError({request:te,error:ue,schemaPath:p,params:x,options:ce,id:ne});if(Z){if(Z instanceof Response){ue=void 0,ie=Z;break}if(Z instanceof Error){ue=Z;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(ue)throw ue}if(B.length)for(let we=B.length-1;we>=0;we--){const ue=B[we];if(ue&&typeof ue=="object"&&typeof ue.onResponse=="function"){const Ce=await ue.onResponse({request:te,response:ie,schemaPath:p,params:x,options:ce,id:ne});if(Ce){if(!(Ce instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");ie=Ce}}}}const le=ie.headers.get("Content-Length");if(ie.status===204||te.method==="HEAD"||le==="0"&&!ie.headers.get("Transfer-Encoding")?.includes("chunked"))return ie.ok?{data:void 0,response:ie}:{error:void 0,response:ie};if(ie.ok)return{data:await(async()=>{if(S==="stream")return ie.body;if(S==="json"&&!le){const ue=await ie.text();return ue?JSON.parse(ue):void 0}return await ie[S]()})(),response:ie};let re=await ie.text();try{re=JSON.parse(re)}catch{}return{error:re,response:ie}}return{request(p,v,m){return f(v,{...m,method:p.toUpperCase()})},GET(p,v){return f(p,{...v,method:"GET"})},PUT(p,v){return f(p,{...v,method:"PUT"})},POST(p,v){return f(p,{...v,method:"POST"})},DELETE(p,v){return f(p,{...v,method:"DELETE"})},OPTIONS(p,v){return f(p,{...v,method:"OPTIONS"})},HEAD(p,v){return f(p,{...v,method:"HEAD"})},PATCH(p,v){return f(p,{...v,method:"PATCH"})},TRACE(p,v){return f(p,{...v,method:"TRACE"})},use(...p){for(const v of p)if(v){if(typeof v!="object"||!("onRequest"in v||"onResponse"in v||"onError"in v))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");d.push(v)}},eject(...p){for(const v of p){const m=d.indexOf(v);m!==-1&&d.splice(m,1)}}}}function fs(e,t,n){if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function eh(e,t,n){if(!t||typeof t!="object")return"";const a=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if(n.style!=="deepObject"&&n.explode===!1){for(const s in t)a.push(s,n.allowReserved===!0?t[s]:encodeURIComponent(t[s]));const o=a.join(",");switch(n.style){case"form":return`${e}=${o}`;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return o}}for(const o in t){const s=n.style==="deepObject"?`${e}[${o}]`:o;a.push(fs(s,t[o],n))}const l=a.join(r);return n.style==="label"||n.style==="matrix"?`${r}${l}`:l}function th(e,t,n){if(!Array.isArray(t))return"";if(n.explode===!1){const l={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",o=(n.allowReserved===!0?t:t.map(s=>encodeURIComponent(s))).join(l);switch(n.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return`${e}=${o}`}}const a={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const l of t)n.style==="simple"||n.style==="label"?r.push(n.allowReserved===!0?l:encodeURIComponent(l)):r.push(fs(e,l,n));return n.style==="label"||n.style==="matrix"?`${a}${r.join(a)}`:r.join(a)}function Hd(e){return function(n){const a=[];if(n&&typeof n=="object")for(const r in n){const l=n[r];if(l!=null){if(Array.isArray(l)){if(l.length===0)continue;a.push(th(r,l,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof l=="object"){a.push(eh(r,l,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}a.push(fs(r,l,e))}}return a.join("&")}}function __(e,t){let n=e;for(const a of e.match(m_)??[]){let r=a.substring(1,a.length-1),l=!1,o="simple";if(r.endsWith("*")&&(l=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(o="label",r=r.substring(1)):r.startsWith(";")&&(o="matrix",r=r.substring(1)),!t||t[r]===void 0||t[r]===null)continue;const s=t[r];if(Array.isArray(s)){n=n.replace(a,th(r,s,{style:o,explode:l}));continue}if(typeof s=="object"){n=n.replace(a,eh(r,s,{style:o,explode:l}));continue}if(o==="matrix"){n=n.replace(a,`;${fs(r,s)}`);continue}n=n.replace(a,o==="label"?`.${encodeURIComponent(s)}`:encodeURIComponent(s))}return n}function x_(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(e).toString():JSON.stringify(e)}function w_(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let a=t.querySerializer(t.params.query??{});return a.startsWith("?")&&(a=a.substring(1)),a&&(n+=`?${a}`),n}function Kd(...e){const t=new Headers;for(const n of e){if(!n||typeof n!="object")continue;const a=n instanceof Headers?n.entries():Object.entries(n);for(const[r,l]of a)if(l===null)t.delete(r);else if(Array.isArray(l))for(const o of l)t.append(r,o);else l!==void 0&&t.set(r,l)}return t}function Wd(e){return e.endsWith("/")?e.substring(0,e.length-1):e}const Gd="/backend",k_="__SUMMER_ADMIN_BASE__";function $_(e=document){const t=e.querySelector('meta[name="summer-admin-base"]')?.content.trim()??"";if(t===""||t===k_||!t.startsWith("/"))return Gd;const n=t.replace(/\/+$/,"");return n===""?Gd:n}const Yd=$_(),ps={base:Yd,api:`${Yd}/api/v1`},nh="XMLHttpRequest";let Do=null,ah=null,Lr=null;const li=new WeakMap;function C_(e){Do=e}function S_(){Do?.()}function E_(e){ah=e}function A_(e){return new URL(e.url,"http://local").pathname}function Jd(e){const t=A_(e);return t.endsWith("/auth/login")||t.endsWith("/auth/refresh")}function zu(){return Lr||(Lr=(async()=>{try{const{data:e,response:t}=await Me.POST("/auth/refresh");if(!t.ok||!e)return!1;const n=e.data.expires_in;return ah?.(typeof n=="number"?n:null),!0}catch{return!1}finally{Lr=null}})(),Lr)}const D_={onRequest({request:e}){return e.headers.set("X-Requested-With",nh),Jd(e)||li.set(e,e.clone()),e},async onResponse({request:e,response:t}){if(t.status!==401||Jd(e))return t;const n=li.get(e);if(li.delete(e),!n||!await zu())return Do?.(),t;const a=await globalThis.fetch(n);return a.status===401&&Do?.(),a}},Me=b_({baseUrl:ps.api,credentials:"same-origin",fetch:e=>globalThis.fetch(e)});Me.use(D_);const Hu=T({}),Ku=T(typeof document>"u"?"pl":document.documentElement.lang||"pl"),ml=dt(Ku);function P_(e,t){Hu.value=e,t&&(Ku.value=t,typeof document<"u"&&(document.documentElement.lang=t))}async function O_(){const{data:e,response:t}=await Me.GET("/lang");!t.ok||!e||P_(e.data,e.meta.locale)}function Zd(e){const t=e.codePointAt(0);if(t===void 0)return e;const n=String.fromCodePoint(t);return n.toUpperCase()+e.slice(n.length)}function nu(e,t={}){if(e==="")return e;const n=[];for(const[r,l]of Object.entries(t)){const o=r.replace(/^:/,"");if(o==="")continue;const s=String(l);n.push([`:${Zd(o)}`,Zd(s)]),n.push([`:${o.toUpperCase()}`,s.toUpperCase()]),n.push([`:${o}`,s])}n.sort((r,l)=>l[0].length-r[0].length);let a=e;for(const[r,l]of n)a=a.split(r).join(l);return a}const Qd=new Map;function M_(e,t=Ku.value){let n=Qd.get(t);if(n===void 0){try{n=new Intl.PluralRules(t)}catch{n=null}Qd.set(t,n)}return n?n.select(e):"other"}function Ie(e,t,n={}){if(!e)return"";if(t===void 0)return nu(e.other??"",n);const a=e[M_(t)]??e.other??"";return nu(a,{count:t,...n})}function P(e,t={}){const n=Hu.value[e]?.other;return n===void 0?e:nu(n,t)}function xr(e,t,n={}){const a=Hu.value[e];return a?Ie(a,t,n):e}const Xd={archive:Y1,"arrow-down":jv,"arrow-left":us,"arrow-right":X1,"arrow-up":zv,"arrow-up-right":Uv,"cassette-tape":l0,check:_r,"chevron-down":Pl,"chevron-left":cs,"chevron-right":Ol,circle:f0,"circle-alert":Bt,disc:y0,"disc-3":h0,image:E0,library:O0,list:T0,"log-out":Hv,"mic-vocal":F0,minus:Kv,palette:V0,"panel-left-close":Wv,"panel-left-open":Gv,plus:ju,puzzle:Yv,search:ds,"search-x":Jv,settings:Zv,"shield-check":Z0,sun:Uu,tags:r_,"trash-2":Ml,user:c_,"user-minus":Qv,"user-plus":Xv,users:v_,"users-round":f_,x:Wt},T_={"icon-archive":"archive","icon-circle":"circle","icon-list-ul":"list","icon-tags":"tags","icon-user":"user","icon-search":"search","icon-cog":"settings","icon-users":"users"},ef=t_;function oi(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function vs(e){if(!e)return ef;const t=e.trim();return oi(Xd,t)??oi(Xd,oi(T_,t)??"")??ef}const R_=/^[A-Za-z0-9_-]+$/;function hs(e){const t=e.split(".");if(t.length!==3||!t.every(l=>R_.test(l)))return null;const[n,a,r]=t;return{vendor:n,plugin:a,controller:r}}function Un(e){const t=hs(e);return t?`/${t.vendor}/${t.plugin}/${t.controller}`:null}function ms(e){return`${e.vendor}.${e.plugin}.${e.controller}`}function Wu(e){const t=e.replace(/^\/+|\/+$/g,"").split("/");if(t.length<3)return null;const n=t.slice(0,3).join(".");return hs(n)?n:null}function tf(e){const t=hs(e);return t?`${t.vendor}.${t.plugin}`:null}const Po=T([]);async function rh(){const{data:e,response:t}=await Me.GET("/navigation");return Po.value=t.ok&&e?e.data:[],Po.value}function q_(e){Po.value=e}const Oo=w(()=>Po.value.filter(e=>e.sideMenu.length>0).map((e,t)=>({entry:e,index:t})).sort((e,t)=>e.entry.order-t.entry.order||e.index-t.index).map(({entry:e})=>e));function Gu(e){for(const t of e.sideMenu){const n=Un(t.controller);if(n)return n}return Un(e.controller)}function ys(e,t){const n=`${e}.${t}`;return Oo.value.find(a=>tf(a.controller)===n||a.sideMenu.some(r=>tf(r.controller)===n))??null}function I_(){for(const e of Oo.value){const t=Gu(e);if(t)return t}return null}const wr=T([]),F_=w(()=>wr.value.length>0);async function lh(){const{data:e,response:t}=await Me.GET("/settings");return wr.value=t.ok&&e?e.data:[],wr.value}function B_(e){wr.value=e}function au(e){return wr.value.find(t=>t.code===e)??null}const nf=w(()=>{const e=wr.value.map((n,a)=>({entry:n,index:a})).sort((n,a)=>n.entry.order-a.entry.order||n.index-a.index).map(({entry:n})=>n),t=[];for(const n of e){let a=t.find(r=>r.category===n.category);a||(a={category:n.category,entries:[]},t.push(a)),a.entries.push(n)}return t}),oh="summer-admin.sidebar",N_="(max-width: 1099px)",gs=T(!1),ll=T(!1),V_=w(()=>ll.value||gs.value);function sh(){try{return typeof window>"u"?null:window.localStorage}catch{return null}}function L_(){try{return sh()?.getItem(oh)==="true"}catch{return!1}}function ih(e){gs.value=e;try{sh()?.setItem(oh,e?"true":"false")}catch{}}function j_(){if(gs.value=L_(),typeof window>"u"||typeof window.matchMedia!="function")return ll.value=!1,()=>{};const e=window.matchMedia(N_);ll.value=e.matches;const t=n=>{ll.value=n.matches};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}function uh(){return{collapsed:V_,narrow:dt(ll),manual:dt(gs),setCollapsed:ih,watchViewport:j_}}const U_=["id","aria-label"],z_={class:"px-2.5 pt-1 pb-2 text-[14px] font-bold","aria-hidden":"true"},H_=ee({__name:"SectionFlyout",props:{entry:{},id:{}},emits:["escape","leave","navigate"],setup(e,{expose:t,emit:n}){const a=e,r=n,l=rn(),o=T(null),s=w(()=>Wu(l.path)),i=w(()=>a.entry.sideMenu.flatMap(v=>{const m=Un(v.controller);return m?[{item:v,to:m,icon:vs(v.icon),current:s.value===v.controller}]:[]}));function c(){return[...o.value?.querySelectorAll('[role="menuitem"]')??[]]}async function d(){await ze(),c()[0]?.focus()}function f(v){return!!v&&!!o.value?.contains(v)}function p(v){const m=c(),g=m.indexOf(document.activeElement);switch(v.key){case"ArrowDown":v.preventDefault(),m[(g+1)%m.length]?.focus();break;case"ArrowUp":v.preventDefault(),m[(g-1+m.length)%m.length]?.focus();break;case"Home":v.preventDefault(),m[0]?.focus();break;case"End":v.preventDefault(),m[m.length-1]?.focus();break;case"Escape":v.preventDefault(),r("escape");break;case"Tab":r("leave");break}}return t({focusFirst:d,contains:f}),(v,m)=>(h(),$("div",{id:e.id,ref_key:"root",ref:o,role:"menu","data-section-flyout":"","aria-label":e.entry.label,class:"fixed top-3 left-[calc(var(--spacing-rail)+8px)] z-40 flex w-[230px] flex-col gap-0.5 rounded-[14px] border border-border bg-surface p-2 text-text shadow-pop",onKeydown:p},[O("span",z_,R(e.entry.label),1),(h(!0),$(_e,null,Ne(i.value,g=>(h(),j(u(_n),{key:g.item.code,to:g.to,role:"menuitem",tabindex:"-1","aria-current":g.current?"page":void 0,class:xe([g.current?"bg-sel font-semibold text-text":"font-medium text-muted hover:bg-hover hover:text-text","flex h-[38px] items-center gap-3 rounded-tab px-2.5 no-underline transition-colors duration-150 ease-out"]),onClick:m[0]||(m[0]=_=>r("navigate"))},{default:F(()=>[(h(),j(en(g.icon),{size:18,"aria-hidden":"true"})),O("span",null,R(g.item.label),1)]),_:2},1032,["to","aria-current","class"]))),128))],40,U_))}}),K_=["aria-label"],W_={class:"mb-3.5 flex size-10 items-center justify-center rounded-inner bg-accent-soft",title:"SummerCMS"},G_=["aria-label","title"],Y_=200,J_=ee({__name:"PluginRail",setup(e){const t=rn(),{collapsed:n,narrow:a,setCollapsed:r}=uh(),l=w(()=>ys(String(t.params.vendor??""),String(t.params.plugin??""))),o=w(()=>t.path==="/settings"||t.path.startsWith("/settings/")),s=w(()=>Oo.value.map(H=>({entry:H,to:Gu(H)??"/",icon:vs(H.icon),current:l.value?.code===H.code}))),i=T(null),c=T(null),d=w(()=>Oo.value.find(H=>H.code===i.value)??null),f=new Map;let p=null,v=!1;function m(H){return`section-flyout-${H}`}function g(H,k){const I=k?.$el;I instanceof HTMLElement?f.set(H,I):f.delete(H)}function _(){p!==null&&(clearTimeout(p),p=null)}function y(){_(),i.value=null}function x(){_(),p=setTimeout(()=>{p=null;const H=document.activeElement,k=i.value;k!==null&&(f.get(k)===H||c.value?.contains(H))||(i.value=null)},Y_)}function S(H){n.value&&(_(),i.value=H)}function A(H){v||S(H)}async function V(H,k){n.value&&(H.key==="Enter"||H.key==="ArrowDown"?(H.preventDefault(),S(k),await ze(),await c.value?.focusFirst()):H.key==="Escape"&&i.value!==null&&(H.preventDefault(),y()))}function J(){const H=i.value;y(),H!==null&&(v=!0,f.get(H)?.focus(),v=!1)}function U(){r(!1),ze(()=>document.querySelector("[data-sidebar-collapse]")?.focus())}return Fe(n,H=>{H||y()}),qt(_),(H,k)=>(h(),$("nav",{"aria-label":u(P)("backend::lang.nav.plugins"),class:"flex w-rail shrink-0 flex-col items-center gap-1.5 border-r border-side-border bg-side pt-3.5 pb-3"},[O("span",W_,[z(u(Uu),{size:22,class:"text-accent","aria-hidden":"true"})]),(h(!0),$(_e,null,Ne(s.value,I=>(h(),j(u(_n),{key:I.entry.code,ref_for:!0,ref:G=>g(I.entry.code,G),to:I.to,"data-rail-item":I.entry.code,"aria-current":I.current?"page":void 0,"aria-haspopup":u(n)?"menu":void 0,"aria-expanded":u(n)?i.value===I.entry.code?"true":"false":void 0,"aria-controls":u(n)&&i.value===I.entry.code?m(I.entry.code):void 0,class:xe([I.current?"bg-accent-soft font-bold text-accent":"text-side-text hover:bg-side-hover hover:text-white","flex w-[68px] flex-col items-center gap-1 rounded-inner px-1.5 py-2 text-center text-[11px] leading-[1.2] tracking-[-0.01em] no-underline transition-colors duration-150 ease-out"]),onMouseenter:G=>S(I.entry.code),onMouseleave:x,onFocus:G=>A(I.entry.code),onBlur:x,onKeydown:G=>V(G,I.entry.code)},{default:F(()=>[(h(),j(en(I.icon),{size:20,"aria-hidden":"true"})),O("span",null,R(I.entry.label),1)]),_:2},1032,["to","data-rail-item","aria-current","aria-haspopup","aria-expanded","aria-controls","class","onMouseenter","onFocus","onKeydown"]))),128)),u(n)&&d.value?(h(),j(H_,{key:0,id:m(d.value.code),ref_key:"flyout",ref:c,entry:d.value,onMouseenter:_,onMouseleave:x,onFocusin:_,onFocusout:x,onEscape:J,onLeave:x,onNavigate:y},null,8,["id","entry"])):ae("",!0),k[0]||(k[0]=O("span",{class:"flex-1","aria-hidden":"true"},null,-1)),u(n)&&!u(a)?(h(),$("button",{key:1,type:"button","data-sidebar-expand":"","aria-label":u(P)("backend::lang.nav.expand"),title:u(P)("backend::lang.nav.expand"),class:"mb-1 flex size-10 items-center justify-center rounded-inner text-side-text transition-colors duration-150 ease-out hover:bg-side-hover hover:text-white",onClick:U},[z(u(Gv),{size:20,"aria-hidden":"true"})],8,G_)):ae("",!0),u(F_)?(h(),j(u(_n),{key:2,to:"/settings","data-rail-settings":"","aria-current":o.value?"page":void 0,class:xe([o.value?"bg-accent-soft font-bold text-accent":"text-side-text hover:bg-side-hover hover:text-white","flex w-[68px] flex-col items-center gap-1 rounded-inner px-1.5 py-2 text-center text-[11px] leading-[1.2] tracking-[-0.01em] no-underline transition-colors duration-150 ease-out"])},{default:F(()=>[z(u(Zv),{size:20,"aria-hidden":"true"}),O("span",null,R(u(P)("backend::lang.nav.settings")),1)]),_:1},8,["aria-current","class"])):ae("",!0)],8,K_))}}),Z_=["aria-label"],Q_={class:"mb-3.5 flex h-10 items-center justify-between gap-2 pl-2"},X_={class:"truncate text-[16px] font-bold"},ex=["aria-label","title"],tx=ee({__name:"SectionPanel",props:{entry:{}},setup(e){const t=e,n=rn(),a=w(()=>Wu(n.path)),r=w(()=>t.entry.sideMenu.flatMap(o=>{const s=Un(o.controller);return s?[{item:o,to:s,icon:vs(o.icon),current:a.value===o.controller}]:[]}));function l(){ih(!0),ze(()=>document.querySelector("[data-sidebar-expand]")?.focus())}return(o,s)=>(h(),$("aside",{"aria-label":u(P)("backend::lang.nav.sections"),class:"flex w-panel shrink-0 flex-col gap-0.5 border-r border-border bg-surface px-3 py-3.5"},[O("div",Q_,[O("span",X_,R(e.entry.label),1),O("button",{type:"button","data-sidebar-collapse":"","aria-label":u(P)("backend::lang.nav.collapse"),title:u(P)("backend::lang.nav.collapse"),class:"flex size-[30px] shrink-0 items-center justify-center rounded-tab text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:l},[z(u(Wv),{size:18,"aria-hidden":"true"})],8,ex)]),(h(!0),$(_e,null,Ne(r.value,i=>(h(),j(u(_n),{key:i.item.code,to:i.to,"aria-current":i.current?"page":void 0,class:xe([i.current?"bg-sel font-semibold text-text":"font-medium text-muted hover:bg-hover hover:text-text","flex h-nav items-center gap-3 rounded-control px-3 no-underline transition-colors duration-150 ease-out"])},{default:F(()=>[(h(),j(en(i.icon),{size:18,"aria-hidden":"true"})),O("span",null,R(i.item.label),1)]),_:2},1032,["to","aria-current","class"]))),128))],8,Z_))}}),Yu=T(""),af=dt(Yu);function ch(e){Yu.value=e}function dh(){Yu.value=""}const nx=["aria-label"],ax={class:"flex min-w-0 items-center gap-2"},rx=["aria-current"],lx=ee({__name:"Breadcrumbs",setup(e){const t=rn(),n=w(()=>{if(t.name==="settings"||t.name==="settings-form"){const s=[{label:P("backend::lang.nav.settings"),to:"/settings"}],i=t.name==="settings-form"?au(String(t.params.code??"")):null;return i&&s.push({label:i.label}),s}const a=ys(String(t.params.vendor??""),String(t.params.plugin??""));if(!a)return[];const r=[{label:a.label,to:Gu(a)??void 0}],l=Wu(t.path),o=a.sideMenu.find(s=>s.controller===l)??null;return o&&r.push({label:o.label,to:Un(o.controller)??void 0}),(t.name==="record"||t.name==="create")&&af.value!==""&&r.push({label:af.value}),r});return(a,r)=>(h(),$("nav",{"aria-label":u(P)("backend::lang.nav.breadcrumbs"),class:"min-w-0"},[O("ol",ax,[(h(!0),$(_e,null,Ne(n.value,(l,o)=>(h(),$("li",{key:o,"data-crumb":"",class:"flex min-w-0 items-center gap-2"},[o>0?(h(),j(u(Ol),{key:0,size:14,class:"shrink-0 text-muted","aria-hidden":"true"})):ae("",!0),o===n.value.length-1||!l.to?(h(),$("span",{key:1,"aria-current":o===n.value.length-1?"page":void 0,class:xe([o===n.value.length-1?"font-semibold text-text":"text-muted","truncate"])},R(l.label),11,rx)):(h(),j(u(_n),{key:2,to:l.to,class:"truncate text-muted no-underline transition-colors duration-150 ease-out hover:text-text"},{default:F(()=>[$e(R(l.label),1)]),_:2},1032,["to"]))]))),128))])],8,nx))}});function Yl(e,t){let n=e;const a=t.toString(),r=a.indexOf("."),l=r>=0?a.length-r:0;if(l>0){const o=10**l;n=Math.round(n*o)/o}return n}function si(e,t,n,a){t=Number(t),n=Number(n);const r=(e-(Number.isNaN(t)?0:t))%a;let l=Yl(Math.abs(r)*2>=a?e+Math.sign(r)*(a-Math.abs(r)):e-r,a);return Number.isNaN(t)?!Number.isNaN(n)&&l>n&&(l=Math.floor(Yl(n/a,a))*a):ln&&(l=t+Math.floor(Yl((n-t)/a,a))*a),l=Yl(l,a),l}function xt(e,t){const n=typeof e=="string"&&!t?`${e}Context`:t,a=Symbol(n);return[o=>{const s=st(a,o);if(s||s===null)return s;throw new Error(`Injection \`${a.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},o=>(Dt(a,o),o)]}function ft(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function fh(e,t,n){const a=n.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),a.dispatchEvent(r)}function hn(e){return e==null}function ox(e,t){var n;const a=es();return Xt(()=>{a.value=e()},{...t,flush:(n=t?.flush)!==null&&n!==void 0?n:"sync"}),dt(a)}function ph(e,t){return Du()?(yp(e,t),!0):!1}function sx(e){let t=!1,n;const a=mp(!0);return((...r)=>(t||(n=a.run(()=>e(...r)),t=!0),n))}const Wn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ix=e=>typeof e<"u",ux=Object.prototype.toString,cx=e=>ux.call(e)==="[object Object]",rf=dx();function dx(){var e,t,n;return Wn&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function ii(e){return Array.isArray(e)?e:[e]}function fx(e){return $n()}function vh(e){if(!Wn)return e;let t=0,n,a;const r=()=>{t-=1,a&&t<=0&&(a.stop(),n=void 0,a=void 0)};return((...l)=>(t+=1,a||(a=mp(!0),n=a.run(()=>e(...l))),ph(r),n))}function px(e){return Zt(ot(e)?new Proxy({},{get(t,n,a){return u(Reflect.get(e.value,n,a))},set(t,n,a){return ot(e.value[n])&&!ot(a)?e.value[n].value=a:e.value[n]=a,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function vx(e){return px(w(e))}function hx(e,...t){const n=t.flat(),a=n[0];return vx(()=>Object.fromEntries(typeof a=="function"?Object.entries(Lt(e)).filter(([r,l])=>!a(Tt(l),r)):Object.entries(Lt(e)).filter(r=>!n.includes(r[0]))))}function mx(e,t=1e4){return Vy((n,a)=>{let r=Tt(e),l;const o=()=>setTimeout(()=>{r=Tt(e),a()},Tt(t));return ph(()=>{clearTimeout(l)}),{get(){return n(),r},set(s){r=s,a(),clearTimeout(l),l=o()}}})}function yx(e,t){fx()&&qt(e,t)}function gx(e,t,n){return Fe(e,t,{...n,immediate:!0})}const Ju=Wn?window:void 0;function Dr(e){var t;const n=Tt(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Mo(...e){const t=(a,r,l,o)=>(a.addEventListener(r,l,o),()=>a.removeEventListener(r,l,o)),n=w(()=>{const a=ii(Tt(e[0])).filter(r=>r!=null);return a.every(r=>typeof r!="string")?a:void 0});return gx(()=>{var a,r;return[(a=(r=n.value)===null||r===void 0?void 0:r.map(l=>Dr(l)))!==null&&a!==void 0?a:[Ju].filter(l=>l!=null),ii(Tt(n.value?e[1]:e[0])),ii(u(n.value?e[2]:e[1])),Tt(n.value?e[3]:e[2])]},([a,r,l,o],s,i)=>{if(!a?.length||!r?.length||!l?.length)return;const c=cx(o)?{...o}:o,d=a.flatMap(f=>r.flatMap(p=>l.map(v=>t(f,p,v,c))));i(()=>{d.forEach(f=>f())})},{flush:"post"})}function bx(){const e=es(!1),t=$n();return t&&_t(()=>{e.value=!0},t),e}function _x(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function xx(...e){let t,n,a={};e.length===3?(t=e[0],n=e[1],a=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],a=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ju,eventName:l="keydown",passive:o=!1,dedupe:s=!1}=a,i=_x(t);return Mo(r,l,d=>{d.repeat&&Tt(s)||i(d)&&n(d)},o)}function wx(e){return JSON.parse(JSON.stringify(e))}function bt(e,t,n,a={}){var r,l;const{clone:o=!1,passive:s=!1,eventName:i,deep:c=!1,defaultValue:d,shouldEmit:f}=a,p=$n(),v=n||p?.emit||(p==null||(r=p.$emit)===null||r===void 0?void 0:r.bind(p))||(p==null||(l=p.proxy)===null||l===void 0||(l=l.$emit)===null||l===void 0?void 0:l.bind(p?.proxy));let m=i;t||(t="modelValue"),m=m||`update:${t.toString()}`;const g=x=>o?typeof o=="function"?o(x):wx(x):x,_=()=>ix(e[t])?g(e[t]):d,y=x=>{f?f(x)&&v(m,x):v(m,x)};if(s){const x=T(_());let S=!1;return Fe(()=>e[t],A=>{S||(S=!0,x.value=g(A),ze(()=>S=!1))}),Fe(x,A=>{!S&&(A!==e[t]||c)&&y(A)},{deep:c}),x}else return w({get(){return _()},set(x){y(x)}})}function Zu(e){return e?e.flatMap(t=>t.type===_e?Zu(t.children):[t]):[]}const kx=["INPUT","TEXTAREA"];function lf(e,t,n,a={}){if(!t||a.enableIgnoredElement&&kx.includes(t.nodeName))return null;const{arrowKeyOptions:r="both",attributeName:l="[data-reka-collection-item]",itemsArray:o=[],loop:s=!0,dir:i="ltr",preventScroll:c=!0,focus:d=!1}=a,[f,p,v,m,g,_]=[e.key==="ArrowRight",e.key==="ArrowLeft",e.key==="ArrowUp",e.key==="ArrowDown",e.key==="Home",e.key==="End"],y=v||m,x=f||p;if(!g&&!_&&(!y&&!x||r==="vertical"&&x||r==="horizontal"&&y))return null;const S=n?Array.from(n.querySelectorAll(l)):o;if(!S.length)return null;c&&e.preventDefault();let A=null;return x||y?A=hh(S,t,{goForward:y?m:i==="ltr"?f:p,loop:s}):g?A=S.at(0)||null:_&&(A=S.at(-1)||null),d&&A?.focus(),A}function hh(e,t,n,a=e.includes(t)?e.length:e.length+1){if(--a===0)return null;const r=e.indexOf(t);let l;if(r===-1?l=n.goForward?0:e.length-1:l=n.goForward?r+1:r-1,!n.loop&&(l<0||l>=e.length))return null;const o=(l+e.length)%e.length,s=e[o];return s?s.hasAttribute("disabled")&&s.getAttribute("disabled")!=="false"?hh(e,s,n,a):s:null}const[bs]=xt("ConfigProvider");function ui(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function ru(e,t,n=".",a){if(!ui(t))return ru(e,{},n,a);const r={...t};for(const l of Object.keys(e)){if(l==="__proto__"||l==="constructor")continue;const o=e[l];o!=null&&(a&&a(r,l,o,n)||(Array.isArray(o)&&Array.isArray(r[l])?r[l]=[...o,...r[l]]:ui(o)&&ui(r[l])?r[l]=ru(o,r[l],(n?`${n}.`:"")+l.toString(),a):r[l]=o))}return r}function $x(e){return(...t)=>t.reduce((n,a)=>ru(n,a,"",e),{})}const mh=$x(),Cx=vh(()=>{const e=T(new Map),t=T(),n=w(()=>{for(const o of e.value.values())if(o)return!0;return!1}),a=bs({scrollBody:T(!0)});let r=null;const l=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",rf&&r?.(),t.value=void 0};return Fe(n,(o,s)=>{if(!Wn)return;if(!o){s&&l();return}t.value===void 0&&(t.value=document.body.style.overflow);const i=window.innerWidth-document.documentElement.clientWidth,c={padding:i,margin:0},d=a.scrollBody?.value?typeof a.scrollBody.value=="object"?mh({padding:a.scrollBody.value.padding===!0?i:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?i:a.scrollBody.value.margin},c):c:{padding:0,margin:0};i>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty("--scrollbar-width",`${i}px`),document.body.style.overflow="hidden"),rf&&(r=Mo(document,"touchmove",f=>Sx(f),{passive:!1})),ze(()=>{n.value&&(document.body.style.pointerEvents="none",document.body.style.overflow="hidden")})},{immediate:!0,flush:"sync"}),e});function Qu(e){const t=Math.random().toString(36).substring(2,7),n=Cx();n.value.set(t,e??!1);const a=w({get:()=>n.value.get(t)??!1,set:r=>n.value.set(t,r)});return yx(()=>{n.value.delete(t)}),a}function yh(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function cr(e,t){return e-t*Math.floor(e/t)}const gh=1721426;function Ma(e,t,n,a){t=Tl(e,t);let r=t-1,l=-2;return n<=2?l=0:sa(t)&&(l=-1),gh-1+365*r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400)+Math.floor((367*n-362)/12+l+a)}function sa(e){return e%4===0&&(e%100!==0||e%400===0)}function Tl(e,t){return e==="BC"?1-t:t}function _s(e){let t="AD";return e<=0&&(t="BC",e=1-e),[t,e]}const Ex={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class an{fromJulianDay(t){let n=t,a=n-gh,r=Math.floor(a/146097),l=cr(a,146097),o=Math.floor(l/36524),s=cr(l,36524),i=Math.floor(s/1461),c=cr(s,1461),d=Math.floor(c/365),f=r*400+o*100+i*4+d+(o!==4&&d!==4?1:0),[p,v]=_s(f),m=n-Ma(p,v,1,1),g=2;n0&&t===ln()&&!xh())return new Date(e).getTimezoneOffset()*-6e4;let{year:n,month:a,day:r,hour:l,minute:o,second:s}=kh(e,t);return wh(n,a,r,l,o,s,0)-Math.floor(e/1e3)*1e3}const df=new Map;function kh(e,t){let n=df.get(t);n||(n=new Intl.DateTimeFormat("en-US",{timeZone:t,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),df.set(t,n));let a=n.formatToParts(new Date(e)),r={};for(let l of a)l.type!=="literal"&&(r[l.type]=l.value);return{year:r.era==="BC"||r.era==="B"?-r.year+1:+r.year,month:+r.month,day:+r.day,hour:r.hour==="24"?0:+r.hour,minute:+r.minute,second:+r.second}}const ff=864e5;function qx(e,t,n,a){return(n===a?[n]:[n,a]).filter(l=>Ix(e,t,l))}function Ix(e,t,n){let a=kh(n,t);return e.year===a.year&&e.month===a.month&&e.day===a.day&&e.hour===a.hour&&e.minute===a.minute&&e.second===a.second}function Tn(e,t,n="compatible"){let a=xn(e);if(t==="UTC")return kr(a);if(t===ln()&&n==="compatible"&&!xh()){a=Mt(a,new an);let i=new Date,c=Tl(a.era,a.year);return i.setFullYear(c,a.month-1,a.day),i.setHours(a.hour,a.minute,a.second,a.millisecond),i.getTime()}let r=kr(a),l=ou(r-ff,t),o=ou(r+ff,t),s=qx(a,t,r-l,r-o);if(s.length===1)return s[0];if(s.length>1)switch(n){case"compatible":case"earlier":return s[0];case"later":return s[s.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(n){case"earlier":return Math.min(r-l,r-o);case"compatible":case"later":return Math.max(r-l,r-o);case"reject":throw new RangeError("No such absolute time found")}}function $h(e,t,n="compatible"){return new Date(Tn(e,t,n))}function Rn(e,t){let n=ou(e,t),a=new Date(e+n),r=a.getUTCFullYear(),l=a.getUTCMonth()+1,o=a.getUTCDate(),s=a.getUTCHours(),i=a.getUTCMinutes(),c=a.getUTCSeconds(),d=a.getUTCMilliseconds();return new zn(r<1?"BC":"AD",r<1?-r+1:r,l,o,t,n,s,i,c,d)}function Fx(e){return new tt(e.calendar,e.era,e.year,e.month,e.day)}function xn(e,t){let n=0,a=0,r=0,l=0;if("timeZone"in e)({hour:n,minute:a,second:r,millisecond:l}=e);else if("hour"in e&&!t)return e;return t&&({hour:n,minute:a,second:r,millisecond:l}=t),new va(e.calendar,e.era,e.year,e.month,e.day,n,a,r,l)}function Mt(e,t){if(ec(e.calendar,t))return e;let n=t.fromJulianDay(e.calendar.toJulianDay(e)),a=e.copy();return a.calendar=t,a.era=n.era,a.year=n.year,a.month=n.month,a.day=n.day,Ia(a),a}function tc(e,t,n){if(e instanceof zn)return e.timeZone===t?e:ws(e,t);let a=Tn(e,t,n);return Rn(a,t)}function Bx(e){let t=kr(e)-e.offset;return new Date(t)}function ws(e,t){let n=kr(e)-e.offset;return Mt(Rn(n,t),e.calendar)}const jr=36e5;function ks(e,t){let n=e.copy(),a="hour"in n?Ah(n,t):0;su(n,t.years||0),n.calendar.balanceYearMonth&&n.calendar.balanceYearMonth(n,e),n.month+=t.months||0,iu(n),Ch(n),n.day+=(t.weeks||0)*7,n.day+=t.days||0,n.day+=a,Nx(n),n.calendar.balanceDate&&n.calendar.balanceDate(n),n.year<1&&(n.year=1,n.month=1,n.day=1);let r=n.calendar.getYearsInEra(n);if(n.year>r){let o=n.calendar.isInverseEra?.(n);n.year=r,n.month=o?1:n.calendar.getMonthsInYear(n),n.day=o?1:n.calendar.getDaysInMonth(n)}n.month<1&&(n.month=1,n.day=1);let l=n.calendar.getMonthsInYear(n);return n.month>l&&(n.month=l,n.day=n.calendar.getDaysInMonth(n)),n.day=Math.max(1,Math.min(n.calendar.getDaysInMonth(n),n.day)),n}function su(e,t){e.calendar.isInverseEra?.(e)&&(t=-t),e.year+=t}function iu(e){for(;e.month<1;)su(e,-1),e.month+=e.calendar.getMonthsInYear(e);let t=0;for(;e.month>(t=e.calendar.getMonthsInYear(e));)e.month-=t,su(e,1)}function Nx(e){for(;e.day<1;)e.month--,iu(e),e.day+=e.calendar.getDaysInMonth(e);for(;e.day>e.calendar.getDaysInMonth(e);)e.day-=e.calendar.getDaysInMonth(e),e.month++,iu(e)}function Ch(e){e.month=Math.max(1,Math.min(e.calendar.getMonthsInYear(e),e.month)),e.day=Math.max(1,Math.min(e.calendar.getDaysInMonth(e),e.day))}function Ia(e){e.calendar.constrainDate&&e.calendar.constrainDate(e),e.year=Math.max(1,Math.min(e.calendar.getYearsInEra(e),e.year)),Ch(e)}function nc(e){let t={};for(let n in e)typeof e[n]=="number"&&(t[n]=-e[n]);return t}function Sh(e,t){return ks(e,nc(t))}function ac(e,t){let n=e.copy();return t.era!=null&&(n.era=t.era),t.year!=null&&(n.year=t.year),t.month!=null&&(n.month=t.month),t.day!=null&&(n.day=t.day),Ia(n),n}function yl(e,t){let n=e.copy();return t.hour!=null&&(n.hour=t.hour),t.minute!=null&&(n.minute=t.minute),t.second!=null&&(n.second=t.second),t.millisecond!=null&&(n.millisecond=t.millisecond),Eh(n),n}function Vx(e){e.second+=Math.floor(e.millisecond/1e3),e.millisecond=Jl(e.millisecond,1e3),e.minute+=Math.floor(e.second/60),e.second=Jl(e.second,60),e.hour+=Math.floor(e.minute/60),e.minute=Jl(e.minute,60);let t=Math.floor(e.hour/24);return e.hour=Jl(e.hour,24),t}function Eh(e){e.millisecond=Math.max(0,Math.min(e.millisecond,999)),e.second=Math.max(0,Math.min(e.second,59)),e.minute=Math.max(0,Math.min(e.minute,59)),e.hour=Math.max(0,Math.min(e.hour,23))}function Jl(e,t){let n=e%t;return n<0&&(n+=t),n}function Ah(e,t){return e.hour+=t.hours||0,e.minute+=t.minutes||0,e.second+=t.seconds||0,e.millisecond+=t.milliseconds||0,Vx(e)}function Dh(e,t){let n=e.copy();return Ah(n,t),n}function Lx(e,t){return Dh(e,nc(t))}function rc(e,t,n,a){let r=e.copy();switch(t){case"era":{let l=e.calendar.getEras(),o=l.indexOf(e.era);if(o<0)throw new Error("Invalid era: "+e.era);o=qn(o,n,0,l.length-1,a?.round),r.era=l[o],Ia(r);break}case"year":r.calendar.isInverseEra?.(r)&&(n=-n),r.year=qn(e.year,n,-1/0,9999,a?.round),r.year===-1/0&&(r.year=1),r.calendar.balanceYearMonth&&r.calendar.balanceYearMonth(r,e);break;case"month":r.month=qn(e.month,n,1,e.calendar.getMonthsInYear(e),a?.round);break;case"day":r.day=qn(e.day,n,1,e.calendar.getDaysInMonth(e),a?.round);break;default:throw new Error("Unsupported field "+t)}return e.calendar.balanceDate&&e.calendar.balanceDate(r),Ia(r),r}function lc(e,t,n,a){let r=e.copy();switch(t){case"hour":{let l=e.hour,o=0,s=23;if(a?.hourCycle===12){let i=l>=12;o=i?12:0,s=i?23:11}r.hour=qn(l,n,o,s,a?.round);break}case"minute":r.minute=qn(e.minute,n,0,59,a?.round);break;case"second":r.second=qn(e.second,n,0,59,a?.round);break;case"millisecond":r.millisecond=qn(e.millisecond,n,0,999,a?.round);break;default:throw new Error("Unsupported field "+t)}return r}function qn(e,t,n,a,r=!1){if(r){e+=Math.sign(t),e0?e=Math.ceil(e/l)*l:e=Math.floor(e/l)*l,e>a&&(e=n)}else e+=t,ea&&(e=n+(e-a-1));return e}function Ph(e,t){let n;if(t.years!=null&&t.years!==0||t.months!=null&&t.months!==0||t.weeks!=null&&t.weeks!==0||t.days!=null&&t.days!==0){let r=ks(xn(e),{years:t.years,months:t.months,weeks:t.weeks,days:t.days});n=Tn(r,e.timeZone)}else n=kr(e)-e.offset;n+=t.milliseconds||0,n+=(t.seconds||0)*1e3,n+=(t.minutes||0)*6e4,n+=(t.hours||0)*36e5;let a=Rn(n,e.timeZone);return Mt(a,e.calendar)}function jx(e,t){return Ph(e,nc(t))}function Ux(e,t,n,a){switch(t){case"hour":{let r=0,l=23;if(a?.hourCycle===12){let m=e.hour>=12;r=m?12:0,l=m?23:11}let o=xn(e),s=Mt(yl(o,{hour:r}),new an),i=[Tn(s,e.timeZone,"earlier"),Tn(s,e.timeZone,"later")].filter(m=>Rn(m,e.timeZone).day===s.day)[0],c=Mt(yl(o,{hour:l}),new an),d=[Tn(c,e.timeZone,"earlier"),Tn(c,e.timeZone,"later")].filter(m=>Rn(m,e.timeZone).day===c.day).pop(),f=kr(e)-e.offset,p=Math.floor(f/jr),v=f%jr;return f=qn(p,n,Math.floor(i/jr),Math.floor(d/jr),a?.round)*jr+v,Mt(Rn(f,e.timeZone),e.calendar)}case"minute":case"second":case"millisecond":return lc(e,t,n,a);case"era":case"year":case"month":case"day":{let r=rc(xn(e),t,n,a),l=Tn(r,e.timeZone);return Mt(Rn(l,e.timeZone),e.calendar)}default:throw new Error("Unsupported field "+t)}}function zx(e,t,n){let a=xn(e),r=yl(ac(a,t),t);if(r.compare(a)===0)return e;let l=Tn(r,e.timeZone,n);return Mt(Rn(l,e.timeZone),e.calendar)}const Hx=/^(\d{2})(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?$/,Kx=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/,Oh=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;function Wx(e){let t=e.match(Hx);if(!t)throw new Error("Invalid ISO 8601 time string: "+e);return new mn(mt(t[1],0,23),t[2]?mt(t[2],0,59):0,t[3]?mt(t[3],0,59):0,t[4]?mt(t[4],0,1/0)*1e3:0)}function Mh(e){let t=e.match(Kx);if(!t)throw Oh.test(e)?new Error(`Invalid ISO 8601 date string: ${e}. Use parseAbsolute() instead.`):new Error("Invalid ISO 8601 date string: "+e);let n=new tt(mt(t[1],0,9999),mt(t[2],1,12),1);return n.day=mt(t[3],1,n.calendar.getDaysInMonth(n)),n}function pf(e,t){let n=e.match(Oh);if(!n)throw new Error("Invalid ISO 8601 date time string: "+e);let a=mt(n[1],-9999,9999),r=a<1?"BC":"AD",l=new zn(r,a<1?-a+1:a,mt(n[2],1,12),1,t,0,n[4]?mt(n[4],0,23):0,n[5]?mt(n[5],0,59):0,n[6]?mt(n[6],0,59):0,n[7]?mt(n[7],0,1/0)*1e3:0);return l.day=mt(n[3],0,l.calendar.getDaysInMonth(l)),n[8]&&(l.offset=mt(n[8],-23,23)*36e5+mt(n[9]??"0",0,59)*6e4),ws(l,t)}function mt(e,t,n){let a=Number(e);if(an)throw new RangeError(`Value out of range: ${t} <= ${a} <= ${n}`);return a}function Th(e){return`${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${e.millisecond?String(e.millisecond/1e3).slice(1):""}`}function Rh(e){let t=Mt(e,new an),n;return t.era==="BC"?n=t.year===1?"0000":"-"+String(Math.abs(1-t.year)).padStart(6,"00"):n=String(t.year).padStart(4,"0"),`${n}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`}function qh(e){return`${Rh(e)}T${Th(e)}`}function Gx(e){let t=Math.sign(e)<0?"-":"+";e=Math.abs(e);let n=Math.floor(e/36e5),a=Math.floor(e%36e5/6e4),r=Math.floor(e%36e5%6e4/1e3),l=`${t}${String(n).padStart(2,"0")}:${String(a).padStart(2,"0")}`;return r!==0&&(l+=`:${String(r).padStart(2,"0")}`),l}function Yx(e){return`${qh(e)}${Gx(e.offset)}[${e.timeZone}]`}function oc(e){let t=typeof e[0]=="object"?e.shift():new an,n;if(typeof e[0]=="string")n=e.shift();else{let o=t.getEras();n=o[o.length-1]}let a=e.shift(),r=e.shift(),l=e.shift();return[t,n,a,r,l]}class tt{#e;constructor(...t){let[n,a,r,l,o]=oc(t);this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,Ia(this)}copy(){return this.era?new tt(this.calendar,this.era,this.year,this.month,this.day):new tt(this.calendar,this.year,this.month,this.day)}add(t){return ks(this,t)}subtract(t){return Sh(this,t)}set(t){return ac(this,t)}cycle(t,n,a){return rc(this,t,n,a)}toDate(t){return $h(this,t)}toString(){return Rh(this)}compare(t){return bh(this,t)}}class mn{#e;constructor(t=0,n=0,a=0,r=0){this.hour=t,this.minute=n,this.second=a,this.millisecond=r,Eh(this)}copy(){return new mn(this.hour,this.minute,this.second,this.millisecond)}add(t){return Dh(this,t)}subtract(t){return Lx(this,t)}set(t){return yl(this,t)}cycle(t,n,a){return lc(this,t,n,a)}toString(){return Th(this)}compare(t){return _h(this,t)}}class va{#e;constructor(...t){let[n,a,r,l,o]=oc(t);this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Ia(this)}copy(){return this.era?new va(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new va(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(t){return ks(this,t)}subtract(t){return Sh(this,t)}set(t){return ac(yl(this,t),t)}cycle(t,n,a){switch(t){case"era":case"year":case"month":case"day":return rc(this,t,n,a);default:return lc(this,t,n,a)}}toDate(t,n){return $h(this,t,n)}toString(){return qh(this)}compare(t){let n=bh(this,t);return n===0?_h(this,xn(t)):n}}class zn{#e;constructor(...t){let[n,a,r,l,o]=oc(t),s=t.shift(),i=t.shift();this.calendar=n,this.era=a,this.year=r,this.month=l,this.day=o,this.timeZone=s,this.offset=i,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Ia(this)}copy(){return this.era?new zn(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new zn(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(t){return Ph(this,t)}subtract(t){return jx(this,t)}set(t,n){return zx(this,t,n)}cycle(t,n,a){return Ux(this,t,n,a)}toDate(){return Bx(this)}toString(){return Yx(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(t){return this.toDate().getTime()-tc(t,this.timeZone).toDate().getTime()}}const fr=[[1868,9,8],[1912,7,30],[1926,12,25],[1989,1,8],[2019,5,1]],Jx=[[1912,7,29],[1926,12,24],[1989,1,7],[2019,4,30]],po=[1867,1911,1925,1988,2018],oa=["meiji","taisho","showa","heisei","reiwa"];function vf(e){const t=fr.findIndex(([n,a,r])=>e.year=0){let[,r,l]=fr[n];t.month=Math.max(r,t.month),t.month===r&&(t.day=Math.max(l,t.day))}}getEras(){return oa}getYearsInEra(t){let n=oa.indexOf(t.era),a=fr[n],r=fr[n+1];if(r==null)return 9999-a[0]+1;let l=r[0]-a[0];return(t.month0?["minguo",t]:["before_minguo",1-t]}class Xx extends an{fromJulianDay(t){let n=super.fromJulianDay(t),a=Tl(n.era,n.year),[r,l]=yf(a);return new tt(this,r,l,n.month,n.day)}toJulianDay(t){return super.toJulianDay(gf(t))}getEras(){return["before_minguo","minguo"]}balanceDate(t){let[n,a]=yf(Fh(t));t.era=n,t.year=a}isInverseEra(t){return t.era==="before_minguo"}getDaysInMonth(t){return super.getDaysInMonth(gf(t))}getYearsInEra(t){return t.era==="before_minguo"?9999:9999-To}constructor(...t){super(...t),this.identifier="roc"}}function gf(e){let[t,n]=_s(Fh(e));return new tt(t,n,e.month,e.day)}const bf=1948320,_f=[0,31,62,93,124,155,186,216,246,276,306,336];class ew{fromJulianDay(t){let n=t-bf,a=1+Math.floor((33*n+3)/12053),r=365*(a-1)+Math.floor((8*a+21)/33),l=n-r,o=l<216?Math.floor(l/31):Math.floor((l-6)/30),s=l-_f[o]+1;return new tt(this,a,o+1,s)}toJulianDay(t){let n=bf-1+365*(t.year-1)+Math.floor((8*t.year+21)/33);return n+=_f[t.month-1],n+=t.day,n}getMonthsInYear(){return 12}getDaysInMonth(t){return t.month<=6?31:t.month<=11||cr(25*t.year+11,33)<8?30:29}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getEras(){return["AP"]}getYearsInEra(){return 9377}constructor(){this.identifier="persian"}}const pi=78,xf=80;class tw extends an{fromJulianDay(t){let n=super.fromJulianDay(t),a=n.year-pi,r=t-Ma(n.era,n.year,1,1),l;r=8&&(o+=(t.month-7)*30),o+=t.day-1,o)}getDaysInMonth(t){return t.month===1&&sa(t.year+pi)||t.month>=2&&t.month<=6?31:30}getYearsInEra(){return 9919}getEras(){return["saka"]}balanceDate(){}constructor(...t){super(...t),this.identifier="indian"}}const Ro=1948440,wf=1948439,Ut=1300,Ga=1600,nw=460322;function qo(e,t,n,a){return a+Math.ceil(29.5*(n-1))+(t-1)*354+Math.floor((3+11*t)/30)+e-1}function Bh(e,t,n){let a=Math.floor((30*(n-t)+10646)/10631),r=Math.min(12,Math.ceil((n-(29+qo(t,a,1,1)))/29.5)+1),l=n-qo(t,a,r,1)+1;return new tt(e,a,r,l)}function kf(e){return(14+11*e)%30<11}class sc{fromJulianDay(t){return Bh(this,Ro,t)}toJulianDay(t){return qo(Ro,t.year,t.month,t.day)}getDaysInMonth(t){let n=29+t.month%2;return t.month===12&&kf(t.year)&&n++,n}getMonthsInYear(){return 12}getDaysInYear(t){return kf(t.year)?355:354}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 30}getYearsInEra(){return 9665}getEras(){return["AH"]}constructor(){this.identifier="islamic-civil"}}class aw extends sc{fromJulianDay(t){return Bh(this,wf,t)}toJulianDay(t){return qo(wf,t.year,t.month,t.day)}constructor(...t){super(...t),this.identifier="islamic-tbla"}}const rw="qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=";let uu,pr;function vo(e){return nw+pr[e-Ut]}function Jr(e,t){let n=e-Ut,a=1<<11-(t-1);return(uu[n]&a)===0?29:30}function $f(e,t){let n=vo(e);for(let a=1;at.charCodeAt(0)).buffer)),!pr){pr=new Uint32Array(Ga-Ut+1);let t=0;for(let n=Ut;n<=Ga;n++){pr[n-Ut]=t;for(let a=1;a<=12;a++)t+=Jr(n,a)}}}fromJulianDay(t){let n=t-Ro,a=vo(Ut),r=vo(Ga);if(nr)return super.fromJulianDay(t);{let l=Ut-1,o=1,s=1;for(;s>0;){l++,s=n-vo(l)+1;let i=Cf(l);if(s===i){o=12;break}else if(sc;)s-=c,o++,c=Jr(l,o);break}}return new tt(this,l,o,n-$f(l,o)+1)}}toJulianDay(t){return t.yearGa?super.toJulianDay(t):Ro+$f(t.year,t.month)+(t.day-1)}getDaysInMonth(t){return t.yearGa?super.getDaysInMonth(t):Jr(t.year,t.month)}getDaysInYear(t){return t.yearGa?super.getDaysInYear(t):Cf(t.year)}}const Sf=347997,Nh=1080,Vh=24*Nh,ow=29,sw=12*Nh+793,iw=ow*Vh+sw;function Oa(e){return cr(e*7+1,19)<7}function ho(e){let t=Math.floor((235*e-234)/19),n=12084+13753*t,a=t*29+Math.floor(n/25920);return cr(3*(a+1),7)<3&&(a+=1),a}function uw(e){let t=ho(e-1),n=ho(e);return ho(e+1)-n===356?2:n-t===382?1:0}function ol(e){return ho(e)+uw(e)}function Lh(e){return ol(e+1)-ol(e)}function cw(e){let t=Lh(e);switch(t>380&&(t-=30),t){case 353:return 0;case 354:return 1;case 355:return 2}}function Zl(e,t){if(t>=6&&!Oa(e)&&t++,t===4||t===7||t===9||t===11||t===13)return 29;let n=cw(e);return t===2?n===2?30:29:t===3?n===0?29:30:t===6?Oa(e)?30:0:30}class dw{fromJulianDay(t){let n=t-Sf,a=n*Vh/iw,r=Math.floor((19*a+234)/235)+1,l=ol(r),o=Math.floor(n-l);for(;o<1;)r--,l=ol(r),o=Math.floor(n-l);let s=1,i=0;for(;i6?t.month--:!Oa(n.year)&&Oa(t.year)&&n.month>6&&t.month++)}constructor(){this.identifier="hebrew"}}const cu=1723856,Ef=1824665,du=5500;function sl(e,t,n,a){return e+365*t+Math.floor(t/4)+30*(n-1)+a-1}function ic(e,t){let n=Math.floor(4*(t-e)/1461);t>=sl(e,n+1,1,1)&&n++;let a=1+Math.floor((t-sl(e,n,1,1))/30),r=t+1-sl(e,n,a,1);return[n,a,r]}function jh(e){return Math.floor(e%4/3)}function Uh(e,t){return t%13!==0?30:jh(e)+5}class uc{fromJulianDay(t){let[n,a,r]=ic(cu,t),l="AM";return n<=0&&(l="AA",n+=du),new tt(this,l,n,a,r)}toJulianDay(t){let n=t.year;return t.era==="AA"&&(n-=du),sl(cu,n,t.month,t.day)}getDaysInMonth(t){return Uh(t.year,t.month)}getMonthsInYear(){return 13}getDaysInYear(t){return 365+jh(t.year)}getMaximumMonthsInYear(){return 13}getMaximumDaysInMonth(){return 30}getYearsInEra(t){return t.era==="AA"?9999:9991}getEras(){return["AA","AM"]}constructor(){this.identifier="ethiopic"}}class fw extends uc{fromJulianDay(t){let[n,a,r]=ic(cu,t);return n+=du,new tt(this,"AA",n,a,r)}getEras(){return["AA"]}getYearsInEra(){return 9999}constructor(...t){super(...t),this.identifier="ethioaa"}}class pw extends uc{fromJulianDay(t){let[n,a,r]=ic(Ef,t),l="CE";return n<=0&&(l="BCE",n=1-n),new tt(this,l,n,a,r)}toJulianDay(t){let n=t.year;return t.era==="BCE"&&(n=1-n),sl(Ef,n,t.month,t.day)}getDaysInMonth(t){let n=t.year;return t.era==="BCE"&&(n=1-n),Uh(n,t.month)}isInverseEra(t){return t.era==="BCE"}balanceDate(t){t.year<=0&&(t.era=t.era==="BCE"?"CE":"BCE",t.year=1-t.year)}getEras(){return["BCE","CE"]}getYearsInEra(t){return t.era==="BCE"?9999:9715}constructor(...t){super(...t),this.identifier="coptic"}}function vw(e){switch(e){case"buddhist":return new Qx;case"ethiopic":return new uc;case"ethioaa":return new fw;case"coptic":return new pw;case"hebrew":return new dw;case"indian":return new tw;case"islamic-civil":return new sc;case"islamic-tbla":return new aw;case"islamic-umalqura":return new lw;case"japanese":return new Zx;case"persian":return new ew;case"roc":return new Xx;default:return new an}}let vi=new Map;class Yt{constructor(t,n={}){this.formatter=zh(t,n),this.options=n}format(t){return this.formatter.format(t)}formatToParts(t){return this.formatter.formatToParts(t)}formatRange(t,n){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(t,n);if(n= start date");return`${this.formatter.format(t)} – ${this.formatter.format(n)}`}formatRangeToParts(t,n){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(t,n);if(n= start date");let a=this.formatter.formatToParts(t),r=this.formatter.formatToParts(n);return[...a.map(l=>({...l,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...r.map(l=>({...l,source:"endRange"}))]}resolvedOptions(){let t=this.formatter.resolvedOptions();return yw()&&(this.resolvedHourCycle||(this.resolvedHourCycle=gw(t.locale,this.options)),t.hourCycle=this.resolvedHourCycle,t.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),t.calendar==="ethiopic-amete-alem"&&(t.calendar="ethioaa"),t}}const hw={true:{ja:"h11"},false:{}};function zh(e,t={}){if(typeof t.hour12=="boolean"&&mw()){t={...t};let r=hw[String(t.hour12)][e.split("-")[0]],l=t.hour12?"h12":"h23";t.hourCycle=r??l,delete t.hour12}let n=e+(t?Object.entries(t).sort((r,l)=>r[0]l.type==="hour").value,10),r=parseInt(n.formatToParts(new Date(2020,2,3,23)).find(l=>l.type==="hour").value,10);if(a===0&&r===23)return"h23";if(a===24&&r===23)return"h24";if(a===0&&r===11)return"h11";if(a===12&&r===11)return"h12";throw new Error("Unexpected hour cycle result")}function zt(e,t=ln()){return gl(e)?e.toDate():e.toDate(t)}function bw(e){return e instanceof va}function gl(e){return e instanceof zn}function fu(e){return bw(e)||gl(e)}function da(e){if(e instanceof Date){const t=e.getFullYear(),n=e.getMonth()+1;return new Date(t,n,0).getDate()}else return e.set({day:100}).day}function ia(e,t){return e.compare(t)<0}function yi(e,t){return e.compare(t)>0}function _w(e,t,n){const a=xs(e,n,"sun");return t>a?e.subtract({days:a+7-t}):t===a?e:e.subtract({days:a-t})}function xw(e,t,n){const a=xs(e,n,"sun"),r=t===0?6:t-1;return a===r?e:a>r?e.add({days:7-a+r}):e.add({days:r-a})}function cc(e){const{defaultValue:t,defaultPlaceholder:n,granularity:a="day",locale:r="en"}=e;if(Array.isArray(t)&&t.length)return t.at(-1).copy();if(t&&!Array.isArray(t))return t.copy();if(n)return n.copy();const l=new Date,o=l.getFullYear(),s=l.getMonth()+1,i=l.getDate(),c=["hour","minute","second"],d=new Yt(r),f=vw(d.resolvedOptions().calendar);return c.includes(a??"day")?Mt(new va(o,s,i,0,0,0),f):Mt(new tt(o,s,i),f)}function ww(e){const{defaultValue:t,defaultPlaceholder:n}=e;return t?t.copy():n?n.copy():new mn(0,0,0)}function kw(e,t){const n=[];for(let a=0;at.set({day:y+1})),s=lu(t),i=uf(t),c=_w(s,n,r),d=xw(i,n,r),f=Af(c.subtract({days:1}),s),p=Af(i,d.add({days:1})),v=f.length+o.length+p.length;if(a&&v<42){const _=42-v;let y=p.at(-1);y||(y=uf(t));const x=Array.from({length:_},(S,A)=>{const V=A+1;return y.add({days:V})});p.push(...x)}const m=f.concat(o,p),g=kw(m,7);return{value:t,cells:m,rows:g}}function Sa(e){const{numberOfMonths:t,dateObj:n,...a}=e,r=[];if(!t||t===1)return r.push(bi({...a,dateObj:n})),r;r.push(bi({...a,dateObj:n}));for(let l=1;l({label:i(zt(_.set({month:x}))),value:x}))}function d(_,y={}){return new Yt(n.value,{...t,year:"numeric",...y}).format(_)}function f(_,y){return gl(_)?new Yt(n.value,{...t,...y,timeZone:_.timeZone}).formatToParts(zt(_)):new Yt(n.value,{...t,...y}).formatToParts(zt(_))}function p(_,y="narrow"){return new Yt(n.value,{...t,weekday:y}).format(_)}function v(_){const x=new Yt(n.value,{...t,hour:"numeric",minute:"numeric"}).formatToParts(_).find(S=>S.type==="dayPeriod")?.value;return x==="PM"||x==="pm"||x==="p.m."?"PM":"AM"}const m={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"};function g(_,y,x={}){const S={...m,...x},V=f(_,S).find(J=>J.type===y);return V?V.value:""}return{setLocale:r,getLocale:a,fullMonth:i,fullYear:d,fullMonthAndYear:s,toParts:f,custom:l,part:g,dayPeriod:v,selectedDate:o,dayOfWeek:p,getMonths:c}}function Na(e){const t=bs({dir:T("ltr")});return w(()=>e?.value||t.dir?.value||"ltr")}function Pr(e){const t=$n(),n=t?.type.emits,a={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(r=>{a[Qr(ht(r))]=(...l)=>e(r,...l)}),a}let _i=0;function Yh(){Xt(e=>{if(!Wn)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??Df()),document.body.insertAdjacentElement("beforeend",t[1]??Df()),_i++,e(()=>{_i===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),_i--})})}function Df(){const e=document.createElement("span");return e.setAttribute("data-reka-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function Ke(){const e=$n(),t=T(),n=w(()=>a());Ru(()=>{n.value!==a()&&Fy(t)});function a(){return t.value&&"$el"in t.value&&["#text","#comment"].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:Dr(t)}const r=Object.assign({},e.exposed),l={};for(const s in e.props)Object.defineProperty(l,s,{enumerable:!0,configurable:!0,get:()=>e.props[s]});if(Object.keys(r).length>0)for(const s in r)Object.defineProperty(l,s,{enumerable:!0,configurable:!0,get:()=>r[s]});Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=l;function o(s){if(t.value=s,!!s&&(Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>s instanceof Element?s:s.$el}),!(s instanceof Element)&&!Object.hasOwn(s,"$el"))){const i=s.$.exposed,c=Object.assign({},l);for(const d in i)Object.defineProperty(c,d,{enumerable:!0,configurable:!0,get:()=>i[d]});e.exposed=c}}return{forwardRef:o,currentRef:t,currentElement:n}}function Jh(e){const t=$n(),n=Object.keys(t?.type.props??{}).reduce((r,l)=>{const o=(t?.type.props[l]).default;return o!==void 0&&(r[l]=o),r},{}),a=Uy(e);return w(()=>{const r={},l=t?.vnode.props??{};return Object.keys(l).forEach(o=>{r[ht(o)]=l[o]}),Object.keys({...n,...r}).reduce((o,s)=>(a.value[s]!==void 0&&(o[s]=a.value[s]),o),{})})}function Gn(e,t){const n=Jh(e),a=t?Pr(t):{};return w(()=>({...n.value,...a}))}var Sw=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ya=new WeakMap,Ql=new WeakMap,Xl={},xi=0,Zh=function(e){return e&&(e.host||Zh(e.parentNode))},Ew=function(e,t){return t.map(function(n){if(e.contains(n))return n;var a=Zh(n);return a&&e.contains(a)?a:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Aw=function(e,t,n,a){var r=Ew(t,Array.isArray(e)?e:[e]);Xl[n]||(Xl[n]=new WeakMap);var l=Xl[n],o=[],s=new Set,i=new Set(r),c=function(f){!f||s.has(f)||(s.add(f),c(f.parentNode))};r.forEach(c);var d=function(f){!f||i.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))d(p);else try{var v=p.getAttribute(a),m=v!==null&&v!=="false",g=(Ya.get(p)||0)+1,_=(l.get(p)||0)+1;Ya.set(p,g),l.set(p,_),o.push(p),g===1&&m&&Ql.set(p,!0),_===1&&p.setAttribute(n,"true"),m||p.setAttribute(a,"true")}catch(y){console.error("aria-hidden: cannot operate on ",p,y)}})};return d(t),s.clear(),xi++,function(){o.forEach(function(f){var p=Ya.get(f)-1,v=l.get(f)-1;Ya.set(f,p),l.set(f,v),p||(Ql.has(f)||f.removeAttribute(a),Ql.delete(f)),v||f.removeAttribute(n)}),xi--,xi||(Ya=new WeakMap,Ya=new WeakMap,Ql=new WeakMap,Xl={})}},Dw=function(e,t,n){n===void 0&&(n="data-aria-hidden");var a=Array.from(Array.isArray(e)?e:[e]),r=Sw(e);return r?(a.push.apply(a,Array.from(r.querySelectorAll("[aria-live], script"))),Aw(a,r,n,"aria-hidden")):function(){return null}};function fc(e){let t;Fe(()=>Dr(e),n=>{let a=!1;try{a=!!n?.closest("[popover]:not(:popover-open)")}catch{}n&&!a?t=Dw(n):t&&t()}),Er(()=>{t&&t()})}function $r(e,t="reka"){let n;const a=bs({useId:void 0});return a.useId?n=a.useId():n=ig?.(),t?`${t}-${n}`:n}function Or(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}function $s(e){const t=bs({locale:T("en")});return w(()=>e?.value||t.locale?.value||"en")}function Pw(e){const t=T(),n=w(()=>t.value?.width??0),a=w(()=>t.value?.height??0);return _t(()=>{const r=Dr(e);if(r){t.value={width:r.offsetWidth,height:r.offsetHeight};const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let i,c;if("borderBoxSize"in s){const d=s.borderBoxSize,f=Array.isArray(d)?d[0]:d;i=f.inlineSize,c=f.blockSize}else i=r.offsetWidth,c=r.offsetHeight;t.value={width:i,height:c}});return l.observe(r,{box:"border-box"}),()=>l.unobserve(r)}else t.value=void 0}),{width:n,height:a}}function Ow(e,t){const n=T(e);function a(l){return t[n.value][l]??n.value}return{state:n,dispatch:l=>{n.value=a(l)}}}function Mw(e){const t=mx("",1e3);return{search:t,handleTypeaheadSearch:(r,l)=>{t.value=t.value+r;{const o=ft(),s=l.map(p=>({...p,textValue:p.value?.textValue??p.ref.textContent?.trim()??""})),i=s.find(p=>p.ref===o),c=s.map(p=>p.textValue),d=Rw(c,t.value,i?.textValue),f=s.find(p=>p.textValue===d);return f&&f.ref.focus(),f?.ref}},resetTypeahead:()=>{t.value=""}}}function Tw(e,t){return e.map((n,a)=>e[(t+a)%e.length])}function Rw(e,t,n){const r=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,l=n?e.indexOf(n):-1;let o=Tw(e,Math.max(l,0));r.length===1&&(o=o.filter(c=>c!==n));const i=o.find(c=>c.toLowerCase().startsWith(r.toLowerCase()));return i!==n?i:void 0}function qw(e,t){const n=T({}),a=T("none"),r=T(e),l=e.value?"mounted":"unmounted";let o;const s=t.value?.ownerDocument.defaultView??Ju,{state:i,dispatch:c}=Ow(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=_=>{if(Wn){const y=new CustomEvent(_,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(y)}};Fe(e,async(_,y)=>{const x=y!==_;if(await ze(),x){const S=a.value,A=eo(t.value);_?(c("MOUNT"),d("enter"),A==="none"&&d("after-enter")):A==="none"||A==="undefined"||n.value?.display==="none"?(c("UNMOUNT"),d("leave"),d("after-leave")):y&&S!==A?(c("ANIMATION_OUT"),d("leave")):(c("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=_=>{const y=eo(t.value),x=y.includes(CSS.escape(_.animationName)),S=i.value==="mounted"?"enter":"leave";if(_.target===t.value&&x&&(d(`after-${S}`),c("ANIMATION_END"),!r.value)){const A=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",o=s?.setTimeout(()=>{t.value?.style.animationFillMode==="forwards"&&(t.value.style.animationFillMode=A)})}_.target===t.value&&y==="none"&&c("ANIMATION_END")},p=_=>{_.target===t.value&&(a.value=eo(t.value))},v=Fe(t,(_,y)=>{_?(n.value=getComputedStyle(_),_.addEventListener("animationstart",p),_.addEventListener("animationcancel",f),_.addEventListener("animationend",f)):(c("ANIMATION_END"),o!==void 0&&s?.clearTimeout(o),y?.removeEventListener("animationstart",p),y?.removeEventListener("animationcancel",f),y?.removeEventListener("animationend",f))},{immediate:!0}),m=Fe(i,()=>{const _=eo(t.value);a.value=i.value==="mounted"?_:"none"});return Er(()=>{v(),m()}),{isPresent:w(()=>["mounted","unmountSuspended"].includes(i.value))}}function eo(e){return e&&getComputedStyle(e).animationName||"none"}var Cs=ee({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){const{present:a,forceMount:r}=Lt(e),l=T(),{isPresent:o}=qw(a,l);n({present:o});let s=t.default({present:o.value});s=Zu(s||[]);const i=$n();if(s&&s?.length>1){const c=i?.parent?.type.name?`<${i.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` -`)].join(` -`))}return()=>r.value||a.value||o.value?Kt(t.default({present:o.value})[0],{ref:c=>{const d=Dr(c);return typeof d?.hasAttribute>"u"||(d?.hasAttribute("data-reka-popper-content-wrapper")?l.value=d.firstElementChild:l.value=d),d}}):null}});const pu=ee({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;const a=Zu(n.default()),r=a.findIndex(i=>i.type!==tn);if(r===-1)return a;const l=a[r];delete l.props?.ref;const o=l.props?Ve(t,l.props):t,s=fa({...l,props:{}},o);return a.length===1?s:(a[r]=s,a)}}}),Iw=["area","img","input"],Ye=ee({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const a=e.asChild?"template":e.as;return typeof a=="string"&&Iw.includes(a)?()=>Kt(a,t):a!=="template"?()=>Kt(e.as,t,{default:n.default}):()=>Kt(pu,t,{default:n.default})}});function Cr(){const e=T(),t=w(()=>["#text","#comment"].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:Dr(e));return{primitiveElement:e,currentElement:t}}const[Yn,Fw]=xt("DialogRoot");var Bw=ee({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,r=bt(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),l=T(),o=T(),{modal:s}=Lt(n);return Fw({open:r,modal:s,openModal:()=>{r.value=!0},onOpenChange:i=>{r.value=i},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:l,contentElement:o}),(i,c)=>he(i.$slots,"default",{open:u(r),close:()=>r.value=!1})}}),ql=Bw,Nw=ee({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;Ke();const n=Yn();return(a,r)=>(h(),j(u(Ye),Ve(t,{type:a.as==="button"?"button":void 0,onClick:r[0]||(r[0]=l=>u(n).onOpenChange(!1))}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["type"]))}}),Sr=Nw;const Vw="dismissableLayer.pointerDownOutside",Lw="dismissableLayer.focusOutside";function Qh(e,t){if(!(t instanceof Element))return!1;const n=t.closest("[data-dismissable-layer]"),a=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),r=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(a===n||r.indexOf(a){});return Xt(o=>{if(!Wn||!Tt(n))return;const s=async c=>{const d=c.target;if(!(!t?.value||!d)){if(Qh(t.value,d)){r.value=!1;return}if(c.target&&!r.value){let v=function(){fh(Vw,e,p)};var f=v;const p={originalEvent:c};c.pointerType==="touch"?(a.removeEventListener("click",l.value),l.value=v,a.addEventListener("click",l.value,{once:!0})):v()}else a.removeEventListener("click",l.value);r.value=!1}},i=window.setTimeout(()=>{a.addEventListener("pointerdown",s)},0);o(()=>{window.clearTimeout(i),a.removeEventListener("pointerdown",s),a.removeEventListener("click",l.value)})}),{onPointerDownCapture:()=>{Tt(n)&&(r.value=!0)}}}function Uw(e,t,n=!0){const a=t?.value?.ownerDocument??globalThis?.document,r=T(!1);return Xt(l=>{if(!Wn||!Tt(n))return;const o=async s=>{if(!t?.value)return;await ze(),await ze();const i=s.target;!t.value||!i||Qh(t.value,i)||s.target&&!r.value&&fh(Lw,e,{originalEvent:s})};a.addEventListener("focusin",o),l(()=>a.removeEventListener("focusin",o))}),{onFocusCapture:()=>{Tt(n)&&(r.value=!0)},onBlurCapture:()=>{Tt(n)&&(r.value=!1)}}}const It=Zt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var zw=ee({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=Ke(),o=w(()=>l.value?.ownerDocument??globalThis.document),s=w(()=>It.layersRoot),i=w(()=>l.value?Array.from(s.value).indexOf(l.value):-1),c=w(()=>It.layersWithOutsidePointerEventsDisabled.size>0),d=w(()=>{const v=Array.from(s.value),[m]=[...It.layersWithOutsidePointerEventsDisabled].slice(-1),g=v.indexOf(m);return i.value>=g}),f=jw(async v=>{const m=[...It.branches].some(g=>g?.contains(v.target));!d.value||m||(a("pointerDownOutside",v),a("interactOutside",v),await ze(),v.defaultPrevented||a("dismiss"))},l),p=Uw(v=>{[...It.branches].some(g=>g?.contains(v.target))||(a("focusOutside",v),a("interactOutside",v),v.defaultPrevented||a("dismiss"))},l);return xx("Escape",v=>{i.value===s.value.size-1&&(a("escapeKeyDown",v),v.defaultPrevented||a("dismiss"))}),Fe([l,()=>n.disableOutsidePointerEvents],([v,m],g,_)=>{v&&(m&&(It.layersWithOutsidePointerEventsDisabled.size===0&&(It.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents="none"),It.layersWithOutsidePointerEventsDisabled.add(v),_(()=>{It.layersWithOutsidePointerEventsDisabled.delete(v),It.layersWithOutsidePointerEventsDisabled.size===0&&!hn(It.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=It.originalBodyPointerEvents)})),s.value.add(v))},{immediate:!0}),Xt(v=>{v(()=>{l.value&&(s.value.delete(l.value),It.layersWithOutsidePointerEventsDisabled.delete(l.value))})}),(v,m)=>(h(),j(u(Ye),{ref:u(r),"as-child":v.asChild,as:v.as,"data-dismissable-layer":"",style:Fn({pointerEvents:c.value?d.value?"auto":"none":void 0}),onFocusCapture:u(p).onFocusCapture,onBlurCapture:u(p).onBlurCapture,onPointerdownCapture:u(f).onPointerDownCapture},{default:F(()=>[he(v.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),pc=zw;const Hw=sx(()=>T([]));function Kw(){const e=Hw();return{add(t){const n=e.value[0];t!==n&&n?.pause(),e.value=Pf(e.value,t),e.value.unshift(t)},remove(t){e.value=Pf(e.value,t),e.value[0]?.resume()}}}function Pf(e,t){const n=[...e],a=n.indexOf(t);return a!==-1&&n.splice(a,1),n}const wi="focusScope.autoFocusOnMount",ki="focusScope.autoFocusOnUnmount",Of={bubbles:!1,cancelable:!0};function Ww(e,{select:t=!1}={}){const n=ft();for(const a of e)if(aa(a,{select:t}),ft()!==n)return!0}function Gw(e){const t=Xh(e),n=Mf(t,e),a=Mf(t.reverse(),e);return[n,a]}function Xh(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const r=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||r?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Mf(e,t){for(const n of e)if(!Yw(n,{upTo:t}))return n}function Yw(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Jw(e){return e instanceof HTMLInputElement&&"select"in e}function aa(e,{select:t=!1}={}){if(e&&e.focus){const n=ft();e.focus({preventScroll:!0}),e!==n&&Jw(e)&&t&&e.select()}}var Zw=ee({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,a=t,{currentRef:r,currentElement:l}=Ke(),o=T(null),s=Kw(),i=Zt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Xt(d=>{if(!Wn)return;const f=l.value;if(!n.trapped)return;function p(_){if(i.paused||!f)return;const y=_.target;f.contains(y)?o.value=y:aa(o.value,{select:!0})}function v(_){if(i.paused||!f)return;const y=_.relatedTarget;y!==null&&(f.contains(y)||aa(o.value,{select:!0}))}function m(_){const y=o.value;if(y===null||!_.some(A=>A.removedNodes.length>0))return;f.contains(y)||aa(f)}document.addEventListener("focusin",p),document.addEventListener("focusout",v);const g=new MutationObserver(m);f&&g.observe(f,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",v),g.disconnect()})}),Xt(async d=>{const f=l.value;if(await ze(),!f)return;s.add(i);const p=ft();if(!f.contains(p)){const m=new CustomEvent(wi,Of);f.addEventListener(wi,g=>a("mountAutoFocus",g)),f.dispatchEvent(m),m.defaultPrevented||(Ww(Xh(f),{select:!0}),ft()===p&&aa(f))}d(()=>{f.removeEventListener(wi,_=>a("mountAutoFocus",_));const m=new CustomEvent(ki,Of),g=_=>{a("unmountAutoFocus",_)};f.addEventListener(ki,g),f.dispatchEvent(m),f.setAttribute("data-focus-scope-unmounting",""),setTimeout(()=>{m.defaultPrevented||aa(p??document.body,{select:!0}),f.removeEventListener(ki,g),s.remove(i),f.removeAttribute("data-focus-scope-unmounting")},0)})});function c(d){if(!n.loop&&!n.trapped||i.paused)return;const f=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,p=ft();if(f&&p){const v=d.currentTarget,[m,g]=Gw(v);m&&g?!d.shiftKey&&p===g?(d.preventDefault(),n.loop&&aa(m,{select:!0})):d.shiftKey&&p===m&&(d.preventDefault(),n.loop&&aa(g,{select:!0})):p===v&&d.preventDefault()}}return(d,f)=>(h(),j(u(Ye),{ref_key:"currentRef",ref:r,tabindex:"-1","as-child":d.asChild,as:d.as,onKeydown:c},{default:F(()=>[he(d.$slots,"default")]),_:3},8,["as-child","as"]))}}),vc=Zw;const Qw="menu.itemSelect",vu=["Enter"," "],Xw=["ArrowDown","PageUp","Home"],em=["ArrowUp","PageDown","End"],ek=[...Xw,...em];[...vu],[...vu];function tm(e){return e?"open":"closed"}function tk(e){const t=ft();for(const n of e)if(n===t||(n.focus(),ft()!==t))return}function nk(e,t){const{x:n,y:a}=e;let r=!1;for(let l=0,o=t.length-1;la!=d>a&&n<(c-s)*(a-i)/(d-i)+s&&(r=!r)}return r}function ak(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return nk(n,t)}function Io(e){return e.pointerType==="mouse"}var rk=ee({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),{forwardRef:l,currentElement:o}=Ke();return r.titleId||=$r(void 0,"reka-dialog-title"),r.descriptionId||=$r(void 0,"reka-dialog-description"),_t(()=>{r.contentElement=o,ft()!==document.body&&(r.triggerElement.value=ft())}),(s,i)=>(h(),j(u(vc),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:i[5]||(i[5]=c=>a("openAutoFocus",c)),onUnmountAutoFocus:i[6]||(i[6]=c=>a("closeAutoFocus",c))},{default:F(()=>[z(u(pc),Ve({id:u(r).contentId,ref:u(l),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":u(r).descriptionId,"aria-labelledby":u(r).titleId,"data-state":u(tm)(u(r).open.value)},s.$attrs,{onDismiss:i[0]||(i[0]=c=>u(r).onOpenChange(!1)),onEscapeKeyDown:i[1]||(i[1]=c=>a("escapeKeyDown",c)),onFocusOutside:i[2]||(i[2]=c=>a("focusOutside",c)),onInteractOutside:i[3]||(i[3]=c=>a("interactOutside",c)),onPointerDownOutside:i[4]||(i[4]=c=>a("pointerDownOutside",c))}),{default:F(()=>[he(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),nm=rk,lk=ee({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),l=Pr(a),{forwardRef:o,currentElement:s}=Ke();return fc(s),(i,c)=>(h(),j(nm,Ve({...n,...u(l)},{ref:u(o),"trap-focus":u(r).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:c[0]||(c[0]=d=>{d.defaultPrevented||(d.preventDefault(),u(r).triggerElement.value?.focus())}),onPointerDownOutside:c[1]||(c[1]=d=>{const f=d.detail.originalEvent,p=f.button===0&&f.ctrlKey===!0;(f.button===2||p)&&d.preventDefault()}),onFocusOutside:c[2]||(c[2]=d=>{d.preventDefault()})}),{default:F(()=>[he(i.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),ok=lk,sk=ee({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=Pr(t);Ke();const l=Yn(),o=T(!1),s=T(!1);return(i,c)=>(h(),j(nm,Ve({...n,...u(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{d.defaultPrevented||(o.value||u(l).triggerElement.value?.focus(),d.preventDefault()),o.value=!1,s.value=!1}),onInteractOutside:c[1]||(c[1]=d=>{d.defaultPrevented||(o.value=!0,d.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const f=d.target;u(l).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&s.value&&d.preventDefault()})}),{default:F(()=>[he(i.$slots,"default")]),_:3},16))}}),ik=sk,uk=ee({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Yn(),l=Pr(a),{forwardRef:o}=Ke();return(s,i)=>(h(),j(u(Cs),{present:s.forceMount||u(r).open.value},{default:F(()=>[u(r).modal.value?(h(),j(ok,Ve({key:0,ref:u(o)},{...n,...u(l),...s.$attrs}),{default:F(()=>[he(s.$slots,"default")]),_:3},16)):(h(),j(ik,Ve({key:1,ref:u(o)},{...n,...u(l),...s.$attrs}),{default:F(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Il=uk,ck=ee({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;Ke();const n=Yn();return(a,r)=>(h(),j(u(Ye),Ve(t,{id:u(n).descriptionId}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["id"]))}}),_l=ck,dk=ee({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Yn();return Qu(!0),Ke(),(n,a)=>(h(),j(u(Ye),{as:n.as,"as-child":n.asChild,"data-state":u(t).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:a[0]||(a[0]=pt(()=>{},["left","self","prevent"]))},{default:F(()=>[he(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),fk=dk,pk=ee({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Yn(),{forwardRef:n}=Ke();return(a,r)=>u(t)?.modal.value?(h(),j(u(Cs),{key:0,present:a.forceMount||u(t).open.value},{default:F(()=>[z(fk,Ve(a.$attrs,{ref:u(n),as:a.as,"as-child":a.asChild}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):ae("v-if",!0)}}),Fl=pk,vk=ee({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=bx();return(n,a)=>u(t)||n.forceMount?(h(),j(rg,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[he(n.$slots,"default")],8,["to","disabled","defer"])):ae("v-if",!0)}}),Ss=vk,hk=ee({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ss),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Es=hk,mk=ee({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e,n=Yn();return Ke(),(a,r)=>(h(),j(u(Ye),Ve(t,{id:u(n).titleId}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["id"]))}}),Bl=mk;const[yk,gk]=xt("AlertDialogContent");var bk=ee({__name:"AlertDialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=Pr(t);Ke();const l=T();return gk({onCancelElementChange:o=>{l.value=o}}),(o,s)=>(h(),j(u(Il),Ve({...n,...u(r)},{role:"alertdialog",onPointerDownOutside:s[0]||(s[0]=pt(()=>{},["prevent"])),onInteractOutside:s[1]||(s[1]=pt(()=>{},["prevent"])),onOpenAutoFocus:s[2]||(s[2]=()=>{ze(()=>{l.value?.focus({preventScroll:!0})})})}),{default:F(()=>[he(o.$slots,"default")]),_:3},16))}}),_k=bk,xk=ee({__name:"AlertDialogCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=yk(),{forwardRef:a,currentElement:r}=Ke();return _t(()=>{n.onCancelElementChange(r.value)}),(l,o)=>(h(),j(u(Sr),Ve(t,{ref:u(a)}),{default:F(()=>[he(l.$slots,"default")]),_:3},16))}}),wk=xk,kk=ee({__name:"AlertDialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;return Ke(),(n,a)=>(h(),j(u(_l),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),$k=kk,Ck=ee({__name:"AlertDialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Ke(),(n,a)=>(h(),j(u(Fl),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Sk=Ck,Ek=ee({__name:"AlertDialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ss),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Ak=Ek,Dk=ee({__name:"AlertDialogRoot",props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:["update:open"],setup(e,{emit:t}){const r=Gn(e,t);return Ke(),(l,o)=>(h(),j(u(ql),Ve(u(r),{modal:!0}),{default:F(s=>[he(l.$slots,"default",He(Ge(s)))]),_:3},16))}}),Pk=Dk,Ok=ee({__name:"AlertDialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e;return Ke(),(n,a)=>(h(),j(u(Bl),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Mk=Ok;const Tf="data-reka-collection-item";function am(e={}){const{key:t="",isProvider:n=!1}=e,a=`${t}CollectionProvider`;let r;n?(r={collectionRef:T(),itemMap:T(new Map)},Dt(a,r)):r=st(a);const l=(d=!1)=>{const f=r.collectionRef.value;if(!f)return[];const p=Array.from(f.querySelectorAll(`[${Tf}]`)),m=Array.from(r.itemMap.value.values()).sort((g,_)=>p.indexOf(g.ref)-p.indexOf(_.ref));return d?m:m.filter(g=>g.ref.dataset.disabled!=="")},o=ee({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:p}){const{primitiveElement:v,currentElement:m}=Cr();return Fe(m,()=>{r.collectionRef.value=m.value}),()=>Kt(pu,{ref:v,...p},f)}}),s=ee({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:p}){const{primitiveElement:v,currentElement:m}=Cr();return Xt(g=>{if(m.value){const _=yo(m.value);r.itemMap.value.set(_,{ref:m.value,value:d.value}),g(()=>r.itemMap.value.delete(_))}}),()=>Kt(pu,{...p,[Tf]:"",ref:v},f)}}),i=w(()=>Array.from(r.itemMap.value.values())),c=w(()=>r.itemMap.value.size);return{getItems:l,reactiveItems:i,itemMapSize:c,CollectionSlot:o,CollectionItem:s}}var Tk=ee({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),j(u(Ye),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:F(()=>[he(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),rm=Tk;const Rk="rovingFocusGroup.onEntryFocus",qk={bubbles:!1,cancelable:!0};function Ik(e,t=!1){const n=ft();for(const a of e)if(a===n||(a.focus({preventScroll:t}),ft()!==n))return}const[lm,Fk]=xt("PopperRoot");var Bk=ee({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=T();return Fk({anchor:t,onAnchorChange:n=>t.value=n}),(n,a)=>he(n.$slots,"default")}}),om=Bk,Nk=ee({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n,currentElement:a}=Ke(),r=lm();return Up(()=>{r.onAnchorChange(t.reference??a.value)}),(l,o)=>(h(),j(u(Ye),{ref:u(n),as:l.as,"as-child":l.asChild},{default:F(()=>[he(l.$slots,"default")]),_:3},8,["as","as-child"]))}}),sm=Nk;function Vk(e){return e!==null}function Lk(e){return{name:"transformOrigin",options:e,fn(t){const{placement:n,rects:a,middlewareData:r}=t,o=r.arrow?.centerOffset!==0,s=o?0:e.arrowWidth,i=o?0:e.arrowHeight,[c,d]=hu(n),f={start:"0%",center:"50%",end:"100%"}[d],p=(r.arrow?.x??0)+s/2,v=(r.arrow?.y??0)+i/2;let m="",g="";return c==="bottom"?(m=o?f:`${p}px`,g=`${-i}px`):c==="top"?(m=o?f:`${p}px`,g=`${a.floating.height+i}px`):c==="right"?(m=`${-i}px`,g=o?f:`${v}px`):c==="left"&&(m=`${a.floating.width+i}px`,g=o?f:`${v}px`),{data:{x:m,y:g}}}}}function hu(e){const[t,n="center"]=e.split("-");return[t,n]}const jk=["top","right","bottom","left"],ha=Math.min,Bn=Math.max,Fo=Math.round,to=Math.floor,Nn=e=>({x:e,y:e}),Uk={left:"right",right:"left",bottom:"top",top:"bottom"};function im(e,t,n){return Bn(e,ha(t,n))}function Hn(e,t){return typeof e=="function"?e(t):e}function ma(e){return e.split("-")[0]}function Mr(e){return e.split("-")[1]}function hc(e){return e==="x"?"y":"x"}function mc(e){return e==="y"?"height":"width"}function yn(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function yc(e){return hc(yn(e))}function zk(e,t,n){n===void 0&&(n=!1);const a=Mr(e),r=yc(e),l=mc(r);let o=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(o=Bo(o)),[o,Bo(o)]}function Hk(e){const t=Bo(e);return[mu(e),t,mu(t)]}function mu(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Rf=["left","right"],qf=["right","left"],Kk=["top","bottom"],Wk=["bottom","top"];function Gk(e,t,n){switch(e){case"top":case"bottom":return n?t?qf:Rf:t?Rf:qf;case"left":case"right":return t?Kk:Wk;default:return[]}}function Yk(e,t,n,a){const r=Mr(e);let l=Gk(ma(e),n==="start",a);return r&&(l=l.map(o=>o+"-"+r),t&&(l=l.concat(l.map(mu)))),l}function Bo(e){const t=ma(e);return Uk[t]+e.slice(t.length)}function Jk(e){var t,n,a,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(a=e.bottom)!=null?a:0,left:(r=e.left)!=null?r:0}}function um(e){return typeof e!="number"?Jk(e):{top:e,right:e,bottom:e,left:e}}function No(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function If(e,t,n){let{reference:a,floating:r}=e;const l=yn(t),o=yc(t),s=mc(o),i=ma(t),c=l==="y",d=a.x+a.width/2-r.width/2,f=a.y+a.height/2-r.height/2,p=a[s]/2-r[s]/2;let v;switch(i){case"top":v={x:d,y:a.y-r.height};break;case"bottom":v={x:d,y:a.y+a.height};break;case"right":v={x:a.x+a.width,y:f};break;case"left":v={x:a.x-r.width,y:f};break;default:v={x:a.x,y:a.y}}const m=Mr(t);return m&&(v[o]+=p*(m==="end"?1:-1)*(n&&c?-1:1)),v}async function Zk(e,t){var n;t===void 0&&(t={});const{x:a,y:r,platform:l,rects:o,elements:s,strategy:i}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:v=0}=Hn(t,e),m=um(v),_=s[p?f==="floating"?"reference":"floating":f],y=No(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(_)))==null||n?_:_.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:i})),x=f==="floating"?{x:a,y:r,width:o.floating.width,height:o.floating.height}:o.reference,S=await(l.getOffsetParent==null?void 0:l.getOffsetParent(s.floating)),A=await(l.isElement==null?void 0:l.isElement(S))&&await(l.getScale==null?void 0:l.getScale(S))||{x:1,y:1},V=No(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:x,offsetParent:S,strategy:i}):x);return{top:(y.top-V.top+m.top)/A.y,bottom:(V.bottom-y.bottom+m.bottom)/A.y,left:(y.left-V.left+m.left)/A.x,right:(V.right-y.right+m.right)/A.x}}const Qk=50,Xk=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:l=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Zk},i=await(o.isRTL==null?void 0:o.isRTL(t));let c=await o.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=If(c,a,i),p=a,v=0;const m={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:l,platform:o,elements:s,middlewareData:i}=t,{element:c,padding:d=0}=Hn(e,t)||{};if(c==null)return{};const f=um(d),p={x:n,y:a},v=yc(r),m=mc(v),g=await o.getDimensions(c),_=v==="y",y=_?"top":"left",x=_?"bottom":"right",S=_?"clientHeight":"clientWidth",A=l.reference[m]+l.reference[v]-p[v]-l.floating[m],V=p[v]-l.reference[v],J=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c));let U=J?J[S]:0;(!U||!await(o.isElement==null?void 0:o.isElement(J)))&&(U=s.floating[S]||l.floating[m]);const H=A/2-V/2,k=U/2-g[m]/2-1,I=ha(f[y],k),G=ha(f[x],k),D=U-g[m]-G,N=U/2-g[m]/2+H,W=im(I,N,D),B=!i.arrow&&Mr(r)!=null&&N!==W&&l.reference[m]/2-(NW<=0)){var G,D;const W=(((G=l.flip)==null?void 0:G.index)||0)+1,B=U[W];if(B&&(!(f==="alignment"?x!==yn(B):!1)||I.every(ce=>yn(ce.placement)===x?ce.overflows[0]>0:!0)))return{data:{index:W,overflows:I},reset:{placement:B}};let Q=(D=I.filter(ne=>ne.overflows[0]<=0).sort((ne,ce)=>ne.overflows[1]-ce.overflows[1])[0])==null?void 0:D.placement;if(!Q)switch(v){case"bestFit":{var N;const ne=(N=I.filter(ce=>{if(J){const te=yn(ce.placement);return te===x||te==="y"}return!0}).map(ce=>[ce.placement,ce.overflows.filter(te=>te>0).reduce((te,ie)=>te+ie,0)]).sort((ce,te)=>ce[1]-te[1])[0])==null?void 0:N[0];ne&&(Q=ne);break}case"initialPlacement":Q=s;break}if(r!==Q)return{reset:{placement:Q}}}return{}}}};function Ff(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Bf(e){return jk.some(t=>e[t]>=0)}const n$=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:a}=t,{strategy:r="referenceHidden",...l}=Hn(e,t);switch(r){case"referenceHidden":{const o=await a.detectOverflow(t,{...l,elementContext:"reference"}),s=Ff(o,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:Bf(s)}}}case"escaped":{const o=await a.detectOverflow(t,{...l,altBoundary:!0}),s=Ff(o,n.floating);return{data:{escapedOffsets:s,escaped:Bf(s)}}}default:return{}}}}},cm=new Set(["left","top"]);async function a$(e,t){const{placement:n,platform:a,elements:r}=e,l=await(a.isRTL==null?void 0:a.isRTL(r.floating)),o=ma(n),s=Mr(n),i=yn(n)==="y",c=cm.has(o)?-1:1,d=l&&i?-1:1,f=Hn(t,e);let{mainAxis:p,crossAxis:v,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return s&&typeof m=="number"&&(v=s==="end"?m*-1:m),i?{x:v*d,y:p*c}:{x:p*c,y:v*d}}const r$=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:l,placement:o,middlewareData:s}=t,i=await a$(t,e);return o===((n=s.offset)==null?void 0:n.placement)&&(a=s.arrow)!=null&&a.alignmentOffset?{}:{x:r+i.x,y:l+i.y,data:{...i,placement:o}}}}},l$=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r,platform:l}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:i={fn:x=>{let{x:S,y:A}=x;return{x:S,y:A}}},...c}=Hn(e,t),d={x:n,y:a},f=await l.detectOverflow(t,c),p=yn(r),v=hc(p);let m=d[v],g=d[p];const _=(x,S)=>im(S+f[x==="y"?"top":"left"],S,S-f[x==="y"?"bottom":"right"]);o&&(m=_(v,m)),s&&(g=_(p,g));const y=i.fn({...t,[v]:m,[p]:g});return{...y,data:{x:y.x-n,y:y.y-a,enabled:{[v]:o,[p]:s}}}}}},o$=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,a;const{x:r,y:l,placement:o,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:d=!0,crossAxis:f=!0}=Hn(e,t),p={x:r,y:l},v=yn(o),m=hc(v);let g=p[m],_=p[v];const y=Hn(c,t),x=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:(n=y.mainAxis)!=null?n:0,crossAxis:(a=y.crossAxis)!=null?a:0};if(d){const V=m==="y"?"height":"width",J=s.reference[m]-s.floating[V]+x.mainAxis,U=s.reference[m]+s.reference[V]-x.mainAxis;gU&&(g=U)}if(f){var S,A;const V=m==="y"?"width":"height",J=cm.has(ma(o)),U=s.reference[v]-s.floating[V]+(J&&((S=i.offset)==null?void 0:S[v])||0)+(J?0:x.crossAxis),H=s.reference[v]+s.reference[V]+(J?0:((A=i.offset)==null?void 0:A[v])||0)-(J?x.crossAxis:0);_H&&(_=H)}return{[m]:g,[v]:_}}}},s$=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:a,platform:r,elements:l}=t,{apply:o=()=>{},...s}=Hn(e,t),i=await r.detectOverflow(t,s),c=ma(n),d=Mr(n),f=yn(n)==="y",{width:p,height:v}=a.floating;let m,g;c==="top"||c==="bottom"?(m=c,g=d===(await(r.isRTL==null?void 0:r.isRTL(l.floating))?"start":"end")?"left":"right"):(g=c,m=d==="end"?"top":"bottom");const _=v-i.top-i.bottom,y=p-i.left-i.right,x=ha(v-i[m],_),S=ha(p-i[g],y),A=t.middlewareData.shift,V=!A;let J=x,U=S;A!=null&&A.enabled.x&&(U=y),A!=null&&A.enabled.y&&(J=_),V&&!d&&(f?U=p-2*Bn(i.left,i.right):J=v-2*Bn(i.top,i.bottom)),await o({...t,availableWidth:U,availableHeight:J});const H=await r.getDimensions(l.floating);return p!==H.width||v!==H.height?{reset:{rects:!0}}:{}}}};function As(){return typeof window<"u"}function Va(e){return gc(e)?(e.nodeName||"").toLowerCase():"#document"}function Rt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jn(e){var t;return(t=(gc(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function gc(e){return As()?e instanceof Node||e instanceof Rt(e).Node:!1}function wn(e){return As()?e instanceof Element||e instanceof Rt(e).Element:!1}function _a(e){return As()?e instanceof HTMLElement||e instanceof Rt(e).HTMLElement:!1}function Nf(e){return!As()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Rt(e).ShadowRoot}function Ds(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=kn(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&r!=="inline"&&r!=="contents"}function i$(e){return/^(table|td|th)$/.test(Va(e))}function Ps(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const u$=/transform|translate|scale|rotate|perspective|filter/,c$=/paint|layout|strict|content/,Ea=e=>!!e&&e!=="none";let $i;function bc(e){const t=wn(e)?kn(e):e;return Ea(t.transform)||Ea(t.translate)||Ea(t.scale)||Ea(t.rotate)||Ea(t.perspective)||!_c()&&(Ea(t.backdropFilter)||Ea(t.filter))||u$.test(t.willChange||"")||c$.test(t.contain||"")}function d$(e){let t=Fa(e);for(;_a(t)&&!xl(t);){if(bc(t))return t;if(Ps(t))return null;t=Fa(t)}return null}function _c(){return $i==null&&($i=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$i}function xl(e){return/^(html|body|#document)$/.test(Va(e))}function kn(e){return Rt(e).getComputedStyle(e)}function Os(e){return wn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Fa(e){if(Va(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Nf(e)&&e.host||Jn(e);return Nf(t)?t.host:t}function dm(e){const t=Fa(e);return xl(t)?(e.ownerDocument||e).body:_a(t)&&Ds(t)?t:dm(t)}function wl(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=dm(e),l=r===((a=e.ownerDocument)==null?void 0:a.body),o=Rt(r);if(l){const s=yu(o);return t.concat(o,o.visualViewport||[],Ds(r)?r:[],s&&n?wl(s):[])}else return t.concat(r,wl(r,[],n))}function yu(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fm(e){const t=kn(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=_a(e),l=r?e.offsetWidth:n,o=r?e.offsetHeight:a,s=Fo(n)!==l||Fo(a)!==o;return s&&(n=l,a=o),{width:n,height:a,$:s}}function xc(e){return wn(e)?e:e.contextElement}function vr(e){const t=xc(e);if(!_a(t))return Nn(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:l}=fm(t);let o=(l?Fo(n.width):n.width)/a,s=(l?Fo(n.height):n.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const f$=Nn(0);function pm(e){const t=Rt(e);return!_c()||!t.visualViewport?f$:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function p$(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Rt(e)}function Ba(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),l=xc(e);let o=Nn(1);t&&(a?wn(a)&&(o=vr(a)):o=vr(e));const s=p$(l,n,a)?pm(l):Nn(0);let i=(r.left+s.x)/o.x,c=(r.top+s.y)/o.y,d=r.width/o.x,f=r.height/o.y;if(l&&a){const p=Rt(l),v=wn(a)?Rt(a):a;let m=p,g=yu(m);for(;g&&v!==m;){const _=vr(g),y=g.getBoundingClientRect(),x=kn(g),S=y.left+(g.clientLeft+parseFloat(x.paddingLeft))*_.x,A=y.top+(g.clientTop+parseFloat(x.paddingTop))*_.y;i*=_.x,c*=_.y,d*=_.x,f*=_.y,i+=S,c+=A,m=Rt(g),g=yu(m)}}return No({width:d,height:f,x:i,y:c})}function Ms(e,t){const n=Os(e).scrollLeft;return t?t.left+n:Ba(Jn(e)).left+n}function vm(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Ms(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function v$(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const l=r==="fixed",o=Jn(a),s=t?Ps(t.floating):!1;if(a===o||s&&l)return n;let i={scrollLeft:0,scrollTop:0},c=Nn(1);const d=Nn(0),f=_a(a);if((f||!l)&&((Va(a)!=="body"||Ds(o))&&(i=Os(a)),f)){const v=Ba(a);c=vr(a),d.x=v.x+a.clientLeft,d.y=v.y+a.clientTop}const p=o&&!f&&!l?vm(o,i):Nn(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-i.scrollLeft*c.x+d.x+p.x,y:n.y*c.y-i.scrollTop*c.y+d.y+p.y}}function h$(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function m$(e){const t=Os(e),n=e.ownerDocument.body,a=Bn(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=Bn(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let l=-t.scrollLeft+Ms(e);const o=-t.scrollTop;return kn(n).direction==="rtl"&&(l+=Bn(e.clientWidth,n.clientWidth)-a),{width:a,height:r,x:l,y:o}}const y$=25;function g$(e,t,n){n===void 0&&(n="viewport");const a=n==="layoutViewport",r=Rt(e),l=Jn(e),o=r.visualViewport;let s=l.clientWidth,i=l.clientHeight,c=0,d=0;if(o){const p=!_c()||t==="fixed";a?p||(c=-o.offsetLeft,d=-o.offsetTop):(s=o.width,i=o.height,p&&(c=o.offsetLeft,d=o.offsetTop))}if(Ms(l)<=0){const p=l.ownerDocument,v=p.body,m=getComputedStyle(v),g=p.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,_=Math.abs(l.clientWidth-v.clientWidth-g),y=getComputedStyle(l).scrollbarGutter==="stable both-edges"?_/2:_;y<=y$&&(s-=y)}return{width:s,height:i,x:c,y:d}}function b$(e,t){const n=Ba(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,l=vr(e),o=e.clientWidth*l.x,s=e.clientHeight*l.y,i=r*l.x,c=a*l.y;return{width:o,height:s,x:i,y:c}}function Vf(e,t,n){let a;if(t==="viewport"||t==="layoutViewport")a=g$(e,n,t);else if(t==="document")a=m$(Jn(e));else if(wn(t))a=b$(t,n);else{const r=pm(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return No(a)}function _$(e,t){const n=t.get(e);if(n)return n;let a=wl(e,[],!1).filter(s=>wn(s)&&Va(s)!=="body"),r=null;const l=kn(e).position==="fixed";let o=l?Fa(e):e;for(;wn(o)&&!xl(o);){const s=kn(o),i=bc(o),c=r?r.position:l?"fixed":"";!i&&(c==="fixed"||c==="absolute"&&s.position==="static")?a=a.filter(f=>f!==o):r=s,o=Fa(o)}return t.set(e,a),a}function x$(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const o=[...n==="clippingAncestors"?Ps(t)?[]:_$(t,this._c):[].concat(n),a],s=Vf(t,o[0],r);let i=s.top,c=s.right,d=s.bottom,f=s.left;for(let p=1;p{s(!1,1e-7)},1e3)}U=!1}try{a=new IntersectionObserver(H,{...J,root:l.ownerDocument})}catch{a=new IntersectionObserver(H,J)}a.observe(e)}const i=Rt(e),c=()=>s(n);return i.addEventListener("resize",c),s(!0),()=>{i.removeEventListener("resize",c),o()}}function A$(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:r=!0,ancestorResize:l=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:i=!1}=a,c=xc(e),d=r||l?[...c?wl(c):[],...t?wl(t):[]]:[];d.forEach(y=>{r&&y.addEventListener("scroll",n),l&&y.addEventListener("resize",n)});const f=c&&s?E$(c,n,l):null;let p=-1,v=null;o&&(v=new ResizeObserver(y=>{let[x]=y;x&&x.target===c&&v&&t&&(v.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var S;(S=v)==null||S.observe(t)})),n()}),c&&!i&&v.observe(c),t&&v.observe(t));let m,g=i?Ba(e):null;i&&_();function _(){const y=Ba(e);g&&!mm(g,y)&&n(),g=y,m=requestAnimationFrame(_)}return n(),()=>{var y;d.forEach(x=>{r&&x.removeEventListener("scroll",n),l&&x.removeEventListener("resize",n)}),f?.(),(y=v)==null||y.disconnect(),v=null,i&&cancelAnimationFrame(m)}}const D$=r$,P$=l$,jf=t$,O$=s$,M$=n$,T$=e$,R$=o$,q$=(e,t,n)=>{const a=new Map,r=n??{},l={...S$,...r.platform,_c:a};return Xk(e,t,{...r,platform:l})};function I$(e){return e!=null&&typeof e=="object"&&"$el"in e}function gu(e){if(I$(e)){const t=e.$el;return gc(t)&&Va(t)==="#comment"?null:t}return e}function ar(e){return typeof e=="function"?e():u(e)}function F$(e){return{name:"arrow",options:e,fn(t){const n=gu(ar(e.element));return n==null?{}:T$({element:n,padding:e.padding}).fn(t)}}}function ym(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Uf(e,t){const n=ym(e);return Math.round(t*n)/n}function B$(e,t,n){n===void 0&&(n={});const a=n.whileElementsMounted,r=w(()=>{var U;return(U=ar(n.open))!=null?U:!0}),l=w(()=>ar(n.middleware)),o=w(()=>{var U;return(U=ar(n.placement))!=null?U:"bottom"}),s=w(()=>{var U;return(U=ar(n.strategy))!=null?U:"absolute"}),i=w(()=>{var U;return(U=ar(n.transform))!=null?U:!0}),c=w(()=>gu(e.value)),d=w(()=>gu(t.value)),f=T(0),p=T(0),v=T(s.value),m=T(o.value),g=es({}),_=T(!1),y=w(()=>{const U={position:v.value,left:"0",top:"0"};if(!d.value)return U;const H=Uf(d.value,f.value),k=Uf(d.value,p.value);return i.value?{...U,transform:"translate("+H+"px, "+k+"px)",...ym(d.value)>=1.5&&{willChange:"transform"}}:{position:v.value,left:H+"px",top:k+"px"}});let x;function S(){if(c.value==null||d.value==null)return;const U=r.value;q$(c.value,d.value,{middleware:l.value,placement:o.value,strategy:s.value}).then(H=>{f.value=H.x,p.value=H.y,v.value=H.strategy,m.value=H.placement,g.value=H.middlewareData,_.value=U!==!1})}function A(){typeof x=="function"&&(x(),x=void 0)}function V(){if(A(),a===void 0){S();return}if(c.value!=null&&d.value!=null){x=a(c.value,d.value,S);return}}function J(){r.value||(_.value=!1)}return Fe([l,o,s,r],S,{flush:"sync"}),Fe([c,d],V,{flush:"sync"}),Fe(r,J,{flush:"sync"}),Du()&&yp(A),{x:Ka(f),y:Ka(p),strategy:Ka(v),placement:Ka(m),middlewareData:Ka(g),isPositioned:Ka(_),floatingStyles:y,update:S}}const gm={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[vT,N$]=xt("PopperContent");var V$=ee({inheritAttrs:!1,__name:"PopperContent",props:tv({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...gm}),emits:["placed"],setup(e,{emit:t}){const n=e,a=t,r=lm(),{forwardRef:l,currentElement:o}=Ke(),s=T(),i=T(),{width:c,height:d}=Pw(i),f=w(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),p=w(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),v=w(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),m=w(()=>({padding:p.value,boundary:v.value.filter(Vk),altBoundary:v.value.length>0})),g=w(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=ox(()=>[D$({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&jf({...m.value,...g.value}),n.avoidCollisions&&P$({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?R$():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&jf({...m.value,...g.value}),O$({...m.value,apply:({elements:D,rects:N,availableWidth:W,availableHeight:B})=>{const{width:Q,height:ne}=N.reference,ce=D.floating.style;ce.setProperty("--reka-popper-available-width",`${W}px`),ce.setProperty("--reka-popper-available-height",`${B}px`),ce.setProperty("--reka-popper-anchor-width",`${Q}px`),ce.setProperty("--reka-popper-anchor-height",`${ne}px`)}}),i.value&&F$({element:i.value,padding:n.arrowPadding}),Lk({arrowWidth:c.value,arrowHeight:d.value}),n.hideWhenDetached&&M$({strategy:"referenceHidden",...m.value})]),y=w(()=>n.reference??r.anchor.value),{floatingStyles:x,placement:S,isPositioned:A,middlewareData:V}=B$(y,s,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...D)=>A$(...D,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:_}),J=w(()=>hu(S.value)[0]),U=w(()=>hu(S.value)[1]);Up(()=>{A.value&&a("placed")});const H=w(()=>{const D=V.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&D}),k=T("");Xt(()=>{o.value&&(k.value=window.getComputedStyle(o.value).zIndex)});const I=w(()=>V.value.arrow?.x??0),G=w(()=>V.value.arrow?.y??0);return N$({placedSide:J,onArrowChange:D=>i.value=D,arrowX:I,arrowY:G,shouldHideArrow:H}),(D,N)=>(h(),$("div",{ref_key:"floatingRef",ref:s,"data-reka-popper-content-wrapper":"",style:Fn({...u(x),transform:u(A)?u(x).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:k.value,"--reka-popper-transform-origin":[u(V).transformOrigin?.x,u(V).transformOrigin?.y].join(" "),...u(V).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[z(u(Ye),Ve({ref:u(l)},D.$attrs,{"as-child":n.asChild,as:D.as,"data-side":J.value,"data-align":U.value,style:{animation:u(A)?void 0:"none"}}),{default:F(()=>[he(D.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),bm=V$;const wc=["day","month","year"],kc=["hour","minute","second","dayPeriod"],_m=[...wc,...kc];function L$(e){return wc.includes(e)}function xm(e){return _m.includes(e)}const j$=["ach","af","am","an","ar","ast","az","be","bg","bn","br","bs","ca","cak","ckb","cs","cy","da","de","dsb","el","en","eo","es","et","eu","fa","ff","fi","fr","fy","ga","gd","gl","he","hr","hsb","hu","ia","id","it","ja","ka","kk","kn","ko","lb","lo","lt","lv","meh","ml","ms","nl","nn","no","oc","pl","pt","rm","ro","ru","sc","scn","sk","sl","sr","sv","szl","tg","th","tr","uk","zh-CN","zh-TW"],U$=["year","month","day"],Si={ach:{year:"mwaka",month:"dwe",day:"nino"},af:{year:"jjjj",month:"mm",day:"dd"},am:{year:"ዓዓዓዓ",month:"ሚሜ",day:"ቀቀ"},an:{year:"aaaa",month:"mm",day:"dd"},ar:{year:"سنة",month:"شهر",day:"يوم"},ast:{year:"aaaa",month:"mm",day:"dd"},az:{year:"iiii",month:"aa",day:"gg"},be:{year:"гггг",month:"мм",day:"дд"},bg:{year:"гггг",month:"мм",day:"дд"},bn:{year:"yyyy",month:"মিমি",day:"dd"},br:{year:"bbbb",month:"mm",day:"dd"},bs:{year:"gggg",month:"mm",day:"dd"},ca:{year:"aaaa",month:"mm",day:"dd"},cak:{year:"jjjj",month:"ii",day:"q'q'"},ckb:{year:"ساڵ",month:"مانگ",day:"ڕۆژ"},cs:{year:"rrrr",month:"mm",day:"dd"},cy:{year:"bbbb",month:"mm",day:"dd"},da:{year:"åååå",month:"mm",day:"dd"},de:{year:"jjjj",month:"mm",day:"tt"},dsb:{year:"llll",month:"mm",day:"źź"},el:{year:"εεεε",month:"μμ",day:"ηη"},en:{year:"yyyy",month:"mm",day:"dd"},eo:{year:"jjjj",month:"mm",day:"tt"},es:{year:"aaaa",month:"mm",day:"dd"},et:{year:"aaaa",month:"kk",day:"pp"},eu:{year:"uuuu",month:"hh",day:"ee"},fa:{year:"سال",month:"ماه",day:"روز"},ff:{year:"hhhh",month:"ll",day:"ññ"},fi:{year:"vvvv",month:"kk",day:"pp"},fr:{year:"aaaa",month:"mm",day:"jj"},fy:{year:"jjjj",month:"mm",day:"dd"},ga:{year:"bbbb",month:"mm",day:"ll"},gd:{year:"bbbb",month:"mm",day:"ll"},gl:{year:"aaaa",month:"mm",day:"dd"},he:{year:"שנה",month:"חודש",day:"יום"},hr:{year:"gggg",month:"mm",day:"dd"},hsb:{year:"llll",month:"mm",day:"dd"},hu:{year:"éééé",month:"hh",day:"nn"},ia:{year:"aaaa",month:"mm",day:"dd"},id:{year:"tttt",month:"bb",day:"hh"},it:{year:"aaaa",month:"mm",day:"gg"},ja:{year:" 年 ",month:"月",day:"日"},ka:{year:"წწწწ",month:"თთ",day:"რრ"},kk:{year:"жжжж",month:"аа",day:"кк"},kn:{year:"ವವವವ",month:"ಮಿಮೀ",day:"ದಿದಿ"},ko:{year:"연도",month:"월",day:"일"},lb:{year:"jjjj",month:"mm",day:"dd"},lo:{year:"ປປປປ",month:"ດດ",day:"ວວ"},lt:{year:"mmmm",month:"mm",day:"dd"},lv:{year:"gggg",month:"mm",day:"dd"},meh:{year:"aaaa",month:"mm",day:"dd"},ml:{year:"വർഷം",month:"മാസം",day:"തീയതി"},ms:{year:"tttt",month:"mm",day:"hh"},nl:{year:"jjjj",month:"mm",day:"dd"},nn:{year:"åååå",month:"mm",day:"dd"},no:{year:"åååå",month:"mm",day:"dd"},oc:{year:"aaaa",month:"mm",day:"jj"},pl:{year:"rrrr",month:"mm",day:"dd"},pt:{year:"aaaa",month:"mm",day:"dd"},rm:{year:"oooo",month:"mm",day:"dd"},ro:{year:"aaaa",month:"ll",day:"zz"},ru:{year:"гггг",month:"мм",day:"дд"},sc:{year:"aaaa",month:"mm",day:"dd"},scn:{year:"aaaa",month:"mm",day:"jj"},sk:{year:"rrrr",month:"mm",day:"dd"},sl:{year:"llll",month:"mm",day:"dd"},sr:{year:"гггг",month:"мм",day:"дд"},sv:{year:"åååå",month:"mm",day:"dd"},szl:{year:"rrrr",month:"mm",day:"dd"},tg:{year:"сссс",month:"мм",day:"рр"},th:{year:"ปปปป",month:"ดด",day:"วว"},tr:{year:"yyyy",month:"aa",day:"gg"},uk:{year:"рррр",month:"мм",day:"дд"},"zh-CN":{year:"年",month:"月",day:"日"},"zh-TW":{year:"年",month:"月",day:"日"}};function z$(e){if(zf(e))return Si[e];{const t=G$(e);return zf(t)?Si[t]:Si.en}}function Ei(e,t,n){return H$(e)?z$(n)[e]:W$(e)?t:K$(e)?"––":""}function zf(e){return j$.includes(e)}function H$(e){return U$.includes(e)}function K$(e){return e==="hour"||e==="minute"||e==="second"}function W$(e){return e==="era"||e==="dayPeriod"}function G$(e){return Intl.Locale?new Intl.Locale(e).language:e.split("-")[0]}const Y$=["hour","minute","second"];function bu(e){return Object.fromEntries(kc.map(t=>t==="dayPeriod"?[t,e.formatter.dayPeriod(zt(e.value))]:[t,e.value[t]]))}function Hf(e){const{formatter:t}=e,n=wc.map(a=>[a,e.value[a]]);if("hour"in e.value){const a=bu({value:e.value,formatter:t});return{...Object.fromEntries(n),...a}}return Object.fromEntries(n)}function J$(e){return Object.fromEntries(kc.map(t=>t==="dayPeriod"?[t,"AM"]:[t,null]).filter(([t])=>!(t==="literal"||t===null||e==="minute"&&t==="second"||e==="hour"&&(t==="second"||t==="minute"))))}function Z$(e){const t=_m.map(n=>n==="dayPeriod"?[n,"AM"]:[n,null]).filter(([n])=>n==="literal"||n===null||e==="minute"&&n==="second"||e==="hour"&&(n==="second"||n==="minute")?!1:e==="day"?!Y$.includes(n)&&n!=="dayPeriod":!0);return Object.fromEntries(t)}function Q$(e){const{segmentValues:t,formatter:n,locale:a}=e;function r(o){if("hour"in t){const s=t[o];return s!==null?o==="day"?n.part(e.dateRef.set({[o]:s,month:t.month??1}),o,{hourCycle:bl(e.hourCycle)}):n.part(e.dateRef.set({[o]:s}),o,{hourCycle:bl(e.hourCycle)}):Ei(o,"",a.value)}else{if(L$(o)){const s=t[o];return s!==null?o==="day"?n.part(e.dateRef.set({[o]:s,month:t.month??1}),o):n.part(e.dateRef.set({[o]:s}),o):Ei(o,"",a.value)}return""}}return Object.keys(t).reduce((o,s)=>{if(!xm(s))return o;if("hour"in t&&s==="dayPeriod"){const i=t[s];i!==null?o[s]=i:o[s]=Ei(s,"AM",a.value)}else o[s]=r(s);return o},{})}function X$(e){const{granularity:t,formatter:n,contentObj:a,hideTimeZone:r,hourCycle:l,isTimeValue:o}=e;return n.toParts(e.dateRef,$w(t,l,o)).map(c=>["literal","timeZoneName",null].includes(c.type)||!xm(c.type)?{part:c.type,value:c.value}:{part:c.type,value:a[c.type]}).filter(c=>!(c.part===null||c.value===null||c.part==="timeZoneName"&&(!gl(e.dateRef)||r)||(!gl(e.dateRef)||r)&&c.part==="literal"&&["[","]"].includes(c.value.trim())))}function wm(e){const t=Q$(e),n=X$({contentObj:t,...e});return{obj:t,arr:n}}function Dn(e){const t=Or();return e===t.ARROW_RIGHT||e===t.ARROW_LEFT}function Da(e){return!Number.isNaN(Number.parseInt(e))}function ea(e){const t=Or();return!!([t.ENTER,t.ARROW_UP,t.ARROW_DOWN,t.ARROW_LEFT,t.ARROW_RIGHT,t.BACKSPACE,t.SPACE,"a","A","p","P"].includes(e)||Da(e))}function Kf(e){return Array.from(e.querySelectorAll("[data-reka-date-field-segment]")).filter(t=>t.getAttribute("data-reka-date-field-segment")!=="literal")}function Wf(e){return Array.from(e.querySelectorAll("[data-reka-time-field-segment]")).filter(t=>t.getAttribute("data-reka-time-field-segment")!=="literal")}const e2=/^\d$/;function xa(e){return{role:"spinbutton",contenteditable:!0,tabindex:e.disabled?void 0:0,spellcheck:!1,inputmode:"numeric",autocorrect:"off",enterkeyhint:"next",style:"caret-color: transparent;"}}function t2(e){const{segmentValues:t,placeholder:n}=e,a=t.day===null,r={};t.day&&(r.day=t.day),t.month&&(r.month=t.month);const l=Object.keys(r).length>0?n.set(r):n,o=l.day,s=1,i=da(l),c=a?"Empty":`${o}`;return{...xa(e),"aria-label":"day,","aria-valuemin":s,"aria-valuemax":i,"aria-valuenow":o,"aria-valuetext":c,"data-placeholder":a?"":void 0}}function n2(e){const{segmentValues:t,placeholder:n,formatter:a}=e,r=t.month===null,l=t.month?n.set({month:t.month}):n,o=l.month,s=1,i=12,c=r?"Empty":`${o} - ${a.fullMonth(zt(l))}`;return{...xa(e),"aria-label":"month, ",contenteditable:!0,"aria-valuemin":s,"aria-valuemax":i,"aria-valuenow":o,"aria-valuetext":c,"data-placeholder":r?"":void 0}}function a2(e){const{segmentValues:t,placeholder:n}=e,a=t.year===null,r=t.year?n.set({year:t.year}):n,l=1,o=9999,s=r.year,i=a?"Empty":`${s}`;return{...xa(e),"aria-label":"year, ","aria-valuemin":l,"aria-valuemax":o,"aria-valuenow":s,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function r2(e){const{segmentValues:t,hourCycle:n,placeholder:a}=e;if(!("hour"in t)||!("hour"in a))return{};const r=t.hour===null,l=t.hour?a.set({hour:t.hour}):a,o=n===12?1:0,s=n===12?12:23,i=l.hour,c=r?"Empty":`${i} ${t.dayPeriod??""}`;return{...xa(e),"aria-label":"hour, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":i,"aria-valuetext":c,"data-placeholder":r?"":void 0}}function l2(e){const{segmentValues:t,placeholder:n}=e;if(!("minute"in t)||!("minute"in n))return{};const a=t.minute===null,l=(t.minute?n.set({minute:t.minute}):n).minute,o=0,s=59,i=a?"Empty":`${l}`;return{...xa(e),"aria-label":"minute, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":l,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function o2(e){const{segmentValues:t,placeholder:n}=e;if(!("second"in t)||!("second"in n))return{};const a=t.second===null,l=(t.second?n.set({second:t.second}):n).second,o=0,s=59,i=a?"Empty":`${l}`;return{...xa(e),"aria-label":"second, ","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":l,"aria-valuetext":i,"data-placeholder":a?"":void 0}}function s2(e){const{segmentValues:t}=e;if(!("dayPeriod"in t))return{};const n=0,a=12,r=t.hour?t.hour>12?t.hour-12:t.hour:0,l=t.dayPeriod??"AM";return{...xa(e),inputmode:"text","aria-label":"AM/PM","aria-valuemin":n,"aria-valuemax":a,"aria-valuenow":r,"aria-valuetext":l}}function i2(e){return{"aria-hidden":!0,"data-segment":"literal"}}function u2(e){return{role:"textbox","aria-label":"timezone, ","data-readonly":!0,"data-segment":"timeZoneName",tabindex:e.disabled?void 0:0,style:"caret-color: transparent;"}}function c2(e){const{segmentValues:t,placeholder:n}=e,a=0,r=0,l=0,o="era"in t?t.era:n.era;return{...xa(e),"aria-label":"era","aria-valuemin":a,"aria-valuemax":r,"aria-valuenow":l,"aria-valuetext":o}}const d2={day:{attrs:t2},month:{attrs:n2},year:{attrs:a2},hour:{attrs:r2},minute:{attrs:l2},second:{attrs:o2},dayPeriod:{attrs:s2},literal:{attrs:i2},timeZoneName:{attrs:u2},era:{attrs:c2}};function km(e){const t=Or();function n({e:k,part:I,dateRef:G,prevValue:D}){const N=e.step.value[I]??1,W=k.key===t.ARROW_UP?N:-N,B=0,Q=59;if(D===null)return W>0?B:Q;const ne=[I,W];return G.set({[I]:D}).cycle(...ne)[I]}function a(k){if(e.hasLeftFocus.value=!1,k===null)return k;const I=k.toString();return I.length===1?(e.modelValue.value=void 0,null):Number.parseInt(I.slice(0,-1))}function r({e:k,part:I,dateRef:G,prevValue:D}){const N=e.step.value[I]??1,W=k.key===t.ARROW_UP?N:-N;if(D===null)return G[I];if(I==="hour"&&"hour"in G){const Q=[I,W];return G.set({[I]:D}).cycle(...Q)[I]}const B=[I,W];return I==="day"?G.set({[I]:D,month:e.segmentValues.value.month??1}).cycle(...B)[I]:G.set({[I]:D}).cycle(...B)[I]}function l(k,I,G){let D=!1;const N=Math.floor(k/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,G=null),G===null)return I===0?(e.lastKeyZero.value=!0,{value:null,moveToNext:D}):((e.lastKeyZero.value||I>N)&&(D=!0),e.lastKeyZero.value=!1,{value:I,moveToNext:D});const W=G.toString().length,B=Number.parseInt(G.toString()+I.toString());return W===2||B>k?((I>N||B>k)&&(D=!0),{value:I,moveToNext:D}):(D=!0,{value:B,moveToNext:D})}function o(k,I){let D=!1;const N=Math.floor(59/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,I=null),I===null)return k===0?(e.lastKeyZero.value=!0,{value:0,moveToNext:D}):((e.lastKeyZero.value||k>N)&&(D=!0),e.lastKeyZero.value=!1,{value:k,moveToNext:D});const W=I.toString().length,B=Number.parseInt(I.toString()+k.toString());return W===2||B>59?(k>N&&(D=!0),{value:k,moveToNext:D}):(D=!0,{value:B,moveToNext:D})}function s(k,I,G){let D=!1;const N=Math.floor(k/10);if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,e.lastKeyZero.value=!1,G=null),G===null)return I===0?(e.lastKeyZero.value=!0,{value:0,moveToNext:D}):((e.lastKeyZero.value||I>N)&&(D=!0),e.lastKeyZero.value=!1,{value:I,moveToNext:D});const W=G.toString().length,B=Number.parseInt(G.toString()+I.toString());return W===2||B>k?(I>N&&(D=!0),{value:I,moveToNext:D}):(D=!0,{value:B,moveToNext:D})}function i(k,I){let G=!1;if(e.hasLeftFocus.value&&(e.hasLeftFocus.value=!1,I=null),I===null)return{value:k===0?1:k,moveToNext:G};const D=I.toString()+k.toString();return D.length>4?{value:k===0?1:k,moveToNext:G}:(D.length===4&&(G=!0),{value:Number.parseInt(D),moveToNext:G})}const c=w(()=>d2[e.part]?.attrs({disabled:e.disabled.value,placeholder:e.placeholder.value,hourCycle:e.hourCycle,segmentValues:e.segmentValues.value,formatter:e.formatter})??{});function d(k){if(!ea(k.key)||Dn(k.key))return;const I=e.segmentValues.value.day;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.day=r({e:k,part:"day",dateRef:e.placeholder.value,prevValue:I});return}if(Da(k.key)){const G=Number.parseInt(k.key),D=e.segmentValues.value.month,N=D?da(e.placeholder.value.set({month:D})):31,{value:W,moveToNext:B}=l(N,G,I);e.segmentValues.value.day=W,B&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.day=a(I))}function f(k){if(!ea(k.key)||Dn(k.key))return;const I=e.segmentValues.value.month;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.month=r({e:k,part:"month",dateRef:e.placeholder.value,prevValue:I});return}if(Da(k.key)){const G=Number.parseInt(k.key),{value:D,moveToNext:N}=l(12,G,I);e.segmentValues.value.month=D,N&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.month=a(I))}function p(k){if(!ea(k.key)||Dn(k.key))return;const I=e.segmentValues.value.year;if(k.key===t.ARROW_DOWN||k.key===t.ARROW_UP){e.segmentValues.value.year=r({e:k,part:"year",dateRef:e.placeholder.value,prevValue:I});return}if(Da(k.key)){const G=Number.parseInt(k.key),{value:D,moveToNext:N}=i(G,I);e.segmentValues.value.year=D,N&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.year=a(I))}function v(k){const I=new Yt(k,{hour:"numeric"}).resolvedOptions().hourCycle;return I==="h11"||I==="h12"}function m(k){const I=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("hour"in I)||!("hour"in e.segmentValues.value))return;const G=e.segmentValues.value.hour;if(k.key===t.ARROW_UP||k.key===t.ARROW_DOWN){const D=r({e:k,part:"hour",dateRef:e.placeholder.value,prevValue:G});e.segmentValues.value.hour=D,"dayPeriod"in e.segmentValues.value&&D!==null&&(e.segmentValues.value.dayPeriod=D>=12?"PM":"AM");return}if(Da(k.key)){const D=Number.parseInt(k.key),N=e.hourCycle!==void 0?e.hourCycle===12:v(e.formatter.getLocale()),W=N?12:24;let B=G;N&&G!==null&&(B=G%12===0?0:G>12?G-12:G);const{value:Q,moveToNext:ne}=s(W,D,B);let ce=Q;if(N&&Q!==null){const te=e.segmentValues.value.dayPeriod||"AM";Q===12?ce=te==="AM"?0:12:ce=te==="PM"?Q+12:Q}e.segmentValues.value.hour=ce,ne&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.hour=a(G))}function g(k){const I=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("minute"in I)||!("minute"in e.segmentValues.value))return;const G=e.segmentValues.value.minute;if((k.key===t.ARROW_UP||k.key===t.ARROW_DOWN)&&(e.segmentValues.value.minute=n({e:k,part:"minute",dateRef:e.placeholder.value,prevValue:G})),Da(k.key)){const D=Number.parseInt(k.key),{value:N,moveToNext:W}=o(D,G);e.segmentValues.value.minute=N,W&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.minute=a(G))}function _(k){const I=e.placeholder.value;if(!ea(k.key)||Dn(k.key)||!("second"in I)||!("second"in e.segmentValues.value))return;const G=e.segmentValues.value.second;if((k.key===t.ARROW_UP||k.key===t.ARROW_DOWN)&&(e.segmentValues.value.second=n({e:k,part:"second",dateRef:e.placeholder.value,prevValue:G})),Da(k.key)){const D=Number.parseInt(k.key),{value:N,moveToNext:W}=o(D,G);e.segmentValues.value.second=N,W&&e.focusNext()}k.key===t.BACKSPACE&&(e.hasLeftFocus.value=!1,e.segmentValues.value.second=a(G))}function y(k){if(!((!ea(k.key)||Dn(k.key))&&k.key!=="a"&&k.key!=="p"||!("hour"in e.placeholder.value)||!("dayPeriod"in e.segmentValues.value))){if(k.key===t.ARROW_UP||k.key===t.ARROW_DOWN){if(e.segmentValues.value.dayPeriod==="AM"){e.segmentValues.value.dayPeriod="PM",e.segmentValues.value.hour=e.segmentValues.value.hour+12;return}e.segmentValues.value.dayPeriod="AM",e.segmentValues.value.hour=e.segmentValues.value.hour-12;return}if(["a","A"].includes(k.key)&&e.segmentValues.value.dayPeriod!=="AM"){e.segmentValues.value.dayPeriod="AM",e.segmentValues.value.hour=e.segmentValues.value.hour-12;return}["p","P"].includes(k.key)&&e.segmentValues.value.dayPeriod!=="PM"&&(e.segmentValues.value.dayPeriod="PM",e.segmentValues.value.hour=e.segmentValues.value.hour+12)}}function x(k){e.disabled.value&&k.preventDefault()}function S(k){if(k.isComposing||k.key==="Process")return;const I=e.disabled.value,G=e.readonly.value;if(I||G)return;if(k.key!==t.TAB&&k.preventDefault(),{day:d,month:f,year:p,hour:m,minute:g,second:_,dayPeriod:y,timeZoneName:()=>{}}[e.part](k),![t.ARROW_LEFT,t.ARROW_RIGHT].includes(k.key)&&k.key!==t.TAB&&k.key!==t.SHIFT&&ea(k.key)&&Object.values(e.segmentValues.value).every(N=>N!==null)){const N={...e.segmentValues.value},W=e.placeholder.value.set(N);e.modelValue.value=W.copy()}}function A(){if(e.stepSnapping?.value&&(e.part==="hour"&&"hour"in e.segmentValues.value&&e.segmentValues.value.hour!==null&&e.step.value.hour&&e.step.value.hour>1?(e.segmentValues.value.hour=si(e.segmentValues.value.hour,0,23,e.step.value.hour),"dayPeriod"in e.segmentValues.value&&(e.segmentValues.value.hour<12?e.segmentValues.value.dayPeriod="AM":e.segmentValues.value.hour&&(e.segmentValues.value.dayPeriod="PM"))):e.part==="minute"&&"minute"in e.segmentValues.value&&e.segmentValues.value.minute!==null&&e.step.value.minute&&e.step.value.minute>1?e.segmentValues.value.minute=si(e.segmentValues.value.minute,0,59,e.step.value.minute):e.part==="second"&&"second"in e.segmentValues.value&&e.segmentValues.value.second!==null&&e.step.value.second&&e.step.value.second>1&&(e.segmentValues.value.second=si(e.segmentValues.value.second,0,59,e.step.value.second)),Object.values(e.segmentValues.value).every(k=>k!==null))){const k=e.placeholder.value.set({...e.segmentValues.value});e.modelValue.value=k.copy()}}let V=null;function J(k){k.isComposing||k.preventDefault()}function U(k){const I=k.target;V=Array.from(I.childNodes,G=>({node:G,value:G.nodeValue}))}function H(k){const I=k.target,G=V;if(V=null,G){for(const{node:N,value:W}of G)N.nodeValue=W;I.replaceChildren(...G.map(N=>N.node))}const D=k.data;if(D)for(const N of D){if(!e2.test(N))continue;const W=ft();if(!(W instanceof HTMLElement))break;W.dispatchEvent(new KeyboardEvent("keydown",{key:N,bubbles:!0,cancelable:!0}))}}return{handleSegmentClick:x,handleSegmentKeydown:S,handleSegmentBeforeInput:J,handleSegmentCompositionStart:U,handleSegmentCompositionEnd:H,handleSegmentFocusOut:A,attributes:c}}function f2(e){function t(l){return Array.isArray(e.date.value)?e.date.value.some(o=>pa(o,l)):e.date.value?pa(e.date.value,l):!1}const n=w(()=>{if(Array.isArray(e.date.value)){if(!e.date.value.length)return!1;for(const l of e.date.value)if(e.isDateDisabled?.(l)||e.isDateUnavailable?.(l))return!0}else{if(!e.date.value)return!1;if(e.isDateDisabled?.(e.date.value)||e.isDateUnavailable?.(e.date.value))return!0}return!1}),a=w(()=>Array.isArray(e.date.value)?e.date.value.length>0:!!e.date.value),r=w(()=>Array.isArray(e.date.value)?e.date.value.length?e.date.value.some(l=>e.isDateDisabled?.(l)):!1:e.date.value?!!e.isDateDisabled?.(e.date.value):!1);return{isDateSelected:t,isInvalid:n,hasSelectedDate:a,isSelectedDateDisabled:r}}function p2(e,t){const n=t(e),a=n.compare(e),r={};return a>=7&&(r.day=1),a>=da(e)&&(r.month=1),n.set({...r})}function v2(e,t){const n=t(e),a=e.compare(n),r={};return a>=7&&(r.day=35),a>=da(e)&&(r.month=13),n.set({...r})}function h2(e,t){return t(e)}function m2(e,t){return t(e)}function y2(e){const t=dc(e.locale.value),n=w(()=>{const y={calendar:e.placeholder.value.calendar.identifier};return e.placeholder.value.calendar.identifier==="gregory"&&e.placeholder.value.era==="BC"&&(y.era="short"),y}),a=T(Sa({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})),r=w(()=>a.value.map(y=>y.value));function l(y){return!r.value.some(x=>of(y,x))}const o=y=>{if(!e.maxValue.value||!a.value.length)return!1;if(e.disabled.value)return!0;const x=a.value.at(-1).value;if(!y&&!e.nextPage.value){const A=x.add({months:1}).set({day:1});return yi(A,e.maxValue.value)}const S=p2(x,y||e.nextPage.value);return yi(S,e.maxValue.value)},s=y=>{if(!e.minValue.value||!a.value.length)return!1;if(e.disabled.value)return!0;const x=a.value[0].value;if(!y&&!e.prevPage.value){const A=x.subtract({months:1}).set({day:35});return ia(A,e.minValue.value)}const S=v2(x,y||e.prevPage.value);return ia(S,e.minValue.value)};function i(y){return!!(e.isDateDisabled?.(y)||e.disabled.value||e.maxValue.value&&yi(y,e.maxValue.value)||e.minValue.value&&ia(y,e.minValue.value))}const c=y=>!!e.isDateUnavailable?.(y),d=w(()=>a.value.length?a.value[0].rows[0].map(y=>t.dayOfWeek(zt(y),e.weekdayFormat.value)):[]),f=y=>{const x=a.value[0].value;if(!y&&!e.nextPage.value){const J=x.add({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),U=Sa({dateObj:J,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=U,e.placeholder.value=U[0].value.set({day:1});return}const S=h2(x,y||e.nextPage.value),A=Sa({dateObj:S,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=A;const V={};if(!y){const J=A[0].value.compare(x);J>=da(x)&&(V.day=1),J>=365&&(V.month=1)}e.placeholder.value=A[0].value.set({...V})},p=y=>{const x=a.value[0].value;if(!y&&!e.prevPage.value){const J=x.subtract({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),U=Sa({dateObj:J,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=U,e.placeholder.value=U[0].value.set({day:1});return}const S=m2(x,y||e.prevPage.value),A=Sa({dateObj:S,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});a.value=A;const V={};if(!y){const J=x.compare(A[0].value);J>=da(x)&&(V.day=1),J>=365&&(V.month=1)}e.placeholder.value=A[0].value.set({...V})};Fe(e.placeholder,y=>{r.value.some(x=>of(x,y))||(a.value=Sa({dateObj:y,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value}))}),Fe([e.locale,e.weekStartsOn,e.fixedWeeks,e.numberOfMonths],()=>{a.value=Sa({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})});const v=w(()=>{if(!a.value.length)return"";if(e.locale.value!==t.getLocale()&&t.setLocale(e.locale.value),a.value.length===1){const H=a.value[0].value;return`${t.fullMonthAndYear(zt(H),n.value)}`}const y=zt(a.value[0].value),x=zt(a.value.at(-1).value),S=t.fullMonth(y,n.value),A=t.fullMonth(x,n.value),V=t.fullYear(y,n.value),J=t.fullYear(x,n.value);return V===J?`${S} - ${A} ${J}`:`${S} ${V} - ${A} ${J}`}),m=w(()=>`${e.calendarLabel.value??"Event Date"}, ${v.value}`),g=w(()=>!(i(e.placeholder.value)||c(e.placeholder.value)||l(e.placeholder.value))),_=w(()=>{for(const y of a.value){if(e.minValue.value&&ia(y.value,e.minValue.value))continue;const x=da(y.value),S=e.minValue.value&&Xu(e.minValue.value,y.value)?e.minValue.value.day:1;for(let A=S;A<=x;A++){const V=y.value.set({day:A});if(!(i(V)||c(V)))return V}}});return{isDateDisabled:i,isDateUnavailable:c,isNextButtonDisabled:o,isPrevButtonDisabled:s,grid:a,weekdays:d,visibleView:r,isOutsideVisibleView:l,formatter:t,nextPage:f,prevPage:p,headingValue:v,fullCalendarLabel:m,isPlaceholderFocusable:g,firstFocusableDate:_}}const g2={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},b2={role:"heading","aria-level":"2"},[Tr,_2]=xt("CalendarRoot");var x2=ee({__name:"CalendarRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},calendarLabel:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1,default:1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},isDateUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(e,{emit:t}){const n=e,a=t,{disabled:r,readonly:l,initialFocus:o,pagedNavigation:s,weekdayFormat:i,fixedWeeks:c,multiple:d,minValue:f,maxValue:p,numberOfMonths:v,preventDeselect:m,isDateDisabled:g,isDateUnavailable:_,calendarLabel:y,defaultValue:x,nextPage:S,prevPage:A,dir:V,locale:J,disableDaysOutsideCurrentView:U}=Lt(n),{primitiveElement:H,currentElement:k}=Cr(),I=$s(J),G=Na(V),D=w(()=>n.weekStartsOn??Gh(I.value)),N=bt(n,"modelValue",a,{defaultValue:x.value,passive:n.modelValue===void 0}),W=cc({defaultPlaceholder:n.placeholder,defaultValue:N.value,locale:n.locale}),B=bt(n,"placeholder",a,{defaultValue:n.defaultPlaceholder??W.copy(),passive:n.placeholder===void 0});function Q(M){B.value=M.copy()}const{fullCalendarLabel:ne,headingValue:ce,isDateDisabled:te,isDateUnavailable:ie,isNextButtonDisabled:le,isPrevButtonDisabled:re,weekdays:we,isOutsideVisibleView:ue,nextPage:Ce,prevPage:pe,formatter:Z,grid:ve,isPlaceholderFocusable:X,firstFocusableDate:de}=y2({locale:I,placeholder:B,weekStartsOn:D,fixedWeeks:c,numberOfMonths:v,minValue:f,maxValue:p,disabled:r,weekdayFormat:i,pagedNavigation:s,isDateDisabled:g.value,isDateUnavailable:_.value,calendarLabel:y,nextPage:S,prevPage:A}),{isInvalid:ge,isDateSelected:b,hasSelectedDate:C,isSelectedDateDisabled:E}=f2({date:N,isDateDisabled:te,isDateUnavailable:ie});Fe(N,M=>{if(Array.isArray(M)&&M.length){const K=M.at(-1);K&&!dr(B.value,K)&&Q(K)}else!Array.isArray(M)&&M&&!dr(B.value,M)&&Q(M)});function Y(M){if(d.value){if(!N.value)N.value=[M.copy()];else if(Array.isArray(N.value)){if(N.value.findIndex(oe=>pa(oe,M))===-1)N.value=[...N.value,M];else if(!m.value){const oe=N.value.filter(se=>!pa(se,M));if(!oe.length){B.value=M.copy(),N.value=void 0;return}N.value=oe.map(se=>se.copy())}}}else{if(!N.value){N.value=M.copy();return}!m.value&&dr(N.value,M)?(B.value=M.copy(),N.value=void 0):N.value=M.copy()}}return _t(()=>{o.value&&Kh(k.value)}),_2({isDateUnavailable:ie,dir:G,isDateDisabled:te,locale:I,formatter:Z,modelValue:N,placeholder:B,disabled:r,initialFocus:o,pagedNavigation:s,grid:ve,weekDays:we,weekStartsOn:D,weekdayFormat:i,fixedWeeks:c,multiple:d,numberOfMonths:v,readonly:l,preventDeselect:m,fullCalendarLabel:ne,headingValue:ce,isInvalid:ge,isDateSelected:b,isNextButtonDisabled:le,isPrevButtonDisabled:re,isOutsideVisibleView:ue,nextPage:Ce,prevPage:pe,parentElement:k,onPlaceholderChange:Q,onDateChange:Y,disableDaysOutsideCurrentView:U,minValue:f,maxValue:p,isPlaceholderFocusable:X,firstFocusableDate:de,hasSelectedDate:C,isSelectedDateDisabled:E}),(M,K)=>(h(),j(u(Ye),{ref_key:"primitiveElement",ref:H,as:M.as,"as-child":M.asChild,"aria-label":u(ne),"data-readonly":u(l)?"":void 0,"data-disabled":u(r)?"":void 0,"data-invalid":u(ge)?"":void 0,dir:u(G)},{default:F(()=>[he(M.$slots,"default",{date:u(B),grid:u(ve),weekDays:u(we),weekStartsOn:D.value,locale:u(I),fixedWeeks:u(c),modelValue:u(N)}),O("div",g2,[O("div",b2,R(u(ne)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),w2=x2,k2=ee({__name:"CalendarCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=Tr();return(n,a)=>(h(),j(u(Ye),{as:n.as,"as-child":n.asChild,role:"gridcell","aria-selected":u(t).isDateSelected(n.date)?!0:void 0,"aria-disabled":u(t).isDateDisabled(n.date)||u(t).isDateUnavailable?.(n.date)||u(t).disableDaysOutsideCurrentView.value,"data-disabled":u(t).isDateDisabled(n.date)||u(t).disableDaysOutsideCurrentView.value?"":void 0},{default:F(()=>[he(n.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),$2=k2,C2=ee({__name:"CalendarCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,n=Or(),a=Tr(),{primitiveElement:r}=Cr(),l=w(()=>t.day.day.toLocaleString(a.locale.value)),o=w(()=>a.formatter.custom(zt(t.day),{weekday:"long",month:"long",day:"numeric",year:"numeric"})),s=w(()=>a.isDateUnavailable?.(t.day)??!1),i=w(()=>Dx(t.day,ln())),c=w(()=>!Xu(t.day,t.month)),d=w(()=>a.isOutsideVisibleView(t.day)),f=w(()=>a.isDateDisabled(t.day)||a.disableDaysOutsideCurrentView.value&&c.value),p=w(()=>c.value||f.value?!1:!a.disabled.value&&a.isPlaceholderFocusable.value&&pa(t.day,a.placeholder.value)?!0:(!a.hasSelectedDate.value||a.isSelectedDateDisabled.value)&&!a.isPlaceholderFocusable.value?a.firstFocusableDate.value&&pa(t.day,a.firstFocusableDate.value):!1),v=w(()=>a.isDateSelected(t.day));function m(y){a.readonly.value||a.isDateDisabled(y)||a.isDateUnavailable?.(y)||a.onDateChange(y)}function g(){f.value||m(t.day)}function _(y){if(f.value)return;y.preventDefault(),y.stopPropagation();const x=a.parentElement.value,S=7,A=a.dir.value==="rtl"?-1:1;switch(y.code){case n.ARROW_RIGHT:V(t.day,A);break;case n.ARROW_LEFT:V(t.day,-A);break;case n.ARROW_UP:V(t.day,-S);break;case n.ARROW_DOWN:V(t.day,S);break;case n.ENTER:case n.SPACE_CODE:m(t.day)}function V(J,U){const H=J.add({days:U});if(a.minValue.value&&H.compare(a.minValue.value)<0||a.maxValue.value&&H.compare(a.maxValue.value)>0)return;const k=x.querySelector(`[data-value='${H.toString()}']:not([data-outside-view])`);if(!k){if(U>0){if(a.isNextButtonDisabled())return;a.nextPage()}else{if(a.isPrevButtonDisabled())return;a.prevPage()}ze(()=>{V(J,U)});return}if(k&&k.hasAttribute("data-disabled"))return V(H,U);a.onPlaceholderChange(H),k?.focus()}}return(y,x)=>(h(),j(u(Ye),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-calendar-cell-trigger":"","aria-disabled":f.value||s.value?!0:void 0,"data-selected":v.value?!0:void 0,"data-value":y.day.toString(),"data-disabled":f.value?"":void 0,"data-unavailable":s.value?"":void 0,"data-today":i.value?"":void 0,"data-outside-view":c.value?"":void 0,"data-outside-visible-view":d.value?"":void 0,"data-focused":p.value?"":void 0,tabindex:p.value?0:c.value||f.value?void 0:-1,onClick:g,onKeydown:[yr(_,["up","down","left","right","space","enter"]),x[0]||(x[0]=yr(pt(()=>{},["prevent"]),["enter"]))]},{default:F(()=>[he(y.$slots,"default",{dayValue:l.value,disabled:f.value,today:i.value,selected:v.value,outsideView:c.value,outsideVisibleView:d.value,unavailable:s.value},()=>[$e(R(l.value),1)])]),_:3},8,["as","as-child","aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-outside-view","data-outside-visible-view","data-focused","tabindex"]))}}),S2=C2,E2=ee({__name:"CalendarGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,n=Tr(),a=w(()=>n.disabled.value?!0:void 0),r=w(()=>n.readonly.value?!0:void 0);return(l,o)=>(h(),j(u(Ye),Ve(t,{tabindex:"-1",role:"application","aria-readonly":r.value,"aria-disabled":a.value,"data-readonly":r.value&&"","data-disabled":a.value&&""}),{default:F(()=>[he(l.$slots,"default")]),_:3},16,["aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),A2=E2,D2=ee({__name:"CalendarGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),P2=D2,O2=ee({__name:"CalendarGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"thead"}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),Ve(t,{"aria-hidden":"true"}),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),M2=O2,T2=ee({__name:"CalendarGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),R2=T2,q2=ee({__name:"CalendarHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"th"}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),I2=q2,F2=ee({__name:"CalendarHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),B2=F2,N2=ee({__name:"CalendarHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,n=Tr();return(a,r)=>(h(),j(u(Ye),Ve(t,{"data-disabled":u(n).disabled.value?"":void 0}),{default:F(()=>[he(a.$slots,"default",{headingValue:u(n).headingValue.value},()=>[$e(R(u(n).headingValue.value),1)])]),_:3},16,["data-disabled"]))}}),V2=N2,L2=ee({__name:"CalendarNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=w(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage)),a=Tr();function r(){n.value||a.nextPage(t.nextPage)}return(l,o)=>(h(),j(u(Ye),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:F(()=>[he(l.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=$e(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),j2=L2,U2=ee({__name:"CalendarPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=w(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage)),a=Tr();function r(){n.value||a.prevPage(t.prevPage)}return(l,o)=>(h(),j(u(Ye),{"aria-label":"Previous page",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:F(()=>[he(l.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=$e(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),z2=U2;const[hT,H2]=xt("RovingFocusGroup");var K2=ee({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:t,emit:n}){const a=e,r=n,{loop:l,orientation:o,dir:s}=Lt(a),i=Na(s),c=bt(a,"currentTabStopId",r,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),d=T(!1),f=T(!1),p=T(0),{getItems:v,CollectionSlot:m}=am({isProvider:!0});function g(y){const x=!f.value;if(y.currentTarget&&y.target===y.currentTarget&&x&&!d.value){const S=new CustomEvent(Rk,qk);if(y.currentTarget.dispatchEvent(S),r("entryFocus",S),!S.defaultPrevented){const A=v().map(k=>k.ref).filter(k=>k.dataset.disabled!==""),V=A.find(k=>k.getAttribute("data-active")===""),J=A.find(k=>k.getAttribute("data-highlighted")===""),U=A.find(k=>k.id===c.value),H=[V,J,U,...A].filter(Boolean);Ik(H,a.preventScrollOnEntryFocus)}}f.value=!1}function _(){setTimeout(()=>{f.value=!1},1)}return t({getItems:v}),H2({loop:l,dir:i,orientation:o,currentTabStopId:c,onItemFocus:y=>{c.value=y},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(y,x)=>(h(),j(u(m),null,{default:F(()=>[z(u(Ye),{tabindex:d.value||p.value===0?-1:0,"data-orientation":u(o),as:y.as,"as-child":y.asChild,dir:u(i),style:{outline:"none"},onMousedown:x[0]||(x[0]=S=>f.value=!0),onMouseup:_,onFocus:g,onBlur:x[1]||(x[1]=S=>d.value=!1)},{default:F(()=>[he(y.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),W2=K2,G2=ee({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(sm),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Y2=G2;function J2(){const e=T(!1);return _t(()=>{Mo("keydown",()=>{e.value=!0},{capture:!0,passive:!0}),Mo(["pointerdown","pointermove"],()=>{e.value=!1},{capture:!0,passive:!0})}),e}const Z2=vh(J2),[Ts,Q2]=xt(["MenuRoot","MenuSub"],"MenuContext"),[$c,X2]=xt("MenuRoot");var eC=ee({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{modal:r,dir:l}=Lt(n),o=Na(l),s=bt(n,"open",a),i=T(),c=Z2();return Q2({open:s,onOpenChange:d=>{s.value=d},content:i,onContentChange:d=>{i.value=d}}),X2({onClose:()=>{s.value=!1},isUsingKeyboardRef:c,dir:o,modal:r}),(d,f)=>(h(),j(u(om),null,{default:F(()=>[he(d.$slots,"default")]),_:3}))}}),tC=eC;const[$m,nC]=xt("MenuContent");var aC=ee({__name:"MenuContentImpl",props:tv({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...gm}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(e,{emit:t}){const n=e,a=t,r=Ts(),l=$c(),{trapFocus:o,disableOutsidePointerEvents:s,loop:i}=Lt(n);Yh(),Qu(s.value);const c=T(""),d=T(0),f=T(0),p=T(null),v=T("right"),m=T(0),g=T(null),_=T(),{forwardRef:y,currentElement:x}=Ke(),{handleTypeaheadSearch:S}=Mw(),A=T();function V(B){const Q=lf(B,A.value||ft(),x.value,{loop:i.value,arrowKeyOptions:"vertical",dir:l?.dir.value,focus:!1,attributeName:"[data-reka-collection-item]:not([data-disabled])"});Q&&(A.value=Q,Q.scrollIntoView({block:"nearest"}))}function J(){A.value&&A.value.click()}const U=T(),H=T();Fe(A,B=>{H.value&&(B===void 0||B!==H.value.trigger.value)&&(H.value.onOpenChange(!1),H.value=void 0)}),Fe(x,B=>{r.onContentChange(B)}),Er(()=>{window.clearTimeout(d.value)});function k(B){return v.value===p.value?.side&&ak(B,p.value?.area)}async function I(B){a("openAutoFocus",B),!B.defaultPrevented&&(B.preventDefault(),x.value?.focus({preventScroll:!0}))}function G(B){if(B.defaultPrevented)return;const Q=B.target,ne=Q.closest("[data-reka-menu-content]")===B.currentTarget,ce=["input","textarea"].includes(Q.tagName.toLowerCase()),te=B.ctrlKey||B.altKey||B.metaKey,ie=B.key.length===1,le=lf(B,ft(),x.value,{loop:i.value,arrowKeyOptions:"vertical",dir:l?.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(le)return le?.focus();if(B.code==="Space")return;const re=_.value?.getItems()??[];if(ne&&(B.key==="Tab"&&B.preventDefault(),!te&&ie&&!ce&&S(B.key,re)),B.target!==x.value||!ek.includes(B.key))return;B.preventDefault();const we=[...re.map(ue=>ue.ref)];em.includes(B.key)&&we.reverse(),tk(we)}function D(B){B?.currentTarget?.contains?.(B.target)||(window.clearTimeout(d.value),c.value="")}function N(B){if(!Io(B))return;const Q=B.target,ne=m.value!==B.clientX;if(B?.currentTarget?.contains(Q)&&ne){const ce=B.clientX>m.value?"right":"left";v.value=ce,m.value=B.clientX}}function W(B){Io(B)&&U.value&&U.value.focus()}return nC({onItemEnter:B=>!!k(B),onItemLeave:B=>k(B)?!0:(["INPUT","TEXTAREA"].includes(ft()?.tagName||"")||x.value?.focus(),g.value=null,!1),onTriggerLeave:B=>!!k(B),searchRef:c,highlightedElement:A,onKeydownNavigation:V,onKeydownEnter:J,filterElement:U,onFilterElementChange:B=>{U.value=B},activeSubmenuContext:H,pointerGraceTimerRef:f,onPointerGraceIntentChange:B=>{p.value=B}}),(B,Q)=>(h(),j(u(vc),{"as-child":"",trapped:u(o),onMountAutoFocus:I,onUnmountAutoFocus:Q[7]||(Q[7]=ne=>a("closeAutoFocus",ne))},{default:F(()=>[z(u(pc),{"as-child":"","disable-outside-pointer-events":u(s),onEscapeKeyDown:Q[2]||(Q[2]=ne=>a("escapeKeyDown",ne)),onPointerDownOutside:Q[3]||(Q[3]=ne=>a("pointerDownOutside",ne)),onFocusOutside:Q[4]||(Q[4]=ne=>a("focusOutside",ne)),onInteractOutside:Q[5]||(Q[5]=ne=>a("interactOutside",ne)),onDismiss:Q[6]||(Q[6]=ne=>a("dismiss"))},{default:F(()=>[z(u(W2),{ref_key:"rovingFocusGroupRef",ref:_,"current-tab-stop-id":g.value,"onUpdate:currentTabStopId":Q[0]||(Q[0]=ne=>g.value=ne),"as-child":"",orientation:"vertical",dir:u(l).dir.value,loop:u(i),onEntryFocus:Q[1]||(Q[1]=ne=>{a("entryFocus",ne),u(l).isUsingKeyboardRef.value||ne.preventDefault()})},{default:F(()=>[z(u(bm),{ref:u(y),role:"menu",as:B.as,"as-child":B.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":u(tm)(u(r).open.value),dir:u(l).dir.value,side:B.side,"side-offset":B.sideOffset,align:B.align,"align-offset":B.alignOffset,"avoid-collisions":B.avoidCollisions,"collision-boundary":B.collisionBoundary,"collision-padding":B.collisionPadding,"arrow-padding":B.arrowPadding,"prioritize-position":B.prioritizePosition,"position-strategy":B.positionStrategy,"update-position-strategy":B.updatePositionStrategy,sticky:B.sticky,"hide-when-detached":B.hideWhenDetached,reference:B.reference,onKeydown:G,onBlur:D,onPointermove:N,onPointerenter:W},{default:F(()=>[he(B.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),Cm=aC,rC=ee({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=$m(),{forwardRef:a,currentElement:r}=Ke(),{CollectionItem:l}=am(),o=T(!1),s=w(()=>o.value||r.value!=null&&n.highlightedElement.value===r.value);async function i(d){if(!(d.defaultPrevented||!Io(d))){if(t.disabled)n.onItemLeave(d);else if(!n.onItemEnter(d)){const p=d.currentTarget;n.highlightedElement.value=p,["INPUT","TEXTAREA"].includes(ft()?.tagName||"")||p.focus({preventScroll:!0})}}}async function c(d){if(await ze(),d.defaultPrevented||!Io(d)||n.highlightedElement.value!==r.value)return;!n.onItemLeave(d)&&n.highlightedElement.value===r.value&&(n.highlightedElement.value=void 0)}return(d,f)=>(h(),j(u(l),{value:{textValue:d.textValue}},{default:F(()=>[z(u(Ye),Ve({ref:u(a),role:"menuitem",tabindex:"-1"},d.$attrs,{as:d.as,"as-child":d.asChild,"aria-disabled":d.disabled||void 0,"data-disabled":d.disabled?"":void 0,"data-highlighted":s.value?"":void 0,onPointermove:i,onPointerleave:c,onFocus:f[0]||(f[0]=async p=>{await ze(),!(p.defaultPrevented||d.disabled)&&(o.value=!0,u(n).highlightedElement.value=p.currentTarget)}),onBlur:f[1]||(f[1]=async p=>{await ze(),!p.defaultPrevented&&(o.value=!1)})}),{default:F(()=>[he(d.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),lC=rC,oC=ee({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:l}=Ke(),o=$c(),s=$m(),i=T(!1);async function c(){const d=l.value;if(!n.disabled&&d){const f=new CustomEvent(Qw,{bubbles:!0,cancelable:!0});a("select",f),await ze(),f.defaultPrevented?i.value=!1:o.onClose()}}return(d,f)=>(h(),j(lC,Ve(n,{ref:u(r),onClick:c,onPointerdown:f[0]||(f[0]=()=>{i.value=!0}),onPointerup:f[1]||(f[1]=async p=>{await ze(),!p.defaultPrevented&&(i.value||p.currentTarget?.click())}),onKeydown:f[2]||(f[2]=async p=>{const v=u(s).searchRef.value!=="";d.disabled||v&&p.key===" "||u(vu).includes(p.key)&&(p.currentTarget?.click(),p.preventDefault())})}),{default:F(()=>[he(d.$slots,"default")]),_:3},16))}}),sC=oC,iC=ee({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Gn(n,a),l=Ts(),{forwardRef:o,currentElement:s}=Ke();return fc(s),(i,c)=>(h(),j(Cm,Ve(u(r),{ref:u(o),"trap-focus":u(l).open.value,"disable-outside-pointer-events":u(l).open.value,"disable-outside-scroll":!0,onDismiss:c[0]||(c[0]=d=>u(l).onOpenChange(!1)),onFocusOutside:c[1]||(c[1]=pt(d=>a("focusOutside",d),["prevent"]))}),{default:F(()=>[he(i.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),uC=iC,cC=ee({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t),l=Ts();return(o,s)=>(h(),j(Cm,Ve(u(r),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:s[0]||(s[0]=i=>u(l).onOpenChange(!1))}),{default:F(()=>[he(o.$slots,"default")]),_:3},16))}}),dC=cC,fC=ee({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t),l=Ts(),o=$c();return(s,i)=>(h(),j(u(Cs),{present:s.forceMount||u(l).open.value},{default:F(()=>[u(o).modal.value?(h(),j(uC,He(Ve({key:0},{...s.$attrs,...u(r)})),{default:F(()=>[he(s.$slots,"default")]),_:3},16)):(h(),j(dC,He(Ve({key:1},{...s.$attrs,...u(r)})),{default:F(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),pC=fC,vC=ee({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ss),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),hC=vC,mC=ee({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ye),Ve(t,{role:"separator","aria-orientation":"horizontal"}),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),yC=mC;const[gC,bC]=xt("DateFieldRoot");var _C=ee({inheritAttrs:!1,__name:"DateFieldRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},modelValue:{type:null,required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},isDateUnavailable:{type:Function,required:!1,default:void 0},id:{type:String,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:placeholder"],setup(e,{expose:t,emit:n}){const a=e,r=n,{disabled:l,readonly:o,isDateUnavailable:s,granularity:i,defaultValue:c,dir:d,locale:f}=Lt(a),p=$s(f),v=Na(d),m=dc(p.value,{hourCycle:bl(a.hourCycle)}),{primitiveElement:g,currentElement:_}=Cr(),y=T(new Set);_t(()=>{Kf(_.value).forEach(ue=>y.value.add(ue))});const x=bt(a,"modelValue",r,{defaultValue:c.value,passive:a.modelValue===void 0}),S=cc({defaultPlaceholder:a.placeholder,granularity:i.value,defaultValue:x.value,locale:a.locale}),A=bt(a,"placeholder",r,{defaultValue:a.defaultPlaceholder??S.copy(),passive:a.placeholder===void 0}),V=w(()=>Hh(a)),J=w(()=>a.granularity?fu(A.value)?a.granularity:"day":fu(A.value)?"minute":"day"),U=w(()=>x.value?!!(s.value?.(x.value)||a.minValue&&ia(x.value,a.minValue)||a.maxValue&&ia(a.maxValue,x.value)):!1),H=Z$(J.value),k=T(x.value?{...Hf({value:x.value,formatter:m})}:{...H}),I=w(()=>wm({granularity:J.value,dateRef:A.value,formatter:m,hideTimeZone:a.hideTimeZone,hourCycle:a.hourCycle,segmentValues:k.value,locale:p})),G=w(()=>I.value.arr),D=w(()=>G.value.filter(({part:ue})=>ue!=="literal"));Fe(p,ue=>{m.getLocale()!==ue&&(m.setLocale(ue),ze(()=>{y.value.clear(),Kf(_.value).forEach(Ce=>y.value.add(Ce))}))}),Fe(x,ue=>{!hn(ue)&&A.value.compare(ue)!==0&&(A.value=ue.copy())}),Fe([x,p],([ue])=>{hn(ue)?Object.values(k.value).every(Ce=>Ce!==null)&&hn(ue)&&(k.value={...H}):k.value={...Hf({value:ue,formatter:m})}});const N=T(null),W=w(()=>Array.from(y.value).findIndex(ue=>ue.getAttribute("data-reka-date-field-segment")===N.value?.getAttribute("data-reka-date-field-segment"))),B=w(()=>{const ue=v.value==="rtl"?-1:1;return(ue<0?W.value<0:W.value>y.value.size-1)?null:Array.from(y.value)[W.value+ue]}),Q=w(()=>{const ue=v.value==="rtl"?-1:1;return(ue>0?W.value<0:W.value>y.value.size-1)?null:Array.from(y.value)[W.value-ue]}),ne=w(()=>Wh(J.value)),ce=w(()=>gi(x.value,J.value)),te=w(()=>a.maxValue?gi(a.maxValue,J.value):void 0),ie=w(()=>a.minValue?gi(a.minValue,J.value):void 0),le=Or();function re(ue){ue.isComposing||Dn(ue.key)&&(ue.key===le.ARROW_LEFT&&Q.value?.focus(),ue.key===le.ARROW_RIGHT&&B.value?.focus())}function we(ue){N.value=ue}return bC({isDateUnavailable:s.value,locale:p,modelValue:x,placeholder:A,disabled:l,formatter:m,hourCycle:a.hourCycle,step:V,readonly:o,segmentValues:k,isInvalid:U,segmentContents:D,elements:y,setFocusedElement:we,focusNext(){B.value?.focus()}}),t({setFocusedElement:we}),(ue,Ce)=>(h(),j(u(Ye),Ve(ue.$attrs,{ref_key:"primitiveElement",ref:g,role:"group","aria-disabled":u(l)?!0:void 0,"data-disabled":u(l)?"":void 0,"data-readonly":u(o)?"":void 0,"data-invalid":U.value?"":void 0,dir:u(v),onKeydown:yr(re,["left","right"])}),{default:F(()=>[he(ue.$slots,"default",{modelValue:u(x),segments:G.value,isInvalid:U.value}),z(u(rm),{id:ue.id,as:"input",type:ne.value,feature:"focusable",tabindex:"-1",value:ce.value,name:ue.name,disabled:u(l),required:ue.required,max:te.value,min:ie.value,onFocus:Ce[0]||(Ce[0]=pe=>Array.from(y.value)?.[0]?.focus())},null,8,["id","type","value","name","disabled","required","max","min"])]),_:3},16,["aria-disabled","data-disabled","data-readonly","data-invalid","dir"]))}}),xC=_C,wC=ee({__name:"DateFieldInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=gC(),a=T(!0),r=T(!1),{handleSegmentClick:l,handleSegmentKeydown:o,handleSegmentBeforeInput:s,handleSegmentCompositionStart:i,handleSegmentCompositionEnd:c,attributes:d}=km({hasLeftFocus:a,lastKeyZero:r,placeholder:n.placeholder,hourCycle:n.hourCycle,step:n.step,segmentValues:n.segmentValues,formatter:n.formatter,part:t.part,disabled:n.disabled,readonly:n.readonly,focusNext:n.focusNext,modelValue:n.modelValue}),f=w(()=>n.disabled.value),p=w(()=>n.readonly.value),v=w(()=>n.isInvalid.value);return(m,g)=>(h(),j(u(Ye),Ve({as:m.as,"as-child":m.asChild},u(d),{contenteditable:f.value||p.value?!1:m.part!=="literal","data-reka-date-field-segment":m.part,"aria-disabled":f.value?!0:void 0,"aria-readonly":p.value?!0:void 0,"data-disabled":f.value?"":void 0,"data-invalid":v.value?"":void 0,"aria-invalid":v.value?!0:void 0},ev(m.part!=="literal"?{mousedown:u(l),keydown:u(o),beforeinput:u(s),compositionstart:u(i),compositionend:u(c),focusout:()=>{a.value=!0},focusin:_=>{u(n).setFocusedElement(_.target)}}:{})),{default:F(()=>[he(m.$slots,"default")]),_:3},16,["as","as-child","contenteditable","data-reka-date-field-segment","aria-disabled","aria-readonly","data-disabled","data-invalid","aria-invalid"]))}}),kC=wC;const[Nl,$C]=xt("PopoverRoot");var CC=ee({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{modal:r}=Lt(n),l=bt(n,"open",a,{defaultValue:n.defaultOpen,passive:n.open===void 0});return $C({contentId:"",triggerId:"",modal:r,open:l,onOpenChange:i=>{l.value=i},onOpenToggle:()=>{l.value=!l.value},triggerElement:T(),hasCustomAnchor:T(!1)}),(i,c)=>(h(),j(u(om),null,{default:F(()=>[he(i.$slots,"default",{open:u(l),close:()=>l.value=!1})]),_:3}))}}),SC=CC;const[Cc,EC]=xt("DatePickerRoot");var AC=ee({inheritAttrs:!1,__name:"DatePickerRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},modelValue:{type:null,required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},isDateUnavailable:{type:Function,required:!1,default:void 0},id:{type:String,required:!1},dir:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},fixedWeeks:{type:Boolean,required:!1,default:!1},numberOfMonths:{type:Number,required:!1,default:1},preventDeselect:{type:Boolean,required:!1,default:!1},closeOnSelect:{type:Boolean,required:!1,default:!1}},emits:["update:open","update:modelValue","update:placeholder"],setup(e,{emit:t}){const n=e,a=t,{locale:r,disabled:l,readonly:o,pagedNavigation:s,weekdayFormat:i,fixedWeeks:c,numberOfMonths:d,preventDeselect:f,isDateDisabled:p,isDateUnavailable:v,defaultOpen:m,modal:g,id:_,name:y,required:x,minValue:S,maxValue:A,granularity:V,hideTimeZone:J,hourCycle:U,defaultValue:H,dir:k,step:I,closeOnSelect:G}=Lt(n),D=Na(k),N=$s(r),W=w(()=>n.weekStartsOn??Gh(N.value)),B=bt(n,"modelValue",a,{defaultValue:H.value,passive:n.modelValue===void 0}),Q=w(()=>cc({defaultPlaceholder:n.placeholder,granularity:n.granularity,defaultValue:B.value,locale:N.value})),ne=bt(n,"placeholder",a,{defaultValue:n.defaultPlaceholder??Q.value.copy(),passive:n.placeholder===void 0}),ce=bt(n,"open",a,{defaultValue:m.value,passive:n.open===void 0}),te=T();function ie(le){return"hour"in le?le.set({hour:0,minute:0,second:0,millisecond:0}):le}return Fe(B,le=>{le&&le.compare(ne.value)!==0?ne.value=le.copy():!le&&"hour"in ne.value&&(ne.value=ie(ne.value)),G.value&&(ce.value=!1)}),EC({isDateUnavailable:v.value,isDateDisabled:p.value,locale:N,disabled:l,pagedNavigation:s,weekStartsOn:W,weekdayFormat:i,fixedWeeks:c,numberOfMonths:d,readonly:o,preventDeselect:f,modelValue:B,placeholder:ne,defaultOpen:m,modal:g,open:ce,id:_,name:y,required:x,minValue:S,maxValue:A,granularity:V,hideTimeZone:J,hourCycle:U,dateFieldRef:te,dir:D,step:I,onDateChange(le){le?B.value&&!f.value&&le&&B.value.compare(le)===0?B.value=void 0:B.value=le.copy():B.value=void 0},onPlaceholderChange(le){ne.value=le.copy()},closeOnSelect:G}),(le,re)=>(h(),j(u(SC),{open:u(ce),"onUpdate:open":re[0]||(re[0]=we=>ot(ce)?ce.value=we:null),"default-open":u(m),modal:u(g)},{default:F(()=>[he(le.$slots,"default")]),_:3},8,["open","default-open","modal"]))}}),DC=AC,PC=ee({__name:"DatePickerCalendar",setup(e){const t=Cc();return(n,a)=>(h(),j(u(w2),Ve({isDateDisabled:u(t).isDateDisabled,isDateUnavailable:u(t).isDateUnavailable,minValue:u(t).minValue.value,maxValue:u(t).maxValue.value,locale:u(t).locale.value,disabled:u(t).disabled.value,pagedNavigation:u(t).pagedNavigation.value,weekStartsOn:u(t).weekStartsOn.value,weekdayFormat:u(t).weekdayFormat.value,fixedWeeks:u(t).fixedWeeks.value,numberOfMonths:u(t).numberOfMonths.value,readonly:u(t).readonly.value,preventDeselect:u(t).preventDeselect.value,dir:u(t).dir.value},{"model-value":u(t).modelValue.value,placeholder:u(t).placeholder.value,multiple:!1,"onUpdate:modelValue":a[0]||(a[0]=r=>{r&&u(t).modelValue.value&&u(dr)(r,u(t).modelValue.value)||u(t).onDateChange(r)}),"onUpdate:placeholder":a[1]||(a[1]=r=>{u(dr)(r,u(t).placeholder.value)||u(t).onPlaceholderChange(r)})}),{default:F(({weekDays:r,grid:l,date:o,weekStartsOn:s,locale:i,fixedWeeks:c})=>[he(n.$slots,"default",{date:o,grid:l,weekDays:r,weekStartsOn:s,locale:i,fixedWeeks:c})]),_:3},16,["model-value","placeholder"]))}}),OC=PC,MC=ee({__name:"DatePickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u($2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),TC=MC,RC=ee({__name:"DatePickerCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(S2),He(Ge(t)),{default:F(r=>[he(n.$slots,"default",He(Ge(r)))]),_:3},16))}}),qC=RC,IC=ee({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Jh(hx(n,"trapFocus","disableOutsidePointerEvents")),{forwardRef:l}=Ke(),o=Nl();return Yh(),(s,i)=>(h(),j(u(vc),{"as-child":"",loop:"",trapped:s.trapFocus,onMountAutoFocus:i[5]||(i[5]=c=>a("openAutoFocus",c)),onUnmountAutoFocus:i[6]||(i[6]=c=>a("closeAutoFocus",c))},{default:F(()=>[z(u(pc),{"as-child":"","disable-outside-pointer-events":s.disableOutsidePointerEvents,onPointerDownOutside:i[0]||(i[0]=c=>a("pointerDownOutside",c)),onInteractOutside:i[1]||(i[1]=c=>a("interactOutside",c)),onEscapeKeyDown:i[2]||(i[2]=c=>a("escapeKeyDown",c)),onFocusOutside:i[3]||(i[3]=c=>a("focusOutside",c)),onDismiss:i[4]||(i[4]=c=>u(o).onOpenChange(!1))},{default:F(()=>[z(u(bm),Ve(u(r),{id:u(o).contentId,ref:u(l),"data-state":u(o).open.value?"open":"closed","aria-labelledby":u(o).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:F(()=>[he(s.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),Sm=IC,FC=ee({__name:"PopoverContentModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Nl(),l=T(!1);Qu(!0);const o=Gn(n,a),{forwardRef:s,currentElement:i}=Ke();return fc(i),(c,d)=>(h(),j(Sm,Ve(u(o),{ref:u(s),"trap-focus":u(r).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=pt(f=>{a("closeAutoFocus",f),l.value||u(r).triggerElement.value?.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=f=>{a("pointerDownOutside",f);const p=f.detail.originalEvent,v=p.button===0&&p.ctrlKey===!0,m=p.button===2||v;l.value=m}),onFocusOutside:d[2]||(d[2]=pt(()=>{},["prevent"]))}),{default:F(()=>[he(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),BC=FC,NC=ee({__name:"PopoverContentNonModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Nl(),l=T(!1),o=T(!1),s=Gn(n,a);return(i,c)=>(h(),j(Sm,Ve(u(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{a("closeAutoFocus",d),d.defaultPrevented||(l.value||u(r).triggerElement.value?.focus(),d.preventDefault()),l.value=!1,o.value=!1}),onInteractOutside:c[1]||(c[1]=async d=>{a("interactOutside",d),d.defaultPrevented||(l.value=!0,d.detail.originalEvent.type==="pointerdown"&&(o.value=!0));const f=d.target;u(r).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&o.value&&d.preventDefault()})}),{default:F(()=>[he(i.$slots,"default")]),_:3},16))}}),VC=NC,LC=ee({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=Nl(),l=Gn(n,a),{forwardRef:o}=Ke();return r.contentId||=$r(void 0,"reka-popover-content"),(s,i)=>(h(),j(u(Cs),{present:s.forceMount||u(r).open.value},{default:F(()=>[u(r).modal.value?(h(),j(BC,Ve({key:0},u(l),{ref:u(o)}),{default:F(()=>[he(s.$slots,"default")]),_:3},16)):(h(),j(VC,Ve({key:1},u(l),{ref:u(o)}),{default:F(()=>[he(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),jC=LC,UC=ee({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(Ss),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),zC=UC,HC=ee({__name:"DatePickerContent",props:{portal:{type:Object,required:!1},forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>({...n,portal:void 0})),l=Gn(r,a);return(o,s)=>(h(),j(u(zC),He(Ge(o.portal)),{default:F(()=>[z(u(jC),Ve({...u(l),...o.$attrs},{onOpenAutoFocus:s[0]||(s[0]=i=>{a("openAutoFocus",i),!i.defaultPrevented&&i.target&&(u(Kh)(i.target),i.preventDefault())})}),{default:F(()=>[he(o.$slots,"default")]),_:3},16)]),_:3},16))}}),KC=HC,WC=ee({__name:"DatePickerField",setup(e){const t=Cc();return(n,a)=>(h(),j(u(xC),Ve({ref:u(t).dateFieldRef,"model-value":u(t).modelValue.value,placeholder:u(t).placeholder.value},{id:u(t).id.value,name:u(t).name.value,disabled:u(t).disabled.value,minValue:u(t).minValue.value,maxValue:u(t).maxValue.value,readonly:u(t).readonly.value,hourCycle:u(t).hourCycle.value,granularity:u(t).granularity.value,hideTimeZone:u(t).hideTimeZone.value,locale:u(t).locale.value,isDateUnavailable:u(t).isDateUnavailable,required:u(t).required.value,dir:u(t).dir.value,step:u(t).step.value},{"onUpdate:modelValue":a[0]||(a[0]=r=>{r&&u(t).modelValue.value&&r.compare(u(t).modelValue.value)===0||u(t).onDateChange(r)}),"onUpdate:placeholder":a[1]||(a[1]=r=>{r.compare(u(t).placeholder.value)!==0&&u(t).onPlaceholderChange(r)})}),{default:F(({segments:r,modelValue:l})=>[he(n.$slots,"default",{segments:r,modelValue:l})]),_:3},16,["model-value","placeholder"]))}}),GC=WC,YC=ee({__name:"DatePickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(A2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),JC=YC,ZC=ee({__name:"DatePickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(P2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),QC=ZC,XC=ee({__name:"DatePickerGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(M2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),eS=XC,tS=ee({__name:"DatePickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(R2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Gf=tS,nS=ee({__name:"DatePickerHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(I2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),aS=nS,rS=ee({__name:"DatePickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(B2),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),lS=rS,oS=ee({__name:"DatePickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(V2),He(Ge(t)),{default:F(({headingValue:r})=>[he(n.$slots,"default",{headingValue:r},()=>[$e(R(r),1)])]),_:3},16))}}),sS=oS,iS=ee({__name:"DatePickerInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(kC),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),uS=iS,cS=ee({__name:"DatePickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(j2),He(Ge(t)),{default:F(r=>[he(n.$slots,"default",He(Ge(r)))]),_:3},16))}}),dS=cS,fS=ee({__name:"DatePickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(z2),He(Ge(t)),{default:F(r=>[he(n.$slots,"default",He(Ge(r)))]),_:3},16))}}),pS=fS,vS=ee({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Nl(),{forwardRef:a,currentElement:r}=Ke();return n.triggerId||=$r(void 0,"reka-popover-trigger"),_t(()=>{n.triggerElement.value=r.value}),(l,o)=>(h(),j(en(u(n).hasCustomAnchor.value?u(Ye):u(sm)),{"as-child":""},{default:F(()=>[z(u(Ye),{id:u(n).triggerId,ref:u(a),type:l.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":u(n).open.value,"aria-controls":u(n).contentId,"data-state":u(n).open.value?"open":"closed",as:l.as,"as-child":t.asChild,onClick:u(n).onOpenToggle},{default:F(()=>[he(l.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),hS=vS,mS=ee({__name:"DatePickerTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=Cc();return(a,r)=>(h(),j(u(hS),Ve({"data-reka-date-field-segment":"trigger"},t,{disabled:u(n).disabled.value,onFocusin:r[0]||(r[0]=l=>{u(n).dateFieldRef.value?.setFocusedElement(l.target)})}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["disabled"]))}}),yS=mS;const[Em,gS]=xt("DropdownMenuRoot");var bS=ee({__name:"DropdownMenuRoot",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t;Ke();const r=bt(n,"open",a,{defaultValue:n.defaultOpen,passive:n.open===void 0}),l=T(),{modal:o,dir:s}=Lt(n),i=Na(s);return gS({open:r,onOpenChange:c=>{r.value=c},onOpenToggle:()=>{r.value=!r.value},triggerId:"",triggerElement:l,contentId:"",modal:o,dir:i}),(c,d)=>(h(),j(u(tC),{open:u(r),"onUpdate:open":d[0]||(d[0]=f=>ot(r)?r.value=f:null),dir:u(i),modal:u(o)},{default:F(()=>[he(c.$slots,"default",{open:u(r)})]),_:3},8,["open","dir","modal"]))}}),Am=bS,_S=ee({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const r=Gn(e,t);Ke();const l=Em(),o=T(!1);function s(i){i.defaultPrevented||(o.value||setTimeout(()=>{l.triggerElement.value?.focus()},0),o.value=!1,i.preventDefault())}return l.contentId||=$r(void 0,"reka-dropdown-menu-content"),(i,c)=>(h(),j(u(pC),Ve(u(r),{id:u(l).contentId,"aria-labelledby":u(l)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-dropdown-menu-content-available-width":"var(--reka-popper-available-width)","--reka-dropdown-menu-content-available-height":"var(--reka-popper-available-height)","--reka-dropdown-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-dropdown-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:s,onInteractOutside:c[0]||(c[0]=d=>{if(d.defaultPrevented)return;const f=d.detail.originalEvent,p=f.button===0&&f.ctrlKey===!0,v=f.button===2||p;(!u(l).modal.value||v)&&(o.value=!0),u(l).triggerElement.value?.contains(d.target)&&d.preventDefault()})}),{default:F(()=>[he(i.$slots,"default")]),_:3},16,["id","aria-labelledby"]))}}),Dm=_S,xS=ee({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,r=Pr(t);return Ke(),(l,o)=>(h(),j(u(sC),He(Ge({...n,...u(r)})),{default:F(()=>[he(l.$slots,"default")]),_:3},16))}}),Pm=xS,wS=ee({__name:"DropdownMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,a)=>(h(),j(u(hC),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),Om=wS,kS=ee({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Ke(),(n,a)=>(h(),j(u(yC),He(Ge(t)),{default:F(()=>[he(n.$slots,"default")]),_:3},16))}}),$S=kS,CS=ee({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Em(),{forwardRef:a,currentElement:r}=Ke();return _t(()=>{n.triggerElement=r}),n.triggerId||=$r(void 0,"reka-dropdown-menu-trigger"),(l,o)=>(h(),j(u(Y2),{"as-child":""},{default:F(()=>[z(u(Ye),{id:u(n).triggerId,ref:u(a),type:l.as==="button"?"button":void 0,"as-child":t.asChild,as:l.as,"aria-haspopup":"menu","aria-expanded":u(n).open.value,"aria-controls":u(n).open.value?u(n).contentId:void 0,"data-disabled":l.disabled?"":void 0,disabled:l.disabled,"data-state":u(n).open.value?"open":"closed",onClick:o[0]||(o[0]=async s=>{!l.disabled&&s.button===0&&s.ctrlKey===!1&&(u(n)?.onOpenToggle(),await ze(),u(n).open.value&&s.preventDefault())}),onKeydown:o[1]||(o[1]=yr(s=>{l.disabled||(["Enter"," "].includes(s.key)&&u(n).onOpenToggle(),s.key==="ArrowDown"&&u(n).onOpenChange(!0),["Enter"," ","ArrowDown"].includes(s.key)&&s.preventDefault())},["enter","space","arrow-down"]))},{default:F(()=>[he(l.$slots,"default")]),_:3},8,["id","type","as-child","as","aria-expanded","aria-controls","data-disabled","disabled","data-state"])]),_:3}))}}),Mm=CS;const kl=100,[SS,ES]=xt("ProgressRoot"),Vo=e=>typeof e=="number";function AS(e,t){return hn(e)||Vo(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: - - a positive number - - less than the value passed to \`max\` (or ${kl} if no \`max\` prop is set) - - \`null\` or \`undefined\` if the progress is indeterminate. - -Defaulting to \`null\`.`),null)}function DS(e){return Vo(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${kl}\`.`),kl)}var PS=ee({__name:"ProgressRoot",props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:kl},getValueLabel:{type:Function,required:!1,default:(e,t)=>Vo(e)?`${Math.round(e/t*kl)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue","update:max"],setup(e,{emit:t}){const n=e,a=t;Ke();const r=bt(n,"modelValue",a,{passive:n.modelValue===void 0}),l=bt(n,"max",a,{passive:n.max===void 0});Fe(()=>r.value,async s=>{const i=AS(s,n.max);i!==s&&(await ze(),r.value=i)},{immediate:!0}),Fe(()=>n.max,s=>{const i=DS(n.max);i!==s&&(l.value=i)},{immediate:!0});const o=w(()=>hn(r.value)?"indeterminate":r.value===l.value?"complete":"loading");return ES({modelValue:r,max:l,progressState:o}),(s,i)=>(h(),j(u(Ye),{"as-child":s.asChild,as:s.as,"aria-valuemax":u(l),"aria-valuemin":0,"aria-valuenow":Vo(u(r))?u(r):void 0,"aria-valuetext":s.getValueText?.(u(r),u(l)),"aria-label":s.getValueLabel(u(r),u(l)),role:"progressbar","data-state":o.value,"data-value":u(r)??void 0,"data-max":u(l)},{default:F(()=>[he(s.$slots,"default",{modelValue:u(r)})]),_:3},8,["as-child","as","aria-valuemax","aria-valuenow","aria-valuetext","aria-label","data-state","data-value","data-max"]))}}),Ai=PS,OS=ee({__name:"ProgressIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=SS();return Ke(),(a,r)=>(h(),j(u(Ye),Ve(t,{"data-state":u(n).progressState.value,"data-value":u(n).modelValue?.value??void 0,"data-max":u(n).max.value}),{default:F(()=>[he(a.$slots,"default")]),_:3},16,["data-state","data-value","data-max"]))}}),Di=OS;const[MS,TS]=xt("TimeFieldRoot");function no(e,t=Rl(ln())){return e&&"day"in e?e:xn(t,e)}var RS=ee({inheritAttrs:!1,__name:"TimeFieldRoot",props:{defaultValue:{type:Object,required:!1,default:void 0},defaultPlaceholder:{type:Object,required:!1},placeholder:{type:Object,required:!1,default:void 0},modelValue:{type:[Object,null],required:!1},hourCycle:{type:null,required:!1},step:{type:Object,required:!1},stepSnapping:{type:Boolean,required:!1,default:!1},granularity:{type:String,required:!1},hideTimeZone:{type:Boolean,required:!1},maxValue:{type:Object,required:!1},minValue:{type:Object,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},id:{type:String,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:placeholder"],setup(e,{expose:t,emit:n}){const a=e,r=n,{disabled:l,readonly:o,granularity:s,defaultValue:i,minValue:c,maxValue:d,stepSnapping:f,dir:p,locale:v}=Lt(a),m=$s(v),g=Na(p),_=dc(m.value,{hourCycle:bl(a.hourCycle)}),{primitiveElement:y,currentElement:x}=Cr(),S=T(new Set),A=w(()=>Hh(a)),V=w(()=>c.value?no(c.value):void 0),J=w(()=>d.value?no(d.value):void 0);_t(()=>{Wf(x.value).forEach(pe=>S.value.add(pe))});const U=bt(a,"modelValue",r,{defaultValue:i.value,passive:a.modelValue===void 0}),H=w({get(){return hn(U.value)?U.value:no(U.value)},set(pe){return pe?U.value=U.value&&"day"in U.value?pe:new mn(pe.hour,pe.minute,pe.second,U.value?.millisecond):U.value=pe,pe}}),k=ww({defaultPlaceholder:a.placeholder,defaultValue:U.value}),I=bt(a,"placeholder",r,{defaultValue:a.defaultPlaceholder??k.copy(),passive:a.placeholder===void 0}),G=w({get(){return no(I.value)},set(pe){return pe&&(I.value="day"in I.value?pe.copy():new mn(pe.hour,pe.minute,pe.second,I.value?.millisecond)),pe}}),D=w(()=>s.value?s.value:"minute"),N=w(()=>U.value?!!(V.value&&ia(H.value,V.value)||J.value&&ia(J.value,H.value)):!1),W=J$(D.value),B=T(U.value?{...bu({value:H.value,formatter:_})}:{...W}),Q=w(()=>wm({granularity:D.value,dateRef:G.value,formatter:_,hideTimeZone:a.hideTimeZone,hourCycle:a.hourCycle,segmentValues:B.value,locale:m,isTimeValue:!0})),ne=w(()=>{const pe=Q.value.arr;return a.hourCycle===12?pe.map(Z=>{if(Z.part==="hour"&&"hour"in B.value){const ve=B.value.hour;if(ve!==null){const X=ve===0?12:ve>12?ve-12:ve;return{...Z,value:X.toString()}}}return Z}):pe}),ce=w(()=>ne.value.filter(({part:pe})=>pe!=="literal"));Fe(m,pe=>{_.getLocale()!==pe&&(_.setLocale(pe),ze(()=>{S.value.clear(),Wf(x.value).forEach(Z=>S.value.add(Z))}))}),Fe(H,pe=>{!hn(pe)&&(!dr(G.value,pe)||G.value.compare(pe)!==0)&&(I.value=pe.copy())}),Fe([H,m],([pe])=>{hn(pe)?Object.values(B.value).every(Z=>Z!==null)&&hn(pe)&&(B.value={...W}):B.value={...bu({value:pe,formatter:_})}});const te=T(null),ie=w(()=>Array.from(S.value).findIndex(pe=>pe.getAttribute("data-reka-time-field-segment")===te.value?.getAttribute("data-reka-time-field-segment"))),le=w(()=>{const pe=g.value==="rtl"?-1:1;return(pe<0?ie.value<0:ie.value>S.value.size-1)?null:Array.from(S.value)[ie.value+pe]}),re=w(()=>{const pe=g.value==="rtl"?-1:1;return(pe>0?ie.value<0:ie.value>S.value.size-1)?null:Array.from(S.value)[ie.value-pe]}),we=Or();function ue(pe){pe.isComposing||Dn(pe.key)&&(pe.key===we.ARROW_LEFT&&re.value?.focus(),pe.key===we.ARROW_RIGHT&&le.value?.focus())}function Ce(pe){te.value=pe}return TS({locale:m,modelValue:H,placeholder:G,disabled:l,formatter:_,hourCycle:a.hourCycle,step:A,stepSnapping:f,readonly:o,segmentValues:B,isInvalid:N,segmentContents:ce,elements:S,setFocusedElement:Ce,focusNext(){le.value?.focus()}}),t({setFocusedElement:Ce}),(pe,Z)=>(h(),j(u(Ye),Ve(pe.$attrs,{ref_key:"primitiveElement",ref:y,role:"group","aria-disabled":u(l)?!0:void 0,"data-disabled":u(l)?"":void 0,"data-readonly":u(o)?"":void 0,"data-invalid":N.value?"":void 0,dir:u(g),onKeydown:yr(ue,["left","right"])}),{default:F(()=>[he(pe.$slots,"default",{modelValue:u(U),segments:ne.value,isInvalid:N.value}),z(u(rm),{id:pe.id,as:"input",feature:"focusable",tabindex:"-1",value:u(U)?u(U).toString():"",name:pe.name,disabled:u(l),required:pe.required,onFocus:Z[0]||(Z[0]=ve=>Array.from(S.value)?.[0]?.focus())},null,8,["id","value","name","disabled","required"])]),_:3},16,["aria-disabled","data-disabled","data-readonly","data-invalid","dir"]))}}),Yf=RS,qS=ee({__name:"TimeFieldInput",props:{part:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=MS(),a=T(!0),r=T(!1),{handleSegmentClick:l,handleSegmentKeydown:o,handleSegmentBeforeInput:s,handleSegmentCompositionStart:i,handleSegmentCompositionEnd:c,handleSegmentFocusOut:d,attributes:f}=km({hasLeftFocus:a,lastKeyZero:r,placeholder:n.placeholder,hourCycle:n.hourCycle,step:n.step,stepSnapping:n.stepSnapping,segmentValues:n.segmentValues,formatter:n.formatter,part:t.part,disabled:n.disabled,readonly:n.readonly,focusNext:n.focusNext,modelValue:n.modelValue}),p=w(()=>n.disabled.value),v=w(()=>n.readonly.value),m=w(()=>n.isInvalid.value);return(g,_)=>(h(),j(u(Ye),Ve({as:g.as,"as-child":g.asChild},u(f),{contenteditable:p.value||v.value?!1:g.part!=="literal","data-reka-time-field-segment":g.part,"aria-disabled":p.value?!0:void 0,"aria-readonly":v.value?!0:void 0,"data-disabled":p.value?"":void 0,"data-invalid":m.value?"":void 0,"aria-invalid":m.value?!0:void 0},ev(g.part!=="literal"?{mousedown:u(l),keydown:u(o),beforeinput:u(s),compositionstart:u(i),compositionend:u(c),focusout:()=>{a.value=!0,u(d)()},focusin:y=>{u(n).setFocusedElement(y.target)}}:{})),{default:F(()=>[he(g.$slots,"default")]),_:3},16,["as","as-child","contenteditable","data-reka-time-field-segment","aria-disabled","aria-readonly","data-disabled","data-invalid","aria-invalid"]))}}),Jf=qS;const Lo=T(null),Tm=T(null);let il=null;function Rm(e){qm(),Tm.value=e,!(e===null||e<=0)&&(il=setTimeout(()=>{il=null,zu()},e*800))}function qm(){il!==null&&(clearTimeout(il),il=null)}E_(Rm);const rr=dt(Lo);async function IS(e,t){const{data:n,response:a}=await Me.POST("/auth/login",{body:{login:e,password:t}});return!a.ok||!n?!1:(Rm(typeof n.data.expires_in=="number"?n.data.expires_in:null),!0)}async function Im(){const{data:e,response:t}=await Me.GET("/auth/me");return Lo.value=t.ok&&e?e.data:null,Lo.value}function Fm(){qm(),Lo.value=null,Tm.value=null}async function FS(e){try{await Me.POST("/auth/logout")}catch{}finally{Fm(),q_([]),B_([])}e&&await e.replace({name:"login"}).catch(()=>{})}const BS={class:"flex size-[34px] shrink-0 items-center justify-center rounded-full bg-accent text-[13px] font-bold text-on-accent","aria-hidden":"true","data-user-initials":""},NS={class:"flex flex-col leading-tight max-[1099px]:hidden","data-user-identity":""},VS={class:"font-semibold"},LS={key:0,class:"text-[12px] text-muted","data-user-role":""},jS={class:"flex items-center gap-3 px-2 py-2"},US={class:"flex size-10 shrink-0 items-center justify-center rounded-full bg-accent text-[14px] font-bold text-on-accent","aria-hidden":"true"},zS={class:"flex min-w-0 flex-col leading-tight"},HS={class:"truncate font-bold"},KS={class:"truncate text-[13px] text-muted"},WS=ee({__name:"UserMenu",setup(e){const t=Ar(),n=w(()=>{const o=rr.value;if(!o)return"";const s=`${o.first_name} ${o.last_name}`.trim();return s===""?o.login:s}),a=w(()=>{const o=rr.value;if(!o)return"";const s=[o.first_name,o.last_name].map(i=>i.trim()).filter(Boolean);return s.length>0?s.slice(0,2).map(i=>i.charAt(0).toUpperCase()).join(""):o.login.slice(0,2).toUpperCase()}),r=w(()=>rr.value?.role?.name??"");async function l(){await FS(t)}return(o,s)=>(h(),j(u(Am),{modal:!1},{default:F(()=>[z(u(Mm),{"data-user-menu":"",disabled:!u(rr),"aria-label":`${u(P)("backend::lang.nav.user_menu")}: ${n.value}`,class:"flex h-input items-center gap-2.5 rounded-inner px-2 text-left transition-colors duration-150 ease-out hover:bg-hover"},{default:F(()=>[O("span",BS,R(a.value),1),O("span",NS,[O("span",VS,R(n.value),1),r.value?(h(),$("span",LS,R(r.value),1)):ae("",!0)]),z(u(Pl),{size:16,class:"text-muted","aria-hidden":"true"})]),_:1},8,["disabled","aria-label"]),z(u(Om),null,{default:F(()=>[z(u(Dm),{"data-user-menu-content":"",align:"end","side-offset":8,class:"z-50 flex w-[280px] flex-col rounded-[14px] border border-border bg-surface p-2 text-text shadow-menu"},{default:F(()=>[O("div",jS,[O("span",US,R(a.value),1),O("span",zS,[O("span",HS,R(n.value),1),O("span",KS,R(u(rr)?.email),1)])]),z(u($S),{class:"my-1 h-px bg-border"}),z(u(Pm),{"data-action":"logout",class:"flex h-10 cursor-pointer items-center gap-2.5 rounded-control px-3 font-medium outline-none transition-colors duration-150 ease-out data-[highlighted]:bg-hover",onSelect:l},{default:F(()=>[z(u(Hv),{size:18,"aria-hidden":"true"}),O("span",null,R(u(P)("backend::lang.auth.logout")),1)]),_:1})]),_:1})]),_:1})]),_:1}))}}),GS=4e3,$l=T([]),_u=new Map;let YS=1;const JS=dt($l);function Oe(e,t="success"){const n=YS++;return $l.value=[{id:n,text:e,tone:t},...$l.value],_u.set(n,setTimeout(()=>Bm(n),GS)),n}function Bm(e){const t=_u.get(e);t!==void 0&&(clearTimeout(t),_u.delete(e)),$l.value=$l.value.filter(n=>n.id!==e)}const ZS=["role","data-tone"],QS={class:"font-medium"},XS=["aria-label","onClick"],e3=ee({__name:"Toast",setup(e){return(t,n)=>(h(),j(Sb,{tag:"div",name:"toast",class:"pointer-events-none fixed inset-x-0 bottom-[88px] z-50 flex flex-col items-center gap-2 px-4"},{default:F(()=>[(h(!0),$(_e,null,Ne(u(JS),a=>(h(),$("div",{key:a.id,role:a.tone==="danger"?"alert":"status","data-tone":a.tone,class:"pointer-events-auto flex max-w-[560px] items-center gap-3 rounded-[14px] bg-[#1d2740] py-3 pr-2.5 pl-3.5 text-white shadow-toast"},[O("span",{class:xe([a.tone==="danger"?"bg-[#f58a8a] text-[#1d2740]":"bg-accent text-on-accent","flex size-[26px] shrink-0 items-center justify-center rounded-full"]),"aria-hidden":"true"},[a.tone==="danger"?(h(),j(u(Bt),{key:0,size:16})):(h(),j(u(_r),{key:1,size:16}))],2),O("span",QS,R(a.text),1),O("button",{type:"button","aria-label":u(P)("backend::lang.form.close"),class:"flex size-8 items-center justify-center rounded-pager text-[#c3cbda] transition-colors duration-150 ease-out hover:bg-side-hover hover:text-white",onClick:r=>u(Bm)(a.id)},[z(u(Wt),{size:16,"aria-hidden":"true"})],8,XS)],8,ZS))),128))]),_:1}))}}),t3={class:"flex min-h-screen bg-bg text-text"},n3={class:"flex min-w-0 flex-1 flex-col"},a3={class:"flex h-header shrink-0 items-center justify-between gap-4 border-b border-border bg-surface pr-6 pl-8"},r3={class:"min-w-0 flex-1 px-8 py-7"},l3=ee({__name:"AppShell",setup(e){const t=rn(),{collapsed:n,watchViewport:a}=uh(),r=a();qt(r);const l=w(()=>ys(String(t.params.vendor??""),String(t.params.plugin??"")));return(o,s)=>(h(),$("div",t3,[z(J_),l.value&&!u(n)?(h(),j(tx,{key:0,entry:l.value},null,8,["entry"])):ae("",!0),O("div",n3,[O("header",a3,[z(lx),z(WS)]),O("main",r3,[he(o.$slots,"default")])]),z(e3)]))}}),o3=ee({__name:"App",setup(e){const t=rn(),n=w(()=>t.meta.shell===!0);return(a,r)=>n.value?(h(),j(l3,{key:0},{default:F(()=>[z(u(tu),null,{default:F(({Component:l,route:o})=>[(h(),j(en(l),{key:o.path}))]),_:1})]),_:1})):(h(),j(u(tu),{key:1}))}}),s3="data-summer-controller",Pi=new Map,xu=new Map;let wu="";function Nm(){return`${ps.base}/assets/`}function Vm(e){if(!e.startsWith(Nm())||e.includes("\\"))return!1;for(const n of e){const a=n.codePointAt(0)??0;if(a<=32||a===127)return!1}return!(e.split(/[?#]/,1)[0]??"").split("/").some(n=>{const a=n.toLowerCase().replaceAll("%2e",".");return a==="."||a===".."})}function i3(e){if(!Vm(e))return Promise.reject(new Error(`plugin script outside ${Nm()}: ${e}`));const t=Pi.get(e);if(t)return t;const n=new Promise((a,r)=>{const l=document.createElement("script");l.type="module",l.addEventListener("load",()=>a(),{once:!0}),l.addEventListener("error",()=>{Pi.delete(e),l.remove(),r(new Error(`plugin script failed to load: ${e}`))},{once:!0}),l.src=e,document.head.appendChild(l)});return Pi.set(e,n),n}function u3(e,t){for(const n of t){const a=`${e} -${n}`;if(!Vm(n)||xu.has(a))continue;const r=document.createElement("link");r.rel="stylesheet",r.setAttribute(s3,e),r.disabled=e!==wu,r.href=n,xu.set(a,{owner:e,link:r}),document.head.appendChild(r)}}function c3(e){wu=e;for(const{owner:t,link:n}of xu.values())n.disabled=t!==wu}async function Sc(e,t){u3(e,t?.styles??[]);const n=t?.scripts??[],a=await Promise.allSettled(n.map(r=>i3(r)));return n.filter((r,l)=>a[l]?.status==="rejected")}const d3={class:"flex min-h-screen items-center justify-center px-4",style:{background:"radial-gradient(ellipse at 50% 35%, #2b3a5c 0%, #1d2740 60%)"}},f3={class:"flex w-full max-w-[400px] flex-col gap-6"},p3={class:"flex items-center justify-center gap-3"},v3={class:"flex size-[34px] items-center justify-center rounded-full bg-accent-soft"},h3={class:"text-[22px] font-bold tracking-[-0.02em]"},m3={class:"flex flex-col gap-1.5"},y3={class:"font-semibold"},g3={class:"flex flex-col gap-1.5"},b3={class:"font-semibold"},_3=["aria-invalid"],x3={key:0,role:"alert",class:"flex items-center gap-2.5 rounded-control bg-[#fdf0f0] px-3.5 py-3 text-[#c62828]"},w3=["disabled"],k3=ee({__name:"LoginView",setup(e){const t=rn(),n=Ar(),a=T(""),r=T(""),l=T(!1),o=T(!1);async function s(){if(!o.value){o.value=!0,l.value=!1;try{if(!await IS(a.value.trim(),r.value)||!await Im()){l.value=!0;return}r.value="",await Promise.all([rh(),lh().catch(()=>[])]),await n.replace(ny(t.query.redirect)??"/")}finally{o.value=!1}}}return(i,c)=>(h(),$("main",d3,[O("div",f3,[O("div",p3,[O("span",v3,[z(u(Uu),{size:20,class:"text-accent","aria-hidden":"true"})]),c[2]||(c[2]=O("span",{class:"text-[18px] font-bold text-white"},[$e("Summer"),O("span",{class:"text-accent"},"CMS")],-1))]),O("form",{class:"flex flex-col gap-[18px] rounded-card bg-white p-8 text-[#141b2d] shadow-login",novalidate:"",onSubmit:pt(s,["prevent"])},[O("h1",h3,R(u(P)("backend::lang.auth.title")),1),O("label",m3,[O("span",y3,R(u(P)("backend::lang.auth.login")),1),qa(O("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>a.value=d),name:"login",type:"text",autocomplete:"username",required:"",class:"h-input rounded-control border border-[#d2d8e2] bg-white px-3.5"},null,512),[[Eo,a.value]])]),O("label",g3,[O("span",b3,R(u(P)("backend::lang.auth.password")),1),qa(O("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>r.value=d),name:"password",type:"password",autocomplete:"current-password",required:"","aria-invalid":l.value?"true":void 0,class:xe([l.value?"border-[#c62828]":"border-[#d2d8e2]","h-input rounded-control border bg-white px-3.5"])},null,10,_3),[[Eo,r.value]])]),l.value?(h(),$("div",x3,[z(u(Bt),{size:18,"aria-hidden":"true"}),O("span",null,R(u(P)("backend::lang.auth.invalid")),1)])):ae("",!0),O("button",{type:"submit",disabled:o.value,class:"h-input rounded-control bg-[#22304d] font-semibold text-white disabled:opacity-60"},R(u(P)("backend::lang.auth.submit")),9,w3)],32)])]))}}),$3=/^filter\[(.+)\]$/,C3=/^[1-9]\d*$/;function Ja(e){const t=Array.isArray(e)?e[e.length-1]:e;return typeof t=="string"?t:""}function Zf(e){return C3.test(e)?Number(e):void 0}function S3(e){const t={},n=Ja(e.search).trim();n!==""&&(t.search=n);const a=Ja(e.sort).trim();if(a!==""){t.sort=a;const s=Ja(e.dir);t.dir=s==="desc"?"desc":"asc"}const r=Zf(Ja(e.page));r!==void 0&&(t.page=r);const l=Zf(Ja(e.per_page));l!==void 0&&(t.per_page=l);const o={};for(const s of Object.keys(e).sort()){const i=$3.exec(s)?.[1],c=Ja(e[s]);i&&c!==""&&(o[i]=c)}return Object.keys(o).length>0&&(t.filter=o),t}function Lm(e){const t={};e.search&&(t.search=e.search),e.sort&&(t.sort=e.sort,t.dir=e.dir==="desc"?"desc":"asc"),e.page!==void 0&&e.page>1&&(t.page=String(e.page)),e.per_page!==void 0&&(t.per_page=String(e.per_page));for(const n of Object.keys(e.filter??{}).sort()){const a=e.filter?.[n];a!==void 0&&a!==""&&(t[`filter[${n}]`]=a)}return t}function E3(e){return JSON.stringify(Lm(e))}const Qf=/^\d+$/;function jm(e,t,n){const a=hs(t),r=Un(t);if(!a||!r)return"/";const o=((e??"").trim().split(/[?#]/,1)[0]??"").split("/").filter(d=>d!==""),s=[a.vendor,a.plugin,a.controller];if(!s.every((d,f)=>o[f]?.toLowerCase()===d.toLowerCase()))return r;const c=o.slice(s.length);if(c.length===0)return r;if(c.length===1&&c[0]==="create")return`${r}/create`;if(c.length===2&&c[0]==="update"){const d=c[1]===":id"?String(n??""):c[1]??"";return Qf.test(d)?`${r}/${d}`:r}if(c.length===2&&c[0]==="preview"){const d=c[1]===":id"?String(n??""):c[1]??"";return Qf.test(d)?`${r}/${d}/preview`:r}return r}const A3={key:0,"data-switch":"true",class:"inline-flex h-6 items-center gap-1 rounded-pill bg-ok-bg px-2.5 text-[12px] font-semibold text-ok-text"},D3={key:1,"data-switch":"false",class:"inline-flex h-6 items-center rounded-pill border border-border-strong px-2.5 text-[12px] font-semibold text-muted"},P3={key:1,class:"text-muted","data-empty":""},O3={key:2,class:"text-[13px] text-muted tabular-nums"},Za=ee({__name:"CellValue",props:{column:{},value:{}},setup(e){const t=e;function n(f){return f==null||f===""}function a(f){return n(f)?"":Array.isArray(f)?f.map(a).filter(p=>p!=="").join(", "):typeof f=="boolean"?P(f?"backend::lang.list.column_switch_true":"backend::lang.list.column_switch_false"):typeof f=="object"?"":String(f)}function r(f){return String(f).padStart(2,"0")}function l(f){if(typeof f!="string"&&typeof f!="number")return"";const p=new Date(f);return Number.isNaN(p.getTime())?String(f):`${p.getFullYear()}-${r(p.getMonth()+1)}-${r(p.getDate())} ${r(p.getHours())}:${r(p.getMinutes())}`}function o(f){if(typeof f!="string")return"";const p=/^\d{4}-\d{2}-\d{2}/.exec(f.trim());return p?p[0]:f.trim()}function s(f){if(typeof f!="string")return"";const p=/(\d{2}):(\d{2})/.exec(f);return p?`${p[1]}:${p[2]}`:f.trim()}function i(f){return typeof f=="string"?f!==""&&f!=="0"&&f.toLowerCase()!=="false":!!f}const c=w(()=>t.column.type==="switch"?"switch":t.column.type==="datetime"?"datetime":t.column.type==="date"?"date":t.column.type==="time"?"time":"text"),d=w(()=>{switch(c.value){case"datetime":return l(t.value);case"date":return o(t.value);case"time":return s(t.value);default:return a(t.value)}});return(f,p)=>c.value==="switch"&&!n(e.value)?(h(),$(_e,{key:0},[i(e.value)?(h(),$("span",A3,[z(u(Uv),{size:14,"aria-hidden":"true"}),$e(R(u(P)("backend::lang.list.column_switch_true")),1)])):(h(),$("span",D3,R(u(P)("backend::lang.list.column_switch_false")),1))],64)):d.value===""?(h(),$("span",P3,"—")):c.value==="datetime"||c.value==="date"||c.value==="time"?(h(),$("span",O3,R(d.value),1)):(h(),$(_e,{key:3},[$e(R(d.value),1)],64))}}),M3={key:0,class:"flex shrink-0 gap-2"},T3=["data-row-state"],R3=ee({__name:"RowStateBadges",props:{states:{},labels:{}},setup(e){const t=e,n={deleted:"border border-border-strong text-muted",negative:"bg-danger-soft text-danger",disabled:"bg-subtle text-muted"},a=["deleted","negative","disabled"],r=w(()=>a.filter(l=>t.states.includes(l)));return(l,o)=>r.value.length>0?(h(),$("span",M3,[(h(!0),$(_e,null,Ne(r.value,s=>(h(),$("span",{key:s,"data-row-state":s,class:xe([n[s],"inline-flex h-6 shrink-0 items-center rounded-pill px-2.5 text-[12px] font-semibold whitespace-nowrap"])},R(e.labels[s]??s),11,T3))),128))])):ae("",!0)}}),q3={class:"overflow-x-auto"},I3={class:"sticky top-0 z-10"},F3={class:"h-row-head border-y border-border bg-subtle"},B3={key:0,scope:"col","data-select":"",class:"w-[52px] pl-5"},N3=["aria-checked","aria-label","disabled"],V3=["aria-sort"],L3=["data-sort","onClick"],j3={key:1,class:"w-[56px] pr-5"},U3=["aria-busy"],z3={key:0,class:"pl-5"},H3={key:1,class:"pr-5"},K3={key:1},W3=["colspan"],G3={class:"text-muted"},Y3=["aria-selected","data-row-states","onClick"],J3={key:0,"data-select":"",class:"pl-5"},Z3=["aria-checked","aria-label","onClick"],Q3={key:0,class:"flex items-center gap-3"},X3={"data-avatar":"",class:"flex size-[30px] shrink-0 items-center justify-center rounded-full bg-subtle text-[12px] font-bold text-text","aria-hidden":"true"},eE=["onClick"],tE={key:1,class:"flex items-center gap-2"},nE={key:1,"data-trailing":"",class:"w-[56px] pr-5"},Um=ee({__name:"DataTable",props:{columns:{},rows:{},loading:{type:Boolean,default:!1},rowLink:{type:Function,default:void 0},selectable:{type:Boolean,default:!1},selected:{default:()=>[]},sortable:{type:Boolean,default:!1},sort:{default:null},variant:{default:"list"},openable:{type:Boolean,default:!1},trailing:{type:Boolean,default:!1},rowStates:{default:()=>({})},stateLabels:{default:()=>({})}},emits:["update:selected","sort","open"],setup(e,{emit:t}){const n=e,a=t,r=Ar();function l(D){const N=D.id;return typeof N=="number"||typeof N=="string"?N:null}function o(D,N){const W=l(D);return W===null?`row-${N}`:String(W)}function s(D){return n.rowLink?n.rowLink(D):null}function i(D,N){if(D.target?.closest("a, button, input, label, select"))return;if(n.openable){const Q=D.currentTarget?.querySelector("[data-row-open]")??null;a("open",N,Q);return}const B=s(N);B&&r.push(B)}const c=w(()=>n.rows.map(l).filter(D=>D!==null)),d=w(()=>new Set(n.selected.map(String))),f=w(()=>{const D=c.value,N=D.filter(W=>d.value.has(String(W))).length;return N===0?"false":N===D.length?"true":"mixed"});function p(D){const N=l(D);return N!==null&&d.value.has(String(N))}function v(){a("update:selected",f.value==="true"?[]:[...c.value])}function m(D){const N=l(D);N!==null&&(d.value.has(String(N))?a("update:selected",n.selected.filter(W=>String(W)!==String(N))):a("update:selected",[...n.selected,N]))}function g(D){if(n.sort?.column===D.key)return n.sort.dir==="desc"?"descending":"ascending"}function _(D){return n.sortable&&D.sortable}const y=w(()=>n.variant==="relation"),x=w(()=>y.value?"h-[56px]":"h-row"),S=w(()=>y.value?3:8);function A(D){return(typeof D=="string"||typeof D=="number"?String(D):"").split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(W=>W.charAt(0).toUpperCase()).join("")}const V=["deleted","negative","disabled"];function J(D){const N=l(D),W=N===null?void 0:n.rowStates[String(N)];return Array.isArray(W)?V.filter(B=>W.includes(B)):[]}function U(D,N,W=[]){const B=W.includes("deleted")||W.includes("disabled");return N===0?B?"font-semibold text-muted":"font-semibold":B||y.value||D.relation?"text-muted":""}function H(D){return["min-w-0 truncate",D.includes("deleted")?"line-through":"no-underline",D.includes("negative")?"text-danger":D.includes("deleted")||D.includes("disabled")?"text-muted":"text-text"]}const k=w(()=>Math.max(n.columns.length+(n.selectable?1:0)+(n.trailing?1:0),1));function I(D,N){a("open",N,D.currentTarget)}const G=["w-3/5","w-2/5","w-1/2","w-3/4","w-1/3","w-2/3","w-1/2","w-2/5"];return(D,N)=>(h(),$("div",q3,[O("table",{class:xe([y.value?"min-w-[480px]":"min-w-[640px]","w-full border-collapse text-left"])},[O("thead",I3,[O("tr",F3,[e.selectable?(h(),$("th",B3,[O("button",{type:"button",role:"checkbox","aria-checked":f.value,"aria-label":u(P)("backend::lang.list.select_all"),disabled:e.loading||c.value.length===0,class:xe([f.value==="false"?"border-border-strong bg-surface":"border-primary bg-primary text-on-primary","flex size-[18px] items-center justify-center rounded-checkbox border disabled:opacity-60"]),onClick:v},[f.value==="mixed"?(h(),j(u(Kv),{key:0,size:14,"aria-hidden":"true"})):f.value==="true"?(h(),j(u(_r),{key:1,size:14,"aria-hidden":"true"})):ae("",!0)],10,N3)])):ae("",!0),(h(!0),$(_e,null,Ne(e.columns,W=>(h(),$("th",{key:W.key,scope:"col","aria-sort":_(W)?g(W)??"none":void 0,class:xe([g(W)?"text-text":"text-muted","px-3.5 text-[12px] font-semibold first:pl-5 last:pr-5"])},[_(W)?(h(),$("button",{key:0,type:"button","data-sort":W.key,class:"inline-flex items-center gap-1 font-semibold",onClick:B=>a("sort",W.key)},[$e(R(W.label)+" ",1),g(W)==="ascending"?(h(),j(u(zv),{key:0,size:14,"aria-hidden":"true"})):g(W)==="descending"?(h(),j(u(jv),{key:1,size:14,"aria-hidden":"true"})):ae("",!0)],8,L3)):(h(),$(_e,{key:1},[$e(R(W.label),1)],64))],10,V3))),128)),e.trailing?(h(),$("td",j3)):ae("",!0)])]),O("tbody",{"aria-busy":e.loading?"true":void 0},[e.loading?(h(!0),$(_e,{key:0},Ne(S.value,W=>(h(),$("tr",{key:`skeleton-${W}`,"data-skeleton":"",class:xe([x.value,"border-b border-border"])},[e.selectable?(h(),$("td",z3,[...N[0]||(N[0]=[O("span",{class:"block size-[18px] rounded-checkbox bg-skel"},null,-1)])])):ae("",!0),(h(!0),$(_e,null,Ne(e.columns,B=>(h(),$("td",{key:B.key,class:"px-3.5 first:pl-5 last:pr-5"},[O("span",{class:xe([G[(W-1)%G.length],"block h-3 rounded-[6px] bg-skel"])},null,2)]))),128)),e.trailing?(h(),$("td",H3)):ae("",!0)],2))),128)):e.rows.length===0?(h(),$("tr",K3,[O("td",{colspan:k.value,class:"px-5 py-20 text-center"},[he(D.$slots,"empty",{},()=>[O("span",G3,R(u(P)("backend::lang.list.no_records")),1)])],8,W3)])):(h(!0),$(_e,{key:2},Ne(e.rows,(W,B)=>(h(),$("tr",{key:o(W,B),class:xe([[x.value,p(W)?"bg-sel":s(W)||e.openable?"hover:bg-hover":"",s(W)||e.openable?"cursor-pointer":""],"border-b border-border transition-colors duration-150 ease-out"]),"aria-selected":e.selectable?p(W)?"true":"false":void 0,"data-row-states":J(W).length>0?J(W).join(" "):void 0,onClick:Q=>i(Q,W)},[e.selectable?(h(),$("td",J3,[O("button",{type:"button",role:"checkbox","aria-checked":p(W)?"true":"false","aria-label":u(P)("backend::lang.list.select_row"),class:xe([p(W)?"border-primary bg-primary text-on-primary":"border-border-strong bg-surface","flex size-[18px] items-center justify-center rounded-checkbox border"]),onClick:Q=>m(W)},[p(W)?(h(),j(u(_r),{key:0,size:14,"aria-hidden":"true"})):ae("",!0)],10,Z3)])):ae("",!0),(h(!0),$(_e,null,Ne(e.columns,(Q,ne)=>(h(),$("td",{key:Q.key,class:xe([U(Q,ne,J(W)),"px-3.5 first:pl-5 last:pr-5"])},[y.value&&ne===0?(h(),$("span",Q3,[O("span",X3,R(A(W[Q.key])),1),e.openable?(h(),$("button",{key:0,type:"button","data-row-open":"",class:"min-w-0 truncate text-left font-semibold text-text",onClick:ce=>I(ce,W)},[z(Za,{column:Q,value:W[Q.key]},null,8,["column","value"])],8,eE)):(h(),j(Za,{key:1,column:Q,value:W[Q.key]},null,8,["column","value"]))])):ne===0&&J(W).length>0?(h(),$("span",tE,[s(W)?(h(),j(u(_n),{key:0,to:s(W),class:xe(H(J(W)))},{default:F(()=>[z(Za,{column:Q,value:W[Q.key]},null,8,["column","value"])]),_:2},1032,["to","class"])):(h(),$("span",{key:1,class:xe(H(J(W)))},[z(Za,{column:Q,value:W[Q.key]},null,8,["column","value"])],2)),z(R3,{states:J(W),labels:e.stateLabels},null,8,["states","labels"])])):ne===0&&s(W)?(h(),j(u(_n),{key:2,to:s(W),class:"text-text no-underline"},{default:F(()=>[z(Za,{column:Q,value:W[Q.key]},null,8,["column","value"])]),_:2},1032,["to"])):(h(),j(Za,{key:3,column:Q,value:W[Q.key]},null,8,["column","value"]))],2))),128)),e.trailing?(h(),$("td",nE,[he(D.$slots,"trailing",{row:W})])):ae("",!0)],10,Y3))),128))],8,U3)],2)]))}}),aE=["aria-label"],rE={key:0,class:"flex flex-col gap-1 text-[13px]"},lE={class:"font-semibold text-muted"},oE=["data-filter","value","onChange"],sE=["value"],iE={key:1,class:"flex flex-col gap-1 text-[13px]"},uE={class:"mb-1 font-semibold text-muted"},cE={class:"flex items-center gap-2"},dE=["data-filter","aria-label","value","onChange"],fE=["data-filter","aria-label","value","onChange"],pE={key:2,class:"flex flex-col gap-1 text-[13px]"},vE={class:"font-semibold text-muted"},hE=["data-filter","value","onChange"],mE=["value"],Ur="",ao="h-button rounded-control border border-border-strong bg-surface px-3 text-text",yE=ee({__name:"FilterBar",props:{filters:{},values:{},source:{}},emits:["update"],setup(e,{emit:t}){const n=e,a=t;function r(f){if(f.options&&f.options.length>0)return f.options.map(v=>({value:JSON.stringify(v.value),label:v.label}));const p=[];return f.trueValue!==void 0&&p.push({value:JSON.stringify(f.trueValue),label:P("backend::lang.list.column_switch_true")}),f.falseValue!==void 0&&p.push({value:JSON.stringify(f.falseValue),label:P("backend::lang.list.column_switch_false")}),p}const l=T({});async function o(f){const{data:p}=await Me.GET("/{vendor}/{plugin}/{controller}/filters/{scope}/options",{params:{path:{...n.source,scope:f.name}}});l.value={...l.value,[f.name]:p?.data??[]}}_t(()=>{for(const f of n.filters)f.type==="scope"&&o(f)});const s=Zt({});function i(){for(const f of n.filters){if(f.type!=="daterange")continue;const[p="",v=""]=(n.values[f.name]??"").split(".."),m=s[f.name];(!m||n.values[f.name]!==void 0||m.from!==""&&m.to!=="")&&(s[f.name]={from:p,to:v})}}Fe(()=>n.values,i,{immediate:!0,deep:!0});function c(f,p,v){const m={...s[f.name]??{from:"",to:""},[p]:v};s[f.name]=m,m.from!==""&&m.to!==""?a("update",f.name,`${m.from}..${m.to}`):(m.from===""&&m.to===""||n.values[f.name]!==void 0)&&a("update",f.name,null)}function d(f,p){a("update",f.name,p===Ur?null:p)}return(f,p)=>(h(),$("div",{role:"group","aria-label":u(P)("backend::lang.list.filters"),"data-filter-bar":"",class:"flex flex-wrap items-end gap-4 border-t border-border px-5 py-3.5"},[(h(!0),$(_e,null,Ne(e.filters,v=>(h(),$(_e,{key:v.name},[v.type==="switch"?(h(),$("label",rE,[O("span",lE,R(v.label||v.name),1),O("select",{"data-filter":v.name,value:e.values[v.name]??Ur,class:xe(ao),onChange:m=>d(v,m.target.value)},[O("option",{value:Ur},R(u(P)("backend::lang.list.filter_all")),1),(h(!0),$(_e,null,Ne(r(v),m=>(h(),$("option",{key:m.value,value:m.value},R(m.label),9,sE))),128))],40,oE)])):v.type==="daterange"?(h(),$("fieldset",iE,[O("legend",uE,R(v.label||v.name),1),O("div",cE,[O("input",{type:"date","data-filter":`${v.name}-from`,"aria-label":u(P)("backend::lang.list.filter_from"),value:s[v.name]?.from??"",class:xe(ao),onChange:m=>c(v,"from",m.target.value)},null,40,dE),p[0]||(p[0]=O("span",{"aria-hidden":"true"},"–",-1)),O("input",{type:"date","data-filter":`${v.name}-to`,"aria-label":u(P)("backend::lang.list.filter_to"),value:s[v.name]?.to??"",class:xe(ao),onChange:m=>c(v,"to",m.target.value)},null,40,fE)])])):v.type==="scope"?(h(),$("label",pE,[O("span",vE,R(v.label||v.name),1),(h(),$("select",{key:`${v.name}-${l.value[v.name]?.length??-1}`,"data-filter":v.name,value:e.values[v.name]??Ur,class:xe(ao),onChange:m=>d(v,m.target.value)},[O("option",{value:Ur},R(u(P)("backend::lang.list.filter_all")),1),(h(!0),$(_e,null,Ne(l.value[v.name]??[],m=>(h(),$("option",{key:m.value,value:m.value},R(m.label),9,mE))),128))],40,hE))])):ae("",!0)],64))),128))],8,aE))}}),gE=["type","disabled"],et=ee({__name:"Button",props:{variant:{default:"outline"},size:{default:"md"},type:{default:"button"},disabled:{type:Boolean,default:!1},icon:{default:void 0},to:{default:void 0}},setup(e){const t=e,n={primary:"bg-primary text-on-primary hover:opacity-90",outline:"border border-border-strong bg-surface text-text hover:bg-hover",ghost:"text-muted hover:bg-hover hover:text-text",danger:"border border-danger bg-surface text-danger hover:bg-danger-soft"},a=w(()=>["inline-flex shrink-0 items-center justify-center gap-2 rounded-control px-4 font-semibold whitespace-nowrap no-underline transition-colors duration-150 ease-out disabled:cursor-not-allowed disabled:opacity-60",t.size==="sm"?"h-[38px]":"h-button",n[t.variant]]);return(r,l)=>e.to!==void 0?(h(),j(u(_n),{key:0,to:e.to,class:xe(a.value)},{default:F(()=>[e.icon?(h(),j(en(e.icon),{key:0,size:16,"aria-hidden":"true"})):ae("",!0),he(r.$slots,"default")]),_:3},8,["to","class"])):(h(),$("button",{key:1,type:e.type,disabled:e.disabled,class:xe(a.value)},[e.icon?(h(),j(en(e.icon),{key:0,size:16,"aria-hidden":"true"})):ae("",!0),he(r.$slots,"default")],10,gE))}}),bE=ee({__name:"BulkActionsMenu",props:{actions:{},disabled:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:n}){const a=n,r=T(null);function l(){const o=r.value?.$el;o instanceof HTMLElement&&o.focus()}return t({focus:l}),(o,s)=>(h(),j(u(Am),{modal:!1},{default:F(()=>[z(u(Mm),{"as-child":"",disabled:e.disabled},{default:F(()=>[z(et,{ref_key:"trigger",ref:r,variant:"outline",size:"md","data-action":"bulk-actions",disabled:e.disabled},{default:F(()=>[$e(R(u(P)("backend::lang.list.bulk_actions"))+" ",1),z(u(Pl),{size:16,class:"text-muted","aria-hidden":"true"})]),_:1},8,["disabled"])]),_:1},8,["disabled"]),z(u(Om),null,{default:F(()=>[z(u(Dm),{"data-bulk-menu":"",align:"end","side-offset":8,class:"z-50 flex w-[240px] max-w-[320px] flex-col rounded-[14px] border border-border bg-surface p-2 text-text shadow-menu"},{default:F(()=>[(h(!0),$(_e,null,Ne(e.actions,i=>(h(),j(u(Pm),{key:i.name,"data-bulk-action":i.name,class:"flex min-h-10 cursor-pointer items-center rounded-control px-3 py-2 outline-none transition-colors duration-150 ease-out data-[highlighted]:bg-hover",onSelect:c=>a("select",i.name)},{default:F(()=>[$e(R(i.label),1)]),_:2},1032,["data-bulk-action","onSelect"]))),128))]),_:1})]),_:1})]),_:1}))}}),_E={class:"flex flex-wrap items-center justify-between gap-3 px-5 py-4"},xE={key:0,class:"relative block w-[320px] max-w-full"},wE={class:"sr-only"},kE=["value","placeholder"],$E={key:1},CE={class:"flex flex-wrap items-center justify-end gap-2.5"},SE={key:0,"data-selected-pill":"",class:"inline-flex h-8 items-center gap-1.5 rounded-pill bg-sel px-3 text-[13px] font-semibold"},EE=ee({__name:"ListToolbar",props:{showSearch:{type:Boolean},search:{},searchPrompt:{},buttons:{},selectedCount:{},selectedLabel:{},deleteLabel:{},actions:{default:()=>[]},busyAction:{default:null},bulkActions:{default:()=>[]},bulkBusy:{type:Boolean,default:!1}},emits:["update:search","delete","action","bulk"],setup(e,{expose:t,emit:n}){const a=e,r=n,l=w(()=>new Map(a.actions.map(i=>[i.name,i.label]))),o=T(null);function s(){o.value?.focus()}return t({focusBulk:s}),(i,c)=>(h(),$("div",_E,[e.showSearch?(h(),$("label",xE,[O("span",wE,R(u(P)("backend::lang.list.search")),1),z(u(ds),{size:18,class:"pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"}),O("input",{type:"search","data-list-search":"",value:e.search,placeholder:e.searchPrompt,class:"h-button w-full rounded-control border border-transparent bg-subtle pr-3.5 pl-10",onInput:c[0]||(c[0]=d=>r("update:search",d.target.value))},null,40,kE)])):(h(),$("span",$E)),O("div",CE,[e.selectedCount>0?(h(),$("span",SE,[z(u(_r),{size:14,"aria-hidden":"true"}),$e(R(e.selectedLabel),1)])):ae("",!0),e.bulkActions.length>0?(h(),j(bE,{key:1,ref_key:"bulkMenu",ref:o,actions:e.bulkActions,disabled:e.selectedCount===0||e.bulkBusy,onSelect:c[1]||(c[1]=d=>r("bulk",d))},null,8,["actions","disabled"])):ae("",!0),(h(!0),$(_e,null,Ne(e.buttons,d=>(h(),$(_e,{key:d},[d==="delete"?(h(),j(et,{key:0,"data-action":"delete",variant:e.selectedCount>0?"danger":"outline",icon:u(Ml),disabled:e.selectedCount===0,onClick:c[2]||(c[2]=f=>r("delete"))},{default:F(()=>[$e(R(e.deleteLabel),1)]),_:1},8,["variant","icon","disabled"])):l.value.has(d)?(h(),j(et,{key:1,variant:"outline",size:"md","data-action":d,disabled:e.busyAction===d,"aria-busy":e.busyAction===d?"true":void 0,onClick:f=>r("action",d)},{default:F(()=>[$e(R(l.value.get(d)),1)]),_:2},1032,["data-action","disabled","aria-busy","onClick"])):ae("",!0)],64))),128))])]))}}),AE={class:"flex flex-wrap items-center gap-x-6 gap-y-3 border-t border-border px-5 py-3.5 text-[13px] text-muted"},DE={"data-range":""},PE={key:0,class:"flex items-center gap-2"},OE=["value"],ME=["value"],TE=["aria-label"],RE=["disabled"],qE={key:0,"aria-hidden":"true",class:"px-1"},IE=["data-page","aria-current","onClick"],FE=["disabled"],Oi="inline-flex h-pager min-w-pager items-center justify-center gap-1 rounded-pager border border-border px-2.5 text-[13px] text-text disabled:cursor-not-allowed disabled:opacity-60 hover:bg-hover",zm=ee({__name:"Pagination",props:{meta:{},loading:{type:Boolean},perPageOptions:{},perPage:{}},emits:["page","perPage"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>n.meta?.total??0),l=w(()=>n.meta?.page??1),o=w(()=>Math.max(n.meta?.last_page??1,1)),s=w(()=>{const d=n.meta;if(!d||d.total===0)return xr("backend::lang.list.results",0);const f=(d.page-1)*d.per_page+1,p=Math.min(d.page*d.per_page,d.total);return P("backend::lang.list.pagination_range",{from:f,to:p,total:d.total})}),i=w(()=>{const d=o.value,f=l.value,p=new Set([1,d,f-1,f,f+1].filter(g=>g>=1&&g<=d));f<=3&&[2,3].forEach(g=>g<=d&&p.add(g)),f>=d-2&&[d-1,d-2].forEach(g=>g>=1&&p.add(g));const v=[...p].sort((g,_)=>g-_),m=[];return v.forEach((g,_)=>{const y=v[_-1];y!==void 0&&g-y>1&&m.push(null),m.push(g)}),m});function c(d){const f=Number(d.target.value);Number.isFinite(f)&&f>0&&a("perPage",f)}return(d,f)=>(h(),$("footer",AE,[O("span",DE,R(e.loading?u(P)("backend::lang.list.loading"):s.value),1),e.perPageOptions.length>1?(h(),$("label",PE,[O("span",null,R(u(P)("backend::lang.list.records_per_page")),1),O("select",{"data-per-page":"",value:String(e.perPage),class:"h-pager rounded-pager border border-border-strong bg-surface px-2 text-text",onChange:c},[(h(!0),$(_e,null,Ne(e.perPageOptions,p=>(h(),$("option",{key:p,value:String(p)},R(p),9,ME))),128))],40,OE)])):ae("",!0),!e.loading&&r.value>0?(h(),$("nav",{key:1,"aria-label":u(P)("backend::lang.list.pagination"),class:"ml-auto flex items-center gap-1.5"},[O("button",{type:"button","data-page":"prev",class:xe(Oi),disabled:l.value<=1,onClick:f[0]||(f[0]=p=>a("page",l.value-1))},[z(u(cs),{size:14,"aria-hidden":"true"}),$e(R(u(P)("backend::lang.list.prev_page")),1)],8,RE),(h(!0),$(_e,null,Ne(i.value,(p,v)=>(h(),$(_e,{key:p??`gap-${v}`},[p===null?(h(),$("span",qE,"…")):(h(),$("button",{key:1,type:"button","data-page":p,"aria-current":p===l.value?"page":void 0,class:xe([Oi,p===l.value?"border-transparent bg-sel font-bold":""]),onClick:m=>p!==l.value&&a("page",p)},R(p),11,IE))],64))),128)),O("button",{type:"button","data-page":"next",class:xe(Oi),disabled:l.value>=o.value,onClick:f[1]||(f[1]=p=>a("page",l.value+1))},[$e(R(u(P)("backend::lang.list.next_page")),1),z(u(Ol),{size:14,"aria-hidden":"true"})],8,FE)],8,TE)):ae("",!0)]))}}),BE={role:"alert","data-extension-failure":"",class:"flex min-h-input items-center rounded-control border-[1.5px] border-dashed border-border-strong bg-subtle px-3.5 py-2.5 text-[13px] text-muted"},NE={class:"flex min-w-0 items-start gap-2.5"},VE={class:"min-w-0 [overflow-wrap:anywhere]"},Ec=ee({__name:"ExtensionFailure",props:{text:{}},setup(e){return(t,n)=>(h(),$("div",BE,[O("span",NE,[z(u(Bt),{size:16,class:"mt-0.5 shrink-0 text-danger","aria-hidden":"true"}),O("span",VE,R(e.text),1)])]))}}),LE=new Set(["div","span","p","strong","em","b","i","u","s","small","mark","code","pre","br","hr","ul","ol","li","dl","dt","dd","h2","h3","h4","h5","h6","table","thead","tbody","tfoot","tr","th","td","caption","section","header","footer","figure","figcaption","blockquote","q","abbr","time","data","meter","progress","sup","sub","a","img"]),jE=new Set(["script","style","template","iframe","object","embed","noscript","textarea","title","xmp","svg","math","form","input","button","select","link","meta","base"]),UE=32,zE=2e3,HE=new Set(["class","title","lang","dir","role"]),KE={a:new Set(["href"]),img:new Set(["src","alt","width","height"]),td:new Set(["colspan","rowspan","scope"]),th:new Set(["colspan","rowspan","scope"]),time:new Set(["datetime"]),data:new Set(["value"]),meter:new Set(["value","min","max","low","high","optimum"]),progress:new Set(["value","max"])},WE=/^(aria|data)-[a-z0-9_-]+$/;function GE(e,t){if(e==="")return!1;for(const n of e){const a=n.codePointAt(0)??0;if(a<=32||a===127)return!1}return e.startsWith("#")?t:e.startsWith("/")?e.length===1||e[1]!=="/"&&e[1]!=="\\":!1}function YE(e,t,n){return HE.has(t)||KE[e]?.has(t)===!0||WE.test(t)?e==="a"&&t==="href"||e==="img"&&t==="src"?GE(n,e==="a"):!0:!1}function JE(e,t){const n={};for(const[a,r]of Object.entries(t??{})){const l=a.toLowerCase();typeof r=="string"&&YE(e,l,r)&&(n[l]=r)}return n}function ku(e,t,n){const a=[];for(const r of e??[]){if(n.left<=0)break;if(r.tag===void 0||r.tag===""){typeof r.text=="string"&&r.text!==""&&(n.left-=1,a.push(r.text));continue}const l=r.tag.toLowerCase();if(jE.has(l))continue;if(!LE.has(l)){a.push(...ku(r.children,t,n));continue}if(t+1>UE)continue;n.left-=1;const o=ku(r.children,t+1,n);a.push(Kt(l,JE(l,r.attrs),o.length>0?o:void 0))}return a}function ZE(e){return ku(e,0,{left:zE})}const QE={key:1,"data-partial-loading":"","aria-busy":"true"},XE=["data-partial","aria-busy"],Ac=ee({__name:"PartialHost",props:{source:{},name:{},recordId:{default:null},variant:{},reloadKey:{default:0},hint:{type:Boolean,default:!1}},setup(e){const t=e,n=T(null),a=T(!1),r=T(!1);let l=0;const o=i=>ZE(i.nodes);o.props=["nodes"];async function s(){const i=++l;r.value=!0;let c=null;try{c=(await Me.GET("/{vendor}/{plugin}/{controller}/partials/{name}",{params:{path:{...t.source,name:t.name},query:t.recordId!=null?{id:t.recordId}:void 0}})).data?.data.nodes??null}catch{c=null}i===l&&(r.value=!1,a.value=c===null,n.value=c)}return Fe(()=>t.reloadKey,()=>{s()}),s(),(i,c)=>a.value?(h(),j(Ec,{key:0,"data-partial-failed":"",text:u(P)("backend::lang.extension.partial_failed")},null,8,["text"])):n.value===null?(h(),$("div",QE,[O("div",{"data-partial-skeleton":"",class:xe([e.hint?"h-[68px] w-full rounded-inner":e.variant==="header"?"h-[80px] w-full rounded-card":"h-[44px] w-full rounded-control","bg-skel"]),"aria-hidden":"true"},null,2)])):n.value.length>0?(h(),$("div",{key:2,class:"summer-partial","data-partial":e.variant,"aria-busy":r.value?"true":void 0},[z(o,{nodes:n.value},null,8,["nodes"])],8,XE)):ae("",!0)}}),eA={class:"flex gap-2.5"},tA=["disabled","aria-busy"],La=ee({__name:"ConfirmDialog",props:{open:{type:Boolean},message:{},title:{default:void 0},confirmLabel:{default:void 0},cancelLabel:{default:void 0},danger:{type:Boolean,default:!1},busy:{type:Boolean,default:!1}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,a=t;function r(o){!o&&n.busy||(a("update:open",o),o||a("cancel"))}function l(){n.busy||(a("confirm"),a("update:open",!1))}return(o,s)=>(h(),j(u(Pk),{open:e.open,"onUpdate:open":r},{default:F(()=>[z(u(Ak),null,{default:F(()=>[z(u(Sk),{class:"pointer-events-auto fixed inset-0 z-[80] bg-overlay"}),z(u(_k),{"data-confirm-dialog":"",class:"pointer-events-auto fixed top-1/2 left-1/2 z-[90] flex w-[calc(100%-32px)] max-w-[440px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-modal bg-surface p-6 text-text shadow-pop"},{default:F(()=>[z(u(Mk),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:F(()=>[$e(R(e.title??u(P)("backend::lang.form.confirm")),1)]),_:1}),z(u($k),{class:"text-muted"},{default:F(()=>[$e(R(e.message),1)]),_:1}),O("div",eA,[z(u(wk),{"data-action":"cancel",disabled:e.busy,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60"},{default:F(()=>[$e(R(e.cancelLabel??u(P)("backend::lang.form.cancel")),1)]),_:1},8,["disabled"]),O("button",{type:"button","data-action":"confirm",disabled:e.busy,"aria-busy":e.busy?"true":void 0,class:xe([e.danger?"bg-danger text-white":"bg-primary text-on-primary","inline-flex h-button flex-1 items-center justify-center gap-2 rounded-control font-semibold hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"]),onClick:pt(l,["prevent"])},[e.busy?(h(),j(u(co),{key:0,size:16,class:"animate-spin","aria-hidden":"true"})):ae("",!0),$e(" "+R(e.confirmLabel??u(P)("backend::lang.form.confirm")),1)],10,tA)])]),_:1})]),_:1})]),_:1},8,["open"]))}});function ja(){const e=T(null),t=T(!1);let n=null,a=null;function r(i){const c=n;n=null,a=null,e.value=null,c?.(i)}function l(i,c){return r(!1),e.value=i,a=c??null,new Promise(d=>{n=d})}async function o(){if(t.value)return;const i=a;if(i){t.value=!0;try{await i()}finally{t.value=!1}}r(!0)}function s(){t.value||r(!1)}return{request:e,busy:t,ask:l,confirm:o,cancel:s}}const nA={class:"flex flex-col gap-5"},aA={class:"flex flex-wrap items-end justify-between gap-4"},rA={class:"flex flex-col"},lA={class:"text-[26px] font-bold tracking-[-0.02em]"},oA={key:0,"data-record-count":"",class:"text-muted"},sA={key:0,class:"flex items-center gap-2.5"},iA={class:"overflow-hidden rounded-card border border-border bg-surface shadow-card"},uA={key:2,role:"alert",class:"border-t border-border px-5 py-4 text-danger"},cA={key:0,"data-empty-search":"",class:"flex flex-col items-center gap-3"},dA={class:"flex size-14 items-center justify-center rounded-full bg-subtle text-muted"},fA={class:"text-[17px] font-bold"},pA={class:"max-w-[420px] text-muted"},vA={key:1,"data-empty-list":"",class:"text-muted"},hA=300,mA=ee({__name:"ListView",setup(e){const t=rn(),n=Ar(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=ms(a),l=Un(r)??"/",o=T(null),s=T([]),i=T(null),c=T(!0),d=T(!1),f=T(!1),p=w(()=>d.value||f.value),v=T([]),m=T(!1),g=T(0),_=ja(),y=w(()=>S3(t.query)),x=T(y.value.search??""),S=w(()=>o.value?.messages),A=w(()=>o.value?.title?o.value.title:ys(a.vendor,a.plugin)?.sideMenu.find(Y=>Y.controller===r)?.label??r),V=w(()=>i.value?Ie(S.value?.recordCount,i.value.total):""),J=w(()=>o.value?.toolbarButtons??[]),U=w(()=>J.value.filter(E=>E==="create")),H=w(()=>o.value?.toolbarActions??[]),k=w(()=>J.value.filter(E=>E==="delete"||H.value.some(Y=>Y.name===E))),I=T(null),G=w(()=>i.value?.row_states??{}),D=w(()=>({deleted:Ie(S.value?.rowStateDeleted),negative:Ie(S.value?.rowStateNegative),disabled:Ie(S.value?.rowStateDisabled)})),N=w(()=>(o.value?.bulkActions??[]).filter(E=>E.name!=="delete")),W=T(!1),B=T(null),Q=w(()=>{const E=o.value?.perPageOptions??[];return E.length>0?E:[o.value?.recordsPerPage||20]}),ne=w(()=>y.value.per_page??i.value?.per_page??o.value?.recordsPerPage??20),ce=w(()=>y.value.sort?{column:y.value.sort,dir:y.value.dir==="desc"?"desc":"asc"}:null);function te(E){const Y=o.value?.recordUrl,M=E.id;return!Y||typeof M!="number"&&typeof M!="string"?null:jm(Y,r,M)}function ie(E){n.replace({path:t.path,query:Lm(E)})}let le=0;async function re(){const E=++le;c.value=!0,f.value=!1;const Y=await Me.GET("/{vendor}/{plugin}/{controller}",{params:{path:a,query:y.value}});E===le&&(s.value=Y.data?.data??[],i.value=Y.data?.meta??null,f.value=!Y.data,c.value=!1)}async function we(){const E=await Me.GET("/{vendor}/{plugin}/{controller}/schema/list",{params:{path:a}});o.value=E.data?.data??null,d.value=!o.value,o.value&&Sc(r,o.value.assets)}we(),Fe(()=>E3(y.value),()=>{v.value=[],x.value=y.value.search??"",re()},{immediate:!0});let ue=null;function Ce(E){x.value=E,ue!==null&&clearTimeout(ue),ue=setTimeout(()=>{ue=null;const Y=E.trim();ie({...y.value,search:Y===""?void 0:Y,page:void 0})},hA)}qt(()=>{ue!==null&&clearTimeout(ue)});function pe(){x.value="",ie({...y.value,search:void 0,page:void 0})}function Z(E){const Y=ce.value;Y?.column!==E?ie({...y.value,sort:E,dir:"asc",page:void 0}):Y.dir==="asc"?ie({...y.value,sort:E,dir:"desc",page:void 0}):ie({...y.value,sort:void 0,dir:void 0,page:void 0})}function ve(E){ie({...y.value,page:E})}function X(E){ie({...y.value,per_page:E,page:void 0})}function de(E,Y){const M={...y.value.filter??{}};Y===null?delete M[E]:M[E]=Y,ie({...y.value,filter:M,page:void 0})}async function ge(){const E=v.value.map(Number).filter(M=>Number.isInteger(M)&&M>0);if(!(E.length===0||m.value||!await _.ask({message:Ie(S.value?.deleteConfirm,E.length),confirmLabel:P("backend::lang.form.delete"),danger:!0}))){m.value=!0;try{const M=await Me.POST("/{vendor}/{plugin}/{controller}/bulk-delete",{params:{path:a},body:{ids:E}});if(M.data){Oe(Ie(S.value?.deleted,M.data.data.deleted)),v.value=[],await re(),g.value+=1;return}Oe(M.error?.error.message||P("backend::lang.list.delete_failed"),"danger")}catch{Oe(P("backend::lang.list.delete_failed"),"danger")}finally{m.value=!1}}}async function b(E){const Y=N.value.find(be=>be.name===E),M=v.value.map(Number).filter(be=>Number.isInteger(be)&&be>0);if(!Y||M.length===0||W.value)return;const K=Y.label??E;let oe=0,se=null,me="";const fe=await _.ask({message:Y.confirm||xr("backend::lang.list.bulk_confirm",M.length,{action:K}),confirmLabel:K,danger:!1},async()=>{W.value=!0;try{const be=await Me.POST("/{vendor}/{plugin}/{controller}/bulk/{action}",{params:{path:{...a,action:E}},body:{ids:M}});oe=be.response.status,se=be.data?.data??null,me=be.error?.error.message??""}catch{oe=0}finally{W.value=!1}});if(await new Promise(be=>setTimeout(be,0)),B.value?.focusBulk(),!fe)return;const Ee=se;if(Ee){Oe(Ee.message||xr("backend::lang.list.bulk_done",Ee.affected)),v.value=[],await re(),g.value+=1;return}if(oe===409){Oe(P("backend::lang.list.bulk_stale"),"danger"),v.value=[],await re();return}if(oe===403){Oe(me||P("backend::lang.list.action_forbidden"),"danger");return}Oe(me||P("backend::lang.extension.action_failed"),"danger")}async function C(E){if(I.value===null){I.value=E;try{const Y=await Me.POST("/{vendor}/{plugin}/{controller}/toolbar/{action}",{params:{path:{...a,action:E}},body:{}});if(Y.data){Y.data.data.message&&Oe(Y.data.data.message),await re(),g.value+=1;return}Oe(Y.error?.error.message||P("backend::lang.extension.action_failed"),"danger")}catch{Oe(P("backend::lang.extension.action_failed"),"danger")}finally{I.value=null}}}return(E,Y)=>(h(),$("section",nA,[O("header",aA,[O("div",rA,[O("h1",lA,R(A.value),1),V.value?(h(),$("p",oA,R(V.value),1)):ae("",!0)]),U.value.length>0?(h(),$("div",sA,[(h(!0),$(_e,null,Ne(U.value,M=>(h(),j(et,{key:M,"data-action":"create",variant:"primary",icon:u(ju),to:`${u(l)}/create`},{default:F(()=>[$e(R(u(Ie)(S.value?.create)),1)]),_:1},8,["icon","to"]))),128))])):ae("",!0)]),o.value?.headerPartial?(h(),j(Ac,{key:0,variant:"header",source:a,name:o.value.headerPartial,"reload-key":g.value},null,8,["name","reload-key"])):ae("",!0),O("div",iA,[o.value?(h(),j(EE,{key:0,ref_key:"toolbar",ref:B,"show-search":o.value.showSearch,search:x.value,"search-prompt":u(Ie)(S.value?.searchPrompt),buttons:k.value,"selected-count":v.value.length,"selected-label":u(Ie)(S.value?.selected,v.value.length),"delete-label":u(Ie)(S.value?.deleteSelected,v.value.length),actions:H.value,"busy-action":I.value,"bulk-actions":N.value,"bulk-busy":W.value,"onUpdate:search":Ce,onDelete:ge,onAction:C,onBulk:b},null,8,["show-search","search","search-prompt","buttons","selected-count","selected-label","delete-label","actions","busy-action","bulk-actions","bulk-busy"])):ae("",!0),o.value&&o.value.filters.length>0?(h(),j(yE,{key:1,filters:o.value.filters,values:y.value.filter??{},source:a,onUpdate:de},null,8,["filters","values"])):ae("",!0),p.value&&!c.value?(h(),$("p",uA,R(u(P)("backend::lang.list.load_failed")),1)):(h(),j(Um,{key:3,columns:o.value?.columns??[],rows:s.value,loading:c.value||!o.value,"row-link":te,selectable:o.value?.showCheckboxes??!1,selected:v.value,sortable:o.value?.showSorting??!1,sort:ce.value,"row-states":G.value,"state-labels":D.value,"onUpdate:selected":Y[0]||(Y[0]=M=>v.value=M),onSort:Z},{empty:F(()=>[y.value.search?(h(),$("div",cA,[O("span",dA,[z(u(Jv),{size:24,"aria-hidden":"true"})]),O("p",fA,R(u(Ie)(S.value?.emptySearch,void 0,{term:y.value.search})),1),O("p",pA,R(u(Ie)(S.value?.emptySearchHint,void 0,{term:y.value.search})),1),z(et,{"data-action":"clear-search",onClick:pe},{default:F(()=>[$e(R(u(P)("backend::lang.list.clear_search")),1)]),_:1})])):(h(),$("p",vA,R(u(Ie)(S.value?.empty)||o.value?.noRecordsMessage||u(P)("backend::lang.list.no_records")),1))]),_:1},8,["columns","rows","loading","selectable","selected","sortable","sort","row-states","state-labels"])),z(zm,{meta:i.value,loading:c.value||!o.value,"per-page-options":Q.value,"per-page":ne.value,onPage:ve,onPerPage:X},null,8,["meta","loading","per-page-options","per-page"])]),z(La,{open:u(_).request.value!==null,message:u(_).request.value?.message??"","confirm-label":u(_).request.value?.confirmLabel,danger:u(_).request.value?.danger,busy:u(_).busy.value,onConfirm:u(_).confirm,onCancel:u(_).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])]))}}),ya="X-Session-Key",Hm="X-Child-Session-Key",yA=32;function Cl(){const e=new Uint8Array(yA);globalThis.crypto.getRandomValues(e);let t="";for(const n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}const gA="X-Upload-Id";async function ua(e){try{const t=await e();return{data:t.data?t.data.data:null,status:t.response.status,error:t.error?.error??null}}catch{return{data:null,status:0,error:null}}}async function jo(e){try{const t=await e();return t.response.ok&&t.data instanceof Blob?t.data:null}catch{return null}}function In(e){return encodeURIComponent(String(e))}function Km(e){return`${ps.api}/${In(e.vendor)}/${In(e.plugin)}/${In(e.controller)}`}function bA(e){try{return e===""?null:JSON.parse(e)}catch{return null}}function Wm(e){if(!e)return"";for(const t of Object.values(e.details??{})){const n=Array.isArray(t)?t.find(a=>typeof a=="string"&&a!==""):t;if(typeof n=="string"&&n!=="")return n}return e.message??""}function _A(e,t){const n=t;if((e===200||e===201)&&n?.data)return{ok:!0,item:n.data};const a=Wm(n?.error);return e===413?{ok:!1,reason:"too_large",status:e,message:a}:e===422?{ok:!1,reason:"invalid",status:e,message:a}:e===0?{ok:!1,reason:"network",status:e,message:a}:{ok:!1,reason:"failed",status:e,message:a}}function Gm(e,t,n,a,r){let l=null,o=!1;const s=()=>new Promise(c=>{const d=new XMLHttpRequest;l=d,d.open("POST",e),d.setRequestHeader("X-Requested-With",nh),d.setRequestHeader("Accept","application/json");for(const[p,v]of Object.entries(n))d.setRequestHeader(p,v);r&&d.setRequestHeader(gA,r),d.upload.onprogress=p=>{p.lengthComputable&&a?.(p.loaded,p.total)},d.onload=()=>c({status:d.status,body:bA(d.responseText)}),d.onerror=()=>c("network"),d.ontimeout=()=>c("network"),d.onabort=()=>c("aborted");const f=new FormData;f.append("file_data",t,t.name),d.send(f)});return{promise:(async()=>{let c=await s();return typeof c=="object"&&c.status===401&&!o&&(await zu()&&(c=o?"aborted":await s()),typeof c=="object"&&c.status===401&&S_()),c==="aborted"||o?{ok:!1,reason:"aborted",status:0,message:""}:c==="network"?{ok:!1,reason:"network",status:0,message:""}:_A(c.status,c.body)})(),abort(){o=!0,l?.abort()}}}function Ym(e,t,n,a){const r={...e,id:t,field:n},l={[ya]:a},o=`${Km(e)}/${In(t)}/files/${In(n)}`;return{list:()=>ua(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}",{params:{path:r,header:l}})),upload:(s,i,c)=>Gm(o,s,{...l},i,c),update:(s,i)=>ua(()=>Me.PUT("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}",{params:{path:{...r,file:s},header:l},body:i})),remove:s=>ua(()=>Me.DELETE("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}",{params:{path:{...r,file:s},header:l}})),reorder:s=>ua(()=>Me.POST("/{vendor}/{plugin}/{controller}/{id}/files/{field}/reorder",{params:{path:r,header:l},body:{ids:s}})),download:s=>jo(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}/download",{params:{path:{...r,file:s},header:l},parseAs:"blob"})),thumb:s=>jo(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/files/{field}/{file}/thumb",{params:{path:{...r,file:s},header:l},parseAs:"blob"}))}}function xA(e,t,n,a,r,l,o){const s={...e,id:t,name:n,child:a,field:r},i={[ya]:l,[Hm]:o},c=`${Km(e)}/${In(t)}/relations/${In(n)}/records/${In(a)}/files/${In(r)}`;return{list:()=>ua(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}",{params:{path:s,header:i}})),upload:(d,f,p)=>Gm(c,d,{...i},f,p),update:(d,f)=>ua(()=>Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}",{params:{path:{...s,file:d},header:i},body:f})),remove:d=>ua(()=>Me.DELETE("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}",{params:{path:{...s,file:d},header:i}})),reorder:d=>ua(()=>Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/reorder",{params:{path:s,header:i},body:{ids:d}})),download:d=>jo(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}/download",{params:{path:{...s,file:d},header:i},parseAs:"blob"})),thumb:d=>jo(()=>Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}/files/{field}/{file}/thumb",{params:{path:{...s,file:d},header:i},parseAs:"blob"}))}}const wA={key:0,role:"alert","data-forbidden-banner":"",class:"flex items-start gap-3 rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},kA={class:"flex min-w-0 flex-col gap-1"},$A={class:"[overflow-wrap:anywhere]"},CA={key:1,role:"alert","data-error-banner":"",class:"flex items-start gap-3 rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},SA={class:"flex flex-col gap-1"},Vl=ee({__name:"FormErrorBanner",props:{errors:{},fieldNames:{},forbidden:{default:null}},setup(e){const t=e,n=w(()=>Object.keys(t.errors).length),a=w(()=>Object.entries(t.errors).filter(([r])=>!t.fieldNames.includes(r)).flatMap(([,r])=>r));return(r,l)=>e.forbidden?(h(),$("div",wA,[z(u(Bt),{size:20,class:"mt-px shrink-0","aria-hidden":"true"}),O("div",kA,[O("p",$A,R(e.forbidden),1),(h(!0),$(_e,null,Ne(a.value,(o,s)=>(h(),$("p",{key:s,class:"text-[13px] [overflow-wrap:anywhere]"},R(o),1))),128))])])):n.value>0?(h(),$("div",CA,[z(u(Bt),{size:20,class:"mt-px shrink-0","aria-hidden":"true"}),O("div",SA,[O("p",null,[O("strong",null,R(u(P)("backend::lang.form.error_title")),1),$e(" "+R(u(xr)("backend::lang.form.error_fields",n.value)),1)]),(h(!0),$(_e,null,Ne(a.value,(o,s)=>(h(),$("p",{key:s,class:"text-[13px]"},R(o),1))),128))])])):ae("",!0)}}),EA=new Set(["readonly","placeholder","maxlength","minlength","min","max","step","autocomplete","spellcheck","pattern"]);function Rs(e){const t={};for(const[n,a]of Object.entries(e.attributes??{})){const r=n.toLowerCase();!EA.has(r)||a===null||a===!1||(t[r]=a)}return t}function ga(e){return["w-full rounded-control border bg-surface px-3.5 text-text transition-colors duration-150 ease-out",e?"border-danger":"border-border-strong"].join(" ")}function Dc(e){return typeof e=="string"?e!==""&&e!=="0"&&e.toLowerCase()!=="false":!!e}function Jm(e,t){return typeof e=="number"?t?1:0:t}const AA={class:"flex min-w-0 flex-col"},DA=["for"],PA={key:0,class:"text-danger","aria-hidden":"true"},OA=["id"],MA=["id","name","checked","aria-invalid","aria-describedby"],TA=ee({__name:"CheckboxField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>Dc(n.modelValue));function l(o){a("update:modelValue",Jm(n.modelValue,o.target.checked))}return(o,s)=>(h(),$("div",{class:xe([e.invalid?"border-danger":"border-border","flex items-center justify-between gap-4 rounded-inner border px-4 py-3.5"]),"data-toggle-card":""},[O("div",AA,[O("label",{for:e.controlId,class:"font-semibold"},[$e(R(e.field.label||e.field.name),1),e.field.required?(h(),$("span",PA," *")):ae("",!0)],8,DA),e.field.comment?(h(),$("p",{key:0,id:`${e.controlId}-comment`,class:"text-[13px] text-muted"},R(e.field.comment),9,OA)):ae("",!0)]),O("input",{id:e.controlId,type:"checkbox",name:e.field.name,checked:r.value,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"size-5 shrink-0 rounded-[6px] accent-primary",onChange:l},null,40,MA)],2))}});function RA(e){return e==="date"||e==="time"?e:"datetime"}function Ot(e,t=2){return String(e).padStart(t,"0")}const qA=/(Z|[+-]\d{2}:?\d{2})$/i;function IA(e,t,n=!1){if(typeof t!="string"||t.trim()==="")return null;const a=t.trim();try{if(e==="date")return Mh(a.slice(0,10));if(e==="time"){const l=/(\d{2}:\d{2}(:\d{2})?)/.exec(a.includes("T")?a.slice(a.indexOf("T")):a);return l?Wx(l[1]):null}const r=qA.test(a)?a.replace(" ","T"):`${a.replace(" ","T")}Z`;return n?xn(pf(r,"UTC")):pf(r,ln())}catch{return null}}function Mi(e){return`${Ot(e.year,4)}-${Ot(e.month)}-${Ot(e.day)}`}function Ti(e){return`${Ot(e.hour)}:${Ot(e.minute)}:${Ot(e.second)}`}function Xf(e,t,n=!1){if(!t)return null;if(e==="time")return"hour"in t?Ti(t):null;if(!("year"in t))return null;if(e==="date")return Mi(t);if(n){const l=t instanceof zn?xn(t):t,o="hour"in l?Ti(l):"00:00:00";return`${Mi(l)}T${o}Z`}const a=t instanceof zn?t:tc(t instanceof tt?xn(t):t,ln()),r=ws(a,"UTC");return`${Mi(r)}T${Ti(r)}Z`}const FA={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm",time:"HH:mm"},BA=/\[([^\]]*)\]|YYYY|YY|MMMM|MMM|MM|M|dddd|ddd|DD|D|HH|H|hh|h|mm|ss|A|a/g;function NA(e){return"year"in e?new tt(e.year,e.month,e.day):null}function Ri(e,t,n,a){return new Yt(e,{...n,timeZone:"UTC"}).formatToParts(t.toDate("UTC")).find(l=>l.type===a)?.value??""}function VA(e,t,n,a){if(!e)return"";const r=n||FA[t],l=NA(e),o="hour"in e?e:null,s=/D/.test(r.replace(/\[[^\]]*\]/g,""));return r.replace(BA,(i,c)=>{if(c!==void 0)return c;switch(i){case"YYYY":return l?Ot(l.year,4):"";case"YY":return l?Ot(l.year%100):"";case"MMMM":case"MMM":{if(!l)return"";const d=i==="MMMM"?"long":"short";return s?Ri(a,l,{day:"numeric",month:d},"month"):Ri(a,l,{month:d},"month")}case"MM":return l?Ot(l.month):"";case"M":return l?String(l.month):"";case"dddd":case"ddd":return l?Ri(a,l,{weekday:i==="dddd"?"long":"short"},"weekday"):"";case"DD":return l?Ot(l.day):"";case"D":return l?String(l.day):"";case"HH":return o?Ot(o.hour):"";case"H":return o?String(o.hour):"";case"hh":return o?Ot(o.hour%12||12):"";case"h":return o?String(o.hour%12||12):"";case"mm":return o?Ot(o.minute):"";case"ss":return o?Ot(o.second):"";case"A":return o?o.hour<12?"AM":"PM":"";case"a":return o?o.hour<12?"am":"pm":"";default:return i}})}const LA=new tt(2026,10,4);function jA(e,t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=6)return t;try{return(7-xs(LA,e))%7}catch{return 1}}function ep(e){if(e)try{return Mh(e.slice(0,10))}catch{return}}function UA(e,t=Rl(ln())){const n=ep(e.minDate),a=ep(e.maxDate);if(n||a)return{min:n,max:a};const r=e.yearRange??[];return r.length===1&&typeof r[0]=="number"?{min:new tt(t.year-r[0],1,1),max:new tt(t.year+r[0],12,31)}:r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"?{min:new tt(r[0],1,1),max:new tt(r[1],12,31)}:{}}function $u(e,t,n,a){if(!e||t==="time")return;if(t==="date")return e;const r=new va(e.year,e.month,e.day,a?23:0,a?59:0,a?59:0);return n?r:ws(tc(r,"UTC"),ln())}function zA(e,t){const n=Rl(ln());return $u(n,e==="time"?"datetime":e,t,!1)??n}const HA=["id","aria-describedby"],KA={key:0},WA={key:1,class:"text-muted","data-empty":""},GA=["aria-label"],YA={class:"flex size-8 shrink-0 items-center justify-center text-muted","aria-hidden":"true"},JA=["data-mode"],ZA=["aria-label"],QA={key:0,"data-datepicker-time":"",class:"mt-3 flex items-center gap-2 border-t border-border pt-3"},zr="flex size-8 shrink-0 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",XA=ee({__name:"DatepickerField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>RA(n.field.mode)),l=w(()=>r.value==="datetime"&&!!n.field.ignoreTimezone),o=w(()=>ml.value||"pl"),s=w(()=>{const re=n.field.attributes?.readonly;return!!n.field.readOnly||re!=null&&re!==!1}),i=w(()=>IA(r.value,n.modelValue,l.value)),c=w(()=>r.value==="time"?null:i.value),d=w(()=>r.value==="time"?i.value:null),f=w(()=>UA(n.field)),p=w(()=>$u(f.value.min,r.value,l.value,!1)),v=w(()=>$u(f.value.max,r.value,l.value,!0)),m=zA(r.value,l.value),g=w(()=>jA(o.value,n.field.firstDay)),_=w(()=>n.field.twelveHour?12:24),y=w(()=>r.value==="date"?"day":"minute"),x=w(()=>VA(i.value,r.value,n.field.displayFormat,o.value)),S=w(()=>!n.field.required&&i.value!==null&&!s.value),A=w(()=>{const re=c.value;return re?!!p.value&&re.compare(p.value)<0||!!v.value&&re.compare(v.value)>0:!1}),V=new Set(["day","month","year","hour","minute","second"]),J=T(null),U=T(!1);function H(){const re=J.value;if(!re){U.value=!1;return}const we=Array.from(re.querySelectorAll("[data-reka-date-field-segment], [data-reka-time-field-segment]")).filter(Ce=>V.has(Ce.dataset.rekaDateFieldSegment??Ce.dataset.rekaTimeFieldSegment??"")),ue=we.filter(Ce=>!Ce.hasAttribute("data-placeholder")).length;U.value=ue>0&&ue!!n.invalid||A.value||U.value),G=w(()=>Xf(r.value,i.value,l.value));function D(re){const we=Xf(r.value,re??null,l.value);k(),!(we===G.value&&(we!==null||n.modelValue===null))&&a("update:modelValue",we)}function N(re){if(!re||r.value!=="datetime"){D(re);return}const we=c.value,ue=Q.value,Ce=!we||we.year!==re.year||we.month!==re.month||we.day!==re.day,pe=!("hour"in re)||re.hour!==ue.hour||re.minute!==ue.minute;Ce&&pe&&(re=ne(re,ue)),B.value=re,D(re)}function W(){a("update:modelValue",null),k()}const B=T(null);Fe(c,re=>{B.value=re},{immediate:!0});const Q=w(()=>{const re=B.value??c.value;return re&&"hour"in re?new mn(re.hour,re.minute):new mn(0,0)});function ne(re,we){return"hour"in re?re.set({hour:we.hour,minute:we.minute,second:0,millisecond:0}):new va(re.year,re.month,re.day,we.hour,we.minute)}function ce(re){if(!re)return;const we=re instanceof mn?re:new mn(re.hour,re.minute),ue=B.value??c.value??m,Ce=ne(ue,we);B.value=Ce,D(Ce)}function te(re){return re.charAt(0).toLocaleUpperCase(o.value)+re.slice(1)}const ie=w(()=>[ga(I.value),"h-input flex min-w-0 items-center gap-1 pl-3.5 pr-1.5","focus-within:border-primary focus-within:shadow-[0_0_0_3px_var(--c-ring)]","has-[[data-invalid]]:border-danger"]);function le(re){return re==="literal"?"text-muted":re==="timeZoneName"?"ml-2 min-w-0 truncate text-[13px] text-muted":"rounded-[4px] px-0.5 tabular-nums outline-none focus:bg-sel focus:text-text focus-visible:outline-none data-[placeholder]:text-placeholder focus:data-[placeholder]:text-text"}return(re,we)=>s.value?(h(),$("p",{key:0,id:e.controlId,"data-datepicker-readonly":"","aria-describedby":e.describedBy||void 0,class:"flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 tabular-nums"},[x.value!==""?(h(),$("span",KA,R(x.value),1)):(h(),$("span",WA,"—"))],8,HA)):r.value==="time"?(h(),$("div",{key:1,ref_key:"container",ref:J,"data-datepicker":"","data-mode":"time",class:xe(ie.value),onKeyup:k,onFocusout:k},[z(u(Yf),{id:e.controlId,"model-value":d.value,locale:o.value,"hour-cycle":_.value,granularity:"minute",name:e.field.name,required:e.field.required||void 0,"aria-invalid":I.value?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"flex min-w-0 flex-1 items-center","onUpdate:modelValue":D},{default:F(({segments:ue})=>[(h(!0),$(_e,null,Ne(ue,Ce=>(h(),j(u(Jf),{key:Ce.part,part:Ce.part,class:xe(le(Ce.part))},{default:F(()=>[$e(R(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["id","model-value","locale","hour-cycle","name","required","aria-invalid","aria-describedby"]),S.value?(h(),$("button",{key:0,type:"button","data-action":"clear","aria-label":u(P)("backend::lang.datepicker.clear"),class:xe(zr),onClick:W},[z(u(Wt),{size:16,"aria-hidden":"true"})],8,GA)):ae("",!0),O("span",YA,[z(u(Ld),{size:16})])],34)):(h(),j(u(DC),{key:2,id:e.controlId,"model-value":c.value,"default-placeholder":u(m),locale:o.value,granularity:y.value,"hour-cycle":_.value,"hide-time-zone":r.value!=="datetime"||l.value,"min-value":p.value,"max-value":v.value,"week-starts-on":g.value,name:e.field.name,required:e.field.required||void 0,"close-on-select":r.value==="date","prevent-deselect":"","onUpdate:modelValue":N},{default:F(()=>[O("div",{ref_key:"container",ref:J,"data-datepicker":"","data-mode":r.value,class:xe(ie.value),onKeyup:k,onFocusout:k},[z(u(GC),{"aria-invalid":I.value?"true":void 0,"aria-describedby":e.describedBy||void 0,class:"flex min-w-0 flex-1 items-center overflow-hidden"},{default:F(({segments:ue})=>[(h(!0),$(_e,null,Ne(ue,Ce=>(h(),j(u(uS),{key:Ce.part,part:Ce.part,class:xe(le(Ce.part))},{default:F(()=>[$e(R(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["aria-invalid","aria-describedby"]),S.value?(h(),$("button",{key:0,type:"button","data-action":"clear","aria-label":u(P)("backend::lang.datepicker.clear"),class:xe(zr),onClick:W},[z(u(Wt),{size:16,"aria-hidden":"true"})],8,ZA)):ae("",!0),z(u(yS),{"data-action":"open-calendar","aria-label":u(P)("backend::lang.datepicker.open_calendar"),class:xe(zr)},{default:F(()=>[z(u(a0),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])],42,JA),z(u(KC),{"data-datepicker-calendar":"","side-offset":4,align:"end",class:"z-50 w-[284px] rounded-inner border border-border bg-surface p-4 text-text shadow-menu"},{default:F(()=>[z(u(OC),null,{default:F(({weekDays:ue,grid:Ce})=>[z(u(lS),{class:"flex h-9 items-center justify-between"},{default:F(()=>[z(u(pS),{"aria-label":u(P)("backend::lang.datepicker.prev_month"),class:xe(zr)},{default:F(()=>[z(u(cs),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"]),z(u(sS),{class:"font-semibold"},{default:F(({headingValue:pe})=>[$e(R(te(pe)),1)]),_:1}),z(u(dS),{"aria-label":u(P)("backend::lang.datepicker.next_month"),class:xe(zr)},{default:F(()=>[z(u(Ol),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])]),_:1}),(h(!0),$(_e,null,Ne(Ce,pe=>(h(),j(u(JC),{key:pe.value.toString(),class:"mt-2 w-full border-collapse select-none"},{default:F(()=>[z(u(eS),null,{default:F(()=>[z(u(Gf),{class:"flex"},{default:F(()=>[(h(!0),$(_e,null,Ne(ue,Z=>(h(),j(u(aS),{key:Z,class:"flex h-9 w-9 items-center justify-center text-[13px] font-normal text-muted"},{default:F(()=>[$e(R(Z),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024),z(u(QC),null,{default:F(()=>[(h(!0),$(_e,null,Ne(pe.rows,(Z,ve)=>(h(),j(u(Gf),{key:`week-${ve}`,class:"flex"},{default:F(()=>[(h(!0),$(_e,null,Ne(Z,X=>(h(),j(u(TC),{key:X.toString(),date:X,class:"p-0"},{default:F(()=>[z(u(qC),{day:X,month:pe.value,class:"flex size-9 items-center justify-center rounded-pager tabular-nums text-text transition-colors duration-150 ease-out hover:bg-hover data-[outside-view]:text-placeholder data-[today]:font-semibold data-[today]:shadow-[inset_0_0_0_1px_var(--c-border-strong)] data-[selected]:bg-primary data-[selected]:font-semibold data-[selected]:text-on-primary data-[disabled]:cursor-not-allowed data-[disabled]:text-placeholder data-[disabled]:opacity-40 data-[disabled]:hover:bg-transparent data-[unavailable]:cursor-not-allowed data-[unavailable]:opacity-40"},null,8,["day","month"])]),_:2},1032,["date"]))),128))]),_:2},1024))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1}),r.value==="datetime"?(h(),$("div",QA,[z(u(Ld),{size:16,class:"shrink-0 text-muted","aria-hidden":"true"}),z(u(Yf),{"model-value":Q.value,locale:o.value,"hour-cycle":_.value,granularity:"minute","hide-time-zone":"",class:"flex min-w-0 items-center","onUpdate:modelValue":ce},{default:F(({segments:ue})=>[(h(!0),$(_e,null,Ne(ue,Ce=>(h(),j(u(Jf),{key:Ce.part,part:Ce.part,class:xe(le(Ce.part))},{default:F(()=>[$e(R(Ce.value),1)]),_:2},1032,["part","class"]))),128))]),_:1},8,["model-value","locale","hour-cycle"])])):ae("",!0)]),_:1})]),_:1},8,["id","model-value","default-placeholder","locale","granularity","hour-cycle","hide-time-zone","min-value","max-value","week-starts-on","name","required","close-on-select"]))}}),eD={class:"relative"},tD=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],nD=["value"],ro="empty",lo="placeholder",aD=ee({__name:"DropdownField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>n.field.options??[]);function l(c,d){return c==null||d===null||d===void 0?c===d||c==null&&d==null:String(c)===String(d)}const o=w(()=>{const c=r.value.findIndex(d=>l(d.value,n.modelValue));return c>=0?String(c):n.field.emptyOption!==void 0&&(n.modelValue===null||n.modelValue===void 0||n.modelValue==="")?ro:lo}),s=w(()=>o.value===ro||o.value===lo);function i(c){const d=c.target.value;if(d===ro){a("update:modelValue",null);return}const f=r.value[Number(d)];f&&a("update:modelValue",f.value)}return(c,d)=>(h(),$("div",eD,[O("select",{id:e.controlId,name:e.field.name,value:o.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:xe([[u(ga)(e.invalid),s.value?"text-muted":""],"h-input appearance-none pr-10"]),onChange:i},[e.field.emptyOption!==void 0?(h(),$("option",{key:0,value:ro,class:"text-muted"},R(e.field.emptyOption),1)):ae("",!0),o.value===lo?(h(),$("option",{key:1,value:lo,disabled:""},R(u(P)("backend::lang.form.select_placeholder")),1)):ae("",!0),(h(!0),$(_e,null,Ne(r.value,(f,p)=>(h(),$("option",{key:p,value:String(p),class:"text-text"},R(f.label),9,nD))),128))],42,tD),z(u(Pl),{size:16,class:"pointer-events-none absolute top-1/2 right-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"})]))}}),Pc=Symbol("summer.form.values"),Oc=Symbol("summer.form.patch"),Zm=Symbol("summer.form.locale"),Qm=Symbol("summer.form.assets");function Mc(){const e=T(0);return{activeUploads:e,beginUpload(){e.value++;let t=!1;return()=>{t||(t=!0,e.value>0&&e.value--)}}}}const Rr=Symbol("summer.form.session"),tp="summer-action",rD=5e3,lD={class:"flex items-start gap-3"},oD={class:"flex min-w-0 flex-1 flex-col gap-1"},sD={key:0,class:"flex items-center gap-4"},iD=["src"],uD={key:1,class:"flex size-16 shrink-0 items-center justify-center rounded-inner bg-subtle","aria-hidden":"true"},cD=["title"],dD={class:"flex flex-col gap-1.5"},fD=["for"],pD=["id","disabled","aria-invalid","aria-describedby"],vD=["id"],hD={class:"flex flex-col gap-1.5"},mD=["for"],yD=["id","disabled","aria-invalid","aria-describedby"],gD=["id"],bD={class:"flex gap-2.5"},_D=["disabled"],xD=["disabled"],wD=ee({__name:"FileCaptionModal",props:{open:{type:Boolean},file:{},routes:{},preview:{},idPrefix:{}},emits:["update:open","saved","closed"],setup(e,{emit:t}){const n=e,a=t,r=T(""),l=T(""),o=T({}),s=T(!1),i=ja();function c(_){const y={};for(const[x,S]of Object.entries(_??{})){const A=(Array.isArray(S)?S:[S]).filter(V=>typeof V=="string"&&V!=="");A.length>0&&(y[x]=A)}return y}const d=w(()=>`${n.idPrefix}-caption-title`),f=w(()=>`${n.idPrefix}-caption-description`),p=w(()=>!!n.file&&(r.value!==n.file.title||l.value!==n.file.description));Fe(()=>n.open,_=>{_&&n.file&&(r.value=n.file.title??"",l.value=n.file.description??"",o.value={},s.value=!1)},{immediate:!0});async function v(_){if(_){a("update:open",!0);return}s.value||p.value&&!await i.ask({message:P("backend::lang.form.unsaved_confirm"),confirmLabel:P("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function m(){if(!(s.value||!n.file||!n.routes)){s.value=!0;try{const _=await n.routes.update(n.file.id,{title:r.value,description:l.value});if(_.data){o.value={},a("saved",_.data),a("update:open",!1),Oe(P("backend::lang.fileupload.details_saved"));return}if(_.status===422){o.value=c(_.error?.details),Object.keys(o.value).length===0&&(o.value={title:[Wm(_.error)||P("backend::lang.form.error_generic")]});return}Oe(_.error?.message||P("backend::lang.form.error_generic"),"danger")}finally{s.value=!1}}}function g(_){_.preventDefault(),a("closed")}return(_,y)=>(h(),$(_e,null,[z(u(ql),{open:e.open,"onUpdate:open":v},{default:F(()=>[z(u(Es),null,{default:F(()=>[z(u(Fl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),z(u(Il),{"data-caption-modal":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 overflow-y-auto rounded-modal bg-surface p-6 text-text shadow-pop",onCloseAutoFocus:g},{default:F(()=>[O("div",lD,[O("div",oD,[z(u(Bl),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.attachment")),1)]),_:1}),z(u(_l),{class:"text-muted"},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.help")),1)]),_:1})]),z(u(Sr),{"data-action":"close","aria-label":u(P)("backend::lang.form.close"),disabled:s.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:F(()=>[z(u(Wt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),e.file?(h(),$("div",sD,[e.preview?(h(),$("img",{key:0,src:e.preview,alt:"",class:"size-16 shrink-0 rounded-inner object-cover"},null,8,iD)):(h(),$("span",uD,[z(u(Yr),{size:16,class:"text-muted"})])),O("span",{class:"min-w-0 truncate text-[13px] text-muted",title:e.file.file_name},R(e.file.file_name),9,cD)])):ae("",!0),O("form",{class:"flex flex-col gap-4",novalidate:"",onSubmit:pt(m,["prevent"])},[O("div",dD,[O("label",{for:d.value,class:"font-semibold"},R(u(P)("backend::lang.fileupload.title_label")),9,fD),qa(O("input",{id:d.value,"onUpdate:modelValue":y[0]||(y[0]=x=>r.value=x),type:"text","data-caption-title":"",disabled:s.value,"aria-invalid":o.value.title?"true":void 0,"aria-describedby":o.value.title?`${d.value}-error`:void 0,class:xe([u(ga)(!!o.value.title),"h-input"])},null,10,pD),[[Eo,r.value]]),o.value.title?(h(),$("p",{key:0,id:`${d.value}-error`,class:"flex items-center gap-1.5 text-[13px] text-danger"},[z(u(Bt),{size:14,class:"shrink-0","aria-hidden":"true"}),O("span",null,R(o.value.title.join(" ")),1)],8,vD)):ae("",!0)]),O("div",hD,[O("label",{for:f.value,class:"font-semibold"},R(u(P)("backend::lang.fileupload.description_label")),9,mD),qa(O("textarea",{id:f.value,"onUpdate:modelValue":y[1]||(y[1]=x=>l.value=x),rows:"3","data-caption-description":"",disabled:s.value,"aria-invalid":o.value.description?"true":void 0,"aria-describedby":o.value.description?`${f.value}-error`:void 0,class:xe([u(ga)(!!o.value.description),"min-h-input resize-y py-2.5"])},null,10,yD),[[Eo,l.value]]),o.value.description?(h(),$("p",{key:0,id:`${f.value}-error`,class:"flex items-center gap-1.5 text-[13px] text-danger"},[z(u(Bt),{size:14,class:"shrink-0","aria-hidden":"true"}),O("span",null,R(o.value.description.join(" ")),1)],8,gD)):ae("",!0)]),O("div",bD,[O("button",{type:"button","data-action":"cancel",disabled:s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:y[2]||(y[2]=x=>v(!1))},R(u(P)("backend::lang.form.cancel")),9,_D),O("button",{type:"submit","data-action":"save-caption",disabled:s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"},R(s.value?u(P)("backend::lang.form.saving"):u(P)("backend::lang.fileupload.details_submit")),9,xD)])],32)]),_:1})]),_:1})]),_:1},8,["open"]),z(La,{open:u(i).request.value!==null,message:u(i).request.value?.message??"","confirm-label":u(i).request.value?.confirmLabel,danger:u(i).request.value?.danger,onConfirm:u(i).confirm,onCancel:u(i).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),kD=["id","data-field-name","aria-labelledby","aria-describedby","aria-busy"],$D={key:0,"data-fileupload-loading":"",class:"h-[112px] rounded-control bg-skel","aria-hidden":"true"},CD={key:1,role:"alert","data-fileupload-failed":"",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},SD={key:0,"data-fileupload-empty":"",class:"flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 text-muted"},ED={key:1,"data-fileupload-grid":"",class:"grid grid-cols-[repeat(auto-fill,minmax(160px,1fr))] gap-4"},AD=["data-file-item","data-state","onDragover","onDrop"],DD={class:"relative flex aspect-square items-center justify-center bg-subtle"},PD=["href","aria-label"],OD=["src","alt","onError"],MD=["aria-label","onClick"],TD=["src","alt"],RD={key:2,"data-preview-unavailable":"",class:"flex flex-col items-center gap-2 text-[13px] text-muted"},qD=["data-handle","aria-label","onKeydown","onDragstart"],ID={key:5,class:"absolute top-2 right-2 flex gap-1"},FD=["data-caption","aria-label","onClick"],BD=["aria-label","onClick"],ND=["aria-label","onClick"],VD={class:"flex flex-col gap-1 p-2"},LD=["title"],jD={class:"flex items-center gap-2 text-[13px] text-muted tabular-nums"},UD={key:0},zD={key:1},HD={key:2},KD={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},WD={key:1,"data-file-error":"",class:"text-[13px] text-danger"},GD={class:"sr-only"},YD={key:2,"data-fileupload-single":"",class:"flex flex-col gap-2"},JD=["data-file-item","data-state"],ZD=["src","alt","onError"],QD={key:3,"data-preview-unavailable":"",class:"flex flex-col items-center gap-2 text-[13px] text-muted"},XD={class:"flex min-w-0 flex-1 flex-col gap-1"},eP=["title"],tP={class:"flex items-center gap-2 text-[13px] text-muted tabular-nums"},nP={key:0},aP={key:1},rP={key:2},lP={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},oP={key:1,"data-file-error":"",class:"text-[13px] text-danger"},sP={class:"sr-only"},iP={key:2,class:"mt-1 flex flex-wrap gap-2"},uP={key:3,"data-fileupload-rows":"",class:"flex flex-col gap-2"},cP=["data-file-item","data-state","onDragover","onDrop"],dP={class:"flex items-center gap-3"},fP=["data-handle","aria-label","onKeydown","onDragstart"],pP={class:"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-pager bg-subtle"},vP=["src","onError"],hP={class:"flex min-w-0 flex-1 flex-col leading-tight"},mP=["title"],yP=["title"],gP=["title"],bP={class:"flex shrink-0 items-center gap-2 text-[13px] text-muted tabular-nums"},_P={key:0},xP={key:1},wP={key:2},kP={key:3,"data-unsaved-chip":"",class:"inline-flex h-6 items-center rounded-pill bg-sel px-2 text-[13px] font-semibold text-text"},$P={class:"flex shrink-0 items-center gap-1"},CP=["href","aria-label"],SP=["aria-label","onClick"],EP=["data-caption","aria-label","onClick"],AP=["aria-label","onClick"],DP=["aria-label","onClick"],PP={key:1,"data-file-error":"",class:"text-[13px] text-danger"},OP={class:"sr-only"},MP=["aria-describedby"],TP={class:"flex size-10 items-center justify-center rounded-full bg-surface","aria-hidden":"true"},RP={class:"text-text"},qP={key:0,"data-fileupload-limits":"",class:"text-[13px] text-muted tabular-nums"},IP={key:5,"data-fileupload-limits":"",class:"text-[13px] text-muted tabular-nums"},FP={key:6,role:"alert","data-fileupload-too-many":"",class:"flex items-center gap-1.5 text-[13px] text-danger"},BP=["accept","multiple"],NP={class:"sr-only","aria-live":"polite","data-fileupload-live":""},VP=1<<20,LP=400,qi="inline-flex size-8 items-center justify-center rounded-pager border border-border bg-surface text-muted hover:text-text",jP="inline-flex size-8 items-center justify-center rounded-pager border border-border bg-surface text-muted hover:bg-danger-soft hover:text-danger",Qa="inline-flex size-8 shrink-0 items-center justify-center rounded-pager text-muted hover:bg-hover hover:text-text",UP=ee({__name:"FileuploadField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Rr,null),a=["jpg","jpeg","png","gif","webp"],r=["image/jpeg","image/png","image/gif","image/webp"];let l=1;const o=T([]),s=T("loading"),i=T(!1),c=T(0),d=T(""),f=T(null),p=T(null),v=T(null),m=T(null),g=T(null),_=T(!1),y=T({}),x=T(new Set),S=new Set,A=[],V=n?n.routes(t.field.name):null;let J=null,U=null,H=!1,k=null,I=0,G=!1;const D=w(()=>{const q=t.field.attributes?.readonly;return!!t.field.readOnly||q!=null&&q!==!1}),N=w(()=>t.field.multiple===!0),W=w(()=>t.field.mode==="image"),B=w(()=>N.value?t.field.maxFiles:1),Q=w(()=>(n?.recordId??0)!==0),ne=w(()=>o.value.filter(q=>q.state!=="failed")),ce=w(()=>{if(N.value)return o.value;const q=ne.value,ye=q[q.length-1];return o.value.filter(L=>L.state==="failed"||L===ye)}),te=w(()=>ce.value.filter(q=>q.state!=="failed").length),ie=w(()=>D.value||s.value!=="ready"?!1:N.value?B.value===void 0||B.value===null||ne.value.lengthN.value&&!D.value&&typeof B.value=="number"&&ne.value.length>=B.value),re=w(()=>t.field.fileTypes?.length?t.field.fileTypes.map(q=>q.toLowerCase()):W.value&&!t.field.mimeTypes?.length?a:null),we=w(()=>(t.field.fileTypes?.length?t.field.fileTypes:t.field.mimeTypes??[]).join(", ")),ue=w(()=>{const q=[];for(const ye of t.field.fileTypes??[])q.push(`.${ye.toLowerCase()}`);for(const ye of t.field.mimeTypes??[])q.push(ye.includes("/")?ye:`.${ye.toLowerCase()}`);return q.length===0&&W.value&&q.push(...r),q.length>0?q.join(","):void 0}),Ce=w(()=>t.field.prompt||P(N.value?"backend::lang.fileupload.default_prompt_many":"backend::lang.fileupload.default_prompt"));function pe(q,ye){return new Intl.NumberFormat(ml.value,{minimumFractionDigits:ye,maximumFractionDigits:ye}).format(q)}function Z(q){const ye=["B","kB","MB","GB"];let L=q,ke=0;for(;L>=1e3&&ke{const q=t.field.maxFilesize;return typeof q=="number"?`${new Intl.NumberFormat(ml.value).format(q)} MB`:""}),X=w(()=>{const q=[];return we.value!==""&&q.push(P("backend::lang.fileupload.limits_types",{types:we.value})),ve.value!==""&&q.push(P("backend::lang.fileupload.limits_size",{size:ve.value})),N.value&&typeof B.value=="number"&&q.push(P("backend::lang.fileupload.limits_count",{current:ne.value.length,max:B.value})),q.join(" · ")});function de(q){const ye=q.lastIndexOf(".");return ye<0?"":q.slice(ye+1).toLowerCase()}function ge(q){const ye=t.field.mimeTypes??[];if(ye.length===0||q.type==="")return!0;const L=q.type.toLowerCase(),ke=de(q.name);return ye.some(Le=>{const $t=Le.toLowerCase();return $t.includes("/")?$t.endsWith("/*")?L.startsWith($t.slice(0,-1)):L===$t:$t===ke})}function b(q){const ye=re.value;if(ye&&!ye.includes(de(q.name)))return P("backend::lang.fileupload.wrong_type",{name:q.name,types:ye.join(", ")});if(!ge(q))return P("backend::lang.fileupload.wrong_type",{name:q.name,types:we.value});const L=t.field.maxFilesize;return typeof L=="number"&&q.size>Math.ceil(L*VP)?P("backend::lang.fileupload.too_large",{name:q.name,size:ve.value}):""}function C(q){return Zt({uid:l++,name:q.file_name,size:q.file_size,state:"done",progress:100,error:"",retryable:!1,file:q,source:null,handle:null,uploadId:""})}function E(){return globalThis.crypto?.randomUUID?.()??`u${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}function Y(q,ye){return Zt({uid:l++,name:q.name,size:q.size,state:ye===""?"queued":"failed",progress:0,error:ye,retryable:!1,file:null,source:yo(q),handle:null,uploadId:E()})}function M(q){return o.value.find(ye=>ye.uid===q)}async function K(q){if(!V){s.value="failed";return}q&&(s.value="loading");const ye=await V.list();if(G)return;if(!ye.data){q&&(s.value="failed");return}const L=o.value.filter(ke=>ke.state!=="done");for(const ke of o.value)ke.state==="done"&&Bs(ke.uid);o.value=[...ye.data.map(C),...L],s.value="ready"}function oe(){D.value||f.value?.click()}function se(q){if(q.length===0||D.value)return;if(c.value=0,!N.value)for(const Le of[...o.value])Le.state!=="failed"&&(Le.state!=="done"||Le.file?.pending)&&Ue(Le);let ye=N.value?typeof B.value=="number"?Math.max(B.value-ne.value.length,0):Number.POSITIVE_INFINITY:1,L=0;const ke=[];for(const Le of q.slice(0,N.value?q.length:1)){const $t=b(Le);if($t===""&&ye<=0){L++;continue}$t===""&&ye--,ke.push(Y(Le,$t))}o.value=[...o.value,...ke],c.value=L,Se()}function me(q){const ye=q.target;se(Array.from(ye.files??[])),ye.value=""}function fe(q){return v.value===null&&Array.from(q.dataTransfer?.types??[]).includes("Files")}function Ee(q){fe(q)&&(q.preventDefault(),i.value=!0)}function be(q){fe(q)&&(q.preventDefault(),i.value=!1,se(Array.from(q.dataTransfer?.files??[])))}function Se(){if(!V||o.value.some(ye=>ye.state==="uploading"))return;const q=o.value.find(ye=>ye.state==="queued");q&&Re(q)}async function Re(q){if(!V||!q.source)return;q.state="uploading",q.progress=0,q.error="",q.retryable=!1;const ye=new Set(o.value.filter(ke=>ke.file).map(ke=>ke.file.id)),L=n?.beginUpload();try{const ke=V.upload(q.source,(Zn,za)=>{q.progress=za>0?Math.min(100,Math.round(Zn/za*100)):0},q.uploadId||void 0);q.handle=yo(ke);const Le=await ke.promise;q.handle=null;const $t=!!M(q.uid);if(Le.ok)!$t||G?V.remove(Le.item.id):(q.state="done",q.progress=100,q.file=Le.item,q.name=Le.item.file_name,q.size=Le.item.file_size,n?.markDirty());else if(Le.reason==="aborted"||Le.reason==="network"){const Zn=await je(ye);if(Le.reason==="aborted"){for(const za of Zn)V.remove(za.id);o.value=o.value.filter(za=>za.uid!==q.uid),Bs(q.uid)}else $t&&Zn[0]&&Zn.length===1?(q.state="done",q.progress=100,q.file=Zn[0],q.name=Zn[0].file_name,q.size=Zn[0].file_size,n?.markDirty()):(q.state="failed",q.error=P("backend::lang.fileupload.upload_failed"),q.retryable=!0)}else if($t)switch(q.state="failed",Le.reason){case"too_large":q.error=ve.value?P("backend::lang.fileupload.too_large",{name:q.name,size:ve.value}):Le.message||P("backend::lang.fileupload.upload_failed");break;case"invalid":q.error=Le.message||P("backend::lang.fileupload.upload_failed");break;default:q.error=Le.message||P("backend::lang.fileupload.upload_failed"),q.retryable=Le.status>=500}}finally{L?.(),G||Se()}}async function je(q){if(!V)return[];const ye=await V.list();return ye.data?ye.data.filter(L=>L.pending&&!q.has(L.id)):[]}function We(q){q.state!=="failed"||!q.source||(q.state="queued",q.error="",q.retryable=!1,Se())}async function Ue(q){const ye=o.value.findIndex(ke=>ke.uid===q.uid);if(ye<0)return;switch(o.value=o.value.filter(ke=>ke.uid!==q.uid),Bs(q.uid),q.state){case"uploading":q.handle?.abort(),n?.markDirty(),Se();return;case"queued":case"failed":return}if(!V||!q.file)return;n?.markDirty();const L=await V.remove(q.file.id);if(!L.data&&!G){const ke=[...o.value];ke.splice(Math.min(ye,ke.length),0,q),o.value=ke,Oe(L.error?.message||P("backend::lang.form.error_generic"),"danger")}}function lt(){return o.value.map(q=>q.uid)}function it(q){const ye=new Map(o.value.map(Le=>[Le.uid,Le])),L=q.map(Le=>ye.get(Le)).filter(Le=>!!Le),ke=o.value.filter(Le=>!q.includes(Le.uid));o.value=[...L,...ke]}function wt(){J!==null&&clearTimeout(J),J=setTimeout(()=>{J=null,on()},LP)}function Pt(){return o.value.filter(q=>q.state==="done"&&q.file).map(q=>q.file.id)}async function on(){if(!V)return;const q=Pt();if(H){k=q;return}const ye=U;U=null;const L=++I;H=!0;try{const ke=await V.reorder(q);if(k)return;!ke.data&&!G&&L===I&&(ye&&it(ye),Oe(P("backend::lang.fileupload.reorder_failed"),"danger"))}finally{H=!1,k&&(k=null,on())}}function De(q,ye){const L=o.value.findIndex($t=>$t.uid===q);if(L<0||ye<0||ye>=o.value.length||ye===L)return!1;U===null&&(U=lt());const ke=[...o.value],[Le]=ke.splice(L,1);return ke.splice(ye,0,Le),o.value=ke,d.value=P("backend::lang.fileupload.moved",{name:Le.name,position:ye+1,total:ke.length}),wt(),!0}async function Ae(q,ye){const L=o.value.findIndex(Le=>Le.uid===ye.uid);let ke;switch(q.key){case"ArrowUp":case"ArrowLeft":ke=L-1;break;case"ArrowDown":case"ArrowRight":ke=L+1;break;default:return}q.preventDefault(),De(ye.uid,ke)&&(await ze(),p.value?.querySelector(`[data-handle="${ye.uid}"]`)?.focus())}function qe(q,ye){v.value=ye.uid,q.dataTransfer&&(q.dataTransfer.effectAllowed="move",q.dataTransfer.setData("text/plain",ye.name))}function kt(q,ye){v.value!==null&&(q.preventDefault(),m.value=ye.uid)}function qr(q,ye){v.value!==null&&(q.preventDefault(),De(v.value,o.value.findIndex(L=>L.uid===ye.uid)),Fs())}function Fs(){v.value=null,m.value=null}function qc(q){const ye=q.file?.content_type??q.source?.type??"";return r.includes(ye.toLowerCase())}function Cn(q){return!q.file||!qc(q)||x.value.has(q.uid)?null:t.field.protected?y.value[q.uid]??null:q.file.thumb_url||q.file.url||null}function Ic(){return typeof URL.revokeObjectURL=="function"}function Bs(q){const ye=y.value[q];if(ye!==void 0){Ic()&&URL.revokeObjectURL(ye);const L={...y.value};delete L[q],y.value=L}S.delete(q)}async function ay(q){if(!V||!q.file||S.has(q.uid)||typeof URL.createObjectURL!="function")return;S.add(q.uid);const ye=await V.thumb(q.file.id);if(!(G||!M(q.uid)||!S.has(q.uid))){if(!ye){x.value=new Set([...x.value,q.uid]);return}y.value={...y.value,[q.uid]:URL.createObjectURL(ye)}}}Fe(()=>o.value.map(q=>`${q.uid}:${q.state}`).join(","),()=>{if(t.field.protected)for(const q of o.value)q.state==="done"&&qc(q)&&ay(q)});function Ns(q){x.value=new Set([...x.value,q.uid])}async function Fc(q,ye){if(!V||!q.file||typeof URL.createObjectURL!="function")return;const L=await V.download(q.file.id);if(!L){Oe(P("backend::lang.form.error_generic"),"danger");return}const ke=URL.createObjectURL(L);A.push(ke);const Le=document.createElement("a");Le.href=ke,Le.rel="noopener",ye?Le.download=q.file.file_name:Le.target="_blank",Le.click()}function wa(q){return t.field.useCaption&&q.file?.title?q.file.title:q.name}function Vs(q){return Q.value&&!!q.file?.pending}const zl=w(()=>g.value===null?void 0:M(g.value));function Ls(q){g.value=q.uid,_.value=!0}function ry(q){const ye=zl.value;ye&&(ye.file=q)}function ly(){const q=g.value;g.value=null,q!==null&&p.value?.querySelector(`[data-caption="${q}"]`)?.focus()}const js=w(()=>{const q=t.field.thumbOptions?.mode;return q==="fit"||q==="auto"?"object-contain":"object-cover"});return _t(()=>{K(!0)}),n&&Fe(n.revision,()=>{K(!1)}),qt(()=>{G=!0,J!==null&&(clearTimeout(J),J=null);for(const q of o.value)q.handle?.abort();if(Ic()){for(const q of Object.values(y.value))URL.revokeObjectURL(q);for(const q of A)URL.revokeObjectURL(q)}}),(q,ye)=>(h(),$("div",{id:e.controlId,ref_key:"root",ref:p,role:"group","data-fileupload":"","data-field-name":e.field.name,"aria-labelledby":e.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0,"aria-busy":s.value==="loading"?"true":void 0,class:"flex min-w-0 flex-col gap-4"},[s.value==="loading"?(h(),$("span",$D)):s.value==="failed"?(h(),$("p",CD,R(u(P)("backend::lang.fileupload.load_failed")),1)):(h(),$(_e,{key:2},[D.value&&ce.value.length===0?(h(),$("p",SD,R(u(P)("backend::lang.fileupload.empty")),1)):W.value&&N.value&&ce.value.length>0?(h(),$("ul",ED,[(h(!0),$(_e,null,Ne(ce.value,L=>(h(),$("li",{key:L.uid,"data-file-item":L.uid,"data-state":L.state,class:xe([[L.state==="failed"?"border-danger":"border-border",v.value===L.uid?"opacity-50":"",m.value===L.uid&&v.value!==L.uid?"border-2 border-dashed border-primary bg-sel":""],"relative overflow-hidden rounded-inner border bg-surface"]),onDragover:ke=>kt(ke,L),onDrop:ke=>qr(ke,L)},[O("div",DD,[L.state==="uploading"?(h(),j(u(co),{key:0,size:20,class:"animate-spin text-muted","aria-hidden":"true"})):L.state==="failed"?(h(),j(u(Bt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):L.state==="done"?(h(),$(_e,{key:2},[Cn(L)&&!e.field.protected&&L.file?.url?(h(),$("a",{key:0,href:L.file.url,target:"_blank",rel:"noopener",class:"block size-full","aria-label":u(P)("backend::lang.fileupload.open_preview",{name:L.name})},[O("img",{src:Cn(L)??void 0,alt:wa(L),class:xe([js.value,"size-full"]),onError:ke=>Ns(L)},null,42,OD)],8,PD)):Cn(L)?(h(),$("button",{key:1,type:"button",class:"block size-full","aria-label":u(P)("backend::lang.fileupload.open_preview",{name:L.name}),onClick:ke=>Fc(L,!1)},[O("img",{src:Cn(L)??void 0,alt:wa(L),class:xe([js.value,"size-full"])},null,10,TD)],8,MD)):x.value.has(L.uid)?(h(),$("span",RD,[z(u(zd),{size:20,"aria-hidden":"true"}),$e(" "+R(u(P)("backend::lang.fileupload.preview_unavailable")),1)])):(h(),j(u(Yr),{key:3,size:20,class:"text-muted","aria-hidden":"true"}))],64)):(h(),j(u(Yr),{key:3,size:20,class:"text-muted","aria-hidden":"true"})),!D.value&&L.state==="done"?(h(),$("button",{key:4,type:"button",draggable:"true","data-handle":L.uid,"aria-label":u(P)("backend::lang.fileupload.move",{name:L.name}),class:xe([qi,"absolute top-2 left-2 cursor-grab"]),onKeydown:ke=>Ae(ke,L),onDragstart:ke=>qe(ke,L),onDragend:Fs},[z(u(Ud),{size:16,"aria-hidden":"true"})],40,qD)):ae("",!0),D.value?ae("",!0):(h(),$("div",ID,[e.field.useCaption&&L.state==="done"?(h(),$("button",{key:0,type:"button","data-caption":L.uid,"aria-label":u(P)("backend::lang.fileupload.edit_details",{name:L.name}),class:xe(qi),onClick:ke=>Ls(L)},[z(u(fo),{size:16,"aria-hidden":"true"})],8,FD)):ae("",!0),L.state==="failed"&&L.retryable?(h(),$("button",{key:1,type:"button","data-action":"retry","aria-label":u(P)("backend::lang.fileupload.retry"),class:xe(qi),onClick:ke=>We(L)},[z(u(ai),{size:16,"aria-hidden":"true"})],8,BD)):ae("",!0),O("button",{type:"button","data-action":"remove-file","aria-label":L.state==="uploading"||L.state==="queued"?u(P)("backend::lang.fileupload.cancel_upload",{name:L.name}):u(P)("backend::lang.form.remove_item",{name:L.name}),class:xe(jP),onClick:ke=>Ue(L)},[z(u(Wt),{size:16,"aria-hidden":"true"})],8,ND)]))]),O("div",VD,[O("span",{class:"truncate text-[13px]",title:wa(L)},R(wa(L)),9,LD),O("span",jD,[L.state==="queued"?(h(),$("span",UD,R(u(P)("backend::lang.fileupload.queued")),1)):L.state==="uploading"?(h(),$("span",zD,R(u(P)("backend::lang.fileupload.uploading",{percent:L.progress})),1)):(h(),$("span",HD,R(Z(L.size)),1)),Vs(L)?(h(),$("span",KD,R(u(P)("backend::lang.fileupload.unsaved")),1)):ae("",!0)]),L.state==="uploading"?(h(),j(u(Ai),{key:0,"model-value":L.progress,max:100,"aria-label":u(P)("backend::lang.fileupload.uploading",{percent:L.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:F(()=>[z(u(Di),{class:"h-full bg-primary",style:Fn({width:`${L.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ae("",!0),L.state==="failed"?(h(),$("p",WD,[O("span",GD,R(u(P)("backend::lang.fileupload.upload_error"))+": ",1),$e(R(L.error),1)])):ae("",!0)])],42,AD))),128))])):W.value&&!N.value&&ce.value.length>0?(h(),$("div",YD,[(h(!0),$(_e,null,Ne(ce.value,L=>(h(),$("div",{key:L.uid,"data-file-item":L.uid,"data-state":L.state,class:"flex items-start gap-4"},[O("div",{class:xe([L.state==="failed"?"border-danger":"border-border","flex size-40 shrink-0 items-center justify-center overflow-hidden rounded-inner border bg-subtle"])},[L.state==="uploading"?(h(),j(u(co),{key:0,size:20,class:"animate-spin text-muted","aria-hidden":"true"})):L.state==="failed"?(h(),j(u(Bt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):Cn(L)?(h(),$("img",{key:2,src:Cn(L)??void 0,alt:wa(L),class:xe([js.value,"size-full"]),onError:ke=>Ns(L)},null,42,ZD)):x.value.has(L.uid)?(h(),$("span",QD,[z(u(zd),{size:20,"aria-hidden":"true"}),$e(" "+R(u(P)("backend::lang.fileupload.preview_unavailable")),1)])):(h(),j(u(Yr),{key:4,size:20,class:"text-muted","aria-hidden":"true"}))],2),O("div",XD,[O("span",{class:"truncate font-semibold",title:wa(L)},R(wa(L)),9,eP),O("span",tP,[L.state==="queued"?(h(),$("span",nP,R(u(P)("backend::lang.fileupload.queued")),1)):L.state==="uploading"?(h(),$("span",aP,R(u(P)("backend::lang.fileupload.uploading",{percent:L.progress})),1)):(h(),$("span",rP,R(Z(L.size)),1)),Vs(L)?(h(),$("span",lP,R(u(P)("backend::lang.fileupload.unsaved")),1)):ae("",!0)]),L.state==="uploading"?(h(),j(u(Ai),{key:0,"model-value":L.progress,max:100,"aria-label":u(P)("backend::lang.fileupload.uploading",{percent:L.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:F(()=>[z(u(Di),{class:"h-full bg-primary",style:Fn({width:`${L.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ae("",!0),L.state==="failed"?(h(),$("p",oP,[O("span",sP,R(u(P)("backend::lang.fileupload.upload_error"))+": ",1),$e(R(L.error),1)])):ae("",!0),D.value?ae("",!0):(h(),$("div",iP,[L.state!=="failed"?(h(),j(et,{key:0,size:"sm",variant:"outline","data-action":"replace-file",icon:u(ri),onClick:oe},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.replace_file")),1)]),_:1},8,["icon"])):ae("",!0),L.state==="failed"&&L.retryable?(h(),j(et,{key:1,size:"sm",variant:"outline","data-action":"retry",icon:u(ai),onClick:ke=>We(L)},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.retry")),1)]),_:1},8,["icon","onClick"])):ae("",!0),e.field.useCaption&&L.state==="done"?(h(),j(et,{key:2,size:"sm",variant:"outline","data-caption":L.uid,icon:u(fo),onClick:ke=>Ls(L)},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.details_submit")),1)]),_:1},8,["data-caption","icon","onClick"])):ae("",!0),z(et,{size:"sm",variant:"danger","data-action":"remove-file",icon:u(Wt),onClick:ke=>Ue(L)},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.remove_file")),1)]),_:1},8,["icon","onClick"])]))])],8,JD))),128))])):ce.value.length>0?(h(),$("ul",uP,[(h(!0),$(_e,null,Ne(ce.value,L=>(h(),$("li",{key:L.uid,"data-file-item":L.uid,"data-state":L.state,class:xe([[L.state==="failed"?"border-danger":"border-border",v.value===L.uid?"opacity-50":"",m.value===L.uid&&v.value!==L.uid?"border-2 border-dashed border-primary bg-sel":""],"flex min-h-14 flex-col justify-center gap-1 rounded-inner border bg-surface px-3 py-2"]),onDragover:ke=>kt(ke,L),onDrop:ke=>qr(ke,L)},[O("div",dP,[N.value&&!D.value&&L.state==="done"?(h(),$("button",{key:0,type:"button",draggable:"true","data-handle":L.uid,"aria-label":u(P)("backend::lang.fileupload.move",{name:L.name}),class:xe([Qa,"cursor-grab"]),onKeydown:ke=>Ae(ke,L),onDragstart:ke=>qe(ke,L),onDragend:Fs},[z(u(Ud),{size:16,"aria-hidden":"true"})],40,fP)):ae("",!0),O("span",pP,[L.state==="uploading"?(h(),j(u(co),{key:0,size:16,class:"animate-spin text-muted","aria-hidden":"true"})):L.state==="failed"?(h(),j(u(Bt),{key:1,size:16,class:"text-danger","aria-hidden":"true"})):Cn(L)?(h(),$("img",{key:2,src:Cn(L)??void 0,alt:"",class:"size-8 object-cover",onError:ke=>Ns(L)},null,40,vP)):(h(),j(u(Yr),{key:3,size:16,class:"text-muted","aria-hidden":"true"}))]),O("span",hP,[e.field.useCaption&&L.file?.title?(h(),$(_e,{key:0},[O("span",{class:"truncate font-semibold",title:L.file.title},R(L.file.title),9,mP),O("span",{class:"truncate text-[13px] text-muted",title:L.name},R(L.name),9,yP)],64)):(h(),$("span",{key:1,class:"truncate",title:L.name},R(L.name),9,gP))]),O("span",bP,[L.state==="queued"?(h(),$("span",_P,R(u(P)("backend::lang.fileupload.queued")),1)):L.state==="uploading"?(h(),$("span",xP,R(u(P)("backend::lang.fileupload.uploading",{percent:L.progress})),1)):(h(),$("span",wP,R(Z(L.size)),1)),Vs(L)?(h(),$("span",kP,R(u(P)("backend::lang.fileupload.unsaved")),1)):ae("",!0)]),!N.value&&!D.value&&L.state!=="failed"?(h(),j(et,{key:1,size:"sm",variant:"outline","data-action":"replace-file",icon:u(ri),onClick:oe},{default:F(()=>[$e(R(u(P)("backend::lang.fileupload.replace_file")),1)]),_:1},8,["icon"])):ae("",!0),O("span",$P,[L.state==="done"&&L.file?(h(),$(_e,{key:0},[!e.field.protected&&L.file.url?(h(),$("a",{key:0,href:L.file.url,download:"",target:"_blank",rel:"noopener","aria-label":u(P)("backend::lang.fileupload.download",{name:L.name}),class:xe(Qa)},[z(u(jd),{size:16,"aria-hidden":"true"})],8,CP)):e.field.protected?(h(),$("button",{key:1,type:"button","data-action":"download","aria-label":u(P)("backend::lang.fileupload.download",{name:L.name}),class:xe(Qa),onClick:ke=>Fc(L,!0)},[z(u(jd),{size:16,"aria-hidden":"true"})],8,SP)):ae("",!0),e.field.useCaption&&!D.value?(h(),$("button",{key:2,type:"button","data-caption":L.uid,"aria-label":u(P)("backend::lang.fileupload.edit_details",{name:L.name}),class:xe(Qa),onClick:ke=>Ls(L)},[z(u(fo),{size:16,"aria-hidden":"true"})],8,EP)):ae("",!0)],64)):ae("",!0),L.state==="failed"&&L.retryable?(h(),$("button",{key:1,type:"button","data-action":"retry","aria-label":u(P)("backend::lang.fileupload.retry"),class:xe(Qa),onClick:ke=>We(L)},[z(u(ai),{size:16,"aria-hidden":"true"})],8,AP)):ae("",!0),D.value?ae("",!0):(h(),$("button",{key:2,type:"button","data-action":"remove-file","aria-label":L.state==="uploading"||L.state==="queued"?u(P)("backend::lang.fileupload.cancel_upload",{name:L.name}):u(P)("backend::lang.form.remove_item",{name:L.name}),class:xe([Qa,"hover:bg-danger-soft hover:text-danger"]),onClick:ke=>Ue(L)},[z(u(Wt),{size:16,"aria-hidden":"true"})],8,DP))])]),L.state==="uploading"?(h(),j(u(Ai),{key:0,"model-value":L.progress,max:100,"aria-label":u(P)("backend::lang.fileupload.uploading",{percent:L.progress}),class:"h-1 w-full overflow-hidden rounded-pill bg-subtle"},{default:F(()=>[z(u(Di),{class:"h-full bg-primary",style:Fn({width:`${L.progress}%`})},null,8,["style"])]),_:2},1032,["model-value","aria-label"])):ae("",!0),L.state==="failed"?(h(),$("p",PP,[O("span",OP,R(u(P)("backend::lang.fileupload.upload_error"))+": ",1),$e(R(L.error),1)])):ae("",!0)],42,cP))),128))])):ae("",!0),ie.value?(h(),$("button",{key:4,type:"button","data-fileupload-dropzone":"","aria-describedby":e.describedBy||void 0,class:xe([[i.value?"border-solid border-primary bg-sel":e.invalid?"border-dashed border-danger bg-subtle":"border-dashed border-border-strong bg-subtle"],"flex min-h-[112px] w-full flex-col items-center justify-center gap-2 rounded-control border-[1.5px] px-4 py-6 text-center transition-colors duration-150 ease-out hover:bg-hover"]),onClick:oe,onDragover:Ee,onDragleave:ye[0]||(ye[0]=L=>i.value=!1),onDrop:be},[O("span",TP,[z(u(ri),{size:20,class:"text-muted"})]),O("span",RP,R(Ce.value),1),X.value!==""?(h(),$("span",qP,R(X.value),1)):ae("",!0)],42,MP)):le.value&&X.value!==""?(h(),$("p",IP,R(X.value),1)):ae("",!0),c.value>0?(h(),$("p",FP,[z(u(Bt),{size:14,class:"shrink-0","aria-hidden":"true"}),O("span",null,R(u(xr)("backend::lang.fileupload.too_many",c.value,{max:B.value??0})),1)])):ae("",!0)],64)),O("input",{ref_key:"input",ref:f,type:"file",hidden:"",tabindex:"-1","data-fileupload-input":"",accept:ue.value,multiple:N.value||void 0,onChange:me},null,40,BP),O("p",NP,R(d.value),1),e.field.useCaption?(h(),j(wD,{key:3,open:_.value,"onUpdate:open":ye[1]||(ye[1]=L=>_.value=L),file:zl.value?.file??null,routes:u(V),preview:zl.value?Cn(zl.value):null,"id-prefix":e.controlId,onSaved:ry,onClosed:ly},null,8,["open","file","routes","preview","id-prefix"])):ae("",!0)],8,kD))}}),zP=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],HP=ee({__name:"NumberField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),l=w(()=>Rs(n.field));function o(s){const i=s.target.value.trim();if(i===""){a("update:modelValue",null);return}const c=Number(i);a("update:modelValue",Number.isFinite(c)?c:null)}return(s,i)=>(h(),$("input",Ve({id:e.controlId},l.value,{name:e.field.name,type:"number",inputmode:"decimal",value:r.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ga)(e.invalid),"h-input tabular-nums"],onInput:o}),null,16,zP))}}),KP=["id","aria-labelledby","aria-describedby"],WP=ee({__name:"PartialField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e;return(n,a)=>(h(),$("div",{id:e.controlId,role:"group","data-partial-field":"","aria-labelledby":t.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0},[e.source?(h(),j(Ac,{key:0,variant:"field",source:e.source,name:t.field.path||t.field.name,"record-id":e.recordId??null},null,8,["source","name","record-id"])):(h(),j(Ec,{key:1,"data-partial-failed":"",text:u(P)("backend::lang.extension.partial_failed")},null,8,["text"]))],8,KP))}}),GP={class:"relative"},YP=["id","name","type","value","required","aria-required","aria-invalid","aria-describedby"],JP=["aria-pressed","aria-label"],ZP=ee({__name:"PasswordField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=T(!1),l=w(()=>typeof n.modelValue=="string"?n.modelValue:""),o=w(()=>Rs(n.field)),s=st(Rr,null);return s&&Fe(s.revision,()=>{r.value=!1}),(i,c)=>(h(),$("div",GP,[O("input",Ve({id:e.controlId,autocomplete:"new-password",spellcheck:"false"},o.value,{name:e.field.name,type:r.value?"text":"password",value:l.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ga)(e.invalid),"h-input pr-12"],onInput:c[0]||(c[0]=d=>a("update:modelValue",d.target.value))}),null,16,YP),O("button",{type:"button","data-password-toggle":"","aria-pressed":r.value?"true":"false","aria-label":u(P)(r.value?"backend::lang.form.hide_password":"backend::lang.form.show_password"),class:"absolute top-1/2 right-1.5 flex size-8 -translate-y-1/2 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:c[1]||(c[1]=d=>r.value=!r.value)},[(h(),j(en(r.value?u(_0):u(w0)),{size:16,"aria-hidden":"true"}))],8,JP)]))}}),At="default";function gn(e){return e.tab?`tab:${e.tab}`:At}function Sl(e,t){return`${e}-tab-${t}`}function qs(e,t){return`${e}-panel-${t}`}function Is(e,t){const n=e.context;if(n==null)return!0;const a=Array.isArray(n)?n:[n];return a.length===0||a.includes(t)}function Ht(e,t,n="create"){const a={};for(const r of e){if(r.readOnly||!GM(r.type))continue;const l=t[r.name];r.type==="password"&&n==="update"&&(l===""||l===null)||l!==void 0&&(a[r.name]=l)}return a}function QP(e,t){const n=typeof t=="string"||typeof t=="number"?String(t):"";return e!=="slug"?n:n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Tc(e){const t={};for(const n of e)n.default!==void 0?t[n.name]=n.default:n.type==="switch"||n.type==="checkbox"?t[n.name]=!1:n.type==="relation"&&n.multiple&&(t[n.name]=[]);return t}function Ll(e){const t={};for(const[n,a]of Object.entries(e??{})){const r=Array.isArray(a)?a.filter(l=>typeof l=="string"&&l!==""):typeof a=="string"&&a!==""?[a]:[];r.length>0&&(t[n]=r)}return t}function ca(e){return JSON.stringify(Object.keys(e).sort().map(t=>[t,e[t]]))}function jl(e,t){const n=document.getElementById(`${e}-${t}`);return n?(n.matches("input, select, textarea, button, [tabindex]")||n.setAttribute("tabindex","-1"),n.focus(),!0):!1}const XP={role:"tablist",class:"inline-flex gap-1 rounded-inner border border-border bg-subtle p-1"},eO=["id","data-tab","aria-selected","aria-controls","tabindex","onClick","onKeydown"],tO=["aria-label"],Rc=ee({__name:"FormTabs",props:{tabs:{},modelValue:{},idPrefix:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t;function r(l,o){const s=l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0;if(s===0)return;l.preventDefault();const i=(o+s+n.tabs.length)%n.tabs.length,c=n.tabs[i];c&&(a("update:modelValue",c.key),document.getElementById(Sl(n.idPrefix,i))?.focus())}return(l,o)=>(h(),$("div",XP,[(h(!0),$(_e,null,Ne(e.tabs,(s,i)=>(h(),$("button",{id:u(Sl)(e.idPrefix,i),key:s.key,type:"button",role:"tab","data-tab":s.key,"aria-selected":s.key===e.modelValue?"true":"false","aria-controls":u(qs)(e.idPrefix,i),tabindex:s.key===e.modelValue?0:-1,class:xe([s.key===e.modelValue?"bg-surface text-text shadow-tab":"text-muted hover:text-text","inline-flex h-[34px] items-center gap-2 rounded-tab px-4 font-semibold transition-colors duration-150 ease-out"]),onClick:c=>a("update:modelValue",s.key),onKeydown:c=>r(c,i)},[$e(R(s.label)+" ",1),s.errors>0?(h(),$("span",{key:0,"data-tab-errors":"","aria-label":u(xr)("backend::lang.form.tab_errors",s.errors),class:"inline-flex h-5 min-w-5 items-center justify-center rounded-pill bg-danger px-1.5 text-[11px] font-bold text-white"},R(s.errors),9,tO)):ae("",!0)],42,eO))),128))]))}}),nO={class:"flex items-start gap-3 p-6 pb-4"},aO={key:0,"data-child-loading":"","aria-hidden":"true",class:"grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},rO={key:1,role:"alert","data-child-load-failed":"",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},lO=["id","role","aria-labelledby"],oO=["disabled"],sO={class:"flex items-center gap-2.5 border-t border-border px-6 py-4"},iO={class:"ml-auto flex gap-2.5"},uO=ee({__name:"RelationChildModal",props:{open:{type:Boolean},source:{},ownerId:{},relation:{},schema:{},mode:{},childId:{},sessionKey:{},canDelete:{type:Boolean}},emits:["update:open","changed","gone","closed"],setup(e,{emit:t}){const n=e,a=t,r=T({}),l=T({}),o=T({}),s=T(!1),i=T(!1),c=T(!1),d=T(""),f=T(At),p=T(Cl()),v=T(0),m=T(0),{activeUploads:g,beginUpload:_}=Mc(),y=T(null),x=ja();let S=0;const A=w(()=>`child-${n.relation}`),V=w(()=>n.mode==="preview"),J=w(()=>n.mode==="create"?"create":"update"),U=w(()=>{const de=((V.value?n.schema.viewForm:n.schema.manageForm)??[]).filter(ge=>Is(ge,J.value));return V.value?de.map(ge=>({...ge,readOnly:!0,attributes:{...ge.attributes??{},readonly:!0}})):de}),H=w(()=>U.value.map(X=>X.name)),k=w(()=>{if(!U.value.some(de=>de.tab))return[];const X=[];for(const de of U.value){const ge=gn(de);let b=X.find(C=>C.key===ge);b||(b={key:ge,label:de.tab||P("backend::lang.form.tab_default"),errors:0},ge===At?X.unshift(b):X.push(b)),o.value[de.name]&&(b.errors+=1)}return X}),I=w(()=>Math.max(k.value.findIndex(X=>X.key===f.value),0)),G=w(()=>{if(k.value.length===0)return U.value;const X=k.value[I.value]?.key??At;return U.value.filter(de=>gn(de)===X)}),D=w(()=>{const X=n.schema.messages;return n.mode==="create"?Ie(X.createTitle):Ie(V.value?X.previewTitle:X.updateTitle)}),N=w(()=>Ie(n.mode==="create"?n.schema.messages.createSubmit:n.schema.messages.updateSubmit)),W=w(()=>!V.value&&!s.value&&!i.value&&(v.value>0||g.value>0||ca(Ht(U.value,r.value))!==d.value));function B(){return{[ya]:n.sessionKey,[Hm]:p.value}}function Q(){return{...n.source,id:n.ownerId,name:n.relation}}Dt(Rr,{get key(){return n.sessionKey},get childKey(){return p.value},get recordId(){return n.childId??0},routes:X=>xA(n.source,n.ownerId,n.relation,n.childId??0,X,n.sessionKey,p.value),markDirty:()=>{v.value++},pendingChanges:dt(v),revision:dt(m),beginUpload:_,activeUploads:dt(g)}),Dt(Pc,w(()=>r.value)),Dt(Oc,ce);function ce(X,de){if(r.value={...r.value,[X]:de},o.value[X]){const ge={...o.value};delete ge[X],o.value=ge}}function te(X,de){r.value={...X},l.value=de?.labels??{},d.value=ca(Ht(U.value,r.value))}async function ie(){await ze(),y.value?.querySelector('input:not([type="hidden"]):not([tabindex="-1"]), select, textarea, button, [contenteditable="true"], [tabindex="0"]')?.focus()}function le(){a("update:open",!1),Oe(P("backend::lang.relation.child_gone"),"danger"),a("gone")}async function re(){const X=++S;if(o.value={},i.value=!1,c.value=!1,v.value=0,p.value=Cl(),f.value=At,n.mode==="create"||n.childId===null){s.value=!1,te(Tc(U.value)),f.value=k.value[0]?.key??At,await ie();return}s.value=!0;try{const de=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}",{params:{path:{...Q(),child:n.childId},header:B()}});if(X!==S)return;if(de.data)te(de.data.data,de.data.meta),f.value=k.value[0]?.key??At;else if(de.response.status===404){le();return}else i.value=!0}catch{X===S&&(i.value=!0)}finally{X===S&&(s.value=!1)}X===S&&await ie()}Fe(()=>n.open,X=>{X?re():S++},{immediate:!0});async function we(X){if(X){a("update:open",!0);return}c.value||W.value&&!await x.ask({message:P("backend::lang.form.unsaved_confirm"),confirmLabel:P("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function ue(X){o.value=Ll(X);const de=U.value.filter(b=>o.value[b.name]),ge=de.find(b=>gn(b)===f.value)??de[0];ge&&(k.value.length>0&&(f.value=gn(ge)),await ze(),jl(A.value,ge.name))}async function Ce(){if(!(c.value||V.value||s.value||i.value||g.value>0)){c.value=!0;try{const X=Ht(U.value,r.value),de=n.mode==="create"||n.childId===null?await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records",{params:{path:Q(),header:B()},body:X}):await Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/records/{child}",{params:{path:{...Q(),child:n.childId},header:B()},body:X});if(de.data){const b=n.mode==="create"?"created":"updated";o.value={},v.value=0,a("update:open",!1),Oe(Ie(b==="created"?n.schema.messages.created:n.schema.messages.updated)),a("changed",b);return}const ge=de.response.status;ge===422?await ue(de.error?.error.details):ge===404?le():Oe(de.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}}async function pe(){if(c.value||n.childId===null)return;const X=n.childId;if(await x.ask({message:Ie(n.schema.messages.deleteOneConfirm),confirmLabel:P("backend::lang.form.delete"),danger:!0})){c.value=!0;try{const ge=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/delete",{params:{path:Q(),header:{[ya]:n.sessionKey}},body:{ids:[X]}});if(ge.data){v.value=0,a("update:open",!1),Oe(Ie(n.schema.messages.deleted,ge.data.data.deleted||1)),a("changed","deleted");return}if(ge.response.status===404){le();return}Oe(ge.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}}function Z(X){X.preventDefault()}function ve(X){X.preventDefault(),a("closed")}return(X,de)=>(h(),$(_e,null,[z(u(ql),{open:e.open,"onUpdate:open":we},{default:F(()=>[z(u(Es),null,{default:F(()=>[z(u(Fl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),z(u(Il),{"data-relation-child-modal":"","data-dialog-content":"","data-mode":e.mode,"aria-modal":"true","aria-describedby":void 0,class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[720px] -translate-x-1/2 -translate-y-1/2 flex-col rounded-modal bg-surface text-text shadow-pop",onOpenAutoFocus:Z,onCloseAutoFocus:ve},{default:F(()=>[O("div",nO,[z(u(Bl),{class:"min-w-0 flex-1 text-[20px] font-bold tracking-[-0.01em]"},{default:F(()=>[$e(R(D.value),1)]),_:1}),z(u(Sr),{"data-action":"close","aria-label":u(P)("backend::lang.form.close"),disabled:c.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:F(()=>[z(u(Wt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),O("div",{ref_key:"body",ref:y,"data-child-body":"",class:"flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 pb-6"},[s.value?(h(),$("div",aO,[(h(),$(_e,null,Ne(6,ge=>O("div",{key:ge,class:"flex flex-col gap-1.5"},[...de[3]||(de[3]=[O("span",{class:"block h-3 w-24 rounded-[6px] bg-skel"},null,-1),O("span",{class:"block h-input rounded-control bg-skel"},null,-1)])])),64))])):i.value?(h(),$("p",rO,R(u(P)("backend::lang.relation.child_load_failed")),1)):(h(),$(_e,{key:2},[z(Vl,{errors:o.value,"field-names":H.value},null,8,["errors","field-names"]),k.value.length>0?(h(),j(Rc,{key:0,modelValue:f.value,"onUpdate:modelValue":de[0]||(de[0]=ge=>f.value=ge),tabs:k.value,"id-prefix":A.value,class:"self-start"},null,8,["modelValue","tabs","id-prefix"])):ae("",!0),O("form",{id:k.value.length>0?u(qs)(A.value,I.value):void 0,role:k.value.length>0?"tabpanel":void 0,"aria-labelledby":k.value.length>0?u(Sl)(A.value,I.value):void 0,novalidate:"",onSubmit:pt(Ce,["prevent"])},[O("fieldset",{disabled:c.value||V.value,class:"m-0 min-w-0 border-0 p-0"},[z(Ul,{fields:G.value,values:r.value,errors:o.value,labels:l.value,source:e.source,"record-id":e.childId,"id-prefix":A.value,onUpdate:ce},null,8,["fields","values","errors","labels","source","record-id","id-prefix"])],8,oO)],40,lO)],64))],512),O("div",sO,[e.mode==="update"&&e.canDelete&&!s.value&&!i.value?(h(),j(et,{key:0,variant:"danger","data-action":"delete-child",icon:u(Ml),disabled:c.value,onClick:pe},{default:F(()=>[$e(R(u(P)("backend::lang.form.delete")),1)]),_:1},8,["icon","disabled"])):ae("",!0),O("div",iO,[V.value?(h(),j(et,{key:0,variant:"outline","data-action":"cancel",onClick:de[1]||(de[1]=ge=>we(!1))},{default:F(()=>[$e(R(u(P)("backend::lang.form.close")),1)]),_:1})):(h(),$(_e,{key:1},[z(et,{variant:"ghost","data-action":"cancel",disabled:c.value,onClick:de[2]||(de[2]=ge=>we(!1))},{default:F(()=>[$e(R(u(P)("backend::lang.form.cancel")),1)]),_:1},8,["disabled"]),i.value?ae("",!0):(h(),j(et,{key:0,variant:"primary","data-action":"save-child",disabled:c.value||s.value||u(g)>0,onClick:Ce},{default:F(()=>[$e(R(c.value?u(P)("backend::lang.form.saving"):N.value),1)]),_:1},8,["disabled"]))],64))])])]),_:1},8,["data-mode"])]),_:1})]),_:1},8,["open"]),z(La,{open:u(x).request.value!==null,message:u(x).request.value?.message??"","confirm-label":u(x).request.value?.confirmLabel,danger:u(x).request.value?.danger,onConfirm:u(x).confirm,onCancel:u(x).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),cO={class:"flex items-start gap-3"},dO={class:"flex min-w-0 flex-1 flex-col gap-1"},fO=["title"],pO={key:0,class:"truncate text-[13px] text-muted"},vO=["disabled"],hO={class:"relative block"},mO={class:"sr-only"},yO=["value","placeholder"],gO=["aria-multiselectable","aria-label","aria-busy"],bO=["data-candidate","aria-selected","onClick","onKeydown"],_O={class:"flex size-8 shrink-0 items-center justify-center rounded-full bg-subtle text-[12px] font-bold","aria-hidden":"true"},xO={class:"flex min-w-0 flex-1 flex-col leading-tight"},wO={class:"truncate font-semibold"},kO={key:0,class:"truncate text-[13px] text-muted"},$O={key:0,class:"block size-2.5 rounded-full bg-primary"},CO={key:0,role:"presentation",class:"px-1 py-3 text-[13px] text-muted"},SO={key:1,role:"presentation","data-candidates-empty":"",class:"px-1 py-3 text-[13px] text-muted"},EO=["aria-label"],AO={"data-candidates-range":"",class:"flex-1"},DO=["aria-label","disabled"],PO=["aria-label","disabled"],OO={class:"flex gap-2.5"},MO=["disabled"],TO=["disabled"],RO=["disabled","aria-busy"],qO=5,IO=300,np="inline-flex size-[34px] items-center justify-center rounded-tab border border-border text-text hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",FO=ee({__name:"RelationPickerModal",props:{open:{type:Boolean},source:{},recordId:{},relation:{},schema:{},sessionKey:{}},emits:["update:open","linked","closed"],setup(e,{emit:t}){const n=e,a=t,r=T(""),l=T(1),o=T([]),s=T(null),i=T(!1),c=T(!1),d=T(new Set),f=T(null),p=T(1),v=T(null),m=T({}),g=T({}),_=T(null);let y=0,x=null;const S=w(()=>n.schema.manage.list.columns),A=w(()=>S.value[0]?.key??""),V=w(()=>S.value[1]?.key??""),J=w(()=>d.value.size),U=`relation-${n.relation}-candidates`,H=w(()=>n.schema.pivotForm??[]),k=w(()=>H.value.map(b=>b.name)),I=w(()=>H.value.length>0),G=w(()=>`link-${n.relation}`);function D(){return n.sessionKey?{[ya]:n.sessionKey}:void 0}const N=w(()=>{const b=s.value;if(!b||b.total===0)return"";const C=(b.page-1)*b.per_page+1,E=Math.min(b.page*b.per_page,b.total);return P("backend::lang.relation.candidates_range",{from:C,to:E,total:b.total})}),W=w(()=>Math.max(s.value?.last_page??1,1));function B(b){const C=b.id;return typeof C=="number"&&Number.isInteger(C)?C:typeof C=="string"&&/^\d+$/.test(C)?Number(C):null}function Q(b,C){const E=C===""?void 0:b[C];return typeof E=="string"||typeof E=="number"?String(E):""}function ne(b){return b.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(C=>C.charAt(0).toUpperCase()).join("")}async function ce(){const b=++y;i.value=!0;try{const C=r.value.trim(),{data:E}=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/candidates",{params:{path:{...n.source,id:n.recordId,name:n.relation},query:{search:C===""?void 0:C,page:l.value,per_page:qO},header:D()}});if(b!==y)return;o.value=E?.data??[],s.value=E?.meta??null}catch{b===y&&(o.value=[],s.value=null)}finally{b===y&&(i.value=!1)}}function te(){x!==null&&(clearTimeout(x),x=null),y++,r.value="",l.value=1,o.value=[],s.value=null,i.value=!1,d.value=new Set,p.value=1,v.value=null,m.value={},g.value={}}Fe(()=>n.open,b=>{b?(te(),ce()):te()},{immediate:!0});function ie(b){r.value=b.target.value,x!==null&&clearTimeout(x),x=setTimeout(()=>{x=null,l.value=1,ce()},IO)}function le(b){b<1||b>W.value||b===l.value||(l.value=b,ce())}function re(b){const C=B(b);return C!==null&&d.value.has(C)}function we(b){const C=B(b);if(C===null)return;if(I.value){d.value=new Set([C]),v.value=b;return}const E=new Set(d.value);E.has(C)?E.delete(C):E.add(C),d.value=E}async function ue(){!I.value||d.value.size===0||!v.value||(p.value=2,m.value=Tc(H.value),g.value={},await ze(),_.value?.querySelector('input, select, textarea, button, [contenteditable="true"]')?.focus())}async function Ce(){if(c.value)return;p.value=1,g.value={},await ze(),(document.querySelector(`#${U} [aria-selected="true"]`)??f.value)?.focus()}function pe(b,C){if(m.value={...m.value,[b]:C},g.value[b]){const E={...g.value};delete E[b],g.value=E}}function Z(b,C,E){switch(b.key){case" ":b.preventDefault(),we(C);break;case"Enter":b.preventDefault(),we(C),I.value&&ue();break;case"ArrowDown":case"ArrowUp":{b.preventDefault();const Y=b.currentTarget.parentElement?.querySelectorAll('[role="option"]'),M=b.key==="ArrowDown"?1:-1;Y?.[Math.min(Math.max(E+M,0),Y.length-1)]?.focus();break}}}function ve(b){a("update:open",b)}async function X(){const b=[...d.value];if(c.value||b.length===0)return;const C=I.value;c.value=!0;try{const E=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/link",{params:{path:{...n.source,id:n.recordId,name:n.relation},header:D()},body:C?{ids:b.slice(0,1),pivot:Ht(H.value,m.value)}:{ids:b}});if(E.data){ve(!1),a("linked",E.data.data.linked??b.length);return}const Y=E.response.status;if(C&&Y===422){g.value=Ll(E.error?.error.details);const M=H.value.find(K=>g.value[K.name]);M&&(await ze(),jl(G.value,M.name));return}if(C&&Y===404){Oe(P("backend::lang.relation.child_gone"),"danger"),d.value=new Set,v.value=null,p.value=1,ce();return}if(C){Oe(P("backend::lang.form.error_generic"),"danger");return}Oe(E.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{c.value=!1}}function de(b){b.preventDefault(),f.value?.focus()}function ge(b){b.preventDefault(),a("closed")}return qt(()=>{x!==null&&clearTimeout(x)}),(b,C)=>(h(),j(u(ql),{open:e.open,"onUpdate:open":ve},{default:F(()=>[z(u(Es),null,{default:F(()=>[z(u(Fl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),z(u(Il),{"data-relation-picker":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-modal bg-surface p-6 text-text shadow-pop",onOpenAutoFocus:de,onCloseAutoFocus:ge},{default:F(()=>[O("div",cO,[O("div",dO,[z(u(Bl),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:F(()=>[$e(R(p.value===2?u(Ie)(e.schema.messages.pivotTitle):u(Ie)(e.schema.messages.link)),1)]),_:1}),p.value===1?(h(),j(u(_l),{key:0,class:"text-muted"},{default:F(()=>[$e(R(u(Ie)(e.schema.messages.linkHint)),1)]),_:1})):(h(),j(u(_l),{key:1,class:"flex min-w-0 flex-col","data-chosen-record":""},{default:F(()=>[O("span",{class:"truncate font-semibold text-text",title:Q(v.value??{},A.value)},R(Q(v.value??{},A.value)),9,fO),V.value?(h(),$("span",pO,R(Q(v.value??{},V.value)),1)):ae("",!0)]),_:1}))]),z(u(Sr),{"data-action":"close","aria-label":u(P)("backend::lang.form.close"),class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:F(()=>[z(u(Wt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label"])]),p.value===2?(h(),$("div",{key:0,ref_key:"stepTwo",ref:_,"data-pivot-step":"",class:"flex min-h-0 flex-col gap-4 overflow-y-auto"},[z(Vl,{errors:g.value,"field-names":k.value},null,8,["errors","field-names"]),O("form",{novalidate:"",onSubmit:pt(X,["prevent"])},[O("fieldset",{disabled:c.value,class:"m-0 min-w-0 border-0 p-0"},[z(Ul,{fields:H.value,values:m.value,errors:g.value,source:e.source,"record-id":null,"id-prefix":G.value,onUpdate:pe},null,8,["fields","values","errors","source","id-prefix"])],8,vO)],32)],512)):ae("",!0),qa(O("label",hO,[O("span",mO,R(u(P)("backend::lang.list.search")),1),z(u(ds),{size:18,class:"pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"}),O("input",{ref_key:"searchInput",ref:f,type:"search","data-candidate-search":"",value:r.value,placeholder:u(Ie)(e.schema.messages.candidateSearch),"aria-controls":U,class:"h-input w-full rounded-control border border-border-strong bg-surface pr-3.5 pl-10",onInput:ie},null,40,yO)],512),[[Zi,p.value===1]]),qa(O("ul",{id:U,role:"listbox","aria-multiselectable":I.value?"false":"true","aria-label":u(Ie)(e.schema.messages.link),"aria-busy":i.value?"true":void 0,class:"flex min-h-0 flex-col gap-2 overflow-y-auto"},[(h(!0),$(_e,null,Ne(o.value,(E,Y)=>(h(),$("li",{key:B(E)??`row-${Y}`,role:"option",tabindex:"0","data-candidate":B(E)??void 0,"aria-selected":re(E)?"true":"false",class:xe([re(E)?"border-[#e0b020] bg-sel":"border-border hover:bg-hover","flex h-[54px] cursor-pointer items-center gap-3 rounded-inner border px-3 transition-colors duration-150 ease-out"]),onClick:M=>we(E),onKeydown:M=>Z(M,E,Y)},[O("span",_O,R(ne(Q(E,A.value))),1),O("span",xO,[O("span",wO,R(Q(E,A.value)),1),V.value?(h(),$("span",kO,R(Q(E,V.value)),1)):ae("",!0)]),I.value?(h(),$("span",{key:0,"data-radio":"",class:xe([re(E)?"border-primary":"border-border-strong bg-surface","flex size-[18px] shrink-0 items-center justify-center rounded-full border"]),"aria-hidden":"true"},[re(E)?(h(),$("span",$O)):ae("",!0)],2)):(h(),$("span",{key:1,class:xe([re(E)?"border-primary bg-primary text-on-primary":"border-border-strong bg-surface","flex size-[18px] shrink-0 items-center justify-center rounded-checkbox border"]),"aria-hidden":"true"},[re(E)?(h(),j(u(_r),{key:0,size:14})):ae("",!0)],2))],42,bO))),128)),i.value&&o.value.length===0?(h(),$("li",CO,R(u(P)("backend::lang.list.loading")),1)):!i.value&&o.value.length===0?(h(),$("li",SO,R(u(P)("backend::lang.relation.no_candidates")),1)):ae("",!0)],8,gO),[[Zi,p.value===1]]),p.value===1&&s.value&&s.value.total>0?(h(),$("nav",{key:1,"aria-label":u(P)("backend::lang.list.pagination"),class:"flex items-center gap-2 text-[13px] text-muted"},[O("span",AO,R(N.value),1),O("button",{type:"button","data-page":"prev","aria-label":u(P)("backend::lang.list.prev_page"),class:xe(np),disabled:i.value||l.value<=1,onClick:C[0]||(C[0]=E=>le(l.value-1))},[z(u(cs),{size:16,"aria-hidden":"true"})],8,DO),O("button",{type:"button","data-page":"next","aria-label":u(P)("backend::lang.list.next_page"),class:xe(np),disabled:i.value||l.value>=W.value,onClick:C[1]||(C[1]=E=>le(l.value+1))},[z(u(Ol),{size:16,"aria-hidden":"true"})],8,PO)],8,EO)):ae("",!0),O("div",OO,[p.value===2?(h(),$("button",{key:0,type:"button","data-action":"back",disabled:c.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:Ce},R(u(P)("backend::lang.relation.back")),9,MO)):(h(),j(u(Sr),{key:1,"data-action":"cancel",class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover"},{default:F(()=>[$e(R(u(P)("backend::lang.form.cancel")),1)]),_:1})),I.value&&p.value===1?(h(),$("button",{key:2,type:"button","data-action":"next",disabled:J.value===0,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:ue},R(u(P)("backend::lang.relation.next")),9,TO)):(h(),$("button",{key:3,type:"button","data-action":"confirm-link",disabled:c.value||J.value===0,"aria-busy":c.value?"true":void 0,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:X},[I.value?(h(),$(_e,{key:0},[$e(R(c.value?u(P)("backend::lang.form.saving"):u(Ie)(e.schema.messages.linkSubmit)),1)],64)):(h(),$(_e,{key:1},[$e(R(u(P)("backend::lang.relation.add_count",{count:J.value})),1)],64))],8,RO))])]),_:1})]),_:1})]),_:1},8,["open"]))}}),BO={class:"flex items-start gap-3"},NO={class:"flex min-w-0 flex-1 flex-col gap-1"},VO={key:0,"data-pivot-loading":"","aria-hidden":"true",class:"flex flex-col gap-1.5"},LO={key:1,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},jO=["disabled"],UO={class:"flex gap-2.5"},zO=["disabled"],HO=["disabled"],KO=ee({__name:"RelationPivotModal",props:{open:{type:Boolean},source:{},ownerId:{},relation:{},schema:{},childId:{},childName:{},sessionKey:{}},emits:["update:open","saved","gone","closed"],setup(e,{emit:t}){const n=e,a=t,r=T({}),l=T({}),o=T(!1),s=T(!1),i=T(!1),c=T(""),d=ja();let f=0;const p=w(()=>`pivot-${n.relation}`),v=w(()=>n.schema.pivotForm??[]),m=w(()=>v.value.map(H=>H.name)),g=w(()=>!o.value&&!s.value&&ca(Ht(v.value,r.value))!==c.value);function _(){return{[ya]:n.sessionKey}}function y(H){return{...n.source,id:n.ownerId,name:n.relation,child:H}}function x(H,k){if(r.value={...r.value,[H]:k},l.value[H]){const I={...l.value};delete I[H],l.value=I}}function S(){a("update:open",!1),Oe(P("backend::lang.relation.child_gone"),"danger"),a("gone")}async function A(){const H=++f;if(l.value={},s.value=!1,i.value=!1,r.value={},c.value=ca({}),n.childId!==null){o.value=!0;try{const k=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/pivot/{child}",{params:{path:y(n.childId),header:_()}});if(H!==f)return;k.data?(r.value={...k.data.data},c.value=ca(Ht(v.value,r.value))):k.response.status===404?S():s.value=!0}catch{H===f&&(s.value=!0)}finally{H===f&&(o.value=!1)}}}Fe(()=>n.open,H=>{H?A():f++},{immediate:!0});async function V(H){if(H){a("update:open",!0);return}i.value||g.value&&!await d.ask({message:P("backend::lang.form.unsaved_confirm"),confirmLabel:P("backend::lang.form.discard"),danger:!0})||a("update:open",!1)}async function J(){if(!(i.value||o.value||s.value||n.childId===null)){i.value=!0;try{const H=await Me.PUT("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/pivot/{child}",{params:{path:y(n.childId),header:_()},body:Ht(v.value,r.value)});if(H.data){l.value={},c.value=ca(Ht(v.value,r.value)),a("update:open",!1),Oe(Ie(n.schema.messages.pivotSaved)),a("saved");return}const k=H.response.status;if(k===422){l.value=Ll(H.error?.error.details);const I=v.value.find(G=>l.value[G.name]);I&&(await ze(),jl(p.value,I.name))}else k===404?S():Oe(P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{i.value=!1}}}function U(H){H.preventDefault(),a("closed")}return(H,k)=>(h(),$(_e,null,[z(u(ql),{open:e.open,"onUpdate:open":V},{default:F(()=>[z(u(Es),null,{default:F(()=>[z(u(Fl),{"data-dialog-overlay":"",class:"fixed inset-0 z-40 bg-overlay"}),z(u(Il),{"data-relation-pivot-modal":"","data-dialog-content":"","aria-modal":"true",class:"fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100vh-32px)] w-[calc(100%-32px)] max-w-[560px] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 overflow-y-auto rounded-modal bg-surface p-6 text-text shadow-pop",onCloseAutoFocus:U},{default:F(()=>[O("div",BO,[O("div",NO,[z(u(Bl),{class:"text-[20px] font-bold tracking-[-0.01em]"},{default:F(()=>[$e(R(u(Ie)(e.schema.messages.pivotTitle)),1)]),_:1}),z(u(_l),{class:"truncate text-muted",title:e.childName},{default:F(()=>[$e(R(e.childName),1)]),_:1},8,["title"])]),z(u(Sr),{"data-action":"close","aria-label":u(P)("backend::lang.form.close"),disabled:i.value,class:"flex size-[34px] shrink-0 items-center justify-center rounded-tab bg-subtle text-muted hover:bg-hover hover:text-text"},{default:F(()=>[z(u(Wt),{size:16,"aria-hidden":"true"})]),_:1},8,["aria-label","disabled"])]),o.value?(h(),$("div",VO,[...k[1]||(k[1]=[O("span",{class:"block h-3 w-24 rounded-[6px] bg-skel"},null,-1),O("span",{class:"block h-input rounded-control bg-skel"},null,-1)])])):s.value?(h(),$("p",LO,R(u(P)("backend::lang.relation.child_load_failed")),1)):(h(),$("form",{key:2,class:"flex flex-col gap-4",novalidate:"",onSubmit:pt(J,["prevent"])},[z(Vl,{errors:l.value,"field-names":m.value},null,8,["errors","field-names"]),O("fieldset",{disabled:i.value,class:"m-0 min-w-0 border-0 p-0"},[z(Ul,{fields:v.value,values:r.value,errors:l.value,source:e.source,"record-id":null,"id-prefix":p.value,onUpdate:x},null,8,["fields","values","errors","source","id-prefix"])],8,jO)],32)),O("div",UO,[O("button",{type:"button","data-action":"cancel",disabled:i.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control border border-border-strong bg-surface font-semibold hover:bg-hover disabled:cursor-not-allowed disabled:opacity-60",onClick:k[0]||(k[0]=I=>V(!1))},R(u(P)("backend::lang.form.cancel")),9,zO),O("button",{type:"button","data-action":"save-pivot",disabled:i.value||o.value||s.value,class:"inline-flex h-button flex-1 items-center justify-center rounded-control bg-primary font-semibold text-on-primary hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",onClick:J},R(i.value?u(P)("backend::lang.form.saving"):u(Ie)(e.schema.messages.pivotSubmit)),9,HO)])]),_:1})]),_:1})]),_:1},8,["open"]),z(La,{open:u(d).request.value!==null,message:u(d).request.value?.message??"","confirm-label":u(d).request.value?.confirmLabel,danger:u(d).request.value?.danger,onConfirm:u(d).confirm,onCancel:u(d).cancel},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])],64))}}),WO=["id","data-relation-name","data-deferred","aria-labelledby","aria-describedby"],GO={class:"flex flex-col gap-2"},YO={class:"flex flex-wrap items-center gap-3"},JO={class:"flex min-w-0 flex-1 flex-col"},ZO=["id"],QO=["id"],XO={key:0,class:"relative block w-[220px] max-w-full"},eM={class:"sr-only"},tM=["value","placeholder"],nM={key:0,"data-relation-pending":"",class:"flex items-center gap-2 text-[13px] text-muted"},aM={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},rM={key:1,class:"overflow-hidden rounded-inner border border-border"},lM={"data-relation-empty":"",class:"text-muted"},oM=["aria-label","onClick"],sM=300,iM=ee({__name:"RelationManager",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Rr,null),a=w(()=>t.field.relation||t.field.name),r=w(()=>typeof t.recordId=="number"?t.recordId:n&&n.recordId===0&&t.field.deferrable?0:null),l=w(()=>r.value===0),o=w(()=>t.source!=null&&r.value!==null),s=n?.key??Cl(),i=T(null),c=T([]),d=T(null),f=T(!0),p=T(!1),v=T(""),m=T(1),g=T(null),_=T([]),y=T(!1),x=T(!1),S=T(!1),A=T("create"),V=T(null),J=T(!1),U=T(null),H=T("");let k=null,I=null,G=null;const D=ja();let N=0,W=null;const B=w(()=>i.value?.view.list.columns??[]),Q=w(()=>i.value?.view.toolbarButtons??[]),ne=w(()=>i.value?.messages),ce=w(()=>`${t.controlId}-heading`),te=w(()=>`${t.controlId}-comment`),ie=w(()=>Q.value.includes("create")&&(i.value?.manageForm?.length??0)>0),le=w(()=>Q.value.includes("update")&&(i.value?.manageForm?.length??0)>0),re=w(()=>i.value?.kind==="belongsToMany"&&(i.value?.pivotForm?.length??0)>0&&(Q.value.includes("link")||Q.value.includes("update"))),we=w(()=>(i.value?.viewForm?.length??0)>0),ue=w(()=>le.value?"update":re.value?"pivot":we.value?"preview":null),Ce=w(()=>le.value&&re.value),pe=w(()=>Q.value.includes("unlink")||Q.value.includes("delete"));function Z(){return l.value?{[ya]:s}:void 0}function ve(){return{...t.source,id:r.value,name:a.value}}function X(){l.value&&n?.markDirty()}async function de(){const{data:De}=await Me.GET("/{vendor}/{plugin}/{controller}/schema/relation/{name}",{params:{path:{...t.source,name:a.value}}});i.value=De?.data??null}async function ge(){const De=++N;f.value=!0,p.value=!1;try{const Ae=v.value.trim(),qe={page:m.value};Ae!==""&&(qe.search=Ae),g.value&&(qe.sort=g.value.column,qe.dir=g.value.dir);const{data:kt}=await Me.GET("/{vendor}/{plugin}/{controller}/{id}/relations/{name}",{params:{path:ve(),query:qe,header:Z()}});if(De!==N)return;c.value=kt?.data??[],d.value=kt?.meta??null,p.value=!kt}catch{De===N&&(c.value=[],d.value=null,p.value=!0)}finally{De===N&&(f.value=!1)}}async function b(){if(o.value){try{await de()}catch{i.value=null}if(!i.value){f.value=!1,p.value=!0;return}await ge()}}function C(De){v.value=De.target.value,W!==null&&clearTimeout(W),W=setTimeout(()=>{W=null,m.value=1,_.value=[],ge()},sM)}function E(De){m.value=De,_.value=[],ge()}function Y(De){const Ae=g.value;Ae?.column!==De?g.value={column:De,dir:"asc"}:Ae.dir==="asc"?g.value={column:De,dir:"desc"}:g.value=null,m.value=1,_.value=[],ge()}function M(){return _.value.map(Number).filter(De=>Number.isInteger(De)&&De>0)}function K(De){const Ae=De.id;return typeof Ae=="number"&&Number.isInteger(Ae)?Ae:typeof Ae=="string"&&/^\d+$/.test(Ae)?Number(Ae):null}function oe(De){const Ae=B.value[0]?.key,qe=Ae?De[Ae]:void 0;return typeof qe=="string"||typeof qe=="number"?String(qe):""}async function se(){const De=M();if(!(y.value||De.length===0||!i.value||!await D.ask({message:Ie(ne.value?.unlinkConfirm,De.length),confirmLabel:Ie(ne.value?.unlinkSelected),danger:!0}))){y.value=!0;try{const qe=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/unlink",{params:{path:ve(),header:Z()},body:{ids:De}});if(qe.data){_.value=[],X(),Oe(Ie(ne.value?.unlinked,qe.data.data.removed??De.length)),await ge();return}Oe(qe.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{y.value=!1}}}async function me(De){y.value=!0;try{const Ae=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/relations/{name}/delete",{params:{path:ve(),header:Z()},body:{ids:De}});if(Ae.data){_.value=[],X(),Oe(Ie(ne.value?.deleted,Ae.data.data.deleted||De.length)),await ge();return}Oe(Ae.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{y.value=!1}}async function fe(){const De=M();y.value||De.length===0||!i.value||await D.ask({message:Ie(ne.value?.deleteConfirm,De.length),confirmLabel:Ie(ne.value?.deleteSelected),danger:!0},()=>me(De))}async function Ee(De){X(),Oe(Ie(ne.value?.linked,De)),_.value=[],await ge()}function be(De){k=De.currentTarget??G,A.value="create",V.value=null,S.value=!0}function Se(De,Ae){const qe=K(De);qe!==null&&(k=Ae,U.value=qe,H.value=oe(De),J.value=!0)}function Re(De,Ae){const qe=ue.value,kt=K(De);if(!(qe===null||kt===null)){if(qe==="pivot"){Se(De,Ae);return}k=Ae,A.value=qe,V.value=kt,S.value=!0}}async function je(){X(),_.value=[],await ge()}async function We(){X(),await ge()}async function Ue(){_.value=[],await ge()}function lt(){const De=k&&k.isConnected?k:null;k=null,De?.focus()}function it(){I?.focus()}function wt(De){const Ae=De?.$el;return Ae instanceof HTMLElement?Ae:null}function Pt(De){I=wt(De)}function on(De){G=wt(De)}return qt(()=>{W!==null&&clearTimeout(W)}),b(),(De,Ae)=>o.value?(h(),$("section",{key:0,id:e.controlId,"data-relation-manager":"","data-relation-name":a.value,"data-deferred":l.value?"true":void 0,"aria-labelledby":ce.value,"aria-describedby":e.field.comment?te.value:void 0,tabindex:"-1",class:"flex flex-col gap-4"},[O("div",GO,[O("header",YO,[O("div",JO,[O("h2",{id:ce.value,class:"text-[17px] font-bold tracking-[-0.01em]"},R(i.value?.label||e.field.label||a.value),9,ZO),e.field.comment?(h(),$("p",{key:0,id:te.value,class:"text-[13px] text-muted"},R(e.field.comment),9,QO)):ae("",!0)]),i.value?.view.showSearch?(h(),$("label",XO,[O("span",eM,R(u(P)("backend::lang.list.search")),1),z(u(ds),{size:16,class:"pointer-events-none absolute top-1/2 left-3 -translate-y-1/2 text-muted","aria-hidden":"true"}),O("input",{type:"search","data-relation-search":"",value:v.value,placeholder:u(P)("backend::lang.list.search_prompt"),class:"h-[38px] w-full rounded-control border border-transparent bg-subtle pr-3 pl-9",onInput:C,onKeydown:Ae[0]||(Ae[0]=yr(pt(()=>{},["prevent"]),["enter"]))},null,40,tM)])):ae("",!0),(h(!0),$(_e,null,Ne(Q.value,qe=>(h(),$(_e,{key:qe},[qe==="create"&&ie.value?(h(),j(et,{key:0,ref_for:!0,ref:on,"data-action":"create",size:"sm",variant:"primary",icon:u(ju),disabled:y.value||!i.value,"aria-haspopup":"dialog",onClick:be},{default:F(()=>[$e(R(u(Ie)(ne.value?.create)),1)]),_:1},8,["icon","disabled"])):qe==="link"?(h(),j(et,{key:1,ref_for:!0,ref:Pt,"data-action":"link",size:"sm",variant:ie.value?"outline":"primary",icon:u(Xv),disabled:y.value||!i.value,"aria-haspopup":"dialog",onClick:Ae[1]||(Ae[1]=kt=>x.value=!0)},{default:F(()=>[$e(R(u(Ie)(ne.value?.link)),1)]),_:1},8,["variant","icon","disabled"])):qe==="delete"?(h(),j(et,{key:2,"data-action":"delete",size:"sm",variant:"danger",icon:u(Ml),disabled:y.value||_.value.length===0,onClick:fe},{default:F(()=>[$e(R(u(Ie)(ne.value?.deleteSelected)),1)]),_:1},8,["icon","disabled"])):qe==="unlink"?(h(),j(et,{key:3,"data-action":"unlink",size:"sm",variant:"danger",icon:u(Qv),disabled:y.value||_.value.length===0,onClick:se},{default:F(()=>[$e(R(u(Ie)(ne.value?.unlinkSelected)),1)]),_:1},8,["icon","disabled"])):ae("",!0)],64))),128))]),l.value?(h(),$("p",nM,[z(u(D0),{size:14,class:"shrink-0","aria-hidden":"true"}),O("span",null,R(u(P)("backend::lang.relation.pending_note")),1)])):ae("",!0)]),p.value&&!f.value?(h(),$("p",aM,R(u(P)("backend::lang.relation.load_failed")),1)):(h(),$("div",rM,[z(Um,{selected:_.value,"onUpdate:selected":Ae[2]||(Ae[2]=qe=>_.value=qe),variant:"relation",columns:B.value,rows:c.value,loading:f.value,selectable:pe.value,sortable:!0,sort:g.value,openable:ue.value!==null,trailing:Ce.value,onSort:Y,onOpen:Re},{empty:F(()=>[O("span",lM,R(u(Ie)(ne.value?.empty)),1)]),trailing:F(({row:qe})=>[O("button",{type:"button","data-action":"edit-pivot","aria-label":u(Ie)(ne.value?.editPivot,void 0,{name:oe(qe)}),class:"flex size-8 items-center justify-center rounded-pager text-muted transition-colors duration-150 ease-out hover:bg-hover hover:text-text",onClick:kt=>Se(qe,kt.currentTarget)},[z(u(X0),{size:16,"aria-hidden":"true"})],8,oM)]),_:1},8,["selected","columns","rows","loading","selectable","sort","openable","trailing"]),d.value&&d.value.last_page>1?(h(),j(zm,{key:0,meta:d.value,loading:f.value,"per-page-options":[],"per-page":d.value.per_page,onPage:E},null,8,["meta","loading","per-page"])):ae("",!0)])),i.value&&Q.value.includes("link")?(h(),j(FO,{key:2,open:x.value,"onUpdate:open":Ae[3]||(Ae[3]=qe=>x.value=qe),source:e.source,"record-id":r.value,relation:a.value,schema:i.value,"session-key":l.value?u(s):null,onLinked:Ee,onClosed:it},null,8,["open","source","record-id","relation","schema","session-key"])):ae("",!0),i.value&&(ie.value||ue.value==="update"||ue.value==="preview")?(h(),j(uO,{key:3,open:S.value,"onUpdate:open":Ae[4]||(Ae[4]=qe=>S.value=qe),source:e.source,"owner-id":r.value,relation:a.value,schema:i.value,mode:A.value,"child-id":V.value,"session-key":u(s),"can-delete":Q.value.includes("delete"),onChanged:je,onGone:Ue,onClosed:lt},null,8,["open","source","owner-id","relation","schema","mode","child-id","session-key","can-delete"])):ae("",!0),i.value&&re.value?(h(),j(KO,{key:4,open:J.value,"onUpdate:open":Ae[5]||(Ae[5]=qe=>J.value=qe),source:e.source,"owner-id":r.value,relation:a.value,schema:i.value,"child-id":U.value,"child-name":H.value,"session-key":u(s),onSaved:We,onGone:Ue,onClosed:lt},null,8,["open","source","owner-id","relation","schema","child-id","child-name","session-key"])):ae("",!0),z(La,{open:u(D).request.value!==null,message:u(D).request.value?.message??"","confirm-label":u(D).request.value?.confirmLabel,danger:u(D).request.value?.danger,busy:u(D).busy.value,onConfirm:u(D).confirm,onCancel:u(D).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])],8,WO)):ae("",!0)}}),uM=["id","aria-describedby"],cM=["data-relation"],dM={class:"flex size-[22px] items-center justify-center rounded-full bg-primary text-[10px] font-bold text-on-primary","aria-hidden":"true"},fM={class:"font-semibold"},pM=["aria-label","onClick"],vM=["id","aria-expanded","aria-controls","aria-activedescendant","aria-required","aria-invalid","aria-describedby","value","placeholder"],hM={key:1,class:"relative"},mM=["id","aria-expanded","aria-controls","aria-activedescendant","aria-required","aria-invalid","aria-describedby","value","placeholder"],yM=["id"],gM=["id","data-value","aria-selected","onMousedown"],bM={key:0,role:"presentation",class:"px-3 py-2 text-[13px] text-muted"},_M={key:1,role:"presentation",class:"px-3 py-2 text-[13px] text-muted"},xM={key:2,role:"presentation",class:"p-1"},wM=20,kM=300,$M=ee({__name:"RelationField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>n.field.readOnly?"readonly":n.field.multiple?"multiple":"single"),l=w(()=>`${n.controlId}-listbox`),o=T({});Fe(()=>n.labels,te=>{const ie={...o.value};for(const le of te??[])ie[le.value]=le.label;o.value=ie},{immediate:!0});function s(te){return typeof te=="number"&&Number.isInteger(te)?te:typeof te=="string"&&/^\d+$/.test(te)?Number(te):null}const i=w(()=>s(n.modelValue)),c=w(()=>Array.isArray(n.modelValue)?n.modelValue.map(s).filter(te=>te!==null):[]);function d(te){return o.value[te]??String(te)}function f(te){return te.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map(ie=>ie.charAt(0).toUpperCase()).join("")}const p=w(()=>{const te=n.labels?.[0]?.label;return te||(n.field.emptyOption??"—")}),v=T(!1),m=T(""),g=T([]),_=T(0),y=T(0),x=T(!1),S=T(-1);let A=0,V=null;const J=w(()=>_.value{const te=[];r.value==="single"&&n.field.emptyOption!==void 0&&te.push({key:"empty",label:n.field.emptyOption,value:null,muted:!0});const ie=new Set(c.value);for(const le of g.value)r.value==="multiple"&&ie.has(le.value)||te.push({key:`option-${le.value}`,label:le.label,value:le.value,muted:!1});return te});function k(te){return`${l.value}-${te}`}function I(){v.value||(v.value=!0,S.value=-1,U(1,!1))}function G(){v.value=!1,m.value="",S.value=-1,V!==null&&(clearTimeout(V),V=null)}function D(te){m.value=te.target.value,v.value=!0,S.value=-1,V!==null&&clearTimeout(V),V=setTimeout(()=>{V=null,U(1,!1)},kM)}function N(){J.value&&!x.value&&U(_.value+1,!0)}function W(te){const ie=te.target;ie.scrollTop+ie.clientHeight>=ie.scrollHeight-24&&N()}function B(te){r.value==="multiple"?te.value!==null&&!c.value.includes(te.value)&&a("update:modelValue",[...c.value,te.value]):a("update:modelValue",te.value),G()}function Q(te){a("update:modelValue",c.value.filter(ie=>ie!==te))}function ne(te){switch(te.key){case"ArrowDown":te.preventDefault(),v.value?S.value=Math.min(S.value+1,H.value.length-1):I();break;case"ArrowUp":te.preventDefault(),S.value=Math.max(S.value-1,0);break;case"Enter":if(v.value){te.preventDefault();const ie=H.value[S.value];ie&&B(ie)}break;case"Escape":v.value&&(te.preventDefault(),G());break;case"Backspace":r.value==="multiple"&&m.value===""&&c.value.length>0&&Q(c.value[c.value.length-1]);break}}const ce=w(()=>i.value!==null?d(i.value):n.field.emptyOption??"");return qt(()=>{V!==null&&clearTimeout(V)}),(te,ie)=>r.value==="readonly"?(h(),$("div",{key:0,id:e.controlId,"data-relation-readonly":"","aria-describedby":e.describedBy||void 0,class:xe([e.labels?.[0]?.label?"text-text":"text-muted","flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5"])},R(p.value),11,uM)):(h(),$("div",{key:1,class:"relative","data-relation":r.value},[r.value==="multiple"?(h(),$("div",{key:0,class:xe([e.invalid?"border-danger":"border-border-strong","flex min-h-input flex-wrap items-center gap-1.5 rounded-control border bg-surface p-1.5"])},[(h(!0),$(_e,null,Ne(c.value,le=>(h(),$("span",{key:le,"data-chip":"",class:"inline-flex h-[30px] items-center gap-1.5 rounded-pill bg-subtle pr-1 pl-1"},[O("span",dM,R(f(d(le))),1),O("span",fM,R(d(le)),1),O("button",{type:"button","aria-label":u(P)("backend::lang.form.remove_item",{name:d(le)}),class:"flex size-6 items-center justify-center rounded-full text-muted hover:bg-hover hover:text-text",onClick:re=>Q(le)},[z(u(Wt),{size:14,"aria-hidden":"true"})],8,pM)]))),128)),O("input",{id:e.controlId,type:"text",role:"combobox",autocomplete:"off","aria-expanded":v.value?"true":"false","aria-controls":l.value,"aria-autocomplete":"list","aria-activedescendant":v.value&&S.value>=0?k(S.value):void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,value:m.value,placeholder:u(P)("backend::lang.form.add_item"),class:"h-[30px] min-w-[120px] flex-1 border-0 bg-transparent px-2 focus-visible:shadow-none",onClick:I,onInput:D,onKeydown:ne,onBlur:G},null,40,vM)],2)):(h(),$("div",hM,[O("input",{id:e.controlId,type:"text",role:"combobox",autocomplete:"off","aria-expanded":v.value?"true":"false","aria-controls":l.value,"aria-autocomplete":"list","aria-activedescendant":v.value&&S.value>=0?k(S.value):void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,value:v.value?m.value:ce.value,placeholder:v.value&&ce.value||u(P)("backend::lang.form.select_placeholder"),class:xe([[e.invalid?"border-danger":"border-border-strong",!v.value&&i.value===null?"text-muted":"text-text"],"h-input w-full rounded-control border bg-surface pr-10 pl-3.5"]),onClick:I,onInput:D,onKeydown:ne,onBlur:G},null,42,mM),z(u(Pl),{size:16,class:"pointer-events-none absolute top-1/2 right-3.5 -translate-y-1/2 text-muted","aria-hidden":"true"})])),qa(O("ul",{id:l.value,role:"listbox",class:"absolute inset-x-0 top-full z-20 mt-1 max-h-64 overflow-y-auto rounded-inner border border-border bg-surface p-1 shadow-menu",onScroll:W},[(h(!0),$(_e,null,Ne(H.value,(le,re)=>(h(),$("li",{id:k(re),key:le.key,role:"option","data-value":le.value??"empty","aria-selected":r.value==="single"&&le.value===i.value?"true":"false",class:xe([[le.muted?"text-muted":"text-text",re===S.value?"bg-hover":""],"flex h-10 cursor-pointer items-center rounded-control px-3 hover:bg-hover"]),onMousedown:pt(we=>B(le),["prevent"])},R(le.label),43,gM))),128)),x.value?(h(),$("li",bM,R(u(P)("backend::lang.form.loading_options")),1)):H.value.filter(le=>le.value!==null).length===0?(h(),$("li",_M,R(u(P)("backend::lang.form.no_options")),1)):ae("",!0),J.value&&!x.value?(h(),$("li",xM,[O("button",{type:"button","data-action":"more-options",class:"h-8 w-full rounded-control text-[13px] font-semibold text-muted hover:bg-hover hover:text-text",onMousedown:pt(N,["prevent"])},R(u(P)("backend::lang.form.more_options")),33)])):ae("",!0)],40,yM),[[Zi,v.value]])],8,cM))}}),CM={class:"flex min-w-0 flex-col"},SM=["for"],EM={key:0,class:"text-danger","aria-hidden":"true"},AM=["id"],DM=["id","aria-checked","aria-invalid","aria-describedby"],PM=ee({__name:"SwitchField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>Dc(n.modelValue));function l(){a("update:modelValue",Jm(n.modelValue,!r.value))}return(o,s)=>(h(),$("div",{class:xe([e.invalid?"border-danger":"border-border","flex items-center justify-between gap-4 rounded-inner border px-4 py-3.5"]),"data-toggle-card":""},[O("div",CM,[O("label",{for:e.controlId,class:"font-semibold"},[$e(R(e.field.label||e.field.name),1),e.field.required?(h(),$("span",EM," *")):ae("",!0)],8,SM),e.field.comment?(h(),$("p",{key:0,id:`${e.controlId}-comment`,class:"text-[13px] text-muted"},R(e.field.comment),9,AM)):ae("",!0)]),O("button",{id:e.controlId,type:"button",role:"switch","aria-checked":r.value?"true":"false","aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:xe([r.value?"bg-primary":"bg-border-strong","relative h-[26px] w-11 shrink-0 rounded-pill transition-colors duration-150 ease-out"]),onClick:l},[O("span",{class:xe([r.value?"translate-x-[18px] bg-on-primary":"translate-x-0 bg-white","absolute top-[3px] left-[3px] size-5 rounded-full shadow-tab transition-transform duration-150 ease-out"]),"aria-hidden":"true"},null,2)],10,DM)],2))}}),OM=["id","name","value","required","aria-required","aria-invalid","aria-describedby"],MM=ee({__name:"TextField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),l=w(()=>Rs(n.field));return(o,s)=>(h(),$("input",Ve({id:e.controlId},l.value,{name:e.field.name,type:"text",value:r.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ga)(e.invalid),"h-input"],onInput:s[0]||(s[0]=i=>a("update:modelValue",i.target.value))}),null,16,OM))}}),TM=["id","name","rows","value","required","aria-required","aria-invalid","aria-describedby"],RM=ee({__name:"TextareaField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r={tiny:2,small:4,large:8,huge:12,giant:18},l=w(()=>r[n.field.size??""]??5),o=w(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),s=w(()=>Rs(n.field));return(i,c)=>(h(),$("textarea",Ve({id:e.controlId},s.value,{name:e.field.name,rows:l.value,value:o.value,required:e.field.required||void 0,"aria-required":e.field.required?"true":void 0,"aria-invalid":e.invalid?"true":void 0,"aria-describedby":e.describedBy||void 0,class:[u(ga)(e.invalid),"min-h-input resize-y py-2.5"],onInput:c[0]||(c[0]=d=>a("update:modelValue",d.target.value))}),null,16,TM))}}),qM=["id","aria-describedby"],IM={key:0},FM={class:"font-mono text-text"},BM={key:1},NM={class:"font-mono text-text"},oo="\0",VM=ee({__name:"UnsupportedField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=w(()=>{const[r="",l=""]=P("backend::lang.form.unsupported_field",{type:oo}).split(oo);return{before:r,after:l}}),a=w(()=>P("backend::lang.form.unsupported_field",{type:oo}).includes(oo));return(r,l)=>(h(),$("div",{id:e.controlId,"data-unsupported-field":"","aria-describedby":e.describedBy||void 0,class:"flex min-h-input items-center gap-2.5 rounded-control border-[1.5px] border-dashed border-border-strong bg-subtle px-3.5 text-[13px] text-muted"},[z(u(Yv),{size:16,"aria-hidden":"true"}),a.value?(h(),$("span",IM,[$e(R(n.value.before),1),O("code",FM,R(t.field.type),1),$e(R(n.value.after),1)])):(h(),$("span",BM,[$e(R(u(P)("backend::lang.form.unsupported_field"))+" ",1),O("code",NM,R(t.field.type),1)]))],8,qM))}}),LM=["id","aria-labelledby","aria-describedby","aria-busy"],jM={key:0,"data-widget-skeleton":"",class:"h-[42px] w-[160px] rounded-control bg-skel","aria-hidden":"true"},UM=ee({__name:"WidgetField",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},setup(e){const t=e,n=st(Pc,null),a=st(Oc,()=>{}),r=st(Zm,null),l=st(Qm,()=>Promise.resolve([])),o=T("loading"),s=T(null);let i=null,c=!1,d=!1;function f(){const S=n?.value??{},A={};for(const V of t.field.fill??[])S[V]!==void 0&&(A[V]=S[V]);return A}const p=w(()=>JSON.stringify(f())),v=w(()=>r?.value||ml.value);function m(S){let A;return{promise:new Promise((J,U)=>{A=setTimeout(()=>U(new Error("widget element was not defined in time")),S)}),cancel:()=>clearTimeout(A)}}async function g(S){const A=await l();if(customElements.get(S))return;if(A.length>0)throw new Error(`plugin script failed: ${A.join(", ")}`);const V=m(rD);try{await Promise.race([customElements.whenDefined(S),V.promise])}finally{V.cancel()}}function _(S){Oe(S||P("backend::lang.extension.action_failed"),"danger"),i?.setAttribute("state","error")}async function y(){const S=t.source;if(!(!i||c||!S)){c=!0,i.setAttribute("busy",""),i.removeAttribute("state");try{const A=await Me.POST("/{vendor}/{plugin}/{controller}/widgets/{field}",{params:{path:{...S,field:t.field.name}},body:{record_id:t.recordId??void 0,values:f()}});if(A.data){const V=A.data.data.fill??{};for(const J of t.field.fill??[])Object.hasOwn(V,J)&&a(J,V[J]);A.data.data.message&&Oe(A.data.data.message)}else _(A.error?.error.message)}catch{_()}finally{c=!1,i?.removeAttribute("busy")}}}function x(){y()}return _t(async()=>{const S=t.field.widget??"";try{if(S===""||!t.source)throw new Error("widget field without a tag or controller");if(await g(S),d||!s.value)return;const A=document.createElement(S);A.setAttribute("record-id",t.recordId==null?"":String(t.recordId)),A.setAttribute("field-name",t.field.name),A.setAttribute("locale",v.value),A.setAttribute("fill-values",p.value),A.setAttribute("label",t.field.actionLabel||t.field.label||t.field.name),A.setAttribute("busy-label",P("backend::lang.extension.busy")),A.addEventListener(tp,x),s.value.append(A),i=A,o.value="ready"}catch{d||(o.value="failed")}}),Fe(p,S=>i?.setAttribute("fill-values",S)),Fe(v,S=>i?.setAttribute("locale",S)),qt(()=>{d=!0,i?.removeEventListener(tp,x),i=null}),(S,A)=>o.value==="failed"?(h(),j(Ec,{key:0,id:e.controlId,"data-widget-failed":"","aria-describedby":e.describedBy||void 0,text:u(P)("backend::lang.extension.widget_failed")},null,8,["id","aria-describedby","text"])):(h(),$("div",{key:1,id:e.controlId,role:"group","data-widget-host":"","aria-labelledby":e.field.label?`${e.controlId}-label`:void 0,"aria-describedby":e.describedBy||void 0,"aria-busy":o.value==="loading"?"true":void 0,class:"flex min-h-input items-center"},[o.value==="loading"?(h(),$("span",jM)):ae("",!0),O("div",{ref_key:"mountPoint",ref:s,class:"contents"},null,512)],8,LM))}}),Ua="relation-manager",Xm=new Map([[Ua,()=>iM]]),ey=new Map([["text",MM],["textarea",RM],["number",HP],["dropdown",aD],["switch",PM],["checkbox",TA],["relation",$M],["widget",UM],["partial",WP],["fileupload",UP],["datepicker",XA],["password",ZP]]),zM=new Set(["switch","checkbox",Ua]),HM=new Set([Ua]),KM=new Set([Ua,"widget","partial","fileupload"]),WM=new Set(["widget","partial","fileupload"]);function ty(e){return ey.get(e)??Xm.get(e)?.()??VM}function GM(e){return(ey.has(e)||Xm.has(e))&&!KM.has(e)}function YM(e){return HM.has(e)}function JM(e){return zM.has(e)}function ZM(e){return WM.has(e)}const QM=ee({__name:"FieldRenderer",props:{field:{},modelValue:{},controlId:{},invalid:{type:Boolean},describedBy:{},labels:{},source:{},recordId:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>ty(n.field.type));return(l,o)=>(h(),j(en(r.value),{field:e.field,"model-value":e.modelValue,"control-id":e.controlId,invalid:e.invalid,"described-by":e.describedBy,labels:e.labels,source:e.source,"record-id":e.recordId,"onUpdate:modelValue":o[0]||(o[0]=s=>a("update:modelValue",s))},null,8,["field","model-value","control-id","invalid","described-by","labels","source","record-id"]))}}),XM=["data-field"],e4=["id"],t4={key:0,class:"text-danger","aria-hidden":"true"},n4=["for"],a4={key:0,class:"text-danger","aria-hidden":"true"},r4=["id"],l4=["id"],o4=ee({__name:"FormField",props:{field:{},modelValue:{},errors:{},labels:{},source:{},recordId:{},idPrefix:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,r=w(()=>`${n.idPrefix??"field"}-${n.field.name}`),l=w(()=>r.value),o=w(()=>`${r.value}-comment`),s=w(()=>`${r.value}-error`),i=w(()=>(n.errors?.length??0)>0),c=w(()=>JM(n.field.type)),d=w(()=>ZM(n.field.type)),f=w(()=>!c.value&&!!n.field.comment),p=w(()=>[f.value||c.value&&n.field.comment?o.value:"",i.value?s.value:""].filter(Boolean).join(" "));return(v,m)=>(h(),$("div",{class:"flex min-w-0 flex-col gap-1.5","data-field":e.field.name},[d.value&&e.field.label?(h(),$("span",{key:0,id:`${l.value}-label`,class:"font-semibold"},[$e(R(e.field.label),1),e.field.required?(h(),$("span",t4," *")):ae("",!0)],8,e4)):!c.value&&!d.value?(h(),$("label",{key:1,for:l.value,class:"font-semibold"},[$e(R(e.field.label||e.field.name),1),e.field.required?(h(),$("span",a4," *")):ae("",!0)],8,n4)):ae("",!0),z(QM,{field:e.field,"model-value":e.modelValue,"control-id":l.value,invalid:i.value,"described-by":p.value,labels:e.labels,source:e.source,"record-id":e.recordId,"onUpdate:modelValue":m[0]||(m[0]=g=>a("update:modelValue",g))},null,8,["field","model-value","control-id","invalid","described-by","labels","source","record-id"]),f.value?(h(),$("p",{key:2,id:o.value,class:"text-[13px] text-muted"},R(e.field.comment),9,r4)):ae("",!0),i.value?(h(),$("div",{key:3,id:s.value,class:"flex flex-col gap-0.5 text-[13px] text-danger"},[(h(!0),$(_e,null,Ne(e.errors,(g,_)=>(h(),$("p",{key:_,class:"flex items-center gap-1.5"},[z(u(Bt),{size:14,class:"shrink-0","aria-hidden":"true"}),O("span",null,R(g),1)]))),128))],8,l4)):ae("",!0)],8,XM))}}),s4={class:"grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},Ul=ee({__name:"FormGrid",props:{fields:{},values:{},errors:{},labels:{},source:{},recordId:{},idPrefix:{}},emits:["update"],setup(e,{emit:t}){const n=t;function a(r){if(r.type===Ua)return"col-span-full";switch(r.span){case"left":return"min-[600px]:col-start-1";case"right":return"min-[600px]:col-start-2";case"auto":case"row":return"";default:return"col-span-full"}}return(r,l)=>(h(),$("div",s4,[(h(!0),$(_e,null,Ne(e.fields,o=>(h(),j(o4,{key:o.name,class:xe(a(o)),field:o,"model-value":e.values[o.name],errors:e.errors[o.name],labels:e.labels?.[o.name],source:e.source,"record-id":e.recordId,"id-prefix":e.idPrefix,"onUpdate:modelValue":s=>n("update",o.name,s)},null,8,["class","field","model-value","errors","labels","source","record-id","id-prefix","onUpdate:modelValue"]))),128))]))}}),i4={class:"flex w-full flex-col gap-5 pb-24"},u4={class:"flex flex-wrap items-center gap-4"},c4={class:"flex min-w-0 flex-1 flex-col"},d4={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},f4={key:0,class:"text-muted"},p4={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},v4=["id","role","aria-labelledby"],h4={class:"fixed inset-x-0 bottom-0 z-30 flex items-center gap-2.5 border-t border-border bg-surface px-8 py-3.5"},m4={class:"ml-auto flex items-center gap-2.5"},Hr="field",ap=ee({__name:"FormView",setup(e){const t=rn(),n=Ar(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=ms(a),l=Un(r)??"/",o=t.name==="create"?"create":"update",s=o==="update"?Number(t.params.id):null,i=T(null),c=T({}),d=T({}),f=T({}),p=T(null),v=T(!0),m=T(!1),g=T(!1),_=T(""),y=T(At),x=ja();let S=!1,A=Promise.resolve([]);const V=Cl(),J={[ya]:V},U=T(0),H=T(0),{activeUploads:k,beginUpload:I}=Mc(),G=w(()=>(i.value?.fields??[]).filter(M=>Is(M,o)&&(o==="update"||!YM(M.type)||M.type===Ua&&!!M.deferrable))),D=w(()=>G.value.map(M=>M.name)),N=w(()=>{if(!G.value.some(K=>K.tab))return[];const M=[];for(const K of G.value){const oe=gn(K);let se=M.find(me=>me.key===oe);se||(se={key:oe,label:K.tab||P("backend::lang.form.tab_default"),errors:0},oe===At?M.unshift(se):M.push(se)),f.value[K.name]&&(se.errors+=1)}return M}),W=w(()=>Math.max(N.value.findIndex(M=>M.key===y.value),0)),B=w(()=>{if(N.value.length===0)return G.value;const M=N.value[W.value]?.key??At;return G.value.filter(K=>gn(K)===M)}),Q=w(()=>{const M=i.value?.fields.find(oe=>oe.type==="text"),K=M?c.value[M.name]:void 0;return typeof K=="string"||typeof K=="number"?String(K).trim():""}),ne=w(()=>{if(o==="update"&&Q.value!=="")return Q.value;const M=o==="create"?i.value?.messages.create:i.value?.messages.update;return Ie(M,void 0,{name:Q.value})}),ce=w(()=>o==="update"?Ie(i.value?.messages.update,void 0,{name:Q.value}):""),te=w(()=>o==="update"&&!!i.value?.preview),ie=w(()=>te.value?`${l}/${s}/preview`:l),le=w(()=>!v.value&&(U.value>0||k.value>0||ca(Ht(G.value,c.value,o))!==_.value));function re(M){M&&(c.value={...M.data},d.value=M.meta.labels??{}),_.value=ca(Ht(G.value,c.value,o))}async function we(){v.value=!0,m.value=!1;const M={path:a},[K,oe]=await Promise.all([Me.GET("/{vendor}/{plugin}/{controller}/schema/form",{params:M}),s!==null?Me.GET("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s}}}):Promise.resolve(null)]);i.value=K.data?.data??null,m.value=!K.data||oe!==null&&!oe.data,i.value&&(A=Sc(r,i.value.assets)),i.value&&o==="create"&&(c.value=Tc(G.value)),re(oe?.data),y.value=N.value[0]?.key??At,v.value=!1}const ue=new Set;function Ce(M,K){const oe={...c.value,[M]:K};if(ue.add(M),o==="create")for(const se of G.value)se.preset?.field===M&&se.type==="text"&&!ue.has(se.name)&&(oe[se.name]=QP(se.preset.type,K));if(c.value=oe,f.value[M]){const se={...f.value};delete se[M],f.value=se}}Dt(Pc,w(()=>c.value)),Dt(Oc,Ce),Dt(Zm,w(()=>i.value?.meta.locale||ml.value)),Dt(Qm,()=>A),Dt(Rr,{key:V,recordId:s??0,routes:M=>Ym(a,s??0,M,V),markDirty:()=>{U.value++},pendingChanges:dt(U),revision:dt(H),beginUpload:I,activeUploads:dt(k)});async function pe(M){f.value=Ll(M?.details);const K=G.value.filter(se=>f.value[se.name]),oe=K.find(se=>gn(se)===y.value)??K[0];oe&&(N.value.length>0&&(y.value=gn(oe)),await ze(),jl(Hr,oe.name))}function Z(M,K){const oe=i.value?.redirects,se=(oe?.[o]?.[M]||oe?.default)??"";return jm(se,r,typeof K=="number"||typeof K=="string"?K:null)}async function ve(){if(g.value||!i.value||k.value>0)return null;g.value=!0,p.value=null;try{const M=Ht(G.value,c.value,o),K=s===null?await Me.POST("/{vendor}/{plugin}/{controller}",{params:{path:a,header:J},body:M}):await Me.PUT("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s},header:J},body:M});return K.data?(f.value={},re(K.data),U.value=0,H.value++,Oe(Ie(i.value.messages.saved,void 0,{name:Q.value})),K.data):(K.response.status===422?await pe(K.error?.error):K.response.status===403?(p.value=K.error?.error.message||P("backend::lang.form.forbidden"),await pe(K.error?.error)):Oe(K.error?.error.message||P("backend::lang.form.error_generic"),"danger"),null)}catch{return Oe(P("backend::lang.form.error_generic"),"danger"),null}finally{g.value=!1}}async function X(M){S=!0;try{await n.push(M)}finally{S=!1}}async function de(){const M=await ve();M&&o==="create"&&await X(Z("redirect",M.data.id))}async function ge(){const M=await ve();M&&await X(Z("redirectClose",M.data.id))}async function b(){if(!(s===null||g.value||!i.value||!await x.ask({message:Ie(i.value.messages.deleteConfirm,void 0,{name:Q.value}),confirmLabel:P("backend::lang.form.delete"),danger:!0}))){g.value=!0;try{const K=await Me.DELETE("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:s}}});if(K.data){Oe(Ie(i.value.messages.deleted,void 0,{name:Q.value})),await X(l);return}const oe=K.response.status===403?"backend::lang.list.action_forbidden":"backend::lang.form.error_generic";Oe(K.error?.error.message||P(oe),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{g.value=!1}}}async function C(){return S||!le.value?!0:x.ask({message:P("backend::lang.form.unsaved_confirm"),confirmLabel:P("backend::lang.form.discard"),danger:!0})}async function E(){le.value&&!await x.ask({message:P("backend::lang.form.unsaved_confirm"),confirmLabel:P("backend::lang.form.discard"),danger:!0})||await X(ie.value)}m1(C),y1(C);function Y(M){le.value&&(M.preventDefault(),M.returnValue="")}return _t(()=>window.addEventListener("beforeunload",Y)),qt(()=>window.removeEventListener("beforeunload",Y)),Xt(()=>ch(v.value?"":ne.value)),qt(dh),we(),(M,K)=>(h(),$("section",i4,[O("header",u4,[z(et,{variant:"outline","data-action":"back","aria-label":u(P)(te.value?"backend::lang.form.return_to_preview":"backend::lang.form.return_to_list"),class:"size-10! px-0!",onClick:E},{default:F(()=>[z(u(us),{size:18,"aria-hidden":"true"})]),_:1},8,["aria-label"]),O("div",c4,[O("h1",d4,R(v.value?"":ne.value),1),ce.value?(h(),$("p",f4,R(ce.value),1)):ae("",!0)]),N.value.length>0?(h(),j(Rc,{key:0,modelValue:y.value,"onUpdate:modelValue":K[0]||(K[0]=oe=>y.value=oe),tabs:N.value,"id-prefix":Hr},null,8,["modelValue","tabs"])):ae("",!0)]),m.value&&!v.value?(h(),$("p",p4,R(u(P)("backend::lang.form.load_failed")),1)):i.value?(h(),$(_e,{key:1},[z(Vl,{errors:f.value,"field-names":D.value,forbidden:p.value},null,8,["errors","field-names","forbidden"]),O("form",{id:N.value.length>0?u(qs)(Hr,W.value):void 0,role:N.value.length>0?"tabpanel":void 0,"aria-labelledby":N.value.length>0?u(Sl)(Hr,W.value):void 0,class:"rounded-card border border-border bg-surface p-7 shadow-card",novalidate:"",onSubmit:pt(de,["prevent"])},[z(Ul,{fields:B.value,values:c.value,errors:f.value,labels:d.value,source:a,"record-id":u(s),"id-prefix":Hr,onUpdate:Ce},null,8,["fields","values","errors","labels","record-id"])],40,v4)],64)):ae("",!0),O("footer",h4,[u(o)==="update"?(h(),j(et,{key:0,variant:"danger","data-action":"delete",icon:u(Ml),disabled:g.value||v.value||!i.value,onClick:b},{default:F(()=>[$e(R(u(P)("backend::lang.form.delete")),1)]),_:1},8,["icon","disabled"])):ae("",!0),O("div",m4,[z(et,{variant:"ghost","data-action":"cancel",onClick:E},{default:F(()=>[$e(R(u(P)("backend::lang.form.cancel")),1)]),_:1}),z(et,{variant:"outline","data-action":"save-close",disabled:g.value||v.value||!i.value||u(k)>0,onClick:ge},{default:F(()=>[$e(R(u(P)("backend::lang.form.save_and_close")),1)]),_:1},8,["disabled"]),z(et,{variant:"primary","data-action":"save",disabled:g.value||v.value||!i.value||u(k)>0,onClick:de},{default:F(()=>[$e(R(g.value?u(P)("backend::lang.form.saving"):u(P)("backend::lang.form.save")),1)]),_:1},8,["disabled"])])]),z(La,{open:u(x).request.value!==null,message:u(x).request.value?.message??"","confirm-label":u(x).request.value?.confirmLabel,danger:u(x).request.value?.danger,onConfirm:u(x).confirm,onCancel:u(x).cancel,"onUpdate:open":K[1]||(K[1]=oe=>{oe||u(x).cancel()})},null,8,["open","message","confirm-label","danger","onConfirm","onCancel"])]))}}),y4=["data-preview-field"],g4=["id"],b4={class:"m-0 min-w-0"},_4={key:0,"data-switch":"true",class:"inline-flex h-6 items-center rounded-pill bg-ok-bg px-2.5 text-[12px] font-semibold text-ok-text"},x4={key:1,"data-switch":"false",class:"inline-flex h-6 items-center rounded-pill border border-border-strong px-2.5 text-[12px] font-semibold text-muted"},w4={class:"flex size-[22px] shrink-0 items-center justify-center rounded-full bg-primary text-[10px] font-bold text-on-primary","aria-hidden":"true"},k4={class:"font-semibold"},$4={key:0,class:"px-2 text-muted","data-empty":""},C4={key:0},S4={key:1,class:"text-muted","data-empty":""},E4={key:0},A4={key:1,class:"text-muted","data-empty":""},Ii="flex min-h-input items-center rounded-control border border-border bg-subtle px-3.5 [overflow-wrap:anywhere]",D4=ee({__name:"PreviewField",props:{field:{},value:{},labels:{},source:{},recordId:{},idPrefix:{}},setup(e){const t=e,n=new Set(["datepicker","fileupload","partial","permissioneditor"]),a=w(()=>`${t.idPrefix??"preview"}-${t.field.name}`),r=w(()=>`${a.value}-label`),l=w(()=>{const v=t.field.type;return n.has(v)?"control":v==="checkbox"||v==="switch"?"toggle":v==="relation"?t.field.multiple?"chips":"relation":v==="textarea"?"textarea":"text"}),o=w(()=>({...t.field,readOnly:!0})),s=w(()=>ty(t.field.type));function i(v){return v==null||v===""}const c=w(()=>{const v=t.value;if(i(v)||typeof v=="object")return"";if(t.field.type==="dropdown"){const m=(t.field.options??[]).find(g=>String(g.value)===String(v));return m?m.label:String(v)}return String(v)}),d=w(()=>t.labels?.[0]?.label??""),f=w(()=>Array.isArray(t.value)?t.labels??[]:[]);function p(v){return v.trim().split(/\s+/).filter(Boolean).slice(0,2).map(g=>g.charAt(0).toUpperCase()).join("")}return(v,m)=>(h(),$("div",{class:"flex min-w-0 flex-col gap-1.5","data-preview-field":e.field.name},[O("dt",{id:r.value,class:"font-semibold"},R(e.field.label||e.field.name),9,g4),O("dd",b4,[l.value==="control"?(h(),j(en(s.value),{key:0,field:o.value,"model-value":e.value,"control-id":a.value,labels:e.labels,source:e.source,"record-id":e.recordId},null,8,["field","model-value","control-id","labels","source","record-id"])):l.value==="toggle"?(h(),$(_e,{key:1},[u(Dc)(e.value)?(h(),$("span",_4,R(u(P)("backend::lang.list.column_switch_true")),1)):(h(),$("span",x4,R(u(P)("backend::lang.list.column_switch_false")),1))],64)):l.value==="chips"?(h(),$("div",{key:2,"data-preview-value":"",class:xe([Ii,"flex-wrap gap-1.5 p-1.5"])},[(h(!0),$(_e,null,Ne(f.value,g=>(h(),$("span",{key:String(g.value),"data-chip":"",class:"inline-flex min-h-[30px] items-center gap-1.5 rounded-pill bg-surface pr-3 pl-1"},[O("span",w4,R(p(g.label)),1),O("span",k4,R(g.label),1)]))),128)),f.value.length===0?(h(),$("span",$4,R(u(P)("backend::lang.list.empty_value")),1)):ae("",!0)])):l.value==="relation"?(h(),$("div",{key:3,"data-preview-value":"",class:xe(Ii)},[d.value!==""?(h(),$("span",C4,R(d.value),1)):(h(),$("span",S4,R(e.field.emptyOption||u(P)("backend::lang.list.empty_value")),1))])):(h(),$("div",{key:4,"data-preview-value":"",class:xe([Ii,l.value==="textarea"?"items-start! py-3 whitespace-pre-wrap":""])},[c.value!==""?(h(),$("span",E4,R(c.value),1)):(h(),$("span",A4,R(u(P)("backend::lang.list.empty_value")),1))],2))])],8,y4))}}),P4=ee({__name:"RecordActions",props:{source:{},recordId:{},actions:{},disabled:{type:Boolean,default:!1}},emits:["busy","done","stale","gone"],setup(e,{emit:t}){const n=e,a=t,r=ja(),l=T(!1);async function o(s){if(l.value||n.disabled)return;let i=0,c=!1,d="";if(await r.ask({message:s.confirm||P("backend::lang.form.action_confirm",{action:s.label}),confirmLabel:s.label,danger:!1},async()=>{l.value=!0,a("busy",!0);try{const p=await Me.POST("/{vendor}/{plugin}/{controller}/{id}/actions/{action}",{params:{path:{...n.source,id:n.recordId,action:s.name}},body:{}});i=p.response.status,c=!!p.data,d=p.data?.data.message??p.error?.error.message??""}catch{i=0}finally{l.value=!1,a("busy",!1)}})){if(c){a("done",d||P("backend::lang.form.action_done"));return}if(i===409){Oe(P("backend::lang.form.action_stale"),"danger"),a("stale");return}if(i===404){a("gone");return}if(i===403){Oe(d||P("backend::lang.list.action_forbidden"),"danger");return}Oe(d||P("backend::lang.extension.action_failed"),"danger")}}return(s,i)=>e.actions.length>0?(h(),$(_e,{key:0},[(h(!0),$(_e,null,Ne(e.actions,c=>(h(),j(et,{key:c.name,variant:"outline",size:"md","data-record-action":c.name,disabled:e.disabled||l.value,onClick:d=>o(c)},{default:F(()=>[$e(R(c.label),1)]),_:2},1032,["data-record-action","disabled","onClick"]))),128)),z(La,{open:u(r).request.value!==null,message:u(r).request.value?.message??"","confirm-label":u(r).request.value?.confirmLabel,danger:u(r).request.value?.danger,busy:u(r).busy.value,onConfirm:u(r).confirm,onCancel:u(r).cancel},null,8,["open","message","confirm-label","danger","busy","onConfirm","onCancel"])],64)):ae("",!0)}}),O4={class:"flex w-full flex-col gap-5 pb-24","data-preview":""},M4={class:"flex flex-wrap items-center gap-4"},T4={class:"flex min-w-0 flex-1 flex-col"},R4={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},q4={key:0,class:"text-muted"},I4={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},F4=["id","role","aria-labelledby"],B4={class:"m-0 grid grid-cols-1 gap-x-6 gap-y-[22px] min-[600px]:grid-cols-2"},N4={class:"fixed inset-x-0 bottom-0 z-30 flex flex-wrap items-center gap-2.5 border-t border-border bg-surface px-8 py-3.5"},V4={class:"ml-auto flex flex-wrap items-center gap-2.5"},so="preview",L4=ee({__name:"PreviewView",setup(e){const t=rn(),n=Ar(),a={vendor:String(t.params.vendor??""),plugin:String(t.params.plugin??""),controller:String(t.params.controller??"")},r=ms(a),l=Un(r)??"/",o=Number(t.params.id),s=`${l}/${o}`,i=T(null),c=T({}),d=T({}),f=T([]),p=T(!0),v=T(!1),m=T(!1),g=T(At),_=T(0),y=new Set(["password","widget",Ua]),x=w(()=>(i.value?.fields??[]).filter(te=>Is(te,"preview")&&!y.has(te.type))),S=w(()=>{if(!x.value.some(ie=>ie.tab))return[];const te=[];for(const ie of x.value){const le=gn(ie);if(te.some(we=>we.key===le))continue;const re={key:le,label:ie.tab||P("backend::lang.form.tab_default"),errors:0};le===At?te.unshift(re):te.push(re)}return te}),A=w(()=>Math.max(S.value.findIndex(te=>te.key===g.value),0)),V=w(()=>{if(S.value.length===0)return x.value;const te=S.value[A.value]?.key??At;return x.value.filter(ie=>gn(ie)===te)}),J=w(()=>{const te=i.value?.fields.find(le=>le.type==="text"),ie=te?c.value[te.name]:void 0;return typeof ie=="string"||typeof ie=="number"?String(ie).trim():""}),U=w(()=>Ie(i.value?.messages.preview,void 0,{name:J.value})),H=w(()=>i.value?.preview?.headerPartial??""),k=w(()=>!p.value&&!v.value&&i.value!==null);function I(te){switch(te.span){case"left":return"min-[600px]:col-start-1";case"right":return"min-[600px]:col-start-2";case"auto":case"row":return"";default:return"col-span-full"}}async function G(){try{const te=await Me.GET("/{vendor}/{plugin}/{controller}/{id}",{params:{path:{...a,id:o}}});return te.data?(c.value={...te.data.data},d.value=te.data.meta.labels??{},f.value=te.data.meta.actions??[],!0):!1}catch{return!1}}async function D(){p.value=!0,v.value=!1;const[te,ie]=await Promise.all([Me.GET("/{vendor}/{plugin}/{controller}/schema/form",{params:{path:a}}).catch(()=>null),G()]),le=te?.data?.data??null;if(le&&!le.preview){await n.replace(s);return}i.value=le,v.value=!le||!ie,le&&Sc(r,le.assets),g.value=S.value[0]?.key??At,p.value=!1}async function N(){_.value++,await G()||(v.value=!0)}async function W(te){Oe(te),await N()}function B(){v.value=!0}const{activeUploads:Q,beginUpload:ne}=Mc(),ce=Cl();return Dt(Rr,{key:ce,recordId:o,routes:te=>Ym(a,o,te,ce),markDirty:()=>{},pendingChanges:dt(T(0)),revision:dt(T(0)),beginUpload:ne,activeUploads:dt(Q)}),Xt(()=>ch(p.value?"":J.value)),qt(dh),D(),(te,ie)=>(h(),$("section",O4,[O("header",M4,[z(et,{variant:"outline","data-action":"back",to:u(l),"aria-label":u(P)("backend::lang.form.return_to_list"),class:"size-10! px-0!"},{default:F(()=>[z(u(us),{size:18,"aria-hidden":"true"})]),_:1},8,["to","aria-label"]),O("div",T4,[O("h1",R4,R(p.value?"":J.value),1),k.value&&U.value?(h(),$("p",q4,R(U.value),1)):ae("",!0)]),k.value&&S.value.length>0?(h(),j(Rc,{key:0,modelValue:g.value,"onUpdate:modelValue":ie[0]||(ie[0]=le=>g.value=le),tabs:S.value,"id-prefix":so},null,8,["modelValue","tabs"])):ae("",!0)]),v.value&&!p.value?(h(),$("p",I4,R(u(P)("backend::lang.form.load_failed")),1)):k.value?(h(),$(_e,{key:1},[H.value!==""?(h(),j(Ac,{key:0,variant:"header",hint:"",source:a,name:H.value,"record-id":u(o),"reload-key":_.value},null,8,["name","record-id","reload-key"])):ae("",!0),O("div",{id:S.value.length>0?u(qs)(so,A.value):void 0,role:S.value.length>0?"tabpanel":void 0,"aria-labelledby":S.value.length>0?u(Sl)(so,A.value):void 0,class:"rounded-card border border-border bg-surface p-7 shadow-card"},[O("dl",B4,[(h(!0),$(_e,null,Ne(V.value,le=>(h(),j(D4,{key:le.name,class:xe(I(le)),field:le,value:c.value[le.name],labels:d.value?.[le.name],source:a,"record-id":u(o),"id-prefix":so},null,8,["class","field","value","labels","record-id"]))),128))])],8,F4)],64)):ae("",!0),O("footer",N4,[O("div",V4,[k.value?(h(),j(P4,{key:0,source:a,"record-id":u(o),actions:f.value,disabled:m.value,onBusy:ie[1]||(ie[1]=le=>m.value=le),onDone:W,onStale:N,onGone:B},null,8,["record-id","actions","disabled"])):ae("",!0),v.value?ae("",!0):(h(),j(et,{key:1,variant:"primary","data-action":"edit",icon:u(fo),disabled:p.value||m.value,onClick:ie[2]||(ie[2]=le=>u(n).push(s))},{default:F(()=>[$e(R(u(Ie)(i.value?.messages.edit)),1)]),_:1},8,["icon","disabled"]))])])]))}}),j4={class:"flex w-full flex-col gap-5 pb-24"},U4={class:"flex items-center gap-4"},z4={class:"flex min-w-0 flex-col"},H4={class:"truncate text-[24px] font-bold tracking-[-0.02em]"},K4={key:0,class:"text-muted"},W4={key:0,role:"alert",class:"rounded-inner bg-danger-soft px-[18px] py-3.5 text-danger"},G4={class:"fixed inset-x-0 bottom-0 z-30 flex items-center justify-end gap-2.5 border-t border-border bg-surface px-8 py-3.5"},rp="setting",Y4=ee({__name:"SettingsFormView",setup(e){const t=rn(),n=String(t.params.code??""),a=T(null),r=T({}),l=T({}),o=T(!0),s=T(!1),i=T(!1),c=w(()=>(a.value?.fields??[]).filter(_=>Is(_,"update"))),d=w(()=>c.value.map(_=>_.name)),f=w(()=>au(n)?.label||a.value?.name||n),p=w(()=>au(n)?.description??"");async function v(){const _={path:{code:n}},[y,x]=await Promise.all([Me.GET("/settings/{code}/schema",{params:_}),Me.GET("/settings/{code}",{params:_})]);a.value=y.data?.data??null,r.value={...x.data?.data.data??{}},s.value=!y.data||!x.data,o.value=!1}function m(_,y){if(r.value={...r.value,[_]:y},l.value[_]){const x={...l.value};delete x[_],l.value=x}}async function g(){if(!(i.value||!a.value)){i.value=!0;try{const _=await Me.PUT("/settings/{code}",{params:{path:{code:n}},body:Ht(c.value,r.value)});if(_.data){l.value={},r.value={..._.data.data.data},Oe(P("backend::lang.settings.saved"));return}if(_.response.status===422){l.value=Ll(_.error?.error.details);const y=c.value.find(x=>l.value[x.name]);await ze(),y&&jl(rp,y.name);return}Oe(_.error?.error.message||P("backend::lang.form.error_generic"),"danger")}catch{Oe(P("backend::lang.form.error_generic"),"danger")}finally{i.value=!1}}}return v(),(_,y)=>(h(),$("section",j4,[O("header",U4,[z(et,{variant:"outline","data-action":"back",to:"/settings","aria-label":u(P)("backend::lang.settings.back"),class:"size-10! px-0!"},{default:F(()=>[z(u(us),{size:18,"aria-hidden":"true"})]),_:1},8,["aria-label"]),O("div",z4,[O("h1",H4,R(f.value),1),p.value?(h(),$("p",K4,R(p.value),1)):ae("",!0)])]),s.value&&!o.value?(h(),$("p",W4,R(u(P)("backend::lang.form.load_failed")),1)):a.value?(h(),$(_e,{key:1},[z(Vl,{errors:l.value,"field-names":d.value},null,8,["errors","field-names"]),O("form",{class:"rounded-card border border-border bg-surface p-7 shadow-card",novalidate:"",onSubmit:pt(g,["prevent"])},[z(Ul,{fields:c.value,values:r.value,errors:l.value,source:null,"id-prefix":rp,onUpdate:m},null,8,["fields","values","errors"])],32)],64)):ae("",!0),O("footer",G4,[z(et,{variant:"ghost",to:"/settings"},{default:F(()=>[$e(R(u(P)("backend::lang.form.cancel")),1)]),_:1}),z(et,{variant:"primary","data-action":"save",disabled:i.value||o.value||!a.value,onClick:g},{default:F(()=>[$e(R(i.value?u(P)("backend::lang.form.saving"):u(P)("backend::lang.form.save")),1)]),_:1},8,["disabled"])])]))}}),J4={class:"flex flex-col gap-5"},Z4={class:"text-[26px] font-bold tracking-[-0.02em]"},Q4={key:0,class:"text-muted"},X4={key:0,class:"text-[13px] font-semibold tracking-[0.02em] text-muted uppercase"},eT={class:"grid grid-cols-1 gap-3 min-[900px]:grid-cols-2"},tT={class:"flex size-10 shrink-0 items-center justify-center rounded-inner bg-subtle text-muted"},nT={class:"flex min-w-0 flex-col"},aT={class:"font-semibold"},rT={key:0,class:"text-[13px] text-muted"},lT=ee({__name:"SettingsIndexView",setup(e){return(t,n)=>(h(),$("section",J4,[O("header",null,[O("h1",Z4,R(u(P)("backend::lang.settings.title")),1)]),u(nf).length===0?(h(),$("p",Q4,R(u(P)("backend::lang.settings.empty")),1)):ae("",!0),(h(!0),$(_e,null,Ne(u(nf),a=>(h(),$("section",{key:a.category,"data-settings-group":"",class:"flex flex-col gap-3"},[a.category?(h(),$("h2",X4,R(a.category),1)):ae("",!0),O("div",eT,[(h(!0),$(_e,null,Ne(a.entries,r=>(h(),j(u(_n),{key:r.code,to:`/settings/${encodeURIComponent(r.code)}`,"data-settings":r.code,class:"flex items-start gap-3.5 rounded-card border border-border bg-surface p-5 text-text no-underline shadow-card hover:bg-hover"},{default:F(()=>[O("span",tT,[(h(),j(en(u(vs)(r.icon)),{size:20,"aria-hidden":"true"}))]),O("span",nT,[O("span",aT,R(r.label),1),r.description?(h(),$("span",rT,R(r.description),1)):ae("",!0)])]),_:2},1032,["to","data-settings"]))),128))])]))),128))]))}}),oT={class:"flex flex-col items-center gap-2 py-20 text-center"},sT={class:"text-[17px] font-bold"},lp=ee({__name:"NotFoundView",props:{home:{type:Boolean}},setup(e){return(t,n)=>(h(),$("section",oT,[O("h1",sT,R(e.home?u(P)("backend::lang.nav.empty"):u(P)("backend::lang.page.not_found")),1)]))}});function ny(e){return typeof e!="string"||e.length===0||!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")?null:e}const iT=new Set(["list","create","record","preview"]);function uT(e){if(typeof e.name!="string"||!iT.has(e.name))return"";const{vendor:t,plugin:n,controller:a}=e.params;return typeof t!="string"||typeof n!="string"||typeof a!="string"?"":ms({vendor:t,plugin:n,controller:a})}function cT(e=w1(ps.base)){const t=L1({history:e,routes:[{path:"/login",name:"login",component:k3,meta:{public:!0}},{path:"/",name:"home",component:lp,props:{home:!0},meta:{shell:!0},beforeEnter:()=>I_()??!0},{path:"/settings",name:"settings",component:lT,meta:{shell:!0}},{path:"/settings/:code",name:"settings-form",component:Y4,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller",name:"list",component:mA,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/create",name:"create",component:ap,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/:id(\\d+)",name:"record",component:ap,meta:{shell:!0}},{path:"/:vendor/:plugin/:controller/:id(\\d+)/preview",name:"preview",component:L4,meta:{shell:!0}},{path:"/:pathMatch(.*)*",name:"not-found",component:lp,meta:{shell:!0}}]});return t.beforeEach(n=>{const a=rr.value!==null;return n.meta.public?a&&n.name==="login"?ny(n.query.redirect)??"/":!0:a?!0:{name:"login",query:{redirect:n.fullPath}}}),t.afterEach((n,a,r)=>{r||c3(uT(n))}),t}const dT="(prefers-color-scheme: dark)";function fT(e=window){const t=e.document.documentElement;if(typeof e.matchMedia!="function")return t.classList.remove("dark"),()=>{};const n=e.matchMedia(dT),a=l=>{t.classList.toggle("dark",l)};a(n.matches);const r=l=>a(l.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)}async function pT(){fT(),await O_().catch(()=>{}),await Im().catch(()=>null)&&await Promise.all([rh().catch(()=>[]),lh().catch(()=>[])]);const t=cT();C_(()=>{Fm();const a=t.currentRoute.value;a.name!=="login"&&t.push({name:"login",query:{redirect:a.fullPath}})});const n=Fb(o3);n.use(t),await t.isReady(),n.mount("#app")}pT(); diff --git a/modules/boardwalk/dist/index.html b/modules/boardwalk/dist/index.html index 5b3fc95..1f2f9c8 100644 --- a/modules/boardwalk/dist/index.html +++ b/modules/boardwalk/dist/index.html @@ -6,8 +6,8 @@ SummerCMS - - + +
diff --git a/modules/cabana/README.md b/modules/cabana/README.md index 5e67922..c2c61b1 100644 --- a/modules/cabana/README.md +++ b/modules/cabana/README.md @@ -22,6 +22,7 @@ Schema-driven admin backend that compiles WinterCMS-style YAML list, form, filte - Record actions: `recordActions` in `config_form.yaml` lists names the controller registers through `pact.HasAdminRecordActions`, a third action namespace with the same reserved names. It needs the form's `preview` block: record actions are offered on the preview screen, and a form that declares them without one fails boot. The show response's `meta.actions` (`cabana.RecordAction` entries with localized `label` and `confirm`) carries only the declared actions the requesting administrator may run and whose `Applies` reports true for the record; the key is absent when none is offered, and create and update responses never carry it. The action route loads the record through `pact.FormExtendQuery` with a row lock in one transaction (one 404 for a missing and an out-of-scope id), checks `Applies` again (409 when it reports false) and then runs the action. An unknown or duplicate name, or an action without a label, fails boot. Each run is logged with the controller, action, administrator and record id. - Preview screen: a `preview` mapping in `config_form.yaml` (`preview: {}`, or with `headerPartial: ` for a status hint) gives the form a read-only record screen in the admin SPA. The form schema reports it as `preview` (`cabana.FormPreview`), fields with `context: preview` are shown only there and are never written by a save, `messages.preview` and `messages.edit` name the screen's subtitle and edit button, and `recordUrl` and the form redirects may point at it as `.../preview/:id`. An empty `preview:` key or an unknown key inside it fails boot. - Form-only fields: a controller implementing `pact.FormVirtualFields` lists fields of its `fields.yaml` that are not columns of the form. They are exempt from the column binding, never filled into the model and never part of a record response; the values an administrator submits reach the Form hooks through `cabana.VirtualFieldsFromContext`, only for fields whose `context` allows the operation, and a nested value is a 422 on the field. `type: password` is a masked field that must be listed this way, so a password is sent in a save body and never comes back. A controller implementing `pact.FormRules` supplies the validation rules per operation (`create` or `update`), which replace the model's `Rules()` for admin saves; a rule on a virtual field is checked against the submitted value, never against a model column of the same name. Neither is available on settings forms or relation forms. +- Permission editor: a `type: permissioneditor` field with `mode: radio` (allow `1`, inherit, deny `-1`) or `mode: checkbox` (allow `1`) edits a record's permission set as a JSON object of code to integer. The controller implements `cabana.PermissionEditorProvider`: it returns the offered `cabana.PermissionOption` list per request (served on the field as `permissionOptions`, with `locked` for permissions the administrator may not change) and reads and stores the record's values, so the storage shape is the plugin's. A save answers 422 on the field for a value that is not an object of integers, a code that is not offered or a value outside the mode's set, and 403 `forbidden` when a locked code's value changes; stored codes that are not offered are kept. The widget fill contract is unchanged: a widget still writes scalar fields only. - Preset fields: `preset` on a `type: text` field (a source field name, or a mapping with `field` and `type`, `slug` or `exact`) makes the field follow another text field of the same form on the create screen until the administrator edits it. The schema reports it as `preset` (`cabana.FieldPreset`); the server does not fill the field. - Server-rendered partials: `headerPartial: ` in `config_list.yaml` (a strip above the list) and `type: partial` with `path: ` in `fields.yaml` render the template `{ConfigDir}/_.htm` with `html/template` against a view model from the controller's `pact.AdminPartialData`. The result reaches the SPA as an allowlisted node tree, never as an HTML string. A missing or unparsable template, a free-form path or a controller without `pact.AdminPartialData` fails boot. - Date pickers: a `type: datepicker` field in `fields.yaml` edits a date (`mode: date`, a `lagoon.Date` column), a date and time (`mode: datetime`, the default, a `time.Time` column stored in UTC) or a time of day (`mode: time`, a `lagoon.TimeOfDay` column); pointers to the three types make the value optional. It accepts WinterCMS's `mode`, `format` (a PHP `date()` format, served also as `displayFormat` in the SPA's tokens), `minDate`, `maxDate`, `yearRange`, `firstDay`, `twelveHour` and `ignoreTimezone`; any other key, a format letter with no equivalent, bounds on `mode: time`, `ignoreTimezone` outside `mode: datetime` or a column whose Go type does not match the mode fails boot. The save rechecks `minDate` and `maxDate` on the calendar date and answers 422 on the field. List columns take `type: date` and `type: time` for these columns; when `type` is omitted, a `time.Time` column is compiled as `datetime`, a `lagoon.Date` column as `date` and a `lagoon.TimeOfDay` column as `time`. A struct column that implements `sql.Scanner` or `driver.Valuer` is never taken for a relation. @@ -209,6 +210,8 @@ func (p *Plugin) AdminFS() fs.FS { return adminFS } | `cabana.Allows` | Checks a principal against required permission codes. | | `cabana.TxFromContext` | The transaction a write route is running in, from the context of a lifecycle hook or scope. | | `cabana.VirtualFieldsFromContext` | The submitted values of the form's virtual fields (`pact.FormVirtualFields`), from the context of a Form hook during a create or update; a copy, keyed by field name. | +| `cabana.PermissionOption` | One permission a `type: permissioneditor` field offers: code, label, optional tab and comment, and `Locked`. | +| `cabana.PermissionEditorProvider` | Controller capability behind a `type: permissioneditor` field: `AdminPermissionOptions`, `AdminPermissionValues` and `AdminSetPermissionValues`. | | `cabana.FieldPreset` | A text field's `preset` in the form schema: the source field and the type, `slug` or `exact`. | | `cabana.WriteData` / `cabana.WriteError` / `cabana.WriteErrorDetails` | Write the admin success and error envelopes. | | `cabana.ValidationError` / `cabana.ListValidationError` | Field-level `validation_failed` errors. A `pact.AdminAction` may return a `cabana.ValidationError` to answer 422. | diff --git a/modules/cabana/admin_openapi.go b/modules/cabana/admin_openapi.go index 1c153da..3c1d616 100644 --- a/modules/cabana/admin_openapi.go +++ b/modules/cabana/admin_openapi.go @@ -262,7 +262,7 @@ func AdminListSchema() {} // AdminFormSchema documents the form schema route. // // @Summary Admin form schema -// @Description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. +// @Description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. A `type: permissioneditor` field carries `permissionOptions`, the permissions the controller offers the requesting administrator; its value in a record response and in a save body is an object of permission code to integer (radio mode 1 or -1, checkbox mode 1). // @Tags admin // @Produce json // @Security BackendBearer diff --git a/modules/cabana/contracts.go b/modules/cabana/contracts.go index 5b734bf..ef5015f 100644 --- a/modules/cabana/contracts.go +++ b/modules/cabana/contracts.go @@ -105,6 +105,9 @@ type CompiledController struct { // virtual is the set of form field names the controller lists through // pact.FormVirtualFields: never bound, filled or projected. virtual map[string]bool + // permissions are the form's `type: permissioneditor` fields: field name + // to mode (radio or checkbox). + permissions map[string]string } // Registry is the immutable controller map keyed by controller ID. diff --git a/modules/cabana/crud.go b/modules/cabana/crud.go index 134f041..6179455 100644 --- a/modules/cabana/crud.go +++ b/modules/cabana/crud.go @@ -544,13 +544,17 @@ type actionConflict struct{} func (actionConflict) Error() string { return "cabana: action does not apply" } // projectFullRecord is the D-18 record shape: scalar writable fields, relation -// values keyed by field name, and their labels. +// values keyed by field name with their labels, and the stored permissions of +// every permissioneditor field as an object (D-16). func projectFullRecord(ctx context.Context, tx *gorm.DB, cc *CompiledController, model any) (RecordResult, error) { data := projectRecord(cc, model) meta, err := projectRelationFields(ctx, tx, cc, model, data) if err != nil { return RecordResult{}, err } + if err := projectPermissionFields(withTx(ctx, tx), cc, model, data); err != nil { + return RecordResult{}, err + } return RecordResult{Data: data, Meta: meta}, nil } @@ -580,6 +584,10 @@ func (s CRUDService) save(ctx context.Context, cc *CompiledController, id any, i if err != nil { return RecordResult{}, err } + permissions, err := liftPermissionValues(cc, in.Body, op) + if err != nil { + return RecordResult{}, err + } var result RecordResult err = s.transaction(ctx, func(ctx context.Context, tx *gorm.DB) error { ctx = withVirtualFields(withTx(ctx, tx), virtual) @@ -633,6 +641,11 @@ func (s CRUDService) save(ctx context.Context, cc *CompiledController, id any, i if err != nil { return err } + // D-16: permission values are checked against the controller's + // options and stored by the controller before the row write. + if err := applyPermissionValues(ctx, cc, target, permissions, update); err != nil { + return err + } // D-18: submitted ids pass the same scoped query as the options // endpoint; belongsTo keys land before the row write, pivot rows after. if err := checkRelationScope(ctx, tx, cc, relations); err != nil { diff --git a/modules/cabana/datepicker_smoke_test.go b/modules/cabana/datepicker_smoke_test.go index d310f36..994fe11 100644 --- a/modules/cabana/datepicker_smoke_test.go +++ b/modules/cabana/datepicker_smoke_test.go @@ -93,7 +93,7 @@ func TestDatepickerSmokeCompile(t *testing.T) { "minDate on time": {" day:\n type: datepicker\n mode: time\n minDate: 2026-01-01\n", "minDate is not valid with mode: time"}, "min after max": {" starts_at:\n type: datepicker\n minDate: 2026-02-01\n maxDate: 2026-01-01\n", "is after maxDate"}, "key on another type": {" title:\n type: text\n firstDay: 1\n", "firstDay is only valid on type: datepicker"}, - "mode on another type": {" title:\n type: text\n mode: date\n", "mode is only valid on type: fileupload or datepicker"}, + "mode on another type": {" title:\n type: text\n mode: date\n", "mode is only valid on type: fileupload, datepicker or permissioneditor"}, } { t.Run(name, func(t *testing.T) { err := activateFields(t, datepickerFields(tc.field)) diff --git a/modules/cabana/datepicker_test.go b/modules/cabana/datepicker_test.go index 0e08189..de992dc 100644 --- a/modules/cabana/datepicker_test.go +++ b/modules/cabana/datepicker_test.go @@ -65,7 +65,7 @@ func TestDatepickerCompile(t *testing.T) { "ignoreTimezone not bool": {field("starts_at", " ignoreTimezone: maybe\n"), "ignoreTimezone:"}, "ignoreTimezone on date": {field("released_on", " mode: date\n ignoreTimezone: true\n"), "ignoreTimezone is only valid with mode: datetime"}, "key on another type": {" name2:\n type: text\n firstDay: 1\n", "firstDay is only valid on type: datepicker"}, - "mode on another type": {" name2:\n type: text\n mode: date\n", "mode is only valid on type: fileupload or datepicker"}, + "mode on another type": {" name2:\n type: text\n mode: date\n", "mode is only valid on type: fileupload, datepicker or permissioneditor"}, "date on a datetime": {field("starts_at", " mode: date\n"), "field starts_at: datepicker mode date needs a lagoon.Date or *lagoon.Date column, found *time.Time"}, "datetime on a date": {field("released_on", " mode: datetime\n"), "datepicker mode datetime needs a time.Time or *time.Time column, found lagoon.Date"}, "time on a date": {field("released_on", " mode: time\n"), "datepicker mode time needs a lagoon.TimeOfDay or *lagoon.TimeOfDay column, found lagoon.Date"}, diff --git a/modules/cabana/example_form_seams_test.go b/modules/cabana/example_form_seams_test.go index 0515e97..f84b9e9 100644 --- a/modules/cabana/example_form_seams_test.go +++ b/modules/cabana/example_form_seams_test.go @@ -4,8 +4,10 @@ import ( "context" "crypto/sha256" "encoding/hex" + "encoding/json" "fmt" + "git.golem15.com/golem15/summercms/modules/bouncer" "git.golem15.com/golem15/summercms/modules/cabana" "git.golem15.com/golem15/summercms/modules/pact" ) @@ -17,6 +19,8 @@ type Member struct { Name string `gorm:"column:name"` Slug string `gorm:"column:slug"` Password string `gorm:"column:password" json:"-"` + // Permissions is a JSON object of permission code to value. + Permissions string `gorm:"column:permissions"` } func (Member) TableName() string { return "acme_roster_members" } @@ -40,6 +44,8 @@ var ( _ pact.FormRules = MembersController{} _ pact.FormBeforeCreate = MembersController{} _ pact.FormBeforeUpdate = MembersController{} + + _ cabana.PermissionEditorProvider = MembersController{} ) func (MembersController) ID() string { return "acme.roster.members" } @@ -88,6 +94,40 @@ func (MembersController) FormBeforeUpdate(ctx context.Context, model any) error return nil } +// AdminPermissionOptions lists the permissions the `type: permissioneditor` +// field offers, in display order. The principal on ctx decides what is locked. +func (MembersController) AdminPermissionOptions(ctx context.Context, field string) ([]cabana.PermissionOption, error) { + principal, _ := bouncer.User(ctx) + mayExport := cabana.Allows(principal, []string{"acme.roster.manage"}) + return []cabana.PermissionOption{ + {Code: "posts.edit", Label: "acme.roster::lang.permissions.posts_edit", Tab: "acme.roster::lang.permissions.tab_content"}, + {Code: "posts.publish", Label: "acme.roster::lang.permissions.posts_publish", Tab: "acme.roster::lang.permissions.tab_content"}, + {Code: "reports.export", Label: "acme.roster::lang.permissions.reports_export", Tab: "acme.roster::lang.permissions.tab_reports", Locked: !mayExport}, + }, nil +} + +// AdminPermissionValues reads the permissions stored on the record. +func (MembersController) AdminPermissionValues(_ context.Context, field string, record any) (map[string]int, error) { + values := map[string]int{} + if raw := record.(*Member).Permissions; raw != "" { + if err := json.Unmarshal([]byte(raw), &values); err != nil { + return nil, err + } + } + return values, nil +} + +// AdminSetPermissionValues stores the checked set on the model. The save +// writes the row afterwards, in the same transaction. +func (MembersController) AdminSetPermissionValues(_ context.Context, field string, record any, values map[string]int) error { + raw, err := json.Marshal(values) + if err != nil { + return err + } + record.(*Member).Permissions = string(raw) + return nil +} + // hashPassword stands in for the application's password hasher. func hashPassword(plain string) string { sum := sha256.Sum256([]byte(plain)) @@ -107,9 +147,23 @@ func Example_formSeams() { _, inSave := cabana.VirtualFieldsFromContext(ctx) err := ctl.FormBeforeCreate(ctx, member) fmt.Println(inSave, err, member.Password == "") + + // The permission editor: three options, the last one locked for an + // administrator without acme.roster.manage (here: nobody is signed in). + options, _ := ctl.AdminPermissionOptions(ctx, "permissions") + for _, option := range options { + fmt.Println(option.Code, option.Locked) + } + _ = ctl.AdminSetPermissionValues(ctx, "permissions", member, map[string]int{"posts.edit": 1, "posts.publish": -1}) + values, _ := ctl.AdminPermissionValues(ctx, "permissions", member) + fmt.Println(member.Permissions, len(values)) // Output: // [password password_confirmation notify] // create: required|between:8,255|confirmed // update: nullable|between:8,255|confirmed // false true + // posts.edit false + // posts.publish false + // reports.export true + // {"posts.edit":1,"posts.publish":-1} 2 } diff --git a/modules/cabana/field_file.go b/modules/cabana/field_file.go index 8da18ae..6af5bd7 100644 --- a/modules/cabana/field_file.go +++ b/modules/cabana/field_file.go @@ -70,8 +70,8 @@ func compileFileuploadKeys(typ string, values map[string]ast.Node, field *FormFi return fmt.Errorf("%s is only valid on type: fileupload", key) } } - if _, ok := values["mode"]; ok && typ != "datepicker" { - return fmt.Errorf("mode is only valid on type: fileupload or datepicker") + if _, ok := values["mode"]; ok && typ != "datepicker" && typ != permissionFieldType { + return fmt.Errorf("mode is only valid on type: fileupload, datepicker or permissioneditor") } return nil } diff --git a/modules/cabana/field_permission.go b/modules/cabana/field_permission.go new file mode 100644 index 0000000..9768e16 --- /dev/null +++ b/modules/cabana/field_permission.go @@ -0,0 +1,340 @@ +package cabana + +import ( + "context" + "encoding/json" + "fmt" + "math" + "sort" + + "git.golem15.com/golem15/summercms/modules/phrasebook" + "git.golem15.com/golem15/summercms/modules/towel" + "github.com/goccy/go-yaml/ast" +) + +// permissionFieldType is the fields.yaml type of the permission editor (D-16). +const permissionFieldType = "permissioneditor" + +// permissionRefusedKeys are generic field keys with no meaning on a +// permission editor: its choices come from the controller per request. +var permissionRefusedKeys = []string{"options", "default", "nameFrom", "emptyOption", "relation", "preset"} + +// permissionLockedKey is the message a changed locked permission is refused +// with, on the field. +const permissionLockedKey = "backend::lang.permissioneditor.locked" + +// PermissionOption is one permission a `type: permissioneditor` field offers. +// Code is the permission code stored with the record. Label, Tab and Comment +// are phrase keys or text, localized per request; options with the same Tab +// are shown as one section, and an option without a Tab goes to a last +// section. Locked marks a permission the requesting administrator may see but +// not change: the admin disables its control and a save that changes its +// value is answered 403. +type PermissionOption struct { + Code string `json:"code"` + Label string `json:"label"` + Tab string `json:"tab,omitempty"` + Comment string `json:"comment,omitempty"` + Locked bool `json:"locked,omitempty"` +} + +// PermissionEditorProvider is implemented by an admin controller whose form +// has a `type: permissioneditor` field. The framework validates what an +// administrator submits against the offered options; reading and writing the +// record's stored permissions stays with the controller, so the storage shape +// is the plugin's decision. +// +// AdminPermissionOptions returns the permissions field offers the +// administrator on ctx (read with bouncer.User), in display order. It is +// called for the form schema and again inside every save. +// +// AdminPermissionValues returns the permissions stored on record for field as +// code to value. It is called to show a record and, inside a save, before the +// change is applied. +// +// AdminSetPermissionValues stores values on record for field. It runs inside +// the save's transaction (cabana.TxFromContext), before the record's row is +// written, so setting the model's column is enough. values holds the +// submitted codes with their checked values plus every stored code that is +// not offered, unchanged; an offered code that is absent has no value +// (inherit, or not allowed). An error fails the save like a Form hook's. +type PermissionEditorProvider interface { + AdminPermissionOptions(ctx context.Context, field string) ([]PermissionOption, error) + AdminPermissionValues(ctx context.Context, field string, record any) (map[string]int, error) + AdminSetPermissionValues(ctx context.Context, field string, record any, values map[string]int) error +} + +// compilePermissionKeys checks the keys of a `type: permissioneditor` field: +// mode is required and must be radio (allow, inherit, deny) or checkbox +// (allow), and the keys that describe choices or a column value are refused. +// On every other type mode is checked by compileFileuploadKeys. +func compilePermissionKeys(typ string, values map[string]ast.Node, field *FormField) error { + if typ != permissionFieldType { + return nil + } + for _, key := range permissionRefusedKeys { + if _, ok := values[key]; ok { + return fmt.Errorf("%s is not valid on type: permissioneditor", key) + } + } + mode, err := nodeString(values["mode"]) + if err != nil || (mode != "radio" && mode != "checkbox") { + return fmt.Errorf("mode must be radio or checkbox on type: permissioneditor") + } + field.Mode = mode + return nil +} + +// compilePermissionFields stops boot when a form has a permissioneditor field +// and its controller does not implement PermissionEditorProvider, and records +// the fields' modes for the save path. +func compilePermissionFields(pluginID string, cc *CompiledController) error { + if cc == nil || cc.Form == nil { + return nil + } + for _, field := range cc.Form.Fields { + if field.Type != permissionFieldType { + continue + } + if provider, ok := cc.Controller.(PermissionEditorProvider); !ok || provider == nil { + return bootErr(pluginID, controllerID(cc), cc.Form.fieldsPath, + fmt.Errorf("field %s: type permissioneditor needs the controller to implement cabana.PermissionEditorProvider", field.Name)) + } + if cc.permissions == nil { + cc.permissions = map[string]string{} + } + cc.permissions[field.Name] = field.Mode + } + return nil +} + +// permissionFieldNames are the controller's permissioneditor fields in a +// stable order. +func permissionFieldNames(cc *CompiledController) []string { + if cc == nil || len(cc.permissions) == 0 { + return nil + } + names := make([]string, 0, len(cc.permissions)) + for name := range cc.permissions { + names = append(names, name) + } + sort.Strings(names) + return names +} + +// localizePermissionOptions fills the permission options of every +// permissioneditor field of a localized form view for one request. The +// options are asked from the controller with the request context, so they may +// depend on the administrator. fields is the view's own slice; the cached +// schema is not touched. +func localizePermissionOptions(ctx context.Context, tr *phrasebook.Translator, cc *CompiledController, fields []FormField) error { + if cc == nil || len(cc.permissions) == 0 { + return nil + } + provider, ok := cc.Controller.(PermissionEditorProvider) + if !ok || provider == nil { + return fmt.Errorf("cabana: controller %s: no PermissionEditorProvider", controllerID(cc)) + } + if ctx == nil { + ctx = context.Background() + } + local := towel.WithLocale(ctx, schemaLocale(ctx, tr)) + for i := range fields { + if fields[i].Type != permissionFieldType { + continue + } + options, err := provider.AdminPermissionOptions(ctx, fields[i].Name) + if err != nil { + return err + } + out := make([]PermissionOption, len(options)) + for j, option := range options { + out[j] = PermissionOption{ + Code: option.Code, + Label: translateKey(local, tr, option.Label), + Tab: translateKey(local, tr, option.Tab), + Comment: translateKey(local, tr, option.Comment), + Locked: option.Locked, + } + } + fields[i].PermissionOptions = out + } + return nil +} + +// permissionValue is one permissioneditor value lifted from a save body. +type permissionValue struct { + field string + mode string + values map[string]int +} + +// liftPermissionValues takes the permissioneditor values out of a save body +// before scalar projection, which drops every nested value. Only fields +// present in the body whose context allows op are lifted. A value must be a +// JSON object of permission code to integer; anything else is +// validation_failed on the field. +func liftPermissionValues(cc *CompiledController, body map[string]any, op string) ([]permissionValue, error) { + if cc == nil || len(cc.permissions) == 0 || body == nil { + return nil, nil + } + details := map[string]any{} + var out []permissionValue + for _, name := range permissionFieldNames(cc) { + if !contextAllows(cc, name, op) { + continue + } + raw, present := body[name] + if !present { + continue + } + object, ok := raw.(map[string]any) + values := make(map[string]int, len(object)) + for code, item := range object { + n, isInt := permissionInt(item) + if !isInt { + ok = false + break + } + values[code] = n + } + if !ok { + details[name] = []string{"The " + name + " field must be an object of permission codes."} + continue + } + out = append(out, permissionValue{field: name, mode: cc.permissions[name], values: values}) + } + if len(details) > 0 { + return nil, &ValidationError{Details: details} + } + return out, nil +} + +// permissionInt accepts a JSON integer only: no strings, booleans, fractions +// or nested values. +func permissionInt(value any) (int, bool) { + switch n := value.(type) { + case json.Number: + i, err := n.Int64() + if err != nil || i < math.MinInt32 || i > math.MaxInt32 { + return 0, false + } + return int(i), true + case float64: + if n != math.Trunc(n) || n < math.MinInt32 || n > math.MaxInt32 { + return 0, false + } + return int(n), true + case int: + return n, true + case int64: + if n < math.MinInt32 || n > math.MaxInt32 { + return 0, false + } + return int(n), true + default: + return 0, false + } +} + +// permissionAllowed reports whether value is in mode's set: 1 or -1 for +// radio, 1 for checkbox. +func permissionAllowed(mode string, value int) bool { + if mode == "radio" { + return value == 1 || value == -1 + } + return value == 1 +} + +// applyPermissionValues checks the lifted permission values against the +// controller's options and hands the next set to the controller, inside the +// save's transaction and before the row write (D-16; T-12.1-13). Every +// submitted code must be offered and every value in the mode's set (a 0 means +// "no value" and is dropped): otherwise 422 on the field. A locked option's +// stored and submitted value must be equal: otherwise a ForbiddenError (403) +// naming the field. The next set is the stored codes that are not offered, +// unchanged, plus the submitted codes. +func applyPermissionValues(ctx context.Context, cc *CompiledController, record any, lifted []permissionValue, update bool) error { + if len(lifted) == 0 { + return nil + } + provider, ok := cc.Controller.(PermissionEditorProvider) + if !ok || provider == nil { + return &CapabilityError{ControllerID: controllerID(cc)} + } + for _, value := range lifted { + options, err := provider.AdminPermissionOptions(ctx, value.field) + if err != nil { + return lifecycleFailure(cc, err) + } + offered := make(map[string]PermissionOption, len(options)) + for _, option := range options { + offered[option.Code] = option + } + submitted := make(map[string]int, len(value.values)) + for code, n := range value.values { + if _, known := offered[code]; !known { + return &ValidationError{Details: map[string]any{value.field: []string{"The " + value.field + " field contains an unknown permission."}}} + } + if n == 0 { + continue + } + if !permissionAllowed(value.mode, n) { + return &ValidationError{Details: map[string]any{value.field: []string{"The " + value.field + " field contains an invalid value."}}} + } + submitted[code] = n + } + stored := map[string]int{} + if update { + current, err := provider.AdminPermissionValues(ctx, value.field, record) + if err != nil { + return lifecycleFailure(cc, err) + } + for code, n := range current { + stored[code] = n + } + } + next := make(map[string]int, len(stored)+len(submitted)) + for code, n := range stored { + if _, known := offered[code]; !known { + next[code] = n + } + } + for _, option := range options { + if option.Locked && stored[option.Code] != submitted[option.Code] { + return &ForbiddenError{Details: map[string]any{value.field: []string{permissionLockedKey}}} + } + } + for code, n := range submitted { + next[code] = n + } + if err := provider.AdminSetPermissionValues(ctx, value.field, record, next); err != nil { + return lifecycleFailure(cc, err) + } + } + return nil +} + +// projectPermissionFields sets data[field] to the record's stored permissions +// for every permissioneditor field, as an object that is never null. +func projectPermissionFields(ctx context.Context, cc *CompiledController, record any, data map[string]any) error { + if cc == nil || len(cc.permissions) == 0 { + return nil + } + provider, ok := cc.Controller.(PermissionEditorProvider) + if !ok || provider == nil { + return &CapabilityError{ControllerID: controllerID(cc)} + } + for _, name := range permissionFieldNames(cc) { + values, err := provider.AdminPermissionValues(ctx, name, record) + if err != nil { + return lifecycleFailure(cc, err) + } + out := make(map[string]int, len(values)) + for code, n := range values { + out[code] = n + } + data[name] = out + } + return nil +} diff --git a/modules/cabana/form_schema.go b/modules/cabana/form_schema.go index 9c41e80..fd812f1 100644 --- a/modules/cabana/form_schema.go +++ b/modules/cabana/form_schema.go @@ -25,7 +25,7 @@ var ( "text": {}, "textarea": {}, "number": {}, "checkbox": {}, "switch": {}, "dropdown": {}, "relation": {}, "relation-manager": {}, "widget": {}, "partial": {}, "fileupload": {}, "datepicker": {}, - "password": {}, + "password": {}, "permissioneditor": {}, } formSpans = map[string]struct{}{ "left": {}, "right": {}, "full": {}, "auto": {}, "row": {}, @@ -548,6 +548,9 @@ func compileFieldNode(name string, node ast.Node) (FormField, error) { if err := compilePartialPath(typ, values, &field); err != nil { return FormField{}, err } + if err := compilePermissionKeys(typ, values, &field); err != nil { + return FormField{}, err + } if err := compileFileuploadKeys(typ, values, &field); err != nil { return FormField{}, err } diff --git a/modules/cabana/http.go b/modules/cabana/http.go index f6c6976..fa9a3b1 100644 --- a/modules/cabana/http.go +++ b/modules/cabana/http.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "io" + "log/slog" "net/http" "reflect" "slices" @@ -699,6 +700,13 @@ func (s *service) formSchema(w http.ResponseWriter, r *http.Request) { } kept = append(kept, field) } + // A permission editor's options are the controller's answer for this + // administrator (D-16); kept is this request's own slice. + if err := localizePermissionOptions(r.Context(), s.translator(), cc, kept); err != nil { + slog.Error("cabana: permission options failed", "controller", controllerID(cc), "error", err) + WriteError(w, http.StatusInternalServerError, "error", msgServerError) + return + } view.Fields = kept view.Assets = s.controllerAssets(cc) meta := map[string]any{} diff --git a/modules/cabana/phase121_fixture_test.go b/modules/cabana/phase121_fixture_test.go index a5c7c5d..4bade1c 100644 --- a/modules/cabana/phase121_fixture_test.go +++ b/modules/cabana/phase121_fixture_test.go @@ -4,6 +4,7 @@ import ( "context" "crypto/sha256" "encoding/hex" + "encoding/json" "fmt" "io/fs" "net/http" @@ -15,6 +16,7 @@ import ( "time" "git.golem15.com/golem15/summercms/modules/backpack" + "git.golem15.com/golem15/summercms/modules/bouncer" "git.golem15.com/golem15/summercms/modules/cabana" "git.golem15.com/golem15/summercms/modules/compass" "git.golem15.com/golem15/summercms/modules/lagoon" @@ -43,9 +45,12 @@ type rosterPerson struct { JoinedIP *string `gorm:"column:joined_ip"` // Password is a stored hash. The form's password field is virtual: the // controller's hooks derive this column from the submitted value. - Password string `gorm:"column:password" json:"-"` - Slug string `gorm:"column:slug"` - DeletedAt gorm.DeletedAt `gorm:"column:deleted_at"` + Password string `gorm:"column:password" json:"-"` + Slug string `gorm:"column:slug"` + // Permissions is the permission editor's storage: a JSON object of code + // to value, or NULL. + Permissions *string `gorm:"column:permissions"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at"` } func (rosterPerson) TableName() string { return "roster_people" } @@ -258,6 +263,60 @@ func (rosterController) PartialData(_ context.Context, name string, record any) return rosterStatus{}, nil } +// rosterPermissionCodes are the permissions the people form offers: two tabs +// and one permission without a tab. reports.export is locked for an +// administrator without acme.roster.manage. +var rosterPermissionCodes = []cabana.PermissionOption{ + {Code: "posts.edit", Label: "acme.roster::lang.permissions.posts_edit", Tab: "acme.roster::lang.permissions.tab_content", Comment: "acme.roster::lang.permissions.posts_edit_comment"}, + {Code: "posts.publish", Label: "acme.roster::lang.permissions.posts_publish", Tab: "acme.roster::lang.permissions.tab_content"}, + {Code: "reports.export", Label: "acme.roster::lang.permissions.reports_export", Tab: "acme.roster::lang.permissions.tab_reports"}, + {Code: "misc.beta", Label: "acme.roster::lang.permissions.misc_beta"}, +} + +// AdminPermissionOptions serves the permission editor's options per +// administrator. +func (rosterController) AdminPermissionOptions(ctx context.Context, field string) ([]cabana.PermissionOption, error) { + if field != "permissions" { + return nil, fmt.Errorf("unknown permission field %s", field) + } + principal, _ := bouncer.User(ctx) + out := append([]cabana.PermissionOption(nil), rosterPermissionCodes...) + for i := range out { + if out[i].Code == "reports.export" { + out[i].Locked = !cabana.Allows(principal, []string{"acme.roster.manage"}) + } + } + return out, nil +} + +// AdminPermissionValues reads the stored JSON object. +func (rosterController) AdminPermissionValues(_ context.Context, _ string, record any) (map[string]int, error) { + person := record.(*rosterPerson) + out := map[string]int{} + if person.Permissions == nil || *person.Permissions == "" { + return out, nil + } + if err := json.Unmarshal([]byte(*person.Permissions), &out); err != nil { + return nil, err + } + return out, nil +} + +// AdminSetPermissionValues writes the JSON object onto the model; the save +// writes the row. +func (rosterController) AdminSetPermissionValues(ctx context.Context, _ string, record any, values map[string]int) error { + if _, ok := cabana.TxFromContext(ctx); !ok { + return fmt.Errorf("no transaction on the context") + } + raw, err := json.Marshal(values) + if err != nil { + return err + } + text := string(raw) + record.(*rosterPerson).Permissions = &text + return nil +} + // rosterLocked is the sentinel name of a person the roster's actions refuse. const rosterLocked = "Locked" diff --git a/modules/cabana/phase121_form_test.go b/modules/cabana/phase121_form_test.go index 4113b86..eb38c34 100644 --- a/modules/cabana/phase121_form_test.go +++ b/modules/cabana/phase121_form_test.go @@ -386,3 +386,170 @@ func TestPresetSchema(t *testing.T) { }) } } + +// TestPermissionEditorSmoke drives `type: permissioneditor` through the +// assembled router on PostgreSQL (D-16; T-12.1-13): options per administrator, +// the code and value checks, the locked guard, kept unknown codes and the +// boot rules. +func TestPermissionEditorSmoke(t *testing.T) { + env, gdb := newRosterEnv(t) + legacy := `{"legacy.code":1,"reports.export":1}` + id := rosterInsert(t, gdb, rosterPerson{Tenant: "acme", Name: "Perm", Active: true, Permissions: &legacy}) + record := fmt.Sprintf("%s/%d", rosterPeople, id) + stored := func(t *testing.T) map[string]int { + t.Helper() + person := rosterLoad(t, gdb, id) + out := map[string]int{} + if person.Permissions != nil { + if err := json.Unmarshal([]byte(*person.Permissions), &out); err != nil { + t.Fatalf("stored permissions %q: %v", *person.Permissions, err) + } + } + return out + } + same := func(t *testing.T, got, want map[string]int) { + t.Helper() + if fmt.Sprint(got) != fmt.Sprint(want) { + t.Fatalf("permissions = %v, want %v", got, want) + } + } + const unknown = "The permissions field contains an unknown permission." + const invalid = "The permissions field contains an invalid value." + const shape = "The permissions field must be an object of permission codes." + + t.Run("the schema carries localized options, locked only for the limited admin", func(t *testing.T) { + view, raw := rosterFormSchema(t, env, "bearer") + if !strings.Contains(raw, `"name":"permissions","type":"permissioneditor","label":"Permissions","tab":"Permissions","context":"update","mode":"radio","permissionOptions":[{"code":"posts.edit","label":"Edit posts","tab":"Content","comment":"Change the text of any post."},{"code":"posts.publish","label":"Publish posts","tab":"Content"},{"code":"reports.export","label":"Export reports","tab":"Reports"},{"code":"misc.beta","label":"Try beta features"}]`) { + t.Fatalf("permission field is not in the schema: %s", raw) + } + if strings.Contains(raw, `"locked"`) { + t.Fatalf("an option is locked for the full admin: %s", raw) + } + _ = view + limited, raw := rosterFormSchema(t, env, "limited") + if !strings.Contains(raw, `{"code":"reports.export","label":"Export reports","tab":"Reports","locked":true}`) || strings.Count(raw, `"locked":true`) != 1 { + t.Fatalf("limited admin's options: %s", raw) + } + // The cached schema was not mutated by either request. + for _, field := range limited.Fields { + if field.Type == "permissioneditor" && len(field.PermissionOptions) != 4 { + t.Fatalf("options = %+v", field.PermissionOptions) + } + } + }) + + t.Run("show returns the stored codes as an object", func(t *testing.T) { + rec := env.expect(t, http.StatusOK, http.MethodGet, record, "", "bearer") + if !strings.Contains(rec.Body.String(), `"permissions":{"legacy.code":1,"reports.export":1}`) { + t.Fatalf("show: %s", rec.Body.String()) + } + blank := rosterInsert(t, gdb, rosterPerson{Tenant: "acme", Name: "Blank", Active: true}) + rec = env.expect(t, http.StatusOK, http.MethodGet, fmt.Sprintf("%s/%d", rosterPeople, blank), "", "bearer") + if !strings.Contains(rec.Body.String(), `"permissions":{}`) { + t.Fatalf("show without stored permissions: %s", rec.Body.String()) + } + }) + + t.Run("an update stores offered codes, drops inherit and keeps a stored code that is not offered", func(t *testing.T) { + rec := env.expect(t, http.StatusOK, http.MethodPut, record, `{"permissions":{"posts.edit":1,"posts.publish":-1,"misc.beta":0,"reports.export":1}}`, "bearer") + want := map[string]int{"legacy.code": 1, "posts.edit": 1, "posts.publish": -1, "reports.export": 1} + same(t, stored(t), want) + got, _ := rosterRecord(t, rec.Body.Bytes()).Data["permissions"].(map[string]any) + if len(got) != 4 || got["posts.publish"] != float64(-1) || got["legacy.code"] != float64(1) { + t.Fatalf("update answered %v", got) + } + // An offered code that is left out goes back to inherit. + env.expect(t, http.StatusOK, http.MethodPut, record, `{"permissions":{"posts.edit":1,"reports.export":1}}`, "bearer") + same(t, stored(t), map[string]int{"legacy.code": 1, "posts.edit": 1, "reports.export": 1}) + // A save without the field leaves the column alone. + env.expect(t, http.StatusOK, http.MethodPut, record, `{"name":"Perm B"}`, "bearer") + same(t, stored(t), map[string]int{"legacy.code": 1, "posts.edit": 1, "reports.export": 1}) + }) + + t.Run("an unknown code, a value outside the set and a non-object are 422", func(t *testing.T) { + before := stored(t) + for body, message := range map[string]string{ + `{"permissions":{"posts.edit":1,"admin.root":1}}`: unknown, + // A stored code that is not offered cannot be submitted either. + `{"permissions":{"legacy.code":1}}`: unknown, + `{"permissions":{"posts.edit":2}}`: invalid, + `{"permissions":{"posts.edit":-2}}`: invalid, + `{"permissions":{"posts.edit":"1"}}`: shape, + `{"permissions":{"posts.edit":1.5}}`: shape, + `{"permissions":{"posts.edit":true}}`: shape, + `{"permissions":{"posts.edit":{"a":1}}}`: shape, + `{"permissions":["posts.edit"]}`: shape, + `{"permissions":"posts.edit"}`: shape, + `{"permissions":null}`: shape, + } { + rec := env.expect(t, http.StatusUnprocessableEntity, http.MethodPut, record, body, "bearer") + rosterErrorDetail(t, rec.Body.Bytes(), "validation_failed", "permissions", message) + } + same(t, stored(t), before) + }) + + t.Run("a changed locked code is 403 for the limited admin and nothing is written", func(t *testing.T) { + before := stored(t) + const locked = "You cannot change this permission." + // Removing it (leaving it out), denying it and renaming at the same time. + for _, body := range []string{ + `{"name":"Sneaky","permissions":{"posts.edit":1}}`, + `{"name":"Sneaky","permissions":{"posts.edit":1,"reports.export":-1}}`, + `{"name":"Sneaky","permissions":{"reports.export":0}}`, + } { + rec := env.expect(t, http.StatusForbidden, http.MethodPut, record, body, "limited") + rosterErrorDetail(t, rec.Body.Bytes(), "forbidden", "permissions", locked) + } + same(t, stored(t), before) + if person := rosterLoad(t, gdb, id); person.Name != "Perm B" { + t.Fatalf("a refused save renamed the person: %q", person.Name) + } + // Granting it where it is not stored is refused too. + bare := rosterInsert(t, gdb, rosterPerson{Tenant: "acme", Name: "Bare", Active: true}) + rec := env.expect(t, http.StatusForbidden, http.MethodPut, fmt.Sprintf("%s/%d", rosterPeople, bare), `{"permissions":{"reports.export":1}}`, "limited") + rosterErrorDetail(t, rec.Body.Bytes(), "forbidden", "permissions", locked) + if person := rosterLoad(t, gdb, bare); person.Permissions != nil { + t.Fatalf("a refused save wrote %q", *person.Permissions) + } + + // The limited admin may change the other codes while the locked one + // keeps its stored value. + env.expect(t, http.StatusOK, http.MethodPut, record, `{"permissions":{"posts.publish":1,"reports.export":1}}`, "limited") + same(t, stored(t), map[string]int{"legacy.code": 1, "posts.publish": 1, "reports.export": 1}) + // The full admin may change it. + env.expect(t, http.StatusOK, http.MethodPut, record, `{"permissions":{"posts.publish":1}}`, "bearer") + same(t, stored(t), map[string]int{"legacy.code": 1, "posts.publish": 1}) + }) + + t.Run("a field hidden on create is not written by a create", func(t *testing.T) { + rec := env.expect(t, http.StatusCreated, http.MethodPost, rosterPeople, `{"name":"Fresh","password":"long-enough-1","password_confirmation":"long-enough-1","permissions":{"posts.edit":1}}`, "bearer") + created := rosterRecord(t, rec.Body.Bytes()) + newID, _ := created.Data["id"].(float64) + if person := rosterLoad(t, gdb, uint(newID)); person.Permissions != nil { + t.Fatalf("create wrote permissions %q", *person.Permissions) + } + if got, ok := created.Data["permissions"].(map[string]any); !ok || len(got) != 0 { + t.Fatalf("create answered permissions %v", created.Data["permissions"]) + } + }) + + t.Run("boot rules", func(t *testing.T) { + rosterBootFails(t, map[string]string{rosterFieldsFile: rosterFields(t, " mode: radio\n", "")}, + "field permissions: mode must be radio or checkbox on type: permissioneditor", rosterFieldsFile) + rosterBootFails(t, map[string]string{rosterFieldsFile: rosterFields(t, " mode: radio\n", " mode: tabs\n")}, + "mode must be radio or checkbox on type: permissioneditor") + rosterBootFails(t, map[string]string{rosterFieldsFile: rosterFields(t, " mode: radio\n", " mode: radio\n default: 1\n")}, + "default is not valid on type: permissioneditor") + rosterBootFails(t, map[string]string{rosterFieldsFile: rosterFields(t, " type: checkbox\n default: true\n", " type: checkbox\n default: true\n mode: radio\n")}, + "mode is only valid on type: fileupload, datepicker or permissioneditor") + if err := rosterBoot(t, rosterTree(t, map[string]string{rosterFieldsFile: rosterFields(t, " mode: radio\n", " mode: checkbox\n")})); err != nil { + t.Fatalf("mode: checkbox did not boot: %v", err) + } + // A controller without the provider cannot have the field. + err := activateFields(t, datepickerFields(" rights:\n type: permissioneditor\n mode: checkbox\n")) + const want = "field rights: type permissioneditor needs the controller to implement cabana.PermissionEditorProvider" + if err == nil || !strings.Contains(err.Error(), want) { + t.Fatalf("error = %v, want %q", err, want) + } + }) +} diff --git a/modules/cabana/registry.go b/modules/cabana/registry.go index 232e1c8..37b5e19 100644 --- a/modules/cabana/registry.go +++ b/modules/cabana/registry.go @@ -103,6 +103,9 @@ func compileRegistry(items []controllerRef) (*Registry, error) { if err := compileDateFields(item.plugin.ID(), compiled); err != nil { return nil, err } + if err := compilePermissionFields(item.plugin.ID(), compiled); err != nil { + return nil, err + } if err := compileExtension(item.plugin.ID(), compiled, fsys.AdminFS()); err != nil { return nil, err } diff --git a/modules/cabana/relation_form.go b/modules/cabana/relation_form.go index 37960d1..ac25807 100644 --- a/modules/cabana/relation_form.go +++ b/modules/cabana/relation_form.go @@ -21,6 +21,8 @@ var relationFormRefusedTypes = map[string]bool{ "relation": true, "relation-manager": true, "widget": true, "partial": true, // A password is a virtual field, and only an admin controller lists those. "password": true, + // A permission editor's options and storage belong to an admin controller. + "permissioneditor": true, } // pivotFieldPattern is WinterCMS's pivot form field name, pivot[column]. diff --git a/modules/cabana/schema_types.go b/modules/cabana/schema_types.go index da5495c..86e80e6 100644 --- a/modules/cabana/schema_types.go +++ b/modules/cabana/schema_types.go @@ -257,8 +257,9 @@ type FormField struct { // Path names the controller partial of a `type: partial` field: the // template {ConfigDir}/_{path}.htm (D-09). Path string `json:"path,omitempty"` - // Mode is the fileupload mode (image or file, default file) or the - // datepicker mode (date, datetime or time, default datetime). + // Mode is the fileupload mode (image or file, default file), the + // datepicker mode (date, datetime or time, default datetime) or the + // permissioneditor mode (radio or checkbox). Mode string `json:"mode,omitempty"` // Format is a datepicker's WinterCMS (PHP date) display format; // DisplayFormat is the same format in the SPA's moment-style tokens. @@ -304,6 +305,10 @@ type FormField struct { // Preset makes a text field follow another field of the form while the // administrator has not edited it, on create only (fields.yaml preset). Preset *FieldPreset `json:"preset,omitempty"` + // PermissionOptions are the permissions a `type: permissioneditor` field + // offers the requesting administrator, in display order. They are filled + // per request by the form schema route. + PermissionOptions []PermissionOption `json:"permissionOptions,omitempty"` optionsMethod string } diff --git a/modules/cabana/settings.go b/modules/cabana/settings.go index 4c2fcc7..f1230e7 100644 --- a/modules/cabana/settings.go +++ b/modules/cabana/settings.go @@ -63,7 +63,7 @@ func compileSetting(pluginID string, item pact.SettingsItem, fsys fs.FS) (*Compi } for _, field := range fields { // A settings screen has no admin controller to own actions or view models. - if field.Type == "widget" || field.Type == "partial" || field.Type == "fileupload" || field.Type == "password" { + if field.Type == "widget" || field.Type == "partial" || field.Type == "fileupload" || field.Type == "password" || field.Type == permissionFieldType { return nil, fmt.Errorf("cabana: setting %s field %s: type %s is not supported on a settings form", item.Code, field.Name, field.Type) } if field.Preset != nil { diff --git a/modules/cabana/testdata/roster/lang/en/lang.yaml b/modules/cabana/testdata/roster/lang/en/lang.yaml index c128db8..10315eb 100644 --- a/modules/cabana/testdata/roster/lang/en/lang.yaml +++ b/modules/cabana/testdata/roster/lang/en/lang.yaml @@ -28,3 +28,13 @@ people: password: Password password_confirmation: Repeat the password notify: Send a welcome message + permissions: Permissions + tab_permissions: Permissions +permissions: + tab_content: Content + tab_reports: Reports + posts_edit: Edit posts + posts_edit_comment: Change the text of any post. + posts_publish: Publish posts + reports_export: Export reports + misc_beta: Try beta features diff --git a/modules/cabana/testdata/roster/lang/pl/lang.yaml b/modules/cabana/testdata/roster/lang/pl/lang.yaml index 00d45eb..0e598cd 100644 --- a/modules/cabana/testdata/roster/lang/pl/lang.yaml +++ b/modules/cabana/testdata/roster/lang/pl/lang.yaml @@ -28,3 +28,13 @@ people: password: Hasło password_confirmation: Powtórz hasło notify: Wyślij wiadomość powitalną + permissions: Uprawnienia + tab_permissions: Uprawnienia +permissions: + tab_content: Treści + tab_reports: Raporty + posts_edit: Edycja wpisów + posts_edit_comment: Zmiana treści dowolnego wpisu. + posts_publish: Publikowanie wpisów + reports_export: Eksport raportów + misc_beta: Funkcje beta diff --git a/modules/cabana/testdata/roster/models/person/fields.yaml b/modules/cabana/testdata/roster/models/person/fields.yaml index dd545bf..d006fec 100644 --- a/modules/cabana/testdata/roster/models/person/fields.yaml +++ b/modules/cabana/testdata/roster/models/person/fields.yaml @@ -26,6 +26,12 @@ fields: type: checkbox default: true context: create + permissions: + label: acme.roster::lang.people.permissions + type: permissioneditor + mode: radio + tab: acme.roster::lang.people.tab_permissions + context: update joined_ip: label: acme.roster::lang.people.joined_ip type: text diff --git a/modules/phrasebook/backend/lang/en/lang.yaml b/modules/phrasebook/backend/lang/en/lang.yaml index 609cfa9..89d55f8 100644 --- a/modules/phrasebook/backend/lang/en/lang.yaml +++ b/modules/phrasebook/backend/lang/en/lang.yaml @@ -220,3 +220,10 @@ messages: update_submit: Save record pivot_submit: Save link details link_submit: Add link +permissioneditor: + allow: Allow + inherit: Inherit + deny: Deny + locked: You cannot change this permission. + empty: No permissions are defined yet. + other: Other diff --git a/modules/phrasebook/backend/lang/pl/lang.yaml b/modules/phrasebook/backend/lang/pl/lang.yaml index 2a7b844..75bd0c0 100644 --- a/modules/phrasebook/backend/lang/pl/lang.yaml +++ b/modules/phrasebook/backend/lang/pl/lang.yaml @@ -242,3 +242,10 @@ messages: update_submit: Zapisz rekord pivot_submit: Zapisz szczegóły powiązania link_submit: Dodaj powiązanie +permissioneditor: + allow: Zezwól + inherit: Dziedzicz + deny: Odmów + locked: Nie możesz zmienić tego uprawnienia. + empty: Nie zdefiniowano jeszcze żadnych uprawnień. + other: Inne